@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
@@ -0,0 +1,122 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { applyDefaultTheme } from '../../utils/defaultTheme.js';
3
+
4
+ const checkboxSize = '18px';
5
+ const Checkbox = styled.div.attrs(applyDefaultTheme)`
6
+ display: flex;
7
+ flex-direction: column;
8
+ `;
9
+ const CheckIcon = styled.div.attrs(applyDefaultTheme)`
10
+ opacity: 0;
11
+ transform: scale(0.1);
12
+ transition: all 200ms;
13
+ position: absolute;
14
+ width: 12px;
15
+ top: 4px;
16
+ left: 3px;
17
+ color: ${props => props.theme.getColor('gray-100')};
18
+
19
+ svg {
20
+ width: 100%;
21
+ display: block;
22
+ }
23
+ `;
24
+ const IndeterminateCheckIcon = styled.div.attrs(applyDefaultTheme)`
25
+ opacity: 0;
26
+ transform: scale(0.1);
27
+ transition: all 200ms;
28
+ position: absolute;
29
+ height: 2px;
30
+ top: 8px;
31
+ left: 4px;
32
+ background: ${props => props.theme.getColor('gray-100')};
33
+ width: 10px;
34
+ `;
35
+ const CheckboxLabel = styled.label.attrs(applyDefaultTheme)`
36
+ display: inline-flex;
37
+ position: relative;
38
+ cursor: pointer;
39
+ user-select: none;
40
+ min-height: ${checkboxSize};
41
+ text-align: left;
42
+ flex-wrap: wrap;
43
+ flex: 1;
44
+ line-height: ${checkboxSize};
45
+ margin-right: auto;
46
+
47
+ & input[type='checkbox'] {
48
+ position: absolute;
49
+ opacity: 0;
50
+ pointer-events: none;
51
+ margin: 0;
52
+ }
53
+
54
+ &::before {
55
+ content: '';
56
+ border: 2px solid ${props => props.theme.getColor('gray-300')};
57
+ border-radius: 2px;
58
+ transition: all 200ms;
59
+ width: ${checkboxSize};
60
+ height: ${checkboxSize};
61
+ box-sizing: border-box;
62
+ ${props => props.muted && css`
63
+ opacity: 0.75;
64
+ `}
65
+ }
66
+
67
+ &:has(input[type='checkbox']:checked) {
68
+ &::before {
69
+ background: ${props => props.theme.getColor('emerald-500')};
70
+ border-color: ${props => props.theme.getColor('emerald-500')};
71
+ }
72
+ }
73
+
74
+ &:has(input[type='checkbox']:not([data-indeterminate='true']):checked) {
75
+ ${CheckIcon} {
76
+ opacity: 1;
77
+ transform: scale(1);
78
+ }
79
+ }
80
+
81
+ &:has(input[type='checkbox'][data-indeterminate='true']:checked) {
82
+ ${IndeterminateCheckIcon} {
83
+ opacity: 1;
84
+ transform: scale(1);
85
+ }
86
+ }
87
+
88
+ ${props => props.readOnly && css`
89
+ opacity: 0.5;
90
+ cursor: default;
91
+ pointer-events: none;
92
+ user-select: text;
93
+ `}
94
+
95
+ ${props => props.disabled && css`
96
+ opacity: 0.5;
97
+ cursor: not-allowed;
98
+ `}
99
+ `;
100
+ const CheckboxVisualLabel = styled.div.attrs(applyDefaultTheme)`
101
+ padding-left: 10px;
102
+ font-weight: 400;
103
+ font-size: 0.875rem;
104
+ flex: 1;
105
+
106
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'))};
107
+ `;
108
+ const Description = styled.p.attrs(applyDefaultTheme)`
109
+ margin: 0.375rem 0 0 0;
110
+ font-size: 0.75rem;
111
+ line-height: 1.333;
112
+
113
+ ${props => props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'))};
114
+
115
+ ${props => props.error && css`
116
+ content: 'error';
117
+ ${props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'))}
118
+ `}
119
+ `;
120
+
121
+ export { CheckIcon, Checkbox, CheckboxLabel, CheckboxVisualLabel, Description, IndeterminateCheckIcon };
122
+ //# sourceMappingURL=Checkbox.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.styled.js","sources":["../../../src/components/inputs/Checkbox/Checkbox.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nconst checkboxSize = '18px';\n\nexport const Checkbox = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n`;\n\nexport const CheckIcon = styled.div.attrs(applyDefaultTheme)`\n opacity: 0;\n transform: scale(0.1);\n transition: all 200ms;\n position: absolute;\n width: 12px;\n top: 4px;\n left: 3px;\n color: ${props => props.theme.getColor('gray-100')};\n\n svg {\n width: 100%;\n display: block;\n }\n`;\n\nexport const IndeterminateCheckIcon = styled.div.attrs(applyDefaultTheme)`\n opacity: 0;\n transform: scale(0.1);\n transition: all 200ms;\n position: absolute;\n height: 2px;\n top: 8px;\n left: 4px;\n background: ${props => props.theme.getColor('gray-100')};\n width: 10px;\n`;\n\nexport const CheckboxLabel = styled.label.attrs(applyDefaultTheme)`\n display: inline-flex;\n position: relative;\n cursor: pointer;\n user-select: none;\n min-height: ${checkboxSize};\n text-align: left;\n flex-wrap: wrap;\n flex: 1;\n line-height: ${checkboxSize};\n margin-right: auto;\n\n & input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n margin: 0;\n }\n\n &::before {\n content: '';\n border: 2px solid ${props => props.theme.getColor('gray-300')};\n border-radius: 2px;\n transition: all 200ms;\n width: ${checkboxSize};\n height: ${checkboxSize};\n box-sizing: border-box;\n ${props =>\n props.muted &&\n css`\n opacity: 0.75;\n `}\n }\n\n &:has(input[type='checkbox']:checked) {\n &::before {\n background: ${props => props.theme.getColor('emerald-500')};\n border-color: ${props => props.theme.getColor('emerald-500')};\n }\n }\n\n &:has(input[type='checkbox']:not([data-indeterminate='true']):checked) {\n ${CheckIcon} {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &:has(input[type='checkbox'][data-indeterminate='true']:checked) {\n ${IndeterminateCheckIcon} {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n ${props =>\n props.readOnly &&\n css`\n opacity: 0.5;\n cursor: default;\n pointer-events: none;\n user-select: text;\n `}\n\n ${props =>\n props.disabled &&\n css`\n opacity: 0.5;\n cursor: not-allowed;\n `}\n`;\n\nexport const CheckboxVisualLabel = styled.div.attrs(applyDefaultTheme)`\n padding-left: 10px;\n font-weight: 400;\n font-size: 0.875rem;\n flex: 1;\n\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 Description = styled.p.attrs(applyDefaultTheme)`\n margin: 0.375rem 0 0 0;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-500')\n )};\n\n ${props =>\n props.error &&\n css`\n content: 'error';\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('red-200'),\n props.theme.getColor('red-500')\n )}\n `}\n`;\n"],"names":["checkboxSize","Checkbox","styled","div","attrs","applyDefaultTheme","CheckIcon","props","theme","getColor","IndeterminateCheckIcon","CheckboxLabel","label","muted","css","readOnly","disabled","CheckboxVisualLabel","themeProp","Description","p","error"],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- export { C as default } from '../../Checkbox-4a5fd716.js';
2
- import 'react';
3
- import 'nanoid';
4
- import '../../defaultTheme-1bcc2541.js';
5
- import 'styled-components';
6
- import 'lodash';
1
+ export { default } from './Checkbox.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,267 @@
1
+ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { isEmpty } from 'lodash';
3
+ import { nanoid } from 'nanoid';
4
+ import PropTypes from 'prop-types';
5
+ import React__default, { useState, useMemo } from 'react';
6
+ import '../../data/Alert/Alert.js';
7
+ import '../../data/Badge/Badge.js';
8
+ import '../../data/Popover/Popover.js';
9
+ import '../../data/Tab/Tab.js';
10
+ import '../../data/Tabs/Tabs.js';
11
+ import Tooltip from '../../data/Tooltip/Tooltip.js';
12
+ import '../../data/VerificationStatusIcon/VerificationStatusIcon.js';
13
+ import { ValueContainer, Input, Menu, CompactAutocompleteSelect as CompactAutocompleteSelect$1, InputContainer, Label, SuccessContainer, AsyncCreatableAutocompleteSelect, AsyncAutocompleteSelect, AutocompletCreatableSelect, AutocompletSelect, Option, Control, Placeholder, SingleValue, DropdownIndicator, DropdownIndicatorIcon, ClearIndicator, ClearIndicatorIcon, IndicatorSeparator } from './CompactAutocompleteSelect.styled.js';
14
+
15
+ const CompactAutocompleteSelect = React__default.forwardRef(function CompactAutocompleteSelect({
16
+ label,
17
+ availableOptions,
18
+ placeholder,
19
+ selectedOption,
20
+ loadOptions,
21
+ noOptionsMessageFunc,
22
+ createNewOptionMessageFunc,
23
+ onUpdateCallback,
24
+ loadingMessageFunc,
25
+ creatable,
26
+ readOnly,
27
+ edit,
28
+ disabled,
29
+ hidden,
30
+ type,
31
+ descriptionToolTip,
32
+ loadingIcon,
33
+ successIcon,
34
+ ...props
35
+ }, forwardedRef) {
36
+ const [uniqueId] = useState(nanoid());
37
+ const [selected, setSelected] = useState(selectedOption);
38
+ const [focused, setFocused] = useState(false);
39
+ const [cacheUnique, setCacheUnique] = useState(0);
40
+ const memoizedDescriptionToolTip = useMemo(() => {
41
+ return descriptionToolTip;
42
+ }, [descriptionToolTip]);
43
+ const Control$1 = props => {
44
+ return React__default.createElement(Control, _extends({
45
+ className: "select-control",
46
+ edit: edit,
47
+ type: type
48
+ }, props));
49
+ };
50
+ const ValueContainer$1 = useMemo(() => {
51
+ const valueContainer = props => {
52
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(ValueContainer, _extends({
53
+ type: type
54
+ }, props)));
55
+ };
56
+ valueContainer.displayName = 'ValueContainerWrapper';
57
+ return valueContainer;
58
+ }, [type]);
59
+ const Input$1 = useMemo(() => {
60
+ const selectInput = props => {
61
+ return React__default.createElement(Input, _extends({
62
+ className: "select-input"
63
+ }, props));
64
+ };
65
+ selectInput.displayName = 'InputWrapper';
66
+ return selectInput;
67
+ }, []);
68
+ const Menu$1 = useMemo(() => {
69
+ const menu = props => {
70
+ return React__default.createElement(Menu, _extends({
71
+ className: "select-menu"
72
+ }, props));
73
+ };
74
+ menu.displayName = 'MenuWrapper';
75
+ return menu;
76
+ }, []);
77
+ const Placeholder$1 = props => {
78
+ return React__default.createElement(Placeholder, _extends({
79
+ className: "select-placeholder",
80
+ type: type
81
+ }, props));
82
+ };
83
+ const Option$1 = props => {
84
+ return !props.data.link ? React__default.createElement(Option, _extends({
85
+ className: "menu-item"
86
+ }, props)) : React__default.createElement(Option, props, React__default.createElement("a", {
87
+ href: props.data.link
88
+ }, props.data.icon, props.label));
89
+ };
90
+ const SingleValue$1 = props => {
91
+ return React__default.createElement(SingleValue, _extends({
92
+ className: "menu-value"
93
+ }, props));
94
+ };
95
+ Option$1.propTypes = process.env.NODE_ENV !== "production" ? {
96
+ data: PropTypes.shape({
97
+ icon: PropTypes.node,
98
+ link: PropTypes.string
99
+ }),
100
+ label: PropTypes.string
101
+ } : {};
102
+ const DropdownIndicator$1 = props => {
103
+ return React__default.createElement(DropdownIndicator, _extends({
104
+ className: "dropdown-indicator"
105
+ }, props), React__default.createElement(DropdownIndicatorIcon, null));
106
+ };
107
+ const ClearIndicator$1 = props => {
108
+ return React__default.createElement(ClearIndicator, _extends({
109
+ className: "clear-indicator"
110
+ }, props), React__default.createElement(ClearIndicatorIcon, null));
111
+ };
112
+ const IndicatorSeparator$1 = props => {
113
+ return React__default.createElement(IndicatorSeparator, _extends({
114
+ className: "indicator-separator"
115
+ }, props));
116
+ };
117
+ const innerComponents = {
118
+ Control: Control$1,
119
+ ValueContainer: ValueContainer$1,
120
+ DropdownIndicator: DropdownIndicator$1,
121
+ IndicatorSeparator: IndicatorSeparator$1,
122
+ ClearIndicator: ClearIndicator$1,
123
+ Option: Option$1,
124
+ SingleValue: SingleValue$1,
125
+ Input: Input$1,
126
+ Placeholder: Placeholder$1,
127
+ Menu: Menu$1
128
+ };
129
+ const sharedSelectProps = {
130
+ ref: forwardedRef,
131
+ options: loadOptions ? undefined : availableOptions,
132
+ value: selected,
133
+ loadOptions: loadOptions,
134
+ loadingMessage: loadingMessageFunc,
135
+ formatCreateLabel: createNewOptionMessageFunc,
136
+ noOptionsMessage: input => {
137
+ return noOptionsMessageFunc(input.inputValue);
138
+ },
139
+ onFocus: () => {
140
+ setFocused(true);
141
+ },
142
+ onBlur: () => {
143
+ setFocused(false);
144
+ },
145
+ focused: focused,
146
+ isDisabled: disabled || readOnly,
147
+ components: innerComponents,
148
+ isClearable: true,
149
+ isSearchable: true,
150
+ placeholder: placeholder,
151
+ id: uniqueId,
152
+ cacheUniqs: loadOptions ? [cacheUnique] : undefined,
153
+ onChange: (selected, actionMeta) => {
154
+ switch (actionMeta.action) {
155
+ case 'create-option':
156
+ if (onUpdateCallback) {
157
+ onUpdateCallback(actionMeta.action, selected.value);
158
+ }
159
+ if (loadOptions) {
160
+ setCacheUnique(cacheUnique + 1);
161
+ }
162
+ setSelected(selected);
163
+ break;
164
+ case 'select-option':
165
+ if (onUpdateCallback) {
166
+ onUpdateCallback(actionMeta.action, selected.value);
167
+ }
168
+ setSelected(selected);
169
+ break;
170
+ case 'remove-value':
171
+ if (onUpdateCallback) {
172
+ onUpdateCallback(actionMeta.action, selected.value);
173
+ }
174
+ setSelected(selected);
175
+ break;
176
+ case 'pop-value':
177
+ if (onUpdateCallback) {
178
+ onUpdateCallback(actionMeta.action, selected.value);
179
+ }
180
+ setSelected(selected);
181
+ break;
182
+ case 'deselect-option':
183
+ if (onUpdateCallback) {
184
+ onUpdateCallback(actionMeta.action, selected.value);
185
+ }
186
+ setSelected(selected);
187
+ break;
188
+ case 'clear':
189
+ setSelected(selected);
190
+ break;
191
+ default:
192
+ if (onUpdateCallback) {
193
+ onUpdateCallback(actionMeta.action, selected.value);
194
+ }
195
+ setSelected(selected);
196
+ break;
197
+ }
198
+ }
199
+ };
200
+ if (hidden) return null;
201
+ const input = () => {
202
+ return React__default.createElement(CompactAutocompleteSelect$1, {
203
+ disabled: disabled
204
+ }, React__default.createElement(InputContainer, null, label && React__default.createElement(Label, {
205
+ htmlFor: uniqueId,
206
+ disabled: disabled
207
+ }, label, React__default.createElement(SuccessContainer, null, type === 'loading' && loadingIcon, type === 'success' && successIcon)), loadOptions ? creatable ? React__default.createElement(AsyncCreatableAutocompleteSelect, _extends({
208
+ $hasLabel: !isEmpty(label)
209
+ }, sharedSelectProps, props)) : React__default.createElement(AsyncAutocompleteSelect, _extends({
210
+ $hasLabel: !isEmpty(label)
211
+ }, sharedSelectProps, props)) : creatable ? React__default.createElement(AutocompletCreatableSelect, _extends({
212
+ $hasLabel: !isEmpty(label)
213
+ }, sharedSelectProps, props)) : React__default.createElement(AutocompletSelect, _extends({
214
+ $hasLabel: !isEmpty(label)
215
+ }, sharedSelectProps, props))));
216
+ };
217
+ return React__default.createElement(React__default.Fragment, null, !memoizedDescriptionToolTip && input(), memoizedDescriptionToolTip && React__default.createElement("div", null, React__default.createElement(Tooltip, {
218
+ content: memoizedDescriptionToolTip,
219
+ key: "tooltipTextArea1",
220
+ placement: "bottom-end",
221
+ trigger: 'mouseenter',
222
+ zIndex: 999999
223
+ }, input())));
224
+ });
225
+ CompactAutocompleteSelect.propTypes = process.env.NODE_ENV !== "production" ? {
226
+ label: PropTypes.string,
227
+ placeholder: PropTypes.string,
228
+ availableOptions: PropTypes.arrayOf(PropTypes.object),
229
+ selectedOption: PropTypes.object,
230
+ loadOptions: PropTypes.func,
231
+ loadingMessageFunc: PropTypes.func,
232
+ createNewOptionMessageFunc: PropTypes.func,
233
+ noOptionsMessageFunc: PropTypes.func,
234
+ readOnly: PropTypes.bool,
235
+ edit: PropTypes.bool,
236
+ hidden: PropTypes.bool,
237
+ error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
238
+ warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
239
+ onUpdateCallback: PropTypes.func,
240
+ creatable: PropTypes.bool,
241
+ disabled: PropTypes.bool,
242
+ type: PropTypes.oneOf(['', 'error', 'warning', 'instructions-warning', 'loading', 'success']),
243
+ descriptionToolTip: PropTypes.string,
244
+ loadingIcon: PropTypes.element,
245
+ successIcon: PropTypes.element
246
+ } : {};
247
+ CompactAutocompleteSelect.defaultProps = {
248
+ noOptionsMessageFunc: inputValue => {
249
+ if (inputValue) {
250
+ return `No matches for "${inputValue}"`;
251
+ } else {
252
+ return 'No available options';
253
+ }
254
+ },
255
+ readOnly: false,
256
+ disabled: false,
257
+ creatable: true,
258
+ edit: false,
259
+ error: false,
260
+ warning: false,
261
+ hidden: false,
262
+ type: '',
263
+ descriptionToolTip: ''
264
+ };
265
+
266
+ export { CompactAutocompleteSelect as default };
267
+ //# sourceMappingURL=CompactAutocompleteSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompactAutocompleteSelect.js","sources":["../../../src/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js"],"sourcesContent":["import { isEmpty } from 'lodash';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState } from 'react';\nimport { Tooltip } from '../../data';\n\nimport * as S from './CompactAutocompleteSelect.styled';\n\n/**\n * Select input control with autocomplete, async and creatable support.\n *\n * This control allows users to search through a predefined set of options, asynchronously load additional options,\n * and even create new options on-the-fly. It combines the benefits of autocomplete functionality,\n * asynchronous data fetching, and creatable option support.\n *\n * The component uses [react-select](https://react-select.com/) for the main select functionality,\n * with [react-select-async-paginate](https://www.npmjs.com/package/react-select-async-paginate) for pagination.\n *\n * <br /> ### Import\n *\n * ``` js\n * import { CompactAutocompleteSelect } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactAutocompleteSelect from '@ntbjs/react-components/inputs/CompactAutocompleteSelect'\n * ```\n *\n * <br /> ## Option `object` format\n * Options are represented by an `Array` of `objects` with the following format:\n *\n * ``` js\n * {\n * value: \"Example\",\n * label: \"Example\"\n * }\n * ```\n * The `label` is what will visible to the end-user. Whether `value` and `label`\n * should be different will depend on your use-case, but they are not required to.\n *\n * <br /> ## Update handling\n * Changes from the end-user to the selected/available options can be handled with a callback function\n * passed through the `onUpdateCallback` prop, which is triggered any time the selected values change.\n *\n * The callback function will be passed two arguments:\n * * `action: string`\n * * `updatedOption: object`\n *\n * <br />#### `action`\n * A `string` indicating what kind of update was made.\n *\n * The possible values of `action` are:\n * * `create-option`: an option that didn't exist in the original list of available options were added\n * * `select-option`: an option was selected\n * * `deselect-option`: an option was de-selected by clicking the X in the dropdown menu\n * * `remove-value`: an option was de-selected by clicking the X on the option label/box\n * * `pop-value`: an option was de-selected with backspace\n * * `clear`: all options were de-selected by clicking the clear indicator (not currently in use)\n *\n * <br />#### `updatedOption`\n * Option `object`of the updated option:\n *\n * In addition to the default `value` and `label` keys, an `__isNew__` flag will be present if the option was\n * not part of the original list of available options, i.e. created by the user in the current \"session\".\n * This is the case regardless of whether the list is provided through `availableOptions` or\n * asynchronously through `loadOptions`.\n *\n *\n * <br />## Asynchronous fetching/filtering with pagination\n * The list of available options can be fetched and filtered asynchronously with a `Promise`\n * passed through the `loadOptions` prop.\n *\n * It will be passed two arguments:\n *\n * * `inputValue: string`: current input value/search\n * * `prevOptions: Array`: previously loaded options for the current search\n *\n * The function is triggered and the first page is fetched when the dropdown menu opens.\n * Whenever the user scrolls down to the bottom of the list, `loadOptions` will\n * be triggered again to fetch the next page.\n *\n * The `Promise` should return an `object` with the following keys:\n *\n * ``` js\n * {\n * options: Array,\n * hasMore: boolean\n * }\n * ```\n *\n * `options` should contain the current page of options. It will be concatenated to the previous\n * set of options automatically. The `hasMore` flag indicates whether there is another page to be fetched.\n *\n * **Example:**\n *\n * ``` js\n *\n * const availableOptions = [\n * { value: \"Example 1\", label: \"Example 1\" },\n * ...\n * { value: \"Example N\", label: \"Example N\" }\n * ];\n *\n * const filterOptions = inputValue => {\n * return availableOptions.filter(option => {\n * return option.label.toLowerCase().includes(inputValue.toLowerCase());\n * });\n * };\n *\n * const loadOptionsFunc = (inputValue, prevOptions) => {\n * const currentLength = prevOptions.length;\n * const pageLength = 10;\n *\n * let filteredOptions;\n *\n * if (inputValue) {\n * filteredOptions = filterOptions(inputValue);\n * } else {\n * filteredOptions = availableOptions;\n * }\n *\n * const hasMore = filteredOptions.length > currentLength + pageLength;\n * const slicedOptions = filteredOptions.slice(currentLength, currentLength + pageLength);\n *\n * return {\n * options: slicedOptions,\n * hasMore\n * };\n * };\n *\n * const loadOptions = (inputValue, prevOptions) => {\n * return new Promise(resolve => {\n * resolve(loadOptionsFunc(inputValue, prevOptions));\n * });\n * };\n * ```\n *\n * While waiting for the `Promise` to resolve, the component will be in a loading state.\n * The loading state is showcased in the \"Primary With Fetching Timeout\" Story.\n *\n * <br />#### Without asynchronous fetching/filtering\n * If you wish to not use asynchronous fetching/filtering, leave the `loadOptions` prop undefined\n * and pass the `Array` of all available options to the `availableOptions` prop instead.\n * The component will use the built-in filtering on `label` from `react-select`, and the options\n * will not be paginated.\n *\n * <br />\n */\n\nconst CompactAutocompleteSelect = React.forwardRef(function CompactAutocompleteSelect(\n {\n label,\n availableOptions,\n placeholder,\n selectedOption,\n loadOptions,\n noOptionsMessageFunc,\n createNewOptionMessageFunc,\n onUpdateCallback,\n loadingMessageFunc,\n creatable,\n readOnly,\n edit,\n disabled,\n hidden,\n type,\n descriptionToolTip,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n const [selected, setSelected] = useState(selectedOption);\n const [focused, setFocused] = useState(false);\n const [cacheUnique, setCacheUnique] = useState(0);\n\n const memoizedDescriptionToolTip = useMemo(() => {\n return descriptionToolTip;\n }, [descriptionToolTip]);\n\n /**\n * Adds displayname to inner components\n */\n const Control = props => {\n return <S.Control className=\"select-control\" edit={edit} type={type} {...props} />;\n };\n\n const ValueContainer = useMemo(() => {\n const valueContainer = props => {\n return (\n <>\n <S.ValueContainer type={type} {...props} />\n </>\n );\n };\n valueContainer.displayName = 'ValueContainerWrapper';\n return valueContainer;\n }, [type]);\n\n const Input = useMemo(() => {\n const selectInput = props => {\n return <S.Input className=\"select-input\" {...props} />;\n };\n selectInput.displayName = 'InputWrapper';\n return selectInput;\n }, []);\n\n const Menu = useMemo(() => {\n const menu = props => {\n return <S.Menu className=\"select-menu\" {...props} />;\n };\n menu.displayName = 'MenuWrapper';\n return menu;\n }, []);\n\n const Placeholder = props => {\n return <S.Placeholder className=\"select-placeholder\" type={type} {...props} />;\n };\n\n const Option = props => {\n return !props.data.link ? (\n <S.Option className=\"menu-item\" {...props} />\n ) : (\n <S.Option {...props}>\n <a href={props.data.link}>\n {props.data.icon}\n {props.label}\n </a>\n </S.Option>\n );\n };\n\n const SingleValue = props => {\n return <S.SingleValue className=\"menu-value\" {...props} />;\n };\n\n Option.propTypes = {\n data: PropTypes.shape({\n icon: PropTypes.node,\n link: PropTypes.string\n }),\n label: PropTypes.string\n };\n\n const DropdownIndicator = props => {\n return (\n <S.DropdownIndicator className=\"dropdown-indicator\" {...props}>\n <S.DropdownIndicatorIcon />\n </S.DropdownIndicator>\n );\n };\n\n const ClearIndicator = props => {\n return (\n <S.ClearIndicator className=\"clear-indicator\" {...props}>\n <S.ClearIndicatorIcon />\n </S.ClearIndicator>\n );\n };\n\n const IndicatorSeparator = props => {\n return <S.IndicatorSeparator className=\"indicator-separator\" {...props} />;\n };\n\n /**\n * Adds classnames to inner components\n */\n const innerComponents = {\n Control,\n ValueContainer,\n DropdownIndicator,\n IndicatorSeparator,\n ClearIndicator,\n Option,\n SingleValue,\n Input,\n Placeholder,\n Menu\n };\n\n const sharedSelectProps = {\n ref: forwardedRef,\n options: loadOptions ? undefined : availableOptions,\n value: selected,\n loadOptions: loadOptions,\n loadingMessage: loadingMessageFunc,\n formatCreateLabel: createNewOptionMessageFunc,\n noOptionsMessage: input => {\n return noOptionsMessageFunc(input.inputValue);\n },\n onFocus: () => {\n setFocused(true);\n },\n onBlur: () => {\n setFocused(false);\n },\n focused: focused,\n isDisabled: disabled || readOnly,\n components: innerComponents,\n isClearable: true,\n isSearchable: true,\n placeholder: placeholder,\n id: uniqueId,\n cacheUniqs: loadOptions ? [cacheUnique] : undefined,\n onChange: (selected, actionMeta) => {\n switch (actionMeta.action) {\n case 'create-option':\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n if (loadOptions) {\n setCacheUnique(cacheUnique + 1);\n }\n\n setSelected(selected);\n break;\n\n case 'select-option':\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n setSelected(selected);\n break;\n\n case 'remove-value':\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n setSelected(selected);\n break;\n\n case 'pop-value':\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n setSelected(selected);\n break;\n\n case 'deselect-option':\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n setSelected(selected);\n break;\n\n case 'clear':\n setSelected(selected);\n break;\n\n default:\n if (onUpdateCallback) {\n onUpdateCallback(actionMeta.action, selected.value);\n }\n\n setSelected(selected);\n break;\n }\n }\n };\n\n if (hidden) return null;\n\n const input = () => {\n return (\n <S.CompactAutocompleteSelect disabled={disabled}>\n <S.InputContainer>\n {label && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.Label>\n )}\n {loadOptions ? (\n creatable ? (\n <S.AsyncCreatableAutocompleteSelect\n $hasLabel={!isEmpty(label)}\n {...sharedSelectProps}\n {...props}\n />\n ) : (\n <S.AsyncAutocompleteSelect\n $hasLabel={!isEmpty(label)}\n {...sharedSelectProps}\n {...props}\n />\n )\n ) : creatable ? (\n <S.AutocompletCreatableSelect\n $hasLabel={!isEmpty(label)}\n {...sharedSelectProps}\n {...props}\n />\n ) : (\n <S.AutocompletSelect $hasLabel={!isEmpty(label)} {...sharedSelectProps} {...props} />\n )}\n </S.InputContainer>\n </S.CompactAutocompleteSelect>\n );\n };\n\n return (\n <>\n {!memoizedDescriptionToolTip && input()}\n {memoizedDescriptionToolTip && (\n <div>\n <Tooltip\n content={memoizedDescriptionToolTip}\n key=\"tooltipTextArea1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n zIndex={999999}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n </>\n );\n});\n\nCompactAutocompleteSelect.propTypes = {\n /**\n * The label of the input field – leave `undefined` to hide the label\n */\n label: PropTypes.string,\n /**\n * The placeholder of the input. Text to be displayed on the input element when the component is enabled and not focused – e.g. \"Search categories...\"\n */\n placeholder: PropTypes.string,\n /**\n * `Array` of `objects` that populate the select menu. This is only needed\n * when asynchronous option fetching with the `loadOptions` prop is not used.\n *\n * **Note:**\n * <br />This will be overridden by the `loadOptions` prop if both props are set.\n */\n availableOptions: PropTypes.arrayOf(PropTypes.object),\n /**\n * `Array` of `objects` containing the selected options.\n */\n selectedOption: PropTypes.object,\n /**\n * Function with a `Promise` returning filtered options.\n *\n * See [Asynchronous fetching/filtering with pagination](#asynchronous-fetchingfiltering-with-pagination)\n * for details.\n *\n * **Note:**\n * <br />This will override the `availableOptions` prop if both props are set.\n */\n loadOptions: PropTypes.func,\n /**\n * Function for custom \"Loading...\" message while waiting for the first page\n * from `loadOptions` to resolve. Defaults to \"Loading...\" if no function is provided.\n */\n loadingMessageFunc: PropTypes.func,\n /**\n * Callback function for formatting the message displayed in the dropdown when there\n * are no matching options, and the user has permission to create new options.\n * The callback function will be given the current input value as an argument.\n */\n createNewOptionMessageFunc: PropTypes.func,\n /**\n * If the list of options is empty, or if the current input value doesn't match\n * any of the available options and the user doesn't have permission to add options,\n * this function will be called and passed the current input value as an argument.\n */\n noOptionsMessageFunc: PropTypes.func,\n /**\n * Whether the value is read only\n */\n readOnly: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * There is an error present – 'error be prioritized over warnings if both are set to 'true'.\n */\n error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * There is a warning present.\n */\n warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * Callback function for sending updates to the backend whenever the selected values are updated.\n * See [Update handling](#update-handling) for details.\n */\n onUpdateCallback: PropTypes.func,\n /**\n * Whether the user have permission to create new options\n */\n creatable: PropTypes.bool,\n /**\n * Whether the multi-select should be disabled.\n * The user will not be able to trigger the on-click effect of the selected options.\n */\n disabled: PropTypes.bool,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'instructions-warning', 'loading', 'success']),\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element\n};\n\nCompactAutocompleteSelect.defaultProps = {\n noOptionsMessageFunc: inputValue => {\n if (inputValue) {\n return `No matches for \"${inputValue}\"`;\n } else {\n return 'No available options';\n }\n },\n readOnly: false,\n disabled: false,\n creatable: true,\n edit: false,\n error: false,\n warning: false,\n hidden: false,\n type: '',\n descriptionToolTip: ''\n};\n\nexport default CompactAutocompleteSelect;\n"],"names":["CompactAutocompleteSelect","React","forwardRef","label","availableOptions","placeholder","selectedOption","loadOptions","noOptionsMessageFunc","createNewOptionMessageFunc","onUpdateCallback","loadingMessageFunc","creatable","readOnly","edit","disabled","hidden","type","descriptionToolTip","loadingIcon","successIcon","props","forwardedRef","uniqueId","useState","nanoid","selected","setSelected","focused","setFocused","cacheUnique","setCacheUnique","memoizedDescriptionToolTip","useMemo","Control","createElement","S","_extends","className","ValueContainer","valueContainer","Fragment","displayName","Input","selectInput","Menu","menu","Placeholder","Option","data","link","href","icon","SingleValue","propTypes","process","env","NODE_ENV","PropTypes","shape","node","string","DropdownIndicator","ClearIndicator","IndicatorSeparator","innerComponents","sharedSelectProps","ref","options","undefined","value","loadingMessage","formatCreateLabel","noOptionsMessage","input","inputValue","onFocus","onBlur","isDisabled","components","isClearable","isSearchable","id","cacheUniqs","onChange","actionMeta","action","htmlFor","$hasLabel","isEmpty","Tooltip","content","key","placement","trigger","zIndex","arrayOf","object","func","bool","error","oneOfType","warning","oneOf","element","defaultProps"],"mappings":"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"}