lutra 0.0.33 → 0.1.4

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 (274) hide show
  1. package/README.md +4 -24
  2. package/dist/components/AspectRatio.svelte +26 -0
  3. package/dist/components/AspectRatio.svelte.d.ts +8 -0
  4. package/dist/components/Avatar.svelte +105 -0
  5. package/dist/components/Avatar.svelte.d.ts +14 -0
  6. package/dist/{display → components}/Close.svelte +25 -7
  7. package/dist/components/Close.svelte.d.ts +7 -0
  8. package/dist/components/ContextTip.svelte +41 -0
  9. package/dist/components/ContextTip.svelte.d.ts +7 -0
  10. package/dist/components/Dialog.svelte +78 -0
  11. package/dist/components/Dialog.svelte.d.ts +14 -0
  12. package/dist/components/Icon.svelte +62 -0
  13. package/dist/components/Icon.svelte.d.ts +8 -0
  14. package/dist/{display → components}/IconButton.svelte +43 -14
  15. package/dist/components/IconButton.svelte.d.ts +16 -0
  16. package/dist/components/Image.svelte +172 -0
  17. package/dist/components/Image.svelte.d.ts +56 -0
  18. package/dist/{display → components}/Indicator.svelte +44 -9
  19. package/dist/components/Indicator.svelte.d.ts +12 -0
  20. package/dist/{display → components}/Inset.svelte +8 -3
  21. package/dist/components/Inset.svelte.d.ts +7 -0
  22. package/dist/components/Layout.svelte +33 -0
  23. package/dist/components/Layout.svelte.d.ts +11 -0
  24. package/dist/components/MenuDropdown.svelte +195 -0
  25. package/dist/components/MenuDropdown.svelte.d.ts +16 -0
  26. package/dist/{nav → components}/MenuItem.svelte +46 -38
  27. package/dist/components/MenuItem.svelte.d.ts +11 -0
  28. package/dist/components/MenuItemContent.svelte +25 -0
  29. package/dist/components/MenuItemContent.svelte.d.ts +10 -0
  30. package/dist/{nav → components}/MenuTypes.d.ts +19 -5
  31. package/dist/components/Modal.svelte +149 -0
  32. package/dist/components/Modal.svelte.d.ts +16 -0
  33. package/dist/{display → components}/Notification.svelte +33 -22
  34. package/dist/components/Notification.svelte.d.ts +12 -0
  35. package/dist/components/Overlay.svelte +31 -0
  36. package/dist/components/Overlay.svelte.d.ts +14 -0
  37. package/dist/{layout → components}/OverlayContainer.svelte +6 -3
  38. package/dist/{layout → components}/OverlayContainer.svelte.d.ts +4 -1
  39. package/dist/components/OverlayLayer.svelte +168 -0
  40. package/dist/components/OverlayLayer.svelte.d.ts +8 -0
  41. package/dist/components/PageContent.svelte +108 -0
  42. package/dist/components/PageContent.svelte.d.ts +38 -0
  43. package/dist/components/TabbedContent.svelte +74 -0
  44. package/dist/components/TabbedContent.svelte.d.ts +11 -0
  45. package/dist/components/TabbedContentItem.svelte +33 -0
  46. package/dist/components/TabbedContentItem.svelte.d.ts +10 -0
  47. package/dist/components/Table.svelte +41 -0
  48. package/dist/components/Table.svelte.d.ts +13 -0
  49. package/dist/{nav → components}/Tabs.svelte +99 -41
  50. package/dist/components/Tabs.svelte.d.ts +20 -0
  51. package/dist/components/Tag.svelte +120 -0
  52. package/dist/components/Tag.svelte.d.ts +21 -0
  53. package/dist/components/Theme.svelte +105 -0
  54. package/dist/components/Theme.svelte.d.ts +17 -0
  55. package/dist/{display → components}/Tooltip.svelte +41 -16
  56. package/dist/components/Tooltip.svelte.d.ts +12 -0
  57. package/dist/components/UIContent.svelte +19 -0
  58. package/dist/components/UIContent.svelte.d.ts +7 -0
  59. package/dist/components/index.d.ts +28 -0
  60. package/dist/components/index.js +29 -0
  61. package/dist/{display → components}/notifications.svelte.d.ts +1 -1
  62. package/dist/{display → components}/notifications.svelte.js +3 -4
  63. package/dist/{layout → components}/overlays.svelte.d.ts +4 -2
  64. package/dist/config.d.ts +30 -0
  65. package/dist/config.js +18 -0
  66. package/dist/css/1-props.css +440 -0
  67. package/dist/css/2-base.css +343 -0
  68. package/dist/css/3-typo.css +106 -0
  69. package/dist/css/4-layout.css +368 -0
  70. package/dist/css/5-media.css +116 -0
  71. package/dist/css/lutra.css +7 -0
  72. package/dist/css/themes/DefaultTheme.css +209 -0
  73. package/dist/form/Button.svelte +35 -16
  74. package/dist/form/Button.svelte.d.ts +8 -19
  75. package/dist/form/Datepicker.svelte +311 -0
  76. package/dist/form/Datepicker.svelte.d.ts +9 -0
  77. package/dist/form/FieldContent.svelte +69 -44
  78. package/dist/form/FieldContent.svelte.d.ts +7 -17
  79. package/dist/form/FieldError.svelte +16 -6
  80. package/dist/form/FieldError.svelte.d.ts +4 -15
  81. package/dist/form/Fieldset.svelte +48 -13
  82. package/dist/form/Fieldset.svelte.d.ts +5 -16
  83. package/dist/form/Form.svelte +158 -74
  84. package/dist/form/Form.svelte.d.ts +17 -17
  85. package/dist/form/{FieldActions.svelte → FormActions.svelte} +29 -17
  86. package/dist/form/FormActions.svelte.d.ts +9 -0
  87. package/dist/form/FormSection.svelte +96 -0
  88. package/dist/form/FormSection.svelte.d.ts +9 -0
  89. package/dist/form/ImageUpload.svelte +134 -94
  90. package/dist/form/ImageUpload.svelte.d.ts +5 -16
  91. package/dist/form/Input.svelte +254 -136
  92. package/dist/form/Input.svelte.d.ts +12 -21
  93. package/dist/form/InputLength.svelte +15 -5
  94. package/dist/form/InputLength.svelte.d.ts +4 -15
  95. package/dist/form/Label.svelte +55 -11
  96. package/dist/form/Label.svelte.d.ts +6 -15
  97. package/dist/form/LogoUpload.svelte +36 -21
  98. package/dist/form/LogoUpload.svelte.d.ts +4 -15
  99. package/dist/form/Select.svelte +100 -50
  100. package/dist/form/Select.svelte.d.ts +5 -16
  101. package/dist/form/Textarea.svelte +200 -98
  102. package/dist/form/Textarea.svelte.d.ts +11 -24
  103. package/dist/form/Toggle.svelte +3 -1
  104. package/dist/form/Toggle.svelte.d.ts +4 -1
  105. package/dist/form/client.svelte.d.ts +1 -0
  106. package/dist/form/client.svelte.js +6 -2
  107. package/dist/form/form.d.ts +10 -9
  108. package/dist/form/form.js +37 -32
  109. package/dist/form/index.d.ts +3 -4
  110. package/dist/form/index.js +3 -4
  111. package/dist/form/types.d.ts +9 -16
  112. package/dist/icons/IconAlert.svelte.d.ts +4 -1
  113. package/dist/icons/IconCopy.svelte.d.ts +4 -1
  114. package/dist/icons/IconDone.svelte.d.ts +4 -1
  115. package/dist/icons/IconError.svelte.d.ts +4 -1
  116. package/dist/icons/IconHelp.svelte.d.ts +4 -1
  117. package/dist/icons/IconHide.svelte.d.ts +4 -1
  118. package/dist/icons/IconInfo.svelte.d.ts +4 -1
  119. package/dist/icons/IconLink.svelte.d.ts +4 -1
  120. package/dist/icons/IconMenuBurger.svelte.d.ts +4 -1
  121. package/dist/icons/IconMenuDots.svelte.d.ts +4 -1
  122. package/dist/icons/IconSearch.svelte.d.ts +4 -1
  123. package/dist/icons/IconShow.svelte.d.ts +4 -1
  124. package/dist/icons/IconSuccess.svelte.d.ts +4 -1
  125. package/dist/icons/IconWarning.svelte.d.ts +4 -1
  126. package/dist/index.d.ts +3 -1
  127. package/dist/index.js +3 -2
  128. package/dist/types.d.ts +39 -0
  129. package/dist/types.js +25 -0
  130. package/dist/util/StringOrComponent.svelte +20 -0
  131. package/dist/util/StringOrComponent.svelte.d.ts +8 -0
  132. package/dist/util/StringOrSnippet.svelte +16 -0
  133. package/dist/util/StringOrSnippet.svelte.d.ts +8 -0
  134. package/dist/{utils → util}/dom.js +1 -2
  135. package/dist/util/locale.d.ts +1 -0
  136. package/dist/util/locale.js +47 -0
  137. package/dist/util/settings.d.ts +4 -0
  138. package/package.json +35 -79
  139. package/dist/color.css +0 -0
  140. package/dist/display/Avatar.svelte +0 -61
  141. package/dist/display/Avatar.svelte.d.ts +0 -19
  142. package/dist/display/Badge.svelte +0 -91
  143. package/dist/display/Badge.svelte.d.ts +0 -30
  144. package/dist/display/Callout.svelte +0 -109
  145. package/dist/display/Callout.svelte.d.ts +0 -28
  146. package/dist/display/Close.svelte.d.ts +0 -18
  147. package/dist/display/Code.svelte +0 -190
  148. package/dist/display/Code.svelte.d.ts +0 -32
  149. package/dist/display/ContextTip.svelte +0 -23
  150. package/dist/display/ContextTip.svelte.d.ts +0 -18
  151. package/dist/display/DataList.svelte +0 -16
  152. package/dist/display/DataList.svelte.d.ts +0 -21
  153. package/dist/display/Details.svelte +0 -49
  154. package/dist/display/Details.svelte.d.ts +0 -27
  155. package/dist/display/Hero.svelte +0 -50
  156. package/dist/display/Hero.svelte.d.ts +0 -26
  157. package/dist/display/Icon.svelte +0 -39
  158. package/dist/display/Icon.svelte.d.ts +0 -19
  159. package/dist/display/IconButton.svelte.d.ts +0 -27
  160. package/dist/display/Image.svelte +0 -91
  161. package/dist/display/Image.svelte.d.ts +0 -26
  162. package/dist/display/Indicator.svelte.d.ts +0 -23
  163. package/dist/display/Inset.svelte.d.ts +0 -18
  164. package/dist/display/LineChart.svelte +0 -385
  165. package/dist/display/LineChart.svelte.d.ts +0 -24
  166. package/dist/display/LoadingIndicator.svelte +0 -33
  167. package/dist/display/LoadingIndicator.svelte.d.ts +0 -15
  168. package/dist/display/Modal.svelte +0 -116
  169. package/dist/display/Modal.svelte.d.ts +0 -27
  170. package/dist/display/Notification.svelte.d.ts +0 -23
  171. package/dist/display/Panel.svelte +0 -23
  172. package/dist/display/Panel.svelte.d.ts +0 -19
  173. package/dist/display/Popup.svelte +0 -111
  174. package/dist/display/Popup.svelte.d.ts +0 -25
  175. package/dist/display/Stat.svelte +0 -81
  176. package/dist/display/Stat.svelte.d.ts +0 -30
  177. package/dist/display/Table.svelte +0 -28
  178. package/dist/display/Table.svelte.d.ts +0 -24
  179. package/dist/display/TablePaginator.svelte +0 -51
  180. package/dist/display/TablePaginator.svelte.d.ts +0 -21
  181. package/dist/display/Tag.svelte +0 -90
  182. package/dist/display/Tag.svelte.d.ts +0 -32
  183. package/dist/display/Tooltip.svelte.d.ts +0 -23
  184. package/dist/display/chart.d.ts +0 -78
  185. package/dist/display/chart.js +0 -212
  186. package/dist/display/index.d.ts +0 -24
  187. package/dist/display/index.js +0 -24
  188. package/dist/form/FieldActions.svelte.d.ts +0 -20
  189. package/dist/form/FieldContainer.svelte +0 -37
  190. package/dist/form/FieldContainer.svelte.d.ts +0 -19
  191. package/dist/form/FieldSection.svelte +0 -86
  192. package/dist/form/FieldSection.svelte.d.ts +0 -20
  193. package/dist/layout/Layout.svelte +0 -47
  194. package/dist/layout/Layout.svelte.d.ts +0 -22
  195. package/dist/layout/LayoutFooter.svelte +0 -21
  196. package/dist/layout/LayoutFooter.svelte.d.ts +0 -18
  197. package/dist/layout/LayoutGrid.svelte +0 -51
  198. package/dist/layout/LayoutGrid.svelte.d.ts +0 -27
  199. package/dist/layout/LayoutHeader.svelte +0 -97
  200. package/dist/layout/LayoutHeader.svelte.d.ts +0 -34
  201. package/dist/layout/LayoutSideMenu.svelte +0 -55
  202. package/dist/layout/LayoutSideMenu.svelte.d.ts +0 -21
  203. package/dist/layout/LayoutTypes.d.ts +0 -15
  204. package/dist/layout/LayoutTypes.js +0 -9
  205. package/dist/layout/Overlay.svelte +0 -20
  206. package/dist/layout/Overlay.svelte.d.ts +0 -25
  207. package/dist/layout/OverlayLayer.svelte +0 -140
  208. package/dist/layout/OverlayLayer.svelte.d.ts +0 -19
  209. package/dist/layout/PageContent.svelte +0 -82
  210. package/dist/layout/PageContent.svelte.d.ts +0 -25
  211. package/dist/layout/Theme.svelte +0 -243
  212. package/dist/layout/Theme.svelte.d.ts +0 -19
  213. package/dist/layout/UIContent.svelte +0 -15
  214. package/dist/layout/UIContent.svelte.d.ts +0 -18
  215. package/dist/layout/index.d.ts +0 -11
  216. package/dist/layout/index.js +0 -11
  217. package/dist/nav/Breadcrumb.svelte +0 -82
  218. package/dist/nav/Breadcrumb.svelte.d.ts +0 -28
  219. package/dist/nav/Menu.svelte +0 -170
  220. package/dist/nav/Menu.svelte.d.ts +0 -27
  221. package/dist/nav/MenuItem.svelte.d.ts +0 -22
  222. package/dist/nav/NavMenu.svelte +0 -181
  223. package/dist/nav/NavMenu.svelte.d.ts +0 -19
  224. package/dist/nav/TabbedContent.svelte +0 -43
  225. package/dist/nav/TabbedContent.svelte.d.ts +0 -23
  226. package/dist/nav/Tabs.svelte.d.ts +0 -25
  227. package/dist/nav/index.d.ts +0 -7
  228. package/dist/nav/index.js +0 -6
  229. package/dist/style.css +0 -950
  230. package/dist/typo/Clamp.svelte +0 -25
  231. package/dist/typo/Clamp.svelte.d.ts +0 -24
  232. package/dist/typo/H.svelte +0 -52
  233. package/dist/typo/H.svelte.d.ts +0 -28
  234. package/dist/typo/H1.svelte +0 -14
  235. package/dist/typo/H1.svelte.d.ts +0 -26
  236. package/dist/typo/H2.svelte +0 -14
  237. package/dist/typo/H2.svelte.d.ts +0 -26
  238. package/dist/typo/H3.svelte +0 -14
  239. package/dist/typo/H3.svelte.d.ts +0 -26
  240. package/dist/typo/H4.svelte +0 -14
  241. package/dist/typo/H4.svelte.d.ts +0 -26
  242. package/dist/typo/H5.svelte +0 -14
  243. package/dist/typo/H5.svelte.d.ts +0 -26
  244. package/dist/typo/H6.svelte +0 -14
  245. package/dist/typo/H6.svelte.d.ts +0 -26
  246. package/dist/typo/P.svelte +0 -34
  247. package/dist/typo/P.svelte.d.ts +0 -26
  248. package/dist/typo/index.d.ts +0 -9
  249. package/dist/typo/index.js +0 -9
  250. package/dist/utils/StringOrComponent.svelte +0 -14
  251. package/dist/utils/StringOrComponent.svelte.d.ts +0 -19
  252. package/dist/utils/StringOrSnippet.svelte +0 -11
  253. package/dist/utils/StringOrSnippet.svelte.d.ts +0 -19
  254. package/dist/utils/defaults.d.ts +0 -4
  255. package/dist/utils/hooks.server.d.ts +0 -2
  256. package/dist/utils/hooks.server.js +0 -16
  257. package/dist/utils/id.d.ts +0 -1
  258. package/dist/utils/id.js +0 -3
  259. package/dist/utils/index.d.ts +0 -9
  260. package/dist/utils/index.js +0 -6
  261. package/dist/utils/isSnippet.d.ts +0 -3
  262. package/dist/utils/isSnippet.js +0 -11
  263. /package/dist/{nav → components}/MenuTypes.js +0 -0
  264. /package/dist/{layout → components}/overlays.svelte.js +0 -0
  265. /package/dist/{utils → util}/attr.d.ts +0 -0
  266. /package/dist/{utils → util}/attr.js +0 -0
  267. /package/dist/{utils → util}/color.d.ts +0 -0
  268. /package/dist/{utils → util}/color.js +0 -0
  269. /package/dist/{utils → util}/dom.d.ts +0 -0
  270. /package/dist/{utils → util}/keyboard.svelte.d.ts +0 -0
  271. /package/dist/{utils → util}/keyboard.svelte.js +0 -0
  272. /package/dist/{utils/defaults.js → util/settings.js} +0 -0
  273. /package/dist/{utils → util}/transitions.d.ts +0 -0
  274. /package/dist/{utils → util}/transitions.js +0 -0
@@ -0,0 +1,343 @@
1
+ /**
2
+ * Base DOM setup
3
+ * Initializes shorthand variables and foundational sizing
4
+ */
5
+ :root {
6
+ /* Base size for all sizing */
7
+ --base-size: 16px;
8
+
9
+ /* Spacing scale */
10
+ --space-base: 1em;
11
+ --space-025: calc(var(--space-base) * 0.25);
12
+ --space-050: calc(var(--space-base) * 0.5);
13
+ --space-075: calc(var(--space-base) * 0.75);
14
+ --space-100: calc(var(--space-base) * 1);
15
+ --space-125: calc(var(--space-base) * 1.25);
16
+ --space-150: calc(var(--space-base) * 1.5);
17
+ --space-175: calc(var(--space-base) * 1.75);
18
+ --space-200: calc(var(--space-base) * 2);
19
+ --space-225: calc(var(--space-base) * 2.25);
20
+ --space-250: calc(var(--space-base) * 2.5);
21
+ --space-300: calc(var(--space-base) * 3);
22
+ --space-350: calc(var(--space-base) * 3.5);
23
+ --space-400: calc(var(--space-base) * 4);
24
+ --space-450: calc(var(--space-base) * 4.5);
25
+ --space-500: calc(var(--space-base) * 5);
26
+ --space-550: calc(var(--space-base) * 5.5);
27
+ --space-600: calc(var(--space-base) * 6);
28
+ --space-700: calc(var(--space-base) * 7);
29
+ --space-800: calc(var(--space-base) * 8);
30
+ --space-900: calc(var(--space-base) * 9);
31
+ --space-1000: calc(var(--space-base) * 10);
32
+
33
+ --space-xs: var(--space-025);
34
+ --space-sm: var(--space-050);
35
+ --space-md: var(--space-100);
36
+ --space-lg: var(--space-200);
37
+ --space-xl: var(--space-300);
38
+
39
+ --font-scale: 1.175;
40
+ --font-size-base: 1em;
41
+
42
+ --font-size-xs: calc(var(--font-size-base) * pow(var(--font-scale), -2));
43
+ --font-size-sm: calc(var(--font-size-base) * pow(var(--font-scale), -1));
44
+ --font-size-p: var(--font-size-base);
45
+ --font-size-h6: var(--font-size-base);
46
+ --font-size-h5: calc(var(--font-size-base) * pow(var(--font-scale), 1));
47
+ --font-size-h4: calc(var(--font-size-base) * pow(var(--font-scale), 2));
48
+ --font-size-h3: calc(var(--font-size-base) * pow(var(--font-scale), 3));
49
+ --font-size-h2: calc(var(--font-size-base) * pow(var(--font-scale), 4));
50
+ --font-size-h1: calc(var(--font-size-base) * pow(var(--font-scale), 5));
51
+ --font-size-hero: calc(var(--font-size-base) * pow(var(--font-scale), 6));
52
+ --font-size-jumbo: calc(var(--font-size-base) * pow(var(--font-scale), 7));
53
+
54
+ --text-color-h1: var(--text-color-heading);
55
+ --text-color-h2: var(--text-color-heading);
56
+ --text-color-h3: var(--text-color-heading);
57
+ --text-color-h4: var(--text-color-heading);
58
+ --text-color-h5: var(--text-color-heading);
59
+ --text-color-h6: var(--text-color-heading);
60
+ --field-color: var(--text-color-p);
61
+
62
+ --border-radius-scale: 1.2;
63
+ --border-size-thin: 1px;
64
+ --border-size-thick: 2px;
65
+
66
+ --border-radius-base: calc(var(--border-radius-scale) * 0.25em);
67
+ --border-radius-sm: calc(var(--border-radius-scale) * 0.5em);
68
+ --border-radius-lg: calc(var(--border-radius-scale) * 2em);
69
+
70
+ --form-border-radius: var(--border-radius-base);
71
+ --form-border-size: var(--border-size-thin);
72
+ --form-border-style: var(--border-style);
73
+ --form-border-color: var(--border-color);
74
+
75
+ --field-border-radius: var(--border-radius-base);
76
+ --field-border-size: var(--border-size-thin);
77
+ --field-border-style: var(--border-style);
78
+ --field-border-color: var(--border-color);
79
+
80
+ --button-border-radius: var(--border-radius-base);
81
+ --button-border-size: var(--border-size-thin);
82
+ --button-border-style: var(--border-style);
83
+ --button-border-color: var(--border-color);
84
+
85
+ --link-color-visited: var(--link-color);
86
+ --link-color-active: var(--link-color);
87
+
88
+ /* Shorthand compound variables */
89
+ --field-padding: var(--field-padding-block) var(--field-padding-inline);
90
+ --field-border: var(--field-border-size) var(--field-border-style) var(--field-border-color);
91
+
92
+ --button-padding: var(--button-padding-block) var(--button-padding-inline);
93
+ --button-border: var(--button-border-size) var(--button-border-style) var(--button-submit-border-color);
94
+ --button-icon-size: 1em;
95
+
96
+ /* Focus ring compound */
97
+ --focus-ring: var(--focus-ring-size) solid var(--focus-ring-color);
98
+
99
+ /* Shadows */
100
+ --shadow-base: var(--shadow-base);
101
+ --shadow-sm: var(--shadow-sm);
102
+ --shadow-md: var(--shadow-md);
103
+ --shadow-lg: var(--shadow-lg);
104
+ --shadow-xl: var(--shadow-xl);
105
+ --shadow-2xl: var(--shadow-2xl);
106
+
107
+ --tooltip-background: var(--background-body);
108
+ --tooltip-color: var(--text-color-p);
109
+ --tooltip-border-color: var(--border-color);
110
+ --tooltip-border-size: var(--border-size-thin);
111
+ --tooltip-border-style: var(--border-style);
112
+ --tooltip-border-radius: var(--border-radius-base);
113
+ --tooltip-shadow-color: var(--shadow-color);
114
+
115
+ --mix-target: light-dark(black, white);
116
+ }
117
+
118
+ body {
119
+ text-rendering: optimizeLegibility;
120
+ -webkit-font-smoothing: antialiased;
121
+ -moz-osx-font-smoothing: grayscale;
122
+ overscroll-behavior: none;
123
+ font-family: var(--font-family);
124
+ font-size: var(--base-size);
125
+ line-height: var(--font-line-height);
126
+ color: var(--text-color-p);
127
+ background: var(--background-body);
128
+ padding: 0;
129
+ margin: 0;
130
+ min-width: 280px;
131
+ width: 100%;
132
+ min-height: 0;
133
+ }
134
+
135
+ body * {
136
+ margin: 0;
137
+ padding: 0;
138
+ box-sizing: border-box;
139
+ }
140
+
141
+ html {
142
+ color-scheme: light dark;
143
+ }
144
+
145
+ input, textarea, select, button {
146
+ touch-action: manipulation;
147
+ -webkit-appearance: none;
148
+ -moz-appearance: none;
149
+ appearance: none;
150
+ font-family: inherit;
151
+ font-size: inherit;
152
+ }
153
+
154
+ input, textarea, select {
155
+ border-radius: var(--field-border-radius);
156
+ border: var(--field-border);
157
+ color: var(--field-color);
158
+ background: var(--field-background);
159
+ padding-inline: var(--field-padding-inline);
160
+ padding-block: var(--field-padding-block);
161
+ }
162
+
163
+ input, textarea, select, .button, ::file-selector-button, .Field {
164
+ transition:
165
+ border-color var(--transition-duration-fast) var(--transition-timing-function),
166
+ border-style var(--transition-duration-fast) var(--transition-timing-function),
167
+ border-radius var(--transition-duration-fast) var(--transition-timing-function),
168
+ background-image var(--transition-duration-fast) var(--transition-timing-function),
169
+ background-color var(--transition-duration-fast) var(--transition-timing-function),
170
+ color var(--transition-duration-fast) var(--transition-timing-function),
171
+ box-shadow var(--transition-duration-fast) var(--transition-timing-function),
172
+ outline var(--transition-duration-fast) var(--transition-timing-function),
173
+ outline-offset var(--transition-duration-fast) var(--transition-timing-function);
174
+ }
175
+
176
+ input:focus-visible, textarea:focus-visible, select:focus-visible {
177
+ outline: var(--focus-ring-size) solid var(--focus-ring-color);
178
+ outline-offset: var(--focus-ring-offset);
179
+ border-color: var(--focus-ring-color);
180
+ }
181
+
182
+ input::placeholder, textarea::placeholder, select::placeholder {
183
+ color: var(--field-placeholder-color);
184
+ }
185
+
186
+ input:disabled, textarea:disabled, select:disabled {
187
+ color: var(--field-color-disabled);
188
+ background: var(--field-background-disabled);
189
+ border: var(--field-border-disabled);
190
+ cursor: not-allowed;
191
+ }
192
+
193
+ .button,
194
+ ::file-selector-button {
195
+ cursor: pointer;
196
+ border-radius: var(--button-border-radius);
197
+ padding-inline: var(--button-padding-inline);
198
+ padding-block: var(--button-padding-block);
199
+ color: var(--button-submit-color);
200
+ background: var(--button-submit-background);
201
+ border: var(--button-border);
202
+ font-weight: var(--button-font-weight);
203
+ text-decoration: none;
204
+ display: inline-flex;
205
+ align-items: center;
206
+ justify-content: center;
207
+ gap: var(--space-050);
208
+ --button-base-color: var(--button-submit-base-color);
209
+ --button-base-color-hover: var(--button-submit-base-color-hover);
210
+ }
211
+
212
+ .button.lg {
213
+ padding-inline: calc(var(--button-padding-inline) * 1.5);
214
+ padding-block: calc(var(--button-padding-block) * 1.5);
215
+ }
216
+
217
+ .button.xl {
218
+ padding-inline: calc(var(--button-padding-inline) * 2);
219
+ padding-block: calc(var(--button-padding-block) * 2);
220
+ }
221
+
222
+ .button.sm {
223
+ padding-inline: calc(var(--button-padding-inline) * 0.5);
224
+ padding-block: calc(var(--button-padding-block) * 0.5);
225
+ }
226
+
227
+ .button:hover,
228
+ ::file-selector-button:hover {
229
+ color: var(--button-submit-color-hover);
230
+ background: var(--button-submit-background-hover);
231
+ border-color: var(--button-submit-border-color-hover);
232
+
233
+ &:focus-visible {
234
+ outline: var(--focus-ring-size) solid var(--button-base-color-hover);
235
+ outline-offset: var(--focus-ring-offset);
236
+ }
237
+ }
238
+
239
+ .button:disabled,
240
+ ::file-selector-button:disabled {
241
+ color: var(--button-color-disabled);
242
+ background: var(--button-background-disabled);
243
+ border-color: var(--button-border-color-disabled);
244
+ cursor: not-allowed;
245
+ }
246
+
247
+ .button:focus-visible {
248
+ outline: var(--focus-ring-size) solid var(--button-base-color);
249
+ outline-offset: var(--focus-ring-offset);
250
+ border-color: var(--button-base-color);
251
+ }
252
+
253
+ .button.outline {
254
+ border-color: var(--button-submit-border-color);
255
+ color: var(--button-submit-color-outline);
256
+ }
257
+
258
+ .button.outline:hover {
259
+ border-color: var(--button-submit-border-color-hover);
260
+ color: var(--button-submit-color-outline-hover);
261
+ }
262
+
263
+ .button.action {
264
+ background: var(--button-action-background);
265
+ border-color: var(--button-action-border-color);
266
+ color: var(--button-action-color);
267
+ --button-base-color: var(--button-action-base-color);
268
+ --button-base-color-hover: var(--button-action-base-color-hover);
269
+ }
270
+
271
+ .button.action:hover {
272
+ background: var(--button-action-background-hover);
273
+ border-color: var(--button-action-border-color-hover);
274
+ color: var(--button-action-color-hover);
275
+ --button-base-color: var(--button-action-base-color-hover);
276
+ --button-base-color-hover: var(--button-action-base-color-hover);
277
+ }
278
+
279
+ .button.success {
280
+ background: var(--button-success-background);
281
+ border-color: var(--button-success-border-color);
282
+ color: var(--button-success-color);
283
+ --button-base-color: var(--button-success-base-color);
284
+ --button-base-color-hover: var(--button-success-base-color-hover);
285
+ }
286
+
287
+ .button.success:hover {
288
+ background: var(--button-success-background-hover);
289
+ border-color: var(--button-success-border-color-hover);
290
+ color: var(--button-success-color-hover);
291
+ --button-base-color: var(--button-success-base-color-hover);
292
+ --button-base-color-hover: var(--button-success-base-color-hover);
293
+ }
294
+
295
+ .button.danger {
296
+ background: var(--button-danger-background);
297
+ border-color: var(--button-danger-border-color);
298
+ color: var(--button-danger-color);
299
+ --button-base-color: var(--button-danger-base-color);
300
+ --button-base-color-hover: var(--button-danger-base-color-hover);
301
+ }
302
+
303
+ .button.danger:hover {
304
+ background: var(--button-danger-background-hover);
305
+ border-color: var(--button-danger-border-color-hover);
306
+ color: var(--button-danger-color-hover);
307
+ --button-base-color: var(--button-danger-base-color-hover);
308
+ --button-base-color-hover: var(--button-danger-base-color-hover);
309
+ }
310
+
311
+ .button.ghost {
312
+ background: transparent;
313
+ border-color: transparent;
314
+ color: var(--button-base-color);
315
+ }
316
+
317
+ .button.ghost:hover {
318
+ background: transparent;
319
+ border-color: transparent;
320
+ color: var(--button-base-color-hover);
321
+ }
322
+
323
+ .button.outline {
324
+ background: transparent;
325
+ color: var(--button-base-color);
326
+ border-color: var(--button-base-color);
327
+ }
328
+
329
+ .button.outline:hover {
330
+ background: transparent;
331
+ border-color: var(--button-base-color-hover);
332
+ color: var(--button-base-color-hover);
333
+ }
334
+
335
+ .button .icon {
336
+ width: var(--button-icon-size);
337
+ height: var(--button-icon-size);
338
+ display: inline-flex;
339
+ align-items: center;
340
+ justify-content: center;
341
+ flex-shrink: 0;
342
+ order: var(--button-icon-order);
343
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Base typography setup using design token system
3
+ */
4
+
5
+ /* Base text elements */
6
+ p, li {
7
+ font-family: var(--font-family);
8
+ font-size: var(--font-size-p);
9
+ font-weight: var(--font-weight-p);
10
+ line-height: var(--font-line-height);
11
+ color: var(--text-color-p);
12
+ }
13
+
14
+ small {
15
+ font-size: var(--font-size-sm);
16
+ color: var(--text-color-p-subtle);
17
+ line-height: var(--font-line-height-tight);
18
+ }
19
+
20
+ small.smaller {
21
+ font-size: var(--font-size-xs);
22
+ }
23
+
24
+ /* Form elements inherit base typography */
25
+ input, textarea, select, button {
26
+ font-family: var(--font-family);
27
+ font-size: inherit;
28
+ line-height: var(--font-line-height);
29
+ }
30
+
31
+ /* Heading scale using predefined font sizes */
32
+ h1, h2, h3, h4, h5, h6 {
33
+ font-family: var(--font-family-heading);
34
+ line-height: var(--font-line-height-heading);
35
+ }
36
+
37
+ h6 {
38
+ font-size: var(--font-size-h6);
39
+ font-weight: var(--font-weight-h6);
40
+ color: var(--text-color-h6);
41
+ }
42
+
43
+ h5 {
44
+ font-size: var(--font-size-h5);
45
+ font-weight: var(--font-weight-h5);
46
+ color: var(--text-color-h5);
47
+ }
48
+
49
+ h4 {
50
+ font-size: var(--font-size-h4);
51
+ font-weight: var(--font-weight-h4);
52
+ color: var(--text-color-h4);
53
+ }
54
+
55
+ h3 {
56
+ font-size: var(--font-size-h3);
57
+ font-weight: var(--font-weight-h3);
58
+ color: var(--text-color-h3);
59
+ }
60
+
61
+ h2 {
62
+ font-size: var(--font-size-h2);
63
+ font-weight: var(--font-weight-h2);
64
+ color: var(--text-color-h2);
65
+ }
66
+
67
+ h1 {
68
+ font-size: var(--font-size-h1);
69
+ font-weight: var(--font-weight-h1);
70
+ color: var(--text-color-h1);
71
+ }
72
+
73
+ label {
74
+ font-size: var(--field-label-font-size);
75
+ font-weight: var(--field-label-font-weight);
76
+ color: var(--field-label-color);
77
+ }
78
+
79
+ /* Link styling */
80
+ a {
81
+ color: var(--link-color);
82
+ text-decoration: var(--link-text-decoration);
83
+ }
84
+
85
+ a:hover {
86
+ color: var(--link-color-hover);
87
+ text-decoration: var(--link-text-decoration-hover);
88
+ }
89
+
90
+ a:active {
91
+ color: var(--link-color-active);
92
+ }
93
+
94
+ a:visited {
95
+ color: var(--link-color-visited);
96
+ }
97
+
98
+ /* Code and preformatted text */
99
+ pre, code {
100
+ font-family: var(--font-family-mono);
101
+ }
102
+
103
+ pre {
104
+ margin: 0;
105
+ padding: 0;
106
+ }