@pithyjs/ui-kit 0.1.0-beta.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 (417) hide show
  1. package/LICENSE +21 -0
  2. package/dist/animation/animate-in.d.ts +35 -0
  3. package/dist/animation/animate-in.d.ts.map +1 -0
  4. package/dist/animation/animate-in.js +71 -0
  5. package/dist/animation/animate-in.js.map +1 -0
  6. package/dist/atoms/actions/_icon-control.scss +53 -0
  7. package/dist/atoms/actions/button/Button.d.ts +93 -0
  8. package/dist/atoms/actions/button/Button.d.ts.map +1 -0
  9. package/dist/atoms/actions/button/Button.js +332 -0
  10. package/dist/atoms/actions/button/Button.js.map +1 -0
  11. package/dist/atoms/actions/button/button.scss +342 -0
  12. package/dist/atoms/actions/icon-button/IconButton.d.ts +47 -0
  13. package/dist/atoms/actions/icon-button/IconButton.d.ts.map +1 -0
  14. package/dist/atoms/actions/icon-button/IconButton.js +81 -0
  15. package/dist/atoms/actions/icon-button/IconButton.js.map +1 -0
  16. package/dist/atoms/actions/icon-button/icon-button.scss +20 -0
  17. package/dist/atoms/actions/icon-group/IconGroup.d.ts +60 -0
  18. package/dist/atoms/actions/icon-group/IconGroup.d.ts.map +1 -0
  19. package/dist/atoms/actions/icon-group/IconGroup.js +191 -0
  20. package/dist/atoms/actions/icon-group/IconGroup.js.map +1 -0
  21. package/dist/atoms/actions/icon-group/icon-group.scss +36 -0
  22. package/dist/atoms/actions/segmented-control/SegmentedControl.d.ts +49 -0
  23. package/dist/atoms/actions/segmented-control/SegmentedControl.d.ts.map +1 -0
  24. package/dist/atoms/actions/segmented-control/SegmentedControl.js +107 -0
  25. package/dist/atoms/actions/segmented-control/SegmentedControl.js.map +1 -0
  26. package/dist/atoms/actions/segmented-control/segmented-control.scss +90 -0
  27. package/dist/atoms/content/_mixins.scss +79 -0
  28. package/dist/atoms/content/action-tile/ActionTile.d.ts +27 -0
  29. package/dist/atoms/content/action-tile/ActionTile.d.ts.map +1 -0
  30. package/dist/atoms/content/action-tile/ActionTile.js +98 -0
  31. package/dist/atoms/content/action-tile/ActionTile.js.map +1 -0
  32. package/dist/atoms/content/action-tile/action-tile.scss +150 -0
  33. package/dist/atoms/content/badge/Badge.d.ts +57 -0
  34. package/dist/atoms/content/badge/Badge.d.ts.map +1 -0
  35. package/dist/atoms/content/badge/Badge.js +177 -0
  36. package/dist/atoms/content/badge/Badge.js.map +1 -0
  37. package/dist/atoms/content/badge/badge.scss +198 -0
  38. package/dist/atoms/content/heading/Heading.d.ts +53 -0
  39. package/dist/atoms/content/heading/Heading.d.ts.map +1 -0
  40. package/dist/atoms/content/heading/Heading.js +142 -0
  41. package/dist/atoms/content/heading/Heading.js.map +1 -0
  42. package/dist/atoms/content/heading/heading.scss +43 -0
  43. package/dist/atoms/content/icon/Icon.d.ts +68 -0
  44. package/dist/atoms/content/icon/Icon.d.ts.map +1 -0
  45. package/dist/atoms/content/icon/Icon.js +137 -0
  46. package/dist/atoms/content/icon/Icon.js.map +1 -0
  47. package/dist/atoms/content/icon/icon.scss +66 -0
  48. package/dist/atoms/content/icon/resolveIconSvg.d.ts +21 -0
  49. package/dist/atoms/content/icon/resolveIconSvg.d.ts.map +1 -0
  50. package/dist/atoms/content/icon/resolveIconSvg.js +73 -0
  51. package/dist/atoms/content/icon/resolveIconSvg.js.map +1 -0
  52. package/dist/atoms/content/image/Image.d.ts +81 -0
  53. package/dist/atoms/content/image/Image.d.ts.map +1 -0
  54. package/dist/atoms/content/image/Image.js +293 -0
  55. package/dist/atoms/content/image/Image.js.map +1 -0
  56. package/dist/atoms/content/image/image.scss +77 -0
  57. package/dist/atoms/content/text/Text.d.ts +58 -0
  58. package/dist/atoms/content/text/Text.d.ts.map +1 -0
  59. package/dist/atoms/content/text/Text.js +158 -0
  60. package/dist/atoms/content/text/Text.js.map +1 -0
  61. package/dist/atoms/content/text/text.scss +98 -0
  62. package/dist/atoms/content/tile/Tile.d.ts +66 -0
  63. package/dist/atoms/content/tile/Tile.d.ts.map +1 -0
  64. package/dist/atoms/content/tile/Tile.js +125 -0
  65. package/dist/atoms/content/tile/Tile.js.map +1 -0
  66. package/dist/atoms/content/tile/tile.scss +122 -0
  67. package/dist/atoms/feedback/tooltip/Tooltip.d.ts +44 -0
  68. package/dist/atoms/feedback/tooltip/Tooltip.d.ts.map +1 -0
  69. package/dist/atoms/feedback/tooltip/Tooltip.js +121 -0
  70. package/dist/atoms/feedback/tooltip/Tooltip.js.map +1 -0
  71. package/dist/atoms/feedback/tooltip/tooltip.scss +96 -0
  72. package/dist/atoms/forms/checkbox/Checkbox.d.ts +49 -0
  73. package/dist/atoms/forms/checkbox/Checkbox.d.ts.map +1 -0
  74. package/dist/atoms/forms/checkbox/Checkbox.js +269 -0
  75. package/dist/atoms/forms/checkbox/Checkbox.js.map +1 -0
  76. package/dist/atoms/forms/checkbox/CheckboxGroup.d.ts +50 -0
  77. package/dist/atoms/forms/checkbox/CheckboxGroup.d.ts.map +1 -0
  78. package/dist/atoms/forms/checkbox/CheckboxGroup.js +132 -0
  79. package/dist/atoms/forms/checkbox/CheckboxGroup.js.map +1 -0
  80. package/dist/atoms/forms/checkbox/checkbox.scss +506 -0
  81. package/dist/atoms/forms/file-picker/FilePicker.d.ts +23 -0
  82. package/dist/atoms/forms/file-picker/FilePicker.d.ts.map +1 -0
  83. package/dist/atoms/forms/file-picker/FilePicker.js +103 -0
  84. package/dist/atoms/forms/file-picker/FilePicker.js.map +1 -0
  85. package/dist/atoms/forms/file-picker/file-picker.scss +84 -0
  86. package/dist/atoms/forms/form-field/FormField.d.ts +39 -0
  87. package/dist/atoms/forms/form-field/FormField.d.ts.map +1 -0
  88. package/dist/atoms/forms/form-field/FormField.js +139 -0
  89. package/dist/atoms/forms/form-field/FormField.js.map +1 -0
  90. package/dist/atoms/forms/form-field/form-field.scss +46 -0
  91. package/dist/atoms/forms/input/Input.d.ts +81 -0
  92. package/dist/atoms/forms/input/Input.d.ts.map +1 -0
  93. package/dist/atoms/forms/input/Input.js +417 -0
  94. package/dist/atoms/forms/input/Input.js.map +1 -0
  95. package/dist/atoms/forms/input/input.scss +547 -0
  96. package/dist/atoms/forms/radio/Radio.d.ts +54 -0
  97. package/dist/atoms/forms/radio/Radio.d.ts.map +1 -0
  98. package/dist/atoms/forms/radio/Radio.js +278 -0
  99. package/dist/atoms/forms/radio/Radio.js.map +1 -0
  100. package/dist/atoms/forms/radio/RadioGroup.d.ts +54 -0
  101. package/dist/atoms/forms/radio/RadioGroup.d.ts.map +1 -0
  102. package/dist/atoms/forms/radio/RadioGroup.js +137 -0
  103. package/dist/atoms/forms/radio/RadioGroup.js.map +1 -0
  104. package/dist/atoms/forms/radio/radio.scss +459 -0
  105. package/dist/atoms/forms/select/Select.d.ts +57 -0
  106. package/dist/atoms/forms/select/Select.d.ts.map +1 -0
  107. package/dist/atoms/forms/select/Select.js +457 -0
  108. package/dist/atoms/forms/select/Select.js.map +1 -0
  109. package/dist/atoms/forms/select/select-dropdown.d.ts +49 -0
  110. package/dist/atoms/forms/select/select-dropdown.d.ts.map +1 -0
  111. package/dist/atoms/forms/select/select-dropdown.js +305 -0
  112. package/dist/atoms/forms/select/select-dropdown.js.map +1 -0
  113. package/dist/atoms/forms/select/select-keyboard.d.ts +14 -0
  114. package/dist/atoms/forms/select/select-keyboard.d.ts.map +1 -0
  115. package/dist/atoms/forms/select/select-keyboard.js +182 -0
  116. package/dist/atoms/forms/select/select-keyboard.js.map +1 -0
  117. package/dist/atoms/forms/select/select.scss +630 -0
  118. package/dist/atoms/forms/textarea/Textarea.d.ts +69 -0
  119. package/dist/atoms/forms/textarea/Textarea.d.ts.map +1 -0
  120. package/dist/atoms/forms/textarea/Textarea.js +394 -0
  121. package/dist/atoms/forms/textarea/Textarea.js.map +1 -0
  122. package/dist/atoms/forms/textarea/textarea.scss +486 -0
  123. package/dist/atoms/forms/toggle/Toggle.d.ts +47 -0
  124. package/dist/atoms/forms/toggle/Toggle.d.ts.map +1 -0
  125. package/dist/atoms/forms/toggle/Toggle.js +243 -0
  126. package/dist/atoms/forms/toggle/Toggle.js.map +1 -0
  127. package/dist/atoms/forms/toggle/toggle.scss +561 -0
  128. package/dist/compiler.d.ts +7 -0
  129. package/dist/compiler.d.ts.map +1 -0
  130. package/dist/compiler.js +18 -0
  131. package/dist/compiler.js.map +1 -0
  132. package/dist/icons/index.d.ts +14 -0
  133. package/dist/icons/index.d.ts.map +1 -0
  134. package/dist/icons/index.js +14 -0
  135. package/dist/icons/index.js.map +1 -0
  136. package/dist/icons/registry.d.ts +65 -0
  137. package/dist/icons/registry.d.ts.map +1 -0
  138. package/dist/icons/registry.js +126 -0
  139. package/dist/icons/registry.js.map +1 -0
  140. package/dist/index.d.ts +55 -0
  141. package/dist/index.d.ts.map +1 -0
  142. package/dist/index.js +64 -0
  143. package/dist/index.js.map +1 -0
  144. package/dist/layout/Grid.d.ts +78 -0
  145. package/dist/layout/Grid.d.ts.map +1 -0
  146. package/dist/layout/Grid.js +272 -0
  147. package/dist/layout/Grid.js.map +1 -0
  148. package/dist/layout/GridItem.d.ts +52 -0
  149. package/dist/layout/GridItem.d.ts.map +1 -0
  150. package/dist/layout/GridItem.js +99 -0
  151. package/dist/layout/GridItem.js.map +1 -0
  152. package/dist/layout/PageSection.d.ts +43 -0
  153. package/dist/layout/PageSection.d.ts.map +1 -0
  154. package/dist/layout/PageSection.js +75 -0
  155. package/dist/layout/PageSection.js.map +1 -0
  156. package/dist/layout/SmartContainer.d.ts +66 -0
  157. package/dist/layout/SmartContainer.d.ts.map +1 -0
  158. package/dist/layout/SmartContainer.js +194 -0
  159. package/dist/layout/SmartContainer.js.map +1 -0
  160. package/dist/layout/Stack.d.ts +65 -0
  161. package/dist/layout/Stack.d.ts.map +1 -0
  162. package/dist/layout/Stack.js +114 -0
  163. package/dist/layout/Stack.js.map +1 -0
  164. package/dist/organisms/content/Card.d.ts +93 -0
  165. package/dist/organisms/content/Card.d.ts.map +1 -0
  166. package/dist/organisms/content/Card.js +353 -0
  167. package/dist/organisms/content/Card.js.map +1 -0
  168. package/dist/organisms/content/_card-horizontal.scss +88 -0
  169. package/dist/organisms/content/_card-link.scss +49 -0
  170. package/dist/organisms/content/_card-overlay.scss +91 -0
  171. package/dist/organisms/content/_card-root.scss +99 -0
  172. package/dist/organisms/content/_card-slots.scss +143 -0
  173. package/dist/organisms/content/_card-states.scss +166 -0
  174. package/dist/organisms/content/_card-tokens.scss +22 -0
  175. package/dist/organisms/content/_card-variants.scss +31 -0
  176. package/dist/organisms/content/card.scss +15 -0
  177. package/dist/organisms/feedback/Modal.d.ts +39 -0
  178. package/dist/organisms/feedback/Modal.d.ts.map +1 -0
  179. package/dist/organisms/feedback/Modal.js +120 -0
  180. package/dist/organisms/feedback/Modal.js.map +1 -0
  181. package/dist/organisms/feedback/Popover.d.ts +30 -0
  182. package/dist/organisms/feedback/Popover.d.ts.map +1 -0
  183. package/dist/organisms/feedback/Popover.js +151 -0
  184. package/dist/organisms/feedback/Popover.js.map +1 -0
  185. package/dist/organisms/feedback/modal.scss +66 -0
  186. package/dist/organisms/feedback/popover.scss +27 -0
  187. package/dist/organisms/forms/DynamicForm.d.ts +118 -0
  188. package/dist/organisms/forms/DynamicForm.d.ts.map +1 -0
  189. package/dist/organisms/forms/DynamicForm.js +546 -0
  190. package/dist/organisms/forms/DynamicForm.js.map +1 -0
  191. package/dist/organisms/forms/Form.d.ts +62 -0
  192. package/dist/organisms/forms/Form.d.ts.map +1 -0
  193. package/dist/organisms/forms/Form.js +131 -0
  194. package/dist/organisms/forms/Form.js.map +1 -0
  195. package/dist/organisms/forms/dynamic-form.scss +91 -0
  196. package/dist/organisms/forms/form-helpers.d.ts +21 -0
  197. package/dist/organisms/forms/form-helpers.d.ts.map +1 -0
  198. package/dist/organisms/forms/form-helpers.js +57 -0
  199. package/dist/organisms/forms/form-helpers.js.map +1 -0
  200. package/dist/organisms/forms/form-state.d.ts +66 -0
  201. package/dist/organisms/forms/form-state.d.ts.map +1 -0
  202. package/dist/organisms/forms/form-state.js +156 -0
  203. package/dist/organisms/forms/form-state.js.map +1 -0
  204. package/dist/organisms/forms/form.scss +23 -0
  205. package/dist/organisms/forms/validation.d.ts +32 -0
  206. package/dist/organisms/forms/validation.d.ts.map +1 -0
  207. package/dist/organisms/forms/validation.js +118 -0
  208. package/dist/organisms/forms/validation.js.map +1 -0
  209. package/dist/organisms/navigation/Navbar.d.ts +66 -0
  210. package/dist/organisms/navigation/Navbar.d.ts.map +1 -0
  211. package/dist/organisms/navigation/Navbar.js +881 -0
  212. package/dist/organisms/navigation/Navbar.js.map +1 -0
  213. package/dist/organisms/navigation/_navbar-announcement.scss +62 -0
  214. package/dist/organisms/navigation/_navbar-brand.scss +69 -0
  215. package/dist/organisms/navigation/_navbar-container.scss +37 -0
  216. package/dist/organisms/navigation/_navbar-desktop.scss +116 -0
  217. package/dist/organisms/navigation/_navbar-drawer.scss +97 -0
  218. package/dist/organisms/navigation/_navbar-links.scss +143 -0
  219. package/dist/organisms/navigation/_navbar-menu.scss +193 -0
  220. package/dist/organisms/navigation/_navbar-root.scss +107 -0
  221. package/dist/organisms/navigation/_navbar-search.scss +83 -0
  222. package/dist/organisms/navigation/_navbar-toggle.scss +91 -0
  223. package/dist/organisms/navigation/_navbar-tokens.scss +15 -0
  224. package/dist/organisms/navigation/navbar.scss +17 -0
  225. package/dist/registry/categories.d.ts +6 -0
  226. package/dist/registry/categories.d.ts.map +1 -0
  227. package/dist/registry/categories.js +13 -0
  228. package/dist/registry/categories.js.map +1 -0
  229. package/dist/registry/components.d.ts +5 -0
  230. package/dist/registry/components.d.ts.map +1 -0
  231. package/dist/registry/components.js +95 -0
  232. package/dist/registry/components.js.map +1 -0
  233. package/dist/registry/index.d.ts +59 -0
  234. package/dist/registry/index.d.ts.map +1 -0
  235. package/dist/registry/index.js +79 -0
  236. package/dist/registry/index.js.map +1 -0
  237. package/dist/registry/levels.d.ts +6 -0
  238. package/dist/registry/levels.d.ts.map +1 -0
  239. package/dist/registry/levels.js +9 -0
  240. package/dist/registry/levels.js.map +1 -0
  241. package/dist/registry/registry-meta-types.d.ts +67 -0
  242. package/dist/registry/registry-meta-types.d.ts.map +1 -0
  243. package/dist/registry/registry-meta-types.js +6 -0
  244. package/dist/registry/registry-meta-types.js.map +1 -0
  245. package/dist/registry/registry-meta.d.ts +5 -0
  246. package/dist/registry/registry-meta.d.ts.map +1 -0
  247. package/dist/registry/registry-meta.js +731 -0
  248. package/dist/registry/registry-meta.js.map +1 -0
  249. package/dist/registry/renderer.d.ts +69 -0
  250. package/dist/registry/renderer.d.ts.map +1 -0
  251. package/dist/registry/renderer.js +311 -0
  252. package/dist/registry/renderer.js.map +1 -0
  253. package/dist/sections/_section-base.scss +204 -0
  254. package/dist/sections/contact/ContactSection.d.ts +55 -0
  255. package/dist/sections/contact/ContactSection.d.ts.map +1 -0
  256. package/dist/sections/contact/ContactSection.js +142 -0
  257. package/dist/sections/contact/ContactSection.js.map +1 -0
  258. package/dist/sections/contact/contact-section.scss +142 -0
  259. package/dist/sections/cta/CTASection.d.ts +52 -0
  260. package/dist/sections/cta/CTASection.d.ts.map +1 -0
  261. package/dist/sections/cta/CTASection.js +130 -0
  262. package/dist/sections/cta/CTASection.js.map +1 -0
  263. package/dist/sections/cta/cta-section.scss +131 -0
  264. package/dist/sections/entrance.d.ts +29 -0
  265. package/dist/sections/entrance.d.ts.map +1 -0
  266. package/dist/sections/entrance.js +69 -0
  267. package/dist/sections/entrance.js.map +1 -0
  268. package/dist/sections/features/FeaturesSection.d.ts +54 -0
  269. package/dist/sections/features/FeaturesSection.d.ts.map +1 -0
  270. package/dist/sections/features/FeaturesSection.js +139 -0
  271. package/dist/sections/features/FeaturesSection.js.map +1 -0
  272. package/dist/sections/features/features-section.scss +140 -0
  273. package/dist/sections/footer/FooterSection.d.ts +53 -0
  274. package/dist/sections/footer/FooterSection.d.ts.map +1 -0
  275. package/dist/sections/footer/FooterSection.js +147 -0
  276. package/dist/sections/footer/FooterSection.js.map +1 -0
  277. package/dist/sections/footer/footer-section.scss +131 -0
  278. package/dist/sections/hero/HeroSection.d.ts +66 -0
  279. package/dist/sections/hero/HeroSection.d.ts.map +1 -0
  280. package/dist/sections/hero/HeroSection.js +156 -0
  281. package/dist/sections/hero/HeroSection.js.map +1 -0
  282. package/dist/sections/hero/hero-section.scss +211 -0
  283. package/dist/shared/_form-animations.scss +283 -0
  284. package/dist/shared/_media-fit.scss +63 -0
  285. package/dist/shared/_mixins.scss +69 -0
  286. package/dist/shared/_tokens.scss +116 -0
  287. package/dist/shared/badge.d.ts +15 -0
  288. package/dist/shared/badge.d.ts.map +1 -0
  289. package/dist/shared/badge.js +15 -0
  290. package/dist/shared/badge.js.map +1 -0
  291. package/dist/shared/button.d.ts +22 -0
  292. package/dist/shared/button.d.ts.map +1 -0
  293. package/dist/shared/button.js +22 -0
  294. package/dist/shared/button.js.map +1 -0
  295. package/dist/shared/card.d.ts +21 -0
  296. package/dist/shared/card.d.ts.map +1 -0
  297. package/dist/shared/card.js +38 -0
  298. package/dist/shared/card.js.map +1 -0
  299. package/dist/shared/checkbox.d.ts +10 -0
  300. package/dist/shared/checkbox.d.ts.map +1 -0
  301. package/dist/shared/checkbox.js +28 -0
  302. package/dist/shared/checkbox.js.map +1 -0
  303. package/dist/shared/clickable.d.ts +34 -0
  304. package/dist/shared/clickable.d.ts.map +1 -0
  305. package/dist/shared/clickable.js +54 -0
  306. package/dist/shared/clickable.js.map +1 -0
  307. package/dist/shared/common.d.ts +31 -0
  308. package/dist/shared/common.d.ts.map +1 -0
  309. package/dist/shared/common.js +92 -0
  310. package/dist/shared/common.js.map +1 -0
  311. package/dist/shared/entrance-config.d.ts +46 -0
  312. package/dist/shared/entrance-config.d.ts.map +1 -0
  313. package/dist/shared/entrance-config.js +54 -0
  314. package/dist/shared/entrance-config.js.map +1 -0
  315. package/dist/shared/focusable.d.ts +8 -0
  316. package/dist/shared/focusable.d.ts.map +1 -0
  317. package/dist/shared/focusable.js +17 -0
  318. package/dist/shared/focusable.js.map +1 -0
  319. package/dist/shared/form-elements.d.ts +57 -0
  320. package/dist/shared/form-elements.d.ts.map +1 -0
  321. package/dist/shared/form-elements.js +95 -0
  322. package/dist/shared/form-elements.js.map +1 -0
  323. package/dist/shared/form-state.d.ts +52 -0
  324. package/dist/shared/form-state.d.ts.map +1 -0
  325. package/dist/shared/form-state.js +151 -0
  326. package/dist/shared/form-state.js.map +1 -0
  327. package/dist/shared/grid.d.ts +21 -0
  328. package/dist/shared/grid.d.ts.map +1 -0
  329. package/dist/shared/grid.js +187 -0
  330. package/dist/shared/grid.js.map +1 -0
  331. package/dist/shared/icon-slot.d.ts +22 -0
  332. package/dist/shared/icon-slot.d.ts.map +1 -0
  333. package/dist/shared/icon-slot.js +38 -0
  334. package/dist/shared/icon-slot.js.map +1 -0
  335. package/dist/shared/icon.d.ts +17 -0
  336. package/dist/shared/icon.d.ts.map +1 -0
  337. package/dist/shared/icon.js +18 -0
  338. package/dist/shared/icon.js.map +1 -0
  339. package/dist/shared/icons.d.ts +19 -0
  340. package/dist/shared/icons.d.ts.map +1 -0
  341. package/dist/shared/icons.js +22 -0
  342. package/dist/shared/icons.js.map +1 -0
  343. package/dist/shared/image.d.ts +35 -0
  344. package/dist/shared/image.d.ts.map +1 -0
  345. package/dist/shared/image.js +46 -0
  346. package/dist/shared/image.js.map +1 -0
  347. package/dist/shared/input.d.ts +12 -0
  348. package/dist/shared/input.d.ts.map +1 -0
  349. package/dist/shared/input.js +29 -0
  350. package/dist/shared/input.js.map +1 -0
  351. package/dist/shared/radio.d.ts +10 -0
  352. package/dist/shared/radio.d.ts.map +1 -0
  353. package/dist/shared/radio.js +29 -0
  354. package/dist/shared/radio.js.map +1 -0
  355. package/dist/shared/reconcile-list.d.ts +37 -0
  356. package/dist/shared/reconcile-list.d.ts.map +1 -0
  357. package/dist/shared/reconcile-list.js +95 -0
  358. package/dist/shared/reconcile-list.js.map +1 -0
  359. package/dist/shared/section.d.ts +23 -0
  360. package/dist/shared/section.d.ts.map +1 -0
  361. package/dist/shared/section.js +65 -0
  362. package/dist/shared/section.js.map +1 -0
  363. package/dist/shared/segmented.d.ts +17 -0
  364. package/dist/shared/segmented.d.ts.map +1 -0
  365. package/dist/shared/segmented.js +53 -0
  366. package/dist/shared/segmented.js.map +1 -0
  367. package/dist/shared/select.d.ts +18 -0
  368. package/dist/shared/select.d.ts.map +1 -0
  369. package/dist/shared/select.js +14 -0
  370. package/dist/shared/select.js.map +1 -0
  371. package/dist/shared/slots.d.ts +11 -0
  372. package/dist/shared/slots.d.ts.map +1 -0
  373. package/dist/shared/slots.js +33 -0
  374. package/dist/shared/slots.js.map +1 -0
  375. package/dist/shared/smart-container.d.ts +19 -0
  376. package/dist/shared/smart-container.d.ts.map +1 -0
  377. package/dist/shared/smart-container.js +29 -0
  378. package/dist/shared/smart-container.js.map +1 -0
  379. package/dist/shared/text.d.ts +29 -0
  380. package/dist/shared/text.d.ts.map +1 -0
  381. package/dist/shared/text.js +72 -0
  382. package/dist/shared/text.js.map +1 -0
  383. package/dist/shared/textarea.d.ts +6 -0
  384. package/dist/shared/textarea.d.ts.map +1 -0
  385. package/dist/shared/textarea.js +18 -0
  386. package/dist/shared/textarea.js.map +1 -0
  387. package/dist/shared/toggle.d.ts +6 -0
  388. package/dist/shared/toggle.d.ts.map +1 -0
  389. package/dist/shared/toggle.js +19 -0
  390. package/dist/shared/toggle.js.map +1 -0
  391. package/dist/shared/types.d.ts +41 -0
  392. package/dist/shared/types.d.ts.map +1 -0
  393. package/dist/shared/types.js +20 -0
  394. package/dist/shared/types.js.map +1 -0
  395. package/dist/structural/ErrorBoundary.d.ts +18 -0
  396. package/dist/structural/ErrorBoundary.d.ts.map +1 -0
  397. package/dist/structural/ErrorBoundary.js +119 -0
  398. package/dist/structural/ErrorBoundary.js.map +1 -0
  399. package/dist/structural/For.d.ts +37 -0
  400. package/dist/structural/For.d.ts.map +1 -0
  401. package/dist/structural/For.js +129 -0
  402. package/dist/structural/For.js.map +1 -0
  403. package/dist/structural/Lazy.d.ts +43 -0
  404. package/dist/structural/Lazy.d.ts.map +1 -0
  405. package/dist/structural/Lazy.js +47 -0
  406. package/dist/structural/Lazy.js.map +1 -0
  407. package/dist/structural/NavLink.d.ts +45 -0
  408. package/dist/structural/NavLink.d.ts.map +1 -0
  409. package/dist/structural/NavLink.js +37 -0
  410. package/dist/structural/NavLink.js.map +1 -0
  411. package/dist/structural/Show.d.ts +35 -0
  412. package/dist/structural/Show.d.ts.map +1 -0
  413. package/dist/structural/Show.js +34 -0
  414. package/dist/structural/Show.js.map +1 -0
  415. package/dist/structural/nav-link.scss +54 -0
  416. package/dist/styles/index.scss +58 -0
  417. package/package.json +64 -0
@@ -0,0 +1,65 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.ui-kit.icon-registry",
4
+ "title": "Icon Sprite Registry",
5
+ "category": "runtime"
6
+ }
7
+ */
8
+ export interface IconMeta {
9
+ /** Original viewBox from the SVG (e.g. "0 0 24 24") */
10
+ viewBox?: string;
11
+ /** Search tags for the site builder icon picker */
12
+ tags?: string[];
13
+ }
14
+ /**
15
+ * Register an SVG sprite and its available icon names.
16
+ *
17
+ * Typically called once at app startup from the `virtual:pithy-icons` module:
18
+ * ```ts
19
+ * import { SPRITE_URL, ICON_NAMES } from "virtual:pithy-icons";
20
+ * import { registerIconSprite } from "@pithyjs/ui-kit/icons";
21
+ * registerIconSprite(SPRITE_URL, ICON_NAMES);
22
+ * ```
23
+ */
24
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"registerIconSprite","stability":"stable","signature":"(url: string, names: string[], meta?: Record<string, IconMeta>) => void"} */
25
+ export declare function registerIconSprite(url: string, names: string[], meta?: Record<string, IconMeta>): void;
26
+ /**
27
+ * Look up an icon by name and return the sprite `<use>` href.
28
+ *
29
+ * Returns `null` if the icon is not registered or no sprite has been loaded.
30
+ */
31
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"lookupIcon","stability":"stable","signature":"(name: string) => { href: string; viewBox?: string } | null"} */
32
+ export declare function lookupIcon(name: string): {
33
+ href: string;
34
+ viewBox?: string;
35
+ } | null;
36
+ /**
37
+ * Enumerate all registered icon names.
38
+ *
39
+ * Used by the site builder icon picker to populate the icon grid.
40
+ */
41
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getRegisteredIcons","stability":"stable","signature":"() => string[]"} */
42
+ export declare function getRegisteredIcons(): string[];
43
+ /**
44
+ * Get metadata for a specific icon.
45
+ */
46
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getIconMeta","stability":"stable","signature":"(name: string) => IconMeta | undefined"} */
47
+ export declare function getIconMeta(name: string): IconMeta | undefined;
48
+ /**
49
+ * Check whether a sprite has been registered.
50
+ */
51
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"hasIconSprite","stability":"stable","signature":"() => boolean"} */
52
+ export declare function hasIconSprite(): boolean;
53
+ /**
54
+ * Get the registered sprite URL.
55
+ *
56
+ * Returns `null` if no sprite has been registered.
57
+ */
58
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getSpriteUrl","stability":"stable","signature":"() => string | null"} */
59
+ export declare function getSpriteUrl(): string | null;
60
+ /**
61
+ * Clear the icon registry. Primarily used for testing.
62
+ */
63
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"clearIconRegistry","stability":"stable","signature":"() => void"} */
64
+ export declare function clearIconRegistry(): void;
65
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/icons/registry.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AA+BF,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAMD;;;;;;;;;GASG;AACH,+LAA+L;AAC/L,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC9B,IAAI,CA8BN;AAED;;;;GAIG;AACH,2KAA2K;AAC3K,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW3C;AAED;;;;GAIG;AACH,sIAAsI;AACtI,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,uJAAuJ;AACvJ,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,gIAAgI;AAChI,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,qIAAqI;AACrI,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAE5C;AAED;;GAEG;AACH,iIAAiI;AACjI,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC"}
@@ -0,0 +1,126 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.ui-kit.icon-registry",
4
+ "title": "Icon Sprite Registry",
5
+ "category": "runtime"
6
+ }
7
+ */
8
+ /**
9
+ * Runtime icon sprite registry.
10
+ *
11
+ * **Client-only** — uses module-level singleton state. Do NOT use in SSR
12
+ * request handlers as state would be shared across requests. For SSR,
13
+ * icons should be resolved at build time or use a per-request context.
14
+ *
15
+ * Tree-shakeable: only bundled when explicitly imported.
16
+ * The Vite plugin (`pithy:icons`) generates sprite assets and calls
17
+ * `registerIconSprite()` at app startup via the `virtual:pithy-icons` module.
18
+ */
19
+ // ---------------------------------------------------------------------------
20
+ // Internal state
21
+ // ---------------------------------------------------------------------------
22
+ /** Sprite URL registered via `registerIconSprite()` */
23
+ let spriteUrl = null;
24
+ /** Set of available icon names in the sprite */
25
+ const registeredNames = new Set();
26
+ /** Optional metadata per icon (viewBox, tags, etc.) */
27
+ const iconMeta = new Map();
28
+ // ---------------------------------------------------------------------------
29
+ // Registration API
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Register an SVG sprite and its available icon names.
33
+ *
34
+ * Typically called once at app startup from the `virtual:pithy-icons` module:
35
+ * ```ts
36
+ * import { SPRITE_URL, ICON_NAMES } from "virtual:pithy-icons";
37
+ * import { registerIconSprite } from "@pithyjs/ui-kit/icons";
38
+ * registerIconSprite(SPRITE_URL, ICON_NAMES);
39
+ * ```
40
+ */
41
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"registerIconSprite","stability":"stable","signature":"(url: string, names: string[], meta?: Record<string, IconMeta>) => void"} */
42
+ export function registerIconSprite(url, names, meta) {
43
+ const trimmedUrl = url?.trim() ?? '';
44
+ if (!trimmedUrl) {
45
+ if (import.meta.env?.DEV) {
46
+ console.warn(`[icon-registry] registerIconSprite() called with empty URL — icons will not resolve correctly.`);
47
+ }
48
+ clearIconRegistry();
49
+ return;
50
+ }
51
+ spriteUrl = trimmedUrl;
52
+ registeredNames.clear();
53
+ iconMeta.clear();
54
+ for (const name of names) {
55
+ const n = name.trim();
56
+ if (n)
57
+ registeredNames.add(n);
58
+ }
59
+ if (meta) {
60
+ for (const [name, m] of Object.entries(meta)) {
61
+ const trimmedName = name.trim();
62
+ if (trimmedName && registeredNames.has(trimmedName)) {
63
+ iconMeta.set(trimmedName, m);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * Look up an icon by name and return the sprite `<use>` href.
70
+ *
71
+ * Returns `null` if the icon is not registered or no sprite has been loaded.
72
+ */
73
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"lookupIcon","stability":"stable","signature":"(name: string) => { href: string; viewBox?: string } | null"} */
74
+ export function lookupIcon(name) {
75
+ const trimmed = name?.trim();
76
+ if (!trimmed || !spriteUrl || !registeredNames.has(trimmed)) {
77
+ return null;
78
+ }
79
+ const meta = iconMeta.get(trimmed);
80
+ return {
81
+ href: `${spriteUrl}#${trimmed}`,
82
+ viewBox: meta?.viewBox,
83
+ };
84
+ }
85
+ /**
86
+ * Enumerate all registered icon names.
87
+ *
88
+ * Used by the site builder icon picker to populate the icon grid.
89
+ */
90
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getRegisteredIcons","stability":"stable","signature":"() => string[]"} */
91
+ export function getRegisteredIcons() {
92
+ return [...registeredNames].sort();
93
+ }
94
+ /**
95
+ * Get metadata for a specific icon.
96
+ */
97
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getIconMeta","stability":"stable","signature":"(name: string) => IconMeta | undefined"} */
98
+ export function getIconMeta(name) {
99
+ return iconMeta.get(name?.trim());
100
+ }
101
+ /**
102
+ * Check whether a sprite has been registered.
103
+ */
104
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"hasIconSprite","stability":"stable","signature":"() => boolean"} */
105
+ export function hasIconSprite() {
106
+ return spriteUrl !== null;
107
+ }
108
+ /**
109
+ * Get the registered sprite URL.
110
+ *
111
+ * Returns `null` if no sprite has been registered.
112
+ */
113
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"getSpriteUrl","stability":"stable","signature":"() => string | null"} */
114
+ export function getSpriteUrl() {
115
+ return spriteUrl;
116
+ }
117
+ /**
118
+ * Clear the icon registry. Primarily used for testing.
119
+ */
120
+ /** @codexApi {"parent":"pithy.ui-kit.icon-registry","name":"clearIconRegistry","stability":"stable","signature":"() => void"} */
121
+ export function clearIconRegistry() {
122
+ spriteUrl = null;
123
+ registeredNames.clear();
124
+ iconMeta.clear();
125
+ }
126
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/icons/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export { For, type ForProps } from './structural/For';
2
+ export { Show, type ShowProps } from './structural/Show';
3
+ export { NavLink, type NavLinkProps } from './structural/NavLink';
4
+ export { Lazy, type LazyProps } from './structural/Lazy';
5
+ export { ErrorBoundary, type ErrorBoundaryProps, } from './structural/ErrorBoundary';
6
+ export { Stack, type StackProps } from './layout/Stack';
7
+ export { Grid, type GridProps, type ResponsiveColumns } from './layout/Grid';
8
+ export { GridItem, type GridItemProps } from './layout/GridItem';
9
+ export { SmartContainer, type SmartContainerProps, } from './layout/SmartContainer';
10
+ export { PageSection, type PageSectionProps } from './layout/PageSection';
11
+ export { Button, type ButtonProps } from './atoms/actions/button/Button';
12
+ export { SegmentedControl, type SegmentedControlProps, type SegmentedItem, } from './atoms/actions/segmented-control/SegmentedControl';
13
+ export { IconGroup, type IconGroupProps, type IconGroupItem, } from './atoms/actions/icon-group/IconGroup';
14
+ export { IconButton, type IconButtonProps, } from './atoms/actions/icon-button/IconButton';
15
+ export { Tooltip, resetTooltipIdCounter, type TooltipProps, } from './atoms/feedback/tooltip/Tooltip';
16
+ export type { FormControlBaseProps } from './shared/types';
17
+ export { Input, type InputProps } from './atoms/forms/input/Input';
18
+ export { Select, type SelectProps } from './atoms/forms/select/Select';
19
+ export type { SelectOption } from './shared/select';
20
+ export { Textarea, type TextareaProps } from './atoms/forms/textarea/Textarea';
21
+ export { Checkbox, type CheckboxProps } from './atoms/forms/checkbox/Checkbox';
22
+ export { CheckboxGroup, type CheckboxGroupProps, } from './atoms/forms/checkbox/CheckboxGroup';
23
+ export { Radio, type RadioProps } from './atoms/forms/radio/Radio';
24
+ export { RadioGroup, type RadioGroupProps, } from './atoms/forms/radio/RadioGroup';
25
+ export { Toggle, type ToggleProps } from './atoms/forms/toggle/Toggle';
26
+ export { FilePicker, type FilePickerProps, } from './atoms/forms/file-picker/FilePicker';
27
+ export { FormField, type FormFieldProps, } from './atoms/forms/form-field/FormField';
28
+ export { createFormState, type FormState, type FormStateOptions, type ValidateOn, } from './organisms/forms/form-state';
29
+ export { checkRule, validateField, type ValidationRule, } from './organisms/forms/validation';
30
+ export { Form, type FormProps, type FormResult } from './organisms/forms/Form';
31
+ export { DynamicForm, type DynamicFormProps, type FormConfig, type FieldConfig, } from './organisms/forms/DynamicForm';
32
+ export { Navbar, type NavbarProps, type NavbarItem, } from './organisms/navigation/Navbar';
33
+ export { Modal, type ModalProps } from './organisms/feedback/Modal';
34
+ export { Popover, type PopoverProps } from './organisms/feedback/Popover';
35
+ export { Card, type CardProps } from './organisms/content/Card';
36
+ export { CARD_VARIANTS, CARD_PADDINGS, CARD_RADII, CARD_MEDIA_ASPECTS, type CardVariant, type CardPadding, type CardRadius, type CardMediaAspect, } from './shared/card';
37
+ export { Badge, type BadgeProps } from './atoms/content/badge/Badge';
38
+ export { Text, type TextProps } from './atoms/content/text/Text';
39
+ export { Heading, type HeadingProps } from './atoms/content/heading/Heading';
40
+ export { Image, type ImageProps, type ImageSource, } from './atoms/content/image/Image';
41
+ export { Icon, type IconProps } from './atoms/content/icon/Icon';
42
+ export { Tile, type TileProps } from './atoms/content/tile/Tile';
43
+ export { ActionTile, type ActionTileProps, } from './atoms/content/action-tile/ActionTile';
44
+ export { readReactive, hasReactive, bindReactive, guardClick, type Reactive, type ReactiveText, } from './shared/clickable';
45
+ export { FOCUSABLE_SELECTOR, getFirstFocusable } from './shared/focusable';
46
+ export { HeroSection, type HeroSectionProps, } from './sections/hero/HeroSection';
47
+ export { FeaturesSection, type FeaturesSectionProps, type FeatureItem, } from './sections/features/FeaturesSection';
48
+ export { CTASection, type CTASectionProps } from './sections/cta/CTASection';
49
+ export { ContactSection, type ContactSectionProps, type ContactInfo, } from './sections/contact/ContactSection';
50
+ export { FooterSection, type FooterSectionProps, type FooterLinkGroup, } from './sections/footer/FooterSection';
51
+ export { observeEntrance, ENTRANCE_CLASSES, type ObserveEntranceOptions, } from './sections/entrance';
52
+ export { resetSectionIdCounter } from './shared/section';
53
+ export { setEntranceConfig, getEntranceConfig, type EntrancePreset, type EntranceConfig, } from './shared/entrance-config';
54
+ export { animateIn } from './animation/animate-in';
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,64 @@
1
+ // Structural components
2
+ export { For } from './structural/For';
3
+ export { Show } from './structural/Show';
4
+ export { NavLink } from './structural/NavLink';
5
+ export { Lazy } from './structural/Lazy';
6
+ export { ErrorBoundary, } from './structural/ErrorBoundary';
7
+ // Layout components
8
+ export { Stack } from './layout/Stack';
9
+ export { Grid } from './layout/Grid';
10
+ export { GridItem } from './layout/GridItem';
11
+ export { SmartContainer, } from './layout/SmartContainer';
12
+ export { PageSection } from './layout/PageSection';
13
+ // Action components
14
+ export { Button } from './atoms/actions/button/Button';
15
+ export { SegmentedControl, } from './atoms/actions/segmented-control/SegmentedControl';
16
+ export { IconGroup, } from './atoms/actions/icon-group/IconGroup';
17
+ export { IconButton, } from './atoms/actions/icon-button/IconButton';
18
+ export { Tooltip, resetTooltipIdCounter, } from './atoms/feedback/tooltip/Tooltip';
19
+ export { Input } from './atoms/forms/input/Input';
20
+ export { Select } from './atoms/forms/select/Select';
21
+ export { Textarea } from './atoms/forms/textarea/Textarea';
22
+ export { Checkbox } from './atoms/forms/checkbox/Checkbox';
23
+ export { CheckboxGroup, } from './atoms/forms/checkbox/CheckboxGroup';
24
+ export { Radio } from './atoms/forms/radio/Radio';
25
+ export { RadioGroup, } from './atoms/forms/radio/RadioGroup';
26
+ export { Toggle } from './atoms/forms/toggle/Toggle';
27
+ export { FilePicker, } from './atoms/forms/file-picker/FilePicker';
28
+ export { FormField, } from './atoms/forms/form-field/FormField';
29
+ // Form organisms
30
+ export { createFormState, } from './organisms/forms/form-state';
31
+ export { checkRule, validateField, } from './organisms/forms/validation';
32
+ export { Form } from './organisms/forms/Form';
33
+ export { DynamicForm, } from './organisms/forms/DynamicForm';
34
+ // Navigation organisms
35
+ export { Navbar, } from './organisms/navigation/Navbar';
36
+ // Feedback organisms
37
+ export { Modal } from './organisms/feedback/Modal';
38
+ export { Popover } from './organisms/feedback/Popover';
39
+ // Content organisms
40
+ export { Card } from './organisms/content/Card';
41
+ export { CARD_VARIANTS, CARD_PADDINGS, CARD_RADII, CARD_MEDIA_ASPECTS, } from './shared/card';
42
+ // Content components
43
+ export { Badge } from './atoms/content/badge/Badge';
44
+ export { Text } from './atoms/content/text/Text';
45
+ export { Heading } from './atoms/content/heading/Heading';
46
+ export { Image, } from './atoms/content/image/Image';
47
+ export { Icon } from './atoms/content/icon/Icon';
48
+ export { Tile } from './atoms/content/tile/Tile';
49
+ export { ActionTile, } from './atoms/content/action-tile/ActionTile';
50
+ // Shared
51
+ export { readReactive, hasReactive, bindReactive, guardClick, } from './shared/clickable';
52
+ export { FOCUSABLE_SELECTOR, getFirstFocusable } from './shared/focusable';
53
+ // Section templates
54
+ export { HeroSection, } from './sections/hero/HeroSection';
55
+ export { FeaturesSection, } from './sections/features/FeaturesSection';
56
+ export { CTASection } from './sections/cta/CTASection';
57
+ export { ContactSection, } from './sections/contact/ContactSection';
58
+ export { FooterSection, } from './sections/footer/FooterSection';
59
+ export { observeEntrance, ENTRANCE_CLASSES, } from './sections/entrance';
60
+ export { resetSectionIdCounter } from './shared/section';
61
+ export { setEntranceConfig, getEntranceConfig, } from './shared/entrance-config';
62
+ // Animation
63
+ export { animateIn } from './animation/animate-in';
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,GAAG,EAAiB,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAkB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAkB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,aAAa,GAEd,MAAM,4BAA4B,CAAC;AAEpC,oBAAoB;AACpB,OAAO,EAAE,KAAK,EAAmB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,IAAI,EAA0C,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAsB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,sBAAsB,CAAC;AAE1E,oBAAoB;AACpB,OAAO,EAAE,MAAM,EAAoB,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,gBAAgB,GAGjB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,SAAS,GAGV,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,UAAU,GAEX,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,OAAO,EACP,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,KAAK,EAAmB,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAsB,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAsB,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EACL,aAAa,GAEd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAmB,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,UAAU,GAEX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AACvE,OAAO,EACL,UAAU,GAEX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAE5C,iBAAiB;AACjB,OAAO,EACL,eAAe,GAIhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,SAAS,EACT,aAAa,GAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,IAAI,EAAmC,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,WAAW,GAIZ,MAAM,+BAA+B,CAAC;AAEvC,uBAAuB;AACvB,OAAO,EACL,MAAM,GAGP,MAAM,+BAA+B,CAAC;AAEvC,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAmB,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAqB,MAAM,8BAA8B,CAAC;AAE1E,oBAAoB;AACpB,OAAO,EAAE,IAAI,EAAkB,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,kBAAkB,GAKnB,MAAM,eAAe,CAAC;AAEvB,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAmB,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,IAAI,EAAkB,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAqB,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACL,KAAK,GAGN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,IAAI,EAAkB,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAkB,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,UAAU,GAEX,MAAM,wCAAwC,CAAC;AAEhD,SAAS;AACT,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,GAGX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,oBAAoB;AACpB,OAAO,EACL,WAAW,GAEZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,GAGhB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAwB,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,cAAc,GAGf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,GAGd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EACf,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.ui-kit.grid",
4
+ "title": "<Grid> Layout Component",
5
+ "category": "feature"
6
+ }
7
+ */
8
+ import { type AlignItems, type JustifyContent } from '../shared/common';
9
+ import { type SpacingSize, type ContainerBreakpoint } from '@pithyjs/design-system';
10
+ /** @codexApi {"parent":"pithy.ui-kit.grid","name":"ResponsiveColumns","stability":"stable","signature":"type ResponsiveColumns = { base?: number } & Partial<Record<ContainerBreakpoint, number>>"} */
11
+ export type ResponsiveColumns = {
12
+ /** Base columns (mobile-first default, default: 1) */
13
+ base?: number;
14
+ } & Partial<Record<ContainerBreakpoint, number>>;
15
+ /** @codexApi {"parent":"pithy.ui-kit.grid","name":"GridProps","stability":"stable","signature":"interface GridProps"} */
16
+ export interface GridProps {
17
+ /** Column configuration: number, responsive object, or "auto-fit"/"auto-fill" (default: 1) */
18
+ columns?: number | ResponsiveColumns | 'auto-fit' | 'auto-fill';
19
+ /** Number of rows (1-6, optional) */
20
+ rows?: number;
21
+ /** Gap between children — maps to u-gap-* utilities (default: "md") */
22
+ gap?: SpacingSize;
23
+ /** Override gap for rows only — maps to u-row-gap-* */
24
+ rowGap?: SpacingSize;
25
+ /** Override gap for columns only — maps to u-col-gap-* */
26
+ colGap?: SpacingSize;
27
+ /** Cross-axis alignment — maps to u-items-* utilities */
28
+ align?: AlignItems;
29
+ /** Main-axis justification — maps to u-justify-* utilities */
30
+ justify?: JustifyContent;
31
+ /** CSS value for min column width, e.g. "250px", "15rem". Used by auto-fit/fill
32
+ * and as the collapse threshold for fluid fixed-column grids
33
+ * (default: auto-fit/fill uses 200px, fluid uses 9.375rem) */
34
+ minColumnWidth?: string;
35
+ /** HTML tag to render (default: "div") */
36
+ as?: keyof HTMLElementTagNameMap;
37
+ }
38
+ /**
39
+ * Layout atom that arranges children in a CSS grid.
40
+ *
41
+ * Mobile-first: defaults to 1 column. Supports simple column counts (which
42
+ * are fluid-responsive by default), explicit responsive breakpoints via
43
+ * container queries, and intrinsic auto-fit/fill patterns.
44
+ *
45
+ * When `columns` is a number ≥ 2, the grid uses a fluid CSS formula that
46
+ * targets that exact column count at wide widths but gracefully collapses
47
+ * to fewer columns at narrow widths — no breakpoints required.
48
+ *
49
+ * @example
50
+ * ```html
51
+ * <!-- Fluid 3-column grid (collapses gracefully on mobile) -->
52
+ * <Grid columns="3" gap="'lg'">
53
+ * <div>Cell 1</div>
54
+ * <div>Cell 2</div>
55
+ * <div>Cell 3</div>
56
+ * </Grid>
57
+ *
58
+ * <!-- Explicit responsive: 1 col mobile → 2 col tablet → 3 col desktop -->
59
+ * <Grid columns="{ base: 1, sm: 2, lg: 3 }">
60
+ * <div>A</div>
61
+ * <div>B</div>
62
+ * <div>C</div>
63
+ * </Grid>
64
+ *
65
+ * <!-- Auto-fit with minimum 250px columns -->
66
+ * <Grid columns="'auto-fit'" minColumnWidth="'250px'">
67
+ * <div>Card</div>
68
+ * <div>Card</div>
69
+ * <div>Card</div>
70
+ * </Grid>
71
+ * ```
72
+ */
73
+ /** @codexApi {"parent":"pithy.ui-kit.grid","name":"Grid","stability":"stable","signature":"(props?: GridProps) => { el: HTMLElement | DocumentFragment; destroy: () => void }"} */
74
+ export declare function Grid({ columns, rows, gap: rawGap, rowGap: rawRowGap, colGap: rawColGap, align: rawAlign, justify: rawJustify, minColumnWidth, as, }?: GridProps): {
75
+ el: HTMLElement | DocumentFragment;
76
+ destroy: () => void;
77
+ };
78
+ //# sourceMappingURL=Grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/layout/Grid.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAGF,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAIhC,uMAAuM;AACvM,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjD,yHAAyH;AACzH,MAAM,WAAW,SAAS;IACxB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;IAChE,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,yDAAyD;IACzD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;mEAE+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;CAClC;AA0ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,mLAAmL;AACnL,wBAAgB,IAAI,CAAC,EACnB,OAAW,EACX,IAAgB,EAChB,GAAG,EAAE,MAAa,EAClB,MAAM,EAAE,SAAqB,EAC7B,MAAM,EAAE,SAAqB,EAC7B,KAAK,EAAE,QAAoB,EAC3B,OAAO,EAAE,UAAsB,EAC/B,cAA0B,EAC1B,EAAU,GACX,GAAE,SAAc,GAAG;IAClB,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAiNA"}