@j2-health/design-system 0.2.0 → 0.3.0
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 +38 -9
- package/dist/index.cjs +102 -3614
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +54 -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 +155 -0
- package/dist/src/components/barchart/BarChart.cjs.map +1 -0
- package/dist/src/components/barchart/BarChart.js +155 -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 +238 -0
- package/dist/src/components/filterform/FilterInput.cjs.map +1 -0
- package/dist/src/components/filterform/FilterInput.d.ts +1 -0
- package/dist/src/components/filterform/FilterInput.js +221 -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 +71 -0
- package/dist/src/components/filterform/filterHelpers.cjs.map +1 -0
- package/dist/src/components/filterform/filterHelpers.d.ts +18 -4
- package/dist/src/components/filterform/filterHelpers.js +71 -0
- package/dist/src/components/filterform/filterHelpers.js.map +1 -0
- package/dist/src/components/filterform/index.d.ts +3 -1
- package/dist/src/components/filterform/types.d.ts +4 -2
- package/dist/src/components/filterform/useFilterField.cjs +245 -0
- package/dist/src/components/filterform/useFilterField.cjs.map +1 -0
- package/dist/src/components/filterform/useFilterField.d.ts +17 -1
- package/dist/src/components/filterform/useFilterField.js +228 -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 +53 -0
- package/dist/src/components/vennDiagram/VennDiagram.cjs.map +1 -0
- package/dist/src/components/vennDiagram/VennDiagram.js +53 -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 +6 -6
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.js","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":["AntdDrawer"],"mappings":";;;;;AAaO,MAAM,SAAS,CAAC;AAAA,EACrB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,SACE;AAAA,IAACA;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,4BACG,OAAA,EACE,UAAA;AAAA,QAAA;AAAA,QACD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,SAAS,MAAM;AAAA,YACf,cAAW;AAAA,YAEX,UAAA,oBAAC,OAAA,EAAM,MAAM,IAAI,QAAO,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACpC,GACF;AAAA,MAEF,WAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 cx = require("classnames");
|
|
6
|
+
const react = require("@phosphor-icons/react");
|
|
7
|
+
;/* empty css */
|
|
8
|
+
const Button = require("../button/Button.cjs");
|
|
9
|
+
const { Link } = antd.Typography;
|
|
10
|
+
const LabelWithCaret = ({ label }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11
|
+
label,
|
|
12
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.CaretDownIcon, { weight: "regular" })
|
|
13
|
+
] });
|
|
14
|
+
const Target = ({ label, type, disabled, icon, className }) => {
|
|
15
|
+
if (type === "basic-inline") {
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Link, { disabled, className: cx("flex gap-1", className), children: icon ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
17
|
+
icon,
|
|
18
|
+
label
|
|
19
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(LabelWithCaret, { label }) });
|
|
20
|
+
}
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { disabled, icon, className, children: icon ? label : /* @__PURE__ */ jsxRuntime.jsx(LabelWithCaret, { label }) });
|
|
22
|
+
};
|
|
23
|
+
const Dropdown = ({
|
|
24
|
+
label,
|
|
25
|
+
type,
|
|
26
|
+
icon,
|
|
27
|
+
menu,
|
|
28
|
+
menuType = "default",
|
|
29
|
+
targetClassName,
|
|
30
|
+
...props
|
|
31
|
+
}) => {
|
|
32
|
+
let menuProp = menu;
|
|
33
|
+
if (menuType === "slim" && typeof menu === "object") {
|
|
34
|
+
menuProp = {
|
|
35
|
+
...menu,
|
|
36
|
+
className: cx(menu.className, "j2-dropdown-slim-menu")
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (type === "twofold") {
|
|
40
|
+
return /* @__PURE__ */ jsxRuntime.jsx(antd.Dropdown.Button, { ...props, menu: menuProp, children: icon ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
41
|
+
icon,
|
|
42
|
+
" ",
|
|
43
|
+
label
|
|
44
|
+
] }) : label });
|
|
45
|
+
}
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsx(antd.Dropdown, { ...props, menu: menuProp, children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
Target,
|
|
48
|
+
{
|
|
49
|
+
label,
|
|
50
|
+
type,
|
|
51
|
+
disabled: props.disabled,
|
|
52
|
+
icon,
|
|
53
|
+
className: targetClassName
|
|
54
|
+
}
|
|
55
|
+
) }) });
|
|
56
|
+
};
|
|
57
|
+
exports.Dropdown = Dropdown;
|
|
58
|
+
//# sourceMappingURL=Dropdown.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.cjs","sources":["../../../../src/components/dropdown/Dropdown.tsx"],"sourcesContent":["import { Dropdown as AntdDropdown, DropdownProps, Typography } from 'antd'\nimport cx from 'classnames'\nimport { Button } from '../button'\nimport { CaretDownIcon } from '@phosphor-icons/react'\nimport './Dropdown.css'\n\nconst { Link } = Typography\n\nexport type Props = DropdownProps & {\n type?: 'basic' | 'basic-inline' | 'twofold'\n label?: string\n icon?: React.ReactNode\n menuType?: 'default' | 'slim'\n targetClassName?: string\n}\n\nexport type TargetProps = {\n label?: string\n type?: 'basic' | 'basic-inline' | 'twofold'\n disabled?: boolean\n icon?: React.ReactNode\n className?: string\n}\n\nconst LabelWithCaret = ({ label }: { label: string | undefined }) => (\n <div className=\"flex items-center gap-2\">\n {label}\n <CaretDownIcon weight=\"regular\" />\n </div>\n)\n\nconst Target = ({ label, type, disabled, icon, className }: TargetProps) => {\n if (type === 'basic-inline') {\n return (\n <Link disabled={disabled} className={cx('flex gap-1', className)}>\n {icon ? (\n <>\n {icon}\n {label}\n </>\n ) : (\n <LabelWithCaret label={label} />\n )}\n </Link>\n )\n }\n\n return (\n <Button disabled={disabled} icon={icon} className={className}>\n {icon ? label : <LabelWithCaret label={label} />}\n </Button>\n )\n}\n\nconst Dropdown = ({\n label,\n type,\n icon,\n menu,\n menuType = 'default',\n targetClassName,\n ...props\n}: Props) => {\n let menuProp = menu\n\n if (menuType === 'slim' && typeof menu === 'object') {\n menuProp = {\n ...menu,\n className: cx(menu.className, 'j2-dropdown-slim-menu'),\n }\n }\n\n if (type === 'twofold') {\n return (\n <AntdDropdown.Button {...props} menu={menuProp}>\n {icon ? (\n <>\n {icon} {label}\n </>\n ) : (\n label\n )}\n </AntdDropdown.Button>\n )\n }\n\n return (\n <AntdDropdown {...props} menu={menuProp}>\n <div>\n <Target\n label={label}\n type={type}\n disabled={props.disabled}\n icon={icon}\n className={targetClassName}\n />\n </div>\n </AntdDropdown>\n )\n}\n\nexport { Dropdown }\n"],"names":["Typography","jsxs","jsx","CaretDownIcon","Fragment","Button","AntdDropdown"],"mappings":";;;;;;;;AAMA,MAAM,EAAE,SAASA,KAAAA;AAkBjB,MAAM,iBAAiB,CAAC,EAAE,YACxBC,2BAAAA,KAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,EAAA;AAAA,EACDC,2BAAAA,IAACC,MAAAA,eAAA,EAAc,QAAO,UAAA,CAAU;AAAA,GAClC;AAGF,MAAM,SAAS,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM,gBAA6B;AAC1E,MAAI,SAAS,gBAAgB;AAC3B,WACED,2BAAAA,IAAC,QAAK,UAAoB,WAAW,GAAG,cAAc,SAAS,GAC5D,UAAA,OACCD,2BAAAA,KAAAG,WAAAA,UAAA,EACG,UAAA;AAAA,MAAA;AAAA,MACA;AAAA,IAAA,EAAA,CACH,IAEAF,2BAAAA,IAAC,gBAAA,EAAe,MAAA,CAAc,EAAA,CAElC;AAAA,EAEJ;AAEA,SACEA,2BAAAA,IAACG,OAAAA,QAAA,EAAO,UAAoB,MAAY,WACrC,iBAAO,QAAQH,2BAAAA,IAAC,gBAAA,EAAe,MAAA,CAAc,EAAA,CAChD;AAEJ;AAEA,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAa;AACX,MAAI,WAAW;AAEf,MAAI,aAAa,UAAU,OAAO,SAAS,UAAU;AACnD,eAAW;AAAA,MACT,GAAG;AAAA,MACH,WAAW,GAAG,KAAK,WAAW,uBAAuB;AAAA,IAAA;AAAA,EAEzD;AAEA,MAAI,SAAS,WAAW;AACtB,WACEA,2BAAAA,IAACI,KAAAA,SAAa,QAAb,EAAqB,GAAG,OAAO,MAAM,UACnC,UAAA,OACCL,2BAAAA,KAAAG,WAAAA,UAAA,EACG,UAAA;AAAA,MAAA;AAAA,MAAK;AAAA,MAAE;AAAA,IAAA,EAAA,CACV,IAEA,OAEJ;AAAA,EAEJ;AAEA,wCACGE,KAAAA,UAAA,EAAc,GAAG,OAAO,MAAM,UAC7B,yCAAC,OAAA,EACC,UAAAJ,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,UAAU,MAAM;AAAA,MAChB;AAAA,MACA,WAAW;AAAA,IAAA;AAAA,EAAA,GAEf,EAAA,CACF;AAEJ;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Dropdown as Dropdown$1, Typography } from "antd";
|
|
3
|
+
import cx from "classnames";
|
|
4
|
+
import { CaretDownIcon } from "@phosphor-icons/react";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { Button } from "../button/Button.js";
|
|
7
|
+
const { Link } = Typography;
|
|
8
|
+
const LabelWithCaret = ({ label }) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
9
|
+
label,
|
|
10
|
+
/* @__PURE__ */ jsx(CaretDownIcon, { weight: "regular" })
|
|
11
|
+
] });
|
|
12
|
+
const Target = ({ label, type, disabled, icon, className }) => {
|
|
13
|
+
if (type === "basic-inline") {
|
|
14
|
+
return /* @__PURE__ */ jsx(Link, { disabled, className: cx("flex gap-1", className), children: icon ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
15
|
+
icon,
|
|
16
|
+
label
|
|
17
|
+
] }) : /* @__PURE__ */ jsx(LabelWithCaret, { label }) });
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ jsx(Button, { disabled, icon, className, children: icon ? label : /* @__PURE__ */ jsx(LabelWithCaret, { label }) });
|
|
20
|
+
};
|
|
21
|
+
const Dropdown = ({
|
|
22
|
+
label,
|
|
23
|
+
type,
|
|
24
|
+
icon,
|
|
25
|
+
menu,
|
|
26
|
+
menuType = "default",
|
|
27
|
+
targetClassName,
|
|
28
|
+
...props
|
|
29
|
+
}) => {
|
|
30
|
+
let menuProp = menu;
|
|
31
|
+
if (menuType === "slim" && typeof menu === "object") {
|
|
32
|
+
menuProp = {
|
|
33
|
+
...menu,
|
|
34
|
+
className: cx(menu.className, "j2-dropdown-slim-menu")
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (type === "twofold") {
|
|
38
|
+
return /* @__PURE__ */ jsx(Dropdown$1.Button, { ...props, menu: menuProp, children: icon ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
39
|
+
icon,
|
|
40
|
+
" ",
|
|
41
|
+
label
|
|
42
|
+
] }) : label });
|
|
43
|
+
}
|
|
44
|
+
return /* @__PURE__ */ jsx(Dropdown$1, { ...props, menu: menuProp, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
|
|
45
|
+
Target,
|
|
46
|
+
{
|
|
47
|
+
label,
|
|
48
|
+
type,
|
|
49
|
+
disabled: props.disabled,
|
|
50
|
+
icon,
|
|
51
|
+
className: targetClassName
|
|
52
|
+
}
|
|
53
|
+
) }) });
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
Dropdown
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../src/components/dropdown/Dropdown.tsx"],"sourcesContent":["import { Dropdown as AntdDropdown, DropdownProps, Typography } from 'antd'\nimport cx from 'classnames'\nimport { Button } from '../button'\nimport { CaretDownIcon } from '@phosphor-icons/react'\nimport './Dropdown.css'\n\nconst { Link } = Typography\n\nexport type Props = DropdownProps & {\n type?: 'basic' | 'basic-inline' | 'twofold'\n label?: string\n icon?: React.ReactNode\n menuType?: 'default' | 'slim'\n targetClassName?: string\n}\n\nexport type TargetProps = {\n label?: string\n type?: 'basic' | 'basic-inline' | 'twofold'\n disabled?: boolean\n icon?: React.ReactNode\n className?: string\n}\n\nconst LabelWithCaret = ({ label }: { label: string | undefined }) => (\n <div className=\"flex items-center gap-2\">\n {label}\n <CaretDownIcon weight=\"regular\" />\n </div>\n)\n\nconst Target = ({ label, type, disabled, icon, className }: TargetProps) => {\n if (type === 'basic-inline') {\n return (\n <Link disabled={disabled} className={cx('flex gap-1', className)}>\n {icon ? (\n <>\n {icon}\n {label}\n </>\n ) : (\n <LabelWithCaret label={label} />\n )}\n </Link>\n )\n }\n\n return (\n <Button disabled={disabled} icon={icon} className={className}>\n {icon ? label : <LabelWithCaret label={label} />}\n </Button>\n )\n}\n\nconst Dropdown = ({\n label,\n type,\n icon,\n menu,\n menuType = 'default',\n targetClassName,\n ...props\n}: Props) => {\n let menuProp = menu\n\n if (menuType === 'slim' && typeof menu === 'object') {\n menuProp = {\n ...menu,\n className: cx(menu.className, 'j2-dropdown-slim-menu'),\n }\n }\n\n if (type === 'twofold') {\n return (\n <AntdDropdown.Button {...props} menu={menuProp}>\n {icon ? (\n <>\n {icon} {label}\n </>\n ) : (\n label\n )}\n </AntdDropdown.Button>\n )\n }\n\n return (\n <AntdDropdown {...props} menu={menuProp}>\n <div>\n <Target\n label={label}\n type={type}\n disabled={props.disabled}\n icon={icon}\n className={targetClassName}\n />\n </div>\n </AntdDropdown>\n )\n}\n\nexport { Dropdown }\n"],"names":["AntdDropdown"],"mappings":";;;;;;AAMA,MAAM,EAAE,SAAS;AAkBjB,MAAM,iBAAiB,CAAC,EAAE,YACxB,qBAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,EAAA;AAAA,EACD,oBAAC,eAAA,EAAc,QAAO,UAAA,CAAU;AAAA,GAClC;AAGF,MAAM,SAAS,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM,gBAA6B;AAC1E,MAAI,SAAS,gBAAgB;AAC3B,WACE,oBAAC,QAAK,UAAoB,WAAW,GAAG,cAAc,SAAS,GAC5D,UAAA,OACC,qBAAA,UAAA,EACG,UAAA;AAAA,MAAA;AAAA,MACA;AAAA,IAAA,EAAA,CACH,IAEA,oBAAC,gBAAA,EAAe,MAAA,CAAc,EAAA,CAElC;AAAA,EAEJ;AAEA,SACE,oBAAC,QAAA,EAAO,UAAoB,MAAY,WACrC,iBAAO,QAAQ,oBAAC,gBAAA,EAAe,MAAA,CAAc,EAAA,CAChD;AAEJ;AAEA,MAAM,WAAW,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAa;AACX,MAAI,WAAW;AAEf,MAAI,aAAa,UAAU,OAAO,SAAS,UAAU;AACnD,eAAW;AAAA,MACT,GAAG;AAAA,MACH,WAAW,GAAG,KAAK,WAAW,uBAAuB;AAAA,IAAA;AAAA,EAEzD;AAEA,MAAI,SAAS,WAAW;AACtB,WACE,oBAACA,WAAa,QAAb,EAAqB,GAAG,OAAO,MAAM,UACnC,UAAA,OACC,qBAAA,UAAA,EACG,UAAA;AAAA,MAAA;AAAA,MAAK;AAAA,MAAE;AAAA,IAAA,EAAA,CACV,IAEA,OAEJ;AAAA,EAEJ;AAEA,6BACGA,YAAA,EAAc,GAAG,OAAO,MAAM,UAC7B,8BAAC,OAAA,EACC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,UAAU,MAAM;AAAA,MAChB;AAAA,MACA,WAAW;AAAA,IAAA;AAAA,EAAA,GAEf,EAAA,CACF;AAEJ;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
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 FilterInput = require("./FilterInput.cjs");
|
|
6
|
+
const cx = require("classnames");
|
|
7
|
+
const FiltersForm_module = require("./FiltersForm.module.css.cjs");
|
|
8
|
+
const Button = require("../button/Button.cjs");
|
|
9
|
+
const FilterGroup = ({
|
|
10
|
+
filterGroup,
|
|
11
|
+
groupIndex,
|
|
12
|
+
filterConfigs,
|
|
13
|
+
className,
|
|
14
|
+
onRemove,
|
|
15
|
+
onChange,
|
|
16
|
+
onDone
|
|
17
|
+
}) => {
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
className: cx(
|
|
22
|
+
"flex flex-col gap-4",
|
|
23
|
+
{
|
|
24
|
+
[FiltersForm_module.default.filterFormGroupContainer]: filterGroup.filters.length > 1,
|
|
25
|
+
"p-3": filterGroup.filters.length > 1,
|
|
26
|
+
"pr-3": filterGroup.filters.length === 1
|
|
27
|
+
},
|
|
28
|
+
className
|
|
29
|
+
),
|
|
30
|
+
children: filterGroup.filters.map((filter, filterIndex) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
className: "flex items-center justify-between",
|
|
34
|
+
children: [
|
|
35
|
+
filterIndex >= 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx(FiltersForm_module.default.filterFormConjunction, "mr-3"), children: "and" }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
FilterInput.FilterInput,
|
|
38
|
+
{
|
|
39
|
+
value: filter,
|
|
40
|
+
filterConfigs,
|
|
41
|
+
className: "flex-1",
|
|
42
|
+
onChange: (filter2) => onChange(filter2, filterIndex),
|
|
43
|
+
onBlur: (filter2) => onDone(filter2, filterIndex)
|
|
44
|
+
},
|
|
45
|
+
`${groupIndex}:${filterIndex}`
|
|
46
|
+
),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
Button.Button,
|
|
49
|
+
{
|
|
50
|
+
type: "text",
|
|
51
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(react.TrashIcon, {}),
|
|
52
|
+
onClick: () => onRemove(filterIndex)
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
`${groupIndex}:${filterIndex}-input-container`
|
|
58
|
+
))
|
|
59
|
+
},
|
|
60
|
+
filterGroup.field
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
exports.FilterGroup = FilterGroup;
|
|
64
|
+
//# sourceMappingURL=FilterGroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterGroup.cjs","sources":["../../../../src/components/filterform/FilterGroup.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { TrashIcon } from '@phosphor-icons/react'\nimport { FilterInput } from './FilterInput'\nimport cx from 'classnames'\nimport s from './FiltersForm.module.css'\nimport { FilterConfig } from '.'\nimport { FormFilter } from './types'\n\ntype FilterGroupProps = {\n filterGroup: {\n field: string\n filters: FormFilter[]\n }\n groupIndex: number\n filterConfigs: FilterConfig[]\n className?: string\n onRemove: (index: number) => void\n onChange: (filter: FormFilter, index: number) => void\n onDone: (filter: FormFilter, index: number) => void\n}\n\nexport const FilterGroup = ({\n filterGroup,\n groupIndex,\n filterConfigs,\n className,\n onRemove,\n onChange,\n onDone,\n}: FilterGroupProps) => {\n return (\n <div\n key={filterGroup.field}\n className={cx(\n 'flex flex-col gap-4',\n {\n [s.filterFormGroupContainer]: filterGroup.filters.length > 1,\n 'p-3': filterGroup.filters.length > 1,\n 'pr-3': filterGroup.filters.length === 1,\n },\n className\n )}\n >\n {filterGroup.filters.map((filter, filterIndex) => (\n <div\n key={`${groupIndex}:${filterIndex}-input-container`}\n className=\"flex items-center justify-between\"\n >\n {filterIndex >= 1 && (\n <span className={cx(s.filterFormConjunction, 'mr-3')}>and</span>\n )}\n <FilterInput\n key={`${groupIndex}:${filterIndex}`}\n value={filter}\n filterConfigs={filterConfigs}\n className=\"flex-1\"\n onChange={(filter) => onChange(filter, filterIndex)}\n onBlur={(filter) => onDone(filter, filterIndex)}\n />\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => onRemove(filterIndex)}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"names":["jsx","s","jsxs","FilterInput","filter","Button","TrashIcon"],"mappings":";;;;;;;;AAqBO,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAACC,mBAAAA,QAAE,wBAAwB,GAAG,YAAY,QAAQ,SAAS;AAAA,UAC3D,OAAO,YAAY,QAAQ,SAAS;AAAA,UACpC,QAAQ,YAAY,QAAQ,WAAW;AAAA,QAAA;AAAA,QAEzC;AAAA,MAAA;AAAA,MAGD,UAAA,YAAY,QAAQ,IAAI,CAAC,QAAQ,gBAChCC,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAU;AAAA,UAET,UAAA;AAAA,YAAA,eAAe,oCACb,QAAA,EAAK,WAAW,GAAGD,mBAAAA,QAAE,uBAAuB,MAAM,GAAG,UAAA,MAAA,CAAG;AAAA,YAE3DD,2BAAAA;AAAAA,cAACG,YAAAA;AAAAA,cAAA;AAAA,gBAEC,OAAO;AAAA,gBACP;AAAA,gBACA,WAAU;AAAA,gBACV,UAAU,CAACC,YAAW,SAASA,SAAQ,WAAW;AAAA,gBAClD,QAAQ,CAACA,YAAW,OAAOA,SAAQ,WAAW;AAAA,cAAA;AAAA,cALzC,GAAG,UAAU,IAAI,WAAW;AAAA,YAAA;AAAA,YAOnCJ,2BAAAA;AAAAA,cAACK,OAAAA;AAAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,qCAAOC,MAAAA,WAAA,EAAU;AAAA,gBACjB,SAAS,MAAM,SAAS,WAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UACrC;AAAA,QAAA;AAAA,QAlBK,GAAG,UAAU,IAAI,WAAW;AAAA,MAAA,CAoBpC;AAAA,IAAA;AAAA,IAjCI,YAAY;AAAA,EAAA;AAoCvB;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { TrashIcon } from "@phosphor-icons/react";
|
|
3
|
+
import { FilterInput } from "./FilterInput.js";
|
|
4
|
+
import cx from "classnames";
|
|
5
|
+
import s from "./FiltersForm.module.css.js";
|
|
6
|
+
import { Button } from "../button/Button.js";
|
|
7
|
+
const FilterGroup = ({
|
|
8
|
+
filterGroup,
|
|
9
|
+
groupIndex,
|
|
10
|
+
filterConfigs,
|
|
11
|
+
className,
|
|
12
|
+
onRemove,
|
|
13
|
+
onChange,
|
|
14
|
+
onDone
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
className: cx(
|
|
20
|
+
"flex flex-col gap-4",
|
|
21
|
+
{
|
|
22
|
+
[s.filterFormGroupContainer]: filterGroup.filters.length > 1,
|
|
23
|
+
"p-3": filterGroup.filters.length > 1,
|
|
24
|
+
"pr-3": filterGroup.filters.length === 1
|
|
25
|
+
},
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
children: filterGroup.filters.map((filter, filterIndex) => /* @__PURE__ */ jsxs(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: "flex items-center justify-between",
|
|
32
|
+
children: [
|
|
33
|
+
filterIndex >= 1 && /* @__PURE__ */ jsx("span", { className: cx(s.filterFormConjunction, "mr-3"), children: "and" }),
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
FilterInput,
|
|
36
|
+
{
|
|
37
|
+
value: filter,
|
|
38
|
+
filterConfigs,
|
|
39
|
+
className: "flex-1",
|
|
40
|
+
onChange: (filter2) => onChange(filter2, filterIndex),
|
|
41
|
+
onBlur: (filter2) => onDone(filter2, filterIndex)
|
|
42
|
+
},
|
|
43
|
+
`${groupIndex}:${filterIndex}`
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
Button,
|
|
47
|
+
{
|
|
48
|
+
type: "text",
|
|
49
|
+
icon: /* @__PURE__ */ jsx(TrashIcon, {}),
|
|
50
|
+
onClick: () => onRemove(filterIndex)
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
`${groupIndex}:${filterIndex}-input-container`
|
|
56
|
+
))
|
|
57
|
+
},
|
|
58
|
+
filterGroup.field
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
FilterGroup
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=FilterGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterGroup.js","sources":["../../../../src/components/filterform/FilterGroup.tsx"],"sourcesContent":["import { Button } from '../button'\nimport { TrashIcon } from '@phosphor-icons/react'\nimport { FilterInput } from './FilterInput'\nimport cx from 'classnames'\nimport s from './FiltersForm.module.css'\nimport { FilterConfig } from '.'\nimport { FormFilter } from './types'\n\ntype FilterGroupProps = {\n filterGroup: {\n field: string\n filters: FormFilter[]\n }\n groupIndex: number\n filterConfigs: FilterConfig[]\n className?: string\n onRemove: (index: number) => void\n onChange: (filter: FormFilter, index: number) => void\n onDone: (filter: FormFilter, index: number) => void\n}\n\nexport const FilterGroup = ({\n filterGroup,\n groupIndex,\n filterConfigs,\n className,\n onRemove,\n onChange,\n onDone,\n}: FilterGroupProps) => {\n return (\n <div\n key={filterGroup.field}\n className={cx(\n 'flex flex-col gap-4',\n {\n [s.filterFormGroupContainer]: filterGroup.filters.length > 1,\n 'p-3': filterGroup.filters.length > 1,\n 'pr-3': filterGroup.filters.length === 1,\n },\n className\n )}\n >\n {filterGroup.filters.map((filter, filterIndex) => (\n <div\n key={`${groupIndex}:${filterIndex}-input-container`}\n className=\"flex items-center justify-between\"\n >\n {filterIndex >= 1 && (\n <span className={cx(s.filterFormConjunction, 'mr-3')}>and</span>\n )}\n <FilterInput\n key={`${groupIndex}:${filterIndex}`}\n value={filter}\n filterConfigs={filterConfigs}\n className=\"flex-1\"\n onChange={(filter) => onChange(filter, filterIndex)}\n onBlur={(filter) => onDone(filter, filterIndex)}\n />\n <Button\n type=\"text\"\n icon={<TrashIcon />}\n onClick={() => onRemove(filterIndex)}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"names":["filter"],"mappings":";;;;;;AAqBO,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,EAAE,wBAAwB,GAAG,YAAY,QAAQ,SAAS;AAAA,UAC3D,OAAO,YAAY,QAAQ,SAAS;AAAA,UACpC,QAAQ,YAAY,QAAQ,WAAW;AAAA,QAAA;AAAA,QAEzC;AAAA,MAAA;AAAA,MAGD,UAAA,YAAY,QAAQ,IAAI,CAAC,QAAQ,gBAChC;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAU;AAAA,UAET,UAAA;AAAA,YAAA,eAAe,yBACb,QAAA,EAAK,WAAW,GAAG,EAAE,uBAAuB,MAAM,GAAG,UAAA,MAAA,CAAG;AAAA,YAE3D;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,OAAO;AAAA,gBACP;AAAA,gBACA,WAAU;AAAA,gBACV,UAAU,CAACA,YAAW,SAASA,SAAQ,WAAW;AAAA,gBAClD,QAAQ,CAACA,YAAW,OAAOA,SAAQ,WAAW;AAAA,cAAA;AAAA,cALzC,GAAG,UAAU,IAAI,WAAW;AAAA,YAAA;AAAA,YAOnC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,0BAAO,WAAA,EAAU;AAAA,gBACjB,SAAS,MAAM,SAAS,WAAW;AAAA,cAAA;AAAA,YAAA;AAAA,UACrC;AAAA,QAAA;AAAA,QAlBK,GAAG,UAAU,IAAI,WAAW;AAAA,MAAA,CAoBpC;AAAA,IAAA;AAAA,IAjCI,YAAY;AAAA,EAAA;AAoCvB;"}
|
|
@@ -0,0 +1,238 @@
|
|
|
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 useFilterField = require("./useFilterField.cjs");
|
|
6
|
+
const antd = require("antd");
|
|
7
|
+
const filterHelpers = require("./filterHelpers.cjs");
|
|
8
|
+
const cx = require("classnames");
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
11
|
+
if (e) {
|
|
12
|
+
for (const k in e) {
|
|
13
|
+
if (k !== "default") {
|
|
14
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: () => e[k]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
26
|
+
const FilterInput = ({
|
|
27
|
+
value,
|
|
28
|
+
filterConfigs,
|
|
29
|
+
onChange,
|
|
30
|
+
onBlur,
|
|
31
|
+
className,
|
|
32
|
+
size = "middle"
|
|
33
|
+
}) => {
|
|
34
|
+
const {
|
|
35
|
+
filter,
|
|
36
|
+
operatorOptions,
|
|
37
|
+
valueInputConfig,
|
|
38
|
+
handleFieldChange,
|
|
39
|
+
handleOperatorChange,
|
|
40
|
+
handleValuesChange
|
|
41
|
+
} = useFilterField.useFilterField({
|
|
42
|
+
filterConfigs,
|
|
43
|
+
filter: value
|
|
44
|
+
});
|
|
45
|
+
const fieldOptions = filterConfigs.map((config) => ({
|
|
46
|
+
label: config.label,
|
|
47
|
+
value: config.field,
|
|
48
|
+
disabled: config.disabled
|
|
49
|
+
}));
|
|
50
|
+
const latestFilterRef = React__namespace.useRef(filter);
|
|
51
|
+
latestFilterRef.current = filter;
|
|
52
|
+
const handleBlur = () => {
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
const latest = latestFilterRef.current;
|
|
55
|
+
if (latest) onBlur == null ? void 0 : onBlur(latest);
|
|
56
|
+
}, 0);
|
|
57
|
+
};
|
|
58
|
+
const isInitialMount = React__namespace.useRef(true);
|
|
59
|
+
const prevFilterRef = React__namespace.useRef(filter);
|
|
60
|
+
React__namespace.useEffect(() => {
|
|
61
|
+
if (isInitialMount.current) {
|
|
62
|
+
isInitialMount.current = false;
|
|
63
|
+
prevFilterRef.current = filter;
|
|
64
|
+
if (value && filter && wasCorrectedOnInit(value, filter)) {
|
|
65
|
+
onChange == null ? void 0 : onChange(filter);
|
|
66
|
+
}
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (filter && filter !== prevFilterRef.current) {
|
|
70
|
+
prevFilterRef.current = filter;
|
|
71
|
+
onChange == null ? void 0 : onChange(filter);
|
|
72
|
+
}
|
|
73
|
+
}, [filter, onChange]);
|
|
74
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx("grid grid-cols-3 gap-2", className), children: [
|
|
75
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
76
|
+
antd.Select,
|
|
77
|
+
{
|
|
78
|
+
options: fieldOptions,
|
|
79
|
+
value: filter == null ? void 0 : filter.field,
|
|
80
|
+
showSearch: true,
|
|
81
|
+
optionFilterProp: "label",
|
|
82
|
+
onChange: handleFieldChange,
|
|
83
|
+
size
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 flex gap-2", children: [
|
|
87
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
+
antd.Select,
|
|
89
|
+
{
|
|
90
|
+
options: operatorOptions,
|
|
91
|
+
value: filter == null ? void 0 : filter.operator,
|
|
92
|
+
onChange: handleOperatorChange,
|
|
93
|
+
onBlur: handleBlur,
|
|
94
|
+
size,
|
|
95
|
+
popupMatchSelectWidth: false
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
valueInputConfig && /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
ValueInput,
|
|
100
|
+
{
|
|
101
|
+
valueInputConfig,
|
|
102
|
+
values: filter == null ? void 0 : filter.values,
|
|
103
|
+
onChange: handleValuesChange,
|
|
104
|
+
onBlur: handleBlur,
|
|
105
|
+
size
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
] })
|
|
109
|
+
] });
|
|
110
|
+
};
|
|
111
|
+
const sameList = (a, b) => a.length === b.length && a.every((item, i) => item === b[i]);
|
|
112
|
+
const wasCorrectedOnInit = (persisted, current) => persisted.operator !== current.operator || !sameList(persisted.values, current.values) || persisted.errors === void 0 || !sameList(persisted.errors, current.errors ?? []);
|
|
113
|
+
const ValueInput = ({
|
|
114
|
+
valueInputConfig,
|
|
115
|
+
values,
|
|
116
|
+
onChange,
|
|
117
|
+
onBlur,
|
|
118
|
+
size
|
|
119
|
+
}) => {
|
|
120
|
+
const handleChange = (value) => {
|
|
121
|
+
if (value === null) {
|
|
122
|
+
onChange([]);
|
|
123
|
+
} else {
|
|
124
|
+
onChange([value]);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const handleNumberChange = (value, index) => {
|
|
128
|
+
const newValues = [
|
|
129
|
+
...values ?? []
|
|
130
|
+
];
|
|
131
|
+
newValues[index] = value;
|
|
132
|
+
onChange(newValues);
|
|
133
|
+
};
|
|
134
|
+
switch (valueInputConfig.type) {
|
|
135
|
+
case "select":
|
|
136
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
antd.Select,
|
|
138
|
+
{
|
|
139
|
+
options: valueInputConfig.valueOptions,
|
|
140
|
+
onChange,
|
|
141
|
+
showSearch: true,
|
|
142
|
+
allowClear: true,
|
|
143
|
+
mode: "multiple",
|
|
144
|
+
onBlur,
|
|
145
|
+
value: values,
|
|
146
|
+
className: "w-full truncate",
|
|
147
|
+
size,
|
|
148
|
+
optionFilterProp: "label"
|
|
149
|
+
}
|
|
150
|
+
);
|
|
151
|
+
case "number":
|
|
152
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-2 grow", children: Array.from({ length: valueInputConfig.inputCount }).map(
|
|
153
|
+
(_, index) => /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
|
|
154
|
+
index !== 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "my-auto", children: "and" }),
|
|
155
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
156
|
+
antd.InputNumber,
|
|
157
|
+
{
|
|
158
|
+
onChange: (value) => handleNumberChange(value, index),
|
|
159
|
+
onBlur,
|
|
160
|
+
value: values == null ? void 0 : values[index],
|
|
161
|
+
className: "basis-1/2",
|
|
162
|
+
size,
|
|
163
|
+
...valueInputConfig.numberOptions ?? {}
|
|
164
|
+
}
|
|
165
|
+
)
|
|
166
|
+
] }, `number-input-${index}`)
|
|
167
|
+
) });
|
|
168
|
+
case "text":
|
|
169
|
+
if (valueInputConfig.multiValue) {
|
|
170
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
171
|
+
MultiValueTextInput,
|
|
172
|
+
{
|
|
173
|
+
values,
|
|
174
|
+
maxValues: valueInputConfig.maxValues,
|
|
175
|
+
onChange,
|
|
176
|
+
onBlur,
|
|
177
|
+
size
|
|
178
|
+
}
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
182
|
+
antd.Input,
|
|
183
|
+
{
|
|
184
|
+
onBlur,
|
|
185
|
+
value: (values == null ? void 0 : values[0]) ?? void 0,
|
|
186
|
+
onChange: (e) => handleChange(e.target.value),
|
|
187
|
+
className: "w-full",
|
|
188
|
+
size
|
|
189
|
+
}
|
|
190
|
+
);
|
|
191
|
+
default:
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const MULTI_VALUE_TOKEN_SEPARATORS = [",", "\n", "\r", " "];
|
|
196
|
+
const MultiValueTextInput = ({
|
|
197
|
+
values,
|
|
198
|
+
maxValues,
|
|
199
|
+
onChange,
|
|
200
|
+
onBlur,
|
|
201
|
+
size
|
|
202
|
+
}) => {
|
|
203
|
+
const chips = (values ?? []).flatMap(
|
|
204
|
+
(value) => value === null || value === void 0 ? [] : [String(value)]
|
|
205
|
+
);
|
|
206
|
+
const over = maxValues !== void 0 && chips.length > maxValues;
|
|
207
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 w-full min-w-0", children: [
|
|
208
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
209
|
+
antd.Select,
|
|
210
|
+
{
|
|
211
|
+
mode: "tags",
|
|
212
|
+
tokenSeparators: MULTI_VALUE_TOKEN_SEPARATORS,
|
|
213
|
+
value: chips,
|
|
214
|
+
onChange: (next) => onChange(filterHelpers.normalizeMultiValues(next)),
|
|
215
|
+
onBlur,
|
|
216
|
+
open: false,
|
|
217
|
+
suffixIcon: null,
|
|
218
|
+
placeholder: "Type or paste values, separated by commas",
|
|
219
|
+
className: "w-full",
|
|
220
|
+
size,
|
|
221
|
+
status: over ? "error" : void 0,
|
|
222
|
+
"aria-label": "Values"
|
|
223
|
+
}
|
|
224
|
+
),
|
|
225
|
+
maxValues !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
+
antd.Typography.Text,
|
|
227
|
+
{
|
|
228
|
+
type: over ? "danger" : "secondary",
|
|
229
|
+
className: "text-xs",
|
|
230
|
+
role: over ? "alert" : void 0,
|
|
231
|
+
children: over ? `${filterHelpers.tooManyValuesMessage(maxValues)} — remove ${chips.length - maxValues} to apply` : `${chips.length} / ${maxValues} values`
|
|
232
|
+
}
|
|
233
|
+
)
|
|
234
|
+
] });
|
|
235
|
+
};
|
|
236
|
+
exports.FilterInput = FilterInput;
|
|
237
|
+
exports.MULTI_VALUE_TOKEN_SEPARATORS = MULTI_VALUE_TOKEN_SEPARATORS;
|
|
238
|
+
//# sourceMappingURL=FilterInput.cjs.map
|