diff --git a/apps/showcase/assets/styles/layout/_core.scss b/apps/showcase/assets/styles/layout/_core.scss index 5bddda336..31aeb6fec 100644 --- a/apps/showcase/assets/styles/layout/_core.scss +++ b/apps/showcase/assets/styles/layout/_core.scss @@ -5,10 +5,6 @@ html { line-height: normal; } -.material { - font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; -} - body { margin: 0px; min-height: 100%; diff --git a/apps/showcase/assets/styles/layout/_designer.scss b/apps/showcase/assets/styles/layout/_designer.scss index 85280939f..e3627b5d1 100644 --- a/apps/showcase/assets/styles/layout/_designer.scss +++ b/apps/showcase/assets/styles/layout/_designer.scss @@ -13,6 +13,23 @@ cursor: pointer; } + input:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: 0px; + } + + button:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: 2px; + } + + .p-icon, + .pi { + font-size: 14px !important; + width: 14px !important; + height: 14px !important; + } + [type='color']::-webkit-color-swatch { border-radius: 4px; width: 24px; @@ -25,15 +42,15 @@ } &.p-drawer { - background: light-dark(var(--p-surface-0), var(--p-surface-900)); - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); - color: light-dark(#09090b, #ffffff); + background: var(--overlay-background); + border-color: var(--border-color); + color: var(--high-contrast-text-color); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); } .p-fieldset { background: transparent; - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); + border-color: var(--border-color); border-radius: 4px; color: inherit; padding: 0 1.125rem 1.125rem 1.125rem; @@ -56,7 +73,11 @@ background: transparent; border: 0 none; border-radius: 4px; - outline-color: transparent; + + &:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: -1px; + } } .p-fieldset-toggle-icon { @@ -84,37 +105,43 @@ .p-tablist-tab-list { background: transparent; border-style: solid; - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); + border-color: var(--border-color); border-width: 0 0 1px 0; } .p-tab { background: transparent; border-width: 0 0 1px 0; - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); - color: light-dark(var(--p-surface-500), var(--p-surface-400)); + border-color: var(--border-color); + color: var(--text-secondary-color); padding: 1rem 1.125rem; font-weight: 600; transition: none; margin: 0 0 -1px 0; + + &:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: -1px; + } } .p-tab:not(.p-tab-active):not(.p-disabled):hover { background: transparent; border-color: transparent; - color: light-dark(var(--p-surface-700), var(--p-surface-0)); + color: var(--high-contrast-text-color); } .p-tab-active { background: transparent; - border-color: transparent; - color: light-dark(#09090b, #ffffff); + border-color: var(--high-contrast-text-color); + color: var(--high-contrast-text-color); } .p-tablist-active-bar { + display: none; inset-block-end: -1px; height: 1px; - background: light-dark(#09090b, #ffffff); + background: var(--high-contrast-text-color); transition: 250ms cubic-bezier(0.35, 0, 0.25, 1); } @@ -123,23 +150,35 @@ color: inherit; padding: 0.875rem 0 1.125rem 0; } + + .p-tabpanel { + &:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: 0; + } + } } .p-accordion { .p-accordionpanel { border-width: 0 0 1px 0; - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); + border-color: var(--border-color); } .p-accordionheader { padding: 1.125rem; - color: light-dark(var(--p-surface-500), var(--p-surface-400)); + color: var(--text-secondary-color); background: transparent; border-width: 0; border-color: unset; font-weight: 600; border-radius: 4px; transition: none; + + &:focus-visible { + outline: 1px solid var(--designer-focus-outline-color); + outline-offset: -1px; + } } .p-accordionpanel:first-child>.p-accordionheader { @@ -159,13 +198,13 @@ } .p-accordionheader-toggle-icon { - color: light-dark(var(--p-surface-500), var(--p-surface-400)); + color: var(--text-secondary-color); } .p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled)>.p-accordionheader:hover, .p-accordionpanel:not(.p-disabled).p-accordionpanel-active>.p-accordionheader { background: transparent; - color: light-dark(var(--p-surface-700), var(--p-surface-0)); + color: var(--text-color); } .p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) .p-accordionheader:hover .p-accordionheader-toggle-icon, @@ -175,7 +214,7 @@ .p-accordioncontent-content { border-width: 0; - border-color: light-dark(var(--p-surface-200), var(--p-surface-700)); + border-color: var(--border-color); background-color: transparent; color: inherit; padding: 0 1.125rem 1.125rem 1.125rem; @@ -184,21 +223,23 @@ .p-fileupload-choose-button { padding: 0.5rem 0.75rem; - background: light-dark(#09090b, #ffffff); - border-color: light-dark(#09090b, #ffffff); - color: light-dark(#ffffff, #000000); + background: var(--designer-primary-color); + border-color: var(--designer-primary-color); + color: var(--designer-primary-contrast-color); cursor: pointer; font-weight: medium; border-radius: 4px; - transition: background 0.2s; + transition: background-color 0.2s; - &:hover { - background: light-dark(#27272a, #f3f4f6); - border-color: light-dark(#27272a, #f3f4f6); + &:enabled:hover, + &:enabled:active { + background: var(--designer-primary-emphasis-color); + border-color: var(--designer-primary-emphasis-color); } - &:focus-visible { - outline: 1px solid light-dark(#09090b, #ffffff); + &:enabled:active, + &:enabled:focus-visible { + outline: 1px solid var(--designer-primary-color); outline-offset: 2px; box-shadow: none; } diff --git a/apps/showcase/assets/styles/layout/variables/main/_dark.scss b/apps/showcase/assets/styles/layout/variables/main/_dark.scss index 1e85ae81c..82207f76f 100644 --- a/apps/showcase/assets/styles/layout/variables/main/_dark.scss +++ b/apps/showcase/assets/styles/layout/variables/main/_dark.scss @@ -1,14 +1,14 @@ :root[class="p-dark"] { - --primary-text-color:var(--p-primary-400); + --primary-text-color: var(--p-primary-400); --primary-color: var(--p-primary-color); - --primary-contrast-color:var(--p-primary-contrast-color); + --primary-contrast-color: var(--p-primary-contrast-color); --primary-hover-color: var(--p-primary-hover-color); --text-color: var(--p-surface-0); --text-secondary-color: var(--p-surface-400); --glow-image: url(https://www.primefaces.org/cdn/primevue/images/layout/pattern.png), radial-gradient(50% 50% at center -25px, var(--p-primary-color) 0%, #000000 100%); --glow-blend: hard-light, color-dodge; - --topbar-sticky-background:rgba(0,0,0,.3); - --mobile-menu-background: rgba(0,0,0,.3); + --topbar-sticky-background: rgba(0, 0, 0, .3); + --mobile-menu-background: rgba(0, 0, 0, .3); --card-border: 1px solid transparent; --card-background: var(--p-surface-900); --border-color: var(--p-surface-700); @@ -25,4 +25,8 @@ --code-button-text-color: var(--p-surface-300); --docsearch-mask-background: var(--p-mask-background); --logo-color: var(--text-secondary-color); + --designer-primary-color: #ffffff; + --designer-primary-emphasis-color: #f3f4f6; + --designer-primary-contrast-color: #000000; + --designer-focus-outline-color: #ffffff; } \ No newline at end of file diff --git a/apps/showcase/assets/styles/layout/variables/main/_light.scss b/apps/showcase/assets/styles/layout/variables/main/_light.scss index a2d43e5d5..0f57f0ac3 100644 --- a/apps/showcase/assets/styles/layout/variables/main/_light.scss +++ b/apps/showcase/assets/styles/layout/variables/main/_light.scss @@ -25,4 +25,8 @@ --code-button-text-color: var(--p-surface-300); --docsearch-mask-background: var(--p-mask-background); --logo-color: var(--text-secondary-color); + --designer-primary-color: #09090b; + --designer-primary-emphasis-color: #27272a; + --designer-primary-contrast-color: #ffffff; + --designer-focus-outline-color: #09090b; } \ No newline at end of file diff --git a/apps/showcase/components/layout/AppConfigurator.vue b/apps/showcase/components/layout/AppConfigurator.vue index 6d49874e2..8d2c913cd 100755 --- a/apps/showcase/components/layout/AppConfigurator.vue +++ b/apps/showcase/components/layout/AppConfigurator.vue @@ -306,13 +306,6 @@ export default { const preset = presets[value]; const surfacePalette = this.surfaces.find((s) => s.name === this.selectedSurfaceColor)?.palette; - if (value === 'Material') { - document.body.classList.add('material'); - this.$primevue.config.ripple = true; - } else { - document.body.classList.remove('material'); - } - $t().preset(preset).preset(this.getPresetExt()).surfacePalette(surfacePalette).use({ useDefaultOptions: true }); }, onRTLChange(value) { diff --git a/apps/showcase/components/layout/AppDesigner.vue b/apps/showcase/components/layout/AppDesigner.vue index 1cdf3533e..59cffc5f9 100644 --- a/apps/showcase/components/layout/AppDesigner.vue +++ b/apps/showcase/components/layout/AppDesigner.vue @@ -1,5 +1,5 @@