@ntbjs/react-components 2.0.0-rc.29 → 2.0.0-rc.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/build/{_rollupPluginBabelHelpers-c245b26a.js → _virtual/_rollupPluginBabelHelpers.js} +2 -1
  2. package/build/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/build/{Alert-e6847a22.js → data/Alert/Alert.js} +5 -55
  4. package/build/data/Alert/Alert.js.map +1 -0
  5. package/build/data/Alert/Alert.styled.js +56 -0
  6. package/build/data/Alert/Alert.styled.js.map +1 -0
  7. package/build/data/Alert/index.js +2 -6
  8. package/build/data/Alert/index.js.map +1 -0
  9. package/build/data/Badge/Badge.js +87 -0
  10. package/build/data/Badge/Badge.js.map +1 -0
  11. package/build/{Badge-d93586a9.js → data/Badge/Badge.styled.js} +4 -85
  12. package/build/data/Badge/Badge.styled.js.map +1 -0
  13. package/build/data/Badge/index.js +2 -5
  14. package/build/data/Badge/index.js.map +1 -0
  15. package/build/data/Popover/Popover.js +93 -0
  16. package/build/data/Popover/Popover.js.map +1 -0
  17. package/build/{Popover-20050b91.js → data/Popover/Popover.styled.js} +6 -92
  18. package/build/data/Popover/Popover.styled.js.map +1 -0
  19. package/build/data/Popover/index.js +2 -10
  20. package/build/data/Popover/index.js.map +1 -0
  21. package/build/{Tab-04d435c3.js → data/Tab/Tab.js} +5 -12
  22. package/build/data/Tab/Tab.js.map +1 -0
  23. package/build/data/Tab/Tab.styled.js +13 -0
  24. package/build/data/Tab/Tab.styled.js.map +1 -0
  25. package/build/data/Tab/index.js +2 -5
  26. package/build/data/Tab/index.js.map +1 -0
  27. package/build/{Tabs-74d1ea8a.js → data/Tabs/Tabs.js} +6 -74
  28. package/build/data/Tabs/Tabs.js.map +1 -0
  29. package/build/data/Tabs/Tabs.styled.js +74 -0
  30. package/build/data/Tabs/Tabs.styled.js.map +1 -0
  31. package/build/data/Tabs/index.js +2 -7
  32. package/build/data/Tabs/index.js.map +1 -0
  33. package/build/{Tooltip-c1d1199e.js → data/Tooltip/Tooltip.js} +5 -26
  34. package/build/data/Tooltip/Tooltip.js.map +1 -0
  35. package/build/data/Tooltip/Tooltip.styled.js +28 -0
  36. package/build/data/Tooltip/Tooltip.styled.js.map +1 -0
  37. package/build/data/Tooltip/index.js +2 -7
  38. package/build/data/Tooltip/index.js.map +1 -0
  39. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +36 -0
  40. package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -0
  41. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +53 -0
  42. package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -0
  43. package/build/data/index.js +8 -16
  44. package/build/data/index.js.map +1 -0
  45. package/build/hooks/useEventListner.js +21 -0
  46. package/build/hooks/useEventListner.js.map +1 -0
  47. package/build/hooks/useIsomorphicLayoutEffect.js +6 -0
  48. package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  49. package/build/hooks/useOnClickOutside.js +14 -0
  50. package/build/hooks/useOnClickOutside.js.map +1 -0
  51. package/build/icons/arrow-back.svg.js +16 -0
  52. package/build/icons/arrow-back.svg.js.map +1 -0
  53. package/build/{arrow-forward-ad12c5f3.js → icons/arrow-forward.svg.js} +2 -1
  54. package/build/icons/arrow-forward.svg.js.map +1 -0
  55. package/build/icons/check-rectangle-filled.svg.js +16 -0
  56. package/build/icons/check-rectangle-filled.svg.js.map +1 -0
  57. package/build/{close-a5d37608.js → icons/close.svg.js} +2 -1
  58. package/build/icons/close.svg.js.map +1 -0
  59. package/build/{edit-note-283a0e15.js → icons/edit-note.svg.js} +2 -1
  60. package/build/icons/edit-note.svg.js.map +1 -0
  61. package/build/{expand-more-c5523c46.js → icons/expand-more.svg.js} +2 -1
  62. package/build/icons/expand-more.svg.js.map +1 -0
  63. package/build/icons/headset.svg.js +16 -0
  64. package/build/icons/headset.svg.js.map +1 -0
  65. package/build/icons/layers.svg.js +16 -0
  66. package/build/icons/layers.svg.js.map +1 -0
  67. package/build/icons/link.svg.js +16 -0
  68. package/build/icons/link.svg.js.map +1 -0
  69. package/build/icons/play.svg.js +16 -0
  70. package/build/icons/play.svg.js.map +1 -0
  71. package/build/icons/search.svg.js +16 -0
  72. package/build/icons/search.svg.js.map +1 -0
  73. package/build/icons/star-filled.svg.js +16 -0
  74. package/build/icons/star-filled.svg.js.map +1 -0
  75. package/build/icons/star.svg.js +16 -0
  76. package/build/icons/star.svg.js.map +1 -0
  77. package/build/icons/triangle-right.svg.js +16 -0
  78. package/build/icons/triangle-right.svg.js.map +1 -0
  79. package/build/icons/verification.svg.js +16 -0
  80. package/build/icons/verification.svg.js.map +1 -0
  81. package/build/{warning-circle-24f3efcd.js → icons/warning-circle.svg.js} +2 -1
  82. package/build/icons/warning-circle.svg.js.map +1 -0
  83. package/build/index.js +5 -0
  84. package/build/index.js.map +1 -0
  85. package/build/inputs/ActionButton/ActionButton.js +36 -0
  86. package/build/inputs/ActionButton/ActionButton.js.map +1 -0
  87. package/build/{ActionButton-4db754c3.js → inputs/ActionButton/ActionButton.styled.js} +4 -34
  88. package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -0
  89. package/build/inputs/ActionButton/index.js +2 -6
  90. package/build/inputs/ActionButton/index.js.map +1 -0
  91. package/build/inputs/Button/Button.js +188 -0
  92. package/build/inputs/Button/Button.js.map +1 -0
  93. package/build/{Button-73eb8516.js → inputs/Button/Button.styled.js} +4 -186
  94. package/build/inputs/Button/Button.styled.js.map +1 -0
  95. package/build/inputs/Button/index.js +2 -13
  96. package/build/inputs/Button/index.js.map +1 -0
  97. package/build/inputs/Checkbox/Checkbox.js +97 -0
  98. package/build/inputs/Checkbox/Checkbox.js.map +1 -0
  99. package/build/inputs/Checkbox/Checkbox.styled.js +122 -0
  100. package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -0
  101. package/build/inputs/Checkbox/index.js +2 -6
  102. package/build/inputs/Checkbox/index.js.map +1 -0
  103. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +267 -0
  104. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -0
  105. package/build/{CompactAutocompleteSelect-52c49513.js → inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js} +6 -267
  106. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -0
  107. package/build/inputs/CompactAutocompleteSelect/index.js +2 -23
  108. package/build/inputs/CompactAutocompleteSelect/index.js.map +1 -0
  109. package/build/inputs/CompactStarRating/CompactStarRating.js +177 -0
  110. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -0
  111. package/build/inputs/CompactStarRating/CompactStarRating.styled.js +217 -0
  112. package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -0
  113. package/build/inputs/CompactStarRating/index.js +2 -17
  114. package/build/inputs/CompactStarRating/index.js.map +1 -0
  115. package/build/inputs/CompactTextInput/CompactTextInput.js +184 -0
  116. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -0
  117. package/build/{CompactTextInput-42ca5d42.js → inputs/CompactTextInput/CompactTextInput.styled.js} +4 -194
  118. package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -0
  119. package/build/inputs/CompactTextInput/index.js +2 -19
  120. package/build/inputs/CompactTextInput/index.js.map +1 -0
  121. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +207 -0
  122. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -0
  123. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +66 -0
  124. package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -0
  125. package/build/inputs/MultiLevelCheckbox/index.js +3 -0
  126. package/build/inputs/MultiLevelCheckbox/index.js.map +1 -0
  127. package/build/inputs/MultiLevelCheckbox/types.js +27 -0
  128. package/build/inputs/MultiLevelCheckbox/types.js.map +1 -0
  129. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +184 -26
  130. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -0
  131. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +93 -0
  132. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -0
  133. package/build/inputs/MultiLevelCheckboxSelect/index.js +2 -0
  134. package/build/inputs/MultiLevelCheckboxSelect/index.js.map +1 -0
  135. package/build/{MultiSelect-9f497e62.js → inputs/MultiSelect/MultiSelect.js} +6 -223
  136. package/build/inputs/MultiSelect/MultiSelect.js.map +1 -0
  137. package/build/inputs/MultiSelect/MultiSelect.styled.js +224 -0
  138. package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -0
  139. package/build/inputs/MultiSelect/index.js +2 -10
  140. package/build/inputs/MultiSelect/index.js.map +1 -0
  141. package/build/inputs/Radio/Radio.js +60 -0
  142. package/build/inputs/Radio/Radio.js.map +1 -0
  143. package/build/{Radio-73ca3ae2.js → inputs/Radio/Radio.styled.js} +4 -58
  144. package/build/inputs/Radio/Radio.styled.js.map +1 -0
  145. package/build/inputs/Radio/index.js +2 -7
  146. package/build/inputs/Radio/index.js.map +1 -0
  147. package/build/inputs/Switch/Switch.js +64 -0
  148. package/build/inputs/Switch/Switch.js.map +1 -0
  149. package/build/{Switch-ecf3122b.js → inputs/Switch/Switch.styled.js} +4 -62
  150. package/build/inputs/Switch/Switch.styled.js.map +1 -0
  151. package/build/inputs/Switch/index.js +2 -6
  152. package/build/inputs/Switch/index.js.map +1 -0
  153. package/build/inputs/TextArea/TextArea.js +178 -0
  154. package/build/inputs/TextArea/TextArea.js.map +1 -0
  155. package/build/{TextArea-1e5b9201.js → inputs/TextArea/TextArea.styled.js} +3 -175
  156. package/build/inputs/TextArea/TextArea.styled.js.map +1 -0
  157. package/build/inputs/TextArea/index.js +2 -20
  158. package/build/inputs/TextArea/index.js.map +1 -0
  159. package/build/inputs/TextInput/TextInput.js +139 -0
  160. package/build/inputs/TextInput/TextInput.js.map +1 -0
  161. package/build/{TextInput-fab35842.js → inputs/TextInput/TextInput.styled.js} +4 -137
  162. package/build/inputs/TextInput/TextInput.styled.js.map +1 -0
  163. package/build/inputs/TextInput/index.js +2 -9
  164. package/build/inputs/TextInput/index.js.map +1 -0
  165. package/build/inputs/index.js +15 -40
  166. package/build/inputs/index.js.map +1 -0
  167. package/build/{InputGroup-1294d190.js → layout/InputGroup/InputGroup.js} +5 -8
  168. package/build/layout/InputGroup/InputGroup.js.map +1 -0
  169. package/build/layout/InputGroup/InputGroup.styled.js +9 -0
  170. package/build/layout/InputGroup/InputGroup.styled.js.map +1 -0
  171. package/build/layout/SectionSeparator/SectionSeparator.js +23 -0
  172. package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -0
  173. package/build/layout/SectionSeparator/SectionSeparator.styled.js +14 -0
  174. package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -0
  175. package/build/layout/SectionSeparator/index.js +2 -5
  176. package/build/layout/SectionSeparator/index.js.map +1 -0
  177. package/build/layout/index.js +3 -6
  178. package/build/layout/index.js.map +1 -0
  179. package/build/ssr/index.js +1 -0
  180. package/build/ssr/index.js.map +1 -0
  181. package/build/styles/utils/colors.scss.js +4 -0
  182. package/build/styles/utils/colors.scss.js.map +1 -0
  183. package/build/utils/dateTime.js +17 -0
  184. package/build/utils/dateTime.js.map +1 -0
  185. package/build/utils/defaultTheme.js +44 -0
  186. package/build/utils/defaultTheme.js.map +1 -0
  187. package/build/{AssetAction-98d76ce0.js → widgets/AssetAction/AssetAction.js} +6 -40
  188. package/build/widgets/AssetAction/AssetAction.js.map +1 -0
  189. package/build/widgets/AssetAction/AssetAction.styled.js +41 -0
  190. package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -0
  191. package/build/widgets/AssetAction/index.js +2 -7
  192. package/build/widgets/AssetAction/index.js.map +1 -0
  193. package/build/{AssetActionsBase-9e4c0735.js → widgets/AssetActionsBase/AssetActionsBase.js} +6 -15
  194. package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -0
  195. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +15 -0
  196. package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -0
  197. package/build/widgets/AssetActionsBase/index.js +2 -8
  198. package/build/widgets/AssetActionsBase/index.js.map +1 -0
  199. package/build/widgets/AssetGallery/AssetGallery.js +99 -0
  200. package/build/widgets/AssetGallery/AssetGallery.js.map +1 -0
  201. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +385 -0
  202. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -0
  203. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +30 -0
  204. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -0
  205. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +401 -0
  206. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -0
  207. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +329 -0
  208. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -0
  209. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +409 -0
  210. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -0
  211. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +280 -0
  212. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -0
  213. package/build/widgets/AssetGallery/asset.propType.js +54 -0
  214. package/build/widgets/AssetGallery/asset.propType.js.map +1 -0
  215. package/build/widgets/AssetGallery/index.js +2 -48
  216. package/build/widgets/AssetGallery/index.js.map +1 -0
  217. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +44 -0
  218. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -0
  219. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +77 -0
  220. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -0
  221. package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -6
  222. package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js.map +1 -0
  223. package/build/{ContextMenu-0f7134e4.js → widgets/ContextMenu/ContextMenu.js} +5 -9
  224. package/build/widgets/ContextMenu/ContextMenu.js.map +1 -0
  225. package/build/widgets/ContextMenu/ContextMenu.styled.js +10 -0
  226. package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -0
  227. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +44 -0
  228. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -0
  229. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +77 -0
  230. package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -0
  231. package/build/widgets/ContextMenu/ContextMenuItem/index.js +2 -5
  232. package/build/widgets/ContextMenu/ContextMenuItem/index.js.map +1 -0
  233. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +22 -0
  234. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -0
  235. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +21 -0
  236. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -0
  237. package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js +2 -37
  238. package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js.map +1 -0
  239. package/build/widgets/ContextMenu/index.js +2 -5
  240. package/build/widgets/ContextMenu/index.js.map +1 -0
  241. package/build/widgets/InfoCard/InfoCard.js +40 -0
  242. package/build/widgets/InfoCard/InfoCard.js.map +1 -0
  243. package/build/{InfoCard-c98b6f5a.js → widgets/InfoCard/InfoCard.styled.js} +5 -38
  244. package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -0
  245. package/build/widgets/InfoCard/index.js +2 -6
  246. package/build/widgets/InfoCard/index.js.map +1 -0
  247. package/build/{Instructions-bfd28cea.js → widgets/Instructions/Instructions.js} +8 -34
  248. package/build/widgets/Instructions/Instructions.js.map +1 -0
  249. package/build/widgets/Instructions/Instructions.styled.js +32 -0
  250. package/build/widgets/Instructions/Instructions.styled.js.map +1 -0
  251. package/build/widgets/Instructions/index.js +2 -28
  252. package/build/widgets/Instructions/index.js.map +1 -0
  253. package/build/widgets/ProgressBar/ProgressBar.js +72 -0
  254. package/build/widgets/ProgressBar/ProgressBar.js.map +1 -0
  255. package/build/{ProgressBar-bc4a4a7e.js → widgets/ProgressBar/ProgressBar.styled.js} +5 -70
  256. package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -0
  257. package/build/widgets/ProgressBar/index.js +2 -6
  258. package/build/widgets/ProgressBar/index.js.map +1 -0
  259. package/build/widgets/SummaryCard/SummaryCard.js +92 -0
  260. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -0
  261. package/build/widgets/SummaryCard/SummaryCard.styled.js +137 -0
  262. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -0
  263. package/build/widgets/SummaryCard/index.js +2 -19
  264. package/build/widgets/SummaryCard/index.js.map +1 -0
  265. package/build/widgets/index.js +12 -53
  266. package/build/widgets/index.js.map +1 -0
  267. package/package.json +5 -2
  268. package/build/AssetGallery-63f721ec.js +0 -1981
  269. package/build/AssetPreviewTopBar-acd6353d.js +0 -127
  270. package/build/Checkbox-4a5fd716.js +0 -213
  271. package/build/CompactStarRating-9af2f427.js +0 -411
  272. package/build/ContextMenuItem-ea411141.js +0 -127
  273. package/build/MultiLevelCheckboxSelect-d8044c88.js +0 -604
  274. package/build/SectionSeparator-f47760a2.js +0 -31
  275. package/build/SummaryCard-24040650.js +0 -223
  276. package/build/VerificationStatusIcon-49cb1c1b.js +0 -95
  277. package/build/defaultTheme-1bcc2541.js +0 -1178
  278. package/build/layout/InputGroup/index.js +0 -5
  279. package/build/shift-away-subtle-0dd94a03.js +0 -7
@@ -1,29 +1,5 @@
1
- import { isFunction, isEmpty } from 'lodash';
2
- import { nanoid } from 'nanoid';
3
- import { a as applyDefaultTheme, P as PropTypes } from './defaultTheme-1bcc2541.js';
4
- import * as React from 'react';
5
- import React__default, { useState, useMemo, useEffect, useCallback } from 'react';
6
- import { S as SvgEditNote } from './edit-note-283a0e15.js';
7
- import './Alert-e6847a22.js';
8
- import './Badge-d93586a9.js';
9
- import { P as Popover } from './Popover-20050b91.js';
10
- import './Tab-04d435c3.js';
11
- import './Tabs-74d1ea8a.js';
12
- import { T as Tooltip } from './Tooltip-c1d1199e.js';
13
- import './VerificationStatusIcon-49cb1c1b.js';
14
1
  import styled, { keyframes, css } from 'styled-components';
15
-
16
- var _path;
17
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
- function SvgLink(props) {
19
- return /*#__PURE__*/React.createElement("svg", _extends({
20
- xmlns: "http://www.w3.org/2000/svg",
21
- viewBox: "0 0 20 10"
22
- }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
23
- fill: "currentColor",
24
- d: "M9 10H5c-1.38 0-2.56-.49-3.54-1.46S0 6.39 0 5s.49-2.56 1.46-3.54S3.62 0 5 0h4v2H5c-.83 0-1.54.29-2.13.88s-.88 1.29-.88 2.13.29 1.54.88 2.13 1.29.88 2.13.88h4v2zM6 6V4h8v2H6zm5 4V8h4c.83 0 1.54-.29 2.13-.88s.88-1.29.88-2.13-.29-1.54-.88-2.13-1.29-.88-2.13-.88h-4V0h4c1.38 0 2.56.49 3.54 1.46S20 3.61 20 5s-.49 2.56-1.46 3.54S16.39 10 15 10h-4z"
25
- })));
26
- }
2
+ import { applyDefaultTheme } from '../../utils/defaultTheme.js';
27
3
 
28
4
  const fadeIn = keyframes`
29
5
  from {
@@ -75,7 +51,7 @@ const commonAnchorTagStyle = css`
75
51
  const readOnlyBackground = css`
76
52
  ${props => props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
77
53
  `;
78
- const CompactTextInput$1 = styled.div.attrs(applyDefaultTheme)`
54
+ const CompactTextInput = styled.div.attrs(applyDefaultTheme)`
79
55
  display: flex;
80
56
  align-items: center;
81
57
  height: 24px;
@@ -346,171 +322,5 @@ const ReadOnlyLinkContainer = styled.div.attrs(applyDefaultTheme)`
346
322
  padding: 0 10px 1px;
347
323
  `;
348
324
 
349
- const CompactTextInput = React__default.forwardRef(function CompactTextInput({
350
- label,
351
- inputType,
352
- name,
353
- defaultValue,
354
- value,
355
- placeholder,
356
- link,
357
- linkTarget,
358
- linkHandler,
359
- activeLinkHandler,
360
- autoSelect,
361
- readOnly,
362
- disabled,
363
- edit,
364
- type,
365
- descriptionToolTip,
366
- bold,
367
- hidden,
368
- onChange: onChangeProp,
369
- onFocus: onFocusProp,
370
- onBlur: onBlurProp,
371
- loadingIcon,
372
- successIcon,
373
- ...props
374
- }, forwardedRef) {
375
- const [uniqueId] = useState(nanoid());
376
- const [currentValue, setCurrentValue] = useState();
377
- const [autoFocus, setAutoFocus] = useState(false);
378
- const memoizedDescriptionToolTip = useMemo(() => {
379
- return descriptionToolTip;
380
- }, [descriptionToolTip]);
381
- useEffect(() => {
382
- setCurrentValue(value || defaultValue);
383
- setAutoFocus(false);
384
- }, [value, defaultValue]);
385
- const onChange = useCallback(event => {
386
- setCurrentValue(event.target.value);
387
- if (!autoFocus) {
388
- setAutoFocus(true);
389
- }
390
- if (isFunction(onChangeProp)) {
391
- onChangeProp(event);
392
- }
393
- }, [onChangeProp]);
394
- const onFocus = useCallback(event => {
395
- if (autoSelect) {
396
- event.target.select();
397
- }
398
- if (isFunction(onFocusProp)) {
399
- onFocusProp(event);
400
- }
401
- }, [autoSelect, readOnly, onFocusProp]);
402
- const onBlur = useCallback(event => {
403
- if (isFunction(onBlurProp)) {
404
- onBlurProp(event);
405
- }
406
- }, [onBlurProp]);
407
- const input = () => {
408
- return React__default.createElement(Input, {
409
- ref: forwardedRef,
410
- id: uniqueId,
411
- key: uniqueId,
412
- autoFocus: autoFocus,
413
- inputType: inputType,
414
- name: name,
415
- readOnly: readOnly,
416
- disabled: disabled,
417
- edit: edit,
418
- placeholder: placeholder,
419
- defaultValue: defaultValue,
420
- value: value,
421
- type: type,
422
- bold: bold,
423
- hasLink: !isEmpty(link),
424
- onFocus: onFocus,
425
- onChange: onChange,
426
- onBlur: onBlur
427
- });
428
- };
429
- if (hidden) return null;
430
- return React__default.createElement(CompactTextInput$1, props, label && React__default.createElement(Label, {
431
- htmlFor: uniqueId,
432
- disabled: disabled
433
- }, label, React__default.createElement(SuccessContainer, null, type === 'loading' && loadingIcon, type === 'success' && successIcon)), React__default.createElement(InputContainer, {
434
- $hasLabel: !isEmpty(label)
435
- }, !memoizedDescriptionToolTip && !link && React__default.createElement("div", null, input()), memoizedDescriptionToolTip && !link && React__default.createElement("div", null, React__default.createElement(Tooltip, {
436
- content: memoizedDescriptionToolTip,
437
- key: "tooltip1",
438
- placement: "bottom-end",
439
- trigger: 'mouseenter',
440
- zIndex: 999999
441
- }, input())), link && !readOnly && React__default.createElement("div", null, React__default.createElement(Popover, {
442
- arrow: false,
443
- content: React__default.createElement(LinkPopoverContainer, null, activeLinkHandler ? React__default.createElement(StyledLink, {
444
- href: link,
445
- target: linkTarget,
446
- onClick: e => {
447
- if (activeLinkHandler) {
448
- e.preventDefault();
449
- linkHandler();
450
- }
451
- },
452
- rel: "noreferrer"
453
- }, React__default.createElement(SvgLink, null), currentValue) : React__default.createElement(StyledLink, {
454
- href: link,
455
- target: linkTarget,
456
- rel: "noreferrer"
457
- }, React__default.createElement(SvgLink, null), currentValue)),
458
- key: "tooltip2",
459
- placement: "bottom-start",
460
- trigger: "focusin",
461
- zIndex: 999999,
462
- interactive: true
463
- }, input())), link && readOnly && React__default.createElement(ReadOnlyLinkContainer, null, React__default.createElement(StyledLink, {
464
- href: link,
465
- rel: "noreferrer",
466
- style: {
467
- display: 'inline-block'
468
- },
469
- target: linkTarget
470
- }, currentValue)), !readOnly && !disabled && React__default.createElement(React__default.Fragment, null, React__default.createElement(InputIconContainer, {
471
- type: type
472
- }, React__default.createElement(SvgEditNote, null)), isEmpty(label) && React__default.createElement(InputSuccessContainer, null, type === 'loading' && loadingIcon, type === 'success' && successIcon))));
473
- });
474
- CompactTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
475
- label: PropTypes.string,
476
- success: PropTypes.bool,
477
- inputType: PropTypes.string,
478
- name: PropTypes.string,
479
- defaultValue: PropTypes.string,
480
- value: PropTypes.string,
481
- placeholder: PropTypes.string,
482
- link: PropTypes.string,
483
- linkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
484
- linkHandler: PropTypes.func,
485
- activeLinkHandler: PropTypes.bool,
486
- autoSelect: PropTypes.bool,
487
- readOnly: PropTypes.bool,
488
- disabled: PropTypes.bool,
489
- edit: PropTypes.bool,
490
- warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
491
- bold: PropTypes.bool,
492
- hidden: PropTypes.bool,
493
- onChange: PropTypes.func,
494
- onFocus: PropTypes.func,
495
- onBlur: PropTypes.func,
496
- type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),
497
- descriptionToolTip: PropTypes.string,
498
- loadingIcon: PropTypes.element,
499
- successIcon: PropTypes.element
500
- } : {};
501
- CompactTextInput.defaultProps = {
502
- inputType: 'text',
503
- autoSelect: true,
504
- linkTarget: '_self',
505
- bold: false,
506
- readOnly: false,
507
- descriptionToolTip: '',
508
- edit: false,
509
- hidden: false,
510
- type: '',
511
- linkHandler: () => {},
512
- activeLinkHandler: false,
513
- onChange: () => {}
514
- };
515
-
516
- export { CompactTextInput as C };
325
+ export { CompactTextInput, Input, InputContainer, InputIconContainer, InputSuccessContainer, Label, LinkPopoverContainer, ReadOnlyLinkContainer, StyledLink, SuccessContainer };
326
+ //# sourceMappingURL=CompactTextInput.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactTextInput.styled.js","sources":["../../../src/components/inputs/CompactTextInput/CompactTextInput.styled.js"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst fadeIn = keyframes`\n from {\n background-color: ${props =>\n props.theme.themeProp('rgba(48, 130, 106, 0)', 'rgba(191, 224, 213, 0)')};\n }\n to {\n background-color: ${props =>\n props.theme.themeProp('rgba(48, 130, 106, 1)', 'rgba(191, 224, 213, 1)')};\n }\n`;\n\nconst fadeOut = keyframes`\n from {\n background-color: ${props =>\n props.theme.themeProp('rgba(48, 130, 106, 1)', 'rgba(191, 224, 213, 1)')};\n }\n to {\n background-color: ${props =>\n props.theme.themeProp('rgba(48, 130, 106, 0)', 'rgba(191, 224, 213, 0)')};\n }\n`;\n\nconst fadeInCheck = keyframes`\n from {\n opacity: 0\n }\n to {\n opacity: 1\n }\n`;\n\nconst fadeOutCheck = keyframes`\n from {\n opacity: 1\n }\n to {\n opacity: 0\n }\n`;\n\nconst linkColor = css`\n ${props => props.theme.themeProp('color', '#ACCDC3', props.theme.getColor('emerald-500'))}\n ${props =>\n !props.disabled &&\n css`\n &:hover {\n text-decoration: underline;\n }\n `}\n`;\n\nconst commonAnchorTagStyle = css`\n a,\n && {\n font-size: 0.875rem;\n text-decoration: none;\n }\n`;\n\nconst readOnlyBackground = css`\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-900'),\n props.theme.getColor('white')\n )}\n`;\n\nexport const CompactTextInput = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n height: 24px;\n font-family: ${props => props.theme.primaryFontFamily};\n`;\n\nexport const Label = styled.label.attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('white'),\n props.theme.getColor('gray-700')\n )};\n flex-basis: 33.33%;\n font-size: 0.875rem;\n line-height: 1rem;\n justify-content: space-between;\n height: 19px;\n display: flex;\n align-items: center;\n ${props =>\n props.disabled &&\n css`\n opacity: 0.5;\n cursor: not-allowed;\n `}\n`;\n\nexport const InputContainer = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n height: 19px;\n flex-basis: ${props => (props.$hasLabel ? '66.66%' : '100%')};\n`;\n\nexport const SuccessContainer = styled.div.attrs(applyDefaultTheme)`\n opacity: 1;\n pointer-events: none;\n display: flex;\n opacity: ${props => (props.fadeIn ? 0 : 1)};\n animation: ${props => (props.fadeIn ? fadeOutCheck : fadeInCheck)} 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n margin-right: 5px;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-500')\n )}\n > svg {\n width: 13px;\n }\n`;\n\nexport const InputSuccessContainer = styled.div.attrs(applyDefaultTheme)`\n opacity: 1;\n pointer-events: none;\n display: flex;\n justify-content: flex-end;\n opacity: ${props => (props.fadeIn ? 0 : 1)};\n animation: ${props => (props.fadeIn ? fadeOutCheck : fadeInCheck)} 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n position: relative;\n margin-top: -20px;\n margin-right: 8px;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-500')\n )}\n > svg {\n width: 13px;\n }\n`;\n\nexport const InputIconContainer = styled.div.attrs(applyDefaultTheme)`\n opacity: 0;\n pointer-events: none;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n padding: 5px 10px 0 0;\n ${props =>\n props.theme.themeProp(\n 'background',\n css`\n linear-gradient(-90deg,\n ${props =>\n props.type === 'error'\n ? '#901d1d'\n : props.type === 'warning'\n ? '#816600'\n : props.theme.getColor('gray-700')} 55%,\n transparent)\n `,\n css`\n linear-gradient(-90deg,\n ${props =>\n props.type === 'error'\n ? '#f7d5d0'\n : props.type === 'warning'\n ? '#fffebf'\n : props.theme.getColor('gray-100')} 55%,\n transparent)\n `\n )};\n\n display: flex;\n align-items: center;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n color: ${props => props.theme.getColor('gray-400')};\n\n ${props => props.type === 'warning' && props.theme.themeProp('color', '#C3AF43', '#C3AF43')}\n\n ${props => props.type === 'error' && props.theme.themeProp('color', '#CB968F', '#CB968F')}\n\n > svg {\n width: 12px;\n }\n`;\n\nexport const Input = styled.input.attrs(applyDefaultTheme)`\n box-sizing: border-box;\n height: 22px;\n width: 100%;\n display: block;\n font-size: 0.875rem;\n line-height: 1rem;\n font-family: inherit;\n padding: 1px 10px;\n border-radius: 3px;\n border: 1px solid transparent;\n\n${props => {\n if (props.type === 'error') {\n return css`\n ${props.theme.themeProp('background', '#7f1b1b', '#FEE2E2')} !important;\n `;\n } else if (props.type === 'warning') {\n return css`\n ${props.theme.themeProp('background', '#634E01', '#FFFDE8')} !important;\n `;\n } else {\n return props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-900'),\n props.theme.getColor('white')\n );\n }\n}}\n\n ${props =>\n props.readOnly &&\n css`\n cursor: default;\n `}\n\n ${props =>\n props.disabled &&\n css`\n opacity: 0.5;\n `}\n\n ${props =>\n props.type === 'success' &&\n css`\n animation: ${props => (props.type === 'success' ? fadeIn : fadeOut)} 0.5s ease-in-out;\n `}\n\n\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-700')\n )}\n\n\n \n \n\n ${props =>\n props.hasLink &&\n css`\n &&:not(:focus),\n &&:read-only {\n ${linkColor}\n }\n &&:read-only {\n cursor: default;\n }\n `};\n\n \n\n\n &&:not(:hover):not(:focus) {\n\n ${props => {\n if (props.edit) {\n if (props.type === 'error') {\n return props.theme.themeProp('background', '#7f1b1b', '#FEE2E2');\n } else if (props.type === 'warning') {\n return props.theme.themeProp('background', '#634E01', '#FFFDE8');\n } else {\n return props.theme.themeProp(\n 'background',\n 'rgba(39,39,42, 0.7)',\n 'rgba(244,244,245, 0.3)'\n );\n }\n }\n }}\n \n \n\n ${props =>\n props.edit &&\n props.theme.themeProp('border-color', 'rgba(39,39,42, 0.7)', 'rgba(228,228,231, 0.3)')};\n \n ${props =>\n props.hasLink &&\n css`\n &&:not(:focus),\n &&:read-only {\n cursor: default;\n ${linkColor}\n }\n `}\n }\n\n &&:hover:not(:focus) {\n\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-100')\n )}\n\n ${props =>\n props.readOnly &&\n css`\n ${readOnlyBackground}\n `};\n\n ${props =>\n props.edit &&\n props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-100')\n )};\n\n ${props =>\n props.type === 'warning' && props.theme.themeProp('background', '#806403', '#FFFEBF')};\n\n ${props => props.type === 'error' && props.theme.themeProp('background', '#901d1d', '#F7D5D0')};\n\n\n ${props =>\n props.hasLink &&\n css`\n cursor: pointer;\n &&:read-only {\n background: none !important;\n cursor: default;\n }\n `}\n & + ${InputIconContainer} {\n opacity: 1;\n \n }\n }\n\n ${props =>\n props.disabled &&\n css`\n background: none !important;\n cursor: not-allowed;\n `}\n ${props =>\n props.disabled &&\n props.hasLink &&\n css`\n background: none !important;\n cursor: not-allowed !important;\n `}\n\n }\n\n &&:focus {\n ${props =>\n !props.readOnly &&\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-100')\n )};\n\n ${props =>\n props.readOnly &&\n css`\n ${readOnlyBackground}\n `};\n \n ${props =>\n props.type === 'error' &&\n !props.readOnly &&\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-700')\n )};\n\n ${props =>\n !props.readOnly &&\n css`\n border-color: ${props => props.theme.getColor('gray-600')};\n `};\n outline: none;\n\n ${props =>\n props.type === 'warning' &&\n css`\n ${props => props.theme.themeProp('border-color', '#F4E21E', '#F4E21E')}\n ${props.theme.themeProp('background', 'white', 'white')}\n ${props.theme.themeProp('color', 'black', 'black')}\n `};\n\n ${props =>\n props.type === 'error' &&\n css`\n ${props => props.theme.themeProp('border-color', '#D83018', '#D83018')}\n ${props.theme.themeProp('background', 'white', 'white')}\n ${props.theme.themeProp('color', 'black', 'black')}\n `};\n }\n\n &&::placeholder {\n color: inherit;\n opacity: 0.6;\n }\n\n ${props =>\n props.bold &&\n css`\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.0625;\n padding-top: 3px;\n padding-bottom: 2px;\n `}\n`;\n\nexport const LinkPopoverContainer = styled.div.attrs(applyDefaultTheme)`\n ${commonAnchorTagStyle}\n\n padding: 5px 8px;\n\n svg {\n width: 18px;\n margin-right: 8px;\n }\n`;\n\nexport const StyledLink = styled.a.attrs(applyDefaultTheme)`\n ${commonAnchorTagStyle}\n ${linkColor}\n`;\n\nexport const ReadOnlyLinkContainer = styled.div.attrs(applyDefaultTheme)`\n ${readOnlyBackground};\n border: 1px solid transparent;\n border-radius: 3px;\n padding: 0 10px 1px;\n`;\n"],"names":["fadeIn","keyframes","props","theme","themeProp","fadeOut","fadeInCheck","fadeOutCheck","linkColor","css","getColor","disabled","commonAnchorTagStyle","readOnlyBackground","CompactTextInput","styled","div","attrs","applyDefaultTheme","primaryFontFamily","Label","label","InputContainer","$hasLabel","SuccessContainer","InputSuccessContainer","InputIconContainer","type","Input","input","readOnly","hasLink","edit","bold","LinkPopoverContainer","StyledLink","a","ReadOnlyLinkContainer"],"mappings":"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"}
@@ -1,19 +1,2 @@
1
- export { C as default } from '../../CompactTextInput-42ca5d42.js';
2
- import 'lodash';
3
- import 'nanoid';
4
- import '../../defaultTheme-1bcc2541.js';
5
- import 'styled-components';
6
- import 'react';
7
- import '../../edit-note-283a0e15.js';
8
- import '../../Alert-e6847a22.js';
9
- import '../../_rollupPluginBabelHelpers-c245b26a.js';
10
- import '../../Badge-d93586a9.js';
11
- import '../../Popover-20050b91.js';
12
- import 'polished';
13
- import '@tippyjs/react';
14
- import '../../shift-away-subtle-0dd94a03.js';
15
- import 'popper-max-size-modifier';
16
- import '../../Tab-04d435c3.js';
17
- import '../../Tabs-74d1ea8a.js';
18
- import '../../Tooltip-c1d1199e.js';
19
- import '../../VerificationStatusIcon-49cb1c1b.js';
1
+ export { default } from './CompactTextInput.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,207 @@
1
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { useState, useMemo, useCallback, useEffect } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { MultiLevelCheckbox as MultiLevelCheckbox$1, MultiLevelCheckboxLegend, MultiLevelCheckboxNoResults, CheckboxTree as CheckboxTree$1, CheckboxTreeCheckboxContainer, ExpandTreeButton, CheckboxTreeChildren } from './MultiLevelCheckbox.styled.js';
5
+ import Checkbox from '../Checkbox/Checkbox.js';
6
+ import { isEmpty, uniq, isEqual, isArray } from 'lodash';
7
+ import { findChildValues, NodeType } from './types.js';
8
+
9
+ function hasChildrenSelected(node, targetValue, checkedValues) {
10
+ if (!isArray(node.children) || node.children.length === 0) {
11
+ return false;
12
+ }
13
+ if (node.children.some(childNode => checkedValues.includes(childNode.value))) {
14
+ return true;
15
+ }
16
+ return node.children.some(childNode => hasChildrenSelected(childNode, childNode.value, checkedValues));
17
+ }
18
+ function hasAllChildrenSelected(node, targetValue, checkedValues) {
19
+ if (!node.children || node.children.length === 0) {
20
+ return checkedValues.includes(node.value);
21
+ }
22
+ if (node.children.some(childNode => !checkedValues.includes(childNode.value))) {
23
+ return false;
24
+ }
25
+ return node.children.every(childNode => hasAllChildrenSelected(childNode, childNode.value, checkedValues));
26
+ }
27
+ function getLabelByValue(targetValue, nodes) {
28
+ for (const node of nodes) {
29
+ if (node.value === targetValue) {
30
+ return node.label;
31
+ }
32
+ if (node.children) {
33
+ const result = getLabelByValue(targetValue, node.children);
34
+ if (result) {
35
+ return result;
36
+ }
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ const MultiLevelCheckbox = React__default.forwardRef(function MultiLevelCheckbox({
42
+ options,
43
+ checked,
44
+ search,
45
+ label,
46
+ noResultsText,
47
+ onChange,
48
+ ...props
49
+ }, forwardedRef) {
50
+ const [internalChecked, setInternalChecked] = useState(includeAllChildren(checked, options));
51
+ const anySearchResults = useMemo(() => {
52
+ if (isEmpty(search)) {
53
+ return true;
54
+ }
55
+ return options.some(node => {
56
+ const childValues = findChildValues(node);
57
+ return [node.value, ...childValues].map(v => getLabelByValue(v, options)).some(v => v.match(new RegExp(search, 'i')));
58
+ });
59
+ }, [options, search]);
60
+ function includeAllChildren(checked, nodes, honorParent = true) {
61
+ let newChecked = [];
62
+ function fillSiblings(nodes) {
63
+ nodes.forEach(node => {
64
+ if (hasAllChildrenSelected(node, node.value, checked)) {
65
+ newChecked.push(node.value);
66
+ }
67
+ if (honorParent && checked.includes(node.value)) {
68
+ const childValues = findChildValues(node);
69
+ return newChecked = newChecked.concat([node.value, ...childValues]);
70
+ }
71
+ if (node.children) {
72
+ fillSiblings(node.children);
73
+ }
74
+ });
75
+ }
76
+ fillSiblings(nodes);
77
+ return newChecked;
78
+ }
79
+ const onAdd = useCallback(values => {
80
+ setInternalChecked(prevChecked => uniq(includeAllChildren([...prevChecked, ...values], options)));
81
+ }, [options]);
82
+ const onRemove = useCallback(values => {
83
+ setInternalChecked(prevChecked => includeAllChildren(prevChecked.filter(v => !values.includes(v)), options, false));
84
+ }, [options]);
85
+ useEffect(() => {
86
+ onChange([...internalChecked].sort());
87
+ }, [internalChecked, onChange]);
88
+ useEffect(() => {
89
+ if (!isEqual([...checked].sort(), [...internalChecked].sort())) {
90
+ setInternalChecked(includeAllChildren(checked, options));
91
+ }
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));
104
+ });
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
+ const CheckboxTree = React__default.memo(function CheckboxTree({
118
+ node,
119
+ nodes,
120
+ checked,
121
+ onAdd,
122
+ onRemove,
123
+ search = ''
124
+ }) {
125
+ const [expanded, setExpanded] = useState(false);
126
+ const [expandedBySearch, setExpandedBySearch] = useState(false);
127
+ const onChange = useCallback(event => {
128
+ if (event.target.checked) {
129
+ onAdd([event.target.value, ...findChildValues(node)]);
130
+ } else {
131
+ onRemove([event.target.value, ...findChildValues(node)]);
132
+ }
133
+ }, [node, onAdd, onRemove]);
134
+ const onChildrenAdd = useCallback(newValues => {
135
+ if (hasAllChildrenSelected(node, '', [...newValues, ...checked])) {
136
+ return onAdd([node.value, ...newValues]);
137
+ }
138
+ onAdd(newValues);
139
+ }, [node, checked, onAdd]);
140
+ const hideOption = useMemo(() => {
141
+ if (isEmpty(search)) {
142
+ return;
143
+ }
144
+ const childValues = findChildValues(node);
145
+ return ![node.value, ...childValues].map(v => getLabelByValue(v, nodes)).some(v => v.match(new RegExp(search, 'i')));
146
+ }, [node, nodes, search]);
147
+ useEffect(() => {
148
+ const childValues = findChildValues(node);
149
+ const expandBySearch = !isEmpty(search) && [node.value, ...childValues].map(v => getLabelByValue(v, nodes)).some(v => v.match(new RegExp(search, 'i')));
150
+ setExpandedBySearch(expandBySearch);
151
+ }, [search, nodes, node]);
152
+ if (hideOption) {
153
+ return null;
154
+ }
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
+ })))));
196
+ }, 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
+
206
+ export { MultiLevelCheckbox as default };
207
+ //# sourceMappingURL=MultiLevelCheckbox.js.map
@@ -0,0 +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":";;;;;;;;AAOA,SAASA,mBAAmBA,CAACC,IAAI,EAAEC,WAAW,EAAEC,aAAa,EAAE;AAC7D,EAAA,IAAI,CAACC,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;AACzD,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAGA,EAAA,IAAIL,IAAI,CAACI,QAAQ,CAACE,IAAI,CAACC,SAAS,IAAIL,aAAa,CAACM,QAAQ,CAACD,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE;AAC5E,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAGA,EAAA,OAAOT,IAAI,CAACI,QAAQ,CAACE,IAAI,CAACC,SAAS,IACjCR,mBAAmB,CAACQ,SAAS,EAAEA,SAAS,CAACE,KAAK,EAAEP,aAAa,CAC/D,CAAC,CAAA;AACH,CAAA;AAEA,SAASQ,sBAAsBA,CAACV,IAAI,EAAEC,WAAW,EAAEC,aAAa,EAAE;AAChE,EAAA,IAAI,CAACF,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAE;AAChD,IAAA,OAAOH,aAAa,CAACM,QAAQ,CAACR,IAAI,CAACS,KAAK,CAAC,CAAA;AAC3C,GAAA;AAGA,EAAA,IAAIT,IAAI,CAACI,QAAQ,CAACE,IAAI,CAACC,SAAS,IAAI,CAACL,aAAa,CAACM,QAAQ,CAACD,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE;AAC7E,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAGA,EAAA,OAAOT,IAAI,CAACI,QAAQ,CAACO,KAAK,CAACJ,SAAS,IAClCG,sBAAsB,CAACH,SAAS,EAAEA,SAAS,CAACE,KAAK,EAAEP,aAAa,CAClE,CAAC,CAAA;AACH,CAAA;AAEA,SAASU,eAAeA,CAACX,WAAW,EAAEY,KAAK,EAAE;AAC3C,EAAA,KAAK,MAAMb,IAAI,IAAIa,KAAK,EAAE;AACxB,IAAA,IAAIb,IAAI,CAACS,KAAK,KAAKR,WAAW,EAAE;MAC9B,OAAOD,IAAI,CAACc,KAAK,CAAA;AACnB,KAAA;IAEA,IAAId,IAAI,CAACI,QAAQ,EAAE;MACjB,MAAMW,MAAM,GAAGH,eAAe,CAACX,WAAW,EAAED,IAAI,CAACI,QAAQ,CAAC,CAAA;AAC1D,MAAA,IAAIW,MAAM,EAAE;AACV,QAAA,OAAOA,MAAM,CAAA;AACf,OAAA;AACF,KAAA;AACF,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAgBMC,MAAAA,kBAAkB,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,kBAAkBA,CACrE;EAAEG,OAAO;EAAEC,OAAO;EAAEC,MAAM;EAAEP,KAAK;EAAEQ,aAAa;EAAEC,QAAQ;EAAE,GAAGC,KAAAA;AAAM,CAAC,EACtEC,YAAY,EACZ;AACA,EAAA,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,QAAQ,CAACC,kBAAkB,CAACT,OAAO,EAAED,OAAO,CAAC,CAAC,CAAA;AAE5F,EAAA,MAAMW,gBAAgB,GAAGC,OAAO,CAAC,MAAM;AACrC,IAAA,IAAIC,OAAO,CAACX,MAAM,CAAC,EAAE;AACnB,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAOF,OAAO,CAACb,IAAI,CAACN,IAAI,IAAI;AAC1B,MAAA,MAAMiC,WAAW,GAAGC,eAAe,CAAClC,IAAI,CAAC,CAAA;AACzC,MAAA,OAAO,CAACA,IAAI,CAACS,KAAK,EAAE,GAAGwB,WAAW,CAAC,CAChCE,GAAG,CAACC,CAAC,IAAIxB,eAAe,CAACwB,CAAC,EAAEjB,OAAO,CAAC,CAAC,CACrCb,IAAI,CAAC8B,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,IAAIC,MAAM,CAACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAChD,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACF,OAAO,EAAEE,MAAM,CAAC,CAAC,CAAA;EAErB,SAASQ,kBAAkBA,CAACT,OAAO,EAAEP,KAAK,EAAE0B,WAAW,GAAG,IAAI,EAAE;IAC9D,IAAIC,UAAU,GAAG,EAAE,CAAA;IAEnB,SAASC,YAAYA,CAAC5B,KAAK,EAAE;AAC3BA,MAAAA,KAAK,CAAC6B,OAAO,CAAC1C,IAAI,IAAI;QACpB,IAAIU,sBAAsB,CAACV,IAAI,EAAEA,IAAI,CAACS,KAAK,EAAEW,OAAO,CAAC,EAAE;AACrDoB,UAAAA,UAAU,CAACG,IAAI,CAAC3C,IAAI,CAACS,KAAK,CAAC,CAAA;AAC7B,SAAA;QACA,IAAI8B,WAAW,IAAInB,OAAO,CAACZ,QAAQ,CAACR,IAAI,CAACS,KAAK,CAAC,EAAE;AAC/C,UAAA,MAAMwB,WAAW,GAAGC,eAAe,CAAClC,IAAI,CAAC,CAAA;AACzC,UAAA,OAAQwC,UAAU,GAAGA,UAAU,CAACI,MAAM,CAAC,CAAC5C,IAAI,CAACS,KAAK,EAAE,GAAGwB,WAAW,CAAC,CAAC,CAAA;AACtE,SAAA;QAEA,IAAIjC,IAAI,CAACI,QAAQ,EAAE;AACjBqC,UAAAA,YAAY,CAACzC,IAAI,CAACI,QAAQ,CAAC,CAAA;AAC7B,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;IAEAqC,YAAY,CAAC5B,KAAK,CAAC,CAAA;AAEnB,IAAA,OAAO2B,UAAU,CAAA;AACnB,GAAA;AAEA,EAAA,MAAMK,KAAK,GAAGC,WAAW,CACvBC,MAAM,IAAI;AACRpB,IAAAA,kBAAkB,CAACqB,WAAW,IAC5BC,IAAI,CAACpB,kBAAkB,CAAC,CAAC,GAAGmB,WAAW,EAAE,GAAGD,MAAM,CAAC,EAAE5B,OAAO,CAAC,CAC/D,CAAC,CAAA;AACH,GAAC,EACD,CAACA,OAAO,CACV,CAAC,CAAA;AAED,EAAA,MAAM+B,QAAQ,GAAGJ,WAAW,CAC1BC,MAAM,IAAI;IACRpB,kBAAkB,CAACqB,WAAW,IAC5BnB,kBAAkB,CAChBmB,WAAW,CAACG,MAAM,CAACf,CAAC,IAAI,CAACW,MAAM,CAACvC,QAAQ,CAAC4B,CAAC,CAAC,CAAC,EAC5CjB,OAAO,EACP,KACF,CACF,CAAC,CAAA;AACH,GAAC,EACD,CAACA,OAAO,CACV,CAAC,CAAA;AAGDiC,EAAAA,SAAS,CAAC,MAAM;IACd7B,QAAQ,CAAC,CAAC,GAAGG,eAAe,CAAC,CAAC2B,IAAI,EAAE,CAAC,CAAA;AACvC,GAAC,EAAE,CAAC3B,eAAe,EAAEH,QAAQ,CAAC,CAAC,CAAA;AAE/B6B,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI,CAACE,OAAO,CAAC,CAAC,GAAGlC,OAAO,CAAC,CAACiC,IAAI,EAAE,EAAE,CAAC,GAAG3B,eAAe,CAAC,CAAC2B,IAAI,EAAE,CAAC,EAAE;AAC9D1B,MAAAA,kBAAkB,CAACE,kBAAkB,CAACT,OAAO,EAAED,OAAO,CAAC,CAAC,CAAA;AAC1D,KAAA;AACF,GAAC,EAAE,CAACC,OAAO,EAAED,OAAO,CAAC,CAAC,CAAA;EAEtB,OACEF,cAAA,CAAAsC,aAAA,CAACC,oBAAoB,EAAAC,QAAA,CAAA,EAAA,EAAKjC,KAAK,EAAA;AAAEkC,IAAAA,GAAG,EAAEjC,YAAAA;GACnCX,CAAAA,EAAAA,KAAK,IAAIG,cAAA,CAAAsC,aAAA,CAACC,wBAA0B,EAAE1C,IAAAA,EAAAA,KAAkC,CAAC,EACzEK,OAAO,CAACgB,GAAG,CAACnC,IAAI,IACfiB,cAAA,CAAAsC,aAAA,CAACI,YAAY,EAAA;IACXC,GAAG,EAAE5D,IAAI,CAACS,KAAM;AAChBI,IAAAA,KAAK,EAAEM,OAAQ;AACfnB,IAAAA,IAAI,EAAEA,IAAK;IACXoB,OAAO,EAAEA,OAAO,CAAC+B,MAAM,CAACU,CAAC,IAAI,CAAC7D,IAAI,CAACS,KAAK,EAAE,GAAGyB,eAAe,CAAClC,IAAI,CAAC,CAAC,CAACQ,QAAQ,CAACqD,CAAC,CAAC,CAAE;AACjFhB,IAAAA,KAAK,EAAEA,KAAM;AACbK,IAAAA,QAAQ,EAAEA,QAAS;AACnB7B,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAChB,CACF,CAAC,EAED,CAACS,gBAAgB,IAChBb,cAAA,CAAAsC,aAAA,CAACC,2BAA6B,EAAElC,IAAAA,EAAAA,aAA6C,CAE3D,CAAC,CAAA;AAE3B,CAAC,EAAC;AAEFN,kBAAkB,CAAC8C,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AAC7B9C,EAAAA,OAAO,EAAE+C,SAAS,CAACC,OAAO,CAACC,QAAQ,CAAC;AAIpChD,EAAAA,OAAO,EAAE8C,SAAS,CAACG,KAAK,CAACC,UAAU;EAKnCxD,KAAK,EAAEoD,SAAS,CAACK,MAAM;EAKvBlD,MAAM,EAAE6C,SAAS,CAACK,MAAM;EAKxBjD,aAAa,EAAE4C,SAAS,CAACK,MAAM;AAK/BhD,EAAAA,QAAQ,EAAE2C,SAAS,CAACM,IAAI,CAACF,UAAAA;AAC3B,CAAC,GAAA,EAAA,CAAA;AAEDtD,kBAAkB,CAACyD,YAAY,GAAG;AAChCtD,EAAAA,OAAO,EAAE,EAAE;AACXG,EAAAA,aAAa,EAAE,aAAA;AACjB,CAAC,CAAA;AAED,MAAMqC,YAAY,GAAG1C,cAAK,CAACyD,IAAI,CAAC,SAASf,YAAYA,CAAC;EACpD3D,IAAI;EACJa,KAAK;EACLO,OAAO;EACPyB,KAAK;EACLK,QAAQ;AACR7B,EAAAA,MAAM,GAAG,EAAA;AACX,CAAC,EAAE;EACD,MAAM,CAACsD,QAAQ,EAAEC,WAAW,CAAC,GAAGhD,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/C,MAAM,CAACiD,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGlD,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE/D,EAAA,MAAML,QAAQ,GAAGuB,WAAW,CAC1BiC,KAAK,IAAI;AACP,IAAA,IAAIA,KAAK,CAACC,MAAM,CAAC5D,OAAO,EAAE;AACxByB,MAAAA,KAAK,CAAC,CAACkC,KAAK,CAACC,MAAM,CAACvE,KAAK,EAAE,GAAGyB,eAAe,CAAClC,IAAI,CAAC,CAAC,CAAC,CAAA;AACvD,KAAC,MAAM;AACLkD,MAAAA,QAAQ,CAAC,CAAC6B,KAAK,CAACC,MAAM,CAACvE,KAAK,EAAE,GAAGyB,eAAe,CAAClC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1D,KAAA;GACD,EACD,CAACA,IAAI,EAAE6C,KAAK,EAAEK,QAAQ,CACxB,CAAC,CAAA;AAED,EAAA,MAAM+B,aAAa,GAAGnC,WAAW,CAC/BoC,SAAS,IAAI;AACX,IAAA,IAAIxE,sBAAsB,CAACV,IAAI,EAAE,EAAE,EAAE,CAAC,GAAGkF,SAAS,EAAE,GAAG9D,OAAO,CAAC,CAAC,EAAE;MAChE,OAAOyB,KAAK,CAAC,CAAC7C,IAAI,CAACS,KAAK,EAAE,GAAGyE,SAAS,CAAC,CAAC,CAAA;AAC1C,KAAA;IAEArC,KAAK,CAACqC,SAAS,CAAC,CAAA;GACjB,EACD,CAAClF,IAAI,EAAEoB,OAAO,EAAEyB,KAAK,CACvB,CAAC,CAAA;AAED,EAAA,MAAMsC,UAAU,GAAGpD,OAAO,CAAC,MAAM;AAC/B,IAAA,IAAIC,OAAO,CAACX,MAAM,CAAC,EAAE;AACnB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMY,WAAW,GAAGC,eAAe,CAAClC,IAAI,CAAC,CAAA;AACzC,IAAA,OAAO,CAAC,CAACA,IAAI,CAACS,KAAK,EAAE,GAAGwB,WAAW,CAAC,CACjCE,GAAG,CAACC,CAAC,IAAIxB,eAAe,CAACwB,CAAC,EAAEvB,KAAK,CAAC,CAAC,CACnCP,IAAI,CAAC8B,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,IAAIC,MAAM,CAACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;GAC/C,EAAE,CAACrB,IAAI,EAAEa,KAAK,EAAEQ,MAAM,CAAC,CAAC,CAAA;AAEzB+B,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMnB,WAAW,GAAGC,eAAe,CAAClC,IAAI,CAAC,CAAA;IACzC,MAAMoF,cAAc,GAClB,CAACpD,OAAO,CAACX,MAAM,CAAC,IAChB,CAACrB,IAAI,CAACS,KAAK,EAAE,GAAGwB,WAAW,CAAC,CACzBE,GAAG,CAACC,CAAC,IAAIxB,eAAe,CAACwB,CAAC,EAAEvB,KAAK,CAAC,CAAC,CACnCP,IAAI,CAAC8B,CAAC,IAAIA,CAAC,CAACC,KAAK,CAAC,IAAIC,MAAM,CAACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAChDyD,mBAAmB,CAACM,cAAc,CAAC,CAAA;GACpC,EAAE,CAAC/D,MAAM,EAAER,KAAK,EAAEb,IAAI,CAAC,CAAC,CAAA;AAEzB,EAAA,IAAImF,UAAU,EAAE;AACd,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,OACElE,cAAA,CAAAsC,aAAA,CAACC,cAAc,EAAA,IAAA,EACbvC,cAAA,CAAAsC,aAAA,CAACC,6BAA+B,QAC7BrD,OAAO,CAACH,IAAI,CAACI,QAAQ,CAAC,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAAG,CAAC,IACjDY,cAAA,CAAAsC,aAAA,CAACC,gBAAkB,EAAA;IACjB6B,SAAS,EAAEV,QAAQ,IAAIE,gBAAiB;AACxCS,IAAAA,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,MAAM;MACbT,mBAAmB,CAACU,OAAO,IAAI;AAC7B,QAAA,IAAIA,OAAO,EAAE;UACXZ,WAAW,CAAC,KAAK,CAAC,CAAA;AACpB,SAAC,MAAM;AACLA,UAAAA,WAAW,CAACxC,CAAC,IAAI,CAACA,CAAC,CAAC,CAAA;AACtB,SAAA;AACA,QAAA,OAAO,KAAK,CAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;GAEAnB,EAAAA,cAAA,CAAAsC,aAAA,CAAA,KAAA,EAAA;AAAKkC,IAAAA,KAAK,EAAC,4BAA4B;AAACC,IAAAA,OAAO,EAAC,YAAA;GAC9CzE,EAAAA,cAAA,CAAAsC,aAAA,CAAA,MAAA,EAAA;AACEoC,IAAAA,IAAI,EAAC,cAAc;AACnBC,IAAAA,CAAC,EAAC,gDAAgD;AAClDC,IAAAA,WAAW,EAAC,GAAA;GACb,CACE,CACa,CACrB,EAED5E,cAAA,CAAAsC,aAAA,CAACuC,QAAQ,EAAA;AACPC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,WAAW,EAAE,EAAA;KAAK;IAC3BC,KAAK,EAAE,CAAC7E,OAAO,CAACZ,QAAQ,CAACR,IAAI,CAACS,KAAK,CAAE;IACrCK,KAAK,EAAEd,IAAI,CAACc,KAAM;AAClBoF,IAAAA,aAAa,EACV9E,OAAO,CAACZ,QAAQ,CAACR,IAAI,CAACS,KAAK,CAAC,IAAI,CAACC,sBAAsB,CAACV,IAAI,EAAEA,IAAI,CAACS,KAAK,EAAEW,OAAO,CAAC,IAClFrB,mBAAmB,CAACC,IAAI,EAAEA,IAAI,CAACS,KAAK,EAAEW,OAAO,CAAC,IAC7C,CAACV,sBAAsB,CAACV,IAAI,EAAEA,IAAI,CAACS,KAAK,EAAEW,OAAO,CACpD;AACDA,IAAAA,OAAO,EAAErB,mBAAmB,CAACC,IAAI,EAAEA,IAAI,CAACS,KAAK,EAAEW,OAAO,CAAC,IAAIA,OAAO,CAACZ,QAAQ,CAACR,IAAI,CAACS,KAAK,CAAE;IACxFA,KAAK,EAAET,IAAI,CAACS,KAAM;AAClBc,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GACpB,CAC8B,CAAC,EAEjCvB,IAAI,CAACI,QAAQ,IACZa,cAAA,CAAAsC,aAAA,CAACC,oBAAsB,EAAA;IAAC6B,SAAS,EAAEV,QAAQ,IAAIE,gBAAAA;AAAiB,GAAA,EAC9D5D,cAAA,CAAAsC,aAAA,CACGvD,KAAAA,EAAAA,IAAAA,EAAAA,IAAI,CAACI,QAAQ,CAAC+B,GAAG,CAAC5B,SAAS,IAC1BU,cAAA,CAAAsC,aAAA,CAACI,YAAY,EAAA;IACXC,GAAG,EAAErD,SAAS,CAACE,KAAM;IACrBW,OAAO,EAAEA,OAAO,CAAC+B,MAAM,CAACU,CAAC,IACvB,CAACtD,SAAS,CAACE,KAAK,EAAE,GAAGyB,eAAe,CAAC3B,SAAS,CAAC,CAAC,CAACC,QAAQ,CAACqD,CAAC,CAC7D,CAAE;AACFhB,IAAAA,KAAK,EAAEoC,aAAc;AACrB/B,IAAAA,QAAQ,EAAEA,QAAS;AACnBlD,IAAAA,IAAI,EAAEO,SAAU;AAChBM,IAAAA,KAAK,EAAEA,KAAM;AACbQ,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAChB,CACF,CACE,CACiB,CAEZ,CAAC,CAAA;AAErB,CAAC,EACDiC,OAAO,CAAC,CAAA;AAERK,YAAY,CAACG,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AACvBjE,EAAAA,IAAI,EAAEoE,QAAQ;AACdvD,EAAAA,KAAK,EAAEqD,SAAS,CAACC,OAAO,CAACC,QAAQ,CAAC;AAClChD,EAAAA,OAAO,EAAE8C,SAAS,CAACG,KAAK,CAACC,UAAU;EACnCjD,MAAM,EAAE6C,SAAS,CAACK,MAAM;AACxB1B,EAAAA,KAAK,EAAEqB,SAAS,CAACM,IAAI,CAACF,UAAU;AAChCpB,EAAAA,QAAQ,EAAEgB,SAAS,CAACM,IAAI,CAACF,UAAAA;AAC3B,CAAC,GAAA,EAAA;;;;"}
@@ -0,0 +1,66 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { applyDefaultTheme } from '../../utils/defaultTheme.js';
3
+
4
+ const MultiLevelCheckbox = styled.fieldset.attrs(applyDefaultTheme)`
5
+ padding: 0;
6
+ border: 0;
7
+ margin: 0;
8
+ `;
9
+ const MultiLevelCheckboxLegend = styled.legend.attrs(applyDefaultTheme)`
10
+ line-height: 1.2;
11
+ font-size: 0.75rem;
12
+ padding: 0 0 4px;
13
+ letter-spacing: 0.03em;
14
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'))}
15
+ `;
16
+ const MultiLevelCheckboxNoResults = styled.div.attrs(applyDefaultTheme)`
17
+ text-align: center;
18
+ opacity: 0.7;
19
+ font-size: 0.875rem;
20
+ `;
21
+ const CheckboxTreeChildren = styled.div.attrs(applyDefaultTheme)`
22
+ display: grid;
23
+ grid-template-rows: 0fr;
24
+ padding-left: 28px;
25
+ transition: grid-template-rows 250ms;
26
+
27
+ & > div {
28
+ overflow: hidden;
29
+ }
30
+
31
+ ${props => props.$expanded && css`
32
+ grid-template-rows: 1fr;
33
+ `}
34
+ }
35
+ `;
36
+ const CheckboxTree = styled.div.attrs(applyDefaultTheme)`
37
+ width: fit-content;
38
+ `;
39
+ const CheckboxTreeCheckboxContainer = styled.div.attrs(applyDefaultTheme)`
40
+ position: relative;
41
+ margin-top: 4px;
42
+ `;
43
+ const ExpandTreeButton = styled.button.attrs(applyDefaultTheme)`
44
+ -webkit-appearance: none;
45
+ background: none;
46
+ border: none;
47
+ position: absolute;
48
+ height: 100%;
49
+ cursor: pointer;
50
+ color: currentColor;
51
+
52
+ & > svg {
53
+ display: block;
54
+ width: 10px;
55
+ transform: rotate(-90deg);
56
+ transition: transform 250ms;
57
+
58
+ ${props => props.$expanded && css`
59
+ transform: rotate(0deg);
60
+ `}
61
+ }
62
+ }
63
+ `;
64
+
65
+ export { CheckboxTree, CheckboxTreeCheckboxContainer, CheckboxTreeChildren, ExpandTreeButton, MultiLevelCheckbox, MultiLevelCheckboxLegend, MultiLevelCheckboxNoResults };
66
+ //# sourceMappingURL=MultiLevelCheckbox.styled.js.map
@@ -0,0 +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\nexport const MultiLevelCheckbox = styled.fieldset.attrs(applyDefaultTheme)`\n padding: 0;\n border: 0;\n margin: 0;\n`;\n\nexport const MultiLevelCheckboxLegend = styled.legend.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.attrs(applyDefaultTheme)`\n text-align: center;\n opacity: 0.7;\n font-size: 0.875rem;\n`;\n\nexport const CheckboxTreeChildren = styled.div.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.attrs(applyDefaultTheme)`\n width: fit-content;\n`;\n\nexport const CheckboxTreeCheckboxContainer = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n margin-top: 4px;\n`;\n\nexport const ExpandTreeButton = styled.button.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":["MultiLevelCheckbox","styled","fieldset","attrs","applyDefaultTheme","MultiLevelCheckboxLegend","legend","props","theme","themeProp","getColor","MultiLevelCheckboxNoResults","div","CheckboxTreeChildren","$expanded","css","CheckboxTree","CheckboxTreeCheckboxContainer","ExpandTreeButton","button"],"mappings":";;;AAGO,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,QAAQ,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC1E;AACA;AACA;AACA,EAAC;AAEM,MAAMC,wBAAwB,GAAGJ,MAAM,CAACK,MAAM,CAACH,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC9E;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,GAAGV,MAAM,CAACW,GAAG,CAACT,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC9E;AACA;AACA;AACA,EAAC;AAEM,MAAMS,oBAAoB,GAAGZ,MAAM,CAACW,GAAG,CAACT,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACvE;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,GAAGf,MAAM,CAACW,GAAG,CAACT,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC/D;AACA,EAAC;AAEM,MAAMa,6BAA6B,GAAGhB,MAAM,CAACW,GAAG,CAACT,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAChF;AACA;AACA,EAAC;AAEM,MAAMc,gBAAgB,GAAGjB,MAAM,CAACkB,MAAM,CAAChB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;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;;;;"}
@@ -0,0 +1,3 @@
1
+ export { default } from './MultiLevelCheckbox.js';
2
+ export { NodeType, findChildValues } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,27 @@
1
+ import PropTypes from 'prop-types';
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
+ function findChildValues(node) {
13
+ const result = [];
14
+ function traverse(node) {
15
+ if (Array.isArray(node.children) && node.children.length > 0) {
16
+ node.children.forEach(child => {
17
+ result.push(child.value);
18
+ traverse(child);
19
+ });
20
+ }
21
+ }
22
+ traverse(node);
23
+ return result;
24
+ }
25
+
26
+ export { NodeType, findChildValues };
27
+ //# sourceMappingURL=types.js.map