@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.
- package/build/{_rollupPluginBabelHelpers-c245b26a.js → _virtual/_rollupPluginBabelHelpers.js} +2 -1
- package/build/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/build/{Alert-e6847a22.js → data/Alert/Alert.js} +5 -55
- package/build/data/Alert/Alert.js.map +1 -0
- package/build/data/Alert/Alert.styled.js +56 -0
- package/build/data/Alert/Alert.styled.js.map +1 -0
- package/build/data/Alert/index.js +2 -6
- package/build/data/Alert/index.js.map +1 -0
- package/build/data/Badge/Badge.js +87 -0
- package/build/data/Badge/Badge.js.map +1 -0
- package/build/{Badge-d93586a9.js → data/Badge/Badge.styled.js} +4 -85
- package/build/data/Badge/Badge.styled.js.map +1 -0
- package/build/data/Badge/index.js +2 -5
- package/build/data/Badge/index.js.map +1 -0
- package/build/data/Popover/Popover.js +93 -0
- package/build/data/Popover/Popover.js.map +1 -0
- package/build/{Popover-20050b91.js → data/Popover/Popover.styled.js} +6 -92
- package/build/data/Popover/Popover.styled.js.map +1 -0
- package/build/data/Popover/index.js +2 -10
- package/build/data/Popover/index.js.map +1 -0
- package/build/{Tab-04d435c3.js → data/Tab/Tab.js} +5 -12
- package/build/data/Tab/Tab.js.map +1 -0
- package/build/data/Tab/Tab.styled.js +13 -0
- package/build/data/Tab/Tab.styled.js.map +1 -0
- package/build/data/Tab/index.js +2 -5
- package/build/data/Tab/index.js.map +1 -0
- package/build/{Tabs-74d1ea8a.js → data/Tabs/Tabs.js} +6 -74
- package/build/data/Tabs/Tabs.js.map +1 -0
- package/build/data/Tabs/Tabs.styled.js +74 -0
- package/build/data/Tabs/Tabs.styled.js.map +1 -0
- package/build/data/Tabs/index.js +2 -7
- package/build/data/Tabs/index.js.map +1 -0
- package/build/{Tooltip-c1d1199e.js → data/Tooltip/Tooltip.js} +5 -26
- package/build/data/Tooltip/Tooltip.js.map +1 -0
- package/build/data/Tooltip/Tooltip.styled.js +28 -0
- package/build/data/Tooltip/Tooltip.styled.js.map +1 -0
- package/build/data/Tooltip/index.js +2 -7
- package/build/data/Tooltip/index.js.map +1 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +36 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +53 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -0
- package/build/data/index.js +8 -16
- package/build/data/index.js.map +1 -0
- package/build/hooks/useEventListner.js +21 -0
- package/build/hooks/useEventListner.js.map +1 -0
- package/build/hooks/useIsomorphicLayoutEffect.js +6 -0
- package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/build/hooks/useOnClickOutside.js +14 -0
- package/build/hooks/useOnClickOutside.js.map +1 -0
- package/build/icons/arrow-back.svg.js +16 -0
- package/build/icons/arrow-back.svg.js.map +1 -0
- package/build/{arrow-forward-ad12c5f3.js → icons/arrow-forward.svg.js} +2 -1
- package/build/icons/arrow-forward.svg.js.map +1 -0
- package/build/icons/check-rectangle-filled.svg.js +16 -0
- package/build/icons/check-rectangle-filled.svg.js.map +1 -0
- package/build/{close-a5d37608.js → icons/close.svg.js} +2 -1
- package/build/icons/close.svg.js.map +1 -0
- package/build/{edit-note-283a0e15.js → icons/edit-note.svg.js} +2 -1
- package/build/icons/edit-note.svg.js.map +1 -0
- package/build/{expand-more-c5523c46.js → icons/expand-more.svg.js} +2 -1
- package/build/icons/expand-more.svg.js.map +1 -0
- package/build/icons/headset.svg.js +16 -0
- package/build/icons/headset.svg.js.map +1 -0
- package/build/icons/layers.svg.js +16 -0
- package/build/icons/layers.svg.js.map +1 -0
- package/build/icons/link.svg.js +16 -0
- package/build/icons/link.svg.js.map +1 -0
- package/build/icons/play.svg.js +16 -0
- package/build/icons/play.svg.js.map +1 -0
- package/build/icons/search.svg.js +16 -0
- package/build/icons/search.svg.js.map +1 -0
- package/build/icons/star-filled.svg.js +16 -0
- package/build/icons/star-filled.svg.js.map +1 -0
- package/build/icons/star.svg.js +16 -0
- package/build/icons/star.svg.js.map +1 -0
- package/build/icons/triangle-right.svg.js +16 -0
- package/build/icons/triangle-right.svg.js.map +1 -0
- package/build/icons/verification.svg.js +16 -0
- package/build/icons/verification.svg.js.map +1 -0
- package/build/{warning-circle-24f3efcd.js → icons/warning-circle.svg.js} +2 -1
- package/build/icons/warning-circle.svg.js.map +1 -0
- package/build/index.js +5 -0
- package/build/index.js.map +1 -0
- package/build/inputs/ActionButton/ActionButton.js +36 -0
- package/build/inputs/ActionButton/ActionButton.js.map +1 -0
- package/build/{ActionButton-4db754c3.js → inputs/ActionButton/ActionButton.styled.js} +4 -34
- package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -0
- package/build/inputs/ActionButton/index.js +2 -6
- package/build/inputs/ActionButton/index.js.map +1 -0
- package/build/inputs/Button/Button.js +188 -0
- package/build/inputs/Button/Button.js.map +1 -0
- package/build/{Button-73eb8516.js → inputs/Button/Button.styled.js} +4 -186
- package/build/inputs/Button/Button.styled.js.map +1 -0
- package/build/inputs/Button/index.js +2 -13
- package/build/inputs/Button/index.js.map +1 -0
- package/build/inputs/Checkbox/Checkbox.js +97 -0
- package/build/inputs/Checkbox/Checkbox.js.map +1 -0
- package/build/inputs/Checkbox/Checkbox.styled.js +122 -0
- package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -0
- package/build/inputs/Checkbox/index.js +2 -6
- package/build/inputs/Checkbox/index.js.map +1 -0
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +267 -0
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -0
- package/build/{CompactAutocompleteSelect-52c49513.js → inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js} +6 -267
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -0
- package/build/inputs/CompactAutocompleteSelect/index.js +2 -23
- package/build/inputs/CompactAutocompleteSelect/index.js.map +1 -0
- package/build/inputs/CompactStarRating/CompactStarRating.js +177 -0
- package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -0
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js +217 -0
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -0
- package/build/inputs/CompactStarRating/index.js +2 -17
- package/build/inputs/CompactStarRating/index.js.map +1 -0
- package/build/inputs/CompactTextInput/CompactTextInput.js +184 -0
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -0
- package/build/{CompactTextInput-42ca5d42.js → inputs/CompactTextInput/CompactTextInput.styled.js} +4 -194
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -0
- package/build/inputs/CompactTextInput/index.js +2 -19
- package/build/inputs/CompactTextInput/index.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +207 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +66 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/index.js +3 -0
- package/build/inputs/MultiLevelCheckbox/index.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/types.js +27 -0
- package/build/inputs/MultiLevelCheckbox/types.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +184 -26
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +93 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/index.js +2 -0
- package/build/inputs/MultiLevelCheckboxSelect/index.js.map +1 -0
- package/build/{MultiSelect-9f497e62.js → inputs/MultiSelect/MultiSelect.js} +6 -223
- package/build/inputs/MultiSelect/MultiSelect.js.map +1 -0
- package/build/inputs/MultiSelect/MultiSelect.styled.js +224 -0
- package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -0
- package/build/inputs/MultiSelect/index.js +2 -10
- package/build/inputs/MultiSelect/index.js.map +1 -0
- package/build/inputs/Radio/Radio.js +60 -0
- package/build/inputs/Radio/Radio.js.map +1 -0
- package/build/{Radio-73ca3ae2.js → inputs/Radio/Radio.styled.js} +4 -58
- package/build/inputs/Radio/Radio.styled.js.map +1 -0
- package/build/inputs/Radio/index.js +2 -7
- package/build/inputs/Radio/index.js.map +1 -0
- package/build/inputs/Switch/Switch.js +64 -0
- package/build/inputs/Switch/Switch.js.map +1 -0
- package/build/{Switch-ecf3122b.js → inputs/Switch/Switch.styled.js} +4 -62
- package/build/inputs/Switch/Switch.styled.js.map +1 -0
- package/build/inputs/Switch/index.js +2 -6
- package/build/inputs/Switch/index.js.map +1 -0
- package/build/inputs/TextArea/TextArea.js +178 -0
- package/build/inputs/TextArea/TextArea.js.map +1 -0
- package/build/{TextArea-1e5b9201.js → inputs/TextArea/TextArea.styled.js} +3 -175
- package/build/inputs/TextArea/TextArea.styled.js.map +1 -0
- package/build/inputs/TextArea/index.js +2 -20
- package/build/inputs/TextArea/index.js.map +1 -0
- package/build/inputs/TextInput/TextInput.js +139 -0
- package/build/inputs/TextInput/TextInput.js.map +1 -0
- package/build/{TextInput-fab35842.js → inputs/TextInput/TextInput.styled.js} +4 -137
- package/build/inputs/TextInput/TextInput.styled.js.map +1 -0
- package/build/inputs/TextInput/index.js +2 -9
- package/build/inputs/TextInput/index.js.map +1 -0
- package/build/inputs/index.js +15 -40
- package/build/inputs/index.js.map +1 -0
- package/build/{InputGroup-1294d190.js → layout/InputGroup/InputGroup.js} +5 -8
- package/build/layout/InputGroup/InputGroup.js.map +1 -0
- package/build/layout/InputGroup/InputGroup.styled.js +9 -0
- package/build/layout/InputGroup/InputGroup.styled.js.map +1 -0
- package/build/layout/SectionSeparator/SectionSeparator.js +23 -0
- package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -0
- package/build/layout/SectionSeparator/SectionSeparator.styled.js +14 -0
- package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -0
- package/build/layout/SectionSeparator/index.js +2 -5
- package/build/layout/SectionSeparator/index.js.map +1 -0
- package/build/layout/index.js +3 -6
- package/build/layout/index.js.map +1 -0
- package/build/ssr/index.js +1 -0
- package/build/ssr/index.js.map +1 -0
- package/build/styles/utils/colors.scss.js +4 -0
- package/build/styles/utils/colors.scss.js.map +1 -0
- package/build/utils/dateTime.js +17 -0
- package/build/utils/dateTime.js.map +1 -0
- package/build/utils/defaultTheme.js +44 -0
- package/build/utils/defaultTheme.js.map +1 -0
- package/build/{AssetAction-98d76ce0.js → widgets/AssetAction/AssetAction.js} +6 -40
- package/build/widgets/AssetAction/AssetAction.js.map +1 -0
- package/build/widgets/AssetAction/AssetAction.styled.js +41 -0
- package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -0
- package/build/widgets/AssetAction/index.js +2 -7
- package/build/widgets/AssetAction/index.js.map +1 -0
- package/build/{AssetActionsBase-9e4c0735.js → widgets/AssetActionsBase/AssetActionsBase.js} +6 -15
- package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -0
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +15 -0
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -0
- package/build/widgets/AssetActionsBase/index.js +2 -8
- package/build/widgets/AssetActionsBase/index.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGallery.js +99 -0
- package/build/widgets/AssetGallery/AssetGallery.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +385 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +30 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +401 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +329 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +409 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +280 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -0
- package/build/widgets/AssetGallery/asset.propType.js +54 -0
- package/build/widgets/AssetGallery/asset.propType.js.map +1 -0
- package/build/widgets/AssetGallery/index.js +2 -48
- package/build/widgets/AssetGallery/index.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +44 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +77 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -6
- package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js.map +1 -0
- package/build/{ContextMenu-0f7134e4.js → widgets/ContextMenu/ContextMenu.js} +5 -9
- package/build/widgets/ContextMenu/ContextMenu.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenu.styled.js +10 -0
- package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +44 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +77 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/index.js +2 -5
- package/build/widgets/ContextMenu/ContextMenuItem/index.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +22 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +21 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js +2 -37
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js.map +1 -0
- package/build/widgets/ContextMenu/index.js +2 -5
- package/build/widgets/ContextMenu/index.js.map +1 -0
- package/build/widgets/InfoCard/InfoCard.js +40 -0
- package/build/widgets/InfoCard/InfoCard.js.map +1 -0
- package/build/{InfoCard-c98b6f5a.js → widgets/InfoCard/InfoCard.styled.js} +5 -38
- package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -0
- package/build/widgets/InfoCard/index.js +2 -6
- package/build/widgets/InfoCard/index.js.map +1 -0
- package/build/{Instructions-bfd28cea.js → widgets/Instructions/Instructions.js} +8 -34
- package/build/widgets/Instructions/Instructions.js.map +1 -0
- package/build/widgets/Instructions/Instructions.styled.js +32 -0
- package/build/widgets/Instructions/Instructions.styled.js.map +1 -0
- package/build/widgets/Instructions/index.js +2 -28
- package/build/widgets/Instructions/index.js.map +1 -0
- package/build/widgets/ProgressBar/ProgressBar.js +72 -0
- package/build/widgets/ProgressBar/ProgressBar.js.map +1 -0
- package/build/{ProgressBar-bc4a4a7e.js → widgets/ProgressBar/ProgressBar.styled.js} +5 -70
- package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -0
- package/build/widgets/ProgressBar/index.js +2 -6
- package/build/widgets/ProgressBar/index.js.map +1 -0
- package/build/widgets/SummaryCard/SummaryCard.js +92 -0
- package/build/widgets/SummaryCard/SummaryCard.js.map +1 -0
- package/build/widgets/SummaryCard/SummaryCard.styled.js +137 -0
- package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -0
- package/build/widgets/SummaryCard/index.js +2 -19
- package/build/widgets/SummaryCard/index.js.map +1 -0
- package/build/widgets/index.js +12 -53
- package/build/widgets/index.js.map +1 -0
- package/package.json +5 -2
- package/build/AssetGallery-63f721ec.js +0 -1981
- package/build/AssetPreviewTopBar-acd6353d.js +0 -127
- package/build/Checkbox-4a5fd716.js +0 -213
- package/build/CompactStarRating-9af2f427.js +0 -411
- package/build/ContextMenuItem-ea411141.js +0 -127
- package/build/MultiLevelCheckboxSelect-d8044c88.js +0 -604
- package/build/SectionSeparator-f47760a2.js +0 -31
- package/build/SummaryCard-24040650.js +0 -223
- package/build/VerificationStatusIcon-49cb1c1b.js +0 -95
- package/build/defaultTheme-1bcc2541.js +0 -1178
- package/build/layout/InputGroup/index.js +0 -5
- package/build/shift-away-subtle-0dd94a03.js +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/components/inputs/MultiLevelCheckbox/types.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\n// Define NodeType without self-reference to avoid circular dependency\nexport const NodeType = PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.array\n }))\n});\n\nexport function findChildValues(node) {\n const result = [];\n \n function traverse(node) {\n if (Array.isArray(node.children) && node.children.length > 0) {\n node.children.forEach(child => {\n result.push(child.value);\n traverse(child);\n });\n }\n }\n \n traverse(node);\n return result;\n}\n"],"names":["NodeType","PropTypes","shape","label","string","isRequired","value","any","children","arrayOf","array","findChildValues","node","result","traverse","Array","isArray","length","forEach","child","push"],"mappings":";;MAGaA,QAAQ,GAAGC,SAAS,CAACC,KAAK,CAAC;AACtCC,EAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCC,EAAAA,KAAK,EAAEL,SAAS,CAACM,GAAG,CAACF,UAAU;EAC/BG,QAAQ,EAAEP,SAAS,CAACQ,OAAO,CAACR,SAAS,CAACC,KAAK,CAAC;AAC1CC,IAAAA,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,UAAU;AAClCC,IAAAA,KAAK,EAAEL,SAAS,CAACM,GAAG,CAACF,UAAU;IAC/BG,QAAQ,EAAEP,SAAS,CAACS,KAAAA;AACtB,GAAC,CAAC,CAAA;AACJ,CAAC,EAAC;AAEK,SAASC,eAAeA,CAACC,IAAI,EAAE;EACpC,MAAMC,MAAM,GAAG,EAAE,CAAA;EAEjB,SAASC,QAAQA,CAACF,IAAI,EAAE;AACtB,IAAA,IAAIG,KAAK,CAACC,OAAO,CAACJ,IAAI,CAACJ,QAAQ,CAAC,IAAII,IAAI,CAACJ,QAAQ,CAACS,MAAM,GAAG,CAAC,EAAE;AAC5DL,MAAAA,IAAI,CAACJ,QAAQ,CAACU,OAAO,CAACC,KAAK,IAAI;AAC7BN,QAAAA,MAAM,CAACO,IAAI,CAACD,KAAK,CAACb,KAAK,CAAC,CAAA;QACxBQ,QAAQ,CAACK,KAAK,CAAC,CAAA;AACjB,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;EAEAL,QAAQ,CAACF,IAAI,CAAC,CAAA;AACd,EAAA,OAAOC,MAAM,CAAA;AACf;;;;"}
|
|
@@ -1,26 +1,184 @@
|
|
|
1
|
-
import '../../_rollupPluginBabelHelpers
|
|
2
|
-
import 'react';
|
|
3
|
-
import '
|
|
4
|
-
|
|
5
|
-
import '../../Alert
|
|
6
|
-
import '../../Badge
|
|
7
|
-
import '../../Popover
|
|
8
|
-
import '../../Tab
|
|
9
|
-
import '../../Tabs
|
|
10
|
-
import '../../Tooltip
|
|
11
|
-
import '../../VerificationStatusIcon
|
|
12
|
-
import '
|
|
13
|
-
import '
|
|
14
|
-
import '
|
|
15
|
-
import '../../
|
|
16
|
-
import '
|
|
17
|
-
import '
|
|
18
|
-
import '
|
|
19
|
-
import '../../
|
|
20
|
-
import '
|
|
21
|
-
import '
|
|
22
|
-
import '
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { useRef, useState, useCallback, useMemo } from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { MultiLevelCheckboxSelect as MultiLevelCheckboxSelect$1, PopoverContainer, PopoverHeader, SearchContainer, OptionsContainer, MultiLevelCheckboxSelectInput, Label, Placeholder, Item, ItemLabel, ItemRemoveButton } from './MultiLevelCheckboxSelect.styled.js';
|
|
5
|
+
import '../../data/Alert/Alert.js';
|
|
6
|
+
import '../../data/Badge/Badge.js';
|
|
7
|
+
import Popover from '../../data/Popover/Popover.js';
|
|
8
|
+
import '../../data/Tab/Tab.js';
|
|
9
|
+
import '../../data/Tabs/Tabs.js';
|
|
10
|
+
import '../../data/Tooltip/Tooltip.js';
|
|
11
|
+
import '../../data/VerificationStatusIcon/VerificationStatusIcon.js';
|
|
12
|
+
import MultiLevelCheckbox from '../MultiLevelCheckbox/MultiLevelCheckbox.js';
|
|
13
|
+
import { NodeType, findChildValues } from '../MultiLevelCheckbox/types.js';
|
|
14
|
+
import TextInput from '../TextInput/TextInput.js';
|
|
15
|
+
import '../../layout/InputGroup/InputGroup.js';
|
|
16
|
+
import SectionSeparator from '../../layout/SectionSeparator/SectionSeparator.js';
|
|
17
|
+
import { ReactComponent as SvgSearch } from '../../icons/search.svg.js';
|
|
18
|
+
import { ReactComponent as SvgClose } from '../../icons/close.svg.js';
|
|
19
|
+
import { useEventListener } from '../../hooks/useEventListner.js';
|
|
20
|
+
import { useOnClickOutside } from '../../hooks/useOnClickOutside.js';
|
|
21
|
+
import useUpdateEffect from '@restart/hooks/useUpdateEffect';
|
|
22
|
+
import { isFunction } from 'lodash';
|
|
23
|
+
|
|
24
|
+
const MultiLevelCheckboxSelect = React__default.forwardRef(function MultiLevelCheckboxSelect({
|
|
25
|
+
label,
|
|
26
|
+
options,
|
|
27
|
+
checked: checkedProp,
|
|
28
|
+
placeholder,
|
|
29
|
+
noResultsText,
|
|
30
|
+
onChange,
|
|
31
|
+
onParentChange,
|
|
32
|
+
...props
|
|
33
|
+
}, forwardedRef) {
|
|
34
|
+
const inputRef = useRef(null);
|
|
35
|
+
const popoverContentRef = useRef(null);
|
|
36
|
+
const searchInputRef = useRef(null);
|
|
37
|
+
const [searchString, setSearchString] = useState('');
|
|
38
|
+
const [open, setOpen] = useState(false);
|
|
39
|
+
const handleClickInside = useCallback(() => {
|
|
40
|
+
setOpen(true);
|
|
41
|
+
searchInputRef.current?.focus();
|
|
42
|
+
}, []);
|
|
43
|
+
const handleKeyDown = useCallback(event => {
|
|
44
|
+
if (!open) return;
|
|
45
|
+
if (event.key === 'Escape') {
|
|
46
|
+
setOpen(false);
|
|
47
|
+
}
|
|
48
|
+
}, [open]);
|
|
49
|
+
useEventListener('focus', handleClickInside, inputRef);
|
|
50
|
+
useEventListener('mousedown', handleClickInside, inputRef);
|
|
51
|
+
useEventListener('keydown', handleKeyDown);
|
|
52
|
+
const handleClickOutside = event => {
|
|
53
|
+
if (popoverContentRef?.current === event.target || popoverContentRef?.current?.contains(event.target)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
setOpen(false);
|
|
57
|
+
};
|
|
58
|
+
useOnClickOutside(inputRef, handleClickOutside);
|
|
59
|
+
const checked = useMemo(() => {
|
|
60
|
+
const checkedParents = [];
|
|
61
|
+
function iterate(nodes) {
|
|
62
|
+
nodes.forEach(node => {
|
|
63
|
+
if (checkedProp.includes(node.value)) {
|
|
64
|
+
return checkedParents.push(node.value);
|
|
65
|
+
}
|
|
66
|
+
if (node.children) {
|
|
67
|
+
iterate(node.children);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
iterate(options);
|
|
72
|
+
return checkedParents.sort();
|
|
73
|
+
}, [JSON.stringify(options), JSON.stringify(checkedProp)]);
|
|
74
|
+
const getLabelByValue = useCallback((targetValue, nodes = options) => {
|
|
75
|
+
for (const node of nodes) {
|
|
76
|
+
if (node.value === targetValue) {
|
|
77
|
+
return node.label;
|
|
78
|
+
}
|
|
79
|
+
if (node.children) {
|
|
80
|
+
const result = getLabelByValue(targetValue, node.children);
|
|
81
|
+
if (result) {
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}, [options]);
|
|
88
|
+
const removeItem = useCallback(value => {
|
|
89
|
+
let node = null;
|
|
90
|
+
function findNodeByValue(options, value) {
|
|
91
|
+
for (let i = 0; i < options.length; i++) {
|
|
92
|
+
if (options[i].value === value) {
|
|
93
|
+
node = options[i];
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
if (options[i].children) {
|
|
97
|
+
findNodeByValue(options[i].children, value);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
findNodeByValue(options, value);
|
|
102
|
+
if (node) {
|
|
103
|
+
const childValues = findChildValues(node);
|
|
104
|
+
const valuesToRemove = [value, ...childValues];
|
|
105
|
+
onChange(checkedProp.filter(value => !valuesToRemove.includes(value)));
|
|
106
|
+
}
|
|
107
|
+
}, [options, checkedProp]);
|
|
108
|
+
useUpdateEffect(() => {
|
|
109
|
+
if (isFunction(onParentChange)) {
|
|
110
|
+
onParentChange(checked);
|
|
111
|
+
}
|
|
112
|
+
}, [checked]);
|
|
113
|
+
return React__default.createElement(MultiLevelCheckboxSelect$1, _extends({
|
|
114
|
+
ref: forwardedRef
|
|
115
|
+
}, props), React__default.createElement(Popover, {
|
|
116
|
+
visible: open,
|
|
117
|
+
arrow: false,
|
|
118
|
+
placement: 'bottom',
|
|
119
|
+
offset: [0, 6],
|
|
120
|
+
modifiers: [{
|
|
121
|
+
name: 'sameWidth',
|
|
122
|
+
enabled: true,
|
|
123
|
+
phase: 'beforeWrite',
|
|
124
|
+
requires: ['computeStyles'],
|
|
125
|
+
fn: ({
|
|
126
|
+
state
|
|
127
|
+
}) => {
|
|
128
|
+
state.styles.popper.width = `${state.rects.reference.width}px`;
|
|
129
|
+
},
|
|
130
|
+
effect: ({
|
|
131
|
+
state
|
|
132
|
+
}) => {
|
|
133
|
+
state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;
|
|
134
|
+
}
|
|
135
|
+
}],
|
|
136
|
+
content: React__default.createElement(PopoverContainer, {
|
|
137
|
+
ref: popoverContentRef
|
|
138
|
+
}, React__default.createElement(PopoverHeader, null, React__default.createElement(SearchContainer, null, React__default.createElement(TextInput, {
|
|
139
|
+
ref: searchInputRef,
|
|
140
|
+
onBlur: e => {
|
|
141
|
+
if (open) {
|
|
142
|
+
e.target.focus();
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
icon: React__default.createElement(SvgSearch, null),
|
|
146
|
+
value: searchString,
|
|
147
|
+
onChange: e => setSearchString(e.target.value)
|
|
148
|
+
})), React__default.createElement(SectionSeparator, null)), React__default.createElement(OptionsContainer, null, React__default.createElement(MultiLevelCheckbox, {
|
|
149
|
+
options: options,
|
|
150
|
+
checked: checkedProp,
|
|
151
|
+
search: searchString,
|
|
152
|
+
noResultsText: noResultsText,
|
|
153
|
+
onChange: onChange
|
|
154
|
+
})))
|
|
155
|
+
}, React__default.createElement(MultiLevelCheckboxSelectInput, {
|
|
156
|
+
tabIndex: "0",
|
|
157
|
+
ref: inputRef
|
|
158
|
+
}, label && React__default.createElement(Label, null, label), checked.length === 0 && React__default.createElement(Placeholder, null, placeholder), checked.map(option => React__default.createElement(Item, {
|
|
159
|
+
key: option
|
|
160
|
+
}, React__default.createElement(ItemLabel, null, getLabelByValue(option)), React__default.createElement(ItemRemoveButton, {
|
|
161
|
+
onClick: () => {
|
|
162
|
+
removeItem(option);
|
|
163
|
+
}
|
|
164
|
+
}, React__default.createElement(SvgClose, null)))))));
|
|
165
|
+
});
|
|
166
|
+
MultiLevelCheckboxSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
167
|
+
label: PropTypes.string,
|
|
168
|
+
placeholder: PropTypes.string,
|
|
169
|
+
options: PropTypes.arrayOf(PropTypes.shape({
|
|
170
|
+
label: PropTypes.string.isRequired,
|
|
171
|
+
value: PropTypes.any.isRequired,
|
|
172
|
+
children: PropTypes.arrayOf(NodeType)
|
|
173
|
+
})).isRequired,
|
|
174
|
+
checked: PropTypes.array.isRequired,
|
|
175
|
+
noResultsText: PropTypes.string,
|
|
176
|
+
onChange: PropTypes.func.isRequired,
|
|
177
|
+
onParentChange: PropTypes.func
|
|
178
|
+
} : {};
|
|
179
|
+
MultiLevelCheckboxSelect.defaultProps = {
|
|
180
|
+
checked: []
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
export { MultiLevelCheckboxSelect as default };
|
|
184
|
+
//# sourceMappingURL=MultiLevelCheckboxSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiLevelCheckboxSelect.js","sources":["../../../src/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './MultiLevelCheckboxSelect.styled';\nimport { Popover } from '../../data';\nimport MultiLevelCheckbox from '../MultiLevelCheckbox';\nimport TextInput from '../TextInput';\nimport { SectionSeparator } from '../../layout';\nimport { ReactComponent as SearchIcon } from '../../../icons/search.svg';\nimport { ReactComponent as CloseIcon } from '../../../icons/close.svg';\nimport { findChildValues, NodeType } from '../MultiLevelCheckbox';\nimport { useEventListener } from '../../../hooks/useEventListner';\nimport { useOnClickOutside } from '../../../hooks/useOnClickOutside';\nimport useUpdateEffect from '@restart/hooks/useUpdateEffect';\nimport { isFunction } from 'lodash';\n\n/**\n * MultiLevelCheckboxSelect allow the user to select one or more items from a nested set into a MultiSelect-styled input.\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. On any selection or deselection onChange will be called with an updated `checked`-list.\n *\n * ### Import\n *\n * ```js\n * import { MultiLevelCheckboxSelect } from '@ntbjs/react-components/inputs'\n * // or\n * import MultiLevelCheckboxSelect from '@ntbjs/react-components/inputs/MultiLevelCheckboxSelect'\n * ```\n */\nconst MultiLevelCheckboxSelect = React.forwardRef(function MultiLevelCheckboxSelect(\n {\n label,\n options,\n checked: checkedProp,\n placeholder,\n noResultsText,\n onChange,\n onParentChange,\n ...props\n },\n forwardedRef\n) {\n const inputRef = useRef(null);\n const popoverContentRef = useRef(null);\n const searchInputRef = useRef(null);\n // const [internalChecked, setInternalChecked] = useState([]);\n const [searchString, setSearchString] = useState('');\n const [open, setOpen] = useState(false);\n\n const handleClickInside = useCallback(() => {\n setOpen(true);\n searchInputRef.current?.focus();\n }, []);\n\n const handleKeyDown = useCallback(\n event => {\n if (!open) return;\n if (event.key === 'Escape') {\n setOpen(false);\n }\n },\n [open]\n );\n\n useEventListener('focus', handleClickInside, inputRef);\n useEventListener('mousedown', handleClickInside, inputRef);\n useEventListener('keydown', handleKeyDown);\n\n const handleClickOutside = event => {\n if (\n popoverContentRef?.current === event.target ||\n popoverContentRef?.current?.contains(event.target)\n ) {\n return;\n }\n setOpen(false);\n };\n\n useOnClickOutside(inputRef, handleClickOutside);\n\n const checked = useMemo(() => {\n const checkedParents = [];\n\n function iterate(nodes) {\n nodes.forEach(node => {\n if (checkedProp.includes(node.value)) {\n return checkedParents.push(node.value);\n }\n\n if (node.children) {\n iterate(node.children);\n }\n });\n }\n\n iterate(options);\n return checkedParents.sort();\n }, [JSON.stringify(options), JSON.stringify(checkedProp)]);\n\n const getLabelByValue = useCallback(\n (targetValue, nodes = options) => {\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 [options]\n );\n\n const removeItem = useCallback(\n value => {\n let node = null;\n\n function findNodeByValue(options, value) {\n for (let i = 0; i < options.length; i++) {\n if (options[i].value === value) {\n node = options[i];\n break; // This will exit the loop when the condition is met\n }\n\n if (options[i].children) {\n findNodeByValue(options[i].children, value);\n }\n }\n }\n\n findNodeByValue(options, value);\n\n if (node) {\n const childValues = findChildValues(node);\n const valuesToRemove = [value, ...childValues];\n onChange(checkedProp.filter(value => !valuesToRemove.includes(value)));\n }\n },\n [options, checkedProp]\n );\n\n useUpdateEffect(() => {\n if (isFunction(onParentChange)) {\n onParentChange(checked);\n }\n }, [checked]);\n\n return (\n <S.MultiLevelCheckboxSelect ref={forwardedRef} {...props}>\n <Popover\n visible={open}\n arrow={false}\n placement={'bottom'}\n offset={[0, 6]}\n modifiers={[\n {\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }\n }\n ]}\n content={\n <S.PopoverContainer ref={popoverContentRef}>\n <S.PopoverHeader>\n <S.SearchContainer>\n <TextInput\n ref={searchInputRef}\n onBlur={e => {\n if (open) {\n e.target.focus();\n }\n }}\n icon={<SearchIcon />}\n value={searchString}\n onChange={e => setSearchString(e.target.value)}\n />\n </S.SearchContainer>\n <SectionSeparator />\n </S.PopoverHeader>\n <S.OptionsContainer>\n <MultiLevelCheckbox\n options={options}\n checked={checkedProp}\n search={searchString}\n noResultsText={noResultsText}\n onChange={onChange}\n />\n </S.OptionsContainer>\n </S.PopoverContainer>\n }\n >\n <S.MultiLevelCheckboxSelectInput tabIndex=\"0\" ref={inputRef}>\n {label && <S.Label>{label}</S.Label>}\n {checked.length === 0 && <S.Placeholder>{placeholder}</S.Placeholder>}\n {checked.map(option => (\n <S.Item key={option}>\n <S.ItemLabel>{getLabelByValue(option)}</S.ItemLabel>\n <S.ItemRemoveButton\n onClick={() => {\n removeItem(option);\n }}\n >\n <CloseIcon />\n </S.ItemRemoveButton>\n </S.Item>\n ))}\n </S.MultiLevelCheckboxSelectInput>\n </Popover>\n </S.MultiLevelCheckboxSelect>\n );\n});\n\nMultiLevelCheckboxSelect.propTypes = {\n /**\n * Label text for the MultiLevelCheckbox\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. \"Select categories...\"\n */\n placeholder: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(NodeType)\n })\n ).isRequired,\n\n /**\n * Array of checked option values\n */\n checked: PropTypes.array.isRequired,\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 /**\n * Callback function for the `onChange` event – returns only the checked parents\n */\n onParentChange: PropTypes.func\n};\n\nMultiLevelCheckboxSelect.defaultProps = {\n checked: []\n};\n\nexport default MultiLevelCheckboxSelect;\n"],"names":["MultiLevelCheckboxSelect","React","forwardRef","label","options","checked","checkedProp","placeholder","noResultsText","onChange","onParentChange","props","forwardedRef","inputRef","useRef","popoverContentRef","searchInputRef","searchString","setSearchString","useState","open","setOpen","handleClickInside","useCallback","current","focus","handleKeyDown","event","key","useEventListener","handleClickOutside","target","contains","useOnClickOutside","useMemo","checkedParents","iterate","nodes","forEach","node","includes","value","push","children","sort","JSON","stringify","getLabelByValue","targetValue","result","removeItem","findNodeByValue","i","length","childValues","findChildValues","valuesToRemove","filter","useUpdateEffect","isFunction","createElement","S","_extends","ref","Popover","visible","arrow","placement","offset","modifiers","name","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","style","offsetWidth","content","TextInput","onBlur","e","icon","SearchIcon","SectionSeparator","MultiLevelCheckbox","search","tabIndex","map","option","onClick","CloseIcon","propTypes","process","env","NODE_ENV","PropTypes","string","arrayOf","shape","isRequired","any","NodeType","array","func","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import { applyDefaultTheme } from '../../utils/defaultTheme.js';
|
|
3
|
+
|
|
4
|
+
const MultiLevelCheckboxSelect = styled.div.attrs(applyDefaultTheme)`
|
|
5
|
+
font-family: ${props => props.theme.primaryFontFamily};
|
|
6
|
+
`;
|
|
7
|
+
const MultiLevelCheckboxSelectInput = styled.div.attrs(applyDefaultTheme)`
|
|
8
|
+
position: relative;
|
|
9
|
+
border: 1px solid;
|
|
10
|
+
${props => props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'))}
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
gap: 4px;
|
|
14
|
+
min-height: 44px;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
padding: 8px 6px;
|
|
17
|
+
border-radius: 3px;
|
|
18
|
+
transition: border-color 350ms;
|
|
19
|
+
|
|
20
|
+
&:focus-within {
|
|
21
|
+
${props => props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'), 1)}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
const Item = styled.div.attrs(applyDefaultTheme)`
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
background: #272727;
|
|
28
|
+
color: #f7f8f9;
|
|
29
|
+
font-size: 12px;
|
|
30
|
+
height: 26px;
|
|
31
|
+
border-radius: 3px;
|
|
32
|
+
`;
|
|
33
|
+
const ItemLabel = styled.div.attrs(applyDefaultTheme)`
|
|
34
|
+
padding: 0 5px 0 8px;
|
|
35
|
+
`;
|
|
36
|
+
const ItemRemoveButton = styled.button.attrs(applyDefaultTheme)`
|
|
37
|
+
color: inherit;
|
|
38
|
+
border: none;
|
|
39
|
+
background: none;
|
|
40
|
+
-webkit-appearance: none;
|
|
41
|
+
height: 100%;
|
|
42
|
+
border-top-right-radius: 3px;
|
|
43
|
+
border-bottom-right-radius: 3px;
|
|
44
|
+
padding: 0 7px;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
|
|
47
|
+
&:hover {
|
|
48
|
+
background: ${props => props.theme.getColor('red-500')};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
& > svg {
|
|
52
|
+
width: 8px;
|
|
53
|
+
display: block;
|
|
54
|
+
}
|
|
55
|
+
`;
|
|
56
|
+
const Label = styled.div.attrs(applyDefaultTheme)`
|
|
57
|
+
position: absolute;
|
|
58
|
+
top: -8px;
|
|
59
|
+
left: 7px;
|
|
60
|
+
line-height: 1.2;
|
|
61
|
+
font-size: 0.75rem;
|
|
62
|
+
font-weight: 400;
|
|
63
|
+
padding: 0 3px;
|
|
64
|
+
//padding: 0 0 4px;
|
|
65
|
+
letter-spacing: 0.03em;
|
|
66
|
+
${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'))}
|
|
67
|
+
${props => props.theme.themeProp('background', `linear-gradient(0deg, ${props.theme.getColor('gray-900')} calc(50% + 1px), transparent 50%)`, `linear-gradient(0deg, ${props.theme.getColor('white')} calc(50% + 1px), transparent 50%)`)}
|
|
68
|
+
`;
|
|
69
|
+
const Placeholder = styled.div.attrs(applyDefaultTheme)`
|
|
70
|
+
font-size: 0.875rem;
|
|
71
|
+
line-height: 26px;
|
|
72
|
+
padding-left: 4px;
|
|
73
|
+
opacity: 0.4;
|
|
74
|
+
`;
|
|
75
|
+
const PopoverContainer = styled.div.attrs(applyDefaultTheme)`
|
|
76
|
+
max-height: inherit;
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
`;
|
|
80
|
+
const PopoverHeader = styled.div.attrs(applyDefaultTheme)`
|
|
81
|
+
${props => props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'))}
|
|
82
|
+
`;
|
|
83
|
+
const SearchContainer = styled.div.attrs(applyDefaultTheme)`
|
|
84
|
+
padding: 12px 8px;
|
|
85
|
+
`;
|
|
86
|
+
const OptionsContainer = styled.div.attrs(applyDefaultTheme)`
|
|
87
|
+
padding: 12px 8px;
|
|
88
|
+
overflow: auto;
|
|
89
|
+
box-sizing: border-box;
|
|
90
|
+
`;
|
|
91
|
+
|
|
92
|
+
export { Item, ItemLabel, ItemRemoveButton, Label, MultiLevelCheckboxSelect, MultiLevelCheckboxSelectInput, OptionsContainer, Placeholder, PopoverContainer, PopoverHeader, SearchContainer };
|
|
93
|
+
//# sourceMappingURL=MultiLevelCheckboxSelect.styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiLevelCheckboxSelect.styled.js","sources":["../../../src/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js"],"sourcesContent":["import styled from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nexport const MultiLevelCheckboxSelect = styled.div.attrs(applyDefaultTheme)`\n font-family: ${props => props.theme.primaryFontFamily};\n`;\nexport const MultiLevelCheckboxSelectInput = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n border: 1px solid;\n ${props =>\n props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-500'),\n props.theme.getColor('gray-400')\n )}\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n min-height: 44px;\n box-sizing: border-box;\n padding: 8px 6px;\n border-radius: 3px;\n transition: border-color 350ms;\n\n &:focus-within {\n ${props =>\n props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-500'),\n props.theme.getColor('gray-600'),\n 1\n )}\n }\n`;\nexport const Item = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n background: #272727;\n color: #f7f8f9;\n font-size: 12px;\n height: 26px;\n border-radius: 3px;\n`;\n\nexport const ItemLabel = styled.div.attrs(applyDefaultTheme)`\n padding: 0 5px 0 8px;\n`;\nexport const ItemRemoveButton = styled.button.attrs(applyDefaultTheme)`\n color: inherit;\n border: none;\n background: none;\n -webkit-appearance: none;\n height: 100%;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n padding: 0 7px;\n cursor: pointer;\n\n &:hover {\n background: ${props => props.theme.getColor('red-500')};\n }\n\n & > svg {\n width: 8px;\n display: block;\n }\n`;\n\nexport const Label = styled.div.attrs(applyDefaultTheme)`\n position: absolute;\n top: -8px;\n left: 7px;\n line-height: 1.2;\n font-size: 0.75rem;\n font-weight: 400;\n padding: 0 3px;\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 ${props =>\n props.theme.themeProp(\n 'background',\n `linear-gradient(0deg, ${props.theme.getColor('gray-900')} calc(50% + 1px), transparent 50%)`,\n `linear-gradient(0deg, ${props.theme.getColor('white')} calc(50% + 1px), transparent 50%)`\n )}\n`;\n\nexport const Placeholder = styled.div.attrs(applyDefaultTheme)`\n font-size: 0.875rem;\n line-height: 26px;\n padding-left: 4px;\n opacity: 0.4;\n`;\n\nexport const PopoverContainer = styled.div.attrs(applyDefaultTheme)`\n max-height: inherit;\n display: flex;\n flex-direction: column;\n`;\n\nexport const PopoverHeader = styled.div.attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('white')\n )}\n`;\nexport const SearchContainer = styled.div.attrs(applyDefaultTheme)`\n padding: 12px 8px;\n`;\n\nexport const OptionsContainer = styled.div.attrs(applyDefaultTheme)`\n padding: 12px 8px;\n overflow: auto;\n box-sizing: border-box;\n`;\n"],"names":["MultiLevelCheckboxSelect","styled","div","attrs","applyDefaultTheme","props","theme","primaryFontFamily","MultiLevelCheckboxSelectInput","themeProp","getColor","Item","ItemLabel","ItemRemoveButton","button","Label","Placeholder","PopoverContainer","PopoverHeader","SearchContainer","OptionsContainer"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,227 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React__default, { useState, useEffect, useMemo } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
4
|
import { nanoid } from 'nanoid';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import Select, { components } from 'react-select';
|
|
8
|
-
import CreatableSelect from 'react-select/creatable';
|
|
9
|
-
import { withAsyncPaginate, AsyncPaginate } from 'react-select-async-paginate';
|
|
10
|
-
|
|
11
|
-
const AsyncCreatableSelectPaginate = withAsyncPaginate(CreatableSelect);
|
|
12
|
-
const showMoreHeight = 114;
|
|
13
|
-
const sharedStyle = css`
|
|
14
|
-
font-family: ${props => props.theme.primaryFontFamily};
|
|
15
|
-
font-size: 12px;
|
|
16
|
-
font-weight: 400;
|
|
17
|
-
position: relative;
|
|
18
|
-
`;
|
|
19
|
-
const Label = styled.label.attrs(applyDefaultTheme)`
|
|
20
|
-
${props => props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))};
|
|
21
|
-
flex-basis: 33.33%;
|
|
22
|
-
font-size: 0.875rem;
|
|
23
|
-
line-height: 1rem;
|
|
24
|
-
cursor: pointer;
|
|
25
|
-
height: 19px;
|
|
26
|
-
display: flex;
|
|
27
|
-
align-items: center;
|
|
28
|
-
`;
|
|
29
|
-
const MultiSelect$1 = styled(Select).attrs(applyDefaultTheme)`
|
|
30
|
-
${sharedStyle}
|
|
31
|
-
`;
|
|
32
|
-
const CreatableMultiSelect = styled(CreatableSelect).attrs(applyDefaultTheme)`
|
|
33
|
-
${sharedStyle}
|
|
34
|
-
`;
|
|
35
|
-
const AsyncCreatableMultiSelect = styled(AsyncCreatableSelectPaginate).attrs(applyDefaultTheme)`
|
|
36
|
-
${sharedStyle}
|
|
37
|
-
`;
|
|
38
|
-
const AsyncMultiSelect = styled(AsyncPaginate).attrs(applyDefaultTheme)`
|
|
39
|
-
${sharedStyle}
|
|
40
|
-
`;
|
|
41
|
-
const MultiSelectWrapper = styled.div.attrs(applyDefaultTheme)`
|
|
42
|
-
position: relative;
|
|
43
|
-
`;
|
|
44
|
-
const Control = styled(components.Control).attrs(applyDefaultTheme)`
|
|
45
|
-
&& {
|
|
46
|
-
align-items: flex-start;
|
|
47
|
-
background: transparent;
|
|
48
|
-
border: none;
|
|
49
|
-
box-shadow: none;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
:hover {
|
|
53
|
-
cursor: ${props => !props.isDisabled && props.focused || props.readOnly ? 'default' : 'pointer'};
|
|
54
|
-
}
|
|
55
|
-
`;
|
|
56
|
-
const ValueContainer = styled(components.ValueContainer)`
|
|
57
|
-
&& {
|
|
58
|
-
align-items: flex-start;
|
|
59
|
-
gap: 8px;
|
|
60
|
-
padding: 0;
|
|
61
|
-
|
|
62
|
-
max-height: ${props => {
|
|
63
|
-
return props.showMore ? props.error || props.warning ? '100%' : showMoreHeight + 16 + 'px' : '100%';
|
|
64
|
-
}} !important;
|
|
65
|
-
|
|
66
|
-
${props => (props.error || props.warning) && css`
|
|
67
|
-
border: 1px solid;
|
|
68
|
-
border-radius: 3px;
|
|
69
|
-
padding: 4px;
|
|
70
|
-
|
|
71
|
-
border-color: ${props => props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit'};
|
|
72
|
-
`}
|
|
73
|
-
}
|
|
74
|
-
`;
|
|
75
|
-
const MultiValueWrapper = styled.div.attrs(applyDefaultTheme)`
|
|
76
|
-
&& {
|
|
77
|
-
border-radius: 3px;
|
|
78
|
-
margin: 0;
|
|
79
|
-
}
|
|
80
|
-
`;
|
|
81
|
-
const MultiValue = styled(components.MultiValue).attrs(applyDefaultTheme)`
|
|
82
|
-
&& {
|
|
83
|
-
border-radius: 3px;
|
|
84
|
-
margin: 0;
|
|
85
|
-
|
|
86
|
-
${props => props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('gray-800'))}
|
|
87
|
-
|
|
88
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-100'))}
|
|
89
|
-
|
|
90
|
-
> div {
|
|
91
|
-
align-items: center;
|
|
92
|
-
display: flex;
|
|
93
|
-
font-size: 12px;
|
|
94
|
-
min-height: 26px;
|
|
95
|
-
|
|
96
|
-
:first-of-type {
|
|
97
|
-
padding: ${props => props.isDisabled || props.readOnly ? '0 8px' : '0 3px 0 8px'};
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
:last-of-type:not(:only-child) {
|
|
101
|
-
padding: 0 8px 0 5px;
|
|
102
|
-
height: 100%;
|
|
103
|
-
width: fit-content;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
:last-of-type:not(:only-child):hover {
|
|
107
|
-
background-color: ${props => props.theme.getColor('red-500')};
|
|
108
|
-
border-bottom-left-radius: 0;
|
|
109
|
-
border-top-left-radius: 0;
|
|
110
|
-
cursor: pointer;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
svg {
|
|
114
|
-
stroke: white;
|
|
115
|
-
stroke-width: 2px;
|
|
116
|
-
width: 8px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
:hover {
|
|
120
|
-
cursor: pointer;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
`;
|
|
124
|
-
const MultiValueRemove$1 = styled(components.MultiValueRemove).attrs(applyDefaultTheme)``;
|
|
125
|
-
const Input = styled(components.Input).attrs(applyDefaultTheme)`
|
|
126
|
-
align-self: center;
|
|
127
|
-
font-size: ${props => props.$focused ? '14px' : '12px'};
|
|
128
|
-
min-width: 150px;
|
|
129
|
-
|
|
130
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
131
|
-
|
|
132
|
-
${props => !props.$focused && css`
|
|
133
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'))}
|
|
134
|
-
|
|
135
|
-
:before {
|
|
136
|
-
height: 100%;
|
|
137
|
-
white-space: nowrap;
|
|
138
|
-
width: fit-content;
|
|
139
|
-
content: '${props => props.edittext}';
|
|
140
|
-
}
|
|
141
|
-
`}
|
|
142
|
-
}
|
|
143
|
-
`;
|
|
144
|
-
const DropdownMenu = styled(components.Menu).attrs(applyDefaultTheme)`
|
|
145
|
-
font-size: 14px;
|
|
146
|
-
|
|
147
|
-
${props => props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('white'))}
|
|
148
|
-
|
|
149
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
150
|
-
`;
|
|
151
|
-
const sharedOptionStyle = css`
|
|
152
|
-
${props => props.isFocused && css`
|
|
153
|
-
${props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200'))}
|
|
154
|
-
`}
|
|
155
|
-
|
|
156
|
-
${props => props.isSelected && css`
|
|
157
|
-
${props.theme.themeProp('background-color', 'transparent', 'transparent')}
|
|
158
|
-
|
|
159
|
-
${props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
160
|
-
`}
|
|
161
|
-
|
|
162
|
-
${props => props.isFocused && props.isSelected && css`
|
|
163
|
-
${props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200'))}
|
|
164
|
-
`}
|
|
165
|
-
|
|
166
|
-
:hover {
|
|
167
|
-
cursor: pointer;
|
|
168
|
-
}
|
|
169
|
-
`;
|
|
170
|
-
const Option$1 = styled(components.Option).attrs(applyDefaultTheme)`
|
|
171
|
-
${sharedOptionStyle}
|
|
172
|
-
`;
|
|
173
|
-
const SelectedOption$1 = styled(components.Option).attrs(applyDefaultTheme)`
|
|
174
|
-
${sharedOptionStyle}
|
|
175
|
-
|
|
176
|
-
display: flex !important;
|
|
177
|
-
justify-content: space-between;
|
|
178
|
-
`;
|
|
179
|
-
const DropdownOptionDeleteIcon = styled(SvgClose).attrs(applyDefaultTheme)`
|
|
180
|
-
stroke-width: 1px;
|
|
181
|
-
width: 8px;
|
|
182
|
-
|
|
183
|
-
${props => props.theme.themeProp('stroke', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
184
|
-
`;
|
|
185
|
-
const ShowMoreWrapper = styled.div.attrs(applyDefaultTheme)`
|
|
186
|
-
align-items: end;
|
|
187
|
-
display: flex;
|
|
188
|
-
flex-direction: column;
|
|
189
|
-
height: 100%;
|
|
190
|
-
left: 0;
|
|
191
|
-
position: absolute;
|
|
192
|
-
max-height: ${showMoreHeight + 16}px;
|
|
193
|
-
top: 0;
|
|
194
|
-
width: 100%;
|
|
195
|
-
|
|
196
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('emerald-500'))}
|
|
197
|
-
|
|
198
|
-
:hover {
|
|
199
|
-
cursor: pointer;
|
|
200
|
-
text-decoration: underline;
|
|
201
|
-
}
|
|
202
|
-
`;
|
|
203
|
-
const ShowMoreOverlay = styled.div.attrs(applyDefaultTheme)`
|
|
204
|
-
align-items: end;
|
|
205
|
-
display: block;
|
|
206
|
-
height: 100%;
|
|
207
|
-
max-height: ${showMoreHeight}px;
|
|
208
|
-
left: 0;
|
|
209
|
-
top: 0;
|
|
210
|
-
width: 100%;
|
|
211
|
-
|
|
212
|
-
${props => props.theme.themeProp('background', 'transparent linear-gradient(180deg, #12121200 0%, #12121230 40%, #12121279 70%, #121212 95%, #121212 100%) 0% 0% no-repeat padding-box', 'transparent linear-gradient(180deg, #fefefe00 0%, #fefefe30 40%, #fefefe79 70%, #fefefe 95%, #fefefe 100%) 0% 0% no-repeat padding-box')}
|
|
213
|
-
`;
|
|
214
|
-
const ShowMoreText = styled.div.attrs(applyDefaultTheme)`
|
|
215
|
-
font-size: 0.875rem;
|
|
216
|
-
width: 100%;
|
|
217
|
-
${props => props.theme.themeProp('background-color', '#121212', '#fefefe')}
|
|
218
|
-
`;
|
|
219
|
-
const ErrorMessage = styled.div.attrs(applyDefaultTheme)`
|
|
220
|
-
color: ${props => props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit'};
|
|
221
|
-
font-size: 0.75rem;
|
|
222
|
-
margin-top: 8px;
|
|
223
|
-
padding: 0 12px;
|
|
224
|
-
`;
|
|
5
|
+
import { MultiSelectWrapper, AsyncCreatableMultiSelect, AsyncMultiSelect, CreatableMultiSelect, MultiSelect as MultiSelect$1, ShowMoreWrapper, ShowMoreOverlay, ShowMoreText, ErrorMessage, MultiValueRemove as MultiValueRemove$1, DropdownMenu, Option as Option$1, SelectedOption as SelectedOption$1, DropdownOptionDeleteIcon, Control, Label, ValueContainer, MultiValueWrapper, MultiValue, Input } from './MultiSelect.styled.js';
|
|
6
|
+
import { ReactComponent as SvgClose } from '../../icons/close.svg.js';
|
|
225
7
|
|
|
226
8
|
const MultiSelect = React__default.forwardRef(function MultiSelect({
|
|
227
9
|
label,
|
|
@@ -458,4 +240,5 @@ const SelectedOption = innerProps => {
|
|
|
458
240
|
return React__default.createElement(SelectedOption$1, innerProps, innerProps.label, React__default.createElement(DropdownOptionDeleteIcon, null));
|
|
459
241
|
};
|
|
460
242
|
|
|
461
|
-
export { MultiSelect as
|
|
243
|
+
export { MultiSelect as default };
|
|
244
|
+
//# sourceMappingURL=MultiSelect.js.map
|