@pathscale/ui 1.2.9 → 1.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +59 -59
  3. package/dist/components/accordion/Accordion.css +158 -158
  4. package/dist/components/alert/Alert.css +116 -116
  5. package/dist/components/avatar/Avatar.css +124 -124
  6. package/dist/components/badge/Badge.css +164 -164
  7. package/dist/components/breadcrumbs/Breadcrumbs.css +63 -63
  8. package/dist/components/button/Button.css +194 -194
  9. package/dist/components/button-group/ButtonGroup.css +117 -117
  10. package/dist/components/calendar/Calendar.css +258 -258
  11. package/dist/components/card/Card.css +110 -110
  12. package/dist/components/chatbubble/ChatBubble.css +164 -164
  13. package/dist/components/checkbox/Checkbox.css +183 -183
  14. package/dist/components/checkbox-group/CheckboxGroup.css +10 -10
  15. package/dist/components/chip/Chip.css +197 -197
  16. package/dist/components/close-button/CloseButton.css +81 -81
  17. package/dist/components/color-area/ColorArea.css +54 -54
  18. package/dist/components/color-field/ColorField.css +88 -88
  19. package/dist/components/color-picker/ColorPicker.css +28 -28
  20. package/dist/components/color-slider/ColorSlider.css +57 -57
  21. package/dist/components/color-swatch/ColorSwatch.css +84 -84
  22. package/dist/components/color-swatch-picker/ColorSwatchPicker.css +12 -12
  23. package/dist/components/color-wheel-flower/ColorWheelFlower.css +147 -147
  24. package/dist/components/combo-box/ComboBox.css +344 -344
  25. package/dist/components/date-field/DateField.css +215 -215
  26. package/dist/components/date-picker/DatePicker.css +143 -143
  27. package/dist/components/date-range-picker/DateRangePicker.css +149 -149
  28. package/dist/components/description/Description.css +10 -10
  29. package/dist/components/disclosure/Disclosure.css +84 -84
  30. package/dist/components/disclosure-group/DisclosureGroup.css +9 -9
  31. package/dist/components/drawer/Drawer.css +463 -463
  32. package/dist/components/dropdown/Dropdown.css +211 -211
  33. package/dist/components/empty-state/EmptyState.css +39 -39
  34. package/dist/components/error-message/ErrorMessage.css +20 -20
  35. package/dist/components/field-error/FieldError.css +27 -27
  36. package/dist/components/fieldset/Fieldset.css +30 -30
  37. package/dist/components/flex/Flex.css +5 -5
  38. package/dist/components/floating-dock/FloatingDock.css +208 -208
  39. package/dist/components/footer/footer.css +51 -51
  40. package/dist/components/form/Form.css +5 -5
  41. package/dist/components/glass-panel/GlassPanel.css +359 -359
  42. package/dist/components/glow-card/GlowCard.css +100 -100
  43. package/dist/components/grid/Grid.css +5 -5
  44. package/dist/components/header/Header.css +13 -13
  45. package/dist/components/icon/Icon.css +10 -10
  46. package/dist/components/immersive-landing/ImmersiveLanding.css +565 -565
  47. package/dist/components/input/Input.css +155 -155
  48. package/dist/components/input-group/InputGroup.css +172 -172
  49. package/dist/components/input-otp/InputOTP.css +170 -170
  50. package/dist/components/kbd/Kbd.css +60 -60
  51. package/dist/components/label/Label.css +30 -30
  52. package/dist/components/language-switcher/LanguageSwitcher.css +56 -56
  53. package/dist/components/link/Link.css +131 -131
  54. package/dist/components/list-box/ListBox.css +148 -148
  55. package/dist/components/live-chat/LiveChat.css +324 -324
  56. package/dist/components/menu/Menu.css +199 -199
  57. package/dist/components/metal-border/MetalBorder.classes.d.ts +26 -0
  58. package/dist/components/metal-border/MetalBorder.classes.js +27 -0
  59. package/dist/components/metal-border/MetalBorder.css +40 -0
  60. package/dist/components/metal-border/MetalBorder.d.ts +20 -0
  61. package/dist/components/metal-border/MetalBorder.js +322 -0
  62. package/dist/components/metal-border/engine/color.d.ts +4 -0
  63. package/dist/components/metal-border/engine/color.js +69 -0
  64. package/dist/components/metal-border/engine/glow/geometry.d.ts +35 -0
  65. package/dist/components/metal-border/engine/glow/geometry.js +176 -0
  66. package/dist/components/metal-border/engine/glow/glow.d.ts +38 -0
  67. package/dist/components/metal-border/engine/glow/glow.js +246 -0
  68. package/dist/components/metal-border/engine/index.d.ts +4 -0
  69. package/dist/components/metal-border/engine/index.js +2 -0
  70. package/dist/components/metal-border/engine/perfConfig.d.ts +9 -0
  71. package/dist/components/metal-border/engine/perfConfig.js +10 -0
  72. package/dist/components/metal-border/engine/presets.d.ts +57 -0
  73. package/dist/components/metal-border/engine/presets.js +214 -0
  74. package/dist/components/metal-border/engine/renderer/core.d.ts +69 -0
  75. package/dist/components/metal-border/engine/renderer/core.js +156 -0
  76. package/dist/components/metal-border/engine/renderer/loop.d.ts +30 -0
  77. package/dist/components/metal-border/engine/renderer/loop.js +248 -0
  78. package/dist/components/metal-border/engine/renderer/sampling.d.ts +14 -0
  79. package/dist/components/metal-border/engine/renderer/sampling.js +145 -0
  80. package/dist/components/metal-border/engine/shaders.d.ts +36 -0
  81. package/dist/components/metal-border/engine/shaders.js +215 -0
  82. package/dist/components/metal-border/engine/tween.d.ts +17 -0
  83. package/dist/components/metal-border/engine/tween.js +28 -0
  84. package/dist/components/metal-border/index.d.ts +2 -0
  85. package/dist/components/metal-border/index.js +1 -0
  86. package/dist/components/meter/Meter.css +89 -89
  87. package/dist/components/modal/Modal.css +320 -320
  88. package/dist/components/navbar/Navbar.css +110 -110
  89. package/dist/components/noise-background/NoiseBackground.css +66 -66
  90. package/dist/components/number-field/NumberField.css +198 -198
  91. package/dist/components/pagination/Pagination.css +121 -121
  92. package/dist/components/popover/Popover.css +117 -117
  93. package/dist/components/progress-bar/ProgressBar.css +104 -104
  94. package/dist/components/progress-circle/ProgressCircle.css +82 -82
  95. package/dist/components/radio/Radio.css +129 -129
  96. package/dist/components/radio-group/RadioGroup.css +58 -58
  97. package/dist/components/range-calendar/RangeCalendar.css +51 -51
  98. package/dist/components/scroll-shadow/ScrollShadow.css +93 -93
  99. package/dist/components/search-field/SearchField.css +183 -183
  100. package/dist/components/select/Select.css +284 -284
  101. package/dist/components/separator/Separator.css +35 -35
  102. package/dist/components/skeleton/Skeleton.css +95 -95
  103. package/dist/components/slider/Slider.css +122 -122
  104. package/dist/components/spinner/Spinner.css +131 -131
  105. package/dist/components/surface/Surface.css +37 -37
  106. package/dist/components/table/Table.css +426 -426
  107. package/dist/components/tabs/Tabs.css +203 -203
  108. package/dist/components/tag/Tag.css +121 -121
  109. package/dist/components/tag-group/TagGroup.css +22 -22
  110. package/dist/components/text/Text.css +66 -66
  111. package/dist/components/text-area/TextArea.css +95 -95
  112. package/dist/components/text-field/TextField.css +33 -33
  113. package/dist/components/time-field/TimeField.css +215 -215
  114. package/dist/components/toast/Toast.css +344 -344
  115. package/dist/components/toggle/Toggle.css +237 -237
  116. package/dist/components/toolbar/Toolbar.css +55 -55
  117. package/dist/components/tooltip/Tooltip.css +153 -153
  118. package/dist/index.css +74 -74
  119. package/dist/index.d.ts +2 -0
  120. package/dist/index.js +1 -0
  121. package/dist/purge-manifest.json +15100 -14847
  122. package/dist/styles/base/index.css +43 -43
  123. package/dist/styles/themes/dark.css +141 -141
  124. package/dist/styles/themes/light.css +143 -143
  125. package/package.json +3 -3
@@ -1,129 +1,129 @@
1
- @layer components {
2
- .radio {
3
- position: relative;
4
- display: inline-flex;
5
- align-items: flex-start;
6
- gap: 0.75rem;
7
- color: var(--color-base-content);
8
- cursor: pointer;
9
- user-select: none;
10
- -webkit-tap-highlight-color: transparent;
11
- }
12
-
13
- .radio__input {
14
- position: absolute;
15
- width: 1px;
16
- height: 1px;
17
- margin: -1px;
18
- border: 0;
19
- padding: 0;
20
- overflow: hidden;
21
- white-space: nowrap;
22
- clip-path: inset(50%);
23
- }
24
-
25
- .radio__control {
26
- position: relative;
27
- margin-top: 0.1875rem;
28
- display: inline-flex;
29
- width: 1rem;
30
- height: 1rem;
31
- flex-shrink: 0;
32
- align-items: center;
33
- justify-content: center;
34
- border-radius: 9999px;
35
- border: 1px solid var(--color-base-300);
36
- background-color: var(--color-base-100);
37
- box-shadow: 0 1px 0 oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
38
- transition:
39
- background-color 200ms ease,
40
- border-color 200ms ease,
41
- transform 100ms ease;
42
- }
43
-
44
- .radio__indicator {
45
- position: absolute;
46
- inset: 0;
47
- display: inline-flex;
48
- align-items: center;
49
- justify-content: center;
50
- pointer-events: none;
51
- }
52
-
53
- .radio__indicator:empty::before {
54
- content: "";
55
- width: 100%;
56
- height: 100%;
57
- border-radius: 9999px;
58
- background-color: var(--color-base-100);
59
- transform: scale(1);
60
- transition:
61
- transform 200ms ease,
62
- background-color 200ms ease;
63
- }
64
-
65
- .radio__content {
66
- display: inline-flex;
67
- flex-direction: column;
68
- gap: 0.125rem;
69
- min-width: 0;
70
- }
71
-
72
- .radio__description {
73
- color: color-mix(in oklab, var(--color-base-content) 62%, transparent);
74
- font-size: 0.75rem;
75
- line-height: 1rem;
76
- }
77
-
78
- .radio:focus-within .radio__control,
79
- .radio__input:focus-visible + .radio__control,
80
- .radio[data-focus-visible="true"] .radio__control {
81
- border-color: var(--color-accent);
82
- box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent);
83
- }
84
-
85
- @media (hover: hover) {
86
- .radio:hover:not([data-selected="true"]):not([data-disabled="true"]) .radio__control,
87
- .radio[data-hovered="true"]:not([data-selected="true"]):not([data-disabled="true"]) .radio__control {
88
- border-color: color-mix(in oklab, var(--color-base-content) 24%, transparent);
89
- }
90
-
91
- .radio:hover:not([data-selected="true"]):not([data-disabled="true"]) .radio__indicator:empty::before,
92
- .radio[data-hovered="true"]:not([data-selected="true"]):not([data-disabled="true"]) .radio__indicator:empty::before {
93
- background-color: var(--color-base-200);
94
- }
95
- }
96
-
97
- .radio:active:not([data-disabled="true"]) .radio__control,
98
- .radio[data-pressed="true"]:not([data-disabled="true"]) .radio__control {
99
- transform: scale(0.95);
100
- }
101
-
102
- .radio[data-selected="true"] .radio__control {
103
- border-color: transparent;
104
- background-color: var(--color-accent);
105
- }
106
-
107
- .radio[data-selected="true"] .radio__indicator:empty::before {
108
- background-color: var(--color-accent-content);
109
- transform: scale(0.4286);
110
- }
111
-
112
- .radio[data-selected="true"][data-pressed="true"] .radio__indicator:empty::before {
113
- transform: scale(0.5714);
114
- }
115
-
116
- .radio[data-invalid="true"] .radio__control {
117
- border-color: var(--color-error);
118
- }
119
-
120
- .radio[data-invalid="true"]:focus-within .radio__control,
121
- .radio[data-invalid="true"] .radio__input:focus-visible + .radio__control {
122
- box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-error) 22%, transparent);
123
- }
124
-
125
- .radio[data-disabled="true"] {
126
- cursor: not-allowed;
127
- opacity: 0.55;
128
- }
129
- }
1
+ @layer components {
2
+ .radio {
3
+ position: relative;
4
+ display: inline-flex;
5
+ align-items: flex-start;
6
+ gap: 0.75rem;
7
+ color: var(--color-base-content);
8
+ cursor: pointer;
9
+ user-select: none;
10
+ -webkit-tap-highlight-color: transparent;
11
+ }
12
+
13
+ .radio__input {
14
+ position: absolute;
15
+ width: 1px;
16
+ height: 1px;
17
+ margin: -1px;
18
+ border: 0;
19
+ padding: 0;
20
+ overflow: hidden;
21
+ white-space: nowrap;
22
+ clip-path: inset(50%);
23
+ }
24
+
25
+ .radio__control {
26
+ position: relative;
27
+ margin-top: 0.1875rem;
28
+ display: inline-flex;
29
+ width: 1rem;
30
+ height: 1rem;
31
+ flex-shrink: 0;
32
+ align-items: center;
33
+ justify-content: center;
34
+ border-radius: 9999px;
35
+ border: 1px solid var(--color-base-300);
36
+ background-color: var(--color-base-100);
37
+ box-shadow: 0 1px 0 oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
38
+ transition:
39
+ background-color 200ms ease,
40
+ border-color 200ms ease,
41
+ transform 100ms ease;
42
+ }
43
+
44
+ .radio__indicator {
45
+ position: absolute;
46
+ inset: 0;
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ pointer-events: none;
51
+ }
52
+
53
+ .radio__indicator:empty::before {
54
+ content: "";
55
+ width: 100%;
56
+ height: 100%;
57
+ border-radius: 9999px;
58
+ background-color: var(--color-base-100);
59
+ transform: scale(1);
60
+ transition:
61
+ transform 200ms ease,
62
+ background-color 200ms ease;
63
+ }
64
+
65
+ .radio__content {
66
+ display: inline-flex;
67
+ flex-direction: column;
68
+ gap: 0.125rem;
69
+ min-width: 0;
70
+ }
71
+
72
+ .radio__description {
73
+ color: color-mix(in oklab, var(--color-base-content) 62%, transparent);
74
+ font-size: 0.75rem;
75
+ line-height: 1rem;
76
+ }
77
+
78
+ .radio:focus-within .radio__control,
79
+ .radio__input:focus-visible + .radio__control,
80
+ .radio[data-focus-visible="true"] .radio__control {
81
+ border-color: var(--color-accent);
82
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent);
83
+ }
84
+
85
+ @media (hover: hover) {
86
+ .radio:hover:not([data-selected="true"]):not([data-disabled="true"]) .radio__control,
87
+ .radio[data-hovered="true"]:not([data-selected="true"]):not([data-disabled="true"]) .radio__control {
88
+ border-color: color-mix(in oklab, var(--color-base-content) 24%, transparent);
89
+ }
90
+
91
+ .radio:hover:not([data-selected="true"]):not([data-disabled="true"]) .radio__indicator:empty::before,
92
+ .radio[data-hovered="true"]:not([data-selected="true"]):not([data-disabled="true"]) .radio__indicator:empty::before {
93
+ background-color: var(--color-base-200);
94
+ }
95
+ }
96
+
97
+ .radio:active:not([data-disabled="true"]) .radio__control,
98
+ .radio[data-pressed="true"]:not([data-disabled="true"]) .radio__control {
99
+ transform: scale(0.95);
100
+ }
101
+
102
+ .radio[data-selected="true"] .radio__control {
103
+ border-color: transparent;
104
+ background-color: var(--color-accent);
105
+ }
106
+
107
+ .radio[data-selected="true"] .radio__indicator:empty::before {
108
+ background-color: var(--color-accent-content);
109
+ transform: scale(0.4286);
110
+ }
111
+
112
+ .radio[data-selected="true"][data-pressed="true"] .radio__indicator:empty::before {
113
+ transform: scale(0.5714);
114
+ }
115
+
116
+ .radio[data-invalid="true"] .radio__control {
117
+ border-color: var(--color-error);
118
+ }
119
+
120
+ .radio[data-invalid="true"]:focus-within .radio__control,
121
+ .radio[data-invalid="true"] .radio__input:focus-visible + .radio__control {
122
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-error) 22%, transparent);
123
+ }
124
+
125
+ .radio[data-disabled="true"] {
126
+ cursor: not-allowed;
127
+ opacity: 0.55;
128
+ }
129
+ }
@@ -1,58 +1,58 @@
1
- @layer components {
2
- .radio-group {
3
- display: flex;
4
- flex-direction: column;
5
- gap: 0.5rem;
6
- width: fit-content;
7
- }
8
-
9
- .radio-group__label {
10
- color: var(--color-base-content);
11
- font-size: 0.875rem;
12
- font-weight: 500;
13
- line-height: 1.25rem;
14
- }
15
-
16
- .radio-group__description {
17
- color: color-mix(in oklab, var(--color-base-content) 62%, transparent);
18
- font-size: 0.75rem;
19
- line-height: 1rem;
20
- }
21
-
22
- .radio-group__error {
23
- color: var(--color-error);
24
- font-size: 0.75rem;
25
- line-height: 1rem;
26
- }
27
-
28
- .radio-group__items {
29
- display: flex;
30
- gap: 1rem;
31
- }
32
-
33
- .radio-group--vertical .radio-group__items {
34
- flex-direction: column;
35
- }
36
-
37
- .radio-group--horizontal .radio-group__items {
38
- flex-direction: row;
39
- flex-wrap: wrap;
40
- }
41
-
42
- .radio-group--secondary .radio__control {
43
- box-shadow: none;
44
- background-color: var(--color-base-100);
45
- }
46
-
47
- @media (hover: hover) {
48
- .radio-group--secondary .radio:not([data-selected="true"]):hover .radio__control,
49
- .radio-group--secondary .radio:not([data-selected="true"])[data-hovered="true"] .radio__control {
50
- border-color: color-mix(in oklab, var(--color-base-content) 24%, transparent);
51
- background-color: var(--color-base-200);
52
- }
53
- }
54
-
55
- .radio-group--disabled {
56
- opacity: 0.75;
57
- }
58
- }
1
+ @layer components {
2
+ .radio-group {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.5rem;
6
+ width: fit-content;
7
+ }
8
+
9
+ .radio-group__label {
10
+ color: var(--color-base-content);
11
+ font-size: 0.875rem;
12
+ font-weight: 500;
13
+ line-height: 1.25rem;
14
+ }
15
+
16
+ .radio-group__description {
17
+ color: color-mix(in oklab, var(--color-base-content) 62%, transparent);
18
+ font-size: 0.75rem;
19
+ line-height: 1rem;
20
+ }
21
+
22
+ .radio-group__error {
23
+ color: var(--color-error);
24
+ font-size: 0.75rem;
25
+ line-height: 1rem;
26
+ }
27
+
28
+ .radio-group__items {
29
+ display: flex;
30
+ gap: 1rem;
31
+ }
32
+
33
+ .radio-group--vertical .radio-group__items {
34
+ flex-direction: column;
35
+ }
36
+
37
+ .radio-group--horizontal .radio-group__items {
38
+ flex-direction: row;
39
+ flex-wrap: wrap;
40
+ }
41
+
42
+ .radio-group--secondary .radio__control {
43
+ box-shadow: none;
44
+ background-color: var(--color-base-100);
45
+ }
46
+
47
+ @media (hover: hover) {
48
+ .radio-group--secondary .radio:not([data-selected="true"]):hover .radio__control,
49
+ .radio-group--secondary .radio:not([data-selected="true"])[data-hovered="true"] .radio__control {
50
+ border-color: color-mix(in oklab, var(--color-base-content) 24%, transparent);
51
+ background-color: var(--color-base-200);
52
+ }
53
+ }
54
+
55
+ .radio-group--disabled {
56
+ opacity: 0.75;
57
+ }
58
+ }
@@ -1,51 +1,51 @@
1
- @layer components {
2
- .range-calendar {
3
- width: 15.75rem;
4
- max-width: 100%;
5
- container-type: inline-size;
6
- }
7
-
8
- .range-calendar--disabled {
9
- opacity: var(--disabled-opacity, 0.72);
10
- }
11
-
12
- .range-calendar__calendar {
13
- width: 100%;
14
- max-width: 100%;
15
- }
16
-
17
- .range-calendar__calendar .calendar {
18
- width: 100%;
19
- max-width: 100%;
20
- }
21
-
22
- .range-calendar__calendar .calendar__heading {
23
- text-align: center;
24
- }
25
-
26
- .range-calendar__calendar .calendar__cell--in-range,
27
- .range-calendar__calendar .calendar__cell--in-preview-range {
28
- border-radius: 0.5rem;
29
- }
30
-
31
- .range-calendar__calendar .calendar__cell--range-start.calendar__cell--in-range,
32
- .range-calendar__calendar .calendar__cell--range-start.calendar__cell--in-preview-range {
33
- border-top-left-radius: 9999px;
34
- border-bottom-left-radius: 9999px;
35
- border-top-right-radius: 0.5rem;
36
- border-bottom-right-radius: 0.5rem;
37
- }
38
-
39
- .range-calendar__calendar .calendar__cell--range-end.calendar__cell--in-range,
40
- .range-calendar__calendar .calendar__cell--range-end.calendar__cell--in-preview-range {
41
- border-top-right-radius: 9999px;
42
- border-bottom-right-radius: 9999px;
43
- border-top-left-radius: 0.5rem;
44
- border-bottom-left-radius: 0.5rem;
45
- }
46
-
47
- .range-calendar__calendar .calendar__cell--range-start.calendar__cell--range-end {
48
- border-radius: 9999px;
49
- }
50
- }
51
-
1
+ @layer components {
2
+ .range-calendar {
3
+ width: 15.75rem;
4
+ max-width: 100%;
5
+ container-type: inline-size;
6
+ }
7
+
8
+ .range-calendar--disabled {
9
+ opacity: var(--disabled-opacity, 0.72);
10
+ }
11
+
12
+ .range-calendar__calendar {
13
+ width: 100%;
14
+ max-width: 100%;
15
+ }
16
+
17
+ .range-calendar__calendar .calendar {
18
+ width: 100%;
19
+ max-width: 100%;
20
+ }
21
+
22
+ .range-calendar__calendar .calendar__heading {
23
+ text-align: center;
24
+ }
25
+
26
+ .range-calendar__calendar .calendar__cell--in-range,
27
+ .range-calendar__calendar .calendar__cell--in-preview-range {
28
+ border-radius: 0.5rem;
29
+ }
30
+
31
+ .range-calendar__calendar .calendar__cell--range-start.calendar__cell--in-range,
32
+ .range-calendar__calendar .calendar__cell--range-start.calendar__cell--in-preview-range {
33
+ border-top-left-radius: 9999px;
34
+ border-bottom-left-radius: 9999px;
35
+ border-top-right-radius: 0.5rem;
36
+ border-bottom-right-radius: 0.5rem;
37
+ }
38
+
39
+ .range-calendar__calendar .calendar__cell--range-end.calendar__cell--in-range,
40
+ .range-calendar__calendar .calendar__cell--range-end.calendar__cell--in-preview-range {
41
+ border-top-right-radius: 9999px;
42
+ border-bottom-right-radius: 9999px;
43
+ border-top-left-radius: 0.5rem;
44
+ border-bottom-left-radius: 0.5rem;
45
+ }
46
+
47
+ .range-calendar__calendar .calendar__cell--range-start.calendar__cell--range-end {
48
+ border-radius: 9999px;
49
+ }
50
+ }
51
+
@@ -1,93 +1,93 @@
1
- @layer components {
2
- .scroll-shadow {
3
- position: relative;
4
- --scroll-shadow-size: 40px;
5
- }
6
-
7
- .scroll-shadow--vertical {
8
- overflow-y: auto;
9
- }
10
-
11
- .scroll-shadow--horizontal {
12
- overflow-x: auto;
13
- }
14
-
15
- .scroll-shadow--fade.scroll-shadow--vertical[data-top-scroll="true"] {
16
- --scroll-linear-gradient:
17
- 0deg,
18
- #000 calc(100% - var(--scroll-shadow-size)),
19
- transparent;
20
-
21
- mask-image: linear-gradient(var(--scroll-linear-gradient));
22
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
23
- }
24
-
25
- .scroll-shadow--fade.scroll-shadow--vertical[data-bottom-scroll="true"] {
26
- --scroll-linear-gradient:
27
- 180deg,
28
- #000 calc(100% - var(--scroll-shadow-size)),
29
- transparent;
30
-
31
- mask-image: linear-gradient(var(--scroll-linear-gradient));
32
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
33
- }
34
-
35
- .scroll-shadow--fade.scroll-shadow--vertical[data-top-bottom-scroll="true"] {
36
- --scroll-linear-gradient:
37
- #000,
38
- #000,
39
- transparent 0,
40
- #000 var(--scroll-shadow-size),
41
- #000 calc(100% - var(--scroll-shadow-size)),
42
- transparent;
43
-
44
- mask-image: linear-gradient(var(--scroll-linear-gradient));
45
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
46
- }
47
-
48
- .scroll-shadow--fade.scroll-shadow--horizontal[data-left-scroll="true"] {
49
- --scroll-linear-gradient:
50
- 270deg,
51
- #000 calc(100% - var(--scroll-shadow-size)),
52
- transparent;
53
-
54
- mask-image: linear-gradient(var(--scroll-linear-gradient));
55
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
56
- }
57
-
58
- .scroll-shadow--fade.scroll-shadow--horizontal[data-right-scroll="true"] {
59
- --scroll-linear-gradient:
60
- 90deg,
61
- #000 calc(100% - var(--scroll-shadow-size)),
62
- transparent;
63
-
64
- mask-image: linear-gradient(var(--scroll-linear-gradient));
65
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
66
- }
67
-
68
- .scroll-shadow--fade.scroll-shadow--horizontal[data-left-right-scroll="true"] {
69
- --scroll-linear-gradient:
70
- to right,
71
- #000,
72
- #000,
73
- transparent 0,
74
- #000 var(--scroll-shadow-size),
75
- #000 calc(100% - var(--scroll-shadow-size)),
76
- transparent;
77
-
78
- mask-image: linear-gradient(var(--scroll-linear-gradient));
79
- -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
80
- }
81
-
82
- .scroll-shadow--hide-scrollbar {
83
- scrollbar-width: none;
84
- -ms-overflow-style: none;
85
- }
86
-
87
- .scroll-shadow--hide-scrollbar::-webkit-scrollbar {
88
- display: none;
89
- width: 0;
90
- height: 0;
91
- }
92
- }
93
-
1
+ @layer components {
2
+ .scroll-shadow {
3
+ position: relative;
4
+ --scroll-shadow-size: 40px;
5
+ }
6
+
7
+ .scroll-shadow--vertical {
8
+ overflow-y: auto;
9
+ }
10
+
11
+ .scroll-shadow--horizontal {
12
+ overflow-x: auto;
13
+ }
14
+
15
+ .scroll-shadow--fade.scroll-shadow--vertical[data-top-scroll="true"] {
16
+ --scroll-linear-gradient:
17
+ 0deg,
18
+ #000 calc(100% - var(--scroll-shadow-size)),
19
+ transparent;
20
+
21
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
22
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
23
+ }
24
+
25
+ .scroll-shadow--fade.scroll-shadow--vertical[data-bottom-scroll="true"] {
26
+ --scroll-linear-gradient:
27
+ 180deg,
28
+ #000 calc(100% - var(--scroll-shadow-size)),
29
+ transparent;
30
+
31
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
32
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
33
+ }
34
+
35
+ .scroll-shadow--fade.scroll-shadow--vertical[data-top-bottom-scroll="true"] {
36
+ --scroll-linear-gradient:
37
+ #000,
38
+ #000,
39
+ transparent 0,
40
+ #000 var(--scroll-shadow-size),
41
+ #000 calc(100% - var(--scroll-shadow-size)),
42
+ transparent;
43
+
44
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
45
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
46
+ }
47
+
48
+ .scroll-shadow--fade.scroll-shadow--horizontal[data-left-scroll="true"] {
49
+ --scroll-linear-gradient:
50
+ 270deg,
51
+ #000 calc(100% - var(--scroll-shadow-size)),
52
+ transparent;
53
+
54
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
55
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
56
+ }
57
+
58
+ .scroll-shadow--fade.scroll-shadow--horizontal[data-right-scroll="true"] {
59
+ --scroll-linear-gradient:
60
+ 90deg,
61
+ #000 calc(100% - var(--scroll-shadow-size)),
62
+ transparent;
63
+
64
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
65
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
66
+ }
67
+
68
+ .scroll-shadow--fade.scroll-shadow--horizontal[data-left-right-scroll="true"] {
69
+ --scroll-linear-gradient:
70
+ to right,
71
+ #000,
72
+ #000,
73
+ transparent 0,
74
+ #000 var(--scroll-shadow-size),
75
+ #000 calc(100% - var(--scroll-shadow-size)),
76
+ transparent;
77
+
78
+ mask-image: linear-gradient(var(--scroll-linear-gradient));
79
+ -webkit-mask-image: linear-gradient(var(--scroll-linear-gradient));
80
+ }
81
+
82
+ .scroll-shadow--hide-scrollbar {
83
+ scrollbar-width: none;
84
+ -ms-overflow-style: none;
85
+ }
86
+
87
+ .scroll-shadow--hide-scrollbar::-webkit-scrollbar {
88
+ display: none;
89
+ width: 0;
90
+ height: 0;
91
+ }
92
+ }
93
+