@mitcsutt/kiln-ui 0.1.0

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 (742) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/assets/fonts/big-shoulders-latin-ext-standard-normal.woff2 +0 -0
  4. package/dist/assets/fonts/big-shoulders-latin-standard-normal.woff2 +0 -0
  5. package/dist/assets/fonts/bricolage-grotesque-latin-ext-standard-normal.woff2 +0 -0
  6. package/dist/assets/fonts/bricolage-grotesque-latin-standard-normal.woff2 +0 -0
  7. package/dist/assets/fonts/licenses/big-shoulders.txt +93 -0
  8. package/dist/assets/fonts/licenses/bricolage-grotesque.txt +93 -0
  9. package/dist/assets/fonts/licenses/martian-mono.txt +93 -0
  10. package/dist/assets/fonts/licenses/newsreader.txt +93 -0
  11. package/dist/assets/fonts/licenses/schibsted-grotesk.txt +93 -0
  12. package/dist/assets/fonts/martian-mono-latin-ext-standard-normal.woff2 +0 -0
  13. package/dist/assets/fonts/martian-mono-latin-standard-normal.woff2 +0 -0
  14. package/dist/assets/fonts/newsreader-latin-ext-standard-italic.woff2 +0 -0
  15. package/dist/assets/fonts/newsreader-latin-ext-standard-normal.woff2 +0 -0
  16. package/dist/assets/fonts/newsreader-latin-standard-italic.woff2 +0 -0
  17. package/dist/assets/fonts/newsreader-latin-standard-normal.woff2 +0 -0
  18. package/dist/assets/fonts/schibsted-grotesk-latin-ext-wght-italic.woff2 +0 -0
  19. package/dist/assets/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2 +0 -0
  20. package/dist/assets/fonts/schibsted-grotesk-latin-wght-italic.woff2 +0 -0
  21. package/dist/assets/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
  22. package/dist/components/actions/Button/Button.d.ts +26 -0
  23. package/dist/components/actions/Button/Button.js +47 -0
  24. package/dist/components/actions/Button/Button.js.map +1 -0
  25. package/dist/components/actions/Button/Button.module.js +10 -0
  26. package/dist/components/actions/Button/Button.module.js.map +1 -0
  27. package/dist/components/actions/Button/index.d.ts +2 -0
  28. package/dist/components/actions/ChipGroup/ChipGroup.d.ts +50 -0
  29. package/dist/components/actions/ChipGroup/ChipGroup.js +104 -0
  30. package/dist/components/actions/ChipGroup/ChipGroup.js.map +1 -0
  31. package/dist/components/actions/ChipGroup/ChipGroup.module.js +6 -0
  32. package/dist/components/actions/ChipGroup/ChipGroup.module.js.map +1 -0
  33. package/dist/components/actions/ChipGroup/index.d.ts +2 -0
  34. package/dist/components/actions/IconButton/IconButton.d.ts +28 -0
  35. package/dist/components/actions/IconButton/IconButton.js +28 -0
  36. package/dist/components/actions/IconButton/IconButton.js.map +1 -0
  37. package/dist/components/actions/IconButton/IconButton.module.js +9 -0
  38. package/dist/components/actions/IconButton/IconButton.module.js.map +1 -0
  39. package/dist/components/actions/IconButton/index.d.ts +2 -0
  40. package/dist/components/actions/ModeToggle/ModeToggle.d.ts +28 -0
  41. package/dist/components/actions/ModeToggle/ModeToggle.js +63 -0
  42. package/dist/components/actions/ModeToggle/ModeToggle.js.map +1 -0
  43. package/dist/components/actions/ModeToggle/index.d.ts +2 -0
  44. package/dist/components/actions/SegmentedControl/SegmentedControl.d.ts +46 -0
  45. package/dist/components/actions/SegmentedControl/SegmentedControl.js +109 -0
  46. package/dist/components/actions/SegmentedControl/SegmentedControl.js.map +1 -0
  47. package/dist/components/actions/SegmentedControl/SegmentedControl.module.js +13 -0
  48. package/dist/components/actions/SegmentedControl/SegmentedControl.module.js.map +1 -0
  49. package/dist/components/actions/SegmentedControl/index.d.ts +2 -0
  50. package/dist/components/actions/ToggleChip/ToggleChip.d.ts +19 -0
  51. package/dist/components/actions/ToggleChip/ToggleChip.js +34 -0
  52. package/dist/components/actions/ToggleChip/ToggleChip.js.map +1 -0
  53. package/dist/components/actions/ToggleChip/chip.module.js +10 -0
  54. package/dist/components/actions/ToggleChip/chip.module.js.map +1 -0
  55. package/dist/components/actions/ToggleChip/index.d.ts +2 -0
  56. package/dist/components/display/Avatar/Avatar.d.ts +27 -0
  57. package/dist/components/display/Avatar/Avatar.js +39 -0
  58. package/dist/components/display/Avatar/Avatar.js.map +1 -0
  59. package/dist/components/display/Avatar/Avatar.module.js +10 -0
  60. package/dist/components/display/Avatar/Avatar.module.js.map +1 -0
  61. package/dist/components/display/Avatar/AvatarContext.d.ts +3 -0
  62. package/dist/components/display/Avatar/AvatarContext.js +7 -0
  63. package/dist/components/display/Avatar/AvatarContext.js.map +1 -0
  64. package/dist/components/display/Avatar/avatarUtils.d.ts +10 -0
  65. package/dist/components/display/Avatar/avatarUtils.js +14 -0
  66. package/dist/components/display/Avatar/avatarUtils.js.map +1 -0
  67. package/dist/components/display/Avatar/index.d.ts +5 -0
  68. package/dist/components/display/AvatarGroup/AvatarGroup.d.ts +16 -0
  69. package/dist/components/display/AvatarGroup/AvatarGroup.js +33 -0
  70. package/dist/components/display/AvatarGroup/AvatarGroup.js.map +1 -0
  71. package/dist/components/display/AvatarGroup/AvatarGroup.module.js +9 -0
  72. package/dist/components/display/AvatarGroup/AvatarGroup.module.js.map +1 -0
  73. package/dist/components/display/AvatarGroup/index.d.ts +2 -0
  74. package/dist/components/display/Badge/Badge.d.ts +18 -0
  75. package/dist/components/display/Badge/Badge.js +23 -0
  76. package/dist/components/display/Badge/Badge.js.map +1 -0
  77. package/dist/components/display/Badge/Badge.module.js +9 -0
  78. package/dist/components/display/Badge/Badge.module.js.map +1 -0
  79. package/dist/components/display/Badge/index.d.ts +2 -0
  80. package/dist/components/display/Card/Card.d.ts +46 -0
  81. package/dist/components/display/Card/Card.js +78 -0
  82. package/dist/components/display/Card/Card.js.map +1 -0
  83. package/dist/components/display/Card/Card.module.js +15 -0
  84. package/dist/components/display/Card/Card.module.js.map +1 -0
  85. package/dist/components/display/Card/index.d.ts +2 -0
  86. package/dist/components/display/CodeBlock/CodeBlock.d.ts +26 -0
  87. package/dist/components/display/CodeBlock/CodeBlock.js +85 -0
  88. package/dist/components/display/CodeBlock/CodeBlock.js.map +1 -0
  89. package/dist/components/display/CodeBlock/CodeBlock.module.js +16 -0
  90. package/dist/components/display/CodeBlock/CodeBlock.module.js.map +1 -0
  91. package/dist/components/display/CodeBlock/index.d.ts +2 -0
  92. package/dist/components/display/DataList/DataList.d.ts +19 -0
  93. package/dist/components/display/DataList/DataList.js +31 -0
  94. package/dist/components/display/DataList/DataList.js.map +1 -0
  95. package/dist/components/display/DataList/DataList.module.js +11 -0
  96. package/dist/components/display/DataList/DataList.module.js.map +1 -0
  97. package/dist/components/display/DataList/index.d.ts +2 -0
  98. package/dist/components/display/Delta/Delta.d.ts +23 -0
  99. package/dist/components/display/Delta/Delta.js +42 -0
  100. package/dist/components/display/Delta/Delta.js.map +1 -0
  101. package/dist/components/display/Delta/Delta.module.js +9 -0
  102. package/dist/components/display/Delta/Delta.module.js.map +1 -0
  103. package/dist/components/display/Delta/index.d.ts +2 -0
  104. package/dist/components/display/EmptyState/EmptyState.d.ts +28 -0
  105. package/dist/components/display/EmptyState/EmptyState.js +42 -0
  106. package/dist/components/display/EmptyState/EmptyState.js.map +1 -0
  107. package/dist/components/display/EmptyState/EmptyState.module.js +14 -0
  108. package/dist/components/display/EmptyState/EmptyState.module.js.map +1 -0
  109. package/dist/components/display/EmptyState/index.d.ts +2 -0
  110. package/dist/components/display/List/List.d.ts +33 -0
  111. package/dist/components/display/List/List.js +64 -0
  112. package/dist/components/display/List/List.js.map +1 -0
  113. package/dist/components/display/List/List.module.js +14 -0
  114. package/dist/components/display/List/List.module.js.map +1 -0
  115. package/dist/components/display/List/index.d.ts +2 -0
  116. package/dist/components/display/Marquee/Marquee.d.ts +46 -0
  117. package/dist/components/display/Marquee/Marquee.js +95 -0
  118. package/dist/components/display/Marquee/Marquee.js.map +1 -0
  119. package/dist/components/display/Marquee/Marquee.module.js +19 -0
  120. package/dist/components/display/Marquee/Marquee.module.js.map +1 -0
  121. package/dist/components/display/Marquee/index.d.ts +2 -0
  122. package/dist/components/display/Media/Media.d.ts +30 -0
  123. package/dist/components/display/Media/Media.js +47 -0
  124. package/dist/components/display/Media/Media.js.map +1 -0
  125. package/dist/components/display/Media/Media.module.js +12 -0
  126. package/dist/components/display/Media/Media.module.js.map +1 -0
  127. package/dist/components/display/Media/index.d.ts +2 -0
  128. package/dist/components/display/Meter/Meter.d.ts +32 -0
  129. package/dist/components/display/Meter/Meter.js +56 -0
  130. package/dist/components/display/Meter/Meter.js.map +1 -0
  131. package/dist/components/display/Meter/Meter.module.js +14 -0
  132. package/dist/components/display/Meter/Meter.module.js.map +1 -0
  133. package/dist/components/display/Meter/index.d.ts +4 -0
  134. package/dist/components/display/Meter/meterTone.d.ts +15 -0
  135. package/dist/components/display/Meter/meterTone.js +9 -0
  136. package/dist/components/display/Meter/meterTone.js.map +1 -0
  137. package/dist/components/display/Progress/Progress.d.ts +27 -0
  138. package/dist/components/display/Progress/Progress.js +45 -0
  139. package/dist/components/display/Progress/Progress.js.map +1 -0
  140. package/dist/components/display/Progress/Progress.module.js +14 -0
  141. package/dist/components/display/Progress/Progress.module.js.map +1 -0
  142. package/dist/components/display/Progress/index.d.ts +2 -0
  143. package/dist/components/display/Skeleton/Skeleton.d.ts +31 -0
  144. package/dist/components/display/Skeleton/Skeleton.js +60 -0
  145. package/dist/components/display/Skeleton/Skeleton.js.map +1 -0
  146. package/dist/components/display/Skeleton/Skeleton.module.js +12 -0
  147. package/dist/components/display/Skeleton/Skeleton.module.js.map +1 -0
  148. package/dist/components/display/Skeleton/index.d.ts +2 -0
  149. package/dist/components/display/Stamp/Stamp.d.ts +25 -0
  150. package/dist/components/display/Stamp/Stamp.js +21 -0
  151. package/dist/components/display/Stamp/Stamp.js.map +1 -0
  152. package/dist/components/display/Stamp/Stamp.module.js +6 -0
  153. package/dist/components/display/Stamp/Stamp.module.js.map +1 -0
  154. package/dist/components/display/Stamp/index.d.ts +2 -0
  155. package/dist/components/display/Stat/Stat.d.ts +40 -0
  156. package/dist/components/display/Stat/Stat.js +46 -0
  157. package/dist/components/display/Stat/Stat.js.map +1 -0
  158. package/dist/components/display/Stat/Stat.module.js +13 -0
  159. package/dist/components/display/Stat/Stat.module.js.map +1 -0
  160. package/dist/components/display/Stat/index.d.ts +2 -0
  161. package/dist/components/display/Table/Table.d.ts +64 -0
  162. package/dist/components/display/Table/Table.js +124 -0
  163. package/dist/components/display/Table/Table.js.map +1 -0
  164. package/dist/components/display/Table/Table.module.js +18 -0
  165. package/dist/components/display/Table/Table.module.js.map +1 -0
  166. package/dist/components/display/Table/index.d.ts +2 -0
  167. package/dist/components/display/Tag/Tag.d.ts +21 -0
  168. package/dist/components/display/Tag/Tag.js +36 -0
  169. package/dist/components/display/Tag/Tag.js.map +1 -0
  170. package/dist/components/display/Tag/Tag.module.js +10 -0
  171. package/dist/components/display/Tag/Tag.module.js.map +1 -0
  172. package/dist/components/display/Tag/index.d.ts +2 -0
  173. package/dist/components/feedback/Alert/Alert.d.ts +33 -0
  174. package/dist/components/feedback/Alert/Alert.js +62 -0
  175. package/dist/components/feedback/Alert/Alert.js.map +1 -0
  176. package/dist/components/feedback/Alert/Alert.module.js +14 -0
  177. package/dist/components/feedback/Alert/Alert.module.js.map +1 -0
  178. package/dist/components/feedback/Alert/index.d.ts +2 -0
  179. package/dist/components/feedback/LiveIndicator/LiveIndicator.d.ts +22 -0
  180. package/dist/components/feedback/LiveIndicator/LiveIndicator.js +27 -0
  181. package/dist/components/feedback/LiveIndicator/LiveIndicator.js.map +1 -0
  182. package/dist/components/feedback/LiveIndicator/LiveIndicator.module.js +10 -0
  183. package/dist/components/feedback/LiveIndicator/LiveIndicator.module.js.map +1 -0
  184. package/dist/components/feedback/LiveIndicator/index.d.ts +2 -0
  185. package/dist/components/feedback/RelativeTime/RelativeTime.d.ts +24 -0
  186. package/dist/components/feedback/RelativeTime/RelativeTime.js +38 -0
  187. package/dist/components/feedback/RelativeTime/RelativeTime.js.map +1 -0
  188. package/dist/components/feedback/RelativeTime/RelativeTime.module.js +6 -0
  189. package/dist/components/feedback/RelativeTime/RelativeTime.module.js.map +1 -0
  190. package/dist/components/feedback/RelativeTime/format.d.ts +10 -0
  191. package/dist/components/feedback/RelativeTime/format.js +57 -0
  192. package/dist/components/feedback/RelativeTime/format.js.map +1 -0
  193. package/dist/components/feedback/RelativeTime/index.d.ts +4 -0
  194. package/dist/components/feedback/Spinner/Spinner.d.ts +8 -0
  195. package/dist/components/feedback/Spinner/Spinner.js +25 -0
  196. package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
  197. package/dist/components/feedback/Spinner/Spinner.module.js +10 -0
  198. package/dist/components/feedback/Spinner/Spinner.module.js.map +1 -0
  199. package/dist/components/feedback/Spinner/index.d.ts +2 -0
  200. package/dist/components/feedback/StatusDot/StatusDot.d.ts +13 -0
  201. package/dist/components/feedback/StatusDot/StatusDot.js +26 -0
  202. package/dist/components/feedback/StatusDot/StatusDot.js.map +1 -0
  203. package/dist/components/feedback/StatusDot/StatusDot.module.js +11 -0
  204. package/dist/components/feedback/StatusDot/StatusDot.module.js.map +1 -0
  205. package/dist/components/feedback/StatusDot/index.d.ts +2 -0
  206. package/dist/components/inputs/AmountField/AmountField.d.ts +11 -0
  207. package/dist/components/inputs/AmountField/AmountField.js +26 -0
  208. package/dist/components/inputs/AmountField/AmountField.js.map +1 -0
  209. package/dist/components/inputs/AmountField/index.d.ts +2 -0
  210. package/dist/components/inputs/AmountInput/AmountInput.d.ts +38 -0
  211. package/dist/components/inputs/AmountInput/AmountInput.js +99 -0
  212. package/dist/components/inputs/AmountInput/AmountInput.js.map +1 -0
  213. package/dist/components/inputs/AmountInput/amountFormat.d.ts +5 -0
  214. package/dist/components/inputs/AmountInput/amountFormat.js +15 -0
  215. package/dist/components/inputs/AmountInput/amountFormat.js.map +1 -0
  216. package/dist/components/inputs/AmountInput/index.d.ts +2 -0
  217. package/dist/components/inputs/Checkbox/Checkbox.d.ts +18 -0
  218. package/dist/components/inputs/Checkbox/Checkbox.js +42 -0
  219. package/dist/components/inputs/Checkbox/Checkbox.js.map +1 -0
  220. package/dist/components/inputs/Checkbox/Checkbox.module.js +12 -0
  221. package/dist/components/inputs/Checkbox/Checkbox.module.js.map +1 -0
  222. package/dist/components/inputs/Checkbox/index.d.ts +2 -0
  223. package/dist/components/inputs/CheckboxField/CheckboxField.d.ts +19 -0
  224. package/dist/components/inputs/CheckboxField/CheckboxField.js +69 -0
  225. package/dist/components/inputs/CheckboxField/CheckboxField.js.map +1 -0
  226. package/dist/components/inputs/CheckboxField/CheckboxField.module.js +12 -0
  227. package/dist/components/inputs/CheckboxField/CheckboxField.module.js.map +1 -0
  228. package/dist/components/inputs/CheckboxField/index.d.ts +2 -0
  229. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.d.ts +43 -0
  230. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.js +159 -0
  231. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.js.map +1 -0
  232. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.module.js +13 -0
  233. package/dist/components/inputs/CheckboxGroup/CheckboxGroup.module.js.map +1 -0
  234. package/dist/components/inputs/CheckboxGroup/choice.d.ts +33 -0
  235. package/dist/components/inputs/CheckboxGroup/choice.js +41 -0
  236. package/dist/components/inputs/CheckboxGroup/choice.js.map +1 -0
  237. package/dist/components/inputs/CheckboxGroup/index.d.ts +2 -0
  238. package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.d.ts +12 -0
  239. package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.js +24 -0
  240. package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.js.map +1 -0
  241. package/dist/components/inputs/CheckboxGroupField/index.d.ts +2 -0
  242. package/dist/components/inputs/ChipGroupField/ChipGroupField.d.ts +12 -0
  243. package/dist/components/inputs/ChipGroupField/ChipGroupField.js +24 -0
  244. package/dist/components/inputs/ChipGroupField/ChipGroupField.js.map +1 -0
  245. package/dist/components/inputs/ChipGroupField/index.d.ts +2 -0
  246. package/dist/components/inputs/ChoiceCards/ChoiceCards.d.ts +50 -0
  247. package/dist/components/inputs/ChoiceCards/ChoiceCards.js +130 -0
  248. package/dist/components/inputs/ChoiceCards/ChoiceCards.js.map +1 -0
  249. package/dist/components/inputs/ChoiceCards/ChoiceCards.module.js +15 -0
  250. package/dist/components/inputs/ChoiceCards/ChoiceCards.module.js.map +1 -0
  251. package/dist/components/inputs/ChoiceCards/index.d.ts +2 -0
  252. package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.d.ts +12 -0
  253. package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.js +24 -0
  254. package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.js.map +1 -0
  255. package/dist/components/inputs/ChoiceCardsField/index.d.ts +2 -0
  256. package/dist/components/inputs/ColorField/ColorField.d.ts +12 -0
  257. package/dist/components/inputs/ColorField/ColorField.js +26 -0
  258. package/dist/components/inputs/ColorField/ColorField.js.map +1 -0
  259. package/dist/components/inputs/ColorField/index.d.ts +2 -0
  260. package/dist/components/inputs/ColorInput/ColorInput.d.ts +30 -0
  261. package/dist/components/inputs/ColorInput/ColorInput.js +149 -0
  262. package/dist/components/inputs/ColorInput/ColorInput.js.map +1 -0
  263. package/dist/components/inputs/ColorInput/ColorInput.module.js +13 -0
  264. package/dist/components/inputs/ColorInput/ColorInput.module.js.map +1 -0
  265. package/dist/components/inputs/ColorInput/colorFormat.d.ts +2 -0
  266. package/dist/components/inputs/ColorInput/colorFormat.js +10 -0
  267. package/dist/components/inputs/ColorInput/colorFormat.js.map +1 -0
  268. package/dist/components/inputs/ColorInput/index.d.ts +2 -0
  269. package/dist/components/inputs/Combobox/Combobox.d.ts +74 -0
  270. package/dist/components/inputs/Combobox/Combobox.js +394 -0
  271. package/dist/components/inputs/Combobox/Combobox.js.map +1 -0
  272. package/dist/components/inputs/Combobox/Combobox.module.js +28 -0
  273. package/dist/components/inputs/Combobox/Combobox.module.js.map +1 -0
  274. package/dist/components/inputs/Combobox/index.d.ts +2 -0
  275. package/dist/components/inputs/Combobox/storyData.d.ts +7 -0
  276. package/dist/components/inputs/Combobox/useControllableState.d.ts +8 -0
  277. package/dist/components/inputs/Combobox/useControllableState.js +13 -0
  278. package/dist/components/inputs/Combobox/useControllableState.js.map +1 -0
  279. package/dist/components/inputs/ComboboxField/ComboboxField.d.ts +17 -0
  280. package/dist/components/inputs/ComboboxField/ComboboxField.js +26 -0
  281. package/dist/components/inputs/ComboboxField/ComboboxField.js.map +1 -0
  282. package/dist/components/inputs/ComboboxField/index.d.ts +2 -0
  283. package/dist/components/inputs/DateRangeField/DateRangeField.d.ts +37 -0
  284. package/dist/components/inputs/DateRangeField/DateRangeField.js +87 -0
  285. package/dist/components/inputs/DateRangeField/DateRangeField.js.map +1 -0
  286. package/dist/components/inputs/DateRangeField/DateRangeField.module.js +10 -0
  287. package/dist/components/inputs/DateRangeField/DateRangeField.module.js.map +1 -0
  288. package/dist/components/inputs/DateRangeField/index.d.ts +2 -0
  289. package/dist/components/inputs/Field/Field.d.ts +79 -0
  290. package/dist/components/inputs/Field/Field.js +100 -0
  291. package/dist/components/inputs/Field/Field.js.map +1 -0
  292. package/dist/components/inputs/Field/Field.module.js +12 -0
  293. package/dist/components/inputs/Field/Field.module.js.map +1 -0
  294. package/dist/components/inputs/Field/index.d.ts +4 -0
  295. package/dist/components/inputs/Fieldset/Fieldset.d.ts +48 -0
  296. package/dist/components/inputs/Fieldset/Fieldset.js +83 -0
  297. package/dist/components/inputs/Fieldset/Fieldset.js.map +1 -0
  298. package/dist/components/inputs/Fieldset/Fieldset.module.js +12 -0
  299. package/dist/components/inputs/Fieldset/Fieldset.module.js.map +1 -0
  300. package/dist/components/inputs/Fieldset/index.d.ts +2 -0
  301. package/dist/components/inputs/FileDrop/FileDrop.d.ts +60 -0
  302. package/dist/components/inputs/FileDrop/FileDrop.js +189 -0
  303. package/dist/components/inputs/FileDrop/FileDrop.js.map +1 -0
  304. package/dist/components/inputs/FileDrop/FileDrop.module.js +21 -0
  305. package/dist/components/inputs/FileDrop/FileDrop.module.js.map +1 -0
  306. package/dist/components/inputs/FileDrop/fileUtils.d.ts +11 -0
  307. package/dist/components/inputs/FileDrop/fileUtils.js +38 -0
  308. package/dist/components/inputs/FileDrop/fileUtils.js.map +1 -0
  309. package/dist/components/inputs/FileDrop/index.d.ts +2 -0
  310. package/dist/components/inputs/FileField/FileField.d.ts +12 -0
  311. package/dist/components/inputs/FileField/FileField.js +26 -0
  312. package/dist/components/inputs/FileField/FileField.js.map +1 -0
  313. package/dist/components/inputs/FileField/index.d.ts +2 -0
  314. package/dist/components/inputs/Input/Input.d.ts +25 -0
  315. package/dist/components/inputs/Input/Input.js +62 -0
  316. package/dist/components/inputs/Input/Input.js.map +1 -0
  317. package/dist/components/inputs/Input/Input.module.js +10 -0
  318. package/dist/components/inputs/Input/Input.module.js.map +1 -0
  319. package/dist/components/inputs/Input/index.d.ts +2 -0
  320. package/dist/components/inputs/NumberField/NumberField.d.ts +11 -0
  321. package/dist/components/inputs/NumberField/NumberField.js +26 -0
  322. package/dist/components/inputs/NumberField/NumberField.js.map +1 -0
  323. package/dist/components/inputs/NumberField/index.d.ts +2 -0
  324. package/dist/components/inputs/NumberInput/NumberInput.d.ts +35 -0
  325. package/dist/components/inputs/NumberInput/NumberInput.js +139 -0
  326. package/dist/components/inputs/NumberInput/NumberInput.js.map +1 -0
  327. package/dist/components/inputs/NumberInput/NumberInput.module.js +6 -0
  328. package/dist/components/inputs/NumberInput/NumberInput.module.js.map +1 -0
  329. package/dist/components/inputs/NumberInput/index.d.ts +2 -0
  330. package/dist/components/inputs/NumberInput/numberFormat.d.ts +24 -0
  331. package/dist/components/inputs/NumberInput/numberFormat.js +48 -0
  332. package/dist/components/inputs/NumberInput/numberFormat.js.map +1 -0
  333. package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.d.ts +12 -0
  334. package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.js +26 -0
  335. package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.js.map +1 -0
  336. package/dist/components/inputs/OneTimeCodeField/index.d.ts +2 -0
  337. package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.d.ts +35 -0
  338. package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.js +56 -0
  339. package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.js.map +1 -0
  340. package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.module.js +9 -0
  341. package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.module.js.map +1 -0
  342. package/dist/components/inputs/OneTimeCodeInput/index.d.ts +2 -0
  343. package/dist/components/inputs/PasswordField/PasswordField.d.ts +13 -0
  344. package/dist/components/inputs/PasswordField/PasswordField.js +29 -0
  345. package/dist/components/inputs/PasswordField/PasswordField.js.map +1 -0
  346. package/dist/components/inputs/PasswordField/index.d.ts +2 -0
  347. package/dist/components/inputs/PasswordInput/PasswordInput.d.ts +22 -0
  348. package/dist/components/inputs/PasswordInput/PasswordInput.js +75 -0
  349. package/dist/components/inputs/PasswordInput/PasswordInput.js.map +1 -0
  350. package/dist/components/inputs/PasswordInput/PasswordInput.module.js +6 -0
  351. package/dist/components/inputs/PasswordInput/PasswordInput.module.js.map +1 -0
  352. package/dist/components/inputs/PasswordInput/index.d.ts +2 -0
  353. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +19 -0
  354. package/dist/components/inputs/RadioGroup/RadioGroup.js +68 -0
  355. package/dist/components/inputs/RadioGroup/RadioGroup.js.map +1 -0
  356. package/dist/components/inputs/RadioGroup/RadioGroup.module.js +15 -0
  357. package/dist/components/inputs/RadioGroup/RadioGroup.module.js.map +1 -0
  358. package/dist/components/inputs/RadioGroup/index.d.ts +2 -0
  359. package/dist/components/inputs/RadioGroupField/RadioGroupField.d.ts +16 -0
  360. package/dist/components/inputs/RadioGroupField/RadioGroupField.js +33 -0
  361. package/dist/components/inputs/RadioGroupField/RadioGroupField.js.map +1 -0
  362. package/dist/components/inputs/RadioGroupField/index.d.ts +2 -0
  363. package/dist/components/inputs/RangeSlider/RangeSlider.d.ts +23 -0
  364. package/dist/components/inputs/RangeSlider/RangeSlider.js +63 -0
  365. package/dist/components/inputs/RangeSlider/RangeSlider.js.map +1 -0
  366. package/dist/components/inputs/RangeSlider/index.d.ts +2 -0
  367. package/dist/components/inputs/RangeSliderField/RangeSliderField.d.ts +12 -0
  368. package/dist/components/inputs/RangeSliderField/RangeSliderField.js +24 -0
  369. package/dist/components/inputs/RangeSliderField/RangeSliderField.js.map +1 -0
  370. package/dist/components/inputs/RangeSliderField/index.d.ts +2 -0
  371. package/dist/components/inputs/Rating/Rating.d.ts +31 -0
  372. package/dist/components/inputs/Rating/Rating.js +66 -0
  373. package/dist/components/inputs/Rating/Rating.js.map +1 -0
  374. package/dist/components/inputs/Rating/Rating.module.js +10 -0
  375. package/dist/components/inputs/Rating/Rating.module.js.map +1 -0
  376. package/dist/components/inputs/Rating/index.d.ts +2 -0
  377. package/dist/components/inputs/RatingField/RatingField.d.ts +12 -0
  378. package/dist/components/inputs/RatingField/RatingField.js +24 -0
  379. package/dist/components/inputs/RatingField/RatingField.js.map +1 -0
  380. package/dist/components/inputs/RatingField/index.d.ts +2 -0
  381. package/dist/components/inputs/SegmentedField/SegmentedField.d.ts +12 -0
  382. package/dist/components/inputs/SegmentedField/SegmentedField.js +24 -0
  383. package/dist/components/inputs/SegmentedField/SegmentedField.js.map +1 -0
  384. package/dist/components/inputs/SegmentedField/index.d.ts +2 -0
  385. package/dist/components/inputs/Select/Select.d.ts +66 -0
  386. package/dist/components/inputs/Select/Select.js +165 -0
  387. package/dist/components/inputs/Select/Select.js.map +1 -0
  388. package/dist/components/inputs/Select/Select.module.js +19 -0
  389. package/dist/components/inputs/Select/Select.module.js.map +1 -0
  390. package/dist/components/inputs/Select/index.d.ts +2 -0
  391. package/dist/components/inputs/SelectField/SelectField.d.ts +13 -0
  392. package/dist/components/inputs/SelectField/SelectField.js +26 -0
  393. package/dist/components/inputs/SelectField/SelectField.js.map +1 -0
  394. package/dist/components/inputs/SelectField/index.d.ts +2 -0
  395. package/dist/components/inputs/Slider/Slider.d.ts +40 -0
  396. package/dist/components/inputs/Slider/Slider.js +51 -0
  397. package/dist/components/inputs/Slider/Slider.js.map +1 -0
  398. package/dist/components/inputs/Slider/Slider.module.js +15 -0
  399. package/dist/components/inputs/Slider/Slider.module.js.map +1 -0
  400. package/dist/components/inputs/Slider/SliderBase.d.ts +37 -0
  401. package/dist/components/inputs/Slider/SliderBase.js +85 -0
  402. package/dist/components/inputs/Slider/SliderBase.js.map +1 -0
  403. package/dist/components/inputs/Slider/index.d.ts +2 -0
  404. package/dist/components/inputs/SliderField/SliderField.d.ts +12 -0
  405. package/dist/components/inputs/SliderField/SliderField.js +24 -0
  406. package/dist/components/inputs/SliderField/SliderField.js.map +1 -0
  407. package/dist/components/inputs/SliderField/index.d.ts +2 -0
  408. package/dist/components/inputs/Switch/Switch.d.ts +18 -0
  409. package/dist/components/inputs/Switch/Switch.js +46 -0
  410. package/dist/components/inputs/Switch/Switch.js.map +1 -0
  411. package/dist/components/inputs/Switch/Switch.module.js +11 -0
  412. package/dist/components/inputs/Switch/Switch.module.js.map +1 -0
  413. package/dist/components/inputs/Switch/index.d.ts +2 -0
  414. package/dist/components/inputs/SwitchField/SwitchField.d.ts +13 -0
  415. package/dist/components/inputs/SwitchField/SwitchField.js +73 -0
  416. package/dist/components/inputs/SwitchField/SwitchField.js.map +1 -0
  417. package/dist/components/inputs/SwitchField/SwitchField.module.js +12 -0
  418. package/dist/components/inputs/SwitchField/SwitchField.module.js.map +1 -0
  419. package/dist/components/inputs/SwitchField/index.d.ts +2 -0
  420. package/dist/components/inputs/TagsField/TagsField.d.ts +12 -0
  421. package/dist/components/inputs/TagsField/TagsField.js +26 -0
  422. package/dist/components/inputs/TagsField/TagsField.js.map +1 -0
  423. package/dist/components/inputs/TagsField/index.d.ts +2 -0
  424. package/dist/components/inputs/TagsInput/TagsInput.d.ts +35 -0
  425. package/dist/components/inputs/TagsInput/TagsInput.js +155 -0
  426. package/dist/components/inputs/TagsInput/TagsInput.js.map +1 -0
  427. package/dist/components/inputs/TagsInput/TagsInput.module.js +13 -0
  428. package/dist/components/inputs/TagsInput/TagsInput.module.js.map +1 -0
  429. package/dist/components/inputs/TagsInput/index.d.ts +2 -0
  430. package/dist/components/inputs/TextField/TextField.d.ts +18 -0
  431. package/dist/components/inputs/TextField/TextField.js +40 -0
  432. package/dist/components/inputs/TextField/TextField.js.map +1 -0
  433. package/dist/components/inputs/TextField/index.d.ts +2 -0
  434. package/dist/components/inputs/Textarea/Textarea.d.ts +20 -0
  435. package/dist/components/inputs/Textarea/Textarea.js +61 -0
  436. package/dist/components/inputs/Textarea/Textarea.js.map +1 -0
  437. package/dist/components/inputs/Textarea/Textarea.module.js +6 -0
  438. package/dist/components/inputs/Textarea/Textarea.module.js.map +1 -0
  439. package/dist/components/inputs/Textarea/index.d.ts +2 -0
  440. package/dist/components/inputs/TextareaField/TextareaField.d.ts +18 -0
  441. package/dist/components/inputs/TextareaField/TextareaField.js +40 -0
  442. package/dist/components/inputs/TextareaField/TextareaField.js.map +1 -0
  443. package/dist/components/inputs/TextareaField/index.d.ts +2 -0
  444. package/dist/components/inputs/internal/FieldContext.d.ts +60 -0
  445. package/dist/components/inputs/internal/FieldContext.js +32 -0
  446. package/dist/components/inputs/internal/FieldContext.js.map +1 -0
  447. package/dist/components/inputs/internal/control.module.js +6 -0
  448. package/dist/components/inputs/internal/control.module.js.map +1 -0
  449. package/dist/components/inputs/internal/errors.d.ts +5 -0
  450. package/dist/components/inputs/internal/errors.js +11 -0
  451. package/dist/components/inputs/internal/errors.js.map +1 -0
  452. package/dist/components/inputs/internal/fieldProps.d.ts +12 -0
  453. package/dist/components/inputs/internal/fieldProps.js +25 -0
  454. package/dist/components/inputs/internal/fieldProps.js.map +1 -0
  455. package/dist/components/inputs/internal/filterOptions.d.ts +23 -0
  456. package/dist/components/inputs/internal/filterOptions.js +28 -0
  457. package/dist/components/inputs/internal/filterOptions.js.map +1 -0
  458. package/dist/components/inputs/internal/messages.d.ts +40 -0
  459. package/dist/components/inputs/internal/messages.js +58 -0
  460. package/dist/components/inputs/internal/messages.js.map +1 -0
  461. package/dist/components/inputs/internal/messages.module.js +18 -0
  462. package/dist/components/inputs/internal/messages.module.js.map +1 -0
  463. package/dist/components/inputs/internal/refs.d.ts +7 -0
  464. package/dist/components/inputs/internal/refs.js +19 -0
  465. package/dist/components/inputs/internal/refs.js.map +1 -0
  466. package/dist/components/inputs/internal/storyData.d.ts +4 -0
  467. package/dist/components/inputs/internal/useLatest.d.ts +7 -0
  468. package/dist/components/inputs/internal/useLatest.js +13 -0
  469. package/dist/components/inputs/internal/useLatest.js.map +1 -0
  470. package/dist/components/layout/ActionBar/ActionBar.d.ts +30 -0
  471. package/dist/components/layout/ActionBar/ActionBar.js +25 -0
  472. package/dist/components/layout/ActionBar/ActionBar.js.map +1 -0
  473. package/dist/components/layout/ActionBar/ActionBar.module.js +6 -0
  474. package/dist/components/layout/ActionBar/ActionBar.module.js.map +1 -0
  475. package/dist/components/layout/ActionBar/index.d.ts +2 -0
  476. package/dist/components/layout/AppShell/AppShell.d.ts +33 -0
  477. package/dist/components/layout/AppShell/AppShell.js +70 -0
  478. package/dist/components/layout/AppShell/AppShell.js.map +1 -0
  479. package/dist/components/layout/AppShell/AppShell.module.js +14 -0
  480. package/dist/components/layout/AppShell/AppShell.module.js.map +1 -0
  481. package/dist/components/layout/AppShell/index.d.ts +2 -0
  482. package/dist/components/layout/AspectRatio/AspectRatio.d.ts +14 -0
  483. package/dist/components/layout/AspectRatio/AspectRatio.js +18 -0
  484. package/dist/components/layout/AspectRatio/AspectRatio.js.map +1 -0
  485. package/dist/components/layout/AspectRatio/AspectRatio.module.js +6 -0
  486. package/dist/components/layout/AspectRatio/AspectRatio.module.js.map +1 -0
  487. package/dist/components/layout/AspectRatio/index.d.ts +2 -0
  488. package/dist/components/layout/Box/Box.d.ts +29 -0
  489. package/dist/components/layout/Box/Box.js +26 -0
  490. package/dist/components/layout/Box/Box.js.map +1 -0
  491. package/dist/components/layout/Box/Box.module.js +6 -0
  492. package/dist/components/layout/Box/Box.module.js.map +1 -0
  493. package/dist/components/layout/Box/index.d.ts +2 -0
  494. package/dist/components/layout/Container/Container.d.ts +21 -0
  495. package/dist/components/layout/Container/Container.js +22 -0
  496. package/dist/components/layout/Container/Container.js.map +1 -0
  497. package/dist/components/layout/Container/Container.module.js +6 -0
  498. package/dist/components/layout/Container/Container.module.js.map +1 -0
  499. package/dist/components/layout/Container/index.d.ts +2 -0
  500. package/dist/components/layout/Divider/Divider.d.ts +28 -0
  501. package/dist/components/layout/Divider/Divider.js +35 -0
  502. package/dist/components/layout/Divider/Divider.js.map +1 -0
  503. package/dist/components/layout/Divider/Divider.module.js +9 -0
  504. package/dist/components/layout/Divider/Divider.module.js.map +1 -0
  505. package/dist/components/layout/Divider/index.d.ts +2 -0
  506. package/dist/components/layout/Grid/Grid.d.ts +50 -0
  507. package/dist/components/layout/Grid/Grid.js +35 -0
  508. package/dist/components/layout/Grid/Grid.js.map +1 -0
  509. package/dist/components/layout/Grid/Grid.module.js +9 -0
  510. package/dist/components/layout/Grid/Grid.module.js.map +1 -0
  511. package/dist/components/layout/Grid/index.d.ts +2 -0
  512. package/dist/components/layout/Inline/Inline.d.ts +24 -0
  513. package/dist/components/layout/Inline/Inline.js +25 -0
  514. package/dist/components/layout/Inline/Inline.js.map +1 -0
  515. package/dist/components/layout/Inline/Inline.module.js +6 -0
  516. package/dist/components/layout/Inline/Inline.module.js.map +1 -0
  517. package/dist/components/layout/Inline/index.d.ts +2 -0
  518. package/dist/components/layout/Section/Section.d.ts +30 -0
  519. package/dist/components/layout/Section/Section.js +25 -0
  520. package/dist/components/layout/Section/Section.js.map +1 -0
  521. package/dist/components/layout/Section/Section.module.js +6 -0
  522. package/dist/components/layout/Section/Section.module.js.map +1 -0
  523. package/dist/components/layout/Section/index.d.ts +2 -0
  524. package/dist/components/layout/Split/Split.d.ts +32 -0
  525. package/dist/components/layout/Split/Split.js +26 -0
  526. package/dist/components/layout/Split/Split.js.map +1 -0
  527. package/dist/components/layout/Split/Split.module.js +6 -0
  528. package/dist/components/layout/Split/Split.module.js.map +1 -0
  529. package/dist/components/layout/Split/index.d.ts +2 -0
  530. package/dist/components/layout/Stack/Stack.d.ts +21 -0
  531. package/dist/components/layout/Stack/Stack.js +25 -0
  532. package/dist/components/layout/Stack/Stack.js.map +1 -0
  533. package/dist/components/layout/Stack/Stack.module.js +6 -0
  534. package/dist/components/layout/Stack/Stack.module.js.map +1 -0
  535. package/dist/components/layout/Stack/index.d.ts +2 -0
  536. package/dist/components/layout/VisuallyHidden/VisuallyHidden.d.ts +20 -0
  537. package/dist/components/layout/VisuallyHidden/VisuallyHidden.js +17 -0
  538. package/dist/components/layout/VisuallyHidden/VisuallyHidden.js.map +1 -0
  539. package/dist/components/layout/VisuallyHidden/VisuallyHidden.module.js +6 -0
  540. package/dist/components/layout/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
  541. package/dist/components/layout/VisuallyHidden/index.d.ts +2 -0
  542. package/dist/components/navigation/Accordion/Accordion.d.ts +35 -0
  543. package/dist/components/navigation/Accordion/Accordion.js +68 -0
  544. package/dist/components/navigation/Accordion/Accordion.js.map +1 -0
  545. package/dist/components/navigation/Accordion/Accordion.module.js +17 -0
  546. package/dist/components/navigation/Accordion/Accordion.module.js.map +1 -0
  547. package/dist/components/navigation/Accordion/index.d.ts +2 -0
  548. package/dist/components/navigation/BottomNav/BottomNav.d.ts +42 -0
  549. package/dist/components/navigation/BottomNav/BottomNav.js +67 -0
  550. package/dist/components/navigation/BottomNav/BottomNav.js.map +1 -0
  551. package/dist/components/navigation/BottomNav/BottomNav.module.js +16 -0
  552. package/dist/components/navigation/BottomNav/BottomNav.module.js.map +1 -0
  553. package/dist/components/navigation/BottomNav/index.d.ts +2 -0
  554. package/dist/components/navigation/NavLinks/NavLinks.d.ts +32 -0
  555. package/dist/components/navigation/NavLinks/NavLinks.js +57 -0
  556. package/dist/components/navigation/NavLinks/NavLinks.js.map +1 -0
  557. package/dist/components/navigation/NavLinks/NavLinks.module.js +11 -0
  558. package/dist/components/navigation/NavLinks/NavLinks.module.js.map +1 -0
  559. package/dist/components/navigation/NavLinks/index.d.ts +2 -0
  560. package/dist/components/navigation/Stepper/Stepper.d.ts +45 -0
  561. package/dist/components/navigation/Stepper/Stepper.js +93 -0
  562. package/dist/components/navigation/Stepper/Stepper.js.map +1 -0
  563. package/dist/components/navigation/Stepper/Stepper.module.js +19 -0
  564. package/dist/components/navigation/Stepper/Stepper.module.js.map +1 -0
  565. package/dist/components/navigation/Stepper/index.d.ts +2 -0
  566. package/dist/components/navigation/Tabs/Tabs.d.ts +31 -0
  567. package/dist/components/navigation/Tabs/Tabs.js +47 -0
  568. package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
  569. package/dist/components/navigation/Tabs/Tabs.module.js +11 -0
  570. package/dist/components/navigation/Tabs/Tabs.module.js.map +1 -0
  571. package/dist/components/navigation/Tabs/index.d.ts +2 -0
  572. package/dist/components/overlays/Dialog/Dialog.d.ts +49 -0
  573. package/dist/components/overlays/Dialog/Dialog.js +97 -0
  574. package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
  575. package/dist/components/overlays/Dialog/Dialog.module.js +17 -0
  576. package/dist/components/overlays/Dialog/Dialog.module.js.map +1 -0
  577. package/dist/components/overlays/Dialog/index.d.ts +2 -0
  578. package/dist/components/overlays/DropdownMenu/DropdownMenu.d.ts +62 -0
  579. package/dist/components/overlays/DropdownMenu/DropdownMenu.js +172 -0
  580. package/dist/components/overlays/DropdownMenu/DropdownMenu.js.map +1 -0
  581. package/dist/components/overlays/DropdownMenu/DropdownMenu.module.js +19 -0
  582. package/dist/components/overlays/DropdownMenu/DropdownMenu.module.js.map +1 -0
  583. package/dist/components/overlays/DropdownMenu/index.d.ts +2 -0
  584. package/dist/components/overlays/OverlayClose.d.ts +7 -0
  585. package/dist/components/overlays/OverlayClose.js +20 -0
  586. package/dist/components/overlays/OverlayClose.js.map +1 -0
  587. package/dist/components/overlays/OverlayClose.module.js +6 -0
  588. package/dist/components/overlays/OverlayClose.module.js.map +1 -0
  589. package/dist/components/overlays/Popover/Popover.d.ts +31 -0
  590. package/dist/components/overlays/Popover/Popover.js +75 -0
  591. package/dist/components/overlays/Popover/Popover.js.map +1 -0
  592. package/dist/components/overlays/Popover/Popover.module.js +13 -0
  593. package/dist/components/overlays/Popover/Popover.module.js.map +1 -0
  594. package/dist/components/overlays/Popover/index.d.ts +2 -0
  595. package/dist/components/overlays/Sheet/Sheet.d.ts +56 -0
  596. package/dist/components/overlays/Sheet/Sheet.js +105 -0
  597. package/dist/components/overlays/Sheet/Sheet.js.map +1 -0
  598. package/dist/components/overlays/Sheet/Sheet.module.js +20 -0
  599. package/dist/components/overlays/Sheet/Sheet.module.js.map +1 -0
  600. package/dist/components/overlays/Sheet/index.d.ts +2 -0
  601. package/dist/components/overlays/Tooltip/Tooltip.d.ts +35 -0
  602. package/dist/components/overlays/Tooltip/Tooltip.js +64 -0
  603. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
  604. package/dist/components/overlays/Tooltip/Tooltip.module.js +11 -0
  605. package/dist/components/overlays/Tooltip/Tooltip.module.js.map +1 -0
  606. package/dist/components/overlays/Tooltip/index.d.ts +2 -0
  607. package/dist/components/overlays/usePortalTheme.d.ts +44 -0
  608. package/dist/components/overlays/usePortalTheme.js +62 -0
  609. package/dist/components/overlays/usePortalTheme.js.map +1 -0
  610. package/dist/components/typography/Amount/Amount.d.ts +27 -0
  611. package/dist/components/typography/Amount/Amount.js +67 -0
  612. package/dist/components/typography/Amount/Amount.js.map +1 -0
  613. package/dist/components/typography/Amount/Amount.module.js +6 -0
  614. package/dist/components/typography/Amount/Amount.module.js.map +1 -0
  615. package/dist/components/typography/Amount/index.d.ts +2 -0
  616. package/dist/components/typography/Code/Code.d.ts +13 -0
  617. package/dist/components/typography/Code/Code.js +18 -0
  618. package/dist/components/typography/Code/Code.js.map +1 -0
  619. package/dist/components/typography/Code/Code.module.js +6 -0
  620. package/dist/components/typography/Code/Code.module.js.map +1 -0
  621. package/dist/components/typography/Code/index.d.ts +2 -0
  622. package/dist/components/typography/Heading/Heading.d.ts +34 -0
  623. package/dist/components/typography/Heading/Heading.js +46 -0
  624. package/dist/components/typography/Heading/Heading.js.map +1 -0
  625. package/dist/components/typography/Heading/Heading.module.js +6 -0
  626. package/dist/components/typography/Heading/Heading.module.js.map +1 -0
  627. package/dist/components/typography/Heading/index.d.ts +4 -0
  628. package/dist/components/typography/Heading/sizes.d.ts +4 -0
  629. package/dist/components/typography/Heading/sizes.js +13 -0
  630. package/dist/components/typography/Heading/sizes.js.map +1 -0
  631. package/dist/components/typography/Kbd/Kbd.d.ts +11 -0
  632. package/dist/components/typography/Kbd/Kbd.js +18 -0
  633. package/dist/components/typography/Kbd/Kbd.js.map +1 -0
  634. package/dist/components/typography/Kbd/Kbd.module.js +6 -0
  635. package/dist/components/typography/Kbd/Kbd.module.js.map +1 -0
  636. package/dist/components/typography/Kbd/index.d.ts +2 -0
  637. package/dist/components/typography/Link/Link.d.ts +26 -0
  638. package/dist/components/typography/Link/Link.js +32 -0
  639. package/dist/components/typography/Link/Link.js.map +1 -0
  640. package/dist/components/typography/Link/Link.module.js +11 -0
  641. package/dist/components/typography/Link/Link.module.js.map +1 -0
  642. package/dist/components/typography/Link/index.d.ts +2 -0
  643. package/dist/components/typography/Numeral/Numeral.d.ts +29 -0
  644. package/dist/components/typography/Numeral/Numeral.js +41 -0
  645. package/dist/components/typography/Numeral/Numeral.js.map +1 -0
  646. package/dist/components/typography/Numeral/Numeral.module.js +9 -0
  647. package/dist/components/typography/Numeral/Numeral.module.js.map +1 -0
  648. package/dist/components/typography/Numeral/format.d.ts +16 -0
  649. package/dist/components/typography/Numeral/format.js +30 -0
  650. package/dist/components/typography/Numeral/format.js.map +1 -0
  651. package/dist/components/typography/Numeral/index.d.ts +4 -0
  652. package/dist/components/typography/Prose/Prose.d.ts +16 -0
  653. package/dist/components/typography/Prose/Prose.js +17 -0
  654. package/dist/components/typography/Prose/Prose.js.map +1 -0
  655. package/dist/components/typography/Prose/Prose.module.js +6 -0
  656. package/dist/components/typography/Prose/Prose.module.js.map +1 -0
  657. package/dist/components/typography/Prose/index.d.ts +2 -0
  658. package/dist/components/typography/Quote/Quote.d.ts +20 -0
  659. package/dist/components/typography/Quote/Quote.js +34 -0
  660. package/dist/components/typography/Quote/Quote.js.map +1 -0
  661. package/dist/components/typography/Quote/Quote.module.js +11 -0
  662. package/dist/components/typography/Quote/Quote.module.js.map +1 -0
  663. package/dist/components/typography/Quote/index.d.ts +2 -0
  664. package/dist/components/typography/SectionHeader/SectionHeader.d.ts +33 -0
  665. package/dist/components/typography/SectionHeader/SectionHeader.js +42 -0
  666. package/dist/components/typography/SectionHeader/SectionHeader.js.map +1 -0
  667. package/dist/components/typography/SectionHeader/SectionHeader.module.js +13 -0
  668. package/dist/components/typography/SectionHeader/SectionHeader.module.js.map +1 -0
  669. package/dist/components/typography/SectionHeader/index.d.ts +2 -0
  670. package/dist/components/typography/Text/Text.d.ts +35 -0
  671. package/dist/components/typography/Text/Text.js +27 -0
  672. package/dist/components/typography/Text/Text.js.map +1 -0
  673. package/dist/components/typography/Text/Text.module.js +6 -0
  674. package/dist/components/typography/Text/Text.module.js.map +1 -0
  675. package/dist/components/typography/Text/index.d.ts +2 -0
  676. package/dist/icons/Icon.d.ts +14 -0
  677. package/dist/icons/Icon.js +30 -0
  678. package/dist/icons/Icon.js.map +1 -0
  679. package/dist/icons/Icon.module.js +6 -0
  680. package/dist/icons/Icon.module.js.map +1 -0
  681. package/dist/icons/icons.d.ts +26 -0
  682. package/dist/icons/icons.js +63 -0
  683. package/dist/icons/icons.js.map +1 -0
  684. package/dist/icons/index.d.ts +3 -0
  685. package/dist/index.d.ts +225 -0
  686. package/dist/index.js +117 -0
  687. package/dist/styles.css +2 -0
  688. package/dist/stylesheets.d.ts +10 -0
  689. package/dist/theme/ThemeProvider.d.ts +52 -0
  690. package/dist/theme/ThemeProvider.js +86 -0
  691. package/dist/theme/ThemeProvider.js.map +1 -0
  692. package/dist/theme/context.d.ts +20 -0
  693. package/dist/theme/context.js +19 -0
  694. package/dist/theme/context.js.map +1 -0
  695. package/dist/theme/index.d.ts +6 -0
  696. package/dist/theme/themes.d.ts +31 -0
  697. package/dist/theme/themes.js +36 -0
  698. package/dist/theme/themes.js.map +1 -0
  699. package/dist/themes/fiesta.css +1 -0
  700. package/dist/themes/ledger.css +1 -0
  701. package/dist/themes/monograph.css +1 -0
  702. package/dist/utils/cx.d.ts +5 -0
  703. package/dist/utils/cx.js +8 -0
  704. package/dist/utils/cx.js.map +1 -0
  705. package/dist/utils/heading.d.ts +13 -0
  706. package/dist/utils/heading.js +16 -0
  707. package/dist/utils/heading.js.map +1 -0
  708. package/dist/utils/index.d.ts +7 -0
  709. package/dist/utils/responsive.d.ts +28 -0
  710. package/dist/utils/responsive.js +40 -0
  711. package/dist/utils/responsive.js.map +1 -0
  712. package/dist/utils/tokens.d.ts +18 -0
  713. package/dist/utils/tokens.js +6 -0
  714. package/dist/utils/tokens.js.map +1 -0
  715. package/dist/utils/visibility.d.ts +14 -0
  716. package/dist/utils/visibility.js +21 -0
  717. package/dist/utils/visibility.js.map +1 -0
  718. package/dist/utils/visibility.module.js +16 -0
  719. package/dist/utils/visibility.module.js.map +1 -0
  720. package/package.json +91 -0
  721. package/skills/custom-theme/SKILL.md +293 -0
  722. package/skills/custom-theme/references/colour.md +55 -0
  723. package/skills/custom-theme/references/motion.md +39 -0
  724. package/skills/custom-theme/references/tokens.md +199 -0
  725. package/skills/custom-theme/references/type.md +61 -0
  726. package/skills/design-rules/SKILL.md +74 -0
  727. package/skills/layout-composition/SKILL.md +498 -0
  728. package/skills/layout-composition/references/action-bar.md +59 -0
  729. package/skills/layout-composition/references/app-shell.md +141 -0
  730. package/skills/layout-composition/references/aspect-ratio.md +49 -0
  731. package/skills/layout-composition/references/box.md +49 -0
  732. package/skills/layout-composition/references/checkout.md +124 -0
  733. package/skills/layout-composition/references/container.md +59 -0
  734. package/skills/layout-composition/references/dashboard.md +163 -0
  735. package/skills/layout-composition/references/divider.md +59 -0
  736. package/skills/layout-composition/references/settings.md +134 -0
  737. package/skills/layout-composition/references/visually-hidden.md +41 -0
  738. package/skills/setup-and-theming/SKILL.md +197 -0
  739. package/skills/setup-and-theming/references/fiesta.md +32 -0
  740. package/skills/setup-and-theming/references/ledger.md +32 -0
  741. package/skills/setup-and-theming/references/monograph.md +39 -0
  742. package/skills/setup-and-theming/references/paper.md +35 -0
@@ -0,0 +1,40 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface LabelContentProps {
3
+ children: ReactNode;
4
+ required?: boolean;
5
+ /** `true` shows "Optional"; a string replaces the word (for other languages). */
6
+ optional?: boolean | string;
7
+ /** Shows a small spinner after the label — the field is `validating`. */
8
+ busy?: boolean;
9
+ }
10
+ /** The inside of a label: text, required mark, optional hint, validating spinner. */
11
+ export declare function LabelContent({ children, required, optional, busy }: LabelContentProps): import("react").JSX.Element;
12
+ export declare function FieldDescription({ id, className, children, }: {
13
+ id: string;
14
+ className?: string;
15
+ children: ReactNode;
16
+ }): import("react").JSX.Element;
17
+ /** Non-blocking advice. Never `role="alert"` — it doesn't interrupt like an error does. */
18
+ export declare function FieldWarning({ id, className, children, }: {
19
+ id: string;
20
+ className?: string;
21
+ children: ReactNode;
22
+ }): import("react").JSX.Element;
23
+ /**
24
+ * Error text. `live` (default `true`) gives it `role="alert"` so a message that appears
25
+ * after blur is announced; pass `false` once the form's `ErrorSummary` owns the
26
+ * announcement (it's still reachable via `aria-describedby` either way).
27
+ */
28
+ export declare function FieldError({ id, className, live, children, }: {
29
+ id: string;
30
+ className?: string;
31
+ live?: boolean;
32
+ children: ReactNode;
33
+ }): import("react").JSX.Element;
34
+ /** A `maxLength` character counter ("12 / 280"). Politely announced only near the limit. */
35
+ export declare function FieldCount({ id, className, live, children, }: {
36
+ id: string;
37
+ className?: string;
38
+ live?: boolean;
39
+ children: ReactNode;
40
+ }): import("react").JSX.Element;
@@ -0,0 +1,58 @@
1
+ import { cx as e } from "../../../utils/cx.js";
2
+ import { InfoIcon as t, WarningIcon as n } from "../../../icons/icons.js";
3
+ import { Spinner as r } from "../../feedback/Spinner/Spinner.js";
4
+ import i from "./messages.module.js";
5
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ //#region src/components/inputs/internal/messages.tsx
7
+ function c({ children: e, required: t, optional: n, busy: c }) {
8
+ return /* @__PURE__ */ s(a, { children: [
9
+ e,
10
+ t ? /* @__PURE__ */ o("span", {
11
+ className: i.required,
12
+ "aria-hidden": "true",
13
+ children: "*"
14
+ }) : n ? /* @__PURE__ */ o("span", {
15
+ className: i.optional,
16
+ children: n === !0 ? "Optional" : n
17
+ }) : null,
18
+ c ? /* @__PURE__ */ o(r, {
19
+ size: "sm",
20
+ label: null,
21
+ className: i.busy
22
+ }) : null
23
+ ] });
24
+ }
25
+ function l({ id: t, className: n, children: r }) {
26
+ return /* @__PURE__ */ o("div", {
27
+ id: t,
28
+ className: e(i.description, n),
29
+ children: r
30
+ });
31
+ }
32
+ function u({ id: n, className: r, children: a }) {
33
+ return /* @__PURE__ */ s("div", {
34
+ id: n,
35
+ className: e(i.warning, r),
36
+ children: [/* @__PURE__ */ o(t, { className: i.warningIcon }), /* @__PURE__ */ o("span", { children: a })]
37
+ });
38
+ }
39
+ function d({ id: t, className: r, live: a = !0, children: c }) {
40
+ return /* @__PURE__ */ s("div", {
41
+ id: t,
42
+ className: e(i.error, r),
43
+ role: a ? "alert" : void 0,
44
+ children: [/* @__PURE__ */ o(n, { className: i.errorIcon }), /* @__PURE__ */ o("span", { children: c })]
45
+ });
46
+ }
47
+ function f({ id: t, className: n, live: r, children: a }) {
48
+ return /* @__PURE__ */ o("div", {
49
+ id: t,
50
+ className: e(i.count, n),
51
+ "aria-live": r ? "polite" : void 0,
52
+ children: a
53
+ });
54
+ }
55
+ //#endregion
56
+ export { f as FieldCount, l as FieldDescription, d as FieldError, u as FieldWarning, c as LabelContent };
57
+
58
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","names":["_Fragment","styles","messages_module_default","LabelContent","Fragment","children","required","optional","busy","Spinner","FieldDescription","cx","className","FieldWarning","InfoIcon","FieldError","live","WarningIcon","FieldCount"],"sources":["../../../../src/components/inputs/internal/messages.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { InfoIcon, WarningIcon } from '#icons'\nimport { Spinner } from '#components/feedback/Spinner'\nimport { cx } from '#utils/cx'\nimport styles from './messages.module.css'\n\nexport interface LabelContentProps {\n children: ReactNode\n required?: boolean\n /** `true` shows \"Optional\"; a string replaces the word (for other languages). */\n optional?: boolean | string\n /** Shows a small spinner after the label — the field is `validating`. */\n busy?: boolean\n}\n\n/** The inside of a label: text, required mark, optional hint, validating spinner. */\nexport function LabelContent({ children, required, optional, busy }: LabelContentProps) {\n return (\n <>\n {children}\n {required ? (\n <span className={styles.required} aria-hidden=\"true\">\n *\n </span>\n ) : optional ? (\n <span className={styles.optional}>{optional === true ? 'Optional' : optional}</span>\n ) : null}\n {busy ? <Spinner size=\"sm\" label={null} className={styles.busy} /> : null}\n </>\n )\n}\n\nexport function FieldDescription({\n id,\n className,\n children,\n}: {\n id: string\n className?: string\n children: ReactNode\n}) {\n return (\n <div id={id} className={cx(styles.description, className)}>\n {children}\n </div>\n )\n}\n\n/** Non-blocking advice. Never `role=\"alert\"` — it doesn't interrupt like an error does. */\nexport function FieldWarning({\n id,\n className,\n children,\n}: {\n id: string\n className?: string\n children: ReactNode\n}) {\n return (\n <div id={id} className={cx(styles.warning, className)}>\n <InfoIcon className={styles.warningIcon} />\n <span>{children}</span>\n </div>\n )\n}\n\n/**\n * Error text. `live` (default `true`) gives it `role=\"alert\"` so a message that appears\n * after blur is announced; pass `false` once the form's `ErrorSummary` owns the\n * announcement (it's still reachable via `aria-describedby` either way).\n */\nexport function FieldError({\n id,\n className,\n live = true,\n children,\n}: {\n id: string\n className?: string\n live?: boolean\n children: ReactNode\n}) {\n return (\n <div id={id} className={cx(styles.error, className)} role={live ? 'alert' : undefined}>\n <WarningIcon className={styles.errorIcon} />\n <span>{children}</span>\n </div>\n )\n}\n\n/** A `maxLength` character counter (\"12 / 280\"). Politely announced only near the limit. */\nexport function FieldCount({\n id,\n className,\n live,\n children,\n}: {\n id: string\n className?: string\n live?: boolean\n children: ReactNode\n}) {\n return (\n <div id={id} className={cx(styles.count, className)} aria-live={live ? 'polite' : undefined}>\n {children}\n </div>\n )\n}\n"],"mappings":";;;;;;AAgBA,SAAgBG,EAAa,EAAE,aAAU,aAAU,aAAU,WAA2B;CACtF,OACE,kBAAAH,GAAA,EAAA,UAAA;EACGK;EACAC,IACC,kBAAC,QAAD;GAAM,WAAWL,EAAO;GAAU,eAAY;GAAO,UAAA;EAE/C,CAAA,IACJM,IACF,kBAAC,QAAD;GAAM,WAAWN,EAAO;GAAW,UAAAM,MAAa,KAAO,aAAaA;EAAe,CAAA,IACjF;EACHC,IAAO,kBAACC,GAAD;GAAS,MAAK;GAAK,OAAO;GAAM,WAAWR,EAAO;EAAO,CAAA,IAAI;CACrE,EAAA,CAAA;AAEN;AAEA,SAAgBS,EAAiB,EAC/B,OACA,cACA,eAKC;CACD,OACE,kBAAC,OAAD;EAAS;EAAI,WAAWC,EAAGV,EAAO,aAAaW,CAAS;EACrD;CACE,CAAA;AAET;AAGA,SAAgBC,EAAa,EAC3B,OACA,cACA,eAKC;CACD,OACE,kBAAC,OAAD;EAAS;EAAI,WAAWF,EAAGV,EAAO,SAASW,CAAS;EAApD,UAAA,CACE,kBAACE,GAAD,EAAU,WAAWb,EAAO,YAAc,CAAA,GAC1C,kBAAC,QAAD,EAAO,YAAe,CAAA,CACnB;;AAET;AAOA,SAAgBc,EAAW,EACzB,OACA,cACA,UAAO,IACP,eAMC;CACD,OACE,kBAAC,OAAD;EAAS;EAAI,WAAWJ,EAAGV,EAAO,OAAOW,CAAS;EAAG,MAAMI,IAAO,UAAU,KAAA;EAA5E,UAAA,CACE,kBAACC,GAAD,EAAa,WAAWhB,EAAO,UAAY,CAAA,GAC3C,kBAAC,QAAD,EAAO,YAAe,CAAA,CACnB;;AAET;AAGA,SAAgBiB,EAAW,EACzB,OACA,cACA,SACA,eAMC;CACD,OACE,kBAAC,OAAD;EAAS;EAAI,WAAWP,EAAGV,EAAO,OAAOW,CAAS;EAAG,aAAWI,IAAO,WAAW,KAAA;EAC/E;CACE,CAAA;AAET"}
@@ -0,0 +1,18 @@
1
+ //#region src/components/inputs/internal/messages.module.css
2
+ var e = "kiln-messages__label", t = "kiln-messages__required", n = "kiln-messages__optional", r = "kiln-messages__description", i = "kiln-messages__error", a = "kiln-messages__errorIcon", o = "kiln-messages__warning", s = "kiln-messages__warningIcon", c = "kiln-messages__busy", l = "kiln-messages__count", u = "kiln-messages__visuallyHidden", d = {
3
+ label: e,
4
+ required: t,
5
+ optional: n,
6
+ description: r,
7
+ error: i,
8
+ errorIcon: a,
9
+ warning: o,
10
+ warningIcon: s,
11
+ busy: c,
12
+ count: l,
13
+ visuallyHidden: u
14
+ };
15
+ //#endregion
16
+ export { c as busy, l as count, d as default, r as description, i as error, a as errorIcon, e as label, n as optional, t as required, u as visuallyHidden, o as warning, s as warningIcon };
17
+
18
+ //# sourceMappingURL=messages.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.module.js","names":["label","required","optional","description","error","errorIcon","warning","warningIcon","busy","count","visuallyHidden","messages_module_default"],"sources":["../../../../src/components/inputs/internal/messages.module.css"],"sourcesContent":["/*\n * Shared field text: label, description and error. Used by Field, Fieldset,\n * CheckboxField and RadioGroup items so every label in a form reads the same.\n *\n * Component tokens:\n * --field-label-size default var(--text-sm)\n * --field-description-size default var(--text-sm)\n */\n.label {\n display: inline-flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 0.35em;\n padding: 0;\n font-family: var(--font-text);\n font-size: var(--field-label-size, var(--text-sm));\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: var(--label-transform);\n line-height: var(--leading-snug);\n color: var(--color-ink);\n}\n\n/* Visual only — the control carries aria-required. Muted ink: required isn't an error. */\n.required {\n color: var(--color-ink-muted);\n font-weight: var(--label-weight);\n}\n\n.optional {\n color: var(--color-ink-subtle);\n font-weight: normal;\n letter-spacing: 0;\n text-transform: none;\n}\n\n.description {\n max-inline-size: 64ch;\n font-size: var(--field-description-size, var(--text-sm));\n line-height: var(--leading-snug);\n color: var(--color-ink-muted);\n text-wrap: pretty;\n}\n\n.error {\n display: flex;\n align-items: flex-start;\n gap: 0.4em;\n max-inline-size: 64ch;\n font-size: var(--field-description-size, var(--text-sm));\n font-weight: var(--label-weight);\n line-height: var(--leading-snug);\n color: var(--tone-critical-text);\n text-wrap: pretty;\n}\n\n/* Glyph sits on the first line's centre, not the block's. */\n.errorIcon {\n flex: none;\n block-size: 1lh;\n inline-size: 1.1em;\n}\n\n/* Non-blocking advice — same shape as .error, caution tone instead of critical. */\n.warning {\n display: flex;\n align-items: flex-start;\n gap: 0.4em;\n max-inline-size: 64ch;\n font-size: var(--field-description-size, var(--text-sm));\n line-height: var(--leading-snug);\n color: var(--tone-caution-text);\n text-wrap: pretty;\n}\n\n.warningIcon {\n flex: none;\n block-size: 1lh;\n inline-size: 1.1em;\n}\n\n/* validating spinner after the label text */\n.busy {\n flex: none;\n color: var(--color-ink-subtle);\n}\n\n/* maxLength counter under the control */\n.count {\n font-size: var(--field-description-size, var(--text-sm));\n color: var(--color-ink-subtle);\n font-variant-numeric: tabular-nums lining-nums;\n text-align: end;\n}\n\n.visuallyHidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n[data-disabled] > .label,\n[data-disabled] > * > .label,\n.label[data-disabled] {\n color: var(--color-ink-subtle);\n}\n"],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { type Ref, type RefCallback } from 'react';
2
+ /** Point several refs (callback or object) at one node. */
3
+ export declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T>;
4
+ /** `mergeRefs`, memoised so the callback (and each ref) stays stable across renders. */
5
+ export declare function useMergedRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T>;
6
+ /** Join id lists for `aria-describedby`, dropping blanks and duplicates. */
7
+ export declare function joinIds(...ids: (string | false | null | undefined)[]): string | undefined;
@@ -0,0 +1,19 @@
1
+ import { useMemo as e } from "react";
2
+ //#region src/components/inputs/internal/refs.ts
3
+ function t(...e) {
4
+ return (t) => {
5
+ for (let n of e) typeof n == "function" ? n(t) : n && (n.current = t);
6
+ };
7
+ }
8
+ function n(...n) {
9
+ return e(() => t(...n), n);
10
+ }
11
+ function r(...e) {
12
+ let t = /* @__PURE__ */ new Set();
13
+ for (let n of e) if (n) for (let e of n.split(/\s+/)) e && t.add(e);
14
+ return t.size > 0 ? [...t].join(" ") : void 0;
15
+ }
16
+ //#endregion
17
+ export { r as joinIds, t as mergeRefs, n as useMergedRefs };
18
+
19
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","names":["mergeRefs","refs","ref","node","useMergedRefs","useMemo","joinIds","ids","seen","group","id"],"sources":["../../../../src/components/inputs/internal/refs.ts"],"sourcesContent":["import { useMemo, type Ref, type RefCallback } from 'react'\n\n/** Point several refs (callback or object) at one node. */\nexport function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T> {\n return (node) => {\n for (const ref of refs) {\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: T | null }).current = node\n }\n }\n}\n\n/** `mergeRefs`, memoised so the callback (and each ref) stays stable across renders. */\nexport function useMergedRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps, react-hooks/use-memo -- the refs themselves are the deps: a changed ref gets a new callback, so React re-attaches the node\n return useMemo(() => mergeRefs(...refs), refs)\n}\n\n/** Join id lists for `aria-describedby`, dropping blanks and duplicates. */\nexport function joinIds(...ids: (string | false | null | undefined)[]): string | undefined {\n const seen = new Set<string>()\n for (const group of ids) {\n if (!group) continue\n for (const id of group.split(/\\s+/)) if (id) seen.add(id)\n }\n return seen.size > 0 ? [...seen].join(' ') : undefined\n}\n"],"mappings":";;AAGA,SAAgBA,EAAa,GAAGC,GAA8C;CAC5E,QAAQ,MAAS;EACf,KAAK,IAAMC,KAAOD,GAChB,AAAI,OAAOC,KAAQ,aAAYA,EAAIC,CAAI,IAC9BD,MAAK,EAA+B,UAAUC;CAE3D;AACF;AAGA,SAAgBC,EAAiB,GAAGH,GAA8C;CAEhF,OAAOI,QAAcL,EAAU,GAAGC,CAAI,GAAGA,CAAI;AAC/C;AAGA,SAAgBK,EAAQ,GAAGC,GAAgE;CACzF,IAAMC,oBAAO,IAAI,IAAY;CAC7B,KAAK,IAAMC,KAASF,GAClB,IAAKE,GACL,KAAK,IAAMC,KAAMD,EAAM,MAAM,KAAK,GAAG,AAAIC,KAAIF,EAAK,IAAIE,CAAE;CAE1D,OAAOF,EAAK,OAAO,IAAI,CAAC,GAAGA,CAAI,CAAC,CAAC,KAAK,GAAG,IAAI,KAAA;AAC/C"}
@@ -0,0 +1,4 @@
1
+ import type { SelectGroup, SelectOption } from '../Select/index.js';
2
+ export declare const taskCategories: SelectGroup[];
3
+ export declare const periods: SelectOption[];
4
+ export declare const countryGroups: SelectGroup[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A ref that always holds the latest `value`, updated after render. Lets a stable callback
3
+ * call the newest `onChange` without being re-created every render.
4
+ */
5
+ export declare function useLatest<T>(value: T): {
6
+ readonly current: T;
7
+ };
@@ -0,0 +1,13 @@
1
+ import { useEffect as e, useLayoutEffect as t, useRef as n } from "react";
2
+ //#region src/components/inputs/internal/useLatest.ts
3
+ var r = typeof document > "u" ? e : t;
4
+ function i(e) {
5
+ let t = n(e);
6
+ return r(() => {
7
+ t.current = e;
8
+ }), t;
9
+ }
10
+ //#endregion
11
+ export { i as useLatest };
12
+
13
+ //# sourceMappingURL=useLatest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLatest.js","names":["useIsomorphicLayoutEffect","useEffect","useLayoutEffect","useLatest","ref","useRef","value"],"sources":["../../../../src/components/inputs/internal/useLatest.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react'\n\n// Layout effects warn during server rendering; on the server there's nothing to sync anyway.\nconst useIsomorphicLayoutEffect = typeof document === 'undefined' ? useEffect : useLayoutEffect\n\n/**\n * A ref that always holds the latest `value`, updated after render. Lets a stable callback\n * call the newest `onChange` without being re-created every render.\n */\nexport function useLatest<T>(value: T): { readonly current: T } {\n const ref = useRef(value)\n useIsomorphicLayoutEffect(() => {\n ref.current = value\n })\n return ref\n}\n"],"mappings":";;AAGA,IAAMA,IAA4B,OAAO,WAAa,MAAcC,IAAYC;AAMhF,SAAgBC,EAAa,GAAmC;CAC9D,IAAMC,IAAMC,EAAOC,CAAK;CAIxB,OAHAN,QAAgC;EAC9B,EAAI,UAAUM;CAChB,CAAC,GACMF;AACT"}
@@ -0,0 +1,30 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type Responsive } from '../../../utils/responsive.js';
3
+ import { type Space } from '../../../utils/tokens.js';
4
+ import { type VisibilityProps } from '../../../utils/visibility.js';
5
+ export type ActionBarElement = 'div' | 'footer';
6
+ export type ActionBarAlign = 'start' | 'end' | 'between';
7
+ export interface ActionBarProps extends HTMLAttributes<HTMLElement>, VisibilityProps {
8
+ /** Where the actions sit on the row. Default `end`. */
9
+ align?: ActionBarAlign;
10
+ /**
11
+ * Pins the bar to the bottom of its scroll container — a canvas surface above a top
12
+ * hairline, at `--z-sticky`. Use inside a scrolling form/dialog body so the primary
13
+ * action stays reachable.
14
+ */
15
+ sticky?: boolean;
16
+ /** Space between actions. Responsive. Default `3`. */
17
+ gap?: Responsive<Space>;
18
+ /** Render as `footer` when the bar is the form's own closing landmark. Default `div`. */
19
+ as?: ActionBarElement;
20
+ }
21
+ /**
22
+ * A row of form/dialog actions — Cancel, Save, Submit. Composes with `Button`; doesn't
23
+ * lay out anything else itself.
24
+ *
25
+ * <ActionBar sticky>
26
+ * <Button variant="ghost">Back</Button>
27
+ * <Button>Continue</Button>
28
+ * </ActionBar>
29
+ */
30
+ export declare const ActionBar: import("react").ForwardRefExoticComponent<ActionBarProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,25 @@
1
+ import { cx as e } from "../../../utils/cx.js";
2
+ import { mergeStyles as t, responsiveVars as n } from "../../../utils/responsive.js";
3
+ import { space as r } from "../../../utils/tokens.js";
4
+ import { visibilityClass as i } from "../../../utils/visibility.js";
5
+ import a from "./ActionBar.module.js";
6
+ import { forwardRef as o } from "react";
7
+ import { jsx as s } from "react/jsx-runtime";
8
+ //#region src/components/layout/ActionBar/ActionBar.tsx
9
+ var c = o(function({ align: o = "end", sticky: c = !1, gap: l, as: u = "div", hideBelow: d, hideAbove: f, className: p, style: m, ...h }, g) {
10
+ return /* @__PURE__ */ s(u, {
11
+ ref: g,
12
+ className: e(a.bar, i({
13
+ hideBelow: d,
14
+ hideAbove: f
15
+ }), p),
16
+ "data-align": o,
17
+ "data-sticky": c || void 0,
18
+ style: t(n("action-bar-gap", l, r), m),
19
+ ...h
20
+ });
21
+ });
22
+ //#endregion
23
+ export { c as ActionBar };
24
+
25
+ //# sourceMappingURL=ActionBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.js","names":["styles","ActionBar_module_default","ActionBar","forwardRef","Comp","rest","cx","visibilityClass","className","align","sticky","mergeStyles","responsiveVars","gap","space","style"],"sources":["../../../../src/components/layout/ActionBar/ActionBar.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport { mergeStyles, responsiveVars, type Responsive } from '#utils/responsive'\nimport { space, type Space } from '#utils/tokens'\nimport { visibilityClass, type VisibilityProps } from '#utils/visibility'\nimport styles from './ActionBar.module.css'\n\nexport type ActionBarElement = 'div' | 'footer'\nexport type ActionBarAlign = 'start' | 'end' | 'between'\n\nexport interface ActionBarProps extends HTMLAttributes<HTMLElement>, VisibilityProps {\n /** Where the actions sit on the row. Default `end`. */\n align?: ActionBarAlign\n /**\n * Pins the bar to the bottom of its scroll container — a canvas surface above a top\n * hairline, at `--z-sticky`. Use inside a scrolling form/dialog body so the primary\n * action stays reachable.\n */\n sticky?: boolean\n /** Space between actions. Responsive. Default `3`. */\n gap?: Responsive<Space>\n /** Render as `footer` when the bar is the form's own closing landmark. Default `div`. */\n as?: ActionBarElement\n}\n\n/**\n * A row of form/dialog actions — Cancel, Save, Submit. Composes with `Button`; doesn't\n * lay out anything else itself.\n *\n * <ActionBar sticky>\n * <Button variant=\"ghost\">Back</Button>\n * <Button>Continue</Button>\n * </ActionBar>\n */\nexport const ActionBar = forwardRef<HTMLElement, ActionBarProps>(function ActionBar(\n {\n align = 'end',\n sticky = false,\n gap,\n as: Comp = 'div',\n hideBelow,\n hideAbove,\n className,\n style,\n ...rest\n },\n ref,\n) {\n return (\n <Comp\n // @ts-expect-error — polymorphic ref across a union of intrinsic elements is safe here\n ref={ref}\n className={cx(styles.bar, visibilityClass({ hideBelow, hideAbove }), className)}\n data-align={align}\n data-sticky={sticky || undefined}\n style={mergeStyles(responsiveVars('action-bar-gap', gap, space), style)}\n {...rest}\n />\n )\n})\n"],"mappings":";;;;;;;;AAkCA,IAAaE,IAAYC,EAAwC,SAC/D,EACE,WAAQ,OACR,YAAS,IACT,QACA,IAAIC,IAAO,OACX,cACA,cACA,cACA,UACA,GAAGC,KAEL,GACA;CACA,OACE,kBAACD,GAAD;EAEO;EACL,WAAWE,EAAGN,EAAO,KAAKO,EAAgB;GAAE;GAAW;EAAU,CAAC,GAAGC,CAAS;EAC9E,cAAYC;EACZ,eAAaC,KAAU,KAAA;EACvB,OAAOC,EAAYC,EAAe,kBAAkBC,GAAKC,CAAK,GAAGC,CAAK;EACtE,GAAIV;CACL,CAAA;AAEL,CAAC"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/layout/ActionBar/ActionBar.module.css
2
+ var e = "kiln-ActionBar__bar", t = { bar: e };
3
+ //#endregion
4
+ export { e as bar, t as default };
5
+
6
+ //# sourceMappingURL=ActionBar.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.module.js","names":["bar","ActionBar_module_default"],"sources":["../../../../src/components/layout/ActionBar/ActionBar.module.css"],"sourcesContent":["/*\n * Component tokens:\n * --action-bar-surface sticky background, default var(--color-surface)\n * --action-bar-line sticky top hairline, default var(--color-line)\n *\n * Responsive prop: gap → --action-bar-gap-{base,sm,md,lg,xl} (registered in\n * tokens/responsive-props.css), same cascade pattern as layout/Inline.\n */\n.bar {\n --_gap: var(--action-bar-gap-base, var(--space-3));\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n column-gap: var(--_gap);\n row-gap: var(--space-2);\n min-inline-size: 0;\n}\n\n.bar[data-align='start'] {\n justify-content: flex-start;\n}\n.bar[data-align='end'] {\n justify-content: flex-end;\n}\n.bar[data-align='between'] {\n justify-content: space-between;\n}\n\n.bar[data-sticky] {\n position: sticky;\n inset-block-end: 0;\n z-index: var(--z-sticky);\n padding-block: var(--space-3);\n border-block-start: var(--border-width) solid var(--action-bar-line, var(--color-line));\n background: var(--action-bar-surface, var(--color-surface));\n}\n\n@media (min-width: 40em) {\n .bar {\n --_gap: var(--action-bar-gap-sm, var(--space-3));\n }\n}\n@media (min-width: 48em) {\n .bar {\n --_gap: var(--action-bar-gap-md, var(--space-3));\n }\n}\n@media (min-width: 64em) {\n .bar {\n --_gap: var(--action-bar-gap-lg, var(--space-3));\n }\n}\n@media (min-width: 80em) {\n .bar {\n --_gap: var(--action-bar-gap-xl, var(--space-3));\n }\n}\n\n/* `hidden` wins over the display above (author CSS otherwise beats the UA [hidden] rule). */\n.bar[hidden] {\n display: none;\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { ActionBar } from './ActionBar.js';
2
+ export type { ActionBarProps, ActionBarAlign, ActionBarElement } from './ActionBar.js';
@@ -0,0 +1,33 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ export type AppShellNavBreakpoint = 'md' | 'lg';
3
+ export interface AppShellProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Text of the skip link rendered before everything else. Default "Skip to content". */
5
+ skipLinkLabel?: string;
6
+ /**
7
+ * Where navigation hands over from phone to desktop: from this breakpoint up the
8
+ * `Sidebar` appears and the `BottomBar` is removed, so there is never a width with
9
+ * neither. `md` (48em) or `lg` (64em, default). Pair it with the same value on
10
+ * `BottomNav hideAbove` and header `NavLinks hideBelow`.
11
+ */
12
+ navBreakpoint?: AppShellNavBreakpoint;
13
+ /** Id given to `AppShell.Main` (the skip link target). Generated when omitted. */
14
+ mainId?: string;
15
+ }
16
+ export interface AppShellHeaderProps extends HTMLAttributes<HTMLElement> {
17
+ /** Stick to the top of the viewport while scrolling. Default `true`. */
18
+ sticky?: boolean;
19
+ }
20
+ export type AppShellMainProps = Omit<HTMLAttributes<HTMLElement>, 'id'>;
21
+ export interface AppShellSidebarProps extends HTMLAttributes<HTMLElement> {
22
+ /** Which side of Main it sits on. Logical, so it follows writing direction. Default `start`. */
23
+ side?: 'start' | 'end';
24
+ }
25
+ export type AppShellFooterProps = HTMLAttributes<HTMLElement>;
26
+ export type AppShellBottomBarProps = HTMLAttributes<HTMLDivElement>;
27
+ export declare const AppShell: import("react").ForwardRefExoticComponent<AppShellProps & import("react").RefAttributes<HTMLDivElement>> & {
28
+ Header: import("react").ForwardRefExoticComponent<AppShellHeaderProps & import("react").RefAttributes<HTMLElement>>;
29
+ Main: import("react").ForwardRefExoticComponent<AppShellMainProps & import("react").RefAttributes<HTMLElement>>;
30
+ Sidebar: import("react").ForwardRefExoticComponent<AppShellSidebarProps & import("react").RefAttributes<HTMLElement>>;
31
+ Footer: import("react").ForwardRefExoticComponent<AppShellFooterProps & import("react").RefAttributes<HTMLElement>>;
32
+ BottomBar: import("react").ForwardRefExoticComponent<AppShellBottomBarProps & import("react").RefAttributes<HTMLDivElement>>;
33
+ };
@@ -0,0 +1,70 @@
1
+ import { cx as e } from "../../../utils/cx.js";
2
+ import { VisuallyHidden as t } from "../VisuallyHidden/VisuallyHidden.js";
3
+ import n from "./AppShell.module.js";
4
+ import { createContext as r, forwardRef as i, useContext as a, useId as o } from "react";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/components/layout/AppShell/AppShell.tsx
7
+ var l = r(null), u = i(function({ skipLinkLabel: r = "Skip to content", mainId: i, navBreakpoint: a = "lg", className: u, children: d, ...f }, p) {
8
+ let m = `app-main-${o().replace(/[^\w-]/g, "")}`, h = i ?? m;
9
+ return /* @__PURE__ */ s(l.Provider, {
10
+ value: { mainId: h },
11
+ children: /* @__PURE__ */ c("div", {
12
+ ref: p,
13
+ className: e(n.shell, u),
14
+ "data-nav-breakpoint": a,
15
+ ...f,
16
+ children: [/* @__PURE__ */ s(t, {
17
+ as: "a",
18
+ href: `#${h}`,
19
+ focusable: !0,
20
+ className: n.skip,
21
+ children: r
22
+ }), d]
23
+ })
24
+ });
25
+ }), d = i(function({ sticky: t = !0, className: r, ...i }, a) {
26
+ return /* @__PURE__ */ s("header", {
27
+ ref: a,
28
+ className: e(n.header, r),
29
+ "data-sticky": t || void 0,
30
+ ...i
31
+ });
32
+ }), f = i(function({ className: t, ...r }, i) {
33
+ let o = a(l);
34
+ return /* @__PURE__ */ s("main", {
35
+ ref: i,
36
+ id: o?.mainId,
37
+ tabIndex: -1,
38
+ className: e(n.main, t),
39
+ ...r
40
+ });
41
+ }), p = i(function({ side: t = "start", className: r, ...i }, a) {
42
+ return /* @__PURE__ */ s("aside", {
43
+ ref: a,
44
+ className: e(n.sidebar, r),
45
+ "data-side": t,
46
+ ...i
47
+ });
48
+ }), m = i(function({ className: t, ...r }, i) {
49
+ return /* @__PURE__ */ s("footer", {
50
+ ref: i,
51
+ className: e(n.footer, t),
52
+ ...r
53
+ });
54
+ }), h = i(function({ className: t, ...r }, i) {
55
+ return /* @__PURE__ */ s("div", {
56
+ ref: i,
57
+ className: e(n.bottomBar, t),
58
+ ...r
59
+ });
60
+ }), g = Object.assign(u, {
61
+ Header: d,
62
+ Main: f,
63
+ Sidebar: p,
64
+ Footer: m,
65
+ BottomBar: h
66
+ });
67
+ //#endregion
68
+ export { g as AppShell };
69
+
70
+ //# sourceMappingURL=AppShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.js","names":["styles","AppShell_module_default","ShellContext","createContext","AppShellRoot","forwardRef","rest","generated","useId","id","mainId","cx","className","navBreakpoint","VisuallyHidden","skipLinkLabel","children","Header","sticky","Main","ctx","useContext","Sidebar","side","Footer","BottomBar","AppShell"],"sources":["../../../../src/components/layout/AppShell/AppShell.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, useId, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport { VisuallyHidden } from '#components/layout/VisuallyHidden'\nimport styles from './AppShell.module.css'\n\nconst ShellContext = createContext<{ mainId: string } | null>(null)\n\nexport type AppShellNavBreakpoint = 'md' | 'lg'\n\nexport interface AppShellProps extends HTMLAttributes<HTMLDivElement> {\n /** Text of the skip link rendered before everything else. Default \"Skip to content\". */\n skipLinkLabel?: string\n /**\n * Where navigation hands over from phone to desktop: from this breakpoint up the\n * `Sidebar` appears and the `BottomBar` is removed, so there is never a width with\n * neither. `md` (48em) or `lg` (64em, default). Pair it with the same value on\n * `BottomNav hideAbove` and header `NavLinks hideBelow`.\n */\n navBreakpoint?: AppShellNavBreakpoint\n /** Id given to `AppShell.Main` (the skip link target). Generated when omitted. */\n mainId?: string\n}\n\n/**\n * The frame of an app screen: header, optional sidebar, main, footer, and a\n * mobile-only bottom bar. Slots place themselves; order in JSX doesn't matter,\n * but keep DOM order = reading order (Header, Sidebar, Main, Footer, BottomBar).\n * `navBreakpoint` decides where the bottom bar gives way to the sidebar / header nav.\n *\n * <AppShell navBreakpoint=\"md\">\n * <AppShell.Header>… <NavLinks hideBelow=\"md\">…</NavLinks></AppShell.Header>\n * <AppShell.Main>…</AppShell.Main>\n * <AppShell.BottomBar><BottomNav position=\"static\" hideAbove=\"md\">…</BottomNav></AppShell.BottomBar>\n * </AppShell>\n */\nconst AppShellRoot = forwardRef<HTMLDivElement, AppShellProps>(function AppShell(\n { skipLinkLabel = 'Skip to content', mainId, navBreakpoint = 'lg', className, children, ...rest },\n ref,\n) {\n const generated = `app-main-${useId().replace(/[^\\w-]/g, '')}`\n const id = mainId ?? generated\n return (\n <ShellContext.Provider value={{ mainId: id }}>\n <div\n ref={ref}\n className={cx(styles.shell, className)}\n data-nav-breakpoint={navBreakpoint}\n {...rest}\n >\n <VisuallyHidden as=\"a\" href={`#${id}`} focusable className={styles.skip}>\n {skipLinkLabel}\n </VisuallyHidden>\n {children}\n </div>\n </ShellContext.Provider>\n )\n})\n\nexport interface AppShellHeaderProps extends HTMLAttributes<HTMLElement> {\n /** Stick to the top of the viewport while scrolling. Default `true`. */\n sticky?: boolean\n}\n\n/** The top bar: canvas-coloured, hairline below. Put a `Container` + `Inline` inside. */\nconst Header = forwardRef<HTMLElement, AppShellHeaderProps>(function AppShellHeader(\n { sticky = true, className, ...rest },\n ref,\n) {\n return (\n <header\n ref={ref}\n className={cx(styles.header, className)}\n data-sticky={sticky || undefined}\n {...rest}\n />\n )\n})\n\nexport type AppShellMainProps = Omit<HTMLAttributes<HTMLElement>, 'id'>\n\n/** The page's `<main>` landmark and the skip link's target. Its id comes from `AppShell`. */\nconst Main = forwardRef<HTMLElement, AppShellMainProps>(function AppShellMain(\n { className, ...rest },\n ref,\n) {\n const ctx = useContext(ShellContext)\n return (\n <main\n ref={ref}\n id={ctx?.mainId}\n tabIndex={-1}\n className={cx(styles.main, className)}\n {...rest}\n />\n )\n})\n\nexport interface AppShellSidebarProps extends HTMLAttributes<HTMLElement> {\n /** Which side of Main it sits on. Logical, so it follows writing direction. Default `start`. */\n side?: 'start' | 'end'\n}\n\n/** Navigation or context beside Main. Shown from the shell's `navBreakpoint` up only (default `lg`, 64em). */\nconst Sidebar = forwardRef<HTMLElement, AppShellSidebarProps>(function AppShellSidebar(\n { side = 'start', className, ...rest },\n ref,\n) {\n return <aside ref={ref} className={cx(styles.sidebar, className)} data-side={side} {...rest} />\n})\n\nexport type AppShellFooterProps = HTMLAttributes<HTMLElement>\n\n/** The page footer: a hairline above, quieter ink. */\nconst Footer = forwardRef<HTMLElement, AppShellFooterProps>(function AppShellFooter(\n { className, ...rest },\n ref,\n) {\n return <footer ref={ref} className={cx(styles.footer, className)} {...rest} />\n})\n\nexport type AppShellBottomBarProps = HTMLAttributes<HTMLDivElement>\n\n/**\n * A region pinned to the bottom of the viewport on small screens and removed from the\n * shell's `navBreakpoint` up (default `lg`, 64em). Pads for the home indicator (`safe-area-inset-bottom`). Holds a\n * `BottomNav` or a single primary action.\n */\nconst BottomBar = forwardRef<HTMLDivElement, AppShellBottomBarProps>(function AppShellBottomBar(\n { className, ...rest },\n ref,\n) {\n return <div ref={ref} className={cx(styles.bottomBar, className)} {...rest} />\n})\n\nexport const AppShell = Object.assign(AppShellRoot, { Header, Main, Sidebar, Footer, BottomBar })\n"],"mappings":";;;;;;AAKA,IAAME,IAAeC,EAAyC,IAAI,GA8B5DC,IAAeC,EAA0C,SAC7D,EAAE,mBAAgB,mBAAmB,WAAQ,mBAAgB,MAAM,cAAW,aAAU,GAAGC,KAC3F,GACA;CACA,IAAMC,IAAY,YAAYC,EAAM,CAAC,CAAC,QAAQ,WAAW,EAAE,KACrDC,IAAKC,KAAUH;CACrB,OACE,kBAACL,EAAa,UAAd;EAAuB,OAAO,EAAE,QAAQO,EAAG;EACzC,UAAA,kBAAC,OAAD;GACO;GACL,WAAWE,EAAGX,EAAO,OAAOY,CAAS;GACrC,uBAAqBC;GACrB,GAAIP;GAJN,UAAA,CAME,kBAACQ,GAAD;IAAgB,IAAG;IAAI,MAAM,IAAIL;IAAM,WAAA;IAAU,WAAWT,EAAO;IAChE,UAAAe;GACa,CAAA,GACfC,CACE;;CACgB,CAAA;AAE3B,CAAC,GAQKC,IAASZ,EAA6C,SAC1D,EAAE,YAAS,IAAM,cAAW,GAAGC,KAC/B,GACA;CACA,OACE,kBAAC,UAAD;EACO;EACL,WAAWK,EAAGX,EAAO,QAAQY,CAAS;EACtC,eAAaM,KAAU,KAAA;EACvB,GAAIZ;CACL,CAAA;AAEL,CAAC,GAKKa,IAAOd,EAA2C,SACtD,EAAE,cAAW,GAAGC,KAChB,GACA;CACA,IAAMc,IAAMC,EAAWnB,CAAY;CACnC,OACE,kBAAC,QAAD;EACO;EACL,IAAIkB,GAAK;EACT,UAAU;EACV,WAAWT,EAAGX,EAAO,MAAMY,CAAS;EACpC,GAAIN;CACL,CAAA;AAEL,CAAC,GAQKgB,IAAUjB,EAA8C,SAC5D,EAAE,UAAO,SAAS,cAAW,GAAGC,KAChC,GACA;CACA,OAAO,kBAAC,SAAD;EAAY;EAAK,WAAWK,EAAGX,EAAO,SAASY,CAAS;EAAG,aAAWW;EAAM,GAAIjB;CAAO,CAAA;AAChG,CAAC,GAKKkB,IAASnB,EAA6C,SAC1D,EAAE,cAAW,GAAGC,KAChB,GACA;CACA,OAAO,kBAAC,UAAD;EAAa;EAAK,WAAWK,EAAGX,EAAO,QAAQY,CAAS;EAAG,GAAIN;CAAO,CAAA;AAC/E,CAAC,GASKmB,IAAYpB,EAAmD,SACnE,EAAE,cAAW,GAAGC,KAChB,GACA;CACA,OAAO,kBAAC,OAAD;EAAU;EAAK,WAAWK,EAAGX,EAAO,WAAWY,CAAS;EAAG,GAAIN;CAAO,CAAA;AAC/E,CAAC,GAEYoB,IAAW,OAAO,OAAOtB,GAAc;CAAE;CAAQ;CAAM;CAAS;CAAQ;AAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ //#region src/components/layout/AppShell/AppShell.module.css
2
+ var e = "kiln-AppShell__shell", t = "kiln-AppShell__header", n = "kiln-AppShell__skip", r = "kiln-AppShell__main", i = "kiln-AppShell__sidebar", a = "kiln-AppShell__footer", o = "kiln-AppShell__bottomBar", s = {
3
+ shell: e,
4
+ header: t,
5
+ skip: n,
6
+ main: r,
7
+ sidebar: i,
8
+ footer: a,
9
+ bottomBar: o
10
+ };
11
+ //#endregion
12
+ export { o as bottomBar, s as default, a as footer, t as header, r as main, e as shell, i as sidebar, n as skip };
13
+
14
+ //# sourceMappingURL=AppShell.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.module.js","names":["shell","header","skip","main","sidebar","footer","bottomBar","AppShell_module_default"],"sources":["../../../../src/components/layout/AppShell/AppShell.module.css"],"sourcesContent":["/*\n * Component tokens:\n * --app-shell-header-height minimum header height, also the sidebar's sticky offset\n * (default: control-lg + space-4)\n * --app-shell-sidebar-width default 16rem\n * --app-shell-header-bg default var(--color-canvas) — opaque, never glass\n * --app-shell-bar-rule rule under the header / above the bottom bar\n * (default var(--color-line-strong): these are the frame's edges)\n *\n * The bottom bar is `position: sticky` as the grid's last row rather than `fixed`, so\n * nothing needs a magic padding to stop it covering the end of Main.\n */\n.shell {\n --app-shell-sticky-offset: 0px;\n\n position: relative;\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: auto 1fr auto auto;\n grid-template-areas:\n 'header'\n 'main'\n 'footer'\n 'bottombar';\n min-block-size: 100dvh;\n}\n\n.shell:has(> .header[data-sticky]) {\n --app-shell-sticky-offset: var(\n --app-shell-header-height,\n calc(var(--control-lg) + var(--space-4))\n );\n}\n\n/* Skip link: clipped until focused, then a pill in the top corner above everything. */\n.skip {\n position: absolute;\n inset-block-start: var(--space-3);\n inset-inline-start: var(--space-3);\n z-index: var(--z-toast);\n padding: var(--space-2) var(--space-4);\n border: var(--border-width) solid var(--color-line-strong);\n border-radius: var(--radius-action);\n background: var(--color-surface-raised);\n box-shadow: var(--shadow-float);\n color: var(--color-ink);\n font-size: var(--text-sm);\n font-weight: var(--label-weight);\n text-decoration: none;\n}\n\n.header {\n grid-area: header;\n display: flex;\n align-items: center;\n min-block-size: var(--app-shell-header-height, calc(var(--control-lg) + var(--space-4)));\n min-inline-size: 0;\n padding-block: var(--space-2);\n border-block-end: var(--border-width) solid var(--app-shell-bar-rule, var(--color-line-strong));\n background-color: var(--app-shell-header-bg, var(--color-canvas));\n background-image: var(--canvas-image);\n background-size: var(--canvas-image-size);\n color: var(--color-ink);\n}\n.header > * {\n flex: 1 1 auto;\n min-inline-size: 0;\n}\n.header[data-sticky] {\n position: sticky;\n inset-block-start: 0;\n z-index: var(--z-sticky);\n}\n\n.main {\n grid-area: main;\n min-inline-size: 0;\n}\n.main:focus {\n outline: none;\n}\n\n.sidebar {\n grid-area: sidebar;\n display: none;\n min-inline-size: 0;\n}\n\n.footer {\n grid-area: footer;\n min-inline-size: 0;\n padding-block: var(--space-6);\n border-block-start: var(--border-width) solid var(--color-line);\n color: var(--color-ink-muted);\n font-size: var(--text-sm);\n}\n\n.bottomBar {\n grid-area: bottombar;\n position: sticky;\n inset-block-end: 0;\n z-index: var(--z-sticky);\n min-inline-size: 0;\n padding-block-end: env(safe-area-inset-bottom, 0px);\n border-block-start: var(--border-width) solid var(--app-shell-bar-rule, var(--color-line-strong));\n background-color: var(--app-shell-header-bg, var(--color-canvas));\n background-image: var(--canvas-image);\n background-size: var(--canvas-image-size);\n}\n\n/*\n * Nav hand-over. `data-nav-breakpoint` (md | lg) on the shell decides where the bottom\n * bar goes and the sidebar arrives — one breakpoint for both, so no width has neither.\n */\n.sidebar {\n position: sticky;\n inset-block-start: var(--app-shell-sticky-offset);\n align-self: start;\n block-size: calc(100dvh - var(--app-shell-sticky-offset));\n overflow-y: auto;\n overscroll-behavior: contain;\n padding: var(--space-5) var(--space-4);\n}\n.sidebar[data-side='start'] {\n border-inline-end: var(--border-width) solid var(--color-line);\n}\n.sidebar[data-side='end'] {\n border-inline-start: var(--border-width) solid var(--color-line);\n}\n\n@media (min-width: 48em) {\n .shell[data-nav-breakpoint='md'] > .bottomBar {\n display: none;\n }\n .shell[data-nav-breakpoint='md'] > .sidebar {\n display: block;\n }\n .shell[data-nav-breakpoint='md']:has(> .sidebar) {\n grid-template-columns: var(--app-shell-sidebar-width, 16rem) minmax(0, 1fr);\n grid-template-areas:\n 'header header'\n 'sidebar main'\n 'sidebar footer'\n 'bottombar bottombar';\n }\n .shell[data-nav-breakpoint='md']:has(> .sidebar[data-side='end']) {\n grid-template-columns: minmax(0, 1fr) var(--app-shell-sidebar-width, 16rem);\n grid-template-areas:\n 'header header'\n 'main sidebar'\n 'footer sidebar'\n 'bottombar bottombar';\n }\n}\n\n@media (min-width: 64em) {\n .shell[data-nav-breakpoint='lg'] > .bottomBar {\n display: none;\n }\n .shell[data-nav-breakpoint='lg'] > .sidebar {\n display: block;\n }\n .shell[data-nav-breakpoint='lg']:has(> .sidebar) {\n grid-template-columns: var(--app-shell-sidebar-width, 16rem) minmax(0, 1fr);\n grid-template-areas:\n 'header header'\n 'sidebar main'\n 'sidebar footer'\n 'bottombar bottombar';\n }\n .shell[data-nav-breakpoint='lg']:has(> .sidebar[data-side='end']) {\n grid-template-columns: minmax(0, 1fr) var(--app-shell-sidebar-width, 16rem);\n grid-template-areas:\n 'header header'\n 'main sidebar'\n 'footer sidebar'\n 'bottombar bottombar';\n }\n}\n\n/* `hidden` wins over the display above (author CSS otherwise beats the UA [hidden] rule). */\n.shell[hidden] {\n display: none;\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { AppShell } from './AppShell.js';
2
+ export type { AppShellProps, AppShellHeaderProps, AppShellMainProps, AppShellSidebarProps, AppShellFooterProps, AppShellBottomBarProps, AppShellNavBreakpoint, } from './AppShell.js';
@@ -0,0 +1,14 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ export type AspectRatioPreset = '1/1' | '4/3' | '3/2' | '16/9' | '21/9' | '3/4';
3
+ export interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Width ÷ height, as a preset or a number (e.g. `1.91`). Default `16/9`. */
5
+ ratio?: AspectRatioPreset | number;
6
+ }
7
+ /**
8
+ * A frame that holds its proportions; its child (image, video, iframe, SVG) fills it
9
+ * and is cropped with `object-fit: cover`. It has no edge or radius of its own —
10
+ * wrap it (Media, Card) for that.
11
+ *
12
+ * <AspectRatio ratio="4/3"><img src="/images/dashboard.png" alt="Revenue dashboard" /></AspectRatio>
13
+ */
14
+ export declare const AspectRatio: import("react").ForwardRefExoticComponent<AspectRatioProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,18 @@
1
+ import { cx as e } from "../../../utils/cx.js";
2
+ import { mergeStyles as t } from "../../../utils/responsive.js";
3
+ import n from "./AspectRatio.module.js";
4
+ import { forwardRef as r } from "react";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ //#region src/components/layout/AspectRatio/AspectRatio.tsx
7
+ var a = (e) => typeof e == "number" ? String(e) : e.replace("/", " / "), o = r(function({ ratio: r = "16/9", className: o, style: s, ...c }, l) {
8
+ return /* @__PURE__ */ i("div", {
9
+ ref: l,
10
+ className: e(n.frame, o),
11
+ style: t({ "--aspect-ratio": a(r) }, s),
12
+ ...c
13
+ });
14
+ });
15
+ //#endregion
16
+ export { o as AspectRatio };
17
+
18
+ //# sourceMappingURL=AspectRatio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectRatio.js","names":["styles","AspectRatio_module_default","toCss","ratio","AspectRatio","forwardRef","rest","cx","className","mergeStyles","style"],"sources":["../../../../src/components/layout/AspectRatio/AspectRatio.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport { mergeStyles } from '#utils/responsive'\nimport styles from './AspectRatio.module.css'\n\nexport type AspectRatioPreset = '1/1' | '4/3' | '3/2' | '16/9' | '21/9' | '3/4'\n\nexport interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {\n /** Width ÷ height, as a preset or a number (e.g. `1.91`). Default `16/9`. */\n ratio?: AspectRatioPreset | number\n}\n\nconst toCss = (ratio: AspectRatioPreset | number): string =>\n typeof ratio === 'number' ? String(ratio) : ratio.replace('/', ' / ')\n\n/**\n * A frame that holds its proportions; its child (image, video, iframe, SVG) fills it\n * and is cropped with `object-fit: cover`. It has no edge or radius of its own —\n * wrap it (Media, Card) for that.\n *\n * <AspectRatio ratio=\"4/3\"><img src=\"/images/dashboard.png\" alt=\"Revenue dashboard\" /></AspectRatio>\n */\nexport const AspectRatio = forwardRef<HTMLDivElement, AspectRatioProps>(function AspectRatio(\n { ratio = '16/9', className, style, ...rest },\n ref,\n) {\n return (\n <div\n ref={ref}\n className={cx(styles.frame, className)}\n style={mergeStyles({ '--aspect-ratio': toCss(ratio) } as CSSProperties, style)}\n {...rest}\n />\n )\n})\n"],"mappings":";;;;;;AAYA,IAAME,KAAS,MACb,OAAOC,KAAU,WAAW,OAAOA,CAAK,IAAIA,EAAM,QAAQ,KAAK,KAAK,GASzDC,IAAcC,EAA6C,SACtE,EAAE,WAAQ,QAAQ,cAAW,UAAO,GAAGC,KACvC,GACA;CACA,OACE,kBAAC,OAAD;EACO;EACL,WAAWC,EAAGP,EAAO,OAAOQ,CAAS;EACrC,OAAOC,EAAY,EAAE,kBAAkBP,EAAMC,CAAK,EAAE,GAAoBO,CAAK;EAC7E,GAAIJ;CACL,CAAA;AAEL,CAAC"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/layout/AspectRatio/AspectRatio.module.css
2
+ var e = "kiln-AspectRatio__frame", t = { frame: e };
3
+ //#endregion
4
+ export { t as default, e as frame };
5
+
6
+ //# sourceMappingURL=AspectRatio.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectRatio.module.js","names":["frame","AspectRatio_module_default"],"sources":["../../../../src/components/layout/AspectRatio/AspectRatio.module.css"],"sourcesContent":[".frame {\n position: relative;\n inline-size: 100%;\n aspect-ratio: var(--aspect-ratio, 16 / 9);\n overflow: hidden;\n}\n\n/* Direct children fill the frame; replaced elements crop rather than distort. */\n.frame > * {\n position: absolute;\n inset: 0;\n inline-size: 100%;\n block-size: 100%;\n}\n.frame > :is(img, video, picture, canvas, svg) {\n object-fit: cover;\n}\n.frame > picture > img {\n inline-size: 100%;\n block-size: 100%;\n object-fit: cover;\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { AspectRatio } from './AspectRatio.js';
2
+ export type { AspectRatioProps, AspectRatioPreset } from './AspectRatio.js';
@@ -0,0 +1,29 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { type Responsive } from '../../../utils/responsive.js';
3
+ import { type Space } from '../../../utils/tokens.js';
4
+ import { type VisibilityProps } from '../../../utils/visibility.js';
5
+ export type BoxElement = 'div' | 'span' | 'section' | 'article' | 'aside' | 'header' | 'footer' | 'li';
6
+ export type BoxSurface = 'none' | 'canvas' | 'surface' | 'sunken' | 'raised' | 'inverse';
7
+ export type BoxRadius = 'none' | 'field' | 'surface' | 'media';
8
+ export interface BoxProps extends HTMLAttributes<HTMLElement>, VisibilityProps {
9
+ /** Padding on every side. Responsive. */
10
+ padding?: Responsive<Space>;
11
+ /** Inline (left/right) padding; overrides `padding` on that axis. Responsive. */
12
+ paddingX?: Responsive<Space>;
13
+ /** Block (top/bottom) padding; overrides `padding` on that axis. Responsive. */
14
+ paddingY?: Responsive<Space>;
15
+ /** Background fill. `inverse` also re-points ink and line colours for its children. */
16
+ surface?: BoxSurface;
17
+ /** Hairline border in `--color-line`. One edge treatment per element — a border *or* a fill. */
18
+ border?: boolean;
19
+ /** Corner radius, by role. */
20
+ radius?: BoxRadius;
21
+ as?: BoxElement;
22
+ }
23
+ /**
24
+ * The escape hatch: padding, a surface and an edge — nothing else. Reach for
25
+ * Stack/Inline/Grid for arrangement and Card for self-contained objects first.
26
+ *
27
+ * <Box padding={{ base: 4, md: 5 }} surface="sunken" radius="surface">…</Box>
28
+ */
29
+ export declare const Box: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,26 @@
1
+ import { cx as e } from "../../../utils/cx.js";
2
+ import { mergeStyles as t, responsiveVars as n } from "../../../utils/responsive.js";
3
+ import { space as r } from "../../../utils/tokens.js";
4
+ import { visibilityClass as i } from "../../../utils/visibility.js";
5
+ import a from "./Box.module.js";
6
+ import { forwardRef as o } from "react";
7
+ import { jsx as s } from "react/jsx-runtime";
8
+ //#region src/components/layout/Box/Box.tsx
9
+ var c = o(function({ padding: o, paddingX: c, paddingY: l, surface: u = "none", border: d = !1, radius: f = "none", as: p = "div", hideBelow: m, hideAbove: h, className: g, style: _, ...v }, y) {
10
+ return /* @__PURE__ */ s(p, {
11
+ ref: y,
12
+ className: e(a.box, i({
13
+ hideBelow: m,
14
+ hideAbove: h
15
+ }), g),
16
+ "data-surface": u === "none" ? void 0 : u,
17
+ "data-border": d || void 0,
18
+ "data-radius": f === "none" ? void 0 : f,
19
+ style: t(n("box-p", o, r), n("box-px", c, r), n("box-py", l, r), _),
20
+ ...v
21
+ });
22
+ });
23
+ //#endregion
24
+ export { c as Box };
25
+
26
+ //# sourceMappingURL=Box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.js","names":["styles","Box_module_default","Box","forwardRef","Comp","rest","cx","visibilityClass","className","surface","border","radius","mergeStyles","responsiveVars","padding","space","paddingX","paddingY","style"],"sources":["../../../../src/components/layout/Box/Box.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport { mergeStyles, responsiveVars, type Responsive } from '#utils/responsive'\nimport { space, type Space } from '#utils/tokens'\nimport styles from './Box.module.css'\nimport { visibilityClass, type VisibilityProps } from '#utils/visibility'\n\nexport type BoxElement =\n 'div' | 'span' | 'section' | 'article' | 'aside' | 'header' | 'footer' | 'li'\nexport type BoxSurface = 'none' | 'canvas' | 'surface' | 'sunken' | 'raised' | 'inverse'\nexport type BoxRadius = 'none' | 'field' | 'surface' | 'media'\n\nexport interface BoxProps extends HTMLAttributes<HTMLElement>, VisibilityProps {\n /** Padding on every side. Responsive. */\n padding?: Responsive<Space>\n /** Inline (left/right) padding; overrides `padding` on that axis. Responsive. */\n paddingX?: Responsive<Space>\n /** Block (top/bottom) padding; overrides `padding` on that axis. Responsive. */\n paddingY?: Responsive<Space>\n /** Background fill. `inverse` also re-points ink and line colours for its children. */\n surface?: BoxSurface\n /** Hairline border in `--color-line`. One edge treatment per element — a border *or* a fill. */\n border?: boolean\n /** Corner radius, by role. */\n radius?: BoxRadius\n as?: BoxElement\n}\n\n/**\n * The escape hatch: padding, a surface and an edge — nothing else. Reach for\n * Stack/Inline/Grid for arrangement and Card for self-contained objects first.\n *\n * <Box padding={{ base: 4, md: 5 }} surface=\"sunken\" radius=\"surface\">…</Box>\n */\nexport const Box = forwardRef<HTMLElement, BoxProps>(function Box(\n {\n padding,\n paddingX,\n paddingY,\n surface = 'none',\n border = false,\n radius = 'none',\n as: Comp = 'div',\n hideBelow,\n hideAbove,\n className,\n style,\n ...rest\n },\n ref,\n) {\n return (\n <Comp\n // @ts-expect-error — polymorphic ref across a union of intrinsic elements is safe here\n ref={ref}\n className={cx(styles.box, visibilityClass({ hideBelow, hideAbove }), className)}\n data-surface={surface === 'none' ? undefined : surface}\n data-border={border || undefined}\n data-radius={radius === 'none' ? undefined : radius}\n style={mergeStyles(\n responsiveVars('box-p', padding, space),\n responsiveVars('box-px', paddingX, space),\n responsiveVars('box-py', paddingY, space),\n style,\n )}\n {...rest}\n />\n )\n})\n"],"mappings":";;;;;;;;AAkCA,IAAaE,IAAMC,EAAkC,SACnD,EACE,YACA,aACA,aACA,aAAU,QACV,YAAS,IACT,YAAS,QACT,IAAIC,IAAO,OACX,cACA,cACA,cACA,UACA,GAAGC,KAEL,GACA;CACA,OACE,kBAACD,GAAD;EAEO;EACL,WAAWE,EAAGN,EAAO,KAAKO,EAAgB;GAAE;GAAW;EAAU,CAAC,GAAGC,CAAS;EAC9E,gBAAcC,MAAY,SAAS,KAAA,IAAYA;EAC/C,eAAaC,KAAU,KAAA;EACvB,eAAaC,MAAW,SAAS,KAAA,IAAYA;EAC7C,OAAOC,EACLC,EAAe,SAASC,GAASC,CAAK,GACtCF,EAAe,UAAUG,GAAUD,CAAK,GACxCF,EAAe,UAAUI,GAAUF,CAAK,GACxCG,CACF;EACA,GAAIb;CACL,CAAA;AAEL,CAAC"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/layout/Box/Box.module.css
2
+ var e = "kiln-Box__box", t = { box: e };
3
+ //#endregion
4
+ export { e as box, t as default };
5
+
6
+ //# sourceMappingURL=Box.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.module.js","names":["box","Box_module_default"],"sources":["../../../../src/components/layout/Box/Box.module.css"],"sourcesContent":["/*\n * Responsive pattern: see layout/Stack/Stack.module.css. Axis padding (--box-px/-py)\n * falls back to the all-sides value (--box-p) per breakpoint.\n *\n * --box-fill / --box-on (read-only): the fill and ink of an `inverse` Box.\n */\n.box {\n --_p: var(--box-p-base, 0px);\n --_px: var(--box-px-base, var(--_p));\n --_py: var(--box-py-base, var(--_p));\n\n display: block;\n min-inline-size: 0;\n padding-block: var(--_py);\n padding-inline: var(--_px);\n}\n\n@media (min-width: 40em) {\n .box {\n --_p: var(--box-p-sm, 0px);\n --_px: var(--box-px-sm, var(--_p));\n --_py: var(--box-py-sm, var(--_p));\n }\n}\n@media (min-width: 48em) {\n .box {\n --_p: var(--box-p-md, 0px);\n --_px: var(--box-px-md, var(--_p));\n --_py: var(--box-py-md, var(--_p));\n }\n}\n@media (min-width: 64em) {\n .box {\n --_p: var(--box-p-lg, 0px);\n --_px: var(--box-px-lg, var(--_p));\n --_py: var(--box-py-lg, var(--_p));\n }\n}\n@media (min-width: 80em) {\n .box {\n --_p: var(--box-p-xl, 0px);\n --_px: var(--box-px-xl, var(--_p));\n --_py: var(--box-py-xl, var(--_p));\n }\n}\n\n/* Surfaces */\n.box[data-surface='canvas'] {\n background-color: var(--color-canvas);\n background-image: var(--canvas-image);\n background-size: var(--canvas-image-size);\n color: var(--color-ink);\n}\n.box[data-surface='surface'] {\n background-color: var(--color-surface);\n color: var(--color-ink);\n}\n.box[data-surface='sunken'] {\n background-color: var(--color-surface-sunken);\n color: var(--color-ink);\n}\n.box[data-surface='raised'] {\n background-color: var(--color-surface-raised);\n color: var(--color-ink);\n}\n/* Inverse re-points the colour roles for descendants — same approach as Section. */\n.box[data-surface='inverse'] {\n --box-fill: var(--color-surface-inverse);\n --box-on: var(--color-ink-inverse);\n --color-ink: var(--box-on);\n --color-ink-muted: color-mix(in oklab, var(--box-on) 76%, var(--box-fill));\n --color-ink-subtle: color-mix(in oklab, var(--box-on) 60%, var(--box-fill));\n --color-line: color-mix(in oklab, var(--box-on) 22%, var(--box-fill));\n --color-line-strong: color-mix(in oklab, var(--box-on) 45%, var(--box-fill));\n --color-canvas: var(--box-fill);\n --color-surface: color-mix(in oklab, var(--box-on) 7%, var(--box-fill));\n --color-surface-sunken: color-mix(in oklab, var(--box-on) 12%, var(--box-fill));\n --color-surface-raised: color-mix(in oklab, var(--box-on) 4%, var(--box-fill));\n --color-focus: var(--box-on);\n --color-accent-text: var(--box-on);\n --canvas-image: none;\n\n background-color: var(--box-fill);\n color: var(--box-on);\n}\n.box[data-surface='inverse'] > * {\n --color-surface-inverse: var(--box-on);\n --color-ink-inverse: var(--box-fill);\n}\n\n.box[data-border] {\n border: var(--border-width) solid var(--color-line);\n}\n\n.box[data-radius='field'] {\n border-radius: var(--radius-field);\n}\n.box[data-radius='surface'] {\n border-radius: var(--radius-surface);\n}\n.box[data-radius='media'] {\n border-radius: var(--radius-media);\n}\n\n/* `hidden` wins over the display above (author CSS otherwise beats the UA [hidden] rule). */\n.box[hidden] {\n display: none;\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { Box } from './Box.js';
2
+ export type { BoxProps, BoxElement, BoxSurface, BoxRadius } from './Box.js';