@j2-health/design-system 0.2.0 → 0.2.1
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/dist/index.cjs +96 -3614
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +48 -3551
- package/dist/index.js.map +1 -1
- package/dist/src/AppConfigProvider.cjs +13 -0
- package/dist/src/AppConfigProvider.cjs.map +1 -0
- package/dist/src/AppConfigProvider.js +13 -0
- package/dist/src/AppConfigProvider.js.map +1 -0
- package/dist/src/appTheme.cjs +268 -0
- package/dist/src/appTheme.cjs.map +1 -0
- package/dist/src/appTheme.js +268 -0
- package/dist/src/appTheme.js.map +1 -0
- package/dist/src/components/alert/Alert.cjs +95 -0
- package/dist/src/components/alert/Alert.cjs.map +1 -0
- package/dist/src/components/alert/Alert.js +78 -0
- package/dist/src/components/alert/Alert.js.map +1 -0
- package/dist/src/components/alert/Alert.module.css.cjs +9 -0
- package/dist/src/components/alert/Alert.module.css.cjs.map +1 -0
- package/dist/src/components/alert/Alert.module.css.js +9 -0
- package/dist/src/components/alert/Alert.module.css.js.map +1 -0
- package/dist/src/components/barchart/BarChart.cjs +148 -0
- package/dist/src/components/barchart/BarChart.cjs.map +1 -0
- package/dist/src/components/barchart/BarChart.js +148 -0
- package/dist/src/components/barchart/BarChart.js.map +1 -0
- package/dist/src/components/barchart/chart.module.css.cjs +9 -0
- package/dist/src/components/barchart/chart.module.css.cjs.map +1 -0
- package/dist/src/components/barchart/chart.module.css.js +9 -0
- package/dist/src/components/barchart/chart.module.css.js.map +1 -0
- package/dist/src/components/breadcrumb/Breadcrumb.cjs +38 -0
- package/dist/src/components/breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/src/components/breadcrumb/Breadcrumb.js +21 -0
- package/dist/src/components/breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/src/components/bulkActionBar/BulkActionBar.cjs +81 -0
- package/dist/src/components/bulkActionBar/BulkActionBar.cjs.map +1 -0
- package/dist/src/components/bulkActionBar/BulkActionBar.js +81 -0
- package/dist/src/components/bulkActionBar/BulkActionBar.js.map +1 -0
- package/dist/src/components/button/Button.cjs +21 -0
- package/dist/src/components/button/Button.cjs.map +1 -0
- package/dist/src/components/button/Button.js +21 -0
- package/dist/src/components/button/Button.js.map +1 -0
- package/dist/src/components/card/Card.cjs +36 -0
- package/dist/src/components/card/Card.cjs.map +1 -0
- package/dist/src/components/card/Card.js +36 -0
- package/dist/src/components/card/Card.js.map +1 -0
- package/dist/src/components/checkbox/Checkbox.cjs +10 -0
- package/dist/src/components/checkbox/Checkbox.cjs.map +1 -0
- package/dist/src/components/checkbox/Checkbox.js +10 -0
- package/dist/src/components/checkbox/Checkbox.js.map +1 -0
- package/dist/src/components/checkboxTree/CheckboxTree.cjs +140 -0
- package/dist/src/components/checkboxTree/CheckboxTree.cjs.map +1 -0
- package/dist/src/components/checkboxTree/CheckboxTree.js +140 -0
- package/dist/src/components/checkboxTree/CheckboxTree.js.map +1 -0
- package/dist/src/components/checkboxTree/TreeNode.cjs +92 -0
- package/dist/src/components/checkboxTree/TreeNode.cjs.map +1 -0
- package/dist/src/components/checkboxTree/TreeNode.js +92 -0
- package/dist/src/components/checkboxTree/TreeNode.js.map +1 -0
- package/dist/src/components/checkboxTree/utils.cjs +59 -0
- package/dist/src/components/checkboxTree/utils.cjs.map +1 -0
- package/dist/src/components/checkboxTree/utils.js +59 -0
- package/dist/src/components/checkboxTree/utils.js.map +1 -0
- package/dist/src/components/collapse/Collapse.cjs +81 -0
- package/dist/src/components/collapse/Collapse.cjs.map +1 -0
- package/dist/src/components/collapse/Collapse.js +64 -0
- package/dist/src/components/collapse/Collapse.js.map +1 -0
- package/dist/src/components/collapse/Collapse.module.css.cjs +13 -0
- package/dist/src/components/collapse/Collapse.module.css.cjs.map +1 -0
- package/dist/src/components/collapse/Collapse.module.css.js +13 -0
- package/dist/src/components/collapse/Collapse.module.css.js.map +1 -0
- package/dist/src/components/drawer/Drawer.cjs +39 -0
- package/dist/src/components/drawer/Drawer.cjs.map +1 -0
- package/dist/src/components/drawer/Drawer.js +39 -0
- package/dist/src/components/drawer/Drawer.js.map +1 -0
- package/dist/src/components/dropdown/Dropdown.cjs +58 -0
- package/dist/src/components/dropdown/Dropdown.cjs.map +1 -0
- package/dist/src/components/dropdown/Dropdown.js +58 -0
- package/dist/src/components/dropdown/Dropdown.js.map +1 -0
- package/dist/src/components/filterform/FilterGroup.cjs +64 -0
- package/dist/src/components/filterform/FilterGroup.cjs.map +1 -0
- package/dist/src/components/filterform/FilterGroup.js +64 -0
- package/dist/src/components/filterform/FilterGroup.js.map +1 -0
- package/dist/src/components/filterform/FilterInput.cjs +175 -0
- package/dist/src/components/filterform/FilterInput.cjs.map +1 -0
- package/dist/src/components/filterform/FilterInput.js +158 -0
- package/dist/src/components/filterform/FilterInput.js.map +1 -0
- package/dist/src/components/filterform/FiltersForm.cjs +168 -0
- package/dist/src/components/filterform/FiltersForm.cjs.map +1 -0
- package/dist/src/components/filterform/FiltersForm.js +168 -0
- package/dist/src/components/filterform/FiltersForm.js.map +1 -0
- package/dist/src/components/filterform/FiltersForm.module.css.cjs +21 -0
- package/dist/src/components/filterform/FiltersForm.module.css.cjs.map +1 -0
- package/dist/src/components/filterform/FiltersForm.module.css.js +21 -0
- package/dist/src/components/filterform/FiltersForm.module.css.js.map +1 -0
- package/dist/src/components/filterform/filterHelpers.cjs +48 -0
- package/dist/src/components/filterform/filterHelpers.cjs.map +1 -0
- package/dist/src/components/filterform/filterHelpers.js +48 -0
- package/dist/src/components/filterform/filterHelpers.js.map +1 -0
- package/dist/src/components/filterform/useFilterField.cjs +210 -0
- package/dist/src/components/filterform/useFilterField.cjs.map +1 -0
- package/dist/src/components/filterform/useFilterField.js +193 -0
- package/dist/src/components/filterform/useFilterField.js.map +1 -0
- package/dist/src/components/filterform/useFiltersForm.cjs +160 -0
- package/dist/src/components/filterform/useFiltersForm.cjs.map +1 -0
- package/dist/src/components/filterform/useFiltersForm.js +160 -0
- package/dist/src/components/filterform/useFiltersForm.js.map +1 -0
- package/dist/src/components/form/Form.cjs +11 -0
- package/dist/src/components/form/Form.cjs.map +1 -0
- package/dist/src/components/form/Form.js +11 -0
- package/dist/src/components/form/Form.js.map +1 -0
- package/dist/src/components/icons/index.cjs +27 -0
- package/dist/src/components/icons/index.cjs.map +1 -0
- package/dist/src/components/icons/index.js +3 -0
- package/dist/src/components/icons/index.js.map +1 -0
- package/dist/src/components/input/AntdInput.cjs +13 -0
- package/dist/src/components/input/AntdInput.cjs.map +1 -0
- package/dist/src/components/input/AntdInput.js +13 -0
- package/dist/src/components/input/AntdInput.js.map +1 -0
- package/dist/src/components/input/AntdSearchInput.cjs +13 -0
- package/dist/src/components/input/AntdSearchInput.cjs.map +1 -0
- package/dist/src/components/input/AntdSearchInput.js +13 -0
- package/dist/src/components/input/AntdSearchInput.js.map +1 -0
- package/dist/src/components/input/Input.cjs +9 -0
- package/dist/src/components/input/Input.cjs.map +1 -0
- package/dist/src/components/input/Input.js +9 -0
- package/dist/src/components/input/Input.js.map +1 -0
- package/dist/src/components/inputnumber/InputNumber.cjs +32 -0
- package/dist/src/components/inputnumber/InputNumber.cjs.map +1 -0
- package/dist/src/components/inputnumber/InputNumber.js +32 -0
- package/dist/src/components/inputnumber/InputNumber.js.map +1 -0
- package/dist/src/components/inputnumber/InputNumber.module.css.cjs +9 -0
- package/dist/src/components/inputnumber/InputNumber.module.css.cjs.map +1 -0
- package/dist/src/components/inputnumber/InputNumber.module.css.js +9 -0
- package/dist/src/components/inputnumber/InputNumber.module.css.js.map +1 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.cjs +52 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.cjs.map +1 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.js +52 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.js.map +1 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.cjs +48 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.cjs.map +1 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.js +48 -0
- package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.js.map +1 -0
- package/dist/src/components/legacyNavMenu/UserProfile.cjs +78 -0
- package/dist/src/components/legacyNavMenu/UserProfile.cjs.map +1 -0
- package/dist/src/components/legacyNavMenu/UserProfile.js +78 -0
- package/dist/src/components/legacyNavMenu/UserProfile.js.map +1 -0
- package/dist/src/components/legacyNavMenu/UserProfile.module.css.cjs +42 -0
- package/dist/src/components/legacyNavMenu/UserProfile.module.css.cjs.map +1 -0
- package/dist/src/components/legacyNavMenu/UserProfile.module.css.js +42 -0
- package/dist/src/components/legacyNavMenu/UserProfile.module.css.js.map +1 -0
- package/dist/src/components/listpopover/ListPopover.cjs +125 -0
- package/dist/src/components/listpopover/ListPopover.cjs.map +1 -0
- package/dist/src/components/listpopover/ListPopover.js +125 -0
- package/dist/src/components/listpopover/ListPopover.js.map +1 -0
- package/dist/src/components/listpopover/ListPopover.module.css.cjs +9 -0
- package/dist/src/components/listpopover/ListPopover.module.css.cjs.map +1 -0
- package/dist/src/components/listpopover/ListPopover.module.css.js +9 -0
- package/dist/src/components/listpopover/ListPopover.module.css.js.map +1 -0
- package/dist/src/components/menu/Menu.cjs +18 -0
- package/dist/src/components/menu/Menu.cjs.map +1 -0
- package/dist/src/components/menu/Menu.js +18 -0
- package/dist/src/components/menu/Menu.js.map +1 -0
- package/dist/src/components/menu/Menu.module.css.cjs +12 -0
- package/dist/src/components/menu/Menu.module.css.cjs.map +1 -0
- package/dist/src/components/menu/Menu.module.css.js +12 -0
- package/dist/src/components/menu/Menu.module.css.js.map +1 -0
- package/dist/src/components/message/Message.module.css.cjs +9 -0
- package/dist/src/components/message/Message.module.css.cjs.map +1 -0
- package/dist/src/components/message/Message.module.css.js +9 -0
- package/dist/src/components/message/Message.module.css.js.map +1 -0
- package/dist/src/components/message/useMessage.cjs +55 -0
- package/dist/src/components/message/useMessage.cjs.map +1 -0
- package/dist/src/components/message/useMessage.js +55 -0
- package/dist/src/components/message/useMessage.js.map +1 -0
- package/dist/src/components/modal/Modal.cjs +32 -0
- package/dist/src/components/modal/Modal.cjs.map +1 -0
- package/dist/src/components/modal/Modal.js +32 -0
- package/dist/src/components/modal/Modal.js.map +1 -0
- package/dist/src/components/navMenu/NavMenu.cjs +132 -0
- package/dist/src/components/navMenu/NavMenu.cjs.map +1 -0
- package/dist/src/components/navMenu/NavMenu.js +115 -0
- package/dist/src/components/navMenu/NavMenu.js.map +1 -0
- package/dist/src/components/navMenu/NavMenu.module.css.cjs +18 -0
- package/dist/src/components/navMenu/NavMenu.module.css.cjs.map +1 -0
- package/dist/src/components/navMenu/NavMenu.module.css.js +18 -0
- package/dist/src/components/navMenu/NavMenu.module.css.js.map +1 -0
- package/dist/src/components/notification/Notification.module.css.cjs +9 -0
- package/dist/src/components/notification/Notification.module.css.cjs.map +1 -0
- package/dist/src/components/notification/Notification.module.css.js +9 -0
- package/dist/src/components/notification/Notification.module.css.js.map +1 -0
- package/dist/src/components/notification/useNotification.cjs +52 -0
- package/dist/src/components/notification/useNotification.cjs.map +1 -0
- package/dist/src/components/notification/useNotification.js +52 -0
- package/dist/src/components/notification/useNotification.js.map +1 -0
- package/dist/src/components/notificationModal/NotifcationModal.module.css.cjs +21 -0
- package/dist/src/components/notificationModal/NotifcationModal.module.css.cjs.map +1 -0
- package/dist/src/components/notificationModal/NotifcationModal.module.css.js +21 -0
- package/dist/src/components/notificationModal/NotifcationModal.module.css.js.map +1 -0
- package/dist/src/components/notificationModal/NotificationModal.cjs +57 -0
- package/dist/src/components/notificationModal/NotificationModal.cjs.map +1 -0
- package/dist/src/components/notificationModal/NotificationModal.js +57 -0
- package/dist/src/components/notificationModal/NotificationModal.js.map +1 -0
- package/dist/src/components/pagination/Pagination.cjs +65 -0
- package/dist/src/components/pagination/Pagination.cjs.map +1 -0
- package/dist/src/components/pagination/Pagination.js +65 -0
- package/dist/src/components/pagination/Pagination.js.map +1 -0
- package/dist/src/components/pagination/Pagination.module.css.cjs +6 -0
- package/dist/src/components/pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/src/components/pagination/Pagination.module.css.js +7 -0
- package/dist/src/components/pagination/Pagination.module.css.js.map +1 -0
- package/dist/src/components/popover/Popover.cjs +41 -0
- package/dist/src/components/popover/Popover.cjs.map +1 -0
- package/dist/src/components/popover/Popover.js +41 -0
- package/dist/src/components/popover/Popover.js.map +1 -0
- package/dist/src/components/popover/Popover.module.css.cjs +33 -0
- package/dist/src/components/popover/Popover.module.css.cjs.map +1 -0
- package/dist/src/components/popover/Popover.module.css.js +33 -0
- package/dist/src/components/popover/Popover.module.css.js.map +1 -0
- package/dist/src/components/progress/Progress.cjs +9 -0
- package/dist/src/components/progress/Progress.cjs.map +1 -0
- package/dist/src/components/progress/Progress.js +9 -0
- package/dist/src/components/progress/Progress.js.map +1 -0
- package/dist/src/components/radio/Radio.cjs +24 -0
- package/dist/src/components/radio/Radio.cjs.map +1 -0
- package/dist/src/components/radio/Radio.js +24 -0
- package/dist/src/components/radio/Radio.js.map +1 -0
- package/dist/src/components/rate/Rate.cjs +22 -0
- package/dist/src/components/rate/Rate.cjs.map +1 -0
- package/dist/src/components/rate/Rate.js +22 -0
- package/dist/src/components/rate/Rate.js.map +1 -0
- package/dist/src/components/select/AntdSelect.cjs +76 -0
- package/dist/src/components/select/AntdSelect.cjs.map +1 -0
- package/dist/src/components/select/AntdSelect.js +60 -0
- package/dist/src/components/select/AntdSelect.js.map +1 -0
- package/dist/src/components/select/Select.cjs +107 -0
- package/dist/src/components/select/Select.cjs.map +1 -0
- package/dist/src/components/select/Select.js +107 -0
- package/dist/src/components/select/Select.js.map +1 -0
- package/dist/src/components/select/SummarizedSelect.cjs +455 -0
- package/dist/src/components/select/SummarizedSelect.cjs.map +1 -0
- package/dist/src/components/select/SummarizedSelect.js +455 -0
- package/dist/src/components/select/SummarizedSelect.js.map +1 -0
- package/dist/src/components/select/SummarizedSelect.module.css.cjs +30 -0
- package/dist/src/components/select/SummarizedSelect.module.css.cjs.map +1 -0
- package/dist/src/components/select/SummarizedSelect.module.css.js +30 -0
- package/dist/src/components/select/SummarizedSelect.module.css.js.map +1 -0
- package/dist/src/components/skeleton/Skeleton.cjs +14 -0
- package/dist/src/components/skeleton/Skeleton.cjs.map +1 -0
- package/dist/src/components/skeleton/Skeleton.js +14 -0
- package/dist/src/components/skeleton/Skeleton.js.map +1 -0
- package/dist/src/components/spinner/Spinner.cjs +20 -0
- package/dist/src/components/spinner/Spinner.cjs.map +1 -0
- package/dist/src/components/spinner/Spinner.js +20 -0
- package/dist/src/components/spinner/Spinner.js.map +1 -0
- package/dist/src/components/steps/Steps.cjs +50 -0
- package/dist/src/components/steps/Steps.cjs.map +1 -0
- package/dist/src/components/steps/Steps.js +50 -0
- package/dist/src/components/steps/Steps.js.map +1 -0
- package/dist/src/components/steps/useSteps.cjs +56 -0
- package/dist/src/components/steps/useSteps.cjs.map +1 -0
- package/dist/src/components/steps/useSteps.js +56 -0
- package/dist/src/components/steps/useSteps.js.map +1 -0
- package/dist/src/components/switch/Switch.cjs +28 -0
- package/dist/src/components/switch/Switch.cjs.map +1 -0
- package/dist/src/components/switch/Switch.js +28 -0
- package/dist/src/components/switch/Switch.js.map +1 -0
- package/dist/src/components/table/Table.cjs +117 -0
- package/dist/src/components/table/Table.cjs.map +1 -0
- package/dist/src/components/table/Table.js +117 -0
- package/dist/src/components/table/Table.js.map +1 -0
- package/dist/src/components/table/Table.module.css.cjs +12 -0
- package/dist/src/components/table/Table.module.css.cjs.map +1 -0
- package/dist/src/components/table/Table.module.css.js +12 -0
- package/dist/src/components/table/Table.module.css.js.map +1 -0
- package/dist/src/components/tabs/Tabs.cjs +10 -0
- package/dist/src/components/tabs/Tabs.cjs.map +1 -0
- package/dist/src/components/tabs/Tabs.js +10 -0
- package/dist/src/components/tabs/Tabs.js.map +1 -0
- package/dist/src/components/tag/Tag.cjs +74 -0
- package/dist/src/components/tag/Tag.cjs.map +1 -0
- package/dist/src/components/tag/Tag.js +57 -0
- package/dist/src/components/tag/Tag.js.map +1 -0
- package/dist/src/components/tooltip/Tooltip.cjs +14 -0
- package/dist/src/components/tooltip/Tooltip.cjs.map +1 -0
- package/dist/src/components/tooltip/Tooltip.js +14 -0
- package/dist/src/components/tooltip/Tooltip.js.map +1 -0
- package/dist/src/components/vennDiagram/VennDiagram.cjs +47 -0
- package/dist/src/components/vennDiagram/VennDiagram.cjs.map +1 -0
- package/dist/src/components/vennDiagram/VennDiagram.js +47 -0
- package/dist/src/components/vennDiagram/VennDiagram.js.map +1 -0
- package/dist/src/svgs/ProgressCircle.svg.cjs +22 -0
- package/dist/src/svgs/ProgressCircle.svg.cjs.map +1 -0
- package/dist/src/svgs/ProgressCircle.svg.js +6 -0
- package/dist/src/svgs/ProgressCircle.svg.js.map +1 -0
- package/dist/src/svgs/j2-logo-menu-collapse.svg.cjs +22 -0
- package/dist/src/svgs/j2-logo-menu-collapse.svg.cjs.map +1 -0
- package/dist/src/svgs/j2-logo-menu-collapse.svg.js +6 -0
- package/dist/src/svgs/j2-logo-menu-collapse.svg.js.map +1 -0
- package/dist/src/svgs/j2-logo-menu.svg.cjs +22 -0
- package/dist/src/svgs/j2-logo-menu.svg.cjs.map +1 -0
- package/dist/src/svgs/j2-logo-menu.svg.js +6 -0
- package/dist/src/svgs/j2-logo-menu.svg.js.map +1 -0
- package/dist/src/svgs/menu-sidebar-collapse.svg.cjs +22 -0
- package/dist/src/svgs/menu-sidebar-collapse.svg.cjs.map +1 -0
- package/dist/src/svgs/menu-sidebar-collapse.svg.js +6 -0
- package/dist/src/svgs/menu-sidebar-collapse.svg.js.map +1 -0
- package/dist/src/svgs/menu-sidebar-expand.svg.cjs +22 -0
- package/dist/src/svgs/menu-sidebar-expand.svg.cjs.map +1 -0
- package/dist/src/svgs/menu-sidebar-expand.svg.js +6 -0
- package/dist/src/svgs/menu-sidebar-expand.svg.js.map +1 -0
- package/dist/style.css +646 -646
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxTree.js","sources":["../../../../src/components/checkboxTree/CheckboxTree.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { TreeNode } from './TreeNode'\nimport { getLeafKeys, getAllLeafKeys, getAllParentKeys } from './utils'\n\nexport type CheckboxTreeDataNode = {\n key: string | number\n title: React.ReactNode\n children?: CheckboxTreeDataNode[]\n disabled?: boolean\n}\n\nexport type CheckboxTreeProps = {\n treeData: CheckboxTreeDataNode[]\n defaultCheckedKeys?: (string | number)[]\n checkedKeys?: (string | number)[]\n onCheck?: (\n values: Record<string | number, boolean>,\n info: {\n checked: boolean\n checkedLeafNodes: Record<string | number, CheckboxTreeDataNode>\n allCheckedNodes: CheckboxTreeDataNode[]\n node: CheckboxTreeDataNode\n }\n ) => void\n disabled?: boolean\n defaultExpandAll?: boolean\n defaultExpandedKeys?: (string | number)[]\n expandedKeys?: (string | number)[]\n onExpand?: (expandedKeys: (string | number)[]) => void\n className?: string\n style?: React.CSSProperties\n lazyChildren?: boolean\n}\n\nexport const CheckboxTree = ({\n treeData,\n defaultCheckedKeys = [],\n checkedKeys: controlledCheckedKeys,\n onCheck,\n disabled = false,\n defaultExpandAll = true,\n defaultExpandedKeys,\n expandedKeys: controlledExpandedKeys,\n onExpand,\n className,\n style,\n lazyChildren = false,\n}: CheckboxTreeProps) => {\n const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData])\n const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys])\n\n const [internalLeafNodeValues, setInternalLeafNodeValues] = useState<\n Record<string | number, boolean>\n >(() => {\n const defaultLeafKeySet = new Set(\n defaultCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = defaultLeafKeySet.has(key)\n }\n return values\n })\n\n const [internalExpandedKeys, setInternalExpandedKeys] = useState<\n (string | number)[]\n >(() => {\n if (defaultExpandedKeys) return defaultExpandedKeys\n if (defaultExpandAll) return getAllParentKeys(treeData)\n return []\n })\n\n // When defaultExpandAll is true and treeData changes, auto-expand new parent nodes\n useEffect(() => {\n if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)\n return\n const allParentKeys = getAllParentKeys(treeData)\n setInternalExpandedKeys((prev) => {\n const prevSet = new Set(prev)\n const newKeys = allParentKeys.filter((key) => !prevSet.has(key))\n if (newKeys.length === 0) return prev\n return [...prev, ...newKeys]\n })\n }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys])\n\n const expandedKeysSet = useMemo(() => {\n const keys = controlledExpandedKeys ?? internalExpandedKeys\n return new Set(keys)\n }, [controlledExpandedKeys, internalExpandedKeys])\n\n const handleToggleExpand = useCallback(\n (key: string | number) => {\n const currentKeys = controlledExpandedKeys ?? internalExpandedKeys\n const newKeys = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key]\n\n if (!controlledExpandedKeys) {\n setInternalExpandedKeys(newKeys)\n }\n onExpand?.(newKeys)\n },\n [controlledExpandedKeys, internalExpandedKeys, onExpand]\n )\n\n const leafNodeValues: Record<string | number, boolean> = useMemo(() => {\n if (!controlledCheckedKeys) {\n return internalLeafNodeValues\n }\n\n const controlledLeafKeySet = new Set(\n controlledCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = controlledLeafKeySet.has(key)\n }\n return values\n }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues])\n\n const handleCheck = useCallback(\n (_key: string | number, checked: boolean, node: CheckboxTreeDataNode) => {\n const newLeafNodeValues = { ...leafNodeValues }\n\n if (checked) {\n // When checking, set all leaf descendants to true\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = true))\n } else {\n // When unchecking, set all leaf descendants to false\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = false))\n }\n\n if (!controlledCheckedKeys) {\n setInternalLeafNodeValues(newLeafNodeValues)\n }\n\n if (onCheck) {\n // Get all checked leaf nodes\n const checkedLeafNodes: Record<string | number, CheckboxTreeDataNode> =\n {}\n\n // Get all nodes that appear checked (including parents)\n const allCheckedNodes: CheckboxTreeDataNode[] = []\n\n const collectChecked = (current: CheckboxTreeDataNode): boolean => {\n let isChecked: boolean\n if (!current.children || current.children.length === 0) {\n isChecked = newLeafNodeValues[current.key] === true\n if (isChecked) {\n checkedLeafNodes[current.key] = current\n }\n } else {\n isChecked = true\n for (const child of current.children) {\n if (!collectChecked(child)) {\n isChecked = false\n }\n }\n }\n if (isChecked) {\n allCheckedNodes.push(current)\n }\n return isChecked\n }\n treeData.forEach(collectChecked)\n\n onCheck(newLeafNodeValues, {\n checked,\n checkedLeafNodes,\n allCheckedNodes,\n node,\n })\n }\n },\n [controlledCheckedKeys, onCheck, treeData, leafNodeValues]\n )\n\n return (\n <div className={className} style={style}>\n {treeData.map((node) => (\n <TreeNode\n key={node.key}\n node={node}\n level={0}\n leafNodeValues={leafNodeValues}\n onCheck={handleCheck}\n disabled={disabled}\n expandedKeys={expandedKeysSet}\n onToggleExpand={handleToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n )\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("@phosphor-icons/react");
|
|
5
|
+
const utils = require("./utils.cjs");
|
|
6
|
+
const Checkbox = require("../checkbox/Checkbox.cjs");
|
|
7
|
+
const TreeNode = ({
|
|
8
|
+
node,
|
|
9
|
+
level,
|
|
10
|
+
leafNodeValues,
|
|
11
|
+
onCheck,
|
|
12
|
+
disabled,
|
|
13
|
+
expandedKeys,
|
|
14
|
+
onToggleExpand,
|
|
15
|
+
lazyChildren
|
|
16
|
+
}) => {
|
|
17
|
+
const { checked: isChecked, indeterminate } = utils.getNodeCheckState(
|
|
18
|
+
node,
|
|
19
|
+
leafNodeValues
|
|
20
|
+
);
|
|
21
|
+
const isIndeterminate = lazyChildren && indeterminate;
|
|
22
|
+
const isDisabled = disabled || node.disabled;
|
|
23
|
+
const hasChildren = node.children && node.children.length > 0;
|
|
24
|
+
const isExpanded = expandedKeys.has(node.key);
|
|
25
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
className: "flex items-center min-h-6 mb-1",
|
|
30
|
+
style: { paddingLeft: level * 20 },
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
Checkbox.Checkbox,
|
|
34
|
+
{
|
|
35
|
+
checked: isChecked,
|
|
36
|
+
indeterminate: isIndeterminate,
|
|
37
|
+
disabled: isDisabled,
|
|
38
|
+
onChange: (e) => onCheck(node.key, e.target.checked, node),
|
|
39
|
+
children: node.title
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
hasChildren && !isDisabled && /* @__PURE__ */ jsxRuntime.jsx(
|
|
43
|
+
"button",
|
|
44
|
+
{
|
|
45
|
+
type: "button",
|
|
46
|
+
onClick: () => onToggleExpand(node.key),
|
|
47
|
+
className: "flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0",
|
|
48
|
+
"aria-expanded": isExpanded,
|
|
49
|
+
"aria-label": `${isExpanded ? "Collapse" : "Expand"}${typeof node.title === "string" ? ` ${node.title}` : ""}`,
|
|
50
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
51
|
+
react.CaretDownIcon,
|
|
52
|
+
{
|
|
53
|
+
size: 14,
|
|
54
|
+
style: {
|
|
55
|
+
transform: `rotate(${isExpanded ? 0 : -90}deg)`,
|
|
56
|
+
transition: "transform 150ms ease"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
style: {
|
|
69
|
+
display: "grid",
|
|
70
|
+
gridTemplateRows: isExpanded ? "1fr" : "0fr",
|
|
71
|
+
transition: "grid-template-rows 150ms ease"
|
|
72
|
+
},
|
|
73
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflow: "hidden" }, children: (!lazyChildren || isExpanded) && node.children.map((childNode) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
74
|
+
TreeNode,
|
|
75
|
+
{
|
|
76
|
+
node: childNode,
|
|
77
|
+
level: level + 1,
|
|
78
|
+
leafNodeValues,
|
|
79
|
+
onCheck,
|
|
80
|
+
disabled,
|
|
81
|
+
expandedKeys,
|
|
82
|
+
onToggleExpand,
|
|
83
|
+
lazyChildren
|
|
84
|
+
},
|
|
85
|
+
childNode.key
|
|
86
|
+
)) })
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
] });
|
|
90
|
+
};
|
|
91
|
+
exports.TreeNode = TreeNode;
|
|
92
|
+
//# sourceMappingURL=TreeNode.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeNode.cjs","sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["getNodeCheckState","jsxs","jsx","Checkbox","CaretDownIcon"],"mappings":";;;;;;AAoBO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,EAAE,SAAS,WAAW,cAAA,IAAkBA,MAAAA;AAAAA,IAC5C;AAAA,IACA;AAAA,EAAA;AAEF,QAAM,kBAAkB,gBAAgB;AACxC,QAAM,aAAa,YAAY,KAAK;AACpC,QAAM,cAAc,KAAK,YAAY,KAAK,SAAS,SAAS;AAC5D,QAAM,aAAa,aAAa,IAAI,KAAK,GAAG;AAE5C,yCACG,OAAA,EACC,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,GAAA;AAAA,QAE9B,UAAA;AAAA,UAAAC,2BAAAA;AAAAA,YAACC,SAAAA;AAAAA,YAAA;AAAA,cACC,SAAS;AAAA,cACT,eAAe;AAAA,cACf,UAAU;AAAA,cACV,UAAU,CAAC,MAAM,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,IAAI;AAAA,cAExD,UAAA,KAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEP,eAAe,CAAC,cACfD,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,eAAe,KAAK,GAAG;AAAA,cACtC,WAAU;AAAA,cACV,iBAAe;AAAA,cACf,cAAY,GAAG,aAAa,aAAa,QAAQ,GAAG,OAAO,KAAK,UAAU,WAAW,IAAI,KAAK,KAAK,KAAK,EAAE;AAAA,cAE1G,UAAAA,2BAAAA;AAAAA,gBAACE,MAAAA;AAAAA,gBAAA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,WAAW,UAAU,aAAa,IAAI,GAAG;AAAA,oBACzC,YAAY;AAAA,kBAAA;AAAA,gBACd;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAIH,eACCF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,kBAAkB,aAAa,QAAQ;AAAA,UACvC,YAAY;AAAA,QAAA;AAAA,QAGd,UAAAA,2BAAAA,IAAC,OAAA,EAAI,OAAO,EAAE,UAAU,YACpB,WAAA,CAAC,gBAAgB,eACjB,KAAK,SAAU,IAAI,CAAC,cAClBA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAM;AAAA,YACN,OAAO,QAAQ;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,UARK,UAAU;AAAA,QAAA,CAUlB,EAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;;"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CaretDownIcon } from "@phosphor-icons/react";
|
|
3
|
+
import { getNodeCheckState } from "./utils.js";
|
|
4
|
+
import { Checkbox } from "../checkbox/Checkbox.js";
|
|
5
|
+
const TreeNode = ({
|
|
6
|
+
node,
|
|
7
|
+
level,
|
|
8
|
+
leafNodeValues,
|
|
9
|
+
onCheck,
|
|
10
|
+
disabled,
|
|
11
|
+
expandedKeys,
|
|
12
|
+
onToggleExpand,
|
|
13
|
+
lazyChildren
|
|
14
|
+
}) => {
|
|
15
|
+
const { checked: isChecked, indeterminate } = getNodeCheckState(
|
|
16
|
+
node,
|
|
17
|
+
leafNodeValues
|
|
18
|
+
);
|
|
19
|
+
const isIndeterminate = lazyChildren && indeterminate;
|
|
20
|
+
const isDisabled = disabled || node.disabled;
|
|
21
|
+
const hasChildren = node.children && node.children.length > 0;
|
|
22
|
+
const isExpanded = expandedKeys.has(node.key);
|
|
23
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
24
|
+
/* @__PURE__ */ jsxs(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: "flex items-center min-h-6 mb-1",
|
|
28
|
+
style: { paddingLeft: level * 20 },
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
Checkbox,
|
|
32
|
+
{
|
|
33
|
+
checked: isChecked,
|
|
34
|
+
indeterminate: isIndeterminate,
|
|
35
|
+
disabled: isDisabled,
|
|
36
|
+
onChange: (e) => onCheck(node.key, e.target.checked, node),
|
|
37
|
+
children: node.title
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
hasChildren && !isDisabled && /* @__PURE__ */ jsx(
|
|
41
|
+
"button",
|
|
42
|
+
{
|
|
43
|
+
type: "button",
|
|
44
|
+
onClick: () => onToggleExpand(node.key),
|
|
45
|
+
className: "flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0",
|
|
46
|
+
"aria-expanded": isExpanded,
|
|
47
|
+
"aria-label": `${isExpanded ? "Collapse" : "Expand"}${typeof node.title === "string" ? ` ${node.title}` : ""}`,
|
|
48
|
+
children: /* @__PURE__ */ jsx(
|
|
49
|
+
CaretDownIcon,
|
|
50
|
+
{
|
|
51
|
+
size: 14,
|
|
52
|
+
style: {
|
|
53
|
+
transform: `rotate(${isExpanded ? 0 : -90}deg)`,
|
|
54
|
+
transition: "transform 150ms ease"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
hasChildren && /* @__PURE__ */ jsx(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
style: {
|
|
67
|
+
display: "grid",
|
|
68
|
+
gridTemplateRows: isExpanded ? "1fr" : "0fr",
|
|
69
|
+
transition: "grid-template-rows 150ms ease"
|
|
70
|
+
},
|
|
71
|
+
children: /* @__PURE__ */ jsx("div", { style: { overflow: "hidden" }, children: (!lazyChildren || isExpanded) && node.children.map((childNode) => /* @__PURE__ */ jsx(
|
|
72
|
+
TreeNode,
|
|
73
|
+
{
|
|
74
|
+
node: childNode,
|
|
75
|
+
level: level + 1,
|
|
76
|
+
leafNodeValues,
|
|
77
|
+
onCheck,
|
|
78
|
+
disabled,
|
|
79
|
+
expandedKeys,
|
|
80
|
+
onToggleExpand,
|
|
81
|
+
lazyChildren
|
|
82
|
+
},
|
|
83
|
+
childNode.key
|
|
84
|
+
)) })
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] });
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
TreeNode
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=TreeNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeNode.js","sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;;AAoBO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,EAAE,SAAS,WAAW,cAAA,IAAkB;AAAA,IAC5C;AAAA,IACA;AAAA,EAAA;AAEF,QAAM,kBAAkB,gBAAgB;AACxC,QAAM,aAAa,YAAY,KAAK;AACpC,QAAM,cAAc,KAAK,YAAY,KAAK,SAAS,SAAS;AAC5D,QAAM,aAAa,aAAa,IAAI,KAAK,GAAG;AAE5C,8BACG,OAAA,EACC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,GAAA;AAAA,QAE9B,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAS;AAAA,cACT,eAAe;AAAA,cACf,UAAU;AAAA,cACV,UAAU,CAAC,MAAM,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,IAAI;AAAA,cAExD,UAAA,KAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEP,eAAe,CAAC,cACf;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,eAAe,KAAK,GAAG;AAAA,cACtC,WAAU;AAAA,cACV,iBAAe;AAAA,cACf,cAAY,GAAG,aAAa,aAAa,QAAQ,GAAG,OAAO,KAAK,UAAU,WAAW,IAAI,KAAK,KAAK,KAAK,EAAE;AAAA,cAE1G,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,WAAW,UAAU,aAAa,IAAI,GAAG;AAAA,oBACzC,YAAY;AAAA,kBAAA;AAAA,gBACd;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAIH,eACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,kBAAkB,aAAa,QAAQ;AAAA,UACvC,YAAY;AAAA,QAAA;AAAA,QAGd,UAAA,oBAAC,OAAA,EAAI,OAAO,EAAE,UAAU,YACpB,WAAA,CAAC,gBAAgB,eACjB,KAAK,SAAU,IAAI,CAAC,cAClB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAM;AAAA,YACN,OAAO,QAAQ;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,UARK,UAAU;AAAA,QAAA,CAUlB,EAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const getLeafKeys = (node) => {
|
|
4
|
+
const keys = [];
|
|
5
|
+
const traverse = (currentNode) => {
|
|
6
|
+
if (!currentNode.children || currentNode.children.length === 0) {
|
|
7
|
+
keys.push(currentNode.key);
|
|
8
|
+
} else {
|
|
9
|
+
currentNode.children.forEach((child) => traverse(child));
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
traverse(node);
|
|
13
|
+
return keys;
|
|
14
|
+
};
|
|
15
|
+
const getAllLeafKeys = (nodes) => {
|
|
16
|
+
const keys = [];
|
|
17
|
+
nodes.forEach((node) => {
|
|
18
|
+
keys.push(...getLeafKeys(node));
|
|
19
|
+
});
|
|
20
|
+
return keys;
|
|
21
|
+
};
|
|
22
|
+
const getNodeCheckState = (node, leafNodeStates) => {
|
|
23
|
+
let hasChecked = false;
|
|
24
|
+
let hasUnchecked = false;
|
|
25
|
+
const visit = (current) => {
|
|
26
|
+
if (!current.children || current.children.length === 0) {
|
|
27
|
+
if (leafNodeStates[current.key] === true) {
|
|
28
|
+
hasChecked = true;
|
|
29
|
+
} else {
|
|
30
|
+
hasUnchecked = true;
|
|
31
|
+
}
|
|
32
|
+
return hasChecked && hasUnchecked;
|
|
33
|
+
}
|
|
34
|
+
return current.children.some(visit);
|
|
35
|
+
};
|
|
36
|
+
visit(node);
|
|
37
|
+
return {
|
|
38
|
+
checked: hasChecked && !hasUnchecked,
|
|
39
|
+
indeterminate: hasChecked && hasUnchecked
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
const getAllParentKeys = (nodes) => {
|
|
43
|
+
const keys = [];
|
|
44
|
+
const traverse = (currentNodes) => {
|
|
45
|
+
currentNodes.forEach((node) => {
|
|
46
|
+
if (node.children && node.children.length > 0) {
|
|
47
|
+
keys.push(node.key);
|
|
48
|
+
traverse(node.children);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
traverse(nodes);
|
|
53
|
+
return keys;
|
|
54
|
+
};
|
|
55
|
+
exports.getAllLeafKeys = getAllLeafKeys;
|
|
56
|
+
exports.getAllParentKeys = getAllParentKeys;
|
|
57
|
+
exports.getLeafKeys = getLeafKeys;
|
|
58
|
+
exports.getNodeCheckState = getNodeCheckState;
|
|
59
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../../../src/components/checkboxTree/utils.ts"],"sourcesContent":["import { CheckboxTreeDataNode } from './CheckboxTree'\n\nexport const getLeafKeys = (\n node: CheckboxTreeDataNode\n): (string | number)[] => {\n const keys: (string | number)[] = []\n const traverse = (currentNode: CheckboxTreeDataNode) => {\n if (!currentNode.children || currentNode.children.length === 0) {\n // This is a leaf node\n keys.push(currentNode.key)\n } else {\n // This is a parent node, traverse children\n currentNode.children.forEach((child) => traverse(child))\n }\n }\n traverse(node)\n return keys\n}\n\nexport const getAllLeafKeys = (\n nodes: CheckboxTreeDataNode[]\n): (string | number)[] => {\n const keys: (string | number)[] = []\n nodes.forEach((node) => {\n keys.push(...getLeafKeys(node))\n })\n return keys\n}\n\nexport const getNodeCheckState = (\n node: CheckboxTreeDataNode,\n leafNodeStates: Record<string | number, boolean>\n): { checked: boolean; indeterminate: boolean } => {\n let hasChecked = false\n let hasUnchecked = false\n const visit = (current: CheckboxTreeDataNode): boolean => {\n if (!current.children || current.children.length === 0) {\n if (leafNodeStates[current.key] === true) {\n hasChecked = true\n } else {\n hasUnchecked = true\n }\n return hasChecked && hasUnchecked\n }\n return current.children.some(visit)\n }\n visit(node)\n return {\n checked: hasChecked && !hasUnchecked,\n indeterminate: hasChecked && hasUnchecked,\n }\n}\n\nexport const getAllParentKeys = (\n nodes: CheckboxTreeDataNode[]\n): (string | number)[] => {\n const keys: (string | number)[] = []\n const traverse = (currentNodes: CheckboxTreeDataNode[]) => {\n currentNodes.forEach((node) => {\n if (node.children && node.children.length > 0) {\n keys.push(node.key)\n traverse(node.children)\n }\n })\n }\n traverse(nodes)\n return keys\n}\n\nexport const findNode = (\n key: string | number,\n nodes: CheckboxTreeDataNode[]\n): CheckboxTreeDataNode | null => {\n for (const node of nodes) {\n if (node.key === key) {\n return node\n }\n if (node.children) {\n const found = findNode(key, node.children)\n if (found) return found\n }\n }\n return null\n}\n"],"names":[],"mappings":";;AAEO,MAAM,cAAc,CACzB,SACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,WAAW,CAAC,gBAAsC;AACtD,QAAI,CAAC,YAAY,YAAY,YAAY,SAAS,WAAW,GAAG;AAE9D,WAAK,KAAK,YAAY,GAAG;AAAA,IAC3B,OAAO;AAEL,kBAAY,SAAS,QAAQ,CAAC,UAAU,SAAS,KAAK,CAAC;AAAA,IACzD;AAAA,EACF;AACA,WAAS,IAAI;AACb,SAAO;AACT;AAEO,MAAM,iBAAiB,CAC5B,UACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,QAAQ,CAAC,SAAS;AACtB,SAAK,KAAK,GAAG,YAAY,IAAI,CAAC;AAAA,EAChC,CAAC;AACD,SAAO;AACT;AAEO,MAAM,oBAAoB,CAC/B,MACA,mBACiD;AACjD,MAAI,aAAa;AACjB,MAAI,eAAe;AACnB,QAAM,QAAQ,CAAC,YAA2C;AACxD,QAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,UAAI,eAAe,QAAQ,GAAG,MAAM,MAAM;AACxC,qBAAa;AAAA,MACf,OAAO;AACL,uBAAe;AAAA,MACjB;AACA,aAAO,cAAc;AAAA,IACvB;AACA,WAAO,QAAQ,SAAS,KAAK,KAAK;AAAA,EACpC;AACA,QAAM,IAAI;AACV,SAAO;AAAA,IACL,SAAS,cAAc,CAAC;AAAA,IACxB,eAAe,cAAc;AAAA,EAAA;AAEjC;AAEO,MAAM,mBAAmB,CAC9B,UACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,WAAW,CAAC,iBAAyC;AACzD,iBAAa,QAAQ,CAAC,SAAS;AAC7B,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AAC7C,aAAK,KAAK,KAAK,GAAG;AAClB,iBAAS,KAAK,QAAQ;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,EACH;AACA,WAAS,KAAK;AACd,SAAO;AACT;;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const getLeafKeys = (node) => {
|
|
2
|
+
const keys = [];
|
|
3
|
+
const traverse = (currentNode) => {
|
|
4
|
+
if (!currentNode.children || currentNode.children.length === 0) {
|
|
5
|
+
keys.push(currentNode.key);
|
|
6
|
+
} else {
|
|
7
|
+
currentNode.children.forEach((child) => traverse(child));
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
traverse(node);
|
|
11
|
+
return keys;
|
|
12
|
+
};
|
|
13
|
+
const getAllLeafKeys = (nodes) => {
|
|
14
|
+
const keys = [];
|
|
15
|
+
nodes.forEach((node) => {
|
|
16
|
+
keys.push(...getLeafKeys(node));
|
|
17
|
+
});
|
|
18
|
+
return keys;
|
|
19
|
+
};
|
|
20
|
+
const getNodeCheckState = (node, leafNodeStates) => {
|
|
21
|
+
let hasChecked = false;
|
|
22
|
+
let hasUnchecked = false;
|
|
23
|
+
const visit = (current) => {
|
|
24
|
+
if (!current.children || current.children.length === 0) {
|
|
25
|
+
if (leafNodeStates[current.key] === true) {
|
|
26
|
+
hasChecked = true;
|
|
27
|
+
} else {
|
|
28
|
+
hasUnchecked = true;
|
|
29
|
+
}
|
|
30
|
+
return hasChecked && hasUnchecked;
|
|
31
|
+
}
|
|
32
|
+
return current.children.some(visit);
|
|
33
|
+
};
|
|
34
|
+
visit(node);
|
|
35
|
+
return {
|
|
36
|
+
checked: hasChecked && !hasUnchecked,
|
|
37
|
+
indeterminate: hasChecked && hasUnchecked
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
const getAllParentKeys = (nodes) => {
|
|
41
|
+
const keys = [];
|
|
42
|
+
const traverse = (currentNodes) => {
|
|
43
|
+
currentNodes.forEach((node) => {
|
|
44
|
+
if (node.children && node.children.length > 0) {
|
|
45
|
+
keys.push(node.key);
|
|
46
|
+
traverse(node.children);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
traverse(nodes);
|
|
51
|
+
return keys;
|
|
52
|
+
};
|
|
53
|
+
export {
|
|
54
|
+
getAllLeafKeys,
|
|
55
|
+
getAllParentKeys,
|
|
56
|
+
getLeafKeys,
|
|
57
|
+
getNodeCheckState
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/checkboxTree/utils.ts"],"sourcesContent":["import { CheckboxTreeDataNode } from './CheckboxTree'\n\nexport const getLeafKeys = (\n node: CheckboxTreeDataNode\n): (string | number)[] => {\n const keys: (string | number)[] = []\n const traverse = (currentNode: CheckboxTreeDataNode) => {\n if (!currentNode.children || currentNode.children.length === 0) {\n // This is a leaf node\n keys.push(currentNode.key)\n } else {\n // This is a parent node, traverse children\n currentNode.children.forEach((child) => traverse(child))\n }\n }\n traverse(node)\n return keys\n}\n\nexport const getAllLeafKeys = (\n nodes: CheckboxTreeDataNode[]\n): (string | number)[] => {\n const keys: (string | number)[] = []\n nodes.forEach((node) => {\n keys.push(...getLeafKeys(node))\n })\n return keys\n}\n\nexport const getNodeCheckState = (\n node: CheckboxTreeDataNode,\n leafNodeStates: Record<string | number, boolean>\n): { checked: boolean; indeterminate: boolean } => {\n let hasChecked = false\n let hasUnchecked = false\n const visit = (current: CheckboxTreeDataNode): boolean => {\n if (!current.children || current.children.length === 0) {\n if (leafNodeStates[current.key] === true) {\n hasChecked = true\n } else {\n hasUnchecked = true\n }\n return hasChecked && hasUnchecked\n }\n return current.children.some(visit)\n }\n visit(node)\n return {\n checked: hasChecked && !hasUnchecked,\n indeterminate: hasChecked && hasUnchecked,\n }\n}\n\nexport const getAllParentKeys = (\n nodes: CheckboxTreeDataNode[]\n): (string | number)[] => {\n const keys: (string | number)[] = []\n const traverse = (currentNodes: CheckboxTreeDataNode[]) => {\n currentNodes.forEach((node) => {\n if (node.children && node.children.length > 0) {\n keys.push(node.key)\n traverse(node.children)\n }\n })\n }\n traverse(nodes)\n return keys\n}\n\nexport const findNode = (\n key: string | number,\n nodes: CheckboxTreeDataNode[]\n): CheckboxTreeDataNode | null => {\n for (const node of nodes) {\n if (node.key === key) {\n return node\n }\n if (node.children) {\n const found = findNode(key, node.children)\n if (found) return found\n }\n }\n return null\n}\n"],"names":[],"mappings":"AAEO,MAAM,cAAc,CACzB,SACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,WAAW,CAAC,gBAAsC;AACtD,QAAI,CAAC,YAAY,YAAY,YAAY,SAAS,WAAW,GAAG;AAE9D,WAAK,KAAK,YAAY,GAAG;AAAA,IAC3B,OAAO;AAEL,kBAAY,SAAS,QAAQ,CAAC,UAAU,SAAS,KAAK,CAAC;AAAA,IACzD;AAAA,EACF;AACA,WAAS,IAAI;AACb,SAAO;AACT;AAEO,MAAM,iBAAiB,CAC5B,UACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,QAAQ,CAAC,SAAS;AACtB,SAAK,KAAK,GAAG,YAAY,IAAI,CAAC;AAAA,EAChC,CAAC;AACD,SAAO;AACT;AAEO,MAAM,oBAAoB,CAC/B,MACA,mBACiD;AACjD,MAAI,aAAa;AACjB,MAAI,eAAe;AACnB,QAAM,QAAQ,CAAC,YAA2C;AACxD,QAAI,CAAC,QAAQ,YAAY,QAAQ,SAAS,WAAW,GAAG;AACtD,UAAI,eAAe,QAAQ,GAAG,MAAM,MAAM;AACxC,qBAAa;AAAA,MACf,OAAO;AACL,uBAAe;AAAA,MACjB;AACA,aAAO,cAAc;AAAA,IACvB;AACA,WAAO,QAAQ,SAAS,KAAK,KAAK;AAAA,EACpC;AACA,QAAM,IAAI;AACV,SAAO;AAAA,IACL,SAAS,cAAc,CAAC;AAAA,IACxB,eAAe,cAAc;AAAA,EAAA;AAEjC;AAEO,MAAM,mBAAmB,CAC9B,UACwB;AACxB,QAAM,OAA4B,CAAA;AAClC,QAAM,WAAW,CAAC,iBAAyC;AACzD,iBAAa,QAAQ,CAAC,SAAS;AAC7B,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS,GAAG;AAC7C,aAAK,KAAK,KAAK,GAAG;AAClB,iBAAS,KAAK,QAAQ;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,EACH;AACA,WAAS,KAAK;AACd,SAAO;AACT;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const antd = require("antd");
|
|
6
|
+
const react = require("@phosphor-icons/react");
|
|
7
|
+
const Collapse_module = require("./Collapse.module.css.cjs");
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
9
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
10
|
+
if (e) {
|
|
11
|
+
for (const k in e) {
|
|
12
|
+
if (k !== "default") {
|
|
13
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: () => e[k]
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
25
|
+
const stateConfig = {
|
|
26
|
+
default: {
|
|
27
|
+
className: Collapse_module.default.default,
|
|
28
|
+
Icon: react.InfoIcon,
|
|
29
|
+
color: "var(--j2-color-text)"
|
|
30
|
+
},
|
|
31
|
+
warning: {
|
|
32
|
+
className: Collapse_module.default.warning,
|
|
33
|
+
Icon: react.WarningCircleIcon,
|
|
34
|
+
color: "var(--j2-color-warning-text)"
|
|
35
|
+
},
|
|
36
|
+
error: {
|
|
37
|
+
className: Collapse_module.default.error,
|
|
38
|
+
Icon: react.XCircleIcon,
|
|
39
|
+
color: "var(--j2-color-error-text)"
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const Collapse = ({
|
|
43
|
+
state = "default",
|
|
44
|
+
showIcon = false,
|
|
45
|
+
className,
|
|
46
|
+
items,
|
|
47
|
+
...props
|
|
48
|
+
}) => {
|
|
49
|
+
const { className: stateClass, Icon, color } = stateConfig[state];
|
|
50
|
+
const icon = React__namespace.useMemo(() => {
|
|
51
|
+
if (!showIcon) return null;
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 14, fill: color, style: { flexShrink: 0 } });
|
|
53
|
+
}, [state, showIcon]);
|
|
54
|
+
const itemsWithIcon = React__namespace.useMemo(() => {
|
|
55
|
+
if (!icon || !items) return items;
|
|
56
|
+
return items.map((item) => ({
|
|
57
|
+
...item,
|
|
58
|
+
label: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59
|
+
icon,
|
|
60
|
+
item.label
|
|
61
|
+
] })
|
|
62
|
+
}));
|
|
63
|
+
}, [items, icon]);
|
|
64
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
65
|
+
antd.Collapse,
|
|
66
|
+
{
|
|
67
|
+
...props,
|
|
68
|
+
items: itemsWithIcon,
|
|
69
|
+
className: [stateClass, className].filter(Boolean).join(" "),
|
|
70
|
+
expandIcon: ({ isActive }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
react.CaretDownIcon,
|
|
72
|
+
{
|
|
73
|
+
size: 14,
|
|
74
|
+
style: { transform: `rotate(${isActive ? 0 : -90}deg)` }
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
exports.Collapse = Collapse;
|
|
81
|
+
//# sourceMappingURL=Collapse.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapse.cjs","sources":["../../../../src/components/collapse/Collapse.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Collapse as AntdCollapse, CollapseProps } from 'antd'\nimport {\n CaretDownIcon,\n InfoIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\nimport styles from './Collapse.module.css'\n\nexport type CollapseState = 'default' | 'warning' | 'error'\n\nexport type Props = Expand<CollapseProps> & {\n state?: CollapseState\n showIcon?: boolean\n}\n\nconst stateConfig: Record<\n CollapseState,\n { className: string; Icon: React.ElementType; color: string }\n> = {\n default: {\n className: styles.default,\n Icon: InfoIcon,\n color: 'var(--j2-color-text)',\n },\n warning: {\n className: styles.warning,\n Icon: WarningCircleIcon,\n color: 'var(--j2-color-warning-text)',\n },\n error: {\n className: styles.error,\n Icon: XCircleIcon,\n color: 'var(--j2-color-error-text)',\n },\n}\n\nconst Collapse = ({\n state = 'default',\n showIcon = false,\n className,\n items,\n ...props\n}: Props) => {\n const { className: stateClass, Icon, color } = stateConfig[state]\n\n const icon = React.useMemo(() => {\n if (!showIcon) return null\n return <Icon size={14} fill={color} style={{ flexShrink: 0 }} />\n }, [state, showIcon])\n\n const itemsWithIcon = React.useMemo(() => {\n if (!icon || !items) return items\n return (items as NonNullable<CollapseProps['items']>).map((item) => ({\n ...item,\n label: (\n <>\n {icon}\n {item.label}\n </>\n ),\n }))\n }, [items, icon])\n\n return (\n <AntdCollapse\n {...props}\n items={itemsWithIcon}\n className={[stateClass, className].filter(Boolean).join(' ')}\n expandIcon={({ isActive }) => (\n <CaretDownIcon\n size={14}\n style={{ transform: `rotate(${isActive ? 0 : -90}deg)` }}\n />\n )}\n />\n )\n}\n\nexport { Collapse }\n"],"names":["styles","InfoIcon","WarningCircleIcon","XCircleIcon","React","jsx","jsxs","Fragment","AntdCollapse","CaretDownIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,cAGF;AAAA,EACF,SAAS;AAAA,IACP,WAAWA,gBAAAA,QAAO;AAAA,IAClB,MAAMC,MAAAA;AAAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,SAAS;AAAA,IACP,WAAWD,gBAAAA,QAAO;AAAA,IAClB,MAAME,MAAAA;AAAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,OAAO;AAAA,IACL,WAAWF,gBAAAA,QAAO;AAAA,IAClB,MAAMG,MAAAA;AAAAA,IACN,OAAO;AAAA,EAAA;AAEX;AAEA,MAAM,WAAW,CAAC;AAAA,EAChB,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,QAAM,EAAE,WAAW,YAAY,MAAM,MAAA,IAAU,YAAY,KAAK;AAEhE,QAAM,OAAOC,iBAAM,QAAQ,MAAM;AAC/B,QAAI,CAAC,SAAU,QAAO;AACtB,WAAOC,+BAAC,MAAA,EAAK,MAAM,IAAI,MAAM,OAAO,OAAO,EAAE,YAAY,EAAA,EAAE,CAAG;AAAA,EAChE,GAAG,CAAC,OAAO,QAAQ,CAAC;AAEpB,QAAM,gBAAgBD,iBAAM,QAAQ,MAAM;AACxC,QAAI,CAAC,QAAQ,CAAC,MAAO,QAAO;AAC5B,WAAQ,MAA8C,IAAI,CAAC,UAAU;AAAA,MACnE,GAAG;AAAA,MACH,OACEE,2BAAAA,KAAAC,qBAAA,EACG,UAAA;AAAA,QAAA;AAAA,QACA,KAAK;AAAA,MAAA,EAAA,CACR;AAAA,IAAA,EAEF;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,CAAC;AAEhB,SACEF,2BAAAA;AAAAA,IAACG,KAAAA;AAAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,MACP,WAAW,CAAC,YAAY,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC3D,YAAY,CAAC,EAAE,SAAA,MACbH,2BAAAA;AAAAA,QAACI,MAAAA;AAAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,OAAO,EAAE,WAAW,UAAU,WAAW,IAAI,GAAG,OAAA;AAAA,QAAO;AAAA,MAAA;AAAA,IACzD;AAAA,EAAA;AAIR;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Collapse as Collapse$1 } from "antd";
|
|
4
|
+
import { XCircleIcon, WarningCircleIcon, InfoIcon, CaretDownIcon } from "@phosphor-icons/react";
|
|
5
|
+
import styles from "./Collapse.module.css.js";
|
|
6
|
+
const stateConfig = {
|
|
7
|
+
default: {
|
|
8
|
+
className: styles.default,
|
|
9
|
+
Icon: InfoIcon,
|
|
10
|
+
color: "var(--j2-color-text)"
|
|
11
|
+
},
|
|
12
|
+
warning: {
|
|
13
|
+
className: styles.warning,
|
|
14
|
+
Icon: WarningCircleIcon,
|
|
15
|
+
color: "var(--j2-color-warning-text)"
|
|
16
|
+
},
|
|
17
|
+
error: {
|
|
18
|
+
className: styles.error,
|
|
19
|
+
Icon: XCircleIcon,
|
|
20
|
+
color: "var(--j2-color-error-text)"
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const Collapse = ({
|
|
24
|
+
state = "default",
|
|
25
|
+
showIcon = false,
|
|
26
|
+
className,
|
|
27
|
+
items,
|
|
28
|
+
...props
|
|
29
|
+
}) => {
|
|
30
|
+
const { className: stateClass, Icon, color } = stateConfig[state];
|
|
31
|
+
const icon = React.useMemo(() => {
|
|
32
|
+
if (!showIcon) return null;
|
|
33
|
+
return /* @__PURE__ */ jsx(Icon, { size: 14, fill: color, style: { flexShrink: 0 } });
|
|
34
|
+
}, [state, showIcon]);
|
|
35
|
+
const itemsWithIcon = React.useMemo(() => {
|
|
36
|
+
if (!icon || !items) return items;
|
|
37
|
+
return items.map((item) => ({
|
|
38
|
+
...item,
|
|
39
|
+
label: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
40
|
+
icon,
|
|
41
|
+
item.label
|
|
42
|
+
] })
|
|
43
|
+
}));
|
|
44
|
+
}, [items, icon]);
|
|
45
|
+
return /* @__PURE__ */ jsx(
|
|
46
|
+
Collapse$1,
|
|
47
|
+
{
|
|
48
|
+
...props,
|
|
49
|
+
items: itemsWithIcon,
|
|
50
|
+
className: [stateClass, className].filter(Boolean).join(" "),
|
|
51
|
+
expandIcon: ({ isActive }) => /* @__PURE__ */ jsx(
|
|
52
|
+
CaretDownIcon,
|
|
53
|
+
{
|
|
54
|
+
size: 14,
|
|
55
|
+
style: { transform: `rotate(${isActive ? 0 : -90}deg)` }
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
Collapse
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=Collapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapse.js","sources":["../../../../src/components/collapse/Collapse.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Collapse as AntdCollapse, CollapseProps } from 'antd'\nimport {\n CaretDownIcon,\n InfoIcon,\n WarningCircleIcon,\n XCircleIcon,\n} from '@phosphor-icons/react'\nimport styles from './Collapse.module.css'\n\nexport type CollapseState = 'default' | 'warning' | 'error'\n\nexport type Props = Expand<CollapseProps> & {\n state?: CollapseState\n showIcon?: boolean\n}\n\nconst stateConfig: Record<\n CollapseState,\n { className: string; Icon: React.ElementType; color: string }\n> = {\n default: {\n className: styles.default,\n Icon: InfoIcon,\n color: 'var(--j2-color-text)',\n },\n warning: {\n className: styles.warning,\n Icon: WarningCircleIcon,\n color: 'var(--j2-color-warning-text)',\n },\n error: {\n className: styles.error,\n Icon: XCircleIcon,\n color: 'var(--j2-color-error-text)',\n },\n}\n\nconst Collapse = ({\n state = 'default',\n showIcon = false,\n className,\n items,\n ...props\n}: Props) => {\n const { className: stateClass, Icon, color } = stateConfig[state]\n\n const icon = React.useMemo(() => {\n if (!showIcon) return null\n return <Icon size={14} fill={color} style={{ flexShrink: 0 }} />\n }, [state, showIcon])\n\n const itemsWithIcon = React.useMemo(() => {\n if (!icon || !items) return items\n return (items as NonNullable<CollapseProps['items']>).map((item) => ({\n ...item,\n label: (\n <>\n {icon}\n {item.label}\n </>\n ),\n }))\n }, [items, icon])\n\n return (\n <AntdCollapse\n {...props}\n items={itemsWithIcon}\n className={[stateClass, className].filter(Boolean).join(' ')}\n expandIcon={({ isActive }) => (\n <CaretDownIcon\n size={14}\n style={{ transform: `rotate(${isActive ? 0 : -90}deg)` }}\n />\n )}\n />\n )\n}\n\nexport { Collapse }\n"],"names":["AntdCollapse"],"mappings":";;;;;AAiBA,MAAM,cAGF;AAAA,EACF,SAAS;AAAA,IACP,WAAW,OAAO;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,SAAS;AAAA,IACP,WAAW,OAAO;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,OAAO;AAAA,IACL,WAAW,OAAO;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAEX;AAEA,MAAM,WAAW,CAAC;AAAA,EAChB,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,QAAM,EAAE,WAAW,YAAY,MAAM,MAAA,IAAU,YAAY,KAAK;AAEhE,QAAM,OAAO,MAAM,QAAQ,MAAM;AAC/B,QAAI,CAAC,SAAU,QAAO;AACtB,WAAO,oBAAC,MAAA,EAAK,MAAM,IAAI,MAAM,OAAO,OAAO,EAAE,YAAY,EAAA,EAAE,CAAG;AAAA,EAChE,GAAG,CAAC,OAAO,QAAQ,CAAC;AAEpB,QAAM,gBAAgB,MAAM,QAAQ,MAAM;AACxC,QAAI,CAAC,QAAQ,CAAC,MAAO,QAAO;AAC5B,WAAQ,MAA8C,IAAI,CAAC,UAAU;AAAA,MACnE,GAAG;AAAA,MACH,OACE,qBAAA,UAAA,EACG,UAAA;AAAA,QAAA;AAAA,QACA,KAAK;AAAA,MAAA,EAAA,CACR;AAAA,IAAA,EAEF;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,CAAC;AAEhB,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,MACP,WAAW,CAAC,YAAY,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAC3D,YAAY,CAAC,EAAE,SAAA,MACb;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,OAAO,EAAE,WAAW,UAAU,WAAW,IAAI,GAAG,OAAA;AAAA,QAAO;AAAA,MAAA;AAAA,IACzD;AAAA,EAAA;AAIR;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const warning = "_warning_yukjt_2";
|
|
4
|
+
const error = "_error_yukjt_3";
|
|
5
|
+
const styles = {
|
|
6
|
+
"default": "_default_yukjt_1",
|
|
7
|
+
warning,
|
|
8
|
+
error
|
|
9
|
+
};
|
|
10
|
+
exports.default = styles;
|
|
11
|
+
exports.error = error;
|
|
12
|
+
exports.warning = warning;
|
|
13
|
+
//# sourceMappingURL=Collapse.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapse.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const warning = "_warning_yukjt_2";
|
|
2
|
+
const error = "_error_yukjt_3";
|
|
3
|
+
const styles = {
|
|
4
|
+
"default": "_default_yukjt_1",
|
|
5
|
+
warning,
|
|
6
|
+
error
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
styles as default,
|
|
10
|
+
error,
|
|
11
|
+
warning
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=Collapse.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collapse.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const antd = require("antd");
|
|
5
|
+
const react = require("@phosphor-icons/react");
|
|
6
|
+
;/* empty css */
|
|
7
|
+
const Button = require("../button/Button.cjs");
|
|
8
|
+
const Drawer = ({
|
|
9
|
+
fillPage = false,
|
|
10
|
+
footer,
|
|
11
|
+
extraContent,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
|
+
antd.Drawer,
|
|
16
|
+
{
|
|
17
|
+
...props,
|
|
18
|
+
closable: false,
|
|
19
|
+
...fillPage && { height: "100vh", width: "100vw" },
|
|
20
|
+
...footer && { footer },
|
|
21
|
+
extra: /* @__PURE__ */ jsxRuntime.jsxs(antd.Space, { children: [
|
|
22
|
+
extraContent,
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24
|
+
Button.Button,
|
|
25
|
+
{
|
|
26
|
+
className: "p-0",
|
|
27
|
+
type: "link",
|
|
28
|
+
onClick: props.onClose,
|
|
29
|
+
"aria-label": "Close",
|
|
30
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(react.XIcon, { size: 22, weight: "regular" })
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
] }),
|
|
34
|
+
className: "j2-drawer"
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
exports.Drawer = Drawer;
|
|
39
|
+
//# sourceMappingURL=Drawer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.cjs","sources":["../../../../src/components/drawer/Drawer.tsx"],"sourcesContent":["import { Drawer as AntdDrawer, DrawerProps, Space } from 'antd'\nimport { Button } from '../button'\nimport { XIcon } from '@phosphor-icons/react'\nimport './Drawer.css'\n\ntype AllProps = Omit<DrawerProps, 'extra' | 'closable'> & {\n fillPage?: boolean\n footer?: React.ReactNode\n extraContent?: React.ReactNode\n}\n\nexport type Props = Expand<AllProps>\n\nexport const Drawer = ({\n fillPage = false,\n footer,\n extraContent,\n ...props\n}: Props) => {\n return (\n <AntdDrawer\n {...props}\n closable={false}\n {...(fillPage && { height: '100vh', width: '100vw' })}\n {...(footer && { footer })}\n extra={\n <Space>\n {extraContent}\n <Button\n className=\"p-0\"\n type=\"link\"\n onClick={props.onClose}\n aria-label=\"Close\"\n >\n <XIcon size={22} weight=\"regular\" />\n </Button>\n </Space>\n }\n className=\"j2-drawer\"\n />\n )\n}\n"],"names":["jsx","AntdDrawer","Space","Button","XIcon"],"mappings":";;;;;;;AAaO,MAAM,SAAS,CAAC;AAAA,EACrB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,SACEA,2BAAAA;AAAAA,IAACC,KAAAA;AAAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MACT,GAAI,YAAY,EAAE,QAAQ,SAAS,OAAO,QAAA;AAAA,MAC1C,GAAI,UAAU,EAAE,OAAA;AAAA,MACjB,uCACGC,YAAA,EACE,UAAA;AAAA,QAAA;AAAA,QACDF,2BAAAA;AAAAA,UAACG,OAAAA;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,SAAS,MAAM;AAAA,YACf,cAAW;AAAA,YAEX,UAAAH,2BAAAA,IAACI,aAAA,EAAM,MAAM,IAAI,QAAO,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACpC,GACF;AAAA,MAEF,WAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Drawer as Drawer$1, Space } from "antd";
|
|
3
|
+
import { XIcon } from "@phosphor-icons/react";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { Button } from "../button/Button.js";
|
|
6
|
+
const Drawer = ({
|
|
7
|
+
fillPage = false,
|
|
8
|
+
footer,
|
|
9
|
+
extraContent,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
Drawer$1,
|
|
14
|
+
{
|
|
15
|
+
...props,
|
|
16
|
+
closable: false,
|
|
17
|
+
...fillPage && { height: "100vh", width: "100vw" },
|
|
18
|
+
...footer && { footer },
|
|
19
|
+
extra: /* @__PURE__ */ jsxs(Space, { children: [
|
|
20
|
+
extraContent,
|
|
21
|
+
/* @__PURE__ */ jsx(
|
|
22
|
+
Button,
|
|
23
|
+
{
|
|
24
|
+
className: "p-0",
|
|
25
|
+
type: "link",
|
|
26
|
+
onClick: props.onClose,
|
|
27
|
+
"aria-label": "Close",
|
|
28
|
+
children: /* @__PURE__ */ jsx(XIcon, { size: 22, weight: "regular" })
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
] }),
|
|
32
|
+
className: "j2-drawer"
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
Drawer
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Drawer.js.map
|