@simplysm/solid 13.0.28 → 13.0.30

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 (379) hide show
  1. package/README.md +15 -9
  2. package/dist/components/data/Pagination.d.ts +4 -5
  3. package/dist/components/data/Pagination.d.ts.map +1 -1
  4. package/dist/components/data/Pagination.js +14 -14
  5. package/dist/components/data/Pagination.js.map +2 -2
  6. package/dist/components/data/Table.js +1 -1
  7. package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
  8. package/dist/components/data/calendar/Calendar.js +1 -1
  9. package/dist/components/data/calendar/Calendar.js.map +1 -1
  10. package/dist/components/data/kanban/Kanban.d.ts +9 -9
  11. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  12. package/dist/components/data/kanban/Kanban.js +6 -6
  13. package/dist/components/data/kanban/Kanban.js.map +2 -2
  14. package/dist/components/data/list/List.d.ts.map +1 -1
  15. package/dist/components/data/list/List.js.map +1 -1
  16. package/dist/components/data/list/ListItem.d.ts.map +1 -1
  17. package/dist/components/data/list/ListItem.js.map +1 -1
  18. package/dist/components/data/permission-table/PermissionTable.d.ts.map +1 -1
  19. package/dist/components/data/permission-table/PermissionTable.js.map +1 -1
  20. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  21. package/dist/components/data/sheet/DataSheet.js +102 -107
  22. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  23. package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
  24. package/dist/components/data/sheet/DataSheet.styles.js +24 -6
  25. package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
  26. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  27. package/dist/components/data/sheet/DataSheetColumn.js.map +1 -1
  28. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  29. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +1 -1
  30. package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
  31. package/dist/components/data/sheet/sheetUtils.js.map +1 -1
  32. package/dist/components/data/sheet/types.d.ts +2 -2
  33. package/dist/components/data/sheet/types.d.ts.map +1 -1
  34. package/dist/components/disclosure/Collapse.d.ts.map +1 -1
  35. package/dist/components/disclosure/Collapse.js +0 -3
  36. package/dist/components/disclosure/Collapse.js.map +1 -1
  37. package/dist/components/disclosure/Dialog.d.ts +8 -8
  38. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  39. package/dist/components/disclosure/Dialog.js +64 -69
  40. package/dist/components/disclosure/Dialog.js.map +2 -2
  41. package/dist/components/disclosure/DialogContext.d.ts +4 -4
  42. package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
  43. package/dist/components/disclosure/DialogContext.js.map +1 -1
  44. package/dist/components/disclosure/DialogProvider.d.ts.map +1 -1
  45. package/dist/components/disclosure/DialogProvider.js +8 -8
  46. package/dist/components/disclosure/DialogProvider.js.map +2 -2
  47. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  48. package/dist/components/disclosure/Dropdown.js.map +1 -1
  49. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  50. package/dist/components/disclosure/Tabs.js.map +1 -1
  51. package/dist/components/display/Alert.d.ts.map +1 -1
  52. package/dist/components/display/Alert.js.map +1 -1
  53. package/dist/components/display/Card.d.ts +0 -1
  54. package/dist/components/display/Card.d.ts.map +1 -1
  55. package/dist/components/display/Card.js +1 -2
  56. package/dist/components/display/Card.js.map +1 -1
  57. package/dist/components/display/Echarts.d.ts +1 -1
  58. package/dist/components/display/Echarts.d.ts.map +1 -1
  59. package/dist/components/display/Echarts.js +2 -2
  60. package/dist/components/display/Echarts.js.map +2 -2
  61. package/dist/components/display/Link.d.ts +5 -0
  62. package/dist/components/display/Link.d.ts.map +1 -0
  63. package/dist/components/display/Link.js +26 -0
  64. package/dist/components/display/Link.js.map +6 -0
  65. package/dist/components/feedback/Progress.d.ts +3 -3
  66. package/dist/components/feedback/Progress.d.ts.map +1 -1
  67. package/dist/components/feedback/Progress.js +1 -1
  68. package/dist/components/feedback/Progress.js.map +2 -2
  69. package/dist/components/feedback/busy/BusyContainer.d.ts +13 -0
  70. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -0
  71. package/dist/components/feedback/{loading/LoadingContainer.js → busy/BusyContainer.js} +20 -13
  72. package/dist/components/feedback/busy/BusyContainer.js.map +6 -0
  73. package/dist/components/feedback/busy/BusyContext.d.ts +11 -0
  74. package/dist/components/feedback/busy/BusyContext.d.ts.map +1 -0
  75. package/dist/components/feedback/busy/BusyContext.js +14 -0
  76. package/dist/components/feedback/busy/BusyContext.js.map +6 -0
  77. package/dist/components/feedback/busy/BusyProvider.d.ts +7 -0
  78. package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -0
  79. package/dist/components/feedback/{loading/LoadingProvider.js → busy/BusyProvider.js} +7 -7
  80. package/dist/components/feedback/busy/BusyProvider.js.map +6 -0
  81. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  82. package/dist/components/feedback/notification/NotificationBanner.js +1 -1
  83. package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
  84. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
  85. package/dist/components/feedback/notification/NotificationBell.js +4 -2
  86. package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
  87. package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -1
  88. package/dist/components/feedback/notification/NotificationContext.js.map +1 -1
  89. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  90. package/dist/components/feedback/notification/NotificationProvider.js +1 -0
  91. package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
  92. package/dist/components/form-control/Button.d.ts.map +1 -1
  93. package/dist/components/form-control/Button.js +2 -2
  94. package/dist/components/form-control/Button.js.map +1 -1
  95. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
  96. package/dist/components/form-control/DropdownTrigger.styles.js +6 -1
  97. package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
  98. package/dist/components/form-control/Invalid.d.ts +4 -2
  99. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  100. package/dist/components/form-control/Invalid.js +81 -41
  101. package/dist/components/form-control/Invalid.js.map +2 -2
  102. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  103. package/dist/components/form-control/ThemeToggle.js +4 -5
  104. package/dist/components/form-control/ThemeToggle.js.map +2 -2
  105. package/dist/components/form-control/checkbox/Checkbox.d.ts +4 -2
  106. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  107. package/dist/components/form-control/checkbox/Checkbox.js +65 -52
  108. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  109. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -2
  110. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  111. package/dist/components/form-control/checkbox/Checkbox.styles.js +8 -10
  112. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  113. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +9 -9
  114. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  115. package/dist/components/form-control/checkbox/CheckboxGroup.js +10 -82
  116. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  117. package/dist/components/form-control/checkbox/Radio.d.ts +4 -2
  118. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  119. package/dist/components/form-control/checkbox/Radio.js +64 -51
  120. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  121. package/dist/components/form-control/checkbox/RadioGroup.d.ts +9 -9
  122. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  123. package/dist/components/form-control/checkbox/RadioGroup.js +10 -77
  124. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  125. package/dist/components/form-control/color-picker/ColorPicker.d.ts +8 -3
  126. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  127. package/dist/components/form-control/color-picker/ColorPicker.js +43 -26
  128. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  129. package/dist/components/form-control/combobox/Combobox.d.ts +8 -8
  130. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  131. package/dist/components/form-control/combobox/Combobox.js +72 -59
  132. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  133. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  134. package/dist/components/form-control/editor/EditorToolbar.js +3 -2
  135. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  136. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
  137. package/dist/components/form-control/editor/RichTextEditor.js.map +1 -1
  138. package/dist/components/form-control/field/DatePicker.d.ts +6 -0
  139. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  140. package/dist/components/form-control/field/DatePicker.js +138 -117
  141. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  142. package/dist/components/form-control/field/DateTimePicker.d.ts +6 -0
  143. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  144. package/dist/components/form-control/field/DateTimePicker.js +138 -115
  145. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  146. package/dist/components/form-control/field/Field.styles.d.ts +14 -0
  147. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
  148. package/dist/components/form-control/field/Field.styles.js +47 -3
  149. package/dist/components/form-control/field/Field.styles.js.map +1 -1
  150. package/dist/components/form-control/field/FieldPlaceholder.d.ts +7 -0
  151. package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -0
  152. package/dist/components/form-control/field/FieldPlaceholder.js +34 -0
  153. package/dist/components/form-control/field/FieldPlaceholder.js.map +6 -0
  154. package/dist/components/form-control/field/NumberInput.d.ts +13 -0
  155. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  156. package/dist/components/form-control/field/NumberInput.js +163 -111
  157. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  158. package/dist/components/form-control/field/TextInput.d.ts +16 -1
  159. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  160. package/dist/components/form-control/field/TextInput.js +177 -114
  161. package/dist/components/form-control/field/TextInput.js.map +2 -2
  162. package/dist/components/form-control/field/Textarea.d.ts +10 -0
  163. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  164. package/dist/components/form-control/field/Textarea.js +156 -121
  165. package/dist/components/form-control/field/Textarea.js.map +2 -2
  166. package/dist/components/form-control/field/TimePicker.d.ts +10 -0
  167. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  168. package/dist/components/form-control/field/TimePicker.js +126 -94
  169. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  170. package/dist/components/form-control/select/Select.d.ts +7 -9
  171. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  172. package/dist/components/form-control/select/Select.js +71 -60
  173. package/dist/components/form-control/select/Select.js.map +2 -2
  174. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
  175. package/dist/components/form-control/select/SelectItem.js.map +1 -1
  176. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
  177. package/dist/components/form-control/state-preset/StatePreset.js +2 -1
  178. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  179. package/dist/components/layout/FormGroup.d.ts.map +1 -1
  180. package/dist/components/layout/FormGroup.js.map +1 -1
  181. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  182. package/dist/components/layout/sidebar/Sidebar.js +1 -1
  183. package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
  184. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -1
  185. package/dist/components/layout/sidebar/SidebarContainer.js.map +1 -1
  186. package/dist/components/layout/sidebar/SidebarMenu.js +1 -1
  187. package/dist/components/layout/sidebar/SidebarMenu.js.map +1 -1
  188. package/dist/components/layout/sidebar/SidebarUser.d.ts.map +1 -1
  189. package/dist/components/layout/sidebar/SidebarUser.js +4 -4
  190. package/dist/components/layout/sidebar/SidebarUser.js.map +1 -1
  191. package/dist/components/layout/topbar/Topbar.js +1 -1
  192. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
  193. package/dist/components/layout/topbar/TopbarMenu.js.map +1 -1
  194. package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -1
  195. package/dist/components/layout/topbar/TopbarUser.js.map +1 -1
  196. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  197. package/dist/helpers/createAppStructure.js +17 -12
  198. package/dist/helpers/createAppStructure.js.map +1 -1
  199. package/dist/helpers/mergeStyles.d.ts.map +1 -1
  200. package/dist/helpers/mergeStyles.js +4 -1
  201. package/dist/helpers/mergeStyles.js.map +1 -1
  202. package/dist/helpers/splitSlots.d.ts.map +1 -1
  203. package/dist/helpers/splitSlots.js.map +1 -1
  204. package/dist/hooks/createControllableSignal.d.ts.map +1 -1
  205. package/dist/hooks/createControllableSignal.js.map +1 -1
  206. package/dist/hooks/createItemTemplate.d.ts +17 -0
  207. package/dist/hooks/createItemTemplate.d.ts.map +1 -0
  208. package/dist/hooks/createItemTemplate.js +40 -0
  209. package/dist/hooks/createItemTemplate.js.map +6 -0
  210. package/dist/hooks/createPointerDrag.d.ts +13 -0
  211. package/dist/hooks/createPointerDrag.d.ts.map +1 -0
  212. package/dist/hooks/createPointerDrag.js +15 -0
  213. package/dist/hooks/createPointerDrag.js.map +6 -0
  214. package/dist/hooks/createSelectionGroup.d.ts +70 -0
  215. package/dist/hooks/createSelectionGroup.d.ts.map +1 -0
  216. package/dist/hooks/createSelectionGroup.js +141 -0
  217. package/dist/hooks/createSelectionGroup.js.map +6 -0
  218. package/dist/hooks/useClipboardValueCopy.js +3 -1
  219. package/dist/hooks/useClipboardValueCopy.js.map +1 -1
  220. package/dist/hooks/useLocalStorage.d.ts +5 -3
  221. package/dist/hooks/useLocalStorage.d.ts.map +1 -1
  222. package/dist/hooks/useLocalStorage.js.map +1 -1
  223. package/dist/hooks/usePrint.d.ts.map +1 -1
  224. package/dist/hooks/usePrint.js +5 -3
  225. package/dist/hooks/usePrint.js.map +1 -1
  226. package/dist/hooks/{createPwaUpdate.d.ts → usePwaUpdate.d.ts} +2 -2
  227. package/dist/hooks/usePwaUpdate.d.ts.map +1 -0
  228. package/dist/hooks/{createPwaUpdate.js → usePwaUpdate.js} +3 -3
  229. package/dist/hooks/usePwaUpdate.js.map +6 -0
  230. package/dist/hooks/useRouterLink.d.ts.map +1 -1
  231. package/dist/hooks/useRouterLink.js.map +1 -1
  232. package/dist/hooks/useSyncConfig.d.ts +3 -3
  233. package/dist/hooks/useSyncConfig.d.ts.map +1 -1
  234. package/dist/hooks/useSyncConfig.js +6 -7
  235. package/dist/hooks/useSyncConfig.js.map +1 -1
  236. package/dist/index.d.ts +5 -6
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.js +6 -7
  239. package/dist/index.js.map +1 -1
  240. package/dist/providers/ConfigContext.d.ts +2 -2
  241. package/dist/providers/ConfigContext.d.ts.map +1 -1
  242. package/dist/providers/InitializeProvider.js +5 -5
  243. package/dist/providers/InitializeProvider.js.map +2 -2
  244. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  245. package/dist/providers/ServiceClientProvider.js.map +1 -1
  246. package/dist/providers/ThemeContext.d.ts.map +1 -1
  247. package/dist/providers/ThemeContext.js +2 -1
  248. package/dist/providers/ThemeContext.js.map +2 -2
  249. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -1
  250. package/dist/providers/shared-data/SharedDataChangeEvent.js +1 -3
  251. package/dist/providers/shared-data/SharedDataChangeEvent.js.map +1 -1
  252. package/dist/providers/shared-data/SharedDataContext.d.ts +1 -1
  253. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
  254. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  255. package/dist/providers/shared-data/SharedDataProvider.js +6 -6
  256. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  257. package/dist/styles/patterns.styles.d.ts +1 -0
  258. package/dist/styles/patterns.styles.d.ts.map +1 -1
  259. package/dist/styles/patterns.styles.js +12 -1
  260. package/dist/styles/patterns.styles.js.map +1 -1
  261. package/dist/styles/tokens.styles.d.ts +2 -1
  262. package/dist/styles/tokens.styles.d.ts.map +1 -1
  263. package/dist/styles/tokens.styles.js +1 -1
  264. package/dist/styles/tokens.styles.js.map +1 -1
  265. package/docs/data-components.md +34 -5
  266. package/docs/disclosure.md +28 -8
  267. package/docs/display.md +19 -2
  268. package/docs/feedback.md +35 -12
  269. package/docs/form-controls.md +289 -33
  270. package/docs/hooks.md +21 -9
  271. package/docs/layout.md +15 -3
  272. package/docs/providers.md +120 -8
  273. package/docs/styling.md +90 -0
  274. package/package.json +3 -3
  275. package/src/components/data/Pagination.tsx +26 -22
  276. package/src/components/data/Table.tsx +1 -1
  277. package/src/components/data/calendar/Calendar.tsx +19 -5
  278. package/src/components/data/kanban/Kanban.tsx +72 -35
  279. package/src/components/data/list/List.tsx +11 -4
  280. package/src/components/data/list/ListItem.tsx +12 -2
  281. package/src/components/data/permission-table/PermissionTable.tsx +32 -5
  282. package/src/components/data/sheet/DataSheet.styles.ts +24 -6
  283. package/src/components/data/sheet/DataSheet.tsx +215 -149
  284. package/src/components/data/sheet/DataSheetColumn.tsx +5 -1
  285. package/src/components/data/sheet/DataSheetConfigDialog.tsx +27 -5
  286. package/src/components/data/sheet/sheetUtils.ts +12 -3
  287. package/src/components/data/sheet/types.ts +2 -2
  288. package/src/components/disclosure/Collapse.tsx +14 -3
  289. package/src/components/disclosure/Dialog.tsx +122 -106
  290. package/src/components/disclosure/DialogContext.ts +8 -5
  291. package/src/components/disclosure/DialogProvider.tsx +19 -7
  292. package/src/components/disclosure/Dropdown.tsx +12 -2
  293. package/src/components/disclosure/Tabs.tsx +29 -5
  294. package/src/components/display/Alert.tsx +3 -4
  295. package/src/components/display/Card.tsx +1 -2
  296. package/src/components/display/Echarts.tsx +12 -5
  297. package/src/components/display/Link.tsx +22 -0
  298. package/src/components/feedback/Progress.tsx +9 -5
  299. package/src/components/feedback/{loading/LoadingContainer.tsx → busy/BusyContainer.tsx} +52 -19
  300. package/src/components/feedback/busy/BusyContext.ts +20 -0
  301. package/src/components/feedback/{loading/LoadingProvider.tsx → busy/BusyProvider.tsx} +10 -10
  302. package/src/components/feedback/notification/NotificationBanner.tsx +14 -3
  303. package/src/components/feedback/notification/NotificationBell.tsx +21 -15
  304. package/src/components/feedback/notification/NotificationContext.ts +4 -1
  305. package/src/components/feedback/notification/NotificationProvider.tsx +4 -1
  306. package/src/components/form-control/Button.tsx +8 -3
  307. package/src/components/form-control/DropdownTrigger.styles.ts +7 -1
  308. package/src/components/form-control/Invalid.tsx +114 -48
  309. package/src/components/form-control/ThemeToggle.tsx +9 -18
  310. package/src/components/form-control/checkbox/Checkbox.styles.ts +7 -10
  311. package/src/components/form-control/checkbox/Checkbox.tsx +39 -28
  312. package/src/components/form-control/checkbox/CheckboxGroup.tsx +18 -97
  313. package/src/components/form-control/checkbox/Radio.tsx +39 -28
  314. package/src/components/form-control/checkbox/RadioGroup.tsx +18 -92
  315. package/src/components/form-control/color-picker/ColorPicker.tsx +51 -18
  316. package/src/components/form-control/combobox/Combobox.tsx +53 -35
  317. package/src/components/form-control/editor/EditorToolbar.tsx +19 -19
  318. package/src/components/form-control/editor/RichTextEditor.tsx +22 -4
  319. package/src/components/form-control/field/DatePicker.tsx +99 -93
  320. package/src/components/form-control/field/DateTimePicker.tsx +115 -96
  321. package/src/components/form-control/field/Field.styles.ts +62 -3
  322. package/src/components/form-control/field/FieldPlaceholder.tsx +18 -0
  323. package/src/components/form-control/field/NumberInput.tsx +136 -84
  324. package/src/components/form-control/field/TextInput.tsx +135 -88
  325. package/src/components/form-control/field/Textarea.tsx +126 -99
  326. package/src/components/form-control/field/TimePicker.tsx +101 -71
  327. package/src/components/form-control/select/Select.tsx +75 -42
  328. package/src/components/form-control/select/SelectItem.tsx +3 -1
  329. package/src/components/form-control/state-preset/StatePreset.tsx +41 -22
  330. package/src/components/layout/FormGroup.tsx +11 -2
  331. package/src/components/layout/sidebar/Sidebar.tsx +3 -2
  332. package/src/components/layout/sidebar/SidebarContainer.tsx +8 -1
  333. package/src/components/layout/sidebar/SidebarMenu.tsx +8 -2
  334. package/src/components/layout/sidebar/SidebarUser.tsx +12 -7
  335. package/src/components/layout/topbar/Topbar.tsx +1 -1
  336. package/src/components/layout/topbar/TopbarMenu.tsx +27 -5
  337. package/src/components/layout/topbar/TopbarUser.tsx +5 -1
  338. package/src/helpers/createAppStructure.ts +29 -15
  339. package/src/helpers/mergeStyles.ts +6 -2
  340. package/src/helpers/splitSlots.ts +4 -1
  341. package/src/hooks/createControllableSignal.ts +2 -1
  342. package/src/hooks/createItemTemplate.tsx +42 -0
  343. package/src/hooks/createPointerDrag.ts +28 -0
  344. package/src/hooks/createSelectionGroup.tsx +235 -0
  345. package/src/hooks/useClipboardValueCopy.ts +5 -2
  346. package/src/hooks/useLocalStorage.ts +11 -5
  347. package/src/hooks/usePrint.ts +9 -4
  348. package/src/hooks/{createPwaUpdate.ts → usePwaUpdate.ts} +1 -1
  349. package/src/hooks/useRouterLink.ts +3 -1
  350. package/src/hooks/useSyncConfig.ts +9 -13
  351. package/src/index.ts +6 -7
  352. package/src/providers/ConfigContext.ts +2 -2
  353. package/src/providers/InitializeProvider.tsx +4 -4
  354. package/src/providers/ServiceClientProvider.tsx +14 -3
  355. package/src/providers/ThemeContext.tsx +12 -3
  356. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -3
  357. package/src/providers/shared-data/SharedDataContext.ts +1 -1
  358. package/src/providers/shared-data/SharedDataProvider.tsx +13 -8
  359. package/src/styles/patterns.styles.ts +13 -1
  360. package/src/styles/tokens.styles.ts +2 -1
  361. package/tailwind.config.ts +9 -0
  362. package/tailwind.css +1 -1
  363. package/dist/components/display/Card.css +0 -15
  364. package/dist/components/feedback/loading/LoadingContainer.d.ts +0 -12
  365. package/dist/components/feedback/loading/LoadingContainer.d.ts.map +0 -1
  366. package/dist/components/feedback/loading/LoadingContainer.js.map +0 -6
  367. package/dist/components/feedback/loading/LoadingContext.d.ts +0 -11
  368. package/dist/components/feedback/loading/LoadingContext.d.ts.map +0 -1
  369. package/dist/components/feedback/loading/LoadingContext.js +0 -14
  370. package/dist/components/feedback/loading/LoadingContext.js.map +0 -6
  371. package/dist/components/feedback/loading/LoadingProvider.d.ts +0 -7
  372. package/dist/components/feedback/loading/LoadingProvider.d.ts.map +0 -1
  373. package/dist/components/feedback/loading/LoadingProvider.js.map +0 -6
  374. package/dist/hooks/createPwaUpdate.d.ts.map +0 -1
  375. package/dist/hooks/createPwaUpdate.js.map +0 -6
  376. package/src/components/display/Card.css +0 -15
  377. package/src/components/feedback/loading/LoadingContext.ts +0 -20
  378. /package/dist/components/feedback/{loading/LoadingContainer.css → busy/BusyContainer.css} +0 -0
  379. /package/src/components/feedback/{loading/LoadingContainer.css → busy/BusyContainer.css} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/form-control/Button.tsx"],
4
- "mappings": ";;;;;;;AAAA,SAAyCA,kBAAkB;AAC3D,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,aAAqDC,uBAAuB;AAGrF,KAAKF;AAML,MAAMG,YAAYL,KAChB,4BACA,aACA,aACA,kBACA,eACA,kBACA,qBACA,WACA,sBACA,wBACA,6BACA,SACF;AAEA,MAAMM,eAAeC,OAAOC,YAC1BD,OAAOE,QAAQN,WAAW,EAAEO,IAAI,CAAC,CAACC,OAAOC,CAAC,MAAM,CAC9CD,OACA;EACEE,OAAOb,KAAKY,EAAEC,OAAOD,EAAEE,UAAU;EACjCC,SAASf,KAAK,kBAAkBY,EAAEI,SAASJ,EAAEK,MAAML,EAAEM,MAAM;EAC3DC,OAAOnB,KAAK,kBAAkBY,EAAEI,SAASJ,EAAEK,IAAI;AACjD,CAAC,CACF,CACH;AAEA,MAAMG,cAA0C;EAC9CC,IAAIrB,KAAK,mBAAmB;EAC5BsB,IAAItB,KAAK,qBAAqB;EAC9BuB,IAAIvB,KAAK,4BAA4B;AACvC;AASO,MAAMwB,SAAwCC,WAAU;AAC7D,QAAM,CAACC,OAAOC,IAAI,IAAI5B,WAAW0B,OAAO,CACtC,YACA,SACA,QACA,SACA,WACA,QACA,SACA,UAAU,CACX;AAED,QAAMG,eAAeA,MAAM;AACzB,UAAMjB,QAAQe,MAAMf,SAAS;AAC7B,UAAMkB,UAAUH,MAAMG,WAAW;AAEjC,WAAO5B,QACLI,WACAC,aAAaK,KAAK,EAAEkB,OAAO,GAC3BH,MAAMI,QAAQV,YAAYM,MAAMI,IAAI,GACpCJ,MAAMK,SAAS,4BACfL,MAAMM,YAAY5B,iBAClBsB,MAAMO,KACR;EACF;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,UAIQlC,QAAMgC,MAAA,MAAE,CAACR,MAAMM,QAAQ;AAAAK,aAAAH,MAAAI,aAFvBX,MAAI;MAAA,eAAA;MAAA,IAGRY,OAAI;AAAA,eAAEb,MAAMa,QAAQ;MAAQ;MAAA,KAAA,OAAA,IAAA;AAAA,eACrBX,aAAa;MAAC;MAAA,IACrBI,WAAQ;AAAA,eAAEN,MAAMM;MAAQ;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAQ,aAAAN,MAAA,MAEvBR,MAAMe,QAAQ;AAAA,WAAAP;EAAA,GAAA;AAGrB;",
4
+ "mappings": ";;;;;;;AAAA,SAAyCA,kBAAkB;AAC3D,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SACEC,aAGAC,uBACK;AAGP,KAAKF;AAML,MAAMG,YAAYL,KAChB,4BACA,aACA,aACA,kBACA,eACA,kBACA,cACA,WACA,sBACA,wBACA,6BACA,SACF;AAEA,MAAMM,eAAeC,OAAOC,YAC1BD,OAAOE,QAAQN,WAAW,EAAEO,IAAI,CAAC,CAACC,OAAOC,CAAC,MAAM,CAC9CD,OACA;EACEE,OAAOb,KAAKY,EAAEC,OAAOD,EAAEE,YAAY,2BAA2B;EAC9DC,SAASf,KAAK,kBAAkBY,EAAEI,SAASJ,EAAEK,MAAML,EAAEM,MAAM;EAC3DC,OAAOnB,KAAK,kBAAkBY,EAAEI,SAASJ,EAAEK,IAAI;AACjD,CAAC,CACF,CACH;AAEA,MAAMG,cAA0C;EAC9CC,IAAIrB,KAAK,mBAAmB;EAC5BsB,IAAItB,KAAK,qBAAqB;EAC9BuB,IAAIvB,KAAK,4BAA4B;AACvC;AASO,MAAMwB,SAAwCC,WAAU;AAC7D,QAAM,CAACC,OAAOC,IAAI,IAAI5B,WAAW0B,OAAO,CACtC,YACA,SACA,QACA,SACA,WACA,QACA,SACA,UAAU,CACX;AAED,QAAMG,eAAeA,MAAM;AACzB,UAAMjB,QAAQe,MAAMf,SAAS;AAC7B,UAAMkB,UAAUH,MAAMG,WAAW;AAEjC,WAAO5B,QACLI,WACAC,aAAaK,KAAK,EAAEkB,OAAO,GAC3BH,MAAMI,QAAQV,YAAYM,MAAMI,IAAI,GACpCJ,MAAMK,SAAS,4BACfL,MAAMM,YAAY5B,iBAClBsB,MAAMO,KACR;EACF;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,UAIQlC,QAAMgC,MAAA,MAAE,CAACR,MAAMM,QAAQ;AAAAK,aAAAH,MAAAI,aAFvBX,MAAI;MAAA,eAAA;MAAA,IAGRY,OAAI;AAAA,eAAEb,MAAMa,QAAQ;MAAQ;MAAA,KAAA,OAAA,IAAA;AAAA,eACrBX,aAAa;MAAC;MAAA,IACrBI,WAAQ;AAAA,eAAEN,MAAMM;MAAQ;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAQ,aAAAN,MAAA,MAEvBR,MAAMe,QAAQ;AAAA,WAAAP;EAAA,GAAA;AAGrB;",
5
5
  "names": ["splitProps", "clsx", "twMerge", "ripple", "themeTokens", "disabledOpacity", "baseClass", "themeClasses", "Object", "fromEntries", "entries", "map", "theme", "t", "solid", "solidHover", "outline", "hoverBg", "text", "border", "ghost", "sizeClasses", "sm", "lg", "xl", "Button", "props", "local", "rest", "getClassName", "variant", "size", "inset", "disabled", "class", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "type", "_$insert", "children"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownTrigger.styles.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/DropdownTrigger.styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,aAAa,EAAmC,MAAM,4BAA4B,CAAC;AAGhH,eAAO,MAAM,gBAAgB,QAW5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAA2D,CAAC;AAE1F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAI5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAST"}
1
+ {"version":3,"file":"DropdownTrigger.styles.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/DropdownTrigger.styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAInB,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,gBAAgB,QAW5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAA2D,CAAC;AAE1F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAI5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAST"}
@@ -1,6 +1,11 @@
1
1
  import clsx from "clsx";
2
2
  import { twMerge } from "tailwind-merge";
3
- import { borderDefault, paddingLg, paddingSm, paddingXl } from "../../styles/tokens.styles.js";
3
+ import {
4
+ borderDefault,
5
+ paddingLg,
6
+ paddingSm,
7
+ paddingXl
8
+ } from "../../styles/tokens.styles.js";
4
9
  import { insetBase, insetFocusOutlineSelf } from "../../styles/patterns.styles.js";
5
10
  const triggerBaseClass = clsx(
6
11
  "inline-flex items-center gap-2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/form-control/DropdownTrigger.styles.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB,SAAS,eAAmC,WAAW,WAAW,iBAAiB;AACnF,SAAS,WAAW,6BAA6B;AAE1C,MAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,uBAAuB;AAAA,EAClC;AACF;AAEO,MAAM,oBAAoB,KAAK,WAAW,kBAAkB,qBAAqB;AAEjF,MAAM,qBAAoD;AAAA,EAC/D,IAAI,KAAK,WAAW,SAAS;AAAA,EAC7B,IAAI,KAAK,SAAS,SAAS;AAAA,EAC3B,IAAI,KAAK,WAAW,SAAS;AAC/B;AAEO,MAAM,sBAAsB,KAAK,cAAc,mBAAmB;AAGlE,SAAS,gBAAgB,SAKrB;AACT,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ,mBAAmB,QAAQ,IAAI;AAAA,IAC/C,QAAQ,YAAY;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;",
4
+ "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB;AAAA,EACE;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,6BAA6B;AAE1C,MAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,uBAAuB;AAAA,EAClC;AACF;AAEO,MAAM,oBAAoB,KAAK,WAAW,kBAAkB,qBAAqB;AAEjF,MAAM,qBAAoD;AAAA,EAC/D,IAAI,KAAK,WAAW,SAAS;AAAA,EAC7B,IAAI,KAAK,SAAS,SAAS;AAAA,EAC3B,IAAI,KAAK,WAAW,SAAS;AAC/B;AAEO,MAAM,sBAAsB,KAAK,cAAc,mBAAmB;AAGlE,SAAS,gBAAgB,SAKrB;AACT,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ,mBAAmB,QAAQ,IAAI;AAAA,IAC/C,QAAQ,YAAY;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;",
5
5
  "names": []
6
6
  }
@@ -3,8 +3,10 @@ import "@simplysm/core-browser";
3
3
  export interface InvalidProps {
4
4
  /** Validation error message. Non-empty = invalid. */
5
5
  message?: string;
6
- /** Custom class */
7
- class?: string;
6
+ /** Visual indicator variant */
7
+ variant?: "border" | "dot";
8
+ /** When true, visual display only appears after target loses focus */
9
+ touchMode?: boolean;
8
10
  }
9
11
  export declare const Invalid: ParentComponent<InvalidProps>;
10
12
  //# sourceMappingURL=Invalid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Invalid.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/Invalid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAA4B,MAAM,UAAU,CAAC;AAG1E,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,eAAO,MAAM,OAAO,EAAE,eAAe,CAAC,YAAY,CAoCjD,CAAC"}
1
+ {"version":3,"file":"Invalid.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/Invalid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAmD,MAAM,UAAU,CAAC;AACjG,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC3B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,eAAe,CAAC,YAAY,CAsHjD,CAAC"}
@@ -1,51 +1,91 @@
1
- import { template as _$template } from "solid-js/web";
2
- import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
3
- import { effect as _$effect } from "solid-js/web";
4
- import { insert as _$insert } from "solid-js/web";
5
- import { use as _$use } from "solid-js/web";
6
- import { className as _$className } from "solid-js/web";
7
- import { spread as _$spread } from "solid-js/web";
8
- import { mergeProps as _$mergeProps } from "solid-js/web";
9
- var _tmpl$ = /* @__PURE__ */ _$template(`<div><span><span></span></span><input type=text tabindex=-1 aria-hidden=true>`);
10
- import { createEffect, splitProps } from "solid-js";
11
- import clsx from "clsx";
12
- import { twMerge } from "tailwind-merge";
1
+ import { memo as _$memo } from "solid-js/web";
2
+ import { children, createEffect, createSignal, onCleanup } from "solid-js";
13
3
  import "@simplysm/core-browser";
14
- const anchorClass = clsx("relative inline-block", "size-0 align-top", "overflow-visible", "pointer-events-none select-none");
15
- const indicatorClass = clsx("absolute left-0.5 top-0.5", "size-1.5 rounded-full", "bg-danger-500");
16
- const hiddenInputClass = clsx("absolute bottom-0 left-0.5", "size-px opacity-0", "pointer-events-none -z-10", "select-none");
17
4
  const Invalid = (props) => {
18
- const [local, rest] = splitProps(props, ["message", "class", "children"]);
19
- let hiddenInputEl;
5
+ const hiddenInputEl = document.createElement("input");
6
+ hiddenInputEl.type = "text";
7
+ hiddenInputEl.style.cssText = "position:absolute; bottom:0; left:50%; width:1px; height:1px; opacity:0; pointer-events:none; z-index:-10;";
8
+ hiddenInputEl.autocomplete = "off";
9
+ hiddenInputEl.tabIndex = -1;
10
+ hiddenInputEl.setAttribute("aria-hidden", "true");
11
+ const [touched, setTouched] = createSignal(false);
12
+ const resolved = children(() => props.children);
20
13
  createEffect(() => {
21
- const msg = local.message ?? "";
14
+ const msg = props.message ?? "";
22
15
  hiddenInputEl.setCustomValidity(msg);
23
16
  });
24
- const handleHiddenInputFocus = (e) => {
25
- const container = e.currentTarget.parentElement;
26
- if (!container) return;
27
- const focusable = container.findFirstFocusableChild();
28
- if (focusable && focusable !== e.currentTarget) {
29
- focusable.focus();
17
+ createEffect(() => {
18
+ const targetEl = resolved.toArray().find((el) => el instanceof HTMLElement);
19
+ if (!targetEl) return;
20
+ const computedPosition = getComputedStyle(targetEl).position;
21
+ if (computedPosition === "static") {
22
+ targetEl.style.position = "relative";
30
23
  }
31
- };
32
- return (() => {
33
- var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
34
- _$spread(_el$, _$mergeProps(rest, {
35
- get ["class"]() {
36
- return twMerge("inline", local.class);
24
+ targetEl.appendChild(hiddenInputEl);
25
+ onCleanup(() => {
26
+ if (hiddenInputEl.parentElement === targetEl) {
27
+ targetEl.removeChild(hiddenInputEl);
28
+ }
29
+ });
30
+ });
31
+ createEffect(() => {
32
+ const variant = props.variant ?? "dot";
33
+ const message = props.message ?? "";
34
+ const touchMode = props.touchMode ?? false;
35
+ const isTouched = touched();
36
+ const targetEl = resolved.toArray().find((el) => el instanceof HTMLElement);
37
+ if (!targetEl) return;
38
+ const shouldShow = message !== "" && (!touchMode || isTouched);
39
+ if (variant === "border") {
40
+ if (shouldShow) {
41
+ targetEl.classList.add("border-danger-500");
42
+ } else {
43
+ targetEl.classList.remove("border-danger-500");
37
44
  }
38
- }), false, true);
39
- _$className(_el$2, anchorClass);
40
- _$className(_el$3, indicatorClass);
41
- _$insert(_el$, () => local.children, _el$4);
42
- _el$4.addEventListener("focus", handleHiddenInputFocus);
43
- var _ref$ = hiddenInputEl;
44
- typeof _ref$ === "function" ? _$use(_ref$, _el$4) : hiddenInputEl = _el$4;
45
- _$className(_el$4, hiddenInputClass);
46
- _$effect((_$p) => _$setStyleProperty(_el$3, "display", (local.message ?? "") !== "" ? "block" : "none"));
47
- return _el$;
48
- })();
45
+ onCleanup(() => {
46
+ targetEl.classList.remove("border-danger-500");
47
+ });
48
+ } else {
49
+ const existingDot = targetEl.querySelector("[data-invalid-dot]");
50
+ if (existingDot) {
51
+ existingDot.remove();
52
+ }
53
+ if (shouldShow) {
54
+ const dot = document.createElement("span");
55
+ dot.setAttribute("data-invalid-dot", "");
56
+ dot.style.cssText = "position:absolute; top:2px; right:2px; width:6px; height:6px; border-radius:50%; background:red; pointer-events:none;";
57
+ targetEl.appendChild(dot);
58
+ }
59
+ onCleanup(() => {
60
+ const dot = targetEl.querySelector("[data-invalid-dot]");
61
+ if (dot) {
62
+ dot.remove();
63
+ }
64
+ });
65
+ }
66
+ });
67
+ createEffect(() => {
68
+ if (!(props.touchMode ?? false)) return;
69
+ const targetEl = resolved.toArray().find((el) => el instanceof HTMLElement);
70
+ if (!targetEl) return;
71
+ const handleFocusOut = () => {
72
+ setTouched(true);
73
+ };
74
+ targetEl.addEventListener("focusout", handleFocusOut);
75
+ onCleanup(() => {
76
+ targetEl.removeEventListener("focusout", handleFocusOut);
77
+ });
78
+ });
79
+ hiddenInputEl.addEventListener("focus", () => {
80
+ const targetEl = resolved.toArray().find((el) => el instanceof HTMLElement);
81
+ if (targetEl) {
82
+ const focusable = targetEl.findFirstFocusableChild() ?? (targetEl.tabIndex >= 0 ? targetEl : void 0);
83
+ if (focusable && focusable !== hiddenInputEl) {
84
+ focusable.focus();
85
+ }
86
+ }
87
+ });
88
+ return _$memo(resolved);
49
89
  };
50
90
  export {
51
91
  Invalid
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/form-control/Invalid.tsx"],
4
- "mappings": ";;;;;;;;;AAAA,SAA+BA,cAAcC,kBAAkB;AAC/D,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,OAAO;AASP,MAAMC,cAAcF,KAClB,yBACA,oBACA,oBACA,iCACF;AAEA,MAAMG,iBAAiBH,KAAK,6BAA6B,yBAAyB,eAAe;AAEjG,MAAMI,mBAAmBJ,KACvB,8BACA,qBACA,6BACA,aACF;AAEO,MAAMK,UAA0CC,WAAU;AAC/D,QAAM,CAACC,OAAOC,IAAI,IAAIT,WAAWO,OAAO,CAAC,WAAW,SAAS,UAAU,CAAC;AAExE,MAAIG;AAGJX,eAAa,MAAM;AACjB,UAAMY,MAAMH,MAAMI,WAAW;AAC7BF,kBAAcG,kBAAkBF,GAAG;EACrC,CAAC;AAED,QAAMG,yBAA0BC,OAAkB;AAChD,UAAMC,YAAaD,EAAEE,cAA8BC;AACnD,QAAI,CAACF,UAAW;AAChB,UAAMG,YAAYH,UAAUI,wBAAwB;AACpD,QAAID,aAAaA,cAAcJ,EAAEE,eAAe;AAC9CE,gBAAUE,MAAM;IAClB;EACF;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA,GAAAC,QAAAF,KAAAG,YAAAC,QAAAF,MAAAC,YAAAE,QAAAH,MAAAI;AAAAC,aAAAP,MAAAQ,aACWrB,MAAI;MAAA,KAAA,OAAA,IAAA;AAAA,eAASP,QAAQ,UAAUM,MAAMuB,KAAK;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAC,gBAAAR,OACrCrB,WAAW;AAAA6B,gBAAAN,OACTtB,cAAc;AAAA6B,aAAAX,MAAA,MAE5Bd,MAAM0B,UAAQP,KAAA;AAAAA,UAAAQ,iBAAA,SAOJrB,sBAAsB;AAAA,QAAAsB,QAL1B1B;AAAa,WAAA0B,UAAA,aAAAC,MAAAD,OAAAT,KAAA,IAAbjB,gBAAaiB;AAAAK,gBAAAL,OAEXtB,gBAAgB;AAAAiC,aAAAC,SAAAC,mBAAAd,OAAA,YANyBlB,MAAMI,WAAW,QAAQ,KAAK,UAAU,MAAM,CAAA;AAAA,WAAAU;EAAA,GAAA;AAatG;",
5
- "names": ["createEffect", "splitProps", "clsx", "twMerge", "anchorClass", "indicatorClass", "hiddenInputClass", "Invalid", "props", "local", "rest", "hiddenInputEl", "msg", "message", "setCustomValidity", "handleHiddenInputFocus", "e", "container", "currentTarget", "parentElement", "focusable", "findFirstFocusableChild", "focus", "_el$", "_tmpl$", "_el$2", "firstChild", "_el$3", "_el$4", "nextSibling", "_$spread", "_$mergeProps", "class", "_$className", "_$insert", "children", "addEventListener", "_ref$", "_$use", "_$effect", "_$p", "_$setStyleProperty"]
4
+ "mappings": "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",
5
+ "names": ["children", "createEffect", "createSignal", "onCleanup", "Invalid", "props", "hiddenInputEl", "document", "createElement", "type", "style", "cssText", "autocomplete", "tabIndex", "setAttribute", "touched", "setTouched", "resolved", "msg", "message", "setCustomValidity", "targetEl", "toArray", "find", "el", "HTMLElement", "computedPosition", "getComputedStyle", "position", "appendChild", "parentElement", "removeChild", "variant", "touchMode", "isTouched", "shouldShow", "classList", "add", "remove", "existingDot", "querySelector", "dot", "handleFocusOut", "addEventListener", "removeEventListener", "focusable", "findFirstFocusableChild", "undefined", "focus", "_$memo"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAA6B,MAAM,UAAU,CAAC;AAuC/E,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACrG,YAAY;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAiCnD,CAAC"}
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../src/components/form-control/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAA6B,MAAM,UAAU,CAAC;AA0B/E,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC3C,UAAU,CACX;IACC,YAAY;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAkCnD,CAAC"}
@@ -6,17 +6,16 @@ import { spread as _$spread } from "solid-js/web";
6
6
  import { mergeProps as _$mergeProps } from "solid-js/web";
7
7
  var _tmpl$ = /* @__PURE__ */ _$template(`<button>`);
8
8
  import { splitProps, Switch, Match } from "solid-js";
9
- import clsx from "clsx";
10
9
  import { twMerge } from "tailwind-merge";
11
10
  import { IconSun, IconMoon, IconDeviceDesktop } from "@tabler/icons-solidjs";
12
11
  import { useTheme } from "../../providers/ThemeContext.js";
13
12
  import { Icon } from "../display/Icon.js";
14
13
  import { ripple } from "../../directives/ripple.js";
14
+ import { iconButtonBase } from "../../styles/patterns.styles.js";
15
15
  void ripple;
16
- const baseClass = clsx("inline-flex", "items-center", "justify-center", "cursor-pointer", "rounded", "transition-colors", "text-base-500 dark:text-base-400", "hover:bg-base-200 dark:hover:bg-base-700", "focus:outline-none", "focus-visible:ring-2");
17
16
  const sizeClasses = {
18
- sm: clsx("p-1"),
19
- lg: clsx("p-2")
17
+ sm: "p-1",
18
+ lg: "p-2"
20
19
  };
21
20
  const iconSizes = {
22
21
  sm: "1em",
@@ -33,7 +32,7 @@ const ThemeToggle = (props) => {
33
32
  mode,
34
33
  cycleMode
35
34
  } = useTheme();
36
- const getClassName = () => twMerge(baseClass, "p-1.5", local.size && sizeClasses[local.size], local.class);
35
+ const getClassName = () => twMerge(iconButtonBase, "p-1.5", local.size && sizeClasses[local.size], local.class);
37
36
  const iconSize = () => local.size ? iconSizes[local.size] : "1.25em";
38
37
  return (() => {
39
38
  var _el$ = _tmpl$();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/form-control/ThemeToggle.tsx"],
4
- "mappings": ";;;;;;;AAAA,SAAmCA,YAAYC,QAAQC,aAAa;AACpE,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,SAASC,UAAUC,yBAAyB;AACrD,SAASC,gBAAgC;AACzC,SAASC,YAAY;AACrB,SAASC,cAAc;AAEvB,KAAKA;AAEL,MAAMC,YAAYR,KAChB,eACA,gBACA,kBACA,kBACA,WACA,qBACA,oCACA,4CACA,sBACA,sBACF;AAEA,MAAMS,cAA2C;EAC/CC,IAAIV,KAAK,KAAK;EACdW,IAAIX,KAAK,KAAK;AAChB;AAEA,MAAMY,YAAyC;EAC7CF,IAAI;EACJC,IAAI;AACN;AAEA,MAAME,aAAwC;EAC5CC,OAAO;EACPC,QAAQ;EACRC,MAAM;AACR;AAyBO,MAAMC,cAA4CC,WAAU;AACjE,QAAM,CAACC,OAAOC,IAAI,IAAIvB,WAAWqB,OAAO,CAAC,SAAS,MAAM,CAAC;AAEzD,QAAM;IAAEG;IAAMC;EAAU,IAAIjB,SAAS;AAErC,QAAMkB,eAAeA,MAAMtB,QAAQO,WAAW,SAASW,MAAMK,QAAQf,YAAYU,MAAMK,IAAI,GAAGL,MAAMM,KAAK;AAEzG,QAAMC,WAAWA,MAAOP,MAAMK,OAAOZ,UAAUO,MAAMK,IAAI,IAAI;AAE7D,UAAA,MAAA;AAAA,QAAAG,OAAAC,OAAA;AAAAC,UAIQtB,QAAMoB,MAAA,MAAA,IAAA;AAAAG,aAAAH,MAAAI,aAFNX,MAAI;MAAA,qBAAA;MAAA,QAGH;MAAQ,KAAA,OAAA,IAAA;AAAA,eACNG,aAAa;MAAC;MAAA,WACZD;MAAS,IAClBU,QAAK;AAAA,eAAEnB,WAAWQ,KAAK,CAAC;MAAC;MAAA,KAAA,YAAA,IAAA;AAAA,eACbR,WAAWQ,KAAK,CAAC;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAY,aAAAN,MAAAO,kBAE7BpC,QAAM;MAAA,IAAAqC,WAAA;AAAA,eAAA,CAAAD,kBACJnC,OAAK;UAAA,IAACqC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAO;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC5B5B,MAAI;cAAC+B,MAAMnC;cAAO,IAAEsB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,GAAAQ,kBAEtCnC,OAAK;UAAA,IAACqC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAQ;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC7B5B,MAAI;cAAC+B,MAAMjC;cAAiB,IAAEoB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,GAAAQ,kBAEhDnC,OAAK;UAAA,IAACqC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAM;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC3B5B,MAAI;cAAC+B,MAAMlC;cAAQ,IAAEqB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,CAAA;MAAA;IAAA,CAAA,CAAA;AAAA,WAAAC;EAAA,GAAA;AAKhD;",
5
- "names": ["splitProps", "Switch", "Match", "clsx", "twMerge", "IconSun", "IconMoon", "IconDeviceDesktop", "useTheme", "Icon", "ripple", "baseClass", "sizeClasses", "sm", "lg", "iconSizes", "modeLabels", "light", "system", "dark", "ThemeToggle", "props", "local", "rest", "mode", "cycleMode", "getClassName", "size", "class", "iconSize", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "title", "_$insert", "_$createComponent", "children", "when", "icon"]
4
+ "mappings": ";;;;;;;AAAA,SAAmCA,YAAYC,QAAQC,aAAa;AACpE,SAASC,eAAe;AACxB,SAASC,SAASC,UAAUC,yBAAyB;AACrD,SAASC,gBAAgC;AACzC,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,sBAAsB;AAE/B,KAAKD;AAEL,MAAME,cAA2C;EAC/CC,IAAI;EACJC,IAAI;AACN;AAEA,MAAMC,YAAyC;EAC7CF,IAAI;EACJC,IAAI;AACN;AAEA,MAAME,aAAwC;EAC5CC,OAAO;EACPC,QAAQ;EACRC,MAAM;AACR;AA4BO,MAAMC,cAA4CC,WAAU;AACjE,QAAM,CAACC,OAAOC,IAAI,IAAItB,WAAWoB,OAAO,CAAC,SAAS,MAAM,CAAC;AAEzD,QAAM;IAAEG;IAAMC;EAAU,IAAIjB,SAAS;AAErC,QAAMkB,eAAeA,MACnBtB,QAAQO,gBAAgB,SAASW,MAAMK,QAAQf,YAAYU,MAAMK,IAAI,GAAGL,MAAMM,KAAK;AAErF,QAAMC,WAAWA,MAAOP,MAAMK,OAAOZ,UAAUO,MAAMK,IAAI,IAAI;AAE7D,UAAA,MAAA;AAAA,QAAAG,OAAAC,OAAA;AAAAC,UAIQtB,QAAMoB,MAAA,MAAA,IAAA;AAAAG,aAAAH,MAAAI,aAFNX,MAAI;MAAA,qBAAA;MAAA,QAGH;MAAQ,KAAA,OAAA,IAAA;AAAA,eACNG,aAAa;MAAC;MAAA,WACZD;MAAS,IAClBU,QAAK;AAAA,eAAEnB,WAAWQ,KAAK,CAAC;MAAC;MAAA,KAAA,YAAA,IAAA;AAAA,eACbR,WAAWQ,KAAK,CAAC;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAY,aAAAN,MAAAO,kBAE7BnC,QAAM;MAAA,IAAAoC,WAAA;AAAA,eAAA,CAAAD,kBACJlC,OAAK;UAAA,IAACoC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAO;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC5B5B,MAAI;cAAC+B,MAAMnC;cAAO,IAAEsB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,GAAAQ,kBAEtClC,OAAK;UAAA,IAACoC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAQ;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC7B5B,MAAI;cAAC+B,MAAMjC;cAAiB,IAAEoB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,GAAAQ,kBAEhDlC,OAAK;UAAA,IAACoC,OAAI;AAAA,mBAAEf,KAAK,MAAM;UAAM;UAAA,IAAAc,WAAA;AAAA,mBAAAD,kBAC3B5B,MAAI;cAAC+B,MAAMlC;cAAQ,IAAEqB,OAAI;AAAA,uBAAEE,SAAS;cAAC;YAAA,CAAA;UAAA;QAAA,CAAA,CAAA;MAAA;IAAA,CAAA,CAAA;AAAA,WAAAC;EAAA,GAAA;AAKhD;",
5
+ "names": ["splitProps", "Switch", "Match", "twMerge", "IconSun", "IconMoon", "IconDeviceDesktop", "useTheme", "Icon", "ripple", "iconButtonBase", "sizeClasses", "sm", "lg", "iconSizes", "modeLabels", "light", "system", "dark", "ThemeToggle", "props", "local", "rest", "mode", "cycleMode", "getClassName", "size", "class", "iconSize", "_el$", "_tmpl$", "_$use", "_$spread", "_$mergeProps", "title", "_$insert", "_$createComponent", "children", "when", "icon"]
6
6
  }
@@ -1,13 +1,15 @@
1
1
  import { type JSX, type ParentComponent } from "solid-js";
2
- import { type CheckboxTheme, type CheckboxSize } from "./Checkbox.styles";
2
+ import { type CheckboxSize } from "./Checkbox.styles";
3
3
  export interface CheckboxProps {
4
4
  value?: boolean;
5
5
  onValueChange?: (value: boolean) => void;
6
6
  disabled?: boolean;
7
7
  size?: CheckboxSize;
8
- theme?: CheckboxTheme;
9
8
  inset?: boolean;
10
9
  inline?: boolean;
10
+ required?: boolean;
11
+ validate?: (value: boolean) => string | undefined;
12
+ touchMode?: boolean;
11
13
  class?: string;
12
14
  style?: JSX.CSSProperties;
13
15
  children?: JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAM5E,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EASlB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,aAAa,CAsEnD,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAgC,MAAM,UAAU,CAAC;AAMxF,OAAO,EACL,KAAK,YAAY,EASlB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,aAAa,CA+EnD,CAAC"}
@@ -7,17 +7,18 @@ import { use as _$use } from "solid-js/web";
7
7
  import { spread as _$spread } from "solid-js/web";
8
8
  import { mergeProps as _$mergeProps } from "solid-js/web";
9
9
  import { memo as _$memo } from "solid-js/web";
10
- var _tmpl$ = /* @__PURE__ */ _$template(`<span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<label><div>`);
11
- import { Show, splitProps } from "solid-js";
10
+ var _tmpl$ = /* @__PURE__ */ _$template(`<span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class=inline-flex><label><div>`);
11
+ import { Show, splitProps, createMemo } from "solid-js";
12
12
  import { twMerge } from "tailwind-merge";
13
13
  import { IconCheck } from "@tabler/icons-solidjs";
14
14
  import { createControllableSignal } from "../../../hooks/createControllableSignal.js";
15
15
  import { ripple } from "../../../directives/ripple.js";
16
16
  import { Icon } from "../../display/Icon.js";
17
- import { checkboxBaseClass, indicatorBaseClass, themeCheckedClasses, checkboxSizeClasses, checkboxInsetClass, checkboxInsetSizeHeightClasses, checkboxInlineClass, checkboxDisabledClass } from "./Checkbox.styles.js";
17
+ import { checkboxBaseClass, indicatorBaseClass, checkedClass, checkboxSizeClasses, checkboxInsetClass, checkboxInsetSizeHeightClasses, checkboxInlineClass, checkboxDisabledClass } from "./Checkbox.styles.js";
18
+ import { Invalid } from "../Invalid.js";
18
19
  void ripple;
19
20
  const Checkbox = (props) => {
20
- const [local, rest] = splitProps(props, ["value", "onValueChange", "disabled", "size", "theme", "inset", "inline", "class", "style", "children"]);
21
+ const [local, rest] = splitProps(props, ["value", "onValueChange", "disabled", "size", "inset", "inline", "required", "validate", "touchMode", "class", "style", "children"]);
21
22
  const [value, setValue] = createControllableSignal({
22
23
  value: () => local.value ?? false,
23
24
  onChange: () => local.onValueChange
@@ -33,54 +34,66 @@ const Checkbox = (props) => {
33
34
  }
34
35
  };
35
36
  const getWrapperClass = () => twMerge(checkboxBaseClass, local.size && checkboxSizeClasses[local.size], local.inset && checkboxInsetClass, local.inset && local.size && checkboxInsetSizeHeightClasses[local.size], local.inline && checkboxInlineClass, local.disabled && checkboxDisabledClass, local.class);
36
- const getIndicatorClass = () => {
37
- const theme = local.theme ?? "primary";
38
- return twMerge(indicatorBaseClass, "rounded-sm", value() && themeCheckedClasses[theme]);
39
- };
40
- return (() => {
41
- var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
42
- _$use(ripple, _el$, () => !local.disabled);
43
- _$spread(_el$, _$mergeProps(rest, {
44
- "role": "checkbox",
45
- get ["aria-checked"]() {
46
- return value();
47
- },
48
- get tabIndex() {
49
- return local.disabled ? -1 : 0;
50
- },
51
- get ["class"]() {
52
- return getWrapperClass();
53
- },
54
- get style() {
55
- return local.style;
56
- },
57
- "onClick": handleClick,
58
- "onKeyDown": handleKeyDown
59
- }), false, true);
60
- _$insert(_el$2, _$createComponent(Show, {
61
- get when() {
62
- return value();
63
- },
64
- get children() {
65
- return _$createComponent(Icon, {
66
- icon: IconCheck,
67
- size: "1em"
68
- });
69
- }
70
- }));
71
- _$insert(_el$, _$createComponent(Show, {
72
- get when() {
73
- return local.children;
74
- },
75
- get children() {
76
- var _el$3 = _tmpl$();
77
- _$insert(_el$3, () => local.children);
78
- return _el$3;
79
- }
80
- }), null);
81
- _$effect(() => _$className(_el$2, getIndicatorClass()));
82
- return _el$;
83
- })();
37
+ const getIndicatorClass = () => twMerge(indicatorBaseClass, "rounded-sm", value() && checkedClass);
38
+ const errorMsg = createMemo(() => {
39
+ var _a;
40
+ const v = local.value ?? false;
41
+ if (local.required && !v) return "\uD544\uC218 \uC120\uD0DD \uD56D\uBAA9\uC785\uB2C8\uB2E4";
42
+ return (_a = local.validate) == null ? void 0 : _a.call(local, v);
43
+ });
44
+ return _$createComponent(Invalid, {
45
+ get message() {
46
+ return errorMsg();
47
+ },
48
+ variant: "border",
49
+ get touchMode() {
50
+ return local.touchMode;
51
+ },
52
+ get children() {
53
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
54
+ _$use(ripple, _el$2, () => !local.disabled);
55
+ _$spread(_el$2, _$mergeProps(rest, {
56
+ "role": "checkbox",
57
+ get ["aria-checked"]() {
58
+ return value();
59
+ },
60
+ get tabIndex() {
61
+ return local.disabled ? -1 : 0;
62
+ },
63
+ get ["class"]() {
64
+ return getWrapperClass();
65
+ },
66
+ get style() {
67
+ return local.style;
68
+ },
69
+ "onClick": handleClick,
70
+ "onKeyDown": handleKeyDown
71
+ }), false, true);
72
+ _$insert(_el$3, _$createComponent(Show, {
73
+ get when() {
74
+ return value();
75
+ },
76
+ get children() {
77
+ return _$createComponent(Icon, {
78
+ icon: IconCheck,
79
+ size: "1em"
80
+ });
81
+ }
82
+ }));
83
+ _$insert(_el$2, _$createComponent(Show, {
84
+ get when() {
85
+ return local.children;
86
+ },
87
+ get children() {
88
+ var _el$4 = _tmpl$();
89
+ _$insert(_el$4, () => local.children);
90
+ return _el$4;
91
+ }
92
+ }), null);
93
+ _$effect(() => _$className(_el$3, getIndicatorClass()));
94
+ return _el$;
95
+ }
96
+ });
84
97
  };
85
98
  export {
86
99
  Checkbox
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/form-control/checkbox/Checkbox.tsx"],
4
- "mappings": ";;;;;;;;;;AAAA,SAAyCA,MAAMC,kBAAkB;AACjE,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,gCAAgC;AACzC,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAGEC,mBACAC,oBACAC,qBACAC,qBACAC,oBACAC,gCACAC,qBACAC,6BACK;AAGP,KAAKT;AAeE,MAAMU,WAA4CC,WAAU;AACjE,QAAM,CAACC,OAAOC,IAAI,IAAIjB,WAAWe,OAAO,CACtC,SACA,iBACA,YACA,QACA,SACA,SACA,UACA,SACA,SACA,UAAU,CACX;AAED,QAAM,CAACG,OAAOC,QAAQ,IAAIhB,yBAAyB;IACjDe,OAAOA,MAAMF,MAAME,SAAS;IAC5BE,UAAUA,MAAMJ,MAAMK;EACxB,CAAC;AAED,QAAMC,cAAcA,MAAM;AACxB,QAAIN,MAAMO,SAAU;AACpBJ,aAAUK,OAAM,CAACA,CAAC;EACpB;AAEA,QAAMC,gBAAiBC,OAAqB;AAC1C,QAAIA,EAAEC,QAAQ,KAAK;AACjBD,QAAEE,eAAe;AACjBN,kBAAY;IACd;EACF;AAEA,QAAMO,kBAAkBA,MACtB5B,QACEK,mBACAU,MAAMc,QAAQrB,oBAAoBO,MAAMc,IAAI,GAC5Cd,MAAMe,SAASrB,oBACfM,MAAMe,SAASf,MAAMc,QAAQnB,+BAA+BK,MAAMc,IAAI,GACtEd,MAAMgB,UAAUpB,qBAChBI,MAAMO,YAAYV,uBAClBG,MAAMiB,KACR;AAEF,QAAMC,oBAAoBA,MAAM;AAC9B,UAAMC,QAAQnB,MAAMmB,SAAS;AAE7B,WAAOlC,QAAQM,oBAAoB,cAAcW,MAAM,KAAKV,oBAAoB2B,KAAK,CAAC;EACxF;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,QAAA,GAAAC,QAAAF,KAAAG;AAAAC,UAGQpC,QAAMgC,MAAA,MAAE,CAACpB,MAAMO,QAAQ;AAAAkB,aAAAL,MAAAM,aADvBzB,MAAI;MAAA,QAEH;MAAU,KAAA,cAAA,IAAA;AAAA,eACDC,MAAM;MAAC;MAAA,IACrByB,WAAQ;AAAA,eAAE3B,MAAMO,WAAW,KAAK;MAAC;MAAA,KAAA,OAAA,IAAA;AAAA,eAC1BM,gBAAgB;MAAC;MAAA,IACxBe,QAAK;AAAA,eAAE5B,MAAM4B;MAAK;MAAA,WACTtB;MAAW,aACTG;IAAa,CAAA,GAAA,OAAA,IAAA;AAAAoB,aAAAP,OAAAQ,kBAGrB/C,MAAI;MAAA,IAACgD,OAAI;AAAA,eAAE7B,MAAM;MAAC;MAAA,IAAA8B,WAAA;AAAA,eAAAF,kBAChBzC,MAAI;UAAC4C,MAAM/C;UAAW4B,MAAI;QAAA,CAAA;MAAA;IAAA,CAAA,CAAA;AAAAe,aAAAT,MAAAU,kBAG9B/C,MAAI;MAAA,IAACgD,OAAI;AAAA,eAAE/B,MAAMgC;MAAQ;MAAA,IAAAA,WAAA;AAAA,YAAAE,QAAAC,OAAA;AAAAN,iBAAAK,OAAA,MACjBlC,MAAMgC,QAAQ;AAAA,eAAAE;MAAA;IAAA,CAAA,GAAA,IAAA;AAAAE,aAAA,MAAAC,YAAAf,OANXJ,kBAAkB,CAAC,CAAA;AAAA,WAAAE;EAAA,GAAA;AAUrC;",
5
- "names": ["Show", "splitProps", "twMerge", "IconCheck", "createControllableSignal", "ripple", "Icon", "checkboxBaseClass", "indicatorBaseClass", "themeCheckedClasses", "checkboxSizeClasses", "checkboxInsetClass", "checkboxInsetSizeHeightClasses", "checkboxInlineClass", "checkboxDisabledClass", "Checkbox", "props", "local", "rest", "value", "setValue", "onChange", "onValueChange", "handleClick", "disabled", "v", "handleKeyDown", "e", "key", "preventDefault", "getWrapperClass", "size", "inset", "inline", "class", "getIndicatorClass", "theme", "_el$", "_tmpl$2", "_el$2", "firstChild", "_$use", "_$spread", "_$mergeProps", "tabIndex", "style", "_$insert", "_$createComponent", "when", "children", "icon", "_el$3", "_tmpl$", "_$effect", "_$className"]
4
+ "mappings": "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",
5
+ "names": ["Show", "splitProps", "createMemo", "twMerge", "IconCheck", "createControllableSignal", "ripple", "Icon", "checkboxBaseClass", "indicatorBaseClass", "checkedClass", "checkboxSizeClasses", "checkboxInsetClass", "checkboxInsetSizeHeightClasses", "checkboxInlineClass", "checkboxDisabledClass", "Invalid", "Checkbox", "props", "local", "rest", "value", "setValue", "onChange", "onValueChange", "handleClick", "disabled", "v", "handleKeyDown", "e", "key", "preventDefault", "getWrapperClass", "size", "inset", "inline", "class", "getIndicatorClass", "errorMsg", "required", "validate", "_$createComponent", "message", "variant", "touchMode", "children", "_el$", "_tmpl$2", "_el$2", "firstChild", "_el$3", "_$use", "_$spread", "_$mergeProps", "tabIndex", "style", "_$insert", "when", "icon", "_el$4", "_tmpl$", "_$effect", "_$className"]
6
6
  }
@@ -1,9 +1,8 @@
1
1
  import { type ComponentSize } from "../../../styles/tokens.styles";
2
- export type CheckboxTheme = "primary" | "info" | "success" | "warning" | "danger";
3
2
  export type CheckboxSize = ComponentSize;
4
3
  export declare const checkboxBaseClass: string;
5
4
  export declare const indicatorBaseClass: string;
6
- export declare const themeCheckedClasses: Record<CheckboxTheme, string>;
5
+ export declare const checkedClass: string;
7
6
  export declare const checkboxSizeClasses: Record<CheckboxSize, string>;
8
7
  export declare const checkboxInsetClass: string;
9
8
  export declare const checkboxInsetSizeHeightClasses: Record<CheckboxSize, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/Checkbox.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAClF,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAGzC,eAAO,MAAM,iBAAiB,QAU7B,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAO9B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAM7D,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI5D,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAAwF,CAAC;AAGxH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIvE,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAmC,CAAC;AAGpE,eAAO,MAAM,qBAAqB,kDAAkB,CAAC"}
1
+ {"version":3,"file":"Checkbox.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/Checkbox.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAGzC,eAAO,MAAM,iBAAiB,QAU7B,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAO9B,CAAC;AAGF,eAAO,MAAM,YAAY,QAA0D,CAAC;AAGpF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI5D,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAI9B,CAAC;AAGF,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIvE,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAmC,CAAC;AAGpE,eAAO,MAAM,qBAAqB,kDAAkB,CAAC"}
@@ -27,19 +27,17 @@ const indicatorBaseClass = clsx(
27
27
  bgSurface,
28
28
  "transition-colors"
29
29
  );
30
- const themeCheckedClasses = {
31
- primary: clsx("border-primary-500 bg-primary-500", "text-white"),
32
- info: clsx("border-info-500 bg-info-500", "text-white"),
33
- success: clsx("border-success-500 bg-success-500", "text-white"),
34
- warning: clsx("border-warning-500 bg-warning-500", "text-white"),
35
- danger: clsx("border-danger-500 bg-danger-500", "text-white")
36
- };
30
+ const checkedClass = clsx("border-primary-500 bg-primary-500", "text-white");
37
31
  const checkboxSizeClasses = {
38
32
  sm: clsx("h-field-sm", paddingSm),
39
33
  lg: clsx("h-field-lg", paddingLg),
40
34
  xl: clsx("h-field-xl", paddingXl)
41
35
  };
42
- const checkboxInsetClass = clsx("h-field-inset justify-center bg-transparent", insetBase, insetFocusOutlineSelf);
36
+ const checkboxInsetClass = clsx(
37
+ "h-field-inset justify-center bg-transparent",
38
+ insetBase,
39
+ insetFocusOutlineSelf
40
+ );
43
41
  const checkboxInsetSizeHeightClasses = {
44
42
  sm: "h-field-inset-sm",
45
43
  lg: "h-field-inset-lg",
@@ -54,7 +52,7 @@ export {
54
52
  checkboxInsetClass,
55
53
  checkboxInsetSizeHeightClasses,
56
54
  checkboxSizeClasses,
57
- indicatorBaseClass,
58
- themeCheckedClasses
55
+ checkedClass,
56
+ indicatorBaseClass
59
57
  };
60
58
  //# sourceMappingURL=Checkbox.styles.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/form-control/checkbox/Checkbox.styles.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,6BAA6B;AAM1C,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,sBAAqD;AAAA,EAChE,SAAS,KAAK,qCAAqC,YAAY;AAAA,EAC/D,MAAM,KAAK,+BAA+B,YAAY;AAAA,EACtD,SAAS,KAAK,qCAAqC,YAAY;AAAA,EAC/D,SAAS,KAAK,qCAAqC,YAAY;AAAA,EAC/D,QAAQ,KAAK,mCAAmC,YAAY;AAC9D;AAGO,MAAM,sBAAoD;AAAA,EAC/D,IAAI,KAAK,cAAc,SAAS;AAAA,EAChC,IAAI,KAAK,cAAc,SAAS;AAAA,EAChC,IAAI,KAAK,cAAc,SAAS;AAClC;AAGO,MAAM,qBAAqB,KAAK,+CAA+C,WAAW,qBAAqB;AAG/G,MAAM,iCAA+D;AAAA,EAC1E,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,MAAM,sBAAsB,KAAK,WAAW,QAAQ,OAAO;AAG3D,MAAM,wBAAwB;",
4
+ "mappings": "AAAA,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,6BAA6B;AAK1C,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,eAAe,KAAK,qCAAqC,YAAY;AAG3E,MAAM,sBAAoD;AAAA,EAC/D,IAAI,KAAK,cAAc,SAAS;AAAA,EAChC,IAAI,KAAK,cAAc,SAAS;AAAA,EAChC,IAAI,KAAK,cAAc,SAAS;AAClC;AAGO,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,iCAA+D;AAAA,EAC1E,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,MAAM,sBAAsB,KAAK,WAAW,QAAQ,OAAO;AAG3D,MAAM,wBAAwB;",
5
5
  "names": []
6
6
  }
@@ -1,26 +1,26 @@
1
1
  import { type JSX } from "solid-js";
2
- import type { CheckboxSize, CheckboxTheme } from "./Checkbox.styles";
3
- interface CheckboxGroupItemProps<TValue> {
4
- value: TValue;
5
- disabled?: boolean;
6
- children?: JSX.Element;
7
- }
8
- declare function CheckboxGroupItemInner<TValue>(props: CheckboxGroupItemProps<TValue>): JSX.Element;
2
+ import type { CheckboxSize } from "./Checkbox.styles";
9
3
  interface CheckboxGroupProps<TValue> {
10
4
  value?: TValue[];
11
5
  onValueChange?: (value: TValue[]) => void;
12
6
  disabled?: boolean;
13
7
  size?: CheckboxSize;
14
- theme?: CheckboxTheme;
15
8
  inline?: boolean;
16
9
  inset?: boolean;
10
+ required?: boolean;
11
+ validate?: (value: TValue[]) => string | undefined;
12
+ touchMode?: boolean;
17
13
  class?: string;
18
14
  style?: JSX.CSSProperties;
19
15
  children?: JSX.Element;
20
16
  }
21
17
  interface CheckboxGroupComponent {
22
18
  <TValue = unknown>(props: CheckboxGroupProps<TValue>): JSX.Element;
23
- Item: typeof CheckboxGroupItemInner;
19
+ Item: <TValue = unknown>(props: {
20
+ value: TValue;
21
+ disabled?: boolean;
22
+ children?: JSX.Element;
23
+ }) => JSX.Element;
24
24
  }
25
25
  export declare const CheckboxGroup: CheckboxGroupComponent;
26
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/CheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAA+D,MAAM,UAAU,CAAC;AAIjG,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgBrE,UAAU,sBAAsB,CAAC,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,iBAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,eAmB5E;AAID,UAAU,kBAAkB,CAAC,MAAM;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,UAAU,sBAAsB;IAC9B,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnE,IAAI,EAAE,OAAO,sBAAsB,CAAC;CACrC;AAiDD,eAAO,MAAM,aAAa,EAAoC,sBAAsB,CAAC"}
1
+ {"version":3,"file":"CheckboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/checkbox/CheckboxGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,UAAU,kBAAkB,CAAC,MAAM;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,UAAU,sBAAsB;IAC9B,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnE,IAAI,EAAE,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;KACxB,KAAK,GAAG,CAAC,OAAO,CAAC;CACnB;AASD,eAAO,MAAM,aAAa,EAAuB,sBAAsB,CAAC"}