@pathscale/ui 1.1.34 → 1.1.36

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 (314) hide show
  1. package/dist/components/breadcrumbs/Breadcrumbs.classes.d.ts +8 -0
  2. package/dist/components/breadcrumbs/Breadcrumbs.classes.js +13 -0
  3. package/dist/components/breadcrumbs/Breadcrumbs.js +8 -3
  4. package/dist/components/button/Button.classes.d.ts +27 -0
  5. package/dist/components/button/Button.classes.js +28 -0
  6. package/dist/components/button/Button.css +10 -1
  7. package/dist/components/button/Button.d.ts +6 -3
  8. package/dist/components/button/Button.js +37 -21
  9. package/dist/components/button-group/ButtonGroup.classes.d.ts +15 -0
  10. package/dist/components/button-group/ButtonGroup.classes.js +16 -0
  11. package/dist/components/button-group/ButtonGroup.css +117 -0
  12. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  13. package/dist/components/button-group/ButtonGroup.js +88 -0
  14. package/dist/components/button-group/context.d.ts +8 -0
  15. package/dist/components/button-group/context.js +3 -0
  16. package/dist/components/button-group/index.d.ts +1 -0
  17. package/dist/components/button-group/index.js +6 -0
  18. package/dist/components/card/Card.classes.d.ts +24 -0
  19. package/dist/components/card/Card.classes.js +25 -0
  20. package/dist/components/card/Card.css +110 -0
  21. package/dist/components/card/Card.d.ts +26 -26
  22. package/dist/components/card/Card.js +126 -70
  23. package/dist/components/card/index.d.ts +1 -1
  24. package/dist/components/card/index.js +6 -1
  25. package/dist/components/checkbox/Checkbox.js +18 -4
  26. package/dist/components/checkbox-group/CheckboxGroup.classes.d.ts +11 -0
  27. package/dist/components/checkbox-group/CheckboxGroup.classes.js +12 -0
  28. package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
  29. package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
  30. package/dist/components/checkbox-group/CheckboxGroup.js +94 -0
  31. package/dist/components/checkbox-group/context.d.ts +11 -0
  32. package/dist/components/checkbox-group/context.js +3 -0
  33. package/dist/components/checkbox-group/index.d.ts +4 -0
  34. package/dist/components/checkbox-group/index.js +4 -0
  35. package/dist/components/chip/Chip.css +11 -9
  36. package/dist/components/chip/Chip.d.ts +2 -2
  37. package/dist/components/chip/Chip.js +38 -30
  38. package/dist/components/close-button/CloseButton.classes.d.ts +11 -0
  39. package/dist/components/close-button/CloseButton.classes.js +12 -0
  40. package/dist/components/close-button/CloseButton.css +81 -0
  41. package/dist/components/close-button/CloseButton.d.ts +14 -0
  42. package/dist/components/close-button/CloseButton.js +76 -0
  43. package/dist/components/close-button/index.d.ts +1 -0
  44. package/dist/components/close-button/index.js +3 -0
  45. package/dist/components/combo-box/ComboBox.classes.d.ts +42 -0
  46. package/dist/components/combo-box/ComboBox.classes.js +43 -0
  47. package/dist/components/combo-box/ComboBox.css +344 -0
  48. package/dist/components/combo-box/ComboBox.d.ts +86 -0
  49. package/dist/components/combo-box/ComboBox.js +725 -0
  50. package/dist/components/combo-box/index.d.ts +1 -0
  51. package/dist/components/combo-box/index.js +10 -0
  52. package/dist/components/date-field/DateField.classes.d.ts +37 -0
  53. package/dist/components/date-field/DateField.classes.js +38 -0
  54. package/dist/components/date-field/DateField.css +215 -0
  55. package/dist/components/date-field/DateField.d.ts +64 -0
  56. package/dist/components/date-field/DateField.js +334 -0
  57. package/dist/components/date-field/index.d.ts +1 -0
  58. package/dist/components/date-field/index.js +11 -0
  59. package/dist/components/description/Description.classes.d.ts +3 -0
  60. package/dist/components/description/Description.classes.js +4 -0
  61. package/dist/components/description/Description.css +10 -0
  62. package/dist/components/description/Description.d.ts +11 -0
  63. package/dist/components/description/Description.js +41 -0
  64. package/dist/components/description/index.d.ts +1 -0
  65. package/dist/components/description/index.js +5 -0
  66. package/dist/components/drawer/Drawer.css +15 -0
  67. package/dist/components/drawer/Drawer.d.ts +2 -0
  68. package/dist/components/drawer/Drawer.js +24 -16
  69. package/dist/components/error-message/ErrorMessage.classes.d.ts +3 -0
  70. package/dist/components/error-message/ErrorMessage.classes.js +4 -0
  71. package/dist/components/error-message/ErrorMessage.css +20 -0
  72. package/dist/components/error-message/ErrorMessage.d.ts +11 -0
  73. package/dist/components/error-message/ErrorMessage.js +41 -0
  74. package/dist/components/error-message/index.d.ts +1 -0
  75. package/dist/components/error-message/index.js +5 -0
  76. package/dist/components/field-error/FieldError.classes.d.ts +3 -0
  77. package/dist/components/field-error/FieldError.classes.js +4 -0
  78. package/dist/components/field-error/FieldError.css +27 -0
  79. package/dist/components/field-error/FieldError.d.ts +21 -0
  80. package/dist/components/field-error/FieldError.js +70 -0
  81. package/dist/components/field-error/index.d.ts +1 -0
  82. package/dist/components/field-error/index.js +5 -0
  83. package/dist/components/fieldset/Fieldset.classes.d.ts +14 -0
  84. package/dist/components/fieldset/Fieldset.classes.js +15 -0
  85. package/dist/components/fieldset/Fieldset.css +30 -0
  86. package/dist/components/fieldset/Fieldset.d.ts +22 -9
  87. package/dist/components/fieldset/Fieldset.js +89 -44
  88. package/dist/components/fieldset/index.d.ts +1 -2
  89. package/dist/components/fieldset/index.js +7 -2
  90. package/dist/components/form/Form.classes.d.ts +3 -0
  91. package/dist/components/form/Form.classes.js +4 -0
  92. package/dist/components/form/Form.css +5 -0
  93. package/dist/components/form/Form.d.ts +10 -16
  94. package/dist/components/form/Form.js +34 -16
  95. package/dist/components/form/index.d.ts +1 -4
  96. package/dist/components/form/index.js +3 -4
  97. package/dist/components/header/Header.classes.d.ts +3 -0
  98. package/dist/components/header/Header.classes.js +4 -0
  99. package/dist/components/header/Header.css +13 -0
  100. package/dist/components/header/Header.d.ts +9 -0
  101. package/dist/components/{form/Label.js → header/Header.js} +18 -14
  102. package/dist/components/header/index.d.ts +1 -0
  103. package/dist/components/header/index.js +5 -0
  104. package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
  105. package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
  106. package/dist/components/input/Input.css +3 -2
  107. package/dist/components/input/Input.d.ts +2 -2
  108. package/dist/components/input/Input.js +7 -7
  109. package/dist/components/input-group/InputGroup.classes.d.ts +21 -0
  110. package/dist/components/input-group/InputGroup.classes.js +22 -0
  111. package/dist/components/input-group/InputGroup.css +172 -0
  112. package/dist/components/input-group/InputGroup.d.ts +44 -0
  113. package/dist/components/input-group/InputGroup.js +224 -0
  114. package/dist/components/input-group/index.d.ts +1 -0
  115. package/dist/components/input-group/index.js +9 -0
  116. package/dist/components/input-otp/InputOTP.classes.d.ts +23 -0
  117. package/dist/components/input-otp/InputOTP.classes.js +24 -0
  118. package/dist/components/input-otp/InputOTP.css +170 -0
  119. package/dist/components/input-otp/InputOTP.d.ts +46 -0
  120. package/dist/components/input-otp/InputOTP.js +385 -0
  121. package/dist/components/input-otp/index.d.ts +1 -0
  122. package/dist/components/input-otp/index.js +11 -0
  123. package/dist/components/label/Label.classes.d.ts +8 -0
  124. package/dist/components/label/Label.classes.js +9 -0
  125. package/dist/components/label/Label.css +30 -0
  126. package/dist/components/label/Label.d.ts +17 -0
  127. package/dist/components/label/Label.js +60 -0
  128. package/dist/components/label/index.d.ts +1 -0
  129. package/dist/components/label/index.js +5 -0
  130. package/dist/components/list-box/ListBox.classes.d.ts +23 -0
  131. package/dist/components/list-box/ListBox.classes.js +24 -0
  132. package/dist/components/list-box/ListBox.css +148 -0
  133. package/dist/components/list-box/ListBox.d.ts +23 -0
  134. package/dist/components/list-box/ListBox.js +221 -0
  135. package/dist/components/list-box/ListBoxItem.d.ts +28 -0
  136. package/dist/components/list-box/ListBoxItem.js +228 -0
  137. package/dist/components/list-box/ListBoxSection.d.ts +11 -0
  138. package/dist/components/list-box/ListBoxSection.js +50 -0
  139. package/dist/components/list-box/context.d.ts +27 -0
  140. package/dist/components/list-box/context.js +3 -0
  141. package/dist/components/list-box/index.d.ts +17 -0
  142. package/dist/components/list-box/index.js +17 -0
  143. package/dist/components/menu/Menu.classes.d.ts +20 -0
  144. package/dist/components/menu/Menu.classes.js +21 -0
  145. package/dist/components/menu/Menu.css +199 -0
  146. package/dist/components/menu/Menu.d.ts +32 -20
  147. package/dist/components/menu/Menu.js +214 -39
  148. package/dist/components/menu/MenuItem.d.ts +35 -5
  149. package/dist/components/menu/MenuItem.js +267 -19
  150. package/dist/components/menu/MenuSection.d.ts +11 -0
  151. package/dist/components/menu/MenuSection.js +50 -0
  152. package/dist/components/menu/context.d.ts +26 -0
  153. package/dist/components/menu/context.js +3 -0
  154. package/dist/components/menu/index.d.ts +4 -3
  155. package/dist/components/menu/index.js +11 -2
  156. package/dist/components/navbar/Navbar.classes.d.ts +37 -0
  157. package/dist/components/navbar/Navbar.classes.js +41 -0
  158. package/dist/components/navbar/Navbar.js +2 -1
  159. package/dist/components/navbar/NavbarRow.js +3 -14
  160. package/dist/components/navbar/NavbarSection.js +2 -6
  161. package/dist/components/navbar/NavbarStack.js +2 -5
  162. package/dist/components/number-field/NumberField.classes.d.ts +27 -0
  163. package/dist/components/number-field/NumberField.classes.js +28 -0
  164. package/dist/components/number-field/NumberField.css +198 -0
  165. package/dist/components/number-field/NumberField.d.ts +48 -0
  166. package/dist/components/number-field/NumberField.js +347 -0
  167. package/dist/components/number-field/index.d.ts +1 -0
  168. package/dist/components/number-field/index.js +9 -0
  169. package/dist/components/search-field/SearchField.classes.d.ts +27 -0
  170. package/dist/components/search-field/SearchField.classes.js +28 -0
  171. package/dist/components/search-field/SearchField.css +183 -0
  172. package/dist/components/search-field/SearchField.d.ts +53 -0
  173. package/dist/components/search-field/SearchField.js +300 -0
  174. package/dist/components/search-field/index.d.ts +1 -0
  175. package/dist/components/search-field/index.js +9 -0
  176. package/dist/components/select/Select.css +16 -10
  177. package/dist/components/select/Select.d.ts +10 -2
  178. package/dist/components/select/Select.js +119 -33
  179. package/dist/components/separator/Separator.classes.d.ts +12 -0
  180. package/dist/components/separator/Separator.classes.js +13 -0
  181. package/dist/components/separator/Separator.css +35 -0
  182. package/dist/components/separator/Separator.d.ts +12 -0
  183. package/dist/components/separator/Separator.js +49 -0
  184. package/dist/components/separator/index.d.ts +1 -0
  185. package/dist/components/separator/index.js +4 -0
  186. package/dist/components/sidenav/Sidenav.js +2 -2
  187. package/dist/components/surface/Surface.classes.d.ts +9 -0
  188. package/dist/components/surface/Surface.classes.js +10 -0
  189. package/dist/components/surface/Surface.css +37 -0
  190. package/dist/components/surface/Surface.d.ts +12 -0
  191. package/dist/components/{menu/MenuDetails.js → surface/Surface.js} +19 -20
  192. package/dist/components/surface/index.d.ts +1 -0
  193. package/dist/components/surface/index.js +4 -0
  194. package/dist/components/table/hooks/index.d.ts +1 -9
  195. package/dist/components/table/hooks/index.js +1 -18
  196. package/dist/components/tag/Tag.classes.d.ts +20 -0
  197. package/dist/components/tag/Tag.classes.js +21 -0
  198. package/dist/components/tag/Tag.css +121 -0
  199. package/dist/components/tag/Tag.d.ts +33 -0
  200. package/dist/components/tag/Tag.js +235 -0
  201. package/dist/components/tag/index.d.ts +1 -0
  202. package/dist/components/tag/index.js +6 -0
  203. package/dist/components/tag-group/TagGroup.classes.d.ts +8 -0
  204. package/dist/components/tag-group/TagGroup.classes.js +9 -0
  205. package/dist/components/tag-group/TagGroup.css +22 -0
  206. package/dist/components/tag-group/TagGroup.d.ts +32 -0
  207. package/dist/components/tag-group/TagGroup.js +178 -0
  208. package/dist/components/tag-group/context.d.ts +15 -0
  209. package/dist/components/tag-group/context.js +3 -0
  210. package/dist/components/tag-group/index.d.ts +2 -0
  211. package/dist/components/tag-group/index.js +6 -0
  212. package/dist/components/text/Text.classes.d.ts +3 -0
  213. package/dist/components/text/Text.classes.js +4 -0
  214. package/dist/components/text/Text.css +66 -0
  215. package/dist/components/text/Text.d.ts +17 -0
  216. package/dist/components/text/Text.js +47 -0
  217. package/dist/components/text/index.d.ts +1 -0
  218. package/dist/components/text/index.js +5 -0
  219. package/dist/components/text-area/TextArea.classes.d.ts +10 -0
  220. package/dist/components/text-area/TextArea.classes.js +11 -0
  221. package/dist/components/text-area/TextArea.css +95 -0
  222. package/dist/components/text-area/TextArea.d.ts +19 -0
  223. package/dist/components/text-area/TextArea.js +61 -0
  224. package/dist/components/text-area/index.d.ts +1 -0
  225. package/dist/components/text-area/index.js +5 -0
  226. package/dist/components/text-field/TextField.classes.d.ts +10 -0
  227. package/dist/components/text-field/TextField.classes.js +11 -0
  228. package/dist/components/text-field/TextField.css +33 -0
  229. package/dist/components/text-field/TextField.d.ts +34 -0
  230. package/dist/components/text-field/TextField.js +82 -0
  231. package/dist/components/text-field/index.d.ts +1 -0
  232. package/dist/components/text-field/index.js +7 -0
  233. package/dist/components/textarea/Textarea.d.ts +8 -13
  234. package/dist/components/textarea/Textarea.js +14 -45
  235. package/dist/components/textarea/index.d.ts +2 -1
  236. package/dist/components/textarea/index.js +4 -1
  237. package/dist/components/time-field/TimeField.classes.d.ts +37 -0
  238. package/dist/components/time-field/TimeField.classes.js +38 -0
  239. package/dist/components/time-field/TimeField.css +215 -0
  240. package/dist/components/time-field/TimeField.d.ts +64 -0
  241. package/dist/components/time-field/TimeField.js +334 -0
  242. package/dist/components/time-field/index.d.ts +1 -0
  243. package/dist/components/time-field/index.js +11 -0
  244. package/dist/components/utils.d.ts +2 -2
  245. package/dist/components/utils.js +3 -17
  246. package/dist/hooks/form/index.d.ts +5 -0
  247. package/dist/hooks/form/index.js +12 -0
  248. package/dist/hooks/form/useField.d.ts +11 -0
  249. package/dist/hooks/form/useField.js +20 -0
  250. package/dist/hooks/form/useFieldError.d.ts +3 -0
  251. package/dist/hooks/form/useFieldError.js +3 -0
  252. package/dist/hooks/form/useFieldMeta.d.ts +20 -0
  253. package/dist/hooks/form/useFieldMeta.js +49 -0
  254. package/dist/hooks/form/useFieldProps.d.ts +10 -0
  255. package/dist/hooks/form/useFieldProps.js +51 -0
  256. package/dist/hooks/form/useForm.d.ts +27 -0
  257. package/dist/hooks/form/useForm.js +54 -0
  258. package/dist/hooks/form/utils.d.ts +4 -0
  259. package/dist/hooks/form/utils.js +30 -0
  260. package/dist/hooks/layout/index.d.ts +1 -0
  261. package/dist/hooks/layout/index.js +3 -0
  262. package/dist/hooks/layout/useDesktop.d.ts +1 -0
  263. package/dist/hooks/layout/useDesktop.js +17 -0
  264. package/dist/hooks/table/index.d.ts +9 -0
  265. package/dist/hooks/table/index.js +18 -0
  266. package/dist/index.d.ts +59 -7
  267. package/dist/index.js +140 -15
  268. package/dist/styles/icons/generated-icons.css +1 -1
  269. package/package.json +1 -1
  270. package/dist/components/card/CardActions.d.ts +0 -4
  271. package/dist/components/card/CardActions.js +0 -15
  272. package/dist/components/card/CardBody.d.ts +0 -4
  273. package/dist/components/card/CardBody.js +0 -15
  274. package/dist/components/card/CardImage.d.ts +0 -3
  275. package/dist/components/card/CardImage.js +0 -10
  276. package/dist/components/card/CardTitle.d.ts +0 -6
  277. package/dist/components/card/CardTitle.js +0 -13
  278. package/dist/components/card/card.css +0 -171
  279. package/dist/components/form/FormBase.d.ts +0 -8
  280. package/dist/components/form/FormBase.js +0 -74
  281. package/dist/components/form/FormDropdown.d.ts +0 -25
  282. package/dist/components/form/FormDropdown.js +0 -139
  283. package/dist/components/form/FormField.d.ts +0 -14
  284. package/dist/components/form/FormField.js +0 -78
  285. package/dist/components/form/Label.d.ts +0 -7
  286. package/dist/components/form/NumberField.d.ts +0 -20
  287. package/dist/components/form/NumberField.js +0 -109
  288. package/dist/components/form/PasswordField.d.ts +0 -16
  289. package/dist/components/form/PasswordField.js +0 -113
  290. package/dist/components/form/ValidatedForm.d.ts +0 -26
  291. package/dist/components/form/ValidatedForm.js +0 -55
  292. package/dist/components/menu/MenuDetails.d.ts +0 -8
  293. package/dist/components/menu/MenuDropdown.d.ts +0 -12
  294. package/dist/components/menu/MenuDropdown.js +0 -48
  295. package/dist/components/menu/MenuTitle.d.ts +0 -8
  296. package/dist/components/menu/MenuTitle.js +0 -22
  297. package/dist/components/menu/menu.css +0 -364
  298. package/dist/components/textarea/textarea.css +0 -191
  299. /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
  300. /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
  301. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
  302. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
  303. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
  304. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
  305. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
  306. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
  307. /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
  308. /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
  309. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
  310. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
  311. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
  312. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
  313. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
  314. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
@@ -0,0 +1,110 @@
1
+ @layer components {
2
+ .card {
3
+ position: relative;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 0.75rem;
7
+ overflow: hidden;
8
+ border-radius: var(--card-radius, calc(var(--radius-box, 0.75rem) * 2));
9
+ padding: var(--card-padding, 1rem);
10
+ color: var(--card-fg, var(--color-base-content));
11
+ background-color: var(--card-bg, var(--color-base-100));
12
+ border: 1px solid var(--card-border, transparent);
13
+ box-shadow:
14
+ var(
15
+ --card-shadow,
16
+ 0 8px 24px -18px rgb(0 0 0 / 0.45),
17
+ 0 6px 14px -10px rgb(0 0 0 / 0.28)
18
+ );
19
+ transition:
20
+ background-color 160ms ease,
21
+ border-color 160ms ease,
22
+ box-shadow 200ms ease,
23
+ transform 200ms ease;
24
+ }
25
+
26
+ .card:focus-visible {
27
+ outline: 2px solid currentColor;
28
+ outline-offset: 2px;
29
+ }
30
+
31
+ .card--default {
32
+ --card-bg: var(--color-base-100);
33
+ --card-border: transparent;
34
+ --card-shadow:
35
+ 0 8px 24px -18px rgb(0 0 0 / 0.45),
36
+ 0 6px 14px -10px rgb(0 0 0 / 0.28);
37
+ --card-hover-shadow:
38
+ 0 16px 30px -20px rgb(0 0 0 / 0.5),
39
+ 0 8px 18px -12px rgb(0 0 0 / 0.35);
40
+ }
41
+
42
+ .card--flat {
43
+ --card-bg: var(--color-base-200);
44
+ --card-border: transparent;
45
+ --card-shadow: none;
46
+ --card-hover-shadow: none;
47
+ }
48
+
49
+ .card--bordered {
50
+ --card-bg: var(--color-base-100);
51
+ --card-border: var(--color-base-300);
52
+ --card-shadow: none;
53
+ --card-hover-shadow:
54
+ 0 6px 20px -16px rgb(0 0 0 / 0.4),
55
+ 0 5px 12px -10px rgb(0 0 0 / 0.28);
56
+ }
57
+
58
+ .card--shadow {
59
+ --card-bg: var(--color-base-100);
60
+ --card-border: transparent;
61
+ --card-shadow:
62
+ 0 20px 40px -24px rgb(0 0 0 / 0.55),
63
+ 0 12px 20px -14px rgb(0 0 0 / 0.35);
64
+ --card-hover-shadow:
65
+ 0 26px 44px -26px rgb(0 0 0 / 0.6),
66
+ 0 14px 24px -15px rgb(0 0 0 / 0.4);
67
+ }
68
+
69
+ .card--hoverable,
70
+ .card--pressable {
71
+ cursor: pointer;
72
+ }
73
+
74
+ @media (hover: hover) {
75
+ .card--hoverable:hover,
76
+ .card--pressable:hover {
77
+ box-shadow: var(--card-hover-shadow, var(--card-shadow));
78
+ transform: translateY(-1px);
79
+ }
80
+ }
81
+
82
+ .card--pressable:active,
83
+ .card--pressable[data-pressed="true"] {
84
+ transform: scale(0.99);
85
+ }
86
+
87
+ .card__header,
88
+ .card__body,
89
+ .card__footer {
90
+ display: flex;
91
+ width: 100%;
92
+ }
93
+
94
+ .card__header {
95
+ flex-direction: column;
96
+ gap: 0.25rem;
97
+ }
98
+
99
+ .card__body {
100
+ flex: 1 1 auto;
101
+ flex-direction: column;
102
+ gap: 0.5rem;
103
+ }
104
+
105
+ .card__footer {
106
+ align-items: center;
107
+ flex-wrap: wrap;
108
+ gap: 0.5rem;
109
+ }
110
+ }
@@ -1,29 +1,29 @@
1
- import "./card.css";
2
- import { type JSX } from "solid-js";
3
- import type { ComponentSize, ComponentVariant, ComponentColor, IComponentBaseProps } from "../types";
4
- import CardActions from "./CardActions";
5
- import CardBody from "./CardBody";
6
- import CardImage from "./CardImage";
7
- import CardTitle from "./CardTitle";
8
- export type CardProps = IComponentBaseProps & JSX.HTMLAttributes<HTMLDivElement> & {
9
- size?: ComponentSize;
10
- border?: boolean;
11
- variant?: Exclude<ComponentVariant, "soft"> | "border";
12
- imageFull?: boolean;
13
- side?: ComponentSize | boolean;
14
- background?: ComponentColor | "base-100" | "base-200" | "base-300";
15
- shadow?: "none" | "sm" | "md" | "lg" | "xl";
16
- fullWidth?: boolean;
17
- "aria-label"?: string;
18
- "aria-describedby"?: string;
19
- "aria-labelledby"?: string;
20
- role?: string;
1
+ import "./Card.css";
2
+ import { type Component, type JSX, type ParentComponent } from "solid-js";
3
+ import type { IComponentBaseProps } from "../types";
4
+ export type CardVariant = "default" | "flat" | "bordered" | "shadow";
5
+ type CardContextlessProps<T extends HTMLElement> = Omit<JSX.HTMLAttributes<T>, "children"> & IComponentBaseProps & {
6
+ children?: JSX.Element;
21
7
  };
22
- declare const Card: {
23
- (props: CardProps): JSX.Element;
24
- Actions: typeof CardActions;
25
- Body: typeof CardBody;
26
- Title: typeof CardTitle;
27
- Image: typeof CardImage;
8
+ export type CardRootProps = CardContextlessProps<HTMLDivElement> & {
9
+ variant?: CardVariant;
10
+ isHoverable?: boolean;
11
+ isPressable?: boolean;
12
+ };
13
+ export type CardHeaderProps = CardContextlessProps<HTMLDivElement>;
14
+ export type CardBodyProps = CardContextlessProps<HTMLDivElement>;
15
+ export type CardFooterProps = CardContextlessProps<HTMLDivElement>;
16
+ declare const CardRoot: ParentComponent<CardRootProps>;
17
+ declare const CardHeader: Component<CardHeaderProps>;
18
+ declare const CardBody: Component<CardBodyProps>;
19
+ declare const CardFooter: Component<CardFooterProps>;
20
+ declare const Card: ParentComponent<CardRootProps> & {
21
+ Root: ParentComponent<CardRootProps>;
22
+ Header: Component<CardHeaderProps>;
23
+ Body: Component<CardBodyProps>;
24
+ Content: Component<CardBodyProps>;
25
+ Footer: Component<CardFooterProps>;
28
26
  };
29
27
  export default Card;
28
+ export { Card, CardRoot, CardHeader, CardBody, CardFooter };
29
+ export type { CardRootProps as CardProps };
@@ -1,73 +1,52 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
- import "./card.css";
3
- import * as __WEBPACK_EXTERNAL_MODULE_clsx__ from "clsx";
2
+ import "./Card.css";
4
3
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
5
4
  import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
6
- import * as __WEBPACK_EXTERNAL_MODULE__CardActions_js_327b246f__ from "./CardActions.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__CardBody_js_3648715c__ from "./CardBody.js";
8
- import * as __WEBPACK_EXTERNAL_MODULE__CardImage_js_0ac1c65a__ from "./CardImage.js";
9
- import * as __WEBPACK_EXTERNAL_MODULE__CardTitle_js_a12d15c2__ from "./CardTitle.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__ from "./Card.classes.js";
10
6
  var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
11
- const DYNAMIC_MODIFIERS = {
12
- side: {
13
- true: "card-side",
14
- xs: "card-side-xs",
15
- sm: "card-side-sm",
16
- md: "card-side-md",
17
- lg: "card-side-lg"
18
- }
7
+ const invokeEventHandler = (handler, event)=>{
8
+ if ("function" == typeof handler) return void handler(event);
9
+ if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
19
10
  };
20
- const Card = (props)=>{
11
+ const CardRoot = (props)=>{
21
12
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
22
- "size",
23
- "border",
24
- "variant",
25
- "imageFull",
26
- "side",
27
- "background",
28
- "shadow",
29
- "fullWidth",
13
+ "children",
30
14
  "class",
31
15
  "className",
32
16
  "dataTheme",
33
17
  "style",
34
- "aria-label",
35
- "aria-describedby",
36
- "aria-labelledby",
37
- "role"
18
+ "variant",
19
+ "isHoverable",
20
+ "isPressable",
21
+ "onKeyDown",
22
+ "role",
23
+ "tabIndex"
38
24
  ]);
39
- const classes = (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("card", local.class, local.className, (0, __WEBPACK_EXTERNAL_MODULE_clsx__.clsx)({
40
- "w-full": local.fullWidth,
41
- "shadow-sm": "sm" === local.shadow,
42
- "shadow-md": "md" === local.shadow,
43
- "shadow-lg": "lg" === local.shadow,
44
- "shadow-xl": "xl" === local.shadow,
45
- "shadow-none": "none" === local.shadow,
46
- "bg-base-100": "base-100" === local.background,
47
- "bg-base-200": "base-200" === local.background,
48
- "bg-base-300": "base-300" === local.background,
49
- "bg-primary": "primary" === local.background,
50
- "bg-secondary": "secondary" === local.background,
51
- "bg-accent": "accent" === local.background,
52
- "bg-neutral": "neutral" === local.background,
53
- "bg-info": "info" === local.background,
54
- "bg-success": "success" === local.background,
55
- "bg-warning": "warning" === local.background,
56
- "bg-error": "error" === local.background,
57
- "card-xl": "xl" === local.size,
58
- "card-lg": "lg" === local.size,
59
- "card-md": "md" === local.size,
60
- "card-sm": "sm" === local.size,
61
- "card-xs": "xs" === local.size,
62
- "card-dash": "dash" === local.variant,
63
- "card-border": false !== local.border || "outline" === local.variant || "border" === local.variant,
64
- "image-full": local.imageFull,
65
- [DYNAMIC_MODIFIERS.side[local.side?.toString()] ?? ""]: !!local.side
66
- }));
25
+ const variant = ()=>local.variant ?? "default";
26
+ const handleKeyDown = (event)=>{
27
+ invokeEventHandler(local.onKeyDown, event);
28
+ if (event.defaultPrevented || !local.isPressable) return;
29
+ if ("Enter" !== event.key && " " !== event.key) return;
30
+ if (event.target !== event.currentTarget) return;
31
+ event.preventDefault();
32
+ event.currentTarget.click();
33
+ };
67
34
  return (()=>{
68
35
  var _el$ = _tmpl$();
69
36
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
70
- class: classes,
37
+ get ["class"] () {
38
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Root.base, __WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Root.variant[variant()], local.isHoverable && __WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Root.flag.isHoverable, local.isPressable && __WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Root.flag.isPressable, local.class, local.className);
39
+ },
40
+ "data-slot": "card",
41
+ get ["data-variant"] () {
42
+ return variant();
43
+ },
44
+ get ["data-hoverable"] () {
45
+ return local.isHoverable ? "true" : "false";
46
+ },
47
+ get ["data-pressable"] () {
48
+ return local.isPressable ? "true" : "false";
49
+ },
71
50
  get ["data-theme"] () {
72
51
  return local.dataTheme;
73
52
  },
@@ -75,24 +54,101 @@ const Card = (props)=>{
75
54
  return local.style;
76
55
  },
77
56
  get role () {
78
- return local.role;
57
+ return local.role ?? (local.isPressable ? "button" : void 0);
58
+ },
59
+ get tabIndex () {
60
+ return local.tabIndex ?? (local.isPressable ? 0 : void 0);
79
61
  },
80
- get ["aria-label"] () {
81
- return local["aria-label"];
62
+ onKeyDown: handleKeyDown
63
+ }), false, true);
64
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
65
+ return _el$;
66
+ })();
67
+ };
68
+ const CardHeader = (props)=>{
69
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
70
+ "children",
71
+ "class",
72
+ "className",
73
+ "dataTheme",
74
+ "style"
75
+ ]);
76
+ return (()=>{
77
+ var _el$2 = _tmpl$();
78
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
79
+ get ["class"] () {
80
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Header.base, local.class, local.className);
82
81
  },
83
- get ["aria-describedby"] () {
84
- return local["aria-describedby"];
82
+ "data-slot": "card-header",
83
+ get ["data-theme"] () {
84
+ return local.dataTheme;
85
85
  },
86
- get ["aria-labelledby"] () {
87
- return local["aria-labelledby"];
86
+ get style () {
87
+ return local.style;
88
88
  }
89
- }), false, false);
90
- return _el$;
89
+ }), false, true);
90
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.children);
91
+ return _el$2;
92
+ })();
93
+ };
94
+ const CardBody = (props)=>{
95
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
96
+ "children",
97
+ "class",
98
+ "className",
99
+ "dataTheme",
100
+ "style"
101
+ ]);
102
+ return (()=>{
103
+ var _el$3 = _tmpl$();
104
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
105
+ get ["class"] () {
106
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Body.base, local.class, local.className);
107
+ },
108
+ "data-slot": "card-body",
109
+ get ["data-theme"] () {
110
+ return local.dataTheme;
111
+ },
112
+ get style () {
113
+ return local.style;
114
+ }
115
+ }), false, true);
116
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.children);
117
+ return _el$3;
118
+ })();
119
+ };
120
+ const CardFooter = (props)=>{
121
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
122
+ "children",
123
+ "class",
124
+ "className",
125
+ "dataTheme",
126
+ "style"
127
+ ]);
128
+ return (()=>{
129
+ var _el$4 = _tmpl$();
130
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
131
+ get ["class"] () {
132
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Card_classes_js_d234b054__.CLASSES.Footer.base, local.class, local.className);
133
+ },
134
+ "data-slot": "card-footer",
135
+ get ["data-theme"] () {
136
+ return local.dataTheme;
137
+ },
138
+ get style () {
139
+ return local.style;
140
+ }
141
+ }), false, true);
142
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.children);
143
+ return _el$4;
91
144
  })();
92
145
  };
93
- Card.Actions = __WEBPACK_EXTERNAL_MODULE__CardActions_js_327b246f__["default"];
94
- Card.Body = __WEBPACK_EXTERNAL_MODULE__CardBody_js_3648715c__["default"];
95
- Card.Title = __WEBPACK_EXTERNAL_MODULE__CardTitle_js_a12d15c2__["default"];
96
- Card.Image = __WEBPACK_EXTERNAL_MODULE__CardImage_js_0ac1c65a__["default"];
146
+ const Card = Object.assign(CardRoot, {
147
+ Root: CardRoot,
148
+ Header: CardHeader,
149
+ Body: CardBody,
150
+ Content: CardBody,
151
+ Footer: CardFooter
152
+ });
97
153
  const card_Card = Card;
98
- export { card_Card as default };
154
+ export { Card, CardBody, CardFooter, CardHeader, CardRoot, card_Card as default };
@@ -1 +1 @@
1
- export { default, type CardProps } from "./Card";
1
+ export { default, Card, CardRoot, CardHeader, CardBody, CardFooter, type CardProps, type CardVariant, type CardRootProps, type CardHeaderProps, type CardBodyProps, type CardFooterProps, } from "./Card";
@@ -1,3 +1,8 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__ from "./Card.js";
2
+ var __webpack_exports__Card = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__.Card;
3
+ var __webpack_exports__CardBody = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__.CardBody;
4
+ var __webpack_exports__CardFooter = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__.CardFooter;
5
+ var __webpack_exports__CardHeader = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__.CardHeader;
6
+ var __webpack_exports__CardRoot = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__.CardRoot;
2
7
  var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__Card_js_d67c086a__["default"];
3
- export { __webpack_exports__default as default };
8
+ export { __webpack_exports__Card as Card, __webpack_exports__CardBody as CardBody, __webpack_exports__CardFooter as CardFooter, __webpack_exports__CardHeader as CardHeader, __webpack_exports__CardRoot as CardRoot, __webpack_exports__default as default };
@@ -2,6 +2,7 @@ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web
2
2
  import "./Checkbox.css";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__checkbox_group_context_js_31d5d7d2__ from "../checkbox-group/context.js";
5
6
  var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=checkbox-default-indicator--indeterminate fill=none role=presentation stroke=currentColor stroke-linecap=round stroke-width=3 viewBox="0 0 24 24"><line x1=21 x2=3 y1=12 y2=12>'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span data-slot=label>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span class=checkbox__description data-slot=description>"), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span class=checkbox__content data-slot=checkbox-content>"), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<label data-slot=checkbox><input><span class=checkbox__control data-slot=checkbox-control aria-hidden=true><span class=checkbox__indicator data-slot=checkbox-indicator>"), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=checkbox-default-indicator--checkmark fill=none role=presentation stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox="0 0 17 18"><polyline points="1 9 7 14 15 4">');
6
7
  const invokeEventHandler = (handler, event)=>{
7
8
  if ("function" == typeof handler) return void handler(event);
@@ -13,6 +14,7 @@ const VARIANT_CLASS_MAP = {
13
14
  };
14
15
  const Checkbox_Checkbox = (props)=>{
15
16
  let inputRef;
17
+ const group = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(__WEBPACK_EXTERNAL_MODULE__checkbox_group_context_js_31d5d7d2__.CheckboxGroupContext);
16
18
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
17
19
  "class",
18
20
  "className",
@@ -25,6 +27,8 @@ const Checkbox_Checkbox = (props)=>{
25
27
  "variant",
26
28
  "checked",
27
29
  "defaultChecked",
30
+ "value",
31
+ "name",
28
32
  "disabled",
29
33
  "onChange",
30
34
  "dataTheme",
@@ -32,11 +36,14 @@ const Checkbox_Checkbox = (props)=>{
32
36
  ]);
33
37
  const [internalSelected, setInternalSelected] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(Boolean(local.defaultChecked));
34
38
  const isControlled = ()=>void 0 !== local.checked;
35
- const isSelected = ()=>isControlled() ? Boolean(local.checked) : internalSelected();
36
- const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
37
- const isInvalid = ()=>Boolean(local.isInvalid) || Boolean(local["aria-invalid"]);
39
+ const optionValue = ()=>null != local.value ? String(local.value) : void 0;
40
+ const isGrouped = ()=>Boolean(group && void 0 !== optionValue());
41
+ const isSelected = ()=>isGrouped() ? Boolean(group?.value().includes(optionValue())) : isControlled() ? Boolean(local.checked) : internalSelected();
42
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled) || Boolean(group?.isDisabled());
43
+ const isInvalid = ()=>Boolean(local.isInvalid) || Boolean(local["aria-invalid"]) || Boolean(group?.isInvalid());
38
44
  const isIndeterminate = ()=>Boolean(local.isIndeterminate) || Boolean(local.indeterminate);
39
- const variant = ()=>local.variant ?? "primary";
45
+ const variant = ()=>local.variant ?? group?.variant() ?? "primary";
46
+ const name = ()=>local.name ?? group?.name();
40
47
  const hasContent = ()=>null != local.children || null != local.description;
41
48
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
42
49
  if (!inputRef) return;
@@ -46,6 +53,7 @@ const Checkbox_Checkbox = (props)=>{
46
53
  invokeEventHandler(local.onChange, event);
47
54
  if (event.defaultPrevented) return;
48
55
  if (isDisabled()) return;
56
+ if (group && void 0 !== optionValue()) return void group.toggleValue(optionValue(), event.currentTarget.checked, event);
49
57
  if (!isControlled()) setInternalSelected(event.currentTarget.checked);
50
58
  };
51
59
  return (()=>{
@@ -57,6 +65,12 @@ const Checkbox_Checkbox = (props)=>{
57
65
  type: "checkbox",
58
66
  class: "checkbox__input",
59
67
  "data-slot": "checkbox-input",
68
+ get value () {
69
+ return local.value;
70
+ },
71
+ get name () {
72
+ return name();
73
+ },
60
74
  get checked () {
61
75
  return isSelected();
62
76
  },
@@ -0,0 +1,11 @@
1
+ export declare const CLASSES: {
2
+ readonly base: "checkbox-group";
3
+ readonly variant: {
4
+ readonly primary: "checkbox-group--primary";
5
+ readonly secondary: "checkbox-group--secondary";
6
+ };
7
+ readonly flag: {
8
+ readonly disabled: "checkbox-group--disabled";
9
+ readonly invalid: "checkbox-group--invalid";
10
+ };
11
+ };
@@ -0,0 +1,12 @@
1
+ const CLASSES = {
2
+ base: "checkbox-group",
3
+ variant: {
4
+ primary: "checkbox-group--primary",
5
+ secondary: "checkbox-group--secondary"
6
+ },
7
+ flag: {
8
+ disabled: "checkbox-group--disabled",
9
+ invalid: "checkbox-group--invalid"
10
+ }
11
+ };
12
+ export { CLASSES };
@@ -0,0 +1,10 @@
1
+ @layer components {
2
+ .checkbox-group {
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
6
+
7
+ .checkbox-group [data-slot="checkbox"] {
8
+ margin-top: 1rem;
9
+ }
10
+ }
@@ -0,0 +1,18 @@
1
+ import "./CheckboxGroup.css";
2
+ import { type Component, type JSX } from "solid-js";
3
+ import type { CheckboxVariant } from "../checkbox";
4
+ import type { IComponentBaseProps } from "../types";
5
+ export type CheckboxGroupVariant = CheckboxVariant;
6
+ export type CheckboxGroupProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & IComponentBaseProps & {
7
+ children?: JSX.Element | ((values: string[]) => JSX.Element);
8
+ value?: string[];
9
+ defaultValue?: string[];
10
+ onChange?: (value: string[]) => void;
11
+ name?: string;
12
+ isDisabled?: boolean;
13
+ disabled?: boolean;
14
+ isInvalid?: boolean;
15
+ variant?: CheckboxGroupVariant;
16
+ };
17
+ declare const CheckboxGroup: Component<CheckboxGroupProps>;
18
+ export default CheckboxGroup;
@@ -0,0 +1,94 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./CheckboxGroup.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_classes_js_352c9ffa__ from "./CheckboxGroup.classes.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__ from "./context.js";
7
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
8
+ const CheckboxGroup = (props)=>{
9
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
10
+ "children",
11
+ "class",
12
+ "className",
13
+ "dataTheme",
14
+ "style",
15
+ "value",
16
+ "defaultValue",
17
+ "onChange",
18
+ "name",
19
+ "isDisabled",
20
+ "disabled",
21
+ "isInvalid",
22
+ "variant",
23
+ "role"
24
+ ]);
25
+ const [internalValue, setInternalValue] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(local.defaultValue ?? []);
26
+ const isControlled = ()=>void 0 !== local.value;
27
+ const selectedValues = ()=>isControlled() ? local.value ?? [] : internalValue();
28
+ const variant = ()=>local.variant ?? "primary";
29
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
30
+ const isInvalid = ()=>Boolean(local.isInvalid);
31
+ const handleToggle = (optionValue, checked)=>{
32
+ const currentValues = selectedValues();
33
+ const nextValues = checked ? currentValues.includes(optionValue) ? currentValues : [
34
+ ...currentValues,
35
+ optionValue
36
+ ] : currentValues.filter((value)=>value !== optionValue);
37
+ if (!isControlled()) setInternalValue(nextValues);
38
+ local.onChange?.(nextValues);
39
+ };
40
+ const contextValue = {
41
+ value: selectedValues,
42
+ name: ()=>local.name,
43
+ variant,
44
+ isDisabled,
45
+ isInvalid,
46
+ toggleValue: (optionValue, checked, event)=>{
47
+ if (event.defaultPrevented || isDisabled()) return;
48
+ handleToggle(optionValue, checked);
49
+ }
50
+ };
51
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.CheckboxGroupContext.Provider, {
52
+ value: contextValue,
53
+ get children () {
54
+ var _el$ = _tmpl$();
55
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
56
+ get role () {
57
+ return local.role ?? "group";
58
+ },
59
+ get ["aria-disabled"] () {
60
+ return isDisabled() ? "true" : void 0;
61
+ },
62
+ get ["aria-invalid"] () {
63
+ return isInvalid() ? "true" : void 0;
64
+ },
65
+ "data-slot": "checkbox-group",
66
+ get ["data-variant"] () {
67
+ return variant();
68
+ },
69
+ get ["data-disabled"] () {
70
+ return isDisabled() ? "true" : "false";
71
+ },
72
+ get ["data-invalid"] () {
73
+ return isInvalid() ? "true" : "false";
74
+ },
75
+ get ["class"] () {
76
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__CheckboxGroup_classes_js_352c9ffa__.CLASSES.base, __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_classes_js_352c9ffa__.CLASSES.variant[variant()], isDisabled() && __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_classes_js_352c9ffa__.CLASSES.flag.disabled, isInvalid() && __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_classes_js_352c9ffa__.CLASSES.flag.invalid, local.class, local.className);
77
+ },
78
+ get ["data-theme"] () {
79
+ return local.dataTheme;
80
+ },
81
+ get style () {
82
+ return local.style;
83
+ }
84
+ }), false, true);
85
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
86
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
87
+ return ()=>_c$() ? local.children(selectedValues()) : local.children;
88
+ })());
89
+ return _el$;
90
+ }
91
+ });
92
+ };
93
+ const checkbox_group_CheckboxGroup = CheckboxGroup;
94
+ export { checkbox_group_CheckboxGroup as default };
@@ -0,0 +1,11 @@
1
+ import { type Accessor } from "solid-js";
2
+ import type { CheckboxVariant } from "../checkbox";
3
+ export type CheckboxGroupContextValue = {
4
+ value: Accessor<string[]>;
5
+ name: Accessor<string | undefined>;
6
+ variant: Accessor<CheckboxVariant>;
7
+ isDisabled: Accessor<boolean>;
8
+ isInvalid: Accessor<boolean>;
9
+ toggleValue: (optionValue: string, checked: boolean, event: Event) => void;
10
+ };
11
+ export declare const CheckboxGroupContext: import("solid-js").Context<CheckboxGroupContextValue | undefined>;
@@ -0,0 +1,3 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
2
+ const CheckboxGroupContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
3
+ export { CheckboxGroupContext };
@@ -0,0 +1,4 @@
1
+ import CheckboxGroup from "./CheckboxGroup";
2
+ export type { CheckboxGroupProps, CheckboxGroupVariant } from "./CheckboxGroup";
3
+ export { CheckboxGroup };
4
+ export default CheckboxGroup;
@@ -0,0 +1,4 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_js_11417210__ from "./CheckboxGroup.js";
2
+ const checkbox_group = __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_js_11417210__["default"];
3
+ var __webpack_exports__CheckboxGroup = __WEBPACK_EXTERNAL_MODULE__CheckboxGroup_js_11417210__["default"];
4
+ export { checkbox_group as default, __webpack_exports__CheckboxGroup as CheckboxGroup };