From a9072370ca1eb9a5cce928b1d487db0f307edea6 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Tue, 20 Sep 2022 15:24:27 +0800 Subject: feat: Move old apps into it's own directory --- old-apps/web-shared/src/styles/components/404.scss | 43 +++ .../src/styles/components/adv-custom-select.scss | 79 ++++++ .../web-shared/src/styles/components/alert.scss | 69 +++++ .../src/styles/components/auto-sized-grid.scss | 56 ++++ .../src/styles/components/autocomplete.scss | 76 +++++ .../src/styles/components/breadcrumbs.scss | 18 ++ .../src/styles/components/btn-states.scss | 51 ++++ .../web-shared/src/styles/components/chip.scss | 117 ++++++++ .../src/styles/components/circle-loader.scss | 315 +++++++++++++++++++++ .../src/styles/components/custom-checkbox.scss | 131 +++++++++ .../src/styles/components/custom-select.scss | 158 +++++++++++ .../web-shared/src/styles/components/details.scss | 57 ++++ .../web-shared/src/styles/components/dropdown.scss | 98 +++++++ .../src/styles/components/form-validator.scss | 18 ++ .../src/styles/components/interactive-table.scss | 156 ++++++++++ .../src/styles/components/light-dark-switch.scss | 96 +++++++ .../src/styles/components/link-card.scss | 56 ++++ .../web-shared/src/styles/components/list.scss | 195 +++++++++++++ .../web-shared/src/styles/components/menu-bar.scss | 139 +++++++++ .../web-shared/src/styles/components/menu.scss | 81 ++++++ .../web-shared/src/styles/components/modal.scss | 105 +++++++ .../src/styles/components/pagination.scss | 77 +++++ .../web-shared/src/styles/components/popover.scss | 38 +++ .../src/styles/components/pre-header.scss | 46 +++ .../src/styles/components/radios-checkboxes.scss | 134 +++++++++ .../src/styles/components/responsive-sidebar.scss | 139 +++++++++ .../src/styles/components/select-autocomplete.scss | 176 ++++++++++++ .../src/styles/components/side-navigation-v4.scss | 237 ++++++++++++++++ .../src/styles/components/tabbed-navigation.scss | 133 +++++++++ .../web-shared/src/styles/components/table.scss | 147 ++++++++++ .../src/styles/components/user-menu.scss | 81 ++++++ .../components/vanilla-responsive-sidebar.scss | 146 ++++++++++ 32 files changed, 3468 insertions(+) create mode 100644 old-apps/web-shared/src/styles/components/404.scss create mode 100644 old-apps/web-shared/src/styles/components/adv-custom-select.scss create mode 100644 old-apps/web-shared/src/styles/components/alert.scss create mode 100644 old-apps/web-shared/src/styles/components/auto-sized-grid.scss create mode 100644 old-apps/web-shared/src/styles/components/autocomplete.scss create mode 100644 old-apps/web-shared/src/styles/components/breadcrumbs.scss create mode 100644 old-apps/web-shared/src/styles/components/btn-states.scss create mode 100644 old-apps/web-shared/src/styles/components/chip.scss create mode 100644 old-apps/web-shared/src/styles/components/circle-loader.scss create mode 100644 old-apps/web-shared/src/styles/components/custom-checkbox.scss create mode 100644 old-apps/web-shared/src/styles/components/custom-select.scss create mode 100644 old-apps/web-shared/src/styles/components/details.scss create mode 100644 old-apps/web-shared/src/styles/components/dropdown.scss create mode 100644 old-apps/web-shared/src/styles/components/form-validator.scss create mode 100644 old-apps/web-shared/src/styles/components/interactive-table.scss create mode 100644 old-apps/web-shared/src/styles/components/light-dark-switch.scss create mode 100644 old-apps/web-shared/src/styles/components/link-card.scss create mode 100644 old-apps/web-shared/src/styles/components/list.scss create mode 100644 old-apps/web-shared/src/styles/components/menu-bar.scss create mode 100644 old-apps/web-shared/src/styles/components/menu.scss create mode 100644 old-apps/web-shared/src/styles/components/modal.scss create mode 100644 old-apps/web-shared/src/styles/components/pagination.scss create mode 100644 old-apps/web-shared/src/styles/components/popover.scss create mode 100644 old-apps/web-shared/src/styles/components/pre-header.scss create mode 100644 old-apps/web-shared/src/styles/components/radios-checkboxes.scss create mode 100644 old-apps/web-shared/src/styles/components/responsive-sidebar.scss create mode 100644 old-apps/web-shared/src/styles/components/select-autocomplete.scss create mode 100644 old-apps/web-shared/src/styles/components/side-navigation-v4.scss create mode 100644 old-apps/web-shared/src/styles/components/tabbed-navigation.scss create mode 100644 old-apps/web-shared/src/styles/components/table.scss create mode 100644 old-apps/web-shared/src/styles/components/user-menu.scss create mode 100644 old-apps/web-shared/src/styles/components/vanilla-responsive-sidebar.scss (limited to 'old-apps/web-shared/src/styles/components') diff --git a/old-apps/web-shared/src/styles/components/404.scss b/old-apps/web-shared/src/styles/components/404.scss new file mode 100644 index 0000000..1a0267a --- /dev/null +++ b/old-apps/web-shared/src/styles/components/404.scss @@ -0,0 +1,43 @@ +@use '../base' as *; + +.fof { +} + +.fof__animation { + svg { + display: block; + max-width: 520px; + margin-left: auto; + margin-right: auto; + } +} + +#i-fof-browser { + transform-origin: 260px 304px; + animation: i-fof-browser 4s infinite; +} + +#i-fof-shadow { + transform-origin: 282px 410px; + animation: i-fof-shadow 4s infinite; +} + +@keyframes i-fof-browser { + 0%, 100% { + transform: translateY(0) scale(1); + } + + 50% { + transform: translateY(-10%) scale(0.9); + } +} + +@keyframes i-fof-shadow { + 0%, 100% { + transform: scale(1); + } + + 50% { + transform: scale(0.8); + } +} diff --git a/old-apps/web-shared/src/styles/components/adv-custom-select.scss b/old-apps/web-shared/src/styles/components/adv-custom-select.scss new file mode 100644 index 0000000..bd28247 --- /dev/null +++ b/old-apps/web-shared/src/styles/components/adv-custom-select.scss @@ -0,0 +1,79 @@ +@use '../base' as *; +@use 'popover.scss' as *; + +/* -------------------------------- + +File#: _2_adv-custom-select +Title: Advanced Custom Select +Descr: Custom select with advanced structure options +Usage: codyhouse.co/license + +-------------------------------- */ + +.adv-select { +} + +.adv-select__control { +} + +.adv-select-popover { + // use rem units + @include spaceUnit(1rem); + @include textUnit(1rem); + + &.popover { // popover component - dependency + --popover-width: 250px; + --popover-control-gap: 4px; // ⚠️ use px units - vertical gap between the popover and its control + --popover-viewport-gap: 20px; // ⚠️ use px units - vertical gap between the popover and the viewport - visible if popover height > viewport height + --popover-transition-duration: 0.2s; + + @include breakpoint(md) { + --popover-width: 320px; + } + } +} + +.adv-select-popover__optgroup:not(:first-of-type) { // custom + padding-top: var(--space-xxs); +} + +.adv-select-popover__optgroup:not(:last-of-type) { + border-bottom: 1px solid alpha(var(--color-contrast-higher), 0.1); + padding-bottom: var(--space-xxs); +} + +.adv-select-popover__check { + display: none; +} + +.adv-select-popover__label { +} + +.adv-select-popover__option { + position: relative; + cursor: pointer; + @include fontSmooth; + transition: .2s; + + &:hover { + background-color: alpha(var(--color-contrast-higher), 0.075); + } + + &:focus { + outline: none; + background-color: alpha(var(--color-primary), 0.15); + } + + &[aria-selected=true] { // selected option + background-color: var(--color-primary); + color: var(--color-white); + + .adv-select-popover__check { + display: block; + } + + &:focus { + box-shadow: inset 0 0 0 2px var(--color-primary-dark); + } + } +} diff --git a/old-apps/web-shared/src/styles/components/alert.scss b/old-apps/web-shared/src/styles/components/alert.scss new file mode 100644 index 0000000..9d9008d --- /dev/null +++ b/old-apps/web-shared/src/styles/components/alert.scss @@ -0,0 +1,69 @@ +@use '../base' as *; + +/* -------------------------------- + +File#: _1_alert +Title: Alert +Descr: Feedback message +Usage: codyhouse.co/license + +-------------------------------- */ + +.alert { + background-color: alpha(var(--color-primary), 0.2); + color: var(--color-contrast-higher); + + // hide element + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(50%); +} + +.alert__icon { + color: var(--color-primary); +} + +.alert__close-btn { + display: inline-block; + + .icon { + display: block; + } + + &:hover { + opacity: 0.7; + } +} + +// themes +.alert--success { + background-color: alpha(var(--color-success), 0.2); + + .alert__icon { + color: var(--color-success); + } +} + +.alert--error { + background-color: alpha(var(--color-error), 0.2); + + .alert__icon { + color: var(--color-error); + } +} + +.alert--warning { + background-color: alpha(var(--color-warning), 0.2); + + .alert__icon { + color: var(--color-warning); + } +} + +// toggle visibility +.alert--is-visible { + position: static; + clip: auto; + clip-path: none; +} + diff --git a/old-apps/web-shared/src/styles/components/auto-sized-grid.scss b/old-apps/web-shared/src/styles/components/auto-sized-grid.scss new file mode 100644 index 0000000..a3b1be5 --- /dev/null +++ b/old-apps/web-shared/src/styles/components/auto-sized-grid.scss @@ -0,0 +1,56 @@ +@use '../base' as *; + +/* -------------------------------- + +File#: _1_auto-sized-grid +Title: Auto Sized Grid +Descr: A grid layout based on CSS Grid where the columns are automatically created according to a min-width value +Usage: codyhouse.co/license + +-------------------------------- */ + +.grid-auto-xs, .grid-auto-sm, .grid-auto-md, .grid-auto-lg, .grid-auto-xl { + display: grid; + gap: var(--gap-y, 0px) var(--gap-x, 0px); + grid-template-columns: repeat(auto-fit, minmax(var(--col-min-width), 1fr)); // auto add new cols +} + +.grid-auto-xs { + --col-min-width: 8rem; +} + +.grid-auto-sm { + --col-min-width: 10rem; +} + +.grid-auto-md { + --col-min-width: 15rem; +} + +.grid-auto-lg { + --col-min-width: 20rem; +} + +.grid-auto-xl { + --col-min-width: 25rem; +} + +@each $breakpoint, $value in $breakpoints { + @include breakpoint(#{$breakpoint}) { + .grid-auto-xs\@#{$breakpoint} { + --col-min-width: 8rem; + } + .grid-auto-sm\@#{$breakpoint} { + --col-min-width: 10rem; + } + .grid-auto-md\@#{$breakpoint} { + --col-min-width: 15rem; + } + .grid-auto-lg\@#{$breakpoint} { + --col-min-width: 20rem; + } + .grid-auto-xl\@#{$breakpoint} { + --col-min-width: 25rem; + } + } +} diff --git a/old-apps/web-shared/src/styles/components/autocomplete.scss b/old-apps/web-shared/src/styles/components/autocomplete.scss new file mode 100644 index 0000000..c20d508 --- /dev/null +++ b/old-apps/web-shared/src/styles/components/autocomplete.scss @@ -0,0 +1,76 @@ +@use '../base' as *; +@use 'circle-loader.scss' as *; + +/* -------------------------------- + +File#: _2_autocomplete +Title: Autocomplete +Descr: Autocomplete plugin for input elements +Usage: codyhouse.co/license + +-------------------------------- */ + +:root { + --autocomplete-dropdown-vertical-gap: 4px; // gap between input and results list + --autocomplete-dropdown-max-height: 150px; + --autocomplete-dropdown-scrollbar-width: 6px; // custom scrollbar width - webkit browsers +} + +// results dropdown +.autocomplete__results { + position: absolute; + z-index: var(--z-index-popover, 5); + width: 100%; + left: 0; + top: calc(100% + var(--autocomplete-dropdown-vertical-gap)); + background-color: var(--color-bg-light); + box-shadow: var(--inner-glow), var(--shadow-xs); + border-radius: var(--radius-md); + opacity: 0; + visibility: hidden; + overflow: hidden; + + .autocomplete--results-visible & { + opacity: 1; + visibility: visible; + } +} + +.autocomplete__list { + max-height: var(--autocomplete-dropdown-max-height); + overflow: auto; + -webkit-overflow-scrolling: touch; + + // custom scrollbar + &::-webkit-scrollbar { // scrollbar width + width: var(--autocomplete-dropdown-scrollbar-width); + } + + &::-webkit-scrollbar-track { // progress bar + background-color: alpha(var(--color-contrast-higher), 0.08); + border-radius: 0; + } + + &::-webkit-scrollbar-thumb { // handle + background-color: alpha(var(--color-contrast-higher), 0.12); + border-radius: 0; + + &:hover { + background-color: alpha(var(--color-contrast-higher), 0.2); + } + } +} + +// single result item +.autocomplete__item { + cursor: pointer; + + &:hover { + background-color: alpha(var(--color-contrast-higher), 0.075); + } + + &:focus { + outline: none; + background-color: alpha(var(--color-primary), 0.15); + } +} diff --git a/old-apps/web-shared/src/styles/components/breadcrumbs.scss b/old-apps/web-shared/src/styles/components/breadcrumbs.scss new file mode 100644 index 0000000..45bf7c6 --- /dev/null +++ b/old-apps/web-shared/src/styles/components/breadcrumbs.scss @@ -0,0 +1,18 @@ +@use '../base' as *; + +/* -------------------------------- + +File#: _1_breadcrumbs +Title: Breadcrumbs +Descr: List of links to help the user move within website structure +Usage: codyhouse.co/license + +-------------------------------- */ + +.breadcrumbs {} + +.breadcrumbs__item { + display: inline-block; // flex fallback + display: inline-flex; + align-items: center; +} diff --git a/old-apps/web-shared/src/styles/components/btn-states.scss b/old-apps/web-shared/src/styles/components/btn-states.scss new file mode 100644 index 0000000..a2fc6c5 --- /dev/null +++ b/old-apps/web-shared/src/styles/components/btn-states.scss @@ -0,0 +1,51 @@ +@use '../base' as *; + +/* -------------------------------- + +File#: _1_btn-states +Title: Buttons states +Descr: Multi-state button elements +Usage: codyhouse.co/license + +-------------------------------- */ + +.btn__content-a { + display: inline-flex; +} + +.btn__content-b { + display: none; +} + +.btn__content-a, .btn__content-b { + align-items: center; +} + +.btn--state-b { + .btn__content-a { + display: none; + } + + .btn__content-b { + display: inline-block; // fallback + display: inline-flex; + } +} + +/* preserve button width when switching from state A to state B */ +.btn--preserve-width { + .btn__content-b { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + justify-content: center; + } + + &.btn--state-b .btn__content-a { + display: inline-block; // fallback + display: inline-flex; + visibility: hidden; + } +} diff --git a/old-apps/web-shared/src/styles/components/chip.scss b/old-apps/web-shared/src/styles/components/chip.scss new file mode 100644 index 0000000..1bb93db --- /dev/null +++ b/old-apps/web-shared/src/styles/components/chip.scss @@ -0,0 +1,117 @@ +@use '../base' as *; + +/* -------------------------------- + +File#: _1_chips +Title: Chips +Descr: A list of compact pieces of information +Usage: codyhouse.co/license + +-------------------------------- */ + +.chip { + /* reset - in case the class is applied to a