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