@hellboy/ds 0.1.3 → 0.2.7

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 (298) hide show
  1. package/README.md +512 -162
  2. package/{src/style/components/badge → dist/components}/badge.css +9 -25
  3. package/dist/components/badge.d.mts +12 -0
  4. package/dist/components/badge.d.ts +12 -0
  5. package/dist/components/badge.js +42 -0
  6. package/dist/components/badge.mjs +15 -0
  7. package/dist/components/banner.css +280 -0
  8. package/dist/components/banner.d.mts +12 -0
  9. package/dist/components/banner.d.ts +12 -0
  10. package/dist/components/banner.js +184 -0
  11. package/dist/components/banner.mjs +147 -0
  12. package/dist/components/button-group.css +289 -0
  13. package/dist/components/button-group.d.mts +81 -0
  14. package/dist/components/button-group.d.ts +81 -0
  15. package/dist/components/button-group.js +180 -0
  16. package/dist/components/button-group.mjs +143 -0
  17. package/{src/style/components/button → dist/components}/button.css +59 -62
  18. package/dist/components/button.d.mts +57 -0
  19. package/dist/components/button.d.ts +57 -0
  20. package/dist/components/button.js +129 -0
  21. package/dist/components/button.mjs +92 -0
  22. package/{src/style/components/card → dist/components}/card.css +9 -30
  23. package/dist/components/card.d.mts +31 -0
  24. package/dist/components/card.d.ts +31 -0
  25. package/dist/components/card.js +59 -0
  26. package/dist/components/card.mjs +32 -0
  27. package/{src/style → dist}/components/checkbox.css +51 -43
  28. package/dist/components/checkbox.d.mts +31 -0
  29. package/dist/components/checkbox.d.ts +31 -0
  30. package/dist/components/checkbox.js +130 -0
  31. package/dist/components/checkbox.mjs +93 -0
  32. package/{src/style/components/code-block → dist/components}/code-block.css +3 -7
  33. package/dist/components/code-block.d.mts +24 -0
  34. package/dist/components/code-block.d.ts +24 -0
  35. package/dist/components/code-block.js +43 -0
  36. package/dist/components/code-block.mjs +16 -0
  37. package/dist/components/color-control.css +285 -0
  38. package/dist/components/color-control.d.mts +5 -0
  39. package/dist/components/color-control.d.ts +5 -0
  40. package/dist/components/color-control.js +534 -0
  41. package/dist/components/color-control.mjs +497 -0
  42. package/dist/components/dialog.css +930 -0
  43. package/dist/components/dialog.d.mts +32 -0
  44. package/dist/components/dialog.d.ts +32 -0
  45. package/dist/components/dialog.js +1111 -0
  46. package/dist/components/dialog.mjs +1074 -0
  47. package/dist/components/divider.css +356 -0
  48. package/dist/components/divider.d.mts +32 -0
  49. package/dist/components/divider.d.ts +32 -0
  50. package/dist/components/divider.js +344 -0
  51. package/dist/components/divider.mjs +307 -0
  52. package/{src/style/components/drag-handle → dist/components}/drag-handle.css +3 -18
  53. package/dist/components/drag-handle.d.mts +11 -0
  54. package/dist/components/drag-handle.d.ts +11 -0
  55. package/dist/components/drag-handle.js +103 -0
  56. package/dist/components/drag-handle.mjs +66 -0
  57. package/dist/components/drawer.css +1027 -0
  58. package/dist/components/drawer.d.mts +14 -0
  59. package/dist/components/drawer.d.ts +14 -0
  60. package/dist/components/drawer.js +1072 -0
  61. package/dist/components/drawer.mjs +1035 -0
  62. package/dist/components/floating-bar.css +17 -0
  63. package/dist/components/floating-bar.d.mts +25 -0
  64. package/dist/components/floating-bar.d.ts +25 -0
  65. package/dist/components/floating-bar.js +52 -0
  66. package/dist/components/floating-bar.mjs +25 -0
  67. package/dist/components/footer.css +40 -0
  68. package/dist/components/footer.d.mts +8 -0
  69. package/dist/components/footer.d.ts +8 -0
  70. package/dist/components/footer.js +44 -0
  71. package/dist/components/footer.mjs +17 -0
  72. package/dist/components/grid.css +47 -0
  73. package/dist/components/grid.d.mts +27 -0
  74. package/dist/components/grid.d.ts +27 -0
  75. package/dist/components/grid.js +52 -0
  76. package/dist/components/grid.mjs +25 -0
  77. package/dist/components/header.css +1075 -0
  78. package/dist/components/header.d.mts +35 -0
  79. package/dist/components/header.d.ts +35 -0
  80. package/dist/components/header.js +1402 -0
  81. package/dist/components/header.mjs +1365 -0
  82. package/dist/components/hero.css +121 -0
  83. package/dist/components/hero.d.mts +111 -0
  84. package/dist/components/hero.d.ts +111 -0
  85. package/dist/components/hero.js +285 -0
  86. package/dist/components/hero.mjs +248 -0
  87. package/{src/style/components/icons → dist/components}/icons.css +14 -15
  88. package/dist/components/icons.d.mts +104 -0
  89. package/dist/components/icons.d.ts +104 -0
  90. package/dist/components/icons.js +239 -0
  91. package/dist/components/icons.mjs +203 -0
  92. package/{src/style/components/input → dist/components}/input.css +189 -102
  93. package/dist/components/input.d.mts +114 -0
  94. package/dist/components/input.d.ts +114 -0
  95. package/dist/components/input.js +926 -0
  96. package/dist/components/input.mjs +879 -0
  97. package/dist/components/layout.css +551 -0
  98. package/dist/components/layout.d.mts +16 -0
  99. package/dist/components/layout.d.ts +16 -0
  100. package/dist/components/layout.js +387 -0
  101. package/dist/components/layout.mjs +352 -0
  102. package/{src/style/components/list → dist/components}/list.css +47 -41
  103. package/dist/components/list.d.mts +46 -0
  104. package/dist/components/list.d.ts +46 -0
  105. package/dist/components/list.js +124 -0
  106. package/dist/components/list.mjs +96 -0
  107. package/dist/components/navbar.css +706 -0
  108. package/dist/components/navbar.d.mts +56 -0
  109. package/dist/components/navbar.d.ts +56 -0
  110. package/dist/components/navbar.js +994 -0
  111. package/dist/components/navbar.mjs +952 -0
  112. package/{src/style/components/page-index → dist/components}/page-index.css +2 -47
  113. package/dist/components/page-index.d.mts +25 -0
  114. package/dist/components/page-index.d.ts +25 -0
  115. package/dist/components/page-index.js +239 -0
  116. package/dist/components/page-index.mjs +202 -0
  117. package/{src/style/components/page → dist/components}/page.css +4 -15
  118. package/dist/components/page.d.mts +30 -0
  119. package/dist/components/page.d.ts +30 -0
  120. package/dist/components/page.js +40 -0
  121. package/dist/components/page.mjs +13 -0
  122. package/dist/components/popover.css +87 -0
  123. package/dist/components/popover.d.mts +22 -0
  124. package/dist/components/popover.d.ts +22 -0
  125. package/dist/components/popover.js +243 -0
  126. package/dist/components/popover.mjs +206 -0
  127. package/{src/style → dist}/components/radio.css +8 -51
  128. package/dist/components/radio.d.mts +59 -0
  129. package/dist/components/radio.d.ts +59 -0
  130. package/dist/components/radio.js +133 -0
  131. package/dist/components/radio.mjs +95 -0
  132. package/dist/components/section.css +993 -0
  133. package/dist/components/section.d.mts +33 -0
  134. package/dist/components/section.d.ts +33 -0
  135. package/dist/components/section.js +1401 -0
  136. package/dist/components/section.mjs +1364 -0
  137. package/dist/components/select.css +391 -0
  138. package/dist/components/select.d.mts +63 -0
  139. package/dist/components/select.d.ts +63 -0
  140. package/dist/components/select.js +452 -0
  141. package/dist/components/select.mjs +415 -0
  142. package/{src/style/components/slider → dist/components}/slider.css +55 -33
  143. package/dist/components/slider.d.mts +69 -0
  144. package/dist/components/slider.d.ts +69 -0
  145. package/dist/components/slider.js +254 -0
  146. package/dist/components/slider.mjs +217 -0
  147. package/dist/components/switch.css +1081 -0
  148. package/dist/components/switch.d.mts +33 -0
  149. package/dist/components/switch.d.ts +33 -0
  150. package/dist/components/switch.js +1092 -0
  151. package/dist/components/switch.mjs +1055 -0
  152. package/{src/style/components/table → dist/components}/table.css +3 -28
  153. package/dist/components/table.d.mts +42 -0
  154. package/dist/components/table.d.ts +42 -0
  155. package/dist/components/table.js +108 -0
  156. package/dist/components/table.mjs +76 -0
  157. package/dist/components/tag.css +97 -0
  158. package/dist/components/tag.d.mts +12 -0
  159. package/dist/components/tag.d.ts +12 -0
  160. package/dist/components/tag.js +42 -0
  161. package/dist/components/tag.mjs +15 -0
  162. package/dist/components/textarea.css +1359 -0
  163. package/dist/components/textarea.d.mts +84 -0
  164. package/dist/components/textarea.d.ts +84 -0
  165. package/dist/components/textarea.js +1962 -0
  166. package/dist/components/textarea.mjs +1924 -0
  167. package/{src/style/components/theme-control → dist/components}/theme-control.css +3 -7
  168. package/dist/components/theme-control.d.mts +9 -0
  169. package/dist/components/theme-control.d.ts +9 -0
  170. package/dist/components/theme-control.js +235 -0
  171. package/dist/components/theme-control.mjs +200 -0
  172. package/{src/style/components/tooltip → dist/components}/tooltip.css +5 -13
  173. package/dist/components/tooltip.d.mts +12 -0
  174. package/dist/components/tooltip.d.ts +12 -0
  175. package/dist/components/tooltip.js +200 -0
  176. package/dist/components/tooltip.mjs +163 -0
  177. package/dist/icons-Czahnf-r.d.mts +15 -0
  178. package/dist/icons-Czahnf-r.d.ts +15 -0
  179. package/dist/index.css +2914 -2067
  180. package/dist/index.d.mts +144 -721
  181. package/dist/index.d.ts +144 -721
  182. package/dist/index.js +4076 -2282
  183. package/dist/index.mjs +4132 -2366
  184. package/dist/theme.css +34 -34
  185. package/package.json +27 -8
  186. package/dist/index.css.map +0 -1
  187. package/dist/index.js.map +0 -1
  188. package/dist/index.mjs.map +0 -1
  189. package/hellboy-ds-0.1.2.tgz +0 -0
  190. package/src/components/badge/Badge.tsx +0 -29
  191. package/src/components/badge/index.ts +0 -1
  192. package/src/components/banner/Banner.tsx +0 -48
  193. package/src/components/banner/banner.css +0 -44
  194. package/src/components/banner/index.ts +0 -1
  195. package/src/components/button/button.tsx +0 -127
  196. package/src/components/button/index.ts +0 -1
  197. package/src/components/card/card.tsx +0 -57
  198. package/src/components/card/index.ts +0 -1
  199. package/src/components/checkbox/Checkbox.tsx +0 -98
  200. package/src/components/checkbox/index.ts +0 -1
  201. package/src/components/code-block/code-block.tsx +0 -44
  202. package/src/components/code-block/index.ts +0 -1
  203. package/src/components/color-control/color-control.tsx +0 -322
  204. package/src/components/color-control/index.ts +0 -1
  205. package/src/components/drag-handle/DragHandle.tsx +0 -78
  206. package/src/components/drag-handle/index.ts +0 -1
  207. package/src/components/drawer/drawer.tsx +0 -82
  208. package/src/components/drawer/index.ts +0 -1
  209. package/src/components/floating-bar/floating-bar.tsx +0 -52
  210. package/src/components/floating-bar/index.ts +0 -2
  211. package/src/components/footer/footer.tsx +0 -28
  212. package/src/components/footer/index.ts +0 -1
  213. package/src/components/grid/Grid.tsx +0 -53
  214. package/src/components/grid/index.ts +0 -1
  215. package/src/components/header/header.tsx +0 -57
  216. package/src/components/header/index.ts +0 -1
  217. package/src/components/icons/icons.tsx +0 -44
  218. package/src/components/icons/index.ts +0 -1
  219. package/src/components/index.ts +0 -29
  220. package/src/components/input/DatePicker.tsx +0 -133
  221. package/src/components/input/Input.tsx +0 -220
  222. package/src/components/input/InputDate.tsx +0 -10
  223. package/src/components/input/InputDateTime.tsx +0 -10
  224. package/src/components/input/InputEmail.tsx +0 -10
  225. package/src/components/input/InputField.tsx +0 -137
  226. package/src/components/input/InputNumber.tsx +0 -10
  227. package/src/components/input/InputPassword.tsx +0 -10
  228. package/src/components/input/InputSearch.tsx +0 -10
  229. package/src/components/input/InputTel.tsx +0 -10
  230. package/src/components/input/InputText.tsx +0 -10
  231. package/src/components/input/InputTime.tsx +0 -10
  232. package/src/components/input/InputUrl.tsx +0 -10
  233. package/src/components/input/TimePicker.tsx +0 -151
  234. package/src/components/input/index.ts +0 -11
  235. package/src/components/layout/Layout.tsx +0 -244
  236. package/src/components/layout/index.ts +0 -1
  237. package/src/components/list/List.tsx +0 -159
  238. package/src/components/list/index.ts +0 -1
  239. package/src/components/navbar/MenuCategory.tsx +0 -20
  240. package/src/components/navbar/MenuGroup.tsx +0 -288
  241. package/src/components/navbar/MenuItem.tsx +0 -65
  242. package/src/components/navbar/Navbar.tsx +0 -23
  243. package/src/components/navbar/index.ts +0 -4
  244. package/src/components/page/index.ts +0 -1
  245. package/src/components/page/page.tsx +0 -46
  246. package/src/components/page-index/PageIndex.tsx +0 -275
  247. package/src/components/page-index/index.ts +0 -1
  248. package/src/components/popover/index.ts +0 -1
  249. package/src/components/popover/popover.tsx +0 -199
  250. package/src/components/radio/Radio.tsx +0 -176
  251. package/src/components/radio/index.ts +0 -1
  252. package/src/components/section/index.ts +0 -1
  253. package/src/components/section/section.tsx +0 -66
  254. package/src/components/select/Select.tsx +0 -212
  255. package/src/components/select/index.ts +0 -1
  256. package/src/components/slider/Slider.tsx +0 -267
  257. package/src/components/slider/index.ts +0 -1
  258. package/src/components/switch/index.ts +0 -1
  259. package/src/components/switch/switch.tsx +0 -99
  260. package/src/components/table/Table.tsx +0 -147
  261. package/src/components/table/index.ts +0 -1
  262. package/src/components/theme-control/index.ts +0 -1
  263. package/src/components/theme-control/theme-control.tsx +0 -78
  264. package/src/components/tooltip/index.ts +0 -1
  265. package/src/components/tooltip/tooltip.tsx +0 -207
  266. package/src/contexts/NavbarTooltipContext.tsx +0 -48
  267. package/src/contexts/index.ts +0 -1
  268. package/src/foundations/motion.md +0 -136
  269. package/src/index.ts +0 -40
  270. package/src/style/_shared/field.css +0 -69
  271. package/src/style/components/color-control/color-control.css +0 -126
  272. package/src/style/components/drawer/drawer.css +0 -210
  273. package/src/style/components/floating-bar/floating-bar.css +0 -39
  274. package/src/style/components/footer/footer.css +0 -108
  275. package/src/style/components/grid/grid.css +0 -33
  276. package/src/style/components/header/header.css +0 -44
  277. package/src/style/components/layout/layout.css +0 -205
  278. package/src/style/components/navbar/navbar.css +0 -342
  279. package/src/style/components/popover/popover.css +0 -44
  280. package/src/style/components/section/section.css +0 -67
  281. package/src/style/components/select/select.css +0 -143
  282. package/src/style/components/switch/switch.css +0 -267
  283. package/src/style/foundations/global.css +0 -316
  284. package/src/style/foundations/motion.css +0 -164
  285. package/src/style/foundations/spacing.css +0 -51
  286. package/src/style/foundations/typography.css +0 -39
  287. package/src/style/foundations/z-index.css +0 -81
  288. package/src/style/modes/dark.css +0 -146
  289. package/src/style/modes/light.css +0 -147
  290. package/src/style/semantic.css +0 -52
  291. package/src/style/styles.css +0 -51
  292. package/src/style/themes/theme.json +0 -37
  293. package/src/utils/README.md +0 -305
  294. package/src/utils/USER_PREFERENCES.md +0 -558
  295. package/src/utils/theme.ts +0 -127
  296. package/src/utils/user-preferences.ts +0 -577
  297. package/tsconfig.json +0 -25
  298. package/tsup.config.ts +0 -52
@@ -1,143 +0,0 @@
1
- /**
2
- * Select Component Styles
3
- * Custom select using Popover + List with action colors
4
- */
5
-
6
- @import '../../_shared/field.css';
7
-
8
- .select-container {
9
- display: flex;
10
- flex-direction: column;
11
- gap: var(--spacing-2);
12
- }
13
-
14
- .select-container--full-width {
15
- width: 100%;
16
- }
17
-
18
- .select__label {
19
- font-size: var(--font-size-sm);
20
- font-weight: 500;
21
- color: var(--color-foreground-1);
22
- cursor: pointer;
23
- }
24
-
25
- .select__trigger {
26
- width: 100%;
27
- display: flex;
28
- align-items: center;
29
- justify-content: space-between;
30
- gap: var(--spacing-2);
31
- font-family: inherit;
32
- font-size: var(--font-size-base);
33
- line-height: 1.5;
34
- color: var(--color-foreground-1);
35
- background-color: var(--color-bg-1);
36
- border: none;
37
- outline: 2px solid var(--color-foreground-3);
38
- outline-offset: -2px;
39
- border-radius: var(--radius-base);
40
- padding: var(--spacing-2) var(--spacing-3);
41
- cursor: pointer;
42
- transition: outline-color var(--motion-duration-fast) var(--motion-easing-linear), box-shadow var(--motion-duration-fast) var(--motion-easing-linear);
43
- text-align: left;
44
- }
45
-
46
- .select__trigger:not(:hover):not(:focus-visible):not(.select__trigger--open) {
47
- transition: outline-color var(--motion-duration-fast) var(--motion-easing-accelerate), box-shadow var(--motion-duration-fast) var(--motion-easing-accelerate);
48
- }
49
-
50
- /* Size variants */
51
- .select__trigger--sm {
52
- font-size: var(--font-size-sm);
53
- padding: var(--spacing-1) var(--spacing-2);
54
- }
55
-
56
- .select__trigger--lg {
57
- font-size: var(--font-size-lg);
58
- padding: var(--spacing-3) var(--spacing-4);
59
- }
60
-
61
- /* Trigger content */
62
- .select__trigger-content {
63
- display: flex;
64
- align-items: center;
65
- gap: var(--spacing-2);
66
- flex: 1;
67
- }
68
-
69
- .select__trigger-text {
70
- flex: 1;
71
- overflow: hidden;
72
- text-overflow: ellipsis;
73
- white-space: nowrap;
74
- }
75
-
76
- /* Trigger icon (chevron) */
77
- .select__trigger-icon {
78
- flex-shrink: 0;
79
- color: var(--color-foreground-2);
80
- transition: transform var(--transition-fast);
81
- }
82
-
83
- .select__trigger--open .select__trigger-icon {
84
- transform: rotate(180deg);
85
- }
86
-
87
- /* Focus state - uses action colors */
88
- .select__trigger:focus-visible {
89
- outline-color: var(--color-action-primary);
90
- box-shadow: 0 0 0 3px hsla(var(--accent-hue), var(--accent-saturation), var(--accent-lightness), 0.1);
91
- }
92
-
93
- /* Hover state */
94
- .select__trigger:hover:not(:disabled):not(.select__trigger--error) {
95
- outline-color: var(--color-action-primary-hover);
96
- }
97
-
98
- /* Open state */
99
- .select__trigger--open {
100
- outline-color: var(--color-action-primary);
101
- }
102
-
103
- /* Error state */
104
- .select__trigger--error {
105
- outline-color: hsla(var(--error-hue), var(--error-saturation), 50%, 1);
106
- }
107
-
108
- .select__trigger--error:focus-visible {
109
- outline-color: hsla(var(--error-hue), var(--error-saturation), 50%, 1);
110
- box-shadow: 0 0 0 3px hsla(var(--error-hue), var(--error-saturation), var(--error-lightness), 0.1);
111
- }
112
-
113
- /* Disabled state */
114
- .select__trigger:disabled,
115
- .select__trigger--disabled {
116
- cursor: not-allowed;
117
- opacity: 0.6;
118
- background-color: var(--color-bg-2);
119
- }
120
-
121
- /* Dropdown */
122
- .select__dropdown {
123
- min-width: 200px;
124
- max-height: 300px;
125
- overflow-y: auto;
126
- padding: var(--spacing-2);
127
- }
128
-
129
- /* Messages */
130
- .select__message {
131
- font-size: var(--font-size-sm);
132
- margin: 0;
133
- color: var(--color-foreground-2);
134
- }
135
-
136
- .select__message--error {
137
- color: hsla(var(--error-hue), var(--error-saturation), var(--error-lightness), 1);
138
- }
139
-
140
- /* Dark theme adjustments */
141
- :root[data-theme="dark"] .select__trigger {
142
- background-color: var(--color-bg-2);
143
- }
@@ -1,267 +0,0 @@
1
- /**
2
- * Switch Component Styles
3
- * Toggle switch with optional icons
4
- */
5
-
6
- .switch__wrapper {
7
- display: inline-flex;
8
- flex-direction: column;
9
- gap: var(--spacing-1);
10
- }
11
-
12
- .switch__label {
13
- display: inline-flex;
14
- align-items: center;
15
- gap: var(--spacing-2);
16
- cursor: pointer;
17
- user-select: none;
18
- }
19
-
20
- .switch__input {
21
- position: absolute;
22
- opacity: 0;
23
- width: 0;
24
- height: 0;
25
- pointer-events: none;
26
- }
27
-
28
- .switch {
29
- position: relative;
30
- display: inline-block;
31
- flex-shrink: 0;
32
- }
33
-
34
- .switch__track {
35
- position: relative;
36
- display: inline-flex;
37
- align-items: center;
38
- border-radius: var(--radius-full);
39
- background-color: var(--color-bg-1);
40
- border: none;
41
- outline: 2px solid var(--color-foreground-3);
42
- outline-offset: -2px;
43
- transition: outline-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
44
- overflow: hidden;
45
- }
46
-
47
- .switch__thumb {
48
- position: relative;
49
- display: inline-flex;
50
- align-items: center;
51
- justify-content: center;
52
- border-radius: 50%;
53
- background-color: var(--color-action-primary);
54
- border: 2px solid var(--color-action-primary);
55
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
56
- transition: transform 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease, background-color 0.1s ease;
57
- z-index: 1;
58
- }
59
-
60
- .switch__icon {
61
- position: absolute;
62
- top: 50%;
63
- left: 50%;
64
- transform: translate(-50%, -50%);
65
- color: var(--color-foreground-2);
66
- transition: all 0.2s ease;
67
- opacity: 0;
68
- pointer-events: none;
69
- }
70
-
71
- .switch__icon--on {
72
- /* Centered in thumb */
73
- }
74
-
75
- .switch__icon--off {
76
- /* Centered in thumb */
77
- }
78
-
79
- /* Size variants */
80
- .switch--sm {
81
- width: 36px;
82
- height: 20px;
83
- }
84
-
85
- .switch--sm .switch__track {
86
- width: 36px;
87
- height: 20px;
88
- }
89
-
90
- .switch--sm .switch__thumb {
91
- width: 14px;
92
- height: 14px;
93
- margin: 0 2px;
94
- }
95
-
96
- .switch--sm.switch--checked .switch__thumb {
97
- transform: translateX(16px);
98
- }
99
-
100
- .switch--md {
101
- width: 44px;
102
- height: 24px;
103
- }
104
-
105
- .switch--md .switch__track {
106
- width: 44px;
107
- height: 24px;
108
- }
109
-
110
- .switch--md .switch__thumb {
111
- width: 18px;
112
- height: 18px;
113
- margin: 0 2px;
114
- }
115
-
116
- .switch--md.switch--checked .switch__thumb {
117
- transform: translateX(20px);
118
- }
119
-
120
- .switch--lg {
121
- width: 52px;
122
- height: 28px;
123
- }
124
-
125
- .switch--lg .switch__track {
126
- width: 52px;
127
- height: 28px;
128
- }
129
-
130
- .switch--lg .switch__thumb {
131
- width: 22px;
132
- height: 22px;
133
- margin: 0 2px;
134
- }
135
-
136
- .switch--lg.switch--checked .switch__thumb {
137
- transform: translateX(24px);
138
- }
139
-
140
- /* Checked state */
141
- .switch--checked .switch__track {
142
- background-color: var(--color-accent);
143
- outline-color: var(--color-accent);
144
- }
145
-
146
- .switch--checked .switch__thumb {
147
- background-color: var(--color-on-accent);
148
- border-color: var(--color-accent);
149
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
150
- }
151
-
152
- /* Hover/Focus states */
153
- .switch__input:hover + .switch__track {
154
- outline-color: var(--color-action-primary-hover);
155
- }
156
-
157
- .switch__input:focus + .switch__track {
158
- outline-color: var(--color-action-primary);
159
- box-shadow: 0 0 0 3px hsla(var(--accent-hue), var(--accent-saturation), var(--accent-lightness), 0.1);
160
- }
161
-
162
- .switch__input:hover + .switch__track .switch__thumb,
163
- .switch__input:focus + .switch__track .switch__thumb {
164
- border-color: var(--color-action-primary-hover);
165
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
166
- }
167
-
168
- .switch--checked .switch__input:hover + .switch__track {
169
- outline-color: var(--color-accent);
170
- }
171
-
172
- .switch--checked .switch__input:focus + .switch__track {
173
- outline-color: var(--color-accent);
174
- box-shadow: 0 0 0 3px hsla(var(--accent-hue), var(--accent-saturation), var(--accent-lightness), 0.1);
175
- }
176
-
177
- .switch--checked .switch__input:hover + .switch__track .switch__thumb,
178
- .switch--checked .switch__input:focus + .switch__track .switch__thumb {
179
- border-color: var(--color-accent);
180
- }
181
-
182
- /* Active state */
183
- .switch__input:active + .switch__track .switch__thumb {
184
- transform: scale(1.2);
185
- border-color: var(--color-action-primary-active);
186
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.5);
187
- }
188
-
189
- .switch--checked .switch__input:active + .switch__track .switch__thumb {
190
- border-color: var(--color-accent);
191
- }
192
-
193
- .switch--checked .switch__icon--on {
194
- opacity: 1;
195
- color: var(--color-accent);
196
- }
197
-
198
- .switch--checked .switch__icon--off {
199
- opacity: 0;
200
- }
201
-
202
- /* Unchecked state - show off icon if present */
203
- .switch:not(.switch--checked) .switch__icon--off {
204
- opacity: 1;
205
- color: var(--color-foreground-2);
206
- }
207
-
208
- .switch:not(.switch--checked) .switch__icon--on {
209
- opacity: 0;
210
- }
211
-
212
- /* Disabled state */
213
- .switch--disabled {
214
- opacity: 0.5;
215
- cursor: not-allowed;
216
- }
217
-
218
- .switch--disabled .switch__label {
219
- cursor: not-allowed;
220
- }
221
-
222
- .switch--disabled .switch__thumb {
223
- border-color: var(--color-foreground-3);
224
- background-color: var(--color-bg-3);
225
- opacity: 0.6;
226
- }
227
-
228
- /* Error state */
229
- .switch--error .switch__track {
230
- outline-color: var(--color-error);
231
- }
232
-
233
- .switch--error.switch--checked .switch__track {
234
- background-color: var(--color-error);
235
- outline-color: var(--color-error);
236
- }
237
-
238
- /* Text and messages */
239
- .switch__text {
240
- font-size: var(--font-size-sm);
241
- color: var(--color-foreground-1);
242
- line-height: 1.5;
243
- }
244
-
245
- .switch__message {
246
- margin-top: var(--spacing-1);
247
- }
248
-
249
- .switch__error-text {
250
- font-size: var(--font-size-xs);
251
- color: var(--color-error);
252
- }
253
-
254
- .switch__helper-text {
255
- font-size: var(--font-size-xs);
256
- color: var(--color-foreground-3);
257
- }
258
-
259
- /* Dark theme adjustments */
260
- :root[data-theme="dark"] .switch__track {
261
- background-color: var(--color-bg-2);
262
- outline-color: var(--color-foreground-4);
263
- }
264
-
265
- :root[data-theme="dark"] .switch:not(.switch--checked) .switch__icon--off {
266
- color: var(--color-foreground-4);
267
- }
@@ -1,316 +0,0 @@
1
- /**
2
- * Global Foundations
3
- * Base styles, resets, and global utilities
4
- */
5
-
6
- /* CSS Reset */
7
- * {
8
- margin: 0;
9
- padding: 0;
10
- box-sizing: border-box;
11
- }
12
-
13
- /* HTML & Body */
14
- html {
15
- font-size: 16px;
16
- -webkit-font-smoothing: antialiased;
17
- -moz-osx-font-smoothing: grayscale;
18
- }
19
-
20
- body {
21
- font-family: var(--font-family-base);
22
- font-size: var(--font-size-base);
23
- line-height: var(--line-height-normal);
24
- color: var(--color-text-primary);
25
- background-color: var(--color-bg-2);
26
- font-weight: var(--font-weight-normal);
27
- }
28
-
29
- /* Headings */
30
- h1, h2, h3, h4, h5, h6 {
31
- font-family: var(--font-family-heading);
32
- font-weight: var(--font-weight-semibold);
33
- line-height: var(--line-height-tight);
34
- color: var(--color-text-primary);
35
- margin: var(--spacing-6) 0 var(--spacing-2) 0;
36
- }
37
-
38
- h1 { font-size: var(--font-size-4xl); }
39
- h2 { font-size: var(--font-size-3xl); }
40
- h3 { font-size: var(--font-size-2xl); }
41
- h4 { font-size: var(--font-size-xl); }
42
- h5 { font-size: var(--font-size-lg); }
43
- h6 { font-size: var(--font-size-base); }
44
-
45
- /* Lists */
46
- ul, ol {
47
- margin: var(--spacing-4) 0 var(--spacing-4) var(--spacing-6);
48
- padding: 0;
49
- }
50
- li {
51
- margin-bottom: var(--spacing-2);
52
- }
53
-
54
- /* Form Elements */
55
- button {
56
- border: none;
57
- cursor: pointer;
58
- font-family: inherit;
59
- font-size: inherit;
60
- }
61
-
62
- input,
63
- textarea,
64
- select {
65
- font-family: inherit;
66
- font-size: inherit;
67
- }
68
-
69
- /* Links */
70
- a {
71
- color: var(--color-primary);
72
- text-decoration: none;
73
- transition: var(--motion-transition-color);
74
- }
75
-
76
- a:hover {
77
- color: var(--color-primary-dark);
78
- }
79
-
80
- /* Action links - for important navigation links */
81
- a.link-action {
82
- color: var(--color-foreground-2);
83
- font-weight: 400;
84
- transition: var(--motion-transition-color);
85
- border-bottom: 2px solid var(--color-accent);
86
- }
87
-
88
- a.link-action:hover {
89
- color: var(--color-on-primary);
90
- background-color: var(--color-accent);
91
- }
92
-
93
- /* Inline code */
94
- code.inline-code {
95
- background-color: var(--color-bg-2);
96
- padding: 0.2rem 0.4rem;
97
- border-radius: 4px;
98
- font-family: var(--font-family-mono);
99
- font-size: 0.875em;
100
- }
101
-
102
- /* ===== MOTION & ANIMATIONS ===== */
103
-
104
- /* Motion Tokens */
105
- :root {
106
- --motion-duration-fast: 0.15s;
107
- --motion-duration-base: 0.2s;
108
- --motion-duration-slow: 0.3s;
109
- --motion-duration-slower: 0.5s;
110
-
111
- --motion-easing-standard: cubic-bezier(0.4, 0.0, 0.2, 1);
112
- --motion-easing-decelerate: cubic-bezier(0.0, 0.0, 0.2, 1);
113
- --motion-easing-accelerate: cubic-bezier(0.4, 0.0, 1, 1);
114
- --motion-easing-sharp: cubic-bezier(0.4, 0.0, 0.6, 1);
115
-
116
- --motion-transition-fast: var(--motion-duration-fast) var(--motion-easing-standard);
117
- --motion-transition-base: var(--motion-duration-base) var(--motion-easing-standard);
118
- --motion-transition-slow: var(--motion-duration-slow) var(--motion-easing-standard);
119
-
120
- --motion-transition-color: color var(--motion-transition-base);
121
- --motion-transition-background: background-color var(--motion-transition-base);
122
- --motion-transition-transform: transform var(--motion-transition-base);
123
- --motion-transition-opacity: opacity var(--motion-transition-base);
124
- }
125
-
126
- /* Reduced Motion Support */
127
- @media (prefers-reduced-motion: reduce) {
128
- :root {
129
- --motion-duration-fast: 0.01s;
130
- --motion-duration-base: 0.01s;
131
- --motion-duration-slow: 0.01s;
132
- --motion-duration-slower: 0.01s;
133
- }
134
- }
135
-
136
- /* Keyframe Animations */
137
- @keyframes slide-in-right {
138
- from {
139
- transform: translateX(100%);
140
- }
141
- to {
142
- transform: translateX(0);
143
- }
144
- }
145
-
146
- @keyframes slide-out-right {
147
- from {
148
- transform: translateX(0);
149
- }
150
- to {
151
- transform: translateX(100%);
152
- }
153
- }
154
-
155
- @keyframes slide-in-left {
156
- from {
157
- transform: translateX(-100%);
158
- }
159
- to {
160
- transform: translateX(0);
161
- }
162
- }
163
-
164
- @keyframes slide-out-left {
165
- from {
166
- transform: translateX(0);
167
- }
168
- to {
169
- transform: translateX(-100%);
170
- }
171
- }
172
-
173
- @keyframes slide-in-top {
174
- from {
175
- transform: translateY(-100%);
176
- }
177
- to {
178
- transform: translateY(0);
179
- }
180
- }
181
-
182
- @keyframes slide-out-top {
183
- from {
184
- transform: translateY(0);
185
- }
186
- to {
187
- transform: translateY(-100%);
188
- }
189
- }
190
-
191
- @keyframes slide-in-bottom {
192
- from {
193
- transform: translateY(100%);
194
- }
195
- to {
196
- transform: translateY(0);
197
- }
198
- }
199
-
200
- @keyframes slide-out-bottom {
201
- from {
202
- transform: translateY(0);
203
- }
204
- to {
205
- transform: translateY(100%);
206
- }
207
- }
208
-
209
- @keyframes scale-in {
210
- from {
211
- transform: scale(0.8);
212
- opacity: 0;
213
- }
214
- to {
215
- transform: scale(1);
216
- opacity: 1;
217
- }
218
- }
219
-
220
- @keyframes scale-out {
221
- from {
222
- transform: scale(1);
223
- opacity: 1;
224
- }
225
- to {
226
- transform: scale(0.8);
227
- opacity: 0;
228
- }
229
- }
230
-
231
- /* CSS Variables for Keyframes */
232
- :root {
233
- --motion-keyframes-slide-in-right: slide-in-right var(--motion-duration-slower) var(--motion-easing-decelerate);
234
- --motion-keyframes-slide-out-right: slide-out-right var(--motion-duration-slow) var(--motion-easing-accelerate);
235
- --motion-keyframes-slide-in-left: slide-in-left var(--motion-duration-slower) var(--motion-easing-decelerate);
236
- --motion-keyframes-slide-out-left: slide-out-left var(--motion-duration-slow) var(--motion-easing-accelerate);
237
- --motion-keyframes-slide-in-top: slide-in-top var(--motion-duration-slower) var(--motion-easing-decelerate);
238
- --motion-keyframes-slide-out-top: slide-out-top var(--motion-duration-slow) var(--motion-easing-accelerate);
239
- --motion-keyframes-slide-in-bottom: slide-in-bottom var(--motion-duration-slower) var(--motion-easing-decelerate);
240
- --motion-keyframes-slide-out-bottom: slide-out-bottom var(--motion-duration-slow) var(--motion-easing-accelerate);
241
- --motion-keyframes-scale-in: scale-in var(--motion-duration-slow) var(--motion-easing-decelerate);
242
- --motion-keyframes-scale-out: scale-out var(--motion-duration-base) var(--motion-easing-accelerate);
243
- }
244
-
245
- /* Text Colors */
246
- .text-primary { color: var(--color-text-primary); }
247
- .text-secondary { color: var(--color-text-secondary); }
248
- .text-tertiary { color: var(--color-text-tertiary); }
249
-
250
- /* Text Sizes */
251
- .text-xs { font-size: var(--font-size-xs); }
252
- .text-sm { font-size: var(--font-size-sm); }
253
- .text-base { font-size: var(--font-size-base); }
254
- .text-lg { font-size: var(--font-size-lg); }
255
- .text-xl { font-size: var(--font-size-xl); }
256
-
257
- /* Font Weights */
258
- .font-normal { font-weight: var(--font-weight-normal); }
259
- .font-medium { font-weight: var(--font-weight-medium); }
260
- .font-semibold { font-weight: var(--font-weight-semibold); }
261
- .font-bold { font-weight: var(--font-weight-bold); }
262
-
263
- /* Margins */
264
- .m-0 { margin: 0; }
265
- .mb-1 { margin-bottom: 0.25rem; }
266
- .mb-2 { margin-bottom: 0.5rem; }
267
- .mb-3 { margin-bottom: 0.75rem; }
268
- .mb-4 { margin-bottom: 1rem; }
269
- .mt-1 { margin-top: 0.25rem; }
270
- .mt-2 { margin-top: 0.5rem; }
271
- .mt-3 { margin-top: 0.75rem; }
272
- .mt-4 { margin-top: 1rem; }
273
-
274
- /* Text Alignment */
275
- .text-center { text-align: center; }
276
-
277
- /* Demo styles */
278
- .demo-content {
279
- margin: 1rem 0;
280
- padding: 1rem;
281
- background-color: var(--color-surface-variant);
282
- border-radius: 4px;
283
- border: 1px solid var(--color-outline);
284
- }
285
-
286
- /* Custom Scrollbars */
287
- ::-webkit-scrollbar {
288
- width: 12px;
289
- height: 12px;
290
- }
291
-
292
- ::-webkit-scrollbar-track {
293
- background: var(--color-bg-1);
294
- border-radius: 6px;
295
- }
296
-
297
- ::-webkit-scrollbar-thumb {
298
- background: rgba(0, 0, 0, 0.3);
299
- border-radius: 6px;
300
- border: 2px solid var(--color-bg-1);
301
- transition: background-color 0.2s ease;
302
- }
303
-
304
- ::-webkit-scrollbar-thumb:hover {
305
- background: rgba(0, 0, 0, 1);
306
- }
307
-
308
- ::-webkit-scrollbar-corner {
309
- background: var(--color-bg-1);
310
- }
311
-
312
- /* Firefox scrollbar */
313
- * {
314
- scrollbar-width: thin;
315
- scrollbar-color: rgba(0, 0, 0, 0.3) var(--color-bg-2);
316
- }