@ntbjs/react-components 2.0.14 → 3.0.0-rc.2

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 (344) hide show
  1. package/README.md +34 -0
  2. package/build/data/Alert/Alert.js +18 -33
  3. package/build/data/Alert/Alert.js.map +1 -1
  4. package/build/data/Alert/Alert.styled.js +9 -47
  5. package/build/data/Alert/Alert.styled.js.map +1 -1
  6. package/build/data/Badge/Badge.js +36 -61
  7. package/build/data/Badge/Badge.js.map +1 -1
  8. package/build/data/Badge/Badge.styled.js +21 -70
  9. package/build/data/Badge/Badge.styled.js.map +1 -1
  10. package/build/data/Popover/Popover.js +125 -71
  11. package/build/data/Popover/Popover.js.map +1 -1
  12. package/build/data/Popover/Popover.styled.js +10 -140
  13. package/build/data/Popover/Popover.styled.js.map +1 -1
  14. package/build/data/SeverityBadge/SeverityBadge.js +13 -22
  15. package/build/data/SeverityBadge/SeverityBadge.js.map +1 -1
  16. package/build/data/SeverityBadge/index.js +2 -0
  17. package/build/data/SeverityBadge/index.js.map +1 -0
  18. package/build/data/Tab/Tab.js +7 -13
  19. package/build/data/Tab/Tab.js.map +1 -1
  20. package/build/data/Tab/Tab.styled.js +4 -7
  21. package/build/data/Tab/Tab.styled.js.map +1 -1
  22. package/build/data/Tabs/Tabs.js +30 -32
  23. package/build/data/Tabs/Tabs.js.map +1 -1
  24. package/build/data/Tabs/Tabs.styled.js +21 -57
  25. package/build/data/Tabs/Tabs.styled.js.map +1 -1
  26. package/build/data/Tooltip/Tooltip.js +102 -33
  27. package/build/data/Tooltip/Tooltip.js.map +1 -1
  28. package/build/data/Tooltip/Tooltip.styled.js +9 -22
  29. package/build/data/Tooltip/Tooltip.styled.js.map +1 -1
  30. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +16 -23
  31. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -1
  32. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +13 -31
  33. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -1
  34. package/build/data/VerificationStatusIcon/index.js +2 -0
  35. package/build/data/VerificationStatusIcon/index.js.map +1 -0
  36. package/build/data/_shared/FloatingArrow.styled.js +30 -0
  37. package/build/data/_shared/FloatingArrow.styled.js.map +1 -0
  38. package/build/hooks/useEventListner.js.map +1 -1
  39. package/build/hooks/useFloatingPopover.js +187 -0
  40. package/build/hooks/useFloatingPopover.js.map +1 -0
  41. package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  42. package/build/hooks/useOnClickOutside.js.map +1 -1
  43. package/build/hooks/useTooltipAutoShow.js.map +1 -1
  44. package/build/icons/arrow-back.svg.js +3 -3
  45. package/build/icons/arrow-back.svg.js.map +1 -1
  46. package/build/icons/arrow-forward.svg.js +4 -4
  47. package/build/icons/arrow-forward.svg.js.map +1 -1
  48. package/build/icons/check-rectangle-filled.svg.js +3 -3
  49. package/build/icons/check-rectangle-filled.svg.js.map +1 -1
  50. package/build/icons/close.svg.js +3 -3
  51. package/build/icons/close.svg.js.map +1 -1
  52. package/build/icons/edit-note.svg.js +3 -3
  53. package/build/icons/edit-note.svg.js.map +1 -1
  54. package/build/icons/expand-more.svg.js +3 -3
  55. package/build/icons/expand-more.svg.js.map +1 -1
  56. package/build/icons/headset.svg.js +3 -3
  57. package/build/icons/headset.svg.js.map +1 -1
  58. package/build/icons/layers.svg.js +3 -3
  59. package/build/icons/layers.svg.js.map +1 -1
  60. package/build/icons/link.svg.js +3 -3
  61. package/build/icons/link.svg.js.map +1 -1
  62. package/build/icons/play.svg.js +3 -3
  63. package/build/icons/play.svg.js.map +1 -1
  64. package/build/icons/search.svg.js +3 -3
  65. package/build/icons/search.svg.js.map +1 -1
  66. package/build/icons/star-filled.svg.js +3 -3
  67. package/build/icons/star-filled.svg.js.map +1 -1
  68. package/build/icons/star.svg.js +3 -3
  69. package/build/icons/star.svg.js.map +1 -1
  70. package/build/icons/triangle-right.svg.js +3 -3
  71. package/build/icons/triangle-right.svg.js.map +1 -1
  72. package/build/icons/verification.svg.js +3 -3
  73. package/build/icons/verification.svg.js.map +1 -1
  74. package/build/icons/warning-circle.svg.js +3 -3
  75. package/build/icons/warning-circle.svg.js.map +1 -1
  76. package/build/inputs/ActionButton/ActionButton.js +11 -22
  77. package/build/inputs/ActionButton/ActionButton.js.map +1 -1
  78. package/build/inputs/ActionButton/ActionButton.styled.js +5 -54
  79. package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
  80. package/build/inputs/Button/Button.js +125 -121
  81. package/build/inputs/Button/Button.js.map +1 -1
  82. package/build/inputs/Button/Button.styled.js +42 -260
  83. package/build/inputs/Button/Button.styled.js.map +1 -1
  84. package/build/inputs/Checkbox/Checkbox.js +45 -61
  85. package/build/inputs/Checkbox/Checkbox.js.map +1 -1
  86. package/build/inputs/Checkbox/Checkbox.styled.js +24 -153
  87. package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -1
  88. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +106 -111
  89. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
  90. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +88 -273
  91. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -1
  92. package/build/inputs/CompactStarRating/CompactStarRating.js +56 -77
  93. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
  94. package/build/inputs/CompactStarRating/CompactStarRating.styled.js +32 -211
  95. package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -1
  96. package/build/inputs/CompactTextInput/CompactTextInput.js +86 -105
  97. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
  98. package/build/inputs/CompactTextInput/CompactTextInput.styled.js +55 -258
  99. package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
  100. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +70 -77
  101. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -1
  102. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +28 -60
  103. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -1
  104. package/build/inputs/MultiLevelCheckbox/types.js +12 -12
  105. package/build/inputs/MultiLevelCheckbox/types.js.map +1 -1
  106. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +69 -73
  107. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
  108. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +44 -87
  109. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -1
  110. package/build/inputs/MultiSelect/MultiSelect.js +69 -79
  111. package/build/inputs/MultiSelect/MultiSelect.js.map +1 -1
  112. package/build/inputs/MultiSelect/MultiSelect.styled.js +70 -76
  113. package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -1
  114. package/build/inputs/Radio/Radio.js +20 -33
  115. package/build/inputs/Radio/Radio.js.map +1 -1
  116. package/build/inputs/Radio/Radio.styled.js +15 -96
  117. package/build/inputs/Radio/Radio.styled.js.map +1 -1
  118. package/build/inputs/Switch/Switch.js +28 -40
  119. package/build/inputs/Switch/Switch.js.map +1 -1
  120. package/build/inputs/Switch/Switch.styled.js +24 -94
  121. package/build/inputs/Switch/Switch.styled.js.map +1 -1
  122. package/build/inputs/TextArea/TextArea.js +98 -123
  123. package/build/inputs/TextArea/TextArea.js.map +1 -1
  124. package/build/inputs/TextArea/TextArea.styled.js +64 -379
  125. package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
  126. package/build/inputs/TextInput/TextInput.js +59 -79
  127. package/build/inputs/TextInput/TextInput.js.map +1 -1
  128. package/build/inputs/TextInput/TextInput.styled.js +33 -224
  129. package/build/inputs/TextInput/TextInput.styled.js.map +1 -1
  130. package/build/layout/InputGroup/InputGroup.js +6 -9
  131. package/build/layout/InputGroup/InputGroup.js.map +1 -1
  132. package/build/layout/InputGroup/InputGroup.styled.js +4 -3
  133. package/build/layout/InputGroup/InputGroup.styled.js.map +1 -1
  134. package/build/layout/InputGroup/index.js +2 -0
  135. package/build/layout/InputGroup/index.js.map +1 -0
  136. package/build/layout/SectionSeparator/SectionSeparator.js +5 -9
  137. package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -1
  138. package/build/layout/SectionSeparator/SectionSeparator.styled.js +4 -8
  139. package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -1
  140. package/build/styles/utils/colors-export.d.ts +54 -0
  141. package/build/styles/utils/colors-export.js.map +1 -1
  142. package/build/utils/dateTime.js.map +1 -1
  143. package/build/utils/defaultTheme.js +14 -28
  144. package/build/utils/defaultTheme.js.map +1 -1
  145. package/build/utils/getElementRef.js +14 -0
  146. package/build/utils/getElementRef.js.map +1 -0
  147. package/build/utils/parseTrigger.js +16 -0
  148. package/build/utils/parseTrigger.js.map +1 -0
  149. package/build/widgets/AssetAction/AssetAction.js +26 -33
  150. package/build/widgets/AssetAction/AssetAction.js.map +1 -1
  151. package/build/widgets/AssetAction/AssetAction.styled.js +20 -34
  152. package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -1
  153. package/build/widgets/AssetActionsBase/AssetActionsBase.js +8 -13
  154. package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -1
  155. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +4 -9
  156. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -1
  157. package/build/widgets/AssetGallery/AssetGallery.js +15 -40
  158. package/build/widgets/AssetGallery/AssetGallery.js.map +1 -1
  159. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +55 -70
  160. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -1
  161. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +12 -24
  162. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -1
  163. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +146 -122
  164. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
  165. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +99 -286
  166. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
  167. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +170 -125
  168. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
  169. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +135 -364
  170. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
  171. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +20 -21
  172. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -1
  173. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +20 -71
  174. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -1
  175. package/build/widgets/ContextMenu/ContextMenu.js +12 -11
  176. package/build/widgets/ContextMenu/ContextMenu.js.map +1 -1
  177. package/build/widgets/ContextMenu/ContextMenu.styled.js +4 -4
  178. package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -1
  179. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +17 -25
  180. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -1
  181. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +16 -71
  182. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -1
  183. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +7 -11
  184. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -1
  185. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +4 -11
  186. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -1
  187. package/build/widgets/InfoCard/InfoCard.js +26 -21
  188. package/build/widgets/InfoCard/InfoCard.js.map +1 -1
  189. package/build/widgets/InfoCard/InfoCard.styled.js +36 -84
  190. package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -1
  191. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js +28 -34
  192. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js.map +1 -1
  193. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js +21 -57
  194. package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js.map +1 -1
  195. package/build/widgets/InstructionSeverityDisplay/index.js +2 -0
  196. package/build/widgets/InstructionSeverityDisplay/index.js.map +1 -0
  197. package/build/widgets/Instructions/Instructions.js +53 -95
  198. package/build/widgets/Instructions/Instructions.js.map +1 -1
  199. package/build/widgets/Instructions/Instructions.styled.js +27 -26
  200. package/build/widgets/Instructions/Instructions.styled.js.map +1 -1
  201. package/build/widgets/ProgressBar/ProgressBar.js +39 -37
  202. package/build/widgets/ProgressBar/ProgressBar.js.map +1 -1
  203. package/build/widgets/ProgressBar/ProgressBar.styled.js +56 -125
  204. package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -1
  205. package/build/widgets/SummaryCard/SummaryCard.js +55 -64
  206. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
  207. package/build/widgets/SummaryCard/SummaryCard.styled.js +51 -106
  208. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
  209. package/package.json +84 -36
  210. package/styles/utils/colors-export.d.ts +54 -0
  211. package/types/components/data/Alert/Alert.d.ts +76 -0
  212. package/types/components/data/Alert/Alert.styled.d.ts +52 -0
  213. package/types/components/data/Alert/index.d.ts +1 -0
  214. package/types/components/data/Badge/Badge.d.ts +120 -0
  215. package/types/components/data/Badge/Badge.styled.d.ts +33 -0
  216. package/types/components/data/Badge/index.d.ts +1 -0
  217. package/types/components/data/Popover/Popover.d.ts +116 -0
  218. package/types/components/data/Popover/Popover.styled.d.ts +15 -0
  219. package/types/components/data/Popover/index.d.ts +1 -0
  220. package/types/components/data/SeverityBadge/SeverityBadge.d.ts +72 -0
  221. package/types/components/data/SeverityBadge/index.d.ts +1 -0
  222. package/types/components/data/Tab/Tab.d.ts +14 -0
  223. package/types/components/data/Tab/Tab.styled.d.ts +1 -0
  224. package/types/components/data/Tab/index.d.ts +1 -0
  225. package/types/components/data/Tabs/Tabs.d.ts +111 -0
  226. package/types/components/data/Tabs/Tabs.styled.d.ts +26 -0
  227. package/types/components/data/Tabs/index.d.ts +1 -0
  228. package/types/components/data/Tooltip/Tooltip.d.ts +88 -0
  229. package/types/components/data/Tooltip/Tooltip.styled.d.ts +8 -0
  230. package/types/components/data/Tooltip/index.d.ts +1 -0
  231. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.d.ts +35 -0
  232. package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.d.ts +27 -0
  233. package/types/components/data/VerificationStatusIcon/index.d.ts +1 -0
  234. package/types/components/data/_shared/FloatingArrow.styled.d.ts +29 -0
  235. package/types/components/data/index.d.ts +8 -0
  236. package/types/components/index.d.ts +3 -0
  237. package/types/components/inputs/ActionButton/ActionButton.d.ts +55 -0
  238. package/types/components/inputs/ActionButton/ActionButton.styled.d.ts +16 -0
  239. package/types/components/inputs/ActionButton/index.d.ts +1 -0
  240. package/types/components/inputs/Button/Button.d.ts +82 -0
  241. package/types/components/inputs/Button/Button.styled.d.ts +60 -0
  242. package/types/components/inputs/Button/index.d.ts +1 -0
  243. package/types/components/inputs/Checkbox/Checkbox.d.ts +83 -0
  244. package/types/components/inputs/Checkbox/Checkbox.styled.d.ts +29 -0
  245. package/types/components/inputs/Checkbox/index.d.ts +1 -0
  246. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.d.ts +242 -0
  247. package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.d.ts +104 -0
  248. package/types/components/inputs/CompactAutocompleteSelect/index.d.ts +1 -0
  249. package/types/components/inputs/CompactStarRating/CompactStarRating.d.ts +96 -0
  250. package/types/components/inputs/CompactStarRating/CompactStarRating.styled.d.ts +34 -0
  251. package/types/components/inputs/CompactStarRating/index.d.ts +1 -0
  252. package/types/components/inputs/CompactTextInput/CompactTextInput.d.ts +116 -0
  253. package/types/components/inputs/CompactTextInput/CompactTextInput.styled.d.ts +42 -0
  254. package/types/components/inputs/CompactTextInput/index.d.ts +1 -0
  255. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.d.ts +41 -0
  256. package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.d.ts +13 -0
  257. package/types/components/inputs/MultiLevelCheckbox/index.d.ts +2 -0
  258. package/types/components/inputs/MultiLevelCheckbox/types.d.ts +29 -0
  259. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.d.ts +44 -0
  260. package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.d.ts +11 -0
  261. package/types/components/inputs/MultiLevelCheckboxSelect/index.d.ts +1 -0
  262. package/types/components/inputs/MultiSelect/MultiSelect.d.ts +115 -0
  263. package/types/components/inputs/MultiSelect/MultiSelect.styled.d.ts +34 -0
  264. package/types/components/inputs/MultiSelect/index.d.ts +1 -0
  265. package/types/components/inputs/Radio/Radio.d.ts +65 -0
  266. package/types/components/inputs/Radio/Radio.styled.d.ts +11 -0
  267. package/types/components/inputs/Radio/index.d.ts +1 -0
  268. package/types/components/inputs/Switch/Switch.d.ts +62 -0
  269. package/types/components/inputs/Switch/Switch.styled.d.ts +16 -0
  270. package/types/components/inputs/Switch/index.d.ts +1 -0
  271. package/types/components/inputs/TextArea/TextArea.d.ts +120 -0
  272. package/types/components/inputs/TextArea/TextArea.styled.d.ts +93 -0
  273. package/types/components/inputs/TextArea/index.d.ts +1 -0
  274. package/types/components/inputs/TextInput/TextInput.d.ts +109 -0
  275. package/types/components/inputs/TextInput/TextInput.styled.d.ts +43 -0
  276. package/types/components/inputs/TextInput/index.d.ts +1 -0
  277. package/types/components/inputs/index.d.ts +13 -0
  278. package/types/components/layout/InputGroup/InputGroup.d.ts +31 -0
  279. package/types/components/layout/InputGroup/InputGroup.styled.d.ts +1 -0
  280. package/types/components/layout/InputGroup/index.d.ts +1 -0
  281. package/types/components/layout/SectionSeparator/SectionSeparator.d.ts +28 -0
  282. package/types/components/layout/SectionSeparator/SectionSeparator.styled.d.ts +7 -0
  283. package/types/components/layout/SectionSeparator/index.d.ts +1 -0
  284. package/types/components/layout/index.d.ts +2 -0
  285. package/types/components/widgets/AssetAction/AssetAction.d.ts +16 -0
  286. package/types/components/widgets/AssetAction/AssetAction.styled.d.ts +15 -0
  287. package/types/components/widgets/AssetAction/index.d.ts +1 -0
  288. package/types/components/widgets/AssetActionsBase/AssetActionsBase.d.ts +25 -0
  289. package/types/components/widgets/AssetActionsBase/AssetActionsBase.styled.d.ts +1 -0
  290. package/types/components/widgets/AssetActionsBase/index.d.ts +1 -0
  291. package/types/components/widgets/AssetGallery/AssetGallery.d.ts +170 -0
  292. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.d.ts +76 -0
  293. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.d.ts +3 -0
  294. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.d.ts +3 -0
  295. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.d.ts +52 -0
  296. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.d.ts +2 -0
  297. package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.d.ts +49 -0
  298. package/types/components/widgets/AssetGallery/asset.types.d.ts +329 -0
  299. package/types/components/widgets/AssetGallery/index.d.ts +1 -0
  300. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.d.ts +60 -0
  301. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.d.ts +21 -0
  302. package/types/components/widgets/AssetPreview/AssetPreviewTopBar/index.d.ts +1 -0
  303. package/types/components/widgets/ContextMenu/ContextMenu.d.ts +118 -0
  304. package/types/components/widgets/ContextMenu/ContextMenu.styled.d.ts +1 -0
  305. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.d.ts +45 -0
  306. package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.d.ts +18 -0
  307. package/types/components/widgets/ContextMenu/ContextMenuItem/index.d.ts +1 -0
  308. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.d.ts +23 -0
  309. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.d.ts +1 -0
  310. package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/index.d.ts +1 -0
  311. package/types/components/widgets/ContextMenu/index.d.ts +1 -0
  312. package/types/components/widgets/InfoCard/InfoCard.d.ts +33 -0
  313. package/types/components/widgets/InfoCard/InfoCard.styled.d.ts +28 -0
  314. package/types/components/widgets/InfoCard/index.d.ts +1 -0
  315. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.d.ts +46 -0
  316. package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.d.ts +30 -0
  317. package/types/components/widgets/InstructionSeverityDisplay/index.d.ts +1 -0
  318. package/types/components/widgets/Instructions/Instructions.d.ts +156 -0
  319. package/types/components/widgets/Instructions/Instructions.styled.d.ts +14 -0
  320. package/types/components/widgets/Instructions/index.d.ts +1 -0
  321. package/types/components/widgets/ProgressBar/ProgressBar.d.ts +30 -0
  322. package/types/components/widgets/ProgressBar/ProgressBar.styled.d.ts +41 -0
  323. package/types/components/widgets/ProgressBar/index.d.ts +1 -0
  324. package/types/components/widgets/SummaryCard/SummaryCard.d.ts +83 -0
  325. package/types/components/widgets/SummaryCard/SummaryCard.styled.d.ts +29 -0
  326. package/types/components/widgets/SummaryCard/index.d.ts +1 -0
  327. package/types/components/widgets/index.d.ts +11 -0
  328. package/types/hooks/useElementSize.d.ts +14 -0
  329. package/types/hooks/useEventListner.d.ts +14 -0
  330. package/types/hooks/useFloatingPopover.d.ts +161 -0
  331. package/types/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  332. package/types/hooks/useOnClickOutside.d.ts +13 -0
  333. package/types/hooks/useTooltipAutoShow.d.ts +31 -0
  334. package/types/icons/index.d.ts +41 -0
  335. package/types/ssr/index.d.ts +1 -0
  336. package/types/styles/utils/colors-export.d.ts +54 -0
  337. package/types/utils/dateTime.d.ts +8 -0
  338. package/types/utils/defaultTheme.d.ts +95 -0
  339. package/types/utils/getElementRef.d.ts +2 -0
  340. package/types/utils/parseTrigger.d.ts +22 -0
  341. package/build/_virtual/_rollupPluginBabelHelpers.js +0 -12
  342. package/build/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  343. package/build/widgets/AssetGallery/asset.propType.js +0 -56
  344. package/build/widgets/AssetGallery/asset.propType.js.map +0 -1
@@ -1,11 +1,11 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import React__default, { useState, useMemo, useCallback, useEffect } from 'react';
3
- import PropTypes from 'prop-types';
4
2
  import { MultiLevelCheckbox as MultiLevelCheckbox$1, MultiLevelCheckboxLegend, MultiLevelCheckboxNoResults, CheckboxTree as CheckboxTree$1, CheckboxTreeCheckboxContainer, ExpandTreeButton, CheckboxTreeChildren } from './MultiLevelCheckbox.styled.js';
5
3
  import Checkbox from '../Checkbox/Checkbox.js';
6
4
  import { isEmpty, uniq, isEqual, isArray } from 'lodash';
7
- import { findChildValues, NodeType } from './types.js';
5
+ import { findChildValues } from './types.js';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
8
7
 
8
+ const EMPTY_ARRAY = [];
9
9
  function hasChildrenSelected(node, targetValue, checkedValues) {
10
10
  if (!isArray(node.children) || node.children.length === 0) {
11
11
  return false;
@@ -39,11 +39,11 @@ function getLabelByValue(targetValue, nodes) {
39
39
  return null;
40
40
  }
41
41
  const MultiLevelCheckbox = React__default.forwardRef(function MultiLevelCheckbox({
42
- options,
42
+ options = EMPTY_ARRAY,
43
43
  checked,
44
44
  search,
45
45
  label,
46
- noResultsText,
46
+ noResultsText = 'No results.',
47
47
  onChange,
48
48
  ...props
49
49
  }, forwardedRef) {
@@ -90,30 +90,23 @@ const MultiLevelCheckbox = React__default.forwardRef(function MultiLevelCheckbox
90
90
  setInternalChecked(includeAllChildren(checked, options));
91
91
  }
92
92
  }, [checked, options]);
93
- return React__default.createElement(MultiLevelCheckbox$1, _extends({}, props, {
94
- ref: forwardedRef
95
- }), label && React__default.createElement(MultiLevelCheckboxLegend, null, label), options.map(node => React__default.createElement(CheckboxTree, {
96
- key: node.value,
97
- nodes: options,
98
- node: node,
99
- checked: checked.filter(c => [node.value, ...findChildValues(node)].includes(c)),
100
- onAdd: onAdd,
101
- onRemove: onRemove,
102
- search: search
103
- })), !anySearchResults && React__default.createElement(MultiLevelCheckboxNoResults, null, noResultsText));
93
+ return jsxs(MultiLevelCheckbox$1, {
94
+ ...props,
95
+ ref: forwardedRef,
96
+ children: [label && jsx(MultiLevelCheckboxLegend, {
97
+ children: label
98
+ }), options.map(node => jsx(CheckboxTree, {
99
+ nodes: options,
100
+ node: node,
101
+ checked: checked.filter(c => [node.value, ...findChildValues(node)].includes(c)),
102
+ onAdd: onAdd,
103
+ onRemove: onRemove,
104
+ search: search
105
+ }, node.value)), !anySearchResults && jsx(MultiLevelCheckboxNoResults, {
106
+ children: noResultsText
107
+ })]
108
+ });
104
109
  });
105
- MultiLevelCheckbox.propTypes = process.env.NODE_ENV !== "production" ? {
106
- options: PropTypes.arrayOf(NodeType),
107
- checked: PropTypes.array.isRequired,
108
- label: PropTypes.string,
109
- search: PropTypes.string,
110
- noResultsText: PropTypes.string,
111
- onChange: PropTypes.func.isRequired
112
- } : {};
113
- MultiLevelCheckbox.defaultProps = {
114
- options: [],
115
- noResultsText: 'No results.'
116
- };
117
110
  const CheckboxTree = React__default.memo(function CheckboxTree({
118
111
  node,
119
112
  nodes,
@@ -152,56 +145,56 @@ const CheckboxTree = React__default.memo(function CheckboxTree({
152
145
  if (hideOption) {
153
146
  return null;
154
147
  }
155
- return React__default.createElement(CheckboxTree$1, null, React__default.createElement(CheckboxTreeCheckboxContainer, null, isArray(node.children) && node.children.length > 0 && React__default.createElement(ExpandTreeButton, {
156
- $expanded: expanded || expandedBySearch,
157
- type: "button",
158
- onClick: () => {
159
- setExpandedBySearch(current => {
160
- if (current) {
161
- setExpanded(false);
162
- } else {
163
- setExpanded(v => !v);
164
- }
165
- return false;
166
- });
167
- }
168
- }, React__default.createElement("svg", {
169
- xmlns: "http://www.w3.org/2000/svg",
170
- viewBox: "0 0 12 7.4"
171
- }, React__default.createElement("path", {
172
- fill: "currentColor",
173
- d: "m6,7.4L0,1.4,1.4,0l4.6,4.6L10.6,0l1.4,1.4-6,6Z",
174
- strokeWidth: "0"
175
- }))), React__default.createElement(Checkbox, {
176
- style: {
177
- paddingLeft: 24
178
- },
179
- muted: !checked.includes(node.value),
180
- label: node.label,
181
- indeterminate: checked.includes(node.value) && !hasAllChildrenSelected(node, node.value, checked) || hasChildrenSelected(node, node.value, checked) && !hasAllChildrenSelected(node, node.value, checked),
182
- checked: hasChildrenSelected(node, node.value, checked) || checked.includes(node.value),
183
- value: node.value,
184
- onChange: onChange
185
- })), node.children && React__default.createElement(CheckboxTreeChildren, {
186
- $expanded: expanded || expandedBySearch
187
- }, React__default.createElement("div", null, node.children.map(childNode => React__default.createElement(CheckboxTree, {
188
- key: childNode.value,
189
- checked: checked.filter(c => [childNode.value, ...findChildValues(childNode)].includes(c)),
190
- onAdd: onChildrenAdd,
191
- onRemove: onRemove,
192
- node: childNode,
193
- nodes: nodes,
194
- search: search
195
- })))));
148
+ return jsxs(CheckboxTree$1, {
149
+ children: [jsxs(CheckboxTreeCheckboxContainer, {
150
+ children: [isArray(node.children) && node.children.length > 0 && jsx(ExpandTreeButton, {
151
+ $expanded: expanded || expandedBySearch,
152
+ type: "button",
153
+ onClick: () => {
154
+ setExpandedBySearch(current => {
155
+ if (current) {
156
+ setExpanded(false);
157
+ } else {
158
+ setExpanded(v => !v);
159
+ }
160
+ return false;
161
+ });
162
+ },
163
+ children: jsx("svg", {
164
+ xmlns: "http://www.w3.org/2000/svg",
165
+ viewBox: "0 0 12 7.4",
166
+ children: jsx("path", {
167
+ fill: "currentColor",
168
+ d: "m6,7.4L0,1.4,1.4,0l4.6,4.6L10.6,0l1.4,1.4-6,6Z",
169
+ strokeWidth: "0"
170
+ })
171
+ })
172
+ }), jsx(Checkbox, {
173
+ style: {
174
+ paddingLeft: 24
175
+ },
176
+ muted: !checked.includes(node.value),
177
+ label: node.label,
178
+ indeterminate: checked.includes(node.value) && !hasAllChildrenSelected(node, node.value, checked) || hasChildrenSelected(node, node.value, checked) && !hasAllChildrenSelected(node, node.value, checked),
179
+ checked: hasChildrenSelected(node, node.value, checked) || checked.includes(node.value),
180
+ value: node.value,
181
+ onChange: onChange
182
+ })]
183
+ }), node.children && jsx(CheckboxTreeChildren, {
184
+ $expanded: expanded || expandedBySearch,
185
+ children: jsx("div", {
186
+ children: node.children.map(childNode => jsx(CheckboxTree, {
187
+ checked: checked.filter(c => [childNode.value, ...findChildValues(childNode)].includes(c)),
188
+ onAdd: onChildrenAdd,
189
+ onRemove: onRemove,
190
+ node: childNode,
191
+ nodes: nodes,
192
+ search: search
193
+ }, childNode.value))
194
+ })
195
+ })]
196
+ });
196
197
  }, isEqual);
197
- CheckboxTree.propTypes = process.env.NODE_ENV !== "production" ? {
198
- node: NodeType,
199
- nodes: PropTypes.arrayOf(NodeType),
200
- checked: PropTypes.array.isRequired,
201
- search: PropTypes.string,
202
- onAdd: PropTypes.func.isRequired,
203
- onRemove: PropTypes.func.isRequired
204
- } : {};
205
198
 
206
199
  export { MultiLevelCheckbox as default };
207
200
  //# sourceMappingURL=MultiLevelCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiLevelCheckbox.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './MultiLevelCheckbox.styled';\nimport Checkbox from '../Checkbox';\nimport { isArray, isEmpty, isEqual, uniq } from 'lodash';\nimport { NodeType, findChildValues } from './types';\n\nfunction hasChildrenSelected(node, targetValue, checkedValues) {\n if (!isArray(node.children) || node.children.length === 0) {\n return false;\n }\n\n // Check if any direct children are selected\n if (node.children.some(childNode => checkedValues.includes(childNode.value))) {\n return true;\n }\n\n // Check recursively for selected children in each child node\n return node.children.some(childNode =>\n hasChildrenSelected(childNode, childNode.value, checkedValues)\n );\n}\n\nfunction hasAllChildrenSelected(node, targetValue, checkedValues) {\n if (!node.children || node.children.length === 0) {\n return checkedValues.includes(node.value);\n }\n\n // Check if any direct children are not selected\n if (node.children.some(childNode => !checkedValues.includes(childNode.value))) {\n return false;\n }\n\n // Check recursively for selected children in each child node\n return node.children.every(childNode =>\n hasAllChildrenSelected(childNode, childNode.value, checkedValues)\n );\n}\n\nfunction getLabelByValue(targetValue, nodes) {\n for (const node of nodes) {\n if (node.value === targetValue) {\n return node.label;\n }\n\n if (node.children) {\n const result = getLabelByValue(targetValue, node.children);\n if (result) {\n return result;\n }\n }\n }\n\n return null; // Return null if the value is not found in the array\n}\n\n/**\n * MultiLevelCheckbox allow the user to select one or more items from a nested set.\n *\n * This component is controlled which means that the consumer will have to keep track of what options are selected. The selected options should be provided to the `checked`-prop.\n * On any selection or deselection `onChange` will be called with an updated `checked`-list.\n *\n * ### Import\n *\n * ```js\n * import { MultiLevelCheckbox } from '@ntbjs/react-components/inputs'\n * // or\n * import MultiLevelCheckbox from '@ntbjs/react-components/inputs/MultiLevelCheckbox'\n * ```\n */\nconst MultiLevelCheckbox = React.forwardRef(function MultiLevelCheckbox(\n { options, checked, search, label, noResultsText, onChange, ...props },\n forwardedRef\n) {\n const [internalChecked, setInternalChecked] = useState(includeAllChildren(checked, options));\n\n const anySearchResults = useMemo(() => {\n if (isEmpty(search)) {\n return true;\n }\n\n return options.some(node => {\n const childValues = findChildValues(node);\n return [node.value, ...childValues]\n .map(v => getLabelByValue(v, options))\n .some(v => v.match(new RegExp(search, 'i')));\n });\n }, [options, search]);\n\n function includeAllChildren(checked, nodes, honorParent = true) {\n let newChecked = [];\n\n function fillSiblings(nodes) {\n nodes.forEach(node => {\n if (hasAllChildrenSelected(node, node.value, checked)) {\n newChecked.push(node.value);\n }\n if (honorParent && checked.includes(node.value)) {\n const childValues = findChildValues(node);\n return (newChecked = newChecked.concat([node.value, ...childValues]));\n }\n\n if (node.children) {\n fillSiblings(node.children);\n }\n });\n }\n\n fillSiblings(nodes);\n\n return newChecked;\n }\n\n const onAdd = useCallback(\n values => {\n setInternalChecked(prevChecked =>\n uniq(includeAllChildren([...prevChecked, ...values], options))\n );\n },\n [options]\n );\n\n const onRemove = useCallback(\n values => {\n setInternalChecked(prevChecked =>\n includeAllChildren(\n prevChecked.filter(v => !values.includes(v)),\n options,\n false\n )\n );\n },\n [options]\n );\n\n // Call the onChange callback with the new internal value\n useEffect(() => {\n onChange([...internalChecked].sort());\n }, [internalChecked, onChange]);\n\n useEffect(() => {\n if (!isEqual([...checked].sort(), [...internalChecked].sort())) {\n setInternalChecked(includeAllChildren(checked, options));\n }\n }, [checked, options]);\n\n return (\n <S.MultiLevelCheckbox {...props} ref={forwardedRef}>\n {label && <S.MultiLevelCheckboxLegend>{label}</S.MultiLevelCheckboxLegend>}\n {options.map(node => (\n <CheckboxTree\n key={node.value}\n nodes={options}\n node={node}\n checked={checked.filter(c => [node.value, ...findChildValues(node)].includes(c))}\n onAdd={onAdd}\n onRemove={onRemove}\n search={search}\n />\n ))}\n\n {!anySearchResults && (\n <S.MultiLevelCheckboxNoResults>{noResultsText}</S.MultiLevelCheckboxNoResults>\n )}\n </S.MultiLevelCheckbox>\n );\n});\n\nMultiLevelCheckbox.propTypes = {\n options: PropTypes.arrayOf(NodeType),\n /**\n * Array of checked option values\n */\n checked: PropTypes.array.isRequired,\n\n /**\n * Label text for the MultiLevelCheckbox\n */\n label: PropTypes.string,\n\n /**\n * Optional search string\n */\n search: PropTypes.string,\n\n /**\n * Optional text to display when no results are found while searching.`\n */\n noResultsText: PropTypes.string,\n\n /**\n * Callback function for the `onChange` event\n */\n onChange: PropTypes.func.isRequired\n};\n\nMultiLevelCheckbox.defaultProps = {\n options: [],\n noResultsText: 'No results.'\n};\n\nconst CheckboxTree = React.memo(function CheckboxTree({\n node,\n nodes,\n checked,\n onAdd,\n onRemove,\n search = ''\n}) {\n const [expanded, setExpanded] = useState(false);\n const [expandedBySearch, setExpandedBySearch] = useState(false);\n\n const onChange = useCallback(\n event => {\n if (event.target.checked) {\n onAdd([event.target.value, ...findChildValues(node)]);\n } else {\n onRemove([event.target.value, ...findChildValues(node)]);\n }\n },\n [node, onAdd, onRemove]\n );\n\n const onChildrenAdd = useCallback(\n newValues => {\n if (hasAllChildrenSelected(node, '', [...newValues, ...checked])) {\n return onAdd([node.value, ...newValues]);\n }\n\n onAdd(newValues);\n },\n [node, checked, onAdd]\n );\n\n const hideOption = useMemo(() => {\n if (isEmpty(search)) {\n return;\n }\n\n const childValues = findChildValues(node);\n return ![node.value, ...childValues]\n .map(v => getLabelByValue(v, nodes))\n .some(v => v.match(new RegExp(search, 'i')));\n }, [node, nodes, search]);\n\n useEffect(() => {\n const childValues = findChildValues(node);\n const expandBySearch =\n !isEmpty(search) &&\n [node.value, ...childValues]\n .map(v => getLabelByValue(v, nodes))\n .some(v => v.match(new RegExp(search, 'i')));\n setExpandedBySearch(expandBySearch);\n }, [search, nodes, node]);\n\n if (hideOption) {\n return null;\n }\n\n return (\n <S.CheckboxTree>\n <S.CheckboxTreeCheckboxContainer>\n {isArray(node.children) && node.children.length > 0 && (\n <S.ExpandTreeButton\n $expanded={expanded || expandedBySearch}\n type=\"button\"\n onClick={() => {\n setExpandedBySearch(current => {\n if (current) {\n setExpanded(false);\n } else {\n setExpanded(v => !v);\n }\n return false;\n });\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 7.4\">\n <path\n fill=\"currentColor\"\n d=\"m6,7.4L0,1.4,1.4,0l4.6,4.6L10.6,0l1.4,1.4-6,6Z\"\n strokeWidth=\"0\"\n />\n </svg>\n </S.ExpandTreeButton>\n )}\n\n <Checkbox\n style={{ paddingLeft: 24 }}\n muted={!checked.includes(node.value)}\n label={node.label}\n indeterminate={\n (checked.includes(node.value) && !hasAllChildrenSelected(node, node.value, checked)) ||\n (hasChildrenSelected(node, node.value, checked) &&\n !hasAllChildrenSelected(node, node.value, checked))\n }\n checked={hasChildrenSelected(node, node.value, checked) || checked.includes(node.value)}\n value={node.value}\n onChange={onChange}\n />\n </S.CheckboxTreeCheckboxContainer>\n\n {node.children && (\n <S.CheckboxTreeChildren $expanded={expanded || expandedBySearch}>\n <div>\n {node.children.map(childNode => (\n <CheckboxTree\n key={childNode.value}\n checked={checked.filter(c =>\n [childNode.value, ...findChildValues(childNode)].includes(c)\n )}\n onAdd={onChildrenAdd}\n onRemove={onRemove}\n node={childNode}\n nodes={nodes}\n search={search}\n />\n ))}\n </div>\n </S.CheckboxTreeChildren>\n )}\n </S.CheckboxTree>\n );\n},\nisEqual);\n\nCheckboxTree.propTypes = {\n node: NodeType,\n nodes: PropTypes.arrayOf(NodeType),\n checked: PropTypes.array.isRequired,\n search: PropTypes.string,\n onAdd: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired\n};\n\nexport default MultiLevelCheckbox;\n"],"names":["hasChildrenSelected","node","targetValue","checkedValues","isArray","children","length","some","childNode","includes","value","hasAllChildrenSelected","every","getLabelByValue","nodes","label","result","MultiLevelCheckbox","React","forwardRef","options","checked","search","noResultsText","onChange","props","forwardedRef","internalChecked","setInternalChecked","useState","includeAllChildren","anySearchResults","useMemo","isEmpty","childValues","findChildValues","map","v","match","RegExp","honorParent","newChecked","fillSiblings","forEach","push","concat","onAdd","useCallback","values","prevChecked","uniq","onRemove","filter","useEffect","sort","isEqual","createElement","S","_extends","ref","CheckboxTree","key","c","propTypes","process","env","NODE_ENV","PropTypes","arrayOf","NodeType","array","isRequired","string","func","defaultProps","memo","expanded","setExpanded","expandedBySearch","setExpandedBySearch","event","target","onChildrenAdd","newValues","hideOption","expandBySearch","$expanded","type","onClick","current","xmlns","viewBox","fill","d","strokeWidth","Checkbox","style","paddingLeft","muted","indeterminate"],"mappings":"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"}
1
+ {"version":3,"file":"MultiLevelCheckbox.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport * as S from './MultiLevelCheckbox.styled';\n\nconst EMPTY_ARRAY = [];\nimport Checkbox from '../Checkbox';\nimport { isArray, isEmpty, isEqual, uniq } from 'lodash';\nimport { findChildValues } from './types';\nimport type { MultiLevelCheckboxNode, MultiLevelCheckboxNodeValue } from './types';\n\nfunction hasChildrenSelected(node, targetValue, checkedValues) {\n if (!isArray(node.children) || node.children.length === 0) {\n return false;\n }\n\n // Check if any direct children are selected\n if (node.children.some(childNode => checkedValues.includes(childNode.value))) {\n return true;\n }\n\n // Check recursively for selected children in each child node\n return node.children.some(childNode =>\n hasChildrenSelected(childNode, childNode.value, checkedValues)\n );\n}\n\nfunction hasAllChildrenSelected(node, targetValue, checkedValues) {\n if (!node.children || node.children.length === 0) {\n return checkedValues.includes(node.value);\n }\n\n // Check if any direct children are not selected\n if (node.children.some(childNode => !checkedValues.includes(childNode.value))) {\n return false;\n }\n\n // Check recursively for selected children in each child node\n return node.children.every(childNode =>\n hasAllChildrenSelected(childNode, childNode.value, checkedValues)\n );\n}\n\nfunction getLabelByValue(targetValue, nodes) {\n for (const node of nodes) {\n if (node.value === targetValue) {\n return node.label;\n }\n\n if (node.children) {\n const result = getLabelByValue(targetValue, node.children);\n if (result) {\n return result;\n }\n }\n }\n\n return null; // Return null if the value is not found in the array\n}\n\ntype MultiLevelCheckboxOwnProps = {\n // Use MultiLevelCheckboxNode (genuinely recursive) not NodeType (truncates at two levels).\n options?: MultiLevelCheckboxNode[];\n /**\n * Array of checked option values\n */\n checked: any[];\n /**\n * Label text for the MultiLevelCheckbox\n */\n label?: string;\n /**\n * Optional search string\n */\n search?: string;\n /**\n * Optional text to display when no results are found while searching.`\n */\n noResultsText?: string;\n /**\n * Callback function for the `onChange` event\n */\n onChange: (...args: any[]) => any;\n};\n\n// Props base: styled component's props, with declared members overriding (Omit<Base, keyof Own> & Own).\ntype Props = Omit<\n React.ComponentPropsWithoutRef<typeof S.MultiLevelCheckbox>,\n keyof MultiLevelCheckboxOwnProps\n> &\n MultiLevelCheckboxOwnProps;\n\n/**\n * MultiLevelCheckbox allow the user to select one or more items from a nested set.\n *\n * This component is controlled which means that the consumer will have to keep track of what options are selected. The selected options should be provided to the `checked`-prop.\n * On any selection or deselection `onChange` will be called with an updated `checked`-list.\n *\n * ### Import\n *\n * ```js\n * import { MultiLevelCheckbox } from '@ntbjs/react-components/inputs'\n * // or\n * import MultiLevelCheckbox from '@ntbjs/react-components/inputs/MultiLevelCheckbox'\n * ```\n */\nconst MultiLevelCheckbox = React.forwardRef<any, Props>(function MultiLevelCheckbox(\n {\n options = EMPTY_ARRAY,\n checked,\n search,\n label,\n noResultsText = 'No results.',\n onChange,\n ...props\n },\n forwardedRef\n) {\n const [internalChecked, setInternalChecked] = useState(includeAllChildren(checked, options));\n\n const anySearchResults = useMemo(() => {\n if (isEmpty(search)) {\n return true;\n }\n\n return options.some(node => {\n const childValues = findChildValues(node);\n return [node.value, ...childValues]\n .map(v => getLabelByValue(v, options))\n .some(v => v.match(new RegExp(search, 'i')));\n });\n }, [options, search]);\n\n function includeAllChildren(checked, nodes, honorParent = true) {\n let newChecked = [];\n\n function fillSiblings(nodes) {\n nodes.forEach(node => {\n if (hasAllChildrenSelected(node, node.value, checked)) {\n newChecked.push(node.value);\n }\n if (honorParent && checked.includes(node.value)) {\n const childValues = findChildValues(node);\n return (newChecked = newChecked.concat([node.value, ...childValues]));\n }\n\n if (node.children) {\n fillSiblings(node.children);\n }\n });\n }\n\n fillSiblings(nodes);\n\n return newChecked;\n }\n\n const onAdd = useCallback(\n values => {\n setInternalChecked(prevChecked =>\n uniq(includeAllChildren([...prevChecked, ...values], options))\n );\n },\n [options]\n );\n\n const onRemove = useCallback(\n values => {\n setInternalChecked(prevChecked =>\n includeAllChildren(\n prevChecked.filter(v => !values.includes(v)),\n options,\n false\n )\n );\n },\n [options]\n );\n\n // Call the onChange callback with the new internal value\n useEffect(() => {\n onChange([...internalChecked].sort());\n }, [internalChecked, onChange]);\n\n useEffect(() => {\n if (!isEqual([...checked].sort(), [...internalChecked].sort())) {\n setInternalChecked(includeAllChildren(checked, options));\n }\n }, [checked, options]);\n\n return (\n <S.MultiLevelCheckbox {...props} ref={forwardedRef}>\n {label && <S.MultiLevelCheckboxLegend>{label}</S.MultiLevelCheckboxLegend>}\n {options.map(node => (\n <CheckboxTree\n key={node.value}\n nodes={options}\n node={node}\n checked={checked.filter(c => [node.value, ...findChildValues(node)].includes(c))}\n onAdd={onAdd}\n onRemove={onRemove}\n search={search}\n />\n ))}\n\n {!anySearchResults && (\n <S.MultiLevelCheckboxNoResults>{noResultsText}</S.MultiLevelCheckboxNoResults>\n )}\n </S.MultiLevelCheckbox>\n );\n});\n\n// Hand-written because React.memo(fn) isn't recognized by reactPropsPlugin.\n// `node`/`nodes` use MultiLevelCheckboxNode (recursive) not NodeType; `checked` is strongly typed.\ntype CheckboxTreeProps = {\n node: MultiLevelCheckboxNode;\n nodes?: MultiLevelCheckboxNode[];\n checked: MultiLevelCheckboxNodeValue[];\n search?: string;\n onAdd: (values: MultiLevelCheckboxNodeValue[]) => void;\n onRemove: (values: MultiLevelCheckboxNodeValue[]) => void;\n};\n\nconst CheckboxTree = React.memo(function CheckboxTree({\n node,\n nodes,\n checked,\n onAdd,\n onRemove,\n search = ''\n}: CheckboxTreeProps) {\n const [expanded, setExpanded] = useState(false);\n const [expandedBySearch, setExpandedBySearch] = useState(false);\n\n const onChange = useCallback(\n event => {\n if (event.target.checked) {\n onAdd([event.target.value, ...findChildValues(node)]);\n } else {\n onRemove([event.target.value, ...findChildValues(node)]);\n }\n },\n [node, onAdd, onRemove]\n );\n\n const onChildrenAdd = useCallback(\n newValues => {\n if (hasAllChildrenSelected(node, '', [...newValues, ...checked])) {\n return onAdd([node.value, ...newValues]);\n }\n\n onAdd(newValues);\n },\n [node, checked, onAdd]\n );\n\n const hideOption = useMemo(() => {\n if (isEmpty(search)) {\n return;\n }\n\n const childValues = findChildValues(node);\n return ![node.value, ...childValues]\n .map(v => getLabelByValue(v, nodes))\n .some(v => v.match(new RegExp(search, 'i')));\n }, [node, nodes, search]);\n\n useEffect(() => {\n const childValues = findChildValues(node);\n const expandBySearch =\n !isEmpty(search) &&\n [node.value, ...childValues]\n .map(v => getLabelByValue(v, nodes))\n .some(v => v.match(new RegExp(search, 'i')));\n setExpandedBySearch(expandBySearch);\n }, [search, nodes, node]);\n\n if (hideOption) {\n return null;\n }\n\n return (\n <S.CheckboxTree>\n <S.CheckboxTreeCheckboxContainer>\n {isArray(node.children) && node.children.length > 0 && (\n <S.ExpandTreeButton\n $expanded={expanded || expandedBySearch}\n type=\"button\"\n onClick={() => {\n setExpandedBySearch(current => {\n if (current) {\n setExpanded(false);\n } else {\n setExpanded(v => !v);\n }\n return false;\n });\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 7.4\">\n <path\n fill=\"currentColor\"\n d=\"m6,7.4L0,1.4,1.4,0l4.6,4.6L10.6,0l1.4,1.4-6,6Z\"\n strokeWidth=\"0\"\n />\n </svg>\n </S.ExpandTreeButton>\n )}\n\n <Checkbox\n style={{ paddingLeft: 24 }}\n muted={!checked.includes(node.value)}\n label={node.label}\n indeterminate={\n (checked.includes(node.value) && !hasAllChildrenSelected(node, node.value, checked)) ||\n (hasChildrenSelected(node, node.value, checked) &&\n !hasAllChildrenSelected(node, node.value, checked))\n }\n checked={hasChildrenSelected(node, node.value, checked) || checked.includes(node.value)}\n value={node.value}\n onChange={onChange}\n />\n </S.CheckboxTreeCheckboxContainer>\n\n {node.children && (\n <S.CheckboxTreeChildren $expanded={expanded || expandedBySearch}>\n <div>\n {node.children.map(childNode => (\n <CheckboxTree\n key={childNode.value}\n checked={checked.filter(c =>\n [childNode.value, ...findChildValues(childNode)].includes(c)\n )}\n onAdd={onChildrenAdd}\n onRemove={onRemove}\n node={childNode}\n nodes={nodes}\n search={search}\n />\n ))}\n </div>\n </S.CheckboxTreeChildren>\n )}\n </S.CheckboxTree>\n );\n}, isEqual);\n\n// CheckboxTree.propTypes deleted: React.memo(fn) can't have propTypes assigned under @types/react 19 (TS2339).\n// Internal usage is now checked by CheckboxTreeProps instead.\nexport default MultiLevelCheckbox;\n"],"names":["EMPTY_ARRAY","hasChildrenSelected","node","targetValue","checkedValues","isArray","children","length","some","childNode","includes","value","hasAllChildrenSelected","every","getLabelByValue","nodes","label","result","MultiLevelCheckbox","React","forwardRef","options","checked","search","noResultsText","onChange","props","forwardedRef","internalChecked","setInternalChecked","useState","includeAllChildren","anySearchResults","useMemo","isEmpty","childValues","findChildValues","map","v","match","RegExp","honorParent","newChecked","fillSiblings","forEach","push","concat","onAdd","useCallback","values","prevChecked","uniq","onRemove","filter","useEffect","sort","isEqual","_jsxs","S","ref","_jsx","CheckboxTree","c","memo","expanded","setExpanded","expandedBySearch","setExpandedBySearch","event","target","onChildrenAdd","newValues","hideOption","expandBySearch","$expanded","type","onClick","current","xmlns","viewBox","fill","d","strokeWidth","Checkbox","style","paddingLeft","muted","indeterminate"],"mappings":"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"}
@@ -6,78 +6,46 @@ const shouldForwardProp = prop => {
6
6
  };
7
7
  const MultiLevelCheckbox = styled.fieldset.withConfig({
8
8
  shouldForwardProp
9
- }).attrs(applyDefaultTheme)`
10
- padding: 0;
11
- border: 0;
12
- margin: 0;
13
- `;
9
+ }).attrs(applyDefaultTheme).withConfig({
10
+ displayName: "MultiLevelCheckboxstyled__MultiLevelCheckbox",
11
+ componentId: "sc-1jac4kc-0"
12
+ })(["padding:0;border:0;margin:0;"]);
14
13
  const MultiLevelCheckboxLegend = styled.legend.withConfig({
15
14
  shouldForwardProp
16
- }).attrs(applyDefaultTheme)`
17
- line-height: 1.2;
18
- font-size: 0.75rem;
19
- padding: 0 0 4px;
20
- letter-spacing: 0.03em;
21
- ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'))}
22
- `;
15
+ }).attrs(applyDefaultTheme).withConfig({
16
+ displayName: "MultiLevelCheckboxstyled__MultiLevelCheckboxLegend",
17
+ componentId: "sc-1jac4kc-1"
18
+ })(["line-height:1.2;font-size:0.75rem;padding:0 0 4px;letter-spacing:0.03em;", ""], props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600')));
23
19
  const MultiLevelCheckboxNoResults = styled.div.withConfig({
24
20
  shouldForwardProp
25
- }).attrs(applyDefaultTheme)`
26
- text-align: center;
27
- opacity: 0.7;
28
- font-size: 0.875rem;
29
- `;
21
+ }).attrs(applyDefaultTheme).withConfig({
22
+ displayName: "MultiLevelCheckboxstyled__MultiLevelCheckboxNoResults",
23
+ componentId: "sc-1jac4kc-2"
24
+ })(["text-align:center;opacity:0.7;font-size:0.875rem;"]);
30
25
  const CheckboxTreeChildren = styled.div.withConfig({
31
26
  shouldForwardProp
32
- }).attrs(applyDefaultTheme)`
33
- display: grid;
34
- grid-template-rows: 0fr;
35
- padding-left: 28px;
36
- transition: grid-template-rows 250ms;
37
-
38
- & > div {
39
- overflow: hidden;
40
- }
41
-
42
- ${props => props.$expanded && css`
43
- grid-template-rows: 1fr;
44
- `}
45
- }
46
- `;
27
+ }).attrs(applyDefaultTheme).withConfig({
28
+ displayName: "MultiLevelCheckboxstyled__CheckboxTreeChildren",
29
+ componentId: "sc-1jac4kc-3"
30
+ })(["display:grid;grid-template-rows:0fr;padding-left:28px;transition:grid-template-rows 250ms;& > div{overflow:hidden;}", "}"], props => props.$expanded && css(["grid-template-rows:1fr;"]));
47
31
  const CheckboxTree = styled.div.withConfig({
48
32
  shouldForwardProp
49
- }).attrs(applyDefaultTheme)`
50
- width: fit-content;
51
- `;
33
+ }).attrs(applyDefaultTheme).withConfig({
34
+ displayName: "MultiLevelCheckboxstyled__CheckboxTree",
35
+ componentId: "sc-1jac4kc-4"
36
+ })(["width:fit-content;"]);
52
37
  const CheckboxTreeCheckboxContainer = styled.div.withConfig({
53
38
  shouldForwardProp
54
- }).attrs(applyDefaultTheme)`
55
- position: relative;
56
- margin-top: 4px;
57
- `;
39
+ }).attrs(applyDefaultTheme).withConfig({
40
+ displayName: "MultiLevelCheckboxstyled__CheckboxTreeCheckboxContainer",
41
+ componentId: "sc-1jac4kc-5"
42
+ })(["position:relative;margin-top:4px;"]);
58
43
  const ExpandTreeButton = styled.button.withConfig({
59
44
  shouldForwardProp
60
- }).attrs(applyDefaultTheme)`
61
- -webkit-appearance: none;
62
- background: none;
63
- border: none;
64
- position: absolute;
65
- height: 100%;
66
- cursor: pointer;
67
- color: currentColor;
68
-
69
- & > svg {
70
- display: block;
71
- width: 10px;
72
- transform: rotate(-90deg);
73
- transition: transform 250ms;
74
-
75
- ${props => props.$expanded && css`
76
- transform: rotate(0deg);
77
- `}
78
- }
79
- }
80
- `;
45
+ }).attrs(applyDefaultTheme).withConfig({
46
+ displayName: "MultiLevelCheckboxstyled__ExpandTreeButton",
47
+ componentId: "sc-1jac4kc-6"
48
+ })(["-webkit-appearance:none;background:none;border:none;position:absolute;height:100%;cursor:pointer;color:currentColor;& > svg{display:block;width:10px;transform:rotate(-90deg);transition:transform 250ms;", "}}"], props => props.$expanded && css(["transform:rotate(0deg);"]));
81
49
 
82
50
  export { CheckboxTree, CheckboxTreeCheckboxContainer, CheckboxTreeChildren, ExpandTreeButton, MultiLevelCheckbox, MultiLevelCheckboxLegend, MultiLevelCheckboxNoResults };
83
51
  //# sourceMappingURL=MultiLevelCheckbox.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiLevelCheckbox.styled.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const MultiLevelCheckbox = styled.fieldset\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n padding: 0;\n border: 0;\n margin: 0;\n`;\n\nexport const MultiLevelCheckboxLegend = styled.legend\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n line-height: 1.2;\n font-size: 0.75rem;\n padding: 0 0 4px;\n letter-spacing: 0.03em;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-600')\n )}\n`;\n\nexport const MultiLevelCheckboxNoResults = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n text-align: center;\n opacity: 0.7;\n font-size: 0.875rem;\n`;\n\nexport const CheckboxTreeChildren = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: grid;\n grid-template-rows: 0fr;\n padding-left: 28px;\n transition: grid-template-rows 250ms;\n\n & > div {\n overflow: hidden;\n }\n\n ${props =>\n props.$expanded &&\n css`\n grid-template-rows: 1fr;\n `}\n}\n`;\n\nexport const CheckboxTree = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n width: fit-content;\n`;\n\nexport const CheckboxTreeCheckboxContainer = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: relative;\n margin-top: 4px;\n`;\n\nexport const ExpandTreeButton = styled.button\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n -webkit-appearance: none;\n background: none;\n border: none;\n position: absolute;\n height: 100%;\n cursor: pointer;\n color: currentColor;\n\n & > svg {\n display: block;\n width: 10px;\n transform: rotate(-90deg);\n transition: transform 250ms;\n\n ${props =>\n props.$expanded &&\n css`\n transform: rotate(0deg);\n `}\n }\n}\n`;\n"],"names":["shouldForwardProp","prop","startsWith","MultiLevelCheckbox","styled","fieldset","withConfig","attrs","applyDefaultTheme","MultiLevelCheckboxLegend","legend","props","theme","themeProp","getColor","MultiLevelCheckboxNoResults","div","CheckboxTreeChildren","$expanded","css","CheckboxTree","CheckboxTreeCheckboxContainer","ExpandTreeButton","button"],"mappings":";;;AAGA,MAAMA,iBAAiB,GAAGC,IAAI,IAAI;EAChC,OAAOA,IAAI,KAAK,OAAO,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,CAAA;AAClD,CAAC,CAAA;AAEM,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,QAAQ,CAC9CC,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA,EAAC;AAEM,MAAMC,wBAAwB,GAAGL,MAAM,CAACM,MAAM,CAClDJ,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA;AACA,EAAIG,EAAAA,KAAK,IACLA,KAAK,CAACC,KAAK,CAACC,SAAS,CACnB,OAAO,EACPF,KAAK,CAACC,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAChCH,KAAK,CAACC,KAAK,CAACE,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACL,EAAC;AAEM,MAAMC,2BAA2B,GAAGX,MAAM,CAACY,GAAG,CAClDV,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA,EAAC;AAEM,MAAMS,oBAAoB,GAAGb,MAAM,CAACY,GAAG,CAC3CV,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIG,KAAK,IACLA,KAAK,CAACO,SAAS,IACfC,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAC;AAEM,MAAMC,YAAY,GAAGhB,MAAM,CAACY,GAAG,CACnCV,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA,EAAC;AAEM,MAAMa,6BAA6B,GAAGjB,MAAM,CAACY,GAAG,CACpDV,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA,EAAC;AAEM,MAAMc,gBAAgB,GAAGlB,MAAM,CAACmB,MAAM,CAC1CjB,UAAU,CAAC;AACVN,EAAAA,iBAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMG,KAAK,IACLA,KAAK,CAACO,SAAS,IACfC,GAAG,CAAA;AACT;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;;;;"}
1
+ {"version":3,"file":"MultiLevelCheckbox.styled.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.ts"],"sourcesContent":["// One transient prop $expanded, two hosts, no shared css helper; nested selectors don't shadow props.\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\n/** Transient prop for two styled components; optional (templates handle absence). */\ninterface ExpandedStyleProps {\n /** `expanded || expandedBySearch` — opens the grid-template-rows / rotates the caret. */\n $expanded?: boolean;\n}\n\n/*\n * Single-argument, and it stays that way — peer floor `styled-components: >=5.1.0`, and\n * the two majors disagree on the second parameter. `prop` needs the annotation because\n * `withConfig` takes this by reference, so it gets no contextual typing.\n */\nconst shouldForwardProp = (prop: string): boolean => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const MultiLevelCheckbox = styled.fieldset\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n padding: 0;\n border: 0;\n margin: 0;\n`;\n\nexport const MultiLevelCheckboxLegend = styled.legend\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n line-height: 1.2;\n font-size: 0.75rem;\n padding: 0 0 4px;\n letter-spacing: 0.03em;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-600')\n )}\n`;\n\nexport const MultiLevelCheckboxNoResults = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n text-align: center;\n opacity: 0.7;\n font-size: 0.875rem;\n`;\n\nexport const CheckboxTreeChildren = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs<ExpandedStyleProps>(applyDefaultTheme)`\n display: grid;\n grid-template-rows: 0fr;\n padding-left: 28px;\n transition: grid-template-rows 250ms;\n\n & > div {\n overflow: hidden;\n }\n\n ${props =>\n props.$expanded &&\n css`\n grid-template-rows: 1fr;\n `}\n}\n`;\n\nexport const CheckboxTree = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n width: fit-content;\n`;\n\nexport const CheckboxTreeCheckboxContainer = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: relative;\n margin-top: 4px;\n`;\n\nexport const ExpandTreeButton = styled.button\n .withConfig({\n shouldForwardProp\n })\n .attrs<ExpandedStyleProps>(applyDefaultTheme)`\n -webkit-appearance: none;\n background: none;\n border: none;\n position: absolute;\n height: 100%;\n cursor: pointer;\n color: currentColor;\n\n & > svg {\n display: block;\n width: 10px;\n transform: rotate(-90deg);\n transition: transform 250ms;\n\n ${props =>\n props.$expanded &&\n css`\n transform: rotate(0deg);\n `}\n }\n}\n`;\n"],"names":["shouldForwardProp","prop","startsWith","MultiLevelCheckbox","styled","fieldset","withConfig","attrs","applyDefaultTheme","displayName","componentId","MultiLevelCheckboxLegend","legend","props","theme","themeProp","getColor","MultiLevelCheckboxNoResults","div","CheckboxTreeChildren","$expanded","css","CheckboxTree","CheckboxTreeCheckboxContainer","ExpandTreeButton","button"],"mappings":";;;AAeA,MAAMA,iBAAiB,GAAIC,IAAY,IAAc;EACnD,OAAOA,IAAI,KAAK,OAAO,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC;AAClD,CAAC;AAEM,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,QAAQ,CAC9CC,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,8CAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,8BAAA,CAAA;AAMpB,MAAMC,wBAAwB,GAAGP,MAAM,CAACQ,MAAM,CAClDN,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,oDAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,0EAAA,EAAA,EAAA,CAAA,EAKvBG,KAAK,IACLA,KAAK,CAACC,KAAK,CAACC,SAAS,CACnB,OAAO,EACPF,KAAK,CAACC,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAChCH,KAAK,CAACC,KAAK,CAACE,QAAQ,CAAC,UAAU,CACjC,CAAC;AAGE,MAAMC,2BAA2B,GAAGb,MAAM,CAACc,GAAG,CAClDZ,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,uDAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,mDAAA,CAAA;AAMpB,MAAMS,oBAAoB,GAAGf,MAAM,CAACc,GAAG,CAC3CZ,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAAqBC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,gDAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,qHAAA,EAAA,GAAA,CAAA,EAU3CG,KAAK,IACLA,KAAK,CAACO,SAAS,IACfC,GAAG,6BAEF;AAIE,MAAMC,YAAY,GAAGlB,MAAM,CAACc,GAAG,CACnCZ,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,wCAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oBAAA,CAAA;AAIpB,MAAMa,6BAA6B,GAAGnB,MAAM,CAACc,GAAG,CACpDZ,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAACC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,yDAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,mCAAA,CAAA;AAKpB,MAAMc,gBAAgB,GAAGpB,MAAM,CAACqB,MAAM,CAC1CnB,UAAU,CAAC;AACVN,EAAAA;AACF,CAAC,CAAC,CACDO,KAAK,CAAqBC,iBAAiB,CAAC,CAAAF,UAAA,CAAA;EAAAG,WAAA,EAAA,4CAAA;EAAAC,WAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,2MAAA,EAAA,IAAA,CAAA,EAezCG,KAAK,IACLA,KAAK,CAACO,SAAS,IACfC,GAAG,6BAEF;;;;"}
@@ -1,19 +1,10 @@
1
1
  import PropTypes from 'prop-types';
2
2
 
3
- const NodeType = PropTypes.shape({
4
- label: PropTypes.string.isRequired,
5
- value: PropTypes.any.isRequired,
6
- children: PropTypes.arrayOf(PropTypes.shape({
7
- label: PropTypes.string.isRequired,
8
- value: PropTypes.any.isRequired,
9
- children: PropTypes.array
10
- }))
11
- });
12
3
  function findChildValues(node) {
13
4
  const result = [];
14
- function traverse(node) {
15
- if (Array.isArray(node.children) && node.children.length > 0) {
16
- node.children.forEach(child => {
5
+ function traverse(currentNode) {
6
+ if (Array.isArray(currentNode.children) && currentNode.children.length > 0) {
7
+ currentNode.children.forEach(child => {
17
8
  result.push(child.value);
18
9
  traverse(child);
19
10
  });
@@ -22,6 +13,15 @@ function findChildValues(node) {
22
13
  traverse(node);
23
14
  return result;
24
15
  }
16
+ const NodeType = PropTypes.shape({
17
+ label: PropTypes.string.isRequired,
18
+ value: PropTypes.any.isRequired,
19
+ children: PropTypes.arrayOf(PropTypes.shape({
20
+ label: PropTypes.string.isRequired,
21
+ value: PropTypes.any.isRequired,
22
+ children: PropTypes.array
23
+ }))
24
+ });
25
25
 
26
26
  export { NodeType, findChildValues };
27
27
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/types.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\n// Define NodeType without self-reference to avoid circular dependency\nexport const NodeType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.array\n }))\n});\n\nexport function findChildValues(node) {\n const result = [];\n \n function traverse(node) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n node.children.forEach(child => {\n result.push(child.value);\n traverse(child);\n });\n }\n }\n \n traverse(node);\n return result;\n}\n"],"names":["NodeType","PropTypes","shape","label","string","isRequired","value","any","children","arrayOf","array","findChildValues","node","result","traverse","Array","isArray","length","forEach","child","push"],"mappings":";;MAGaA,QAAQ,GAAGC,SAAS,CAACC,KAAK,CAAC;AACtCC,EAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCC,EAAAA,KAAK,EAAEL,SAAS,CAACM,GAAG,CAACF,UAAU;EAC/BG,QAAQ,EAAEP,SAAS,CAACQ,OAAO,CAACR,SAAS,CAACC,KAAK,CAAC;AAC1CC,IAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCC,IAAAA,KAAK,EAAEL,SAAS,CAACM,GAAG,CAACF,UAAU;IAC/BG,QAAQ,EAAEP,SAAS,CAACS,KAAAA;AACtB,GAAC,CAAC,CAAA;AACJ,CAAC,EAAC;AAEK,SAASC,eAAeA,CAACC,IAAI,EAAE;EACpC,MAAMC,MAAM,GAAG,EAAE,CAAA;EAEjB,SAASC,QAAQA,CAACF,IAAI,EAAE;AACtB,IAAA,IAAIG,KAAK,CAACC,OAAO,CAACJ,IAAI,CAACJ,QAAQ,CAAC,IAAII,IAAI,CAACJ,QAAQ,CAACS,MAAM,GAAG,CAAC,EAAE;AAC5DL,MAAAA,IAAI,CAACJ,QAAQ,CAACU,OAAO,CAACC,KAAK,IAAI;AAC7BN,QAAAA,MAAM,CAACO,IAAI,CAACD,KAAK,CAACb,KAAK,CAAC,CAAA;QACxBQ,QAAQ,CAACK,KAAK,CAAC,CAAA;AACjB,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;EAEAL,QAAQ,CAACF,IAAI,CAAC,CAAA;AACd,EAAA,OAAOC,MAAM,CAAA;AACf;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\n// File holds both types and the findChildValues runtime helper (predates the filename; move is separate).\n\n/** Node identity: React key, checkbox value, and included() target; objects would break reconciliation. */\nexport type MultiLevelCheckboxNodeValue = string | number;\n\n/**\n * One option, with any number of levels of children under it.\n *\n * Genuinely recursive (propTypes truncate at two levels); code recurses without depth limit.\n */\nexport interface MultiLevelCheckboxNode {\n /** Shown next to the checkbox, and what the `search` prop matches against. */\n label: string;\n value: MultiLevelCheckboxNodeValue;\n /**\n * Child options. A node with a non-empty `children` array gets an expander\n * arrow; checking it checks the whole subtree.\n */\n children?: MultiLevelCheckboxNode[];\n}\n\n/** Every descendant value under node, depth-first, excluding node itself (callers add node back). */\nexport function findChildValues(node: MultiLevelCheckboxNode): MultiLevelCheckboxNodeValue[] {\n const result: MultiLevelCheckboxNodeValue[] = [];\n\n function traverse(currentNode: MultiLevelCheckboxNode): void {\n if (Array.isArray(currentNode.children) && currentNode.children.length > 0) {\n currentNode.children.forEach(child => {\n result.push(child.value);\n traverse(child);\n });\n }\n }\n\n traverse(node);\n return result;\n}\n\n// LEGACY: Still needed for React 16 (propTypes evaluated every render); delete during library-wide removal.\n// Does not validate level 3+; grandchildren only caught at render time.\n\n// Define NodeType without self-reference to avoid circular dependency\nexport const NodeType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.array\n })\n )\n});\n"],"names":["findChildValues","node","result","traverse","currentNode","Array","isArray","children","length","forEach","child","push","value","NodeType","PropTypes","shape","label","string","isRequired","any","arrayOf","array"],"mappings":";;AAwBO,SAASA,eAAeA,CAACC,IAA4B,EAAiC;EAC3F,MAAMC,MAAqC,GAAG,EAAE;EAEhD,SAASC,QAAQA,CAACC,WAAmC,EAAQ;AAC3D,IAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,WAAW,CAACG,QAAQ,CAAC,IAAIH,WAAW,CAACG,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;AAC1EJ,MAAAA,WAAW,CAACG,QAAQ,CAACE,OAAO,CAACC,KAAK,IAAI;AACpCR,QAAAA,MAAM,CAACS,IAAI,CAACD,KAAK,CAACE,KAAK,CAAC;QACxBT,QAAQ,CAACO,KAAK,CAAC;AACjB,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEAP,QAAQ,CAACF,IAAI,CAAC;AACd,EAAA,OAAOC,MAAM;AACf;MAMaW,QAAQ,GAAGC,SAAS,CAACC,KAAK,CAAC;AACtCC,EAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCN,EAAAA,KAAK,EAAEE,SAAS,CAACK,GAAG,CAACD,UAAU;EAC/BX,QAAQ,EAAEO,SAAS,CAACM,OAAO,CACzBN,SAAS,CAACC,KAAK,CAAC;AACdC,IAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCN,IAAAA,KAAK,EAAEE,SAAS,CAACK,GAAG,CAACD,UAAU;IAC/BX,QAAQ,EAAEO,SAAS,CAACO;AACtB,GAAC,CACH;AACF,CAAC;;;;"}