react-restyle-components 0.4.36 → 0.4.38
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/lib/index.d.ts +0 -1
- package/lib/index.js +1 -3
- package/lib/src/core-components/index.d.ts +0 -1
- package/lib/src/core-components/index.js +1 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.js +1 -15
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.js +1 -6
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.js +1 -39
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.js +1 -39
- package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +57 -94
- package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.js +1 -13
- package/lib/src/core-components/src/components/Accordion/AccordionSection/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/index.js +1 -3
- package/lib/src/core-components/src/components/Accordion/AccordionSection/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/AccordionSection/types.js +1 -9
- package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.js +1 -249
- package/lib/src/core-components/src/components/Action/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Action/types.js +1 -8
- package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +1 -45
- package/lib/src/core-components/src/components/AlertBanner/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/elements.js +45 -120
- package/lib/src/core-components/src/components/AlertBanner/index.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/index.js +1 -2
- package/lib/src/core-components/src/components/AlertBanner/types.d.ts +0 -1
- package/lib/src/core-components/src/components/AlertBanner/types.js +1 -10
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.js +1 -334
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.js +1 -229
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.js +1 -174
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +2 -129
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +1 -55
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +2 -308
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.js +1 -115
- package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.js +2 -442
- package/lib/src/core-components/src/components/AutoComplete/index.d.ts +0 -1
- package/lib/src/core-components/src/components/AutoComplete/index.js +1 -8
- package/lib/src/core-components/src/components/Avatar/Avatar.d.ts +0 -1
- package/lib/src/core-components/src/components/Avatar/Avatar.js +14 -148
- package/lib/src/core-components/src/components/Badge/Badge.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/Badge.js +2 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.js +1 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.js +1 -25
- package/lib/src/core-components/src/components/Badge/InnerBadge/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/elements.js +32 -78
- package/lib/src/core-components/src/components/Badge/InnerBadge/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/InnerBadge/index.js +1 -1
- package/lib/src/core-components/src/components/Badge/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/index.js +1 -1
- package/lib/src/core-components/src/components/Badge/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Badge/types.js +1 -5
- package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +1 -83
- package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/elements.js +94 -166
- package/lib/src/core-components/src/components/Breadcrumb/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/index.js +1 -3
- package/lib/src/core-components/src/components/Breadcrumb/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Breadcrumb/types.js +1 -3
- package/lib/src/core-components/src/components/Button/button.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/button.component.js +1 -18
- package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.js +1 -4
- package/lib/src/core-components/src/components/Button/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/index.js +1 -2
- package/lib/src/core-components/src/components/Button/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Button/types.js +1 -1
- package/lib/src/core-components/src/components/Chip/Chip.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/Chip.js +1 -64
- package/lib/src/core-components/src/components/Chip/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/elements.js +48 -148
- package/lib/src/core-components/src/components/Chip/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/index.js +1 -2
- package/lib/src/core-components/src/components/Chip/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Chip/types.js +1 -4
- package/lib/src/core-components/src/components/Divider/Divider.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/Divider.js +1 -25
- package/lib/src/core-components/src/components/Divider/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/elements.js +31 -68
- package/lib/src/core-components/src/components/Divider/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/index.js +1 -2
- package/lib/src/core-components/src/components/Divider/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Divider/types.js +1 -4
- package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +1 -147
- package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +17 -24
- package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/elements.js +100 -162
- package/lib/src/core-components/src/components/DynamicGrid/index.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/index.js +1 -3
- package/lib/src/core-components/src/components/DynamicGrid/types.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/types.js +1 -28
- package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts +0 -1
- package/lib/src/core-components/src/components/DynamicGrid/utils.js +1 -193
- package/lib/src/core-components/src/components/FormField/FormField.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/FormField.js +1 -103
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +1 -37
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +1 -8
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +1 -192
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +1 -99
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +1 -70
- package/lib/src/core-components/src/components/FormField/components/OtpInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/OtpInput.js +1 -81
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +1 -40
- package/lib/src/core-components/src/components/FormField/components/PinInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/PinInput.js +1 -75
- package/lib/src/core-components/src/components/FormField/components/RadioInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/RadioInput.js +1 -54
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +1 -94
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +1 -36
- package/lib/src/core-components/src/components/FormField/components/index.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/components/index.js +1 -11
- package/lib/src/core-components/src/components/FormField/css-properties.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/css-properties.js +1 -161
- package/lib/src/core-components/src/components/FormField/index.d.ts +0 -1
- package/lib/src/core-components/src/components/FormField/index.js +1 -2
- package/lib/src/core-components/src/components/Icon/Icon.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/Icon.js +1 -79
- package/lib/src/core-components/src/components/Icon/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/index.js +1 -2
- package/lib/src/core-components/src/components/Icon/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Icon/types.js +1 -9
- package/lib/src/core-components/src/components/Loader/loader.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Loader/loader.component.js +2 -215
- package/lib/src/core-components/src/components/Masonry/Masonry.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/Masonry.js +1 -73
- package/lib/src/core-components/src/components/Masonry/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/elements.js +29 -46
- package/lib/src/core-components/src/components/Masonry/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/hooks.js +1 -100
- package/lib/src/core-components/src/components/Masonry/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/index.js +1 -3
- package/lib/src/core-components/src/components/Masonry/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Masonry/types.js +1 -1
- package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.js +1 -116
- package/lib/src/core-components/src/components/Modal/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/index.js +1 -2
- package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +1 -147
- package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +1 -12
- package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +1 -40
- package/lib/src/core-components/src/components/Picker/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Picker/index.js +1 -2
- package/lib/src/core-components/src/components/Selection/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/index.js +1 -4
- package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +1 -49
- package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.js +1 -58
- package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.js +1 -43
- package/lib/src/core-components/src/components/Selection/single-select/single-select.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +1 -87
- package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/Skeleton.js +1 -51
- package/lib/src/core-components/src/components/Skeleton/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/elements.js +54 -143
- package/lib/src/core-components/src/components/Skeleton/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/index.js +1 -2
- package/lib/src/core-components/src/components/Skeleton/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Skeleton/types.js +1 -4
- package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +1 -128
- package/lib/src/core-components/src/components/SpeedDial/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/elements.js +62 -132
- package/lib/src/core-components/src/components/SpeedDial/index.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/index.js +1 -2
- package/lib/src/core-components/src/components/SpeedDial/types.d.ts +0 -1
- package/lib/src/core-components/src/components/SpeedDial/types.js +1 -3
- package/lib/src/core-components/src/components/Stepper2/stepper.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Stepper2/stepper.component.js +1 -139
- package/lib/src/core-components/src/components/Switch/Switch.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/Switch.js +1 -26
- package/lib/src/core-components/src/components/Switch/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/elements.js +34 -103
- package/lib/src/core-components/src/components/Switch/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/index.js +1 -2
- package/lib/src/core-components/src/components/Switch/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Switch/types.js +1 -3
- package/lib/src/core-components/src/components/Table/Table.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/Table.js +1 -1100
- package/lib/src/core-components/src/components/Table/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/elements.js +153 -240
- package/lib/src/core-components/src/components/Table/filters.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/filters.js +30 -555
- package/lib/src/core-components/src/components/Table/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/hooks.js +2 -536
- package/lib/src/core-components/src/components/Table/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/index.js +1 -4
- package/lib/src/core-components/src/components/Table/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Table/types.js +1 -1
- package/lib/src/core-components/src/components/Tabs/tabs.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Tabs/tabs.component.js +1 -22
- package/lib/src/core-components/src/components/Tags1/Tags.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Tags1/Tags.component.js +1 -118
- package/lib/src/core-components/src/components/Tags1/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Tags1/types.js +1 -20
- package/lib/src/core-components/src/components/Timer1/timer.component.d.ts +0 -1
- package/lib/src/core-components/src/components/Timer1/timer.component.js +1 -76
- package/lib/src/core-components/src/components/Toast/Toast.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/Toast.js +1 -50
- package/lib/src/core-components/src/components/Toast/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/elements.js +41 -122
- package/lib/src/core-components/src/components/Toast/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/index.js +1 -2
- package/lib/src/core-components/src/components/Toast/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Toast/types.js +1 -9
- package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/Tooltip.js +1 -200
- package/lib/src/core-components/src/components/Tooltip/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/elements.js +55 -117
- package/lib/src/core-components/src/components/Tooltip/index.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/index.js +1 -2
- package/lib/src/core-components/src/components/Tooltip/types.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/types.js +1 -17
- package/lib/src/core-components/src/components/Tooltip/utils.d.ts +0 -1
- package/lib/src/core-components/src/components/Tooltip/utils.js +1 -140
- package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +1 -303
- package/lib/src/core-components/src/components/TreeSelect/elements.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/elements.js +117 -216
- package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/hooks.js +1 -252
- package/lib/src/core-components/src/components/TreeSelect/index.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/index.js +1 -3
- package/lib/src/core-components/src/components/TreeSelect/types.d.ts +0 -1
- package/lib/src/core-components/src/components/TreeSelect/types.js +1 -1
- package/lib/src/core-components/src/components/index.d.ts +0 -1
- package/lib/src/core-components/src/components/index.js +1 -30
- package/lib/src/core-components/src/components/pdf/pdf-images.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-images.components.js +1 -7
- package/lib/src/core-components/src/components/pdf/pdf-table.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-table.components.js +5 -48
- package/lib/src/core-components/src/components/pdf/pdf-typography.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-typography.components.js +1 -70
- package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.d.ts +0 -1
- package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.js +1 -50
- package/lib/src/core-components/src/core-components/Avatar.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Avatar.js +4 -33
- package/lib/src/core-components/src/core-components/CoreButton/CoreButton.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/CoreButton.js +1 -10
- package/lib/src/core-components/src/core-components/CoreButton/elements.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/elements.js +67 -176
- package/lib/src/core-components/src/core-components/CoreButton/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/index.js +1 -3
- package/lib/src/core-components/src/core-components/CoreButton/types.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/types.js +1 -6
- package/lib/src/core-components/src/core-components/CoreButton/utils.d.ts +0 -1
- package/lib/src/core-components/src/core-components/CoreButton/utils.js +1 -12
- package/lib/src/core-components/src/core-components/Divider/Divider.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Divider/Divider.js +4 -19
- package/lib/src/core-components/src/core-components/Divider/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/Divider/index.js +1 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/index.js +1 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.d.ts +0 -1
- package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.js +10 -33
- package/lib/src/core-components/src/core-components/StateLayer.d.ts +0 -1
- package/lib/src/core-components/src/core-components/StateLayer.js +3 -5
- package/lib/src/core-components/src/core-components/ToggleCore/elements.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/elements.js +25 -50
- package/lib/src/core-components/src/core-components/ToggleCore/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/index.js +1 -2
- package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.d.ts +0 -1
- package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.js +1 -14
- package/lib/src/core-components/src/core-components/atoms/Input/Input.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Input/Input.js +1 -22
- package/lib/src/core-components/src/core-components/atoms/Label/Label.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Label/Label.js +1 -21
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.d.ts +0 -1
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +1 -19
- package/lib/src/core-components/src/core-components/index.d.ts +0 -1
- package/lib/src/core-components/src/core-components/index.js +1 -3
- package/lib/src/core-components/src/helpers/constants.d.ts +0 -1
- package/lib/src/core-components/src/helpers/constants.js +1 -11
- package/lib/src/core-components/src/hooks/index.d.ts +0 -1
- package/lib/src/core-components/src/hooks/index.js +1 -1
- package/lib/src/core-components/src/hooks/outside.hook.d.ts +0 -1
- package/lib/src/core-components/src/hooks/outside.hook.js +1 -28
- package/lib/src/core-components/src/index.d.ts +0 -1
- package/lib/src/core-components/src/index.js +1 -12
- package/lib/src/core-components/src/tc.global.css +2 -0
- package/lib/src/core-components/src/utils/abstracts/breakpoints/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/breakpoints/index.js +1 -28
- package/lib/src/core-components/src/utils/abstracts/colors/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/colors/index.js +1 -49
- package/lib/src/core-components/src/utils/abstracts/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/index.js +1 -5
- package/lib/src/core-components/src/utils/abstracts/space/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/space/index.js +1 -26
- package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.js +1 -8
- package/lib/src/core-components/src/utils/abstracts/theme/default-themes.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/default-themes.js +1 -30
- package/lib/src/core-components/src/utils/abstracts/theme/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/index.js +1 -3
- package/lib/src/core-components/src/utils/abstracts/theme/theme.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/theme.js +1 -30
- package/lib/src/core-components/src/utils/abstracts/theme/types.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/types.js +1 -1
- package/lib/src/core-components/src/utils/abstracts/theme/useTheme.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/theme/useTheme.js +1 -17
- package/lib/src/core-components/src/utils/abstracts/typography/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/abstracts/typography/index.js +1 -25
- package/lib/src/core-components/src/utils/context/DefaultsProvider.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/DefaultsProvider.js +1 -8
- package/lib/src/core-components/src/utils/context/InternalProvider.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/InternalProvider.js +1 -24
- package/lib/src/core-components/src/utils/context/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/context/index.js +1 -2
- package/lib/src/core-components/src/utils/designTokens.d.ts +0 -1
- package/lib/src/core-components/src/utils/designTokens.js +1 -125
- package/lib/src/core-components/src/utils/helpers/attachSubComponents.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/attachSubComponents.js +1 -23
- package/lib/src/core-components/src/utils/helpers/flattenChildren.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/flattenChildren.js +1 -11
- package/lib/src/core-components/src/utils/helpers/getChildByType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/getChildByType.js +1 -3
- package/lib/src/core-components/src/utils/helpers/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/index.js +1 -5
- package/lib/src/core-components/src/utils/helpers/isComponentType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/isComponentType.js +1 -16
- package/lib/src/core-components/src/utils/helpers/separateChildrenByType.d.ts +0 -1
- package/lib/src/core-components/src/utils/helpers/separateChildrenByType.js +1 -12
- package/lib/src/core-components/src/utils/hooks/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/index.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useClickOutside.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useClickOutside.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useCombinedRefs.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useCombinedRefs.js +1 -17
- package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.js +1 -12
- package/lib/src/core-components/src/utils/hooks/useDebouncedValue.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDebouncedValue.js +1 -20
- package/lib/src/core-components/src/utils/hooks/useDeprecation.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeprecation.js +1 -40
- package/lib/src/core-components/src/utils/hooks/useDeviceDetect.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeviceDetect.js +1 -10
- package/lib/src/core-components/src/utils/hooks/useDeviceForm.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDeviceForm.js +1 -24
- package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.js +1 -16
- package/lib/src/core-components/src/utils/hooks/useHoverState.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useHoverState.js +1 -36
- package/lib/src/core-components/src/utils/hooks/useId.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useId.js +1 -7
- package/lib/src/core-components/src/utils/hooks/useIsBrowser.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useIsBrowser.js +1 -11
- package/lib/src/core-components/src/utils/hooks/useMediaQuery.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useMediaQuery.js +1 -16
- package/lib/src/core-components/src/utils/hooks/useOverflow.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useOverflow.js +1 -22
- package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.js +1 -5
- package/lib/src/core-components/src/utils/hooks/useScrollingUp.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useScrollingUp.js +1 -18
- package/lib/src/core-components/src/utils/hooks/useTrapFocus.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useTrapFocus.js +1 -30
- package/lib/src/core-components/src/utils/hooks/useWindowDimensions.d.ts +0 -1
- package/lib/src/core-components/src/utils/hooks/useWindowDimensions.js +1 -23
- package/lib/src/core-components/src/utils/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/index.js +1 -9
- package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.js +1 -5
- package/lib/src/core-components/src/utils/styling/createGridContainer.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/createGridContainer.js +6 -12
- package/lib/src/core-components/src/utils/styling/createTransition.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/createTransition.js +2 -7
- package/lib/src/core-components/src/utils/styling/forwardProps.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/forwardProps.js +1 -10
- package/lib/src/core-components/src/utils/styling/index.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/index.js +1 -5
- package/lib/src/core-components/src/utils/styling/pxToRem.d.ts +0 -1
- package/lib/src/core-components/src/utils/styling/pxToRem.js +1 -6
- package/lib/src/core-components/src/utils/utility.util.d.ts +0 -1
- package/lib/src/core-components/src/utils/utility.util.js +1 -14
- package/lib/src/core-hooks/index.d.ts +0 -1
- package/lib/src/core-hooks/index.js +1 -3
- package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.js +1 -46
- package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.js +1 -30
- package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.d.ts +0 -1
- package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.js +1 -8
- package/lib/src/core-utils/index.d.ts +0 -1
- package/lib/src/core-utils/index.js +1 -7
- package/lib/src/core-utils/src/calculation/calculation.util.d.ts +0 -1
- package/lib/src/core-utils/src/calculation/calculation.util.js +1 -89
- package/lib/src/core-utils/src/colors/color.util.d.ts +0 -1
- package/lib/src/core-utils/src/colors/color.util.js +1 -15
- package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.d.ts +0 -1
- package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.js +1 -145
- package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.d.ts +0 -1
- package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.js +1 -5
- package/lib/src/core-utils/src/form-helper/form-helper.util.d.ts +0 -1
- package/lib/src/core-utils/src/form-helper/form-helper.util.js +1 -82
- package/lib/src/core-utils/src/index.d.ts +0 -1
- package/lib/src/core-utils/src/index.js +1 -7
- package/lib/src/core-utils/src/utility/utility.util.d.ts +0 -1
- package/lib/src/core-utils/src/utility/utility.util.js +1 -12
- package/lib/src/core-utils/src/uuid/uuid.util.d.ts +0 -1
- package/lib/src/core-utils/src/uuid/uuid.util.js +1 -8
- package/package.json +2 -1
- package/lib/src/core-components/src/assets/styles/fontface.css +0 -17
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionTestData.d.ts +0 -5
- package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionTestData.js +0 -4
- package/lib/src/core-components/src/library/assets/fonts/arima/arima-bold.ttf +0 -0
- package/lib/src/core-components/src/library/assets/fonts/arima/arima-regular.ttf +0 -0
- package/lib/src/core-components/src/utils/stories/Wrappers.d.ts +0 -13
- package/lib/src/core-components/src/utils/stories/Wrappers.js +0 -47
- package/lib/src/core-components/src/utils/stories/cleanProps.d.ts +0 -2
- package/lib/src/core-components/src/utils/stories/cleanProps.js +0 -5
- package/lib/src/core-components/src/utils/stories/index.d.ts +0 -5
- package/lib/src/core-components/src/utils/stories/index.js +0 -4
- package/lib/src/core-components/src/utils/stories/sleep.d.ts +0 -2
- package/lib/src/core-components/src/utils/stories/sleep.js +0 -4
- package/lib/src/core-components/src/utils/stories/view-ports.d.ts +0 -51
- package/lib/src/core-components/src/utils/stories/view-ports.js +0 -50
- package/lib/src/core-components/src/utils/testing/getComputedStyle.d.ts +0 -2
- package/lib/src/core-components/src/utils/testing/getComputedStyle.js +0 -3
- package/lib/src/core-components/src/utils/testing/index.d.ts +0 -2
- package/lib/src/core-components/src/utils/testing/index.js +0 -1
- package/lib/src/core-components/tailwind.config.js +0 -233
|
@@ -1,116 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
import s from '../../../tc.module.css';
|
|
4
|
-
import { cn } from '../../../utils';
|
|
5
|
-
export const Modal = ({ visible, title = '', className = '', contentClassName = '', headerClassName = '', style = {}, contentStyle = {}, onClose, isAutoClose = false, autoCloseDelay = 1000, size = 'md', position = 'center', showCloseButton = true, closeButton, overlayOpacity = 0.5, overlayColor, closeOnOverlayClick = true, closeOnEscape = true, showHeader = true, headerBgColor, headerTextColor, borderRadius = '0.5rem', maxWidth, contentPadding = '1rem', headerPadding = '1rem', animationDuration = 300, classNames = {}, styles = {}, children, }) => {
|
|
6
|
-
const [showModal, setShowModal] = useState(visible);
|
|
7
|
-
const [isAnimating, setIsAnimating] = useState(false);
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
if (visible) {
|
|
10
|
-
setShowModal(true);
|
|
11
|
-
setTimeout(() => setIsAnimating(true), 10);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
setIsAnimating(false);
|
|
15
|
-
setTimeout(() => setShowModal(false), animationDuration);
|
|
16
|
-
}
|
|
17
|
-
}, [visible, animationDuration]);
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
if (showModal && isAutoClose) {
|
|
20
|
-
const delay = typeof isAutoClose === 'number' ? isAutoClose : autoCloseDelay;
|
|
21
|
-
const timer = setTimeout(() => {
|
|
22
|
-
onClose && onClose();
|
|
23
|
-
}, delay);
|
|
24
|
-
return () => clearTimeout(timer);
|
|
25
|
-
}
|
|
26
|
-
}, [showModal, isAutoClose, autoCloseDelay, onClose]);
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
if (!closeOnEscape || !showModal)
|
|
29
|
-
return;
|
|
30
|
-
const handleEscape = (e) => {
|
|
31
|
-
if (e.key === 'Escape') {
|
|
32
|
-
onClose && onClose();
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
document.addEventListener('keydown', handleEscape);
|
|
36
|
-
return () => document.removeEventListener('keydown', handleEscape);
|
|
37
|
-
}, [showModal, closeOnEscape, onClose]);
|
|
38
|
-
const handleOverlayClick = (e) => {
|
|
39
|
-
if (closeOnOverlayClick && e.target === e.currentTarget) {
|
|
40
|
-
onClose && onClose();
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const handleClose = () => {
|
|
44
|
-
onClose && onClose();
|
|
45
|
-
};
|
|
46
|
-
const sizeMaxWidths = {
|
|
47
|
-
sm: '28rem',
|
|
48
|
-
md: '32rem',
|
|
49
|
-
lg: '42rem',
|
|
50
|
-
xl: '56rem',
|
|
51
|
-
full: '95%',
|
|
52
|
-
};
|
|
53
|
-
const positionClasses = {
|
|
54
|
-
center: s['items-center'],
|
|
55
|
-
top: s['items-start'],
|
|
56
|
-
bottom: s['items-end'],
|
|
57
|
-
};
|
|
58
|
-
const modalMaxWidth = maxWidth || (size !== 'full' ? sizeMaxWidths[size] : '95%');
|
|
59
|
-
if (!showModal)
|
|
60
|
-
return null;
|
|
61
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(s['fixed'], s['inset-0'], s['z-40'], s['bg-black'], classNames.overlay), style: {
|
|
62
|
-
opacity: isAnimating ? overlayOpacity : 0,
|
|
63
|
-
transition: `opacity ${animationDuration}ms ease-in-out`,
|
|
64
|
-
backgroundColor: overlayColor || undefined,
|
|
65
|
-
...styles.overlay,
|
|
66
|
-
}, onClick: handleOverlayClick }), _jsx("div", { className: cn(s['flex'], s['justify-center'], positionClasses[position], s['overflow-x-hidden'], s['overflow-y-auto'], s['fixed'], s['inset-0'], s['z-50'], s['outline-none'], s['focus:outline-none'], className, classNames.container), style: {
|
|
67
|
-
...style,
|
|
68
|
-
transition: `opacity ${animationDuration}ms ease-in-out`,
|
|
69
|
-
opacity: isAnimating ? 1 : 0,
|
|
70
|
-
...styles.container,
|
|
71
|
-
}, onClick: handleOverlayClick, children: _jsx("div", { className: cn(s['relative'], s['w-full'], s['my-5'], s['mx-auto'], classNames.wrapper), style: {
|
|
72
|
-
maxWidth: modalMaxWidth,
|
|
73
|
-
marginLeft: size === 'full' ? '1rem' : undefined,
|
|
74
|
-
marginRight: size === 'full' ? '1rem' : undefined,
|
|
75
|
-
transform: isAnimating
|
|
76
|
-
? position === 'center'
|
|
77
|
-
? 'scale(1)'
|
|
78
|
-
: position === 'top'
|
|
79
|
-
? 'translateY(0)'
|
|
80
|
-
: 'translateY(0)'
|
|
81
|
-
: position === 'center'
|
|
82
|
-
? 'scale(0.95)'
|
|
83
|
-
: position === 'top'
|
|
84
|
-
? 'translateY(-20px)'
|
|
85
|
-
: 'translateY(20px)',
|
|
86
|
-
transition: `transform ${animationDuration}ms ease-out, opacity ${animationDuration}ms ease-out`,
|
|
87
|
-
opacity: isAnimating ? 1 : 0,
|
|
88
|
-
...styles.wrapper,
|
|
89
|
-
}, onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: cn(s['border-0'], s['shadow-xl'], s['relative'], s['flex'], s['flex-col'], s['bg-white'], s['outline-none'], s['focus:outline-none'], contentClassName, classNames.content), style: {
|
|
90
|
-
borderRadius,
|
|
91
|
-
...contentStyle,
|
|
92
|
-
...styles.content,
|
|
93
|
-
}, children: [showHeader && (_jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-between'], s['border-b'], s['border-solid'], s['border-gray-200'], headerClassName, classNames.header), style: {
|
|
94
|
-
padding: headerPadding,
|
|
95
|
-
backgroundColor: headerBgColor,
|
|
96
|
-
borderTopLeftRadius: borderRadius,
|
|
97
|
-
borderTopRightRadius: borderRadius,
|
|
98
|
-
borderBottom: title || showCloseButton ? undefined : 'none',
|
|
99
|
-
...styles.header,
|
|
100
|
-
}, children: [title && (_jsx("h3", { className: cn(s['text-xl'], s['font-semibold'], s['m-0'], s['flex-1'], classNames.title), style: { color: headerTextColor, ...styles.title }, children: title })), showCloseButton && (_jsx("button", { type: "button", className: cn(s['p-1'], s['ml-4'], s['border-0'], s['bg-transparent'], s['cursor-pointer'], s['outline-none'], s['focus:outline-none'], s['transition-colors'], s['hover:bg-gray-100'], s['rounded'], classNames.closeButton), onClick: handleClose, "aria-label": "Close modal", style: {
|
|
101
|
-
marginLeft: title ? '1rem' : 0,
|
|
102
|
-
marginRight: title ? 0 : 'auto',
|
|
103
|
-
...styles.closeButton,
|
|
104
|
-
}, children: closeButton || (_jsx("span", { className: cn(s['block'], s['text-2xl'], s['leading-none'], s['font-light']), style: {
|
|
105
|
-
color: headerTextColor || '#1f2937',
|
|
106
|
-
height: '1.5rem',
|
|
107
|
-
width: '1.5rem',
|
|
108
|
-
display: 'flex',
|
|
109
|
-
alignItems: 'center',
|
|
110
|
-
justifyContent: 'center',
|
|
111
|
-
lineHeight: 1,
|
|
112
|
-
}, children: "\u00D7" })) }))] })), _jsx("div", { className: cn(s['flex'], s['flex-col'], s['w-full'], s['h-auto'], s['overflow-y-auto'], classNames.body), style: {
|
|
113
|
-
padding: contentPadding,
|
|
114
|
-
...styles.body,
|
|
115
|
-
}, children: children })] }) }) })] }));
|
|
116
|
-
};
|
|
1
|
+
"use strict";import{jsx as a,jsxs as y,Fragment as Q}from"react/jsx-runtime";import{useEffect as x,useState as M}from"react";import e from"../../../tc.module.css";import{cn as r}from"../../../utils";export const Modal=({visible:h,title:d="",className:E="",contentClassName:Y="",headerClassName:$="",style:R={},contentStyle:W={},onClose:t,isAutoClose:s=!1,autoCloseDelay:b=1e3,size:f="md",position:c="center",showCloseButton:v=!0,closeButton:_,overlayOpacity:B=.5,overlayColor:F,closeOnOverlayClick:I=!0,closeOnEscape:w=!0,showHeader:N=!0,headerBgColor:S,headerTextColor:k,borderRadius:p="0.5rem",maxWidth:H,contentPadding:P="1rem",headerPadding:q="1rem",animationDuration:i=300,classNames:n={},styles:o={},children:z})=>{const[m,j]=M(h),[u,T]=M(!1);x(()=>{h?(j(!0),setTimeout(()=>T(!0),10)):(T(!1),setTimeout(()=>j(!1),i))},[h,i]),x(()=>{if(m&&s){const g=setTimeout(()=>{t&&t()},typeof s=="number"?s:b);return()=>clearTimeout(g)}},[m,s,b,t]),x(()=>{if(!w||!m)return;const l=g=>{g.key==="Escape"&&t&&t()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[m,w,t]);const L=l=>{I&&l.target===l.currentTarget&&t&&t()},G=()=>{t&&t()},J={sm:"28rem",md:"32rem",lg:"42rem",xl:"56rem",full:"95%"},K={center:e["items-center"],top:e["items-start"],bottom:e["items-end"]},O=H||(f!=="full"?J[f]:"95%");return m?y(Q,{children:[a("div",{className:r(e.fixed,e["inset-0"],e["z-40"],e["bg-black"],n.overlay),style:{opacity:u?B:0,transition:`opacity ${i}ms ease-in-out`,backgroundColor:F||void 0,...o.overlay},onClick:L}),a("div",{className:r(e.flex,e["justify-center"],K[c],e["overflow-x-hidden"],e["overflow-y-auto"],e.fixed,e["inset-0"],e["z-50"],e["outline-none"],e["focus:outline-none"],E,n.container),style:{...R,transition:`opacity ${i}ms ease-in-out`,opacity:u?1:0,...o.container},onClick:L,children:a("div",{className:r(e.relative,e["w-full"],e["my-5"],e["mx-auto"],n.wrapper),style:{maxWidth:O,marginLeft:f==="full"?"1rem":void 0,marginRight:f==="full"?"1rem":void 0,transform:u?c==="center"?"scale(1)":"translateY(0)":c==="center"?"scale(0.95)":c==="top"?"translateY(-20px)":"translateY(20px)",transition:`transform ${i}ms ease-out, opacity ${i}ms ease-out`,opacity:u?1:0,...o.wrapper},onClick:l=>l.stopPropagation(),children:y("div",{className:r(e["border-0"],e["shadow-xl"],e.relative,e.flex,e["flex-col"],e["bg-white"],e["outline-none"],e["focus:outline-none"],Y,n.content),style:{borderRadius:p,...W,...o.content},children:[N&&y("div",{className:r(e.flex,e["items-center"],e["justify-between"],e["border-b"],e["border-solid"],e["border-gray-200"],$,n.header),style:{padding:q,backgroundColor:S,borderTopLeftRadius:p,borderTopRightRadius:p,borderBottom:d||v?void 0:"none",...o.header},children:[d&&a("h3",{className:r(e["text-xl"],e["font-semibold"],e["m-0"],e["flex-1"],n.title),style:{color:k,...o.title},children:d}),v&&a("button",{type:"button",className:r(e["p-1"],e["ml-4"],e["border-0"],e["bg-transparent"],e["cursor-pointer"],e["outline-none"],e["focus:outline-none"],e["transition-colors"],e["hover:bg-gray-100"],e.rounded,n.closeButton),onClick:G,"aria-label":"Close modal",style:{marginLeft:d?"1rem":0,marginRight:d?0:"auto",...o.closeButton},children:_||a("span",{className:r(e.block,e["text-2xl"],e["leading-none"],e["font-light"]),style:{color:k||"#1f2937",height:"1.5rem",width:"1.5rem",display:"flex",alignItems:"center",justifyContent:"center",lineHeight:1},children:"\xD7"})})]}),a("div",{className:r(e.flex,e["flex-col"],e["w-full"],e["h-auto"],e["overflow-y-auto"],n.body),style:{padding:P,...o.body},children:z})]})})})]}):null};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './modal-confirm/modal-confirm.component';
|
|
1
|
+
"use strict";export*from"./BasicModal/modal.component";export*from"./modal-confirm/modal-confirm.component";
|
package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.d.ts
CHANGED
|
@@ -65,4 +65,3 @@ export interface ModalConfirmProps {
|
|
|
65
65
|
onClose?: () => void;
|
|
66
66
|
}
|
|
67
67
|
export declare const ModalConfirm: ({ visible, title, message, submitTitle, closeTitle, isClick, isClose, animationDuration, classNames, styles, onClick, onClose, }: ModalConfirmProps) => import("react/jsx-runtime").JSX.Element;
|
|
68
|
-
//# sourceMappingURL=modal-confirm.component.d.ts.map
|
package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js
CHANGED
|
@@ -1,147 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useEffect, useState, useCallback } from 'react';
|
|
3
|
-
import { Container } from 'reactstrap';
|
|
4
|
-
import s from '../../../tc.module.css';
|
|
5
|
-
import { cn } from '../../../utils';
|
|
6
|
-
export const ModalConfirm = ({ visible = false, title = 'Confirm', message, submitTitle = 'Send', closeTitle = 'Close', isClick = true, isClose = true, animationDuration = 200, classNames = {}, styles = {}, onClick, onClose, }) => {
|
|
7
|
-
const [showModal, setShowModal] = useState(false);
|
|
8
|
-
const [isAnimating, setIsAnimating] = useState(false);
|
|
9
|
-
const [isClosing, setIsClosing] = useState(false);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (visible) {
|
|
12
|
-
setShowModal(true);
|
|
13
|
-
// Trigger animation after mount
|
|
14
|
-
requestAnimationFrame(() => {
|
|
15
|
-
setIsAnimating(true);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
else if (showModal) {
|
|
19
|
-
handleCloseAnimation();
|
|
20
|
-
}
|
|
21
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
-
}, [visible]);
|
|
23
|
-
const handleCloseAnimation = useCallback(() => {
|
|
24
|
-
setIsClosing(true);
|
|
25
|
-
setIsAnimating(false);
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
setShowModal(false);
|
|
28
|
-
setIsClosing(false);
|
|
29
|
-
}, animationDuration);
|
|
30
|
-
}, [animationDuration]);
|
|
31
|
-
const handleClose = useCallback(() => {
|
|
32
|
-
handleCloseAnimation();
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
onClose && onClose();
|
|
35
|
-
}, animationDuration);
|
|
36
|
-
}, [handleCloseAnimation, onClose, animationDuration]);
|
|
37
|
-
const handleSubmit = useCallback(() => {
|
|
38
|
-
handleCloseAnimation();
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
onClick && onClick();
|
|
41
|
-
}, animationDuration);
|
|
42
|
-
}, [handleCloseAnimation, onClick, animationDuration]);
|
|
43
|
-
// Animation styles
|
|
44
|
-
const overlayAnimationStyle = {
|
|
45
|
-
opacity: isAnimating ? 1 : 0,
|
|
46
|
-
transition: `opacity ${animationDuration}ms ease-out`,
|
|
47
|
-
backdropFilter: isAnimating ? 'blur(4px)' : 'blur(0px)',
|
|
48
|
-
WebkitBackdropFilter: isAnimating ? 'blur(4px)' : 'blur(0px)',
|
|
49
|
-
};
|
|
50
|
-
const contentAnimationStyle = {
|
|
51
|
-
opacity: isAnimating ? 1 : 0,
|
|
52
|
-
transform: isAnimating
|
|
53
|
-
? 'scale(1) translateY(0)'
|
|
54
|
-
: 'scale(0.95) translateY(-10px)',
|
|
55
|
-
transition: `opacity ${animationDuration}ms ease-out, transform ${animationDuration}ms ease-out`,
|
|
56
|
-
};
|
|
57
|
-
return (_jsx(_Fragment, { children: _jsx(Container, { children: showModal && (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(s['fixed'], s['inset-0'], s['z-40'], s['bg-black'], classNames.overlay), style: {
|
|
58
|
-
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
59
|
-
...overlayAnimationStyle,
|
|
60
|
-
...styles.overlay,
|
|
61
|
-
}, onClick: handleClose }), _jsx("div", { className: cn(s['flex'], s['justify-center'], s['items-center'], s['overflow-x-hidden'], s['overflow-y-auto'], s['fixed'], s['inset-0'], s['z-50'], s['outline-none'], s['focus:outline-none'], s['p-4'], classNames.container), style: styles.container, children: _jsx("div", { className: cn(s['relative'], s['w-full'], classNames.wrapper), style: {
|
|
62
|
-
maxWidth: '28rem',
|
|
63
|
-
...contentAnimationStyle,
|
|
64
|
-
...styles.wrapper,
|
|
65
|
-
}, children: _jsxs("div", { className: cn(s['border-0'], s['rounded-lg'], s['shadow-lg'], s['relative'], s['flex'], s['flex-col'], s['w-full'], s['bg-white'], s['outline-none'], s['focus:outline-none'], classNames.content), style: {
|
|
66
|
-
boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
|
|
67
|
-
borderRadius: '16px',
|
|
68
|
-
...styles.content,
|
|
69
|
-
}, children: [_jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-between'], s['p-4'], s['border-b'], s['border-solid'], s['border-gray-300'], classNames.header), style: {
|
|
70
|
-
borderTopLeftRadius: '16px',
|
|
71
|
-
borderTopRightRadius: '16px',
|
|
72
|
-
background: 'linear-gradient(to right, #f8fafc, #f1f5f9)',
|
|
73
|
-
...styles.header,
|
|
74
|
-
}, children: [_jsx("h3", { className: cn(s['text-xl'], s['font-semibold'], classNames.title), style: {
|
|
75
|
-
color: '#1e293b',
|
|
76
|
-
margin: 0,
|
|
77
|
-
...styles.title,
|
|
78
|
-
}, children: title }), _jsx("button", { className: cn(s['flex'], s['items-center'], s['justify-center'], s['border-0'], s['outline-none'], s['focus:outline-none'], classNames.closeButton), style: {
|
|
79
|
-
width: '32px',
|
|
80
|
-
height: '32px',
|
|
81
|
-
borderRadius: '8px',
|
|
82
|
-
backgroundColor: 'transparent',
|
|
83
|
-
color: '#64748b',
|
|
84
|
-
fontSize: '24px',
|
|
85
|
-
lineHeight: 1,
|
|
86
|
-
cursor: 'pointer',
|
|
87
|
-
transition: 'all 0.15s ease',
|
|
88
|
-
...styles.closeButton,
|
|
89
|
-
}, onMouseEnter: (e) => {
|
|
90
|
-
e.currentTarget.style.backgroundColor = '#fee2e2';
|
|
91
|
-
e.currentTarget.style.color = '#dc2626';
|
|
92
|
-
}, onMouseLeave: (e) => {
|
|
93
|
-
e.currentTarget.style.backgroundColor = 'transparent';
|
|
94
|
-
e.currentTarget.style.color = '#64748b';
|
|
95
|
-
}, onClick: handleClose, "aria-label": "Close modal", children: _jsx("span", { style: { marginTop: '-2px' }, children: "\u00D7" }) })] }), _jsx("div", { className: cn(s['flex'], s['p-4'], classNames.body), style: {
|
|
96
|
-
padding: '24px',
|
|
97
|
-
...styles.body,
|
|
98
|
-
}, children: _jsx("div", { className: cn(s['flex'], s['w-full']), children: typeof message === 'string' ? (_jsx("span", { style: {
|
|
99
|
-
color: '#475569',
|
|
100
|
-
fontSize: '15px',
|
|
101
|
-
lineHeight: 1.6,
|
|
102
|
-
}, children: message })) : (message) }) }), _jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-end'], s['p-4'], s['border-t'], s['border-solid'], s['border-gray-300'], classNames.footer), style: {
|
|
103
|
-
borderBottomLeftRadius: '16px',
|
|
104
|
-
borderBottomRightRadius: '16px',
|
|
105
|
-
backgroundColor: '#f8fafc',
|
|
106
|
-
gap: '12px',
|
|
107
|
-
flexWrap: 'wrap',
|
|
108
|
-
...styles.footer,
|
|
109
|
-
}, children: [isClose && (_jsx("button", { className: cn(classNames.cancelButton), type: "button", style: {
|
|
110
|
-
backgroundColor: '#e2e8f0',
|
|
111
|
-
color: '#475569',
|
|
112
|
-
fontWeight: 600,
|
|
113
|
-
fontSize: '14px',
|
|
114
|
-
padding: '10px 20px',
|
|
115
|
-
borderRadius: '8px',
|
|
116
|
-
border: 'none',
|
|
117
|
-
cursor: 'pointer',
|
|
118
|
-
transition: 'all 0.15s ease',
|
|
119
|
-
minWidth: '100px',
|
|
120
|
-
...styles.cancelButton,
|
|
121
|
-
}, onMouseEnter: (e) => {
|
|
122
|
-
e.currentTarget.style.backgroundColor = '#cbd5e1';
|
|
123
|
-
}, onMouseLeave: (e) => {
|
|
124
|
-
e.currentTarget.style.backgroundColor = '#e2e8f0';
|
|
125
|
-
}, onClick: handleClose, children: closeTitle })), isClick && (_jsx("button", { className: cn(classNames.submitButton), type: "button", style: {
|
|
126
|
-
background: 'linear-gradient(135deg, #22c55e 0%, #16a34a 100%)',
|
|
127
|
-
color: 'white',
|
|
128
|
-
fontWeight: 600,
|
|
129
|
-
fontSize: '14px',
|
|
130
|
-
padding: '10px 20px',
|
|
131
|
-
borderRadius: '8px',
|
|
132
|
-
border: 'none',
|
|
133
|
-
cursor: 'pointer',
|
|
134
|
-
transition: 'all 0.15s ease',
|
|
135
|
-
boxShadow: '0 4px 12px rgba(34, 197, 94, 0.3)',
|
|
136
|
-
minWidth: '100px',
|
|
137
|
-
...styles.submitButton,
|
|
138
|
-
}, onMouseEnter: (e) => {
|
|
139
|
-
e.currentTarget.style.transform = 'translateY(-1px)';
|
|
140
|
-
e.currentTarget.style.boxShadow =
|
|
141
|
-
'0 6px 16px rgba(34, 197, 94, 0.4)';
|
|
142
|
-
}, onMouseLeave: (e) => {
|
|
143
|
-
e.currentTarget.style.transform = 'translateY(0)';
|
|
144
|
-
e.currentTarget.style.boxShadow =
|
|
145
|
-
'0 4px 12px rgba(34, 197, 94, 0.3)';
|
|
146
|
-
}, onClick: handleSubmit, children: submitTitle }))] })] }) }) })] })) }) }));
|
|
147
|
-
};
|
|
1
|
+
"use strict";import{jsx as t,jsxs as d,Fragment as C}from"react/jsx-runtime";import{useEffect as W,useState as b,useCallback as x}from"react";import{Container as z}from"reactstrap";import e from"../../../tc.module.css";import{cn as o}from"../../../utils";export const ModalConfirm=({visible:g=!1,title:k="Confirm",message:c,submitTitle:v="Send",closeTitle:T="Close",isClick:S=!0,isClose:R=!0,animationDuration:a=200,classNames:n={},styles:l={},onClick:u,onClose:p})=>{const[h,m]=b(!1),[i,y]=b(!1),[A,w]=b(!1);W(()=>{g?(m(!0),requestAnimationFrame(()=>{y(!0)})):h&&s()},[g]);const s=x(()=>{w(!0),y(!1),setTimeout(()=>{m(!1),w(!1)},a)},[a]),f=x(()=>{s(),setTimeout(()=>{p&&p()},a)},[s,p,a]),B=x(()=>{s(),setTimeout(()=>{u&&u()},a)},[s,u,a]),M={opacity:i?1:0,transition:`opacity ${a}ms ease-out`,backdropFilter:i?"blur(4px)":"blur(0px)",WebkitBackdropFilter:i?"blur(4px)":"blur(0px)"},j={opacity:i?1:0,transform:i?"scale(1) translateY(0)":"scale(0.95) translateY(-10px)",transition:`opacity ${a}ms ease-out, transform ${a}ms ease-out`};return t(C,{children:t(z,{children:h&&d(C,{children:[t("div",{className:o(e.fixed,e["inset-0"],e["z-40"],e["bg-black"],n.overlay),style:{backgroundColor:"rgba(0, 0, 0, 0.5)",...M,...l.overlay},onClick:f}),t("div",{className:o(e.flex,e["justify-center"],e["items-center"],e["overflow-x-hidden"],e["overflow-y-auto"],e.fixed,e["inset-0"],e["z-50"],e["outline-none"],e["focus:outline-none"],e["p-4"],n.container),style:l.container,children:t("div",{className:o(e.relative,e["w-full"],n.wrapper),style:{maxWidth:"28rem",...j,...l.wrapper},children:d("div",{className:o(e["border-0"],e["rounded-lg"],e["shadow-lg"],e.relative,e.flex,e["flex-col"],e["w-full"],e["bg-white"],e["outline-none"],e["focus:outline-none"],n.content),style:{boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.25)",borderRadius:"16px",...l.content},children:[d("div",{className:o(e.flex,e["items-center"],e["justify-between"],e["p-4"],e["border-b"],e["border-solid"],e["border-gray-300"],n.header),style:{borderTopLeftRadius:"16px",borderTopRightRadius:"16px",background:"linear-gradient(to right, #f8fafc, #f1f5f9)",...l.header},children:[t("h3",{className:o(e["text-xl"],e["font-semibold"],n.title),style:{color:"#1e293b",margin:0,...l.title},children:k}),t("button",{className:o(e.flex,e["items-center"],e["justify-center"],e["border-0"],e["outline-none"],e["focus:outline-none"],n.closeButton),style:{width:"32px",height:"32px",borderRadius:"8px",backgroundColor:"transparent",color:"#64748b",fontSize:"24px",lineHeight:1,cursor:"pointer",transition:"all 0.15s ease",...l.closeButton},onMouseEnter:r=>{r.currentTarget.style.backgroundColor="#fee2e2",r.currentTarget.style.color="#dc2626"},onMouseLeave:r=>{r.currentTarget.style.backgroundColor="transparent",r.currentTarget.style.color="#64748b"},onClick:f,"aria-label":"Close modal",children:t("span",{style:{marginTop:"-2px"},children:"\xD7"})})]}),t("div",{className:o(e.flex,e["p-4"],n.body),style:{padding:"24px",...l.body},children:t("div",{className:o(e.flex,e["w-full"]),children:typeof c=="string"?t("span",{style:{color:"#475569",fontSize:"15px",lineHeight:1.6},children:c}):c})}),d("div",{className:o(e.flex,e["items-center"],e["justify-end"],e["p-4"],e["border-t"],e["border-solid"],e["border-gray-300"],n.footer),style:{borderBottomLeftRadius:"16px",borderBottomRightRadius:"16px",backgroundColor:"#f8fafc",gap:"12px",flexWrap:"wrap",...l.footer},children:[R&&t("button",{className:o(n.cancelButton),type:"button",style:{backgroundColor:"#e2e8f0",color:"#475569",fontWeight:600,fontSize:"14px",padding:"10px 20px",borderRadius:"8px",border:"none",cursor:"pointer",transition:"all 0.15s ease",minWidth:"100px",...l.cancelButton},onMouseEnter:r=>{r.currentTarget.style.backgroundColor="#cbd5e1"},onMouseLeave:r=>{r.currentTarget.style.backgroundColor="#e2e8f0"},onClick:f,children:T}),S&&t("button",{className:o(n.submitButton),type:"button",style:{background:"linear-gradient(135deg, #22c55e 0%, #16a34a 100%)",color:"white",fontWeight:600,fontSize:"14px",padding:"10px 20px",borderRadius:"8px",border:"none",cursor:"pointer",transition:"all 0.15s ease",boxShadow:"0 4px 12px rgba(34, 197, 94, 0.3)",minWidth:"100px",...l.submitButton},onMouseEnter:r=>{r.currentTarget.style.transform="translateY(-1px)",r.currentTarget.style.boxShadow="0 6px 16px rgba(34, 197, 94, 0.4)"},onMouseLeave:r=>{r.currentTarget.style.transform="translateY(0)",r.currentTarget.style.boxShadow="0 4px 12px rgba(34, 197, 94, 0.3)"},onClick:B,children:v})]})]})})})]})})})};
|
package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js
CHANGED
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useCallback, useRef, useState } from 'react';
|
|
3
|
-
import { HexColorPicker } from 'react-colorful';
|
|
4
|
-
import { useClickOutside } from '../../../hooks';
|
|
5
|
-
import './color-picker.css';
|
|
6
|
-
export const ColorPicker = ({ color, onChange, classNames = {}, styles = {} }) => {
|
|
7
|
-
const popover = useRef();
|
|
8
|
-
const [isOpen, toggle] = useState(false);
|
|
9
|
-
const close = useCallback(() => toggle(false), []);
|
|
10
|
-
useClickOutside(popover, close);
|
|
11
|
-
return (_jsxs("div", { className: `picker ${classNames.container || ''}`, style: styles.container, children: [_jsx("div", { className: `swatch ${classNames.swatch || ''}`, style: { backgroundColor: color, ...styles.swatch }, onClick: () => toggle(true) }), isOpen && (_jsx("div", { className: `popover ${classNames.popover || ''}`, style: styles.popover, ref: popover, children: _jsx(HexColorPicker, { color: color, onChange: onChange }) }))] }));
|
|
12
|
-
};
|
|
1
|
+
"use strict";import{jsx as r,jsxs as p}from"react/jsx-runtime";import{useCallback as l,useRef as m,useState as f}from"react";import{HexColorPicker as u}from"react-colorful";import{useClickOutside as d}from"../../../hooks";import"./color-picker.css";export const ColorPicker=({color:s,onChange:i,classNames:o={},styles:e={}})=>{const t=m(),[a,c]=f(!1),n=l(()=>c(!1),[]);return d(t,n),p("div",{className:`picker ${o.container||""}`,style:e.container,children:[r("div",{className:`swatch ${o.swatch||""}`,style:{backgroundColor:s,...e.swatch},onClick:()=>c(!0)}),a&&r("div",{className:`popover ${o.popover||""}`,style:e.popover,ref:t,children:r(u,{color:s,onChange:i})})]})};
|
|
@@ -11,4 +11,3 @@ interface ColorPickerModalProps {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const ColorPickerModal: ({ color, isVisible, testId, tooltip, tooltipSide, onChange, onNoFill, onClose, }: ColorPickerModalProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|
|
14
|
-
//# sourceMappingURL=color-picker-modal.component.d.ts.map
|
|
@@ -1,40 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useCallback, useRef, useState, useEffect } from 'react';
|
|
3
|
-
import { HexColorPicker } from 'react-colorful';
|
|
4
|
-
import { useClickOutside } from '../../../hooks';
|
|
5
|
-
import { TooltipProvider, Tooltip } from '../../Tooltip';
|
|
6
|
-
import { DEFAULT_BG_COLOR, DEFAULT_TEXT_COLOR, STANDARD_COLORS, } from '../../../helpers/constants';
|
|
7
|
-
import './color-picker-modal.css';
|
|
8
|
-
export const ColorPickerModal = ({ color, isVisible = false, testId = 'color-picker', tooltip = '', tooltipSide = 'bottom', onChange, onNoFill, onClose, }) => {
|
|
9
|
-
const popover = useRef();
|
|
10
|
-
const [currentColor, setCurrentColor] = useState(color);
|
|
11
|
-
const [isOpen, toggle] = useState(isVisible);
|
|
12
|
-
const close = useCallback(() => {
|
|
13
|
-
if (isOpen) {
|
|
14
|
-
toggle(false);
|
|
15
|
-
onClose && onClose(currentColor);
|
|
16
|
-
}
|
|
17
|
-
}, [isOpen, onClose, currentColor]);
|
|
18
|
-
useClickOutside(popover, close);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (!isOpen) {
|
|
21
|
-
setCurrentColor(color || DEFAULT_BG_COLOR);
|
|
22
|
-
}
|
|
23
|
-
}, [color, isOpen]);
|
|
24
|
-
const handleColorChange = useCallback((color) => {
|
|
25
|
-
setCurrentColor(color);
|
|
26
|
-
onChange(color);
|
|
27
|
-
}, [onChange]);
|
|
28
|
-
const handleStandardColorClick = useCallback((color) => {
|
|
29
|
-
setCurrentColor(color);
|
|
30
|
-
onChange(color);
|
|
31
|
-
close();
|
|
32
|
-
}, [onChange, close]);
|
|
33
|
-
const handleNoFillClick = useCallback(() => {
|
|
34
|
-
onNoFill && onNoFill(DEFAULT_BG_COLOR, DEFAULT_TEXT_COLOR);
|
|
35
|
-
setCurrentColor(DEFAULT_BG_COLOR);
|
|
36
|
-
onChange(DEFAULT_BG_COLOR);
|
|
37
|
-
close();
|
|
38
|
-
}, [onNoFill, onChange, close]);
|
|
39
|
-
return (_jsxs("div", { className: "picker-modal", "data-testid": testId, children: [_jsx(TooltipProvider, { children: _jsx(Tooltip, { content: tooltip, className: 'text-white bg-black p-2', side: tooltipSide, children: _jsx("div", { "data-testid": "swatch", className: `${currentColor !== '' ? 'swatch-modal' : 'swatch-modal diagonal-line'} z-10`, style: { backgroundColor: currentColor }, onClick: () => toggle(true) }) }) }), isOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex justify-center items-center overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none ", children: _jsx("div", { className: "relative w-auto h-auto mx-auto my-auto bg-white rounded-md", children: _jsx("div", { className: "border-0 rounded-lg relative flex flex-col w-full outline-none focus:outline-none", children: _jsxs("div", { className: "flex flex-col w-full gap-4 justify-center items-center p-4 rounded-lg shadow-lg z-99 color-picker-modal", ref: popover, children: [_jsx(HexColorPicker, { "data-testid": "colorPicker", color: currentColor, onChange: handleColorChange }), _jsxs("div", { className: "flex flex-col mt-4", children: [_jsx("span", { className: "font-serif", children: "Standard Colors" }), _jsx("div", { className: "flex gap-2 mt-2", children: STANDARD_COLORS?.map((color) => (_jsx("div", { className: "rounded-full w-8 h-8 cursor-pointer gap-2", style: { backgroundColor: color }, onClick: () => handleStandardColorClick(color), "data-testid": `standard-color-${color}` }, color))) })] }), _jsx("div", { className: "flex justify-center bg-blue-600 mt-2 rounded-md p-2 mx-8 text-white hover:bg-blue-800 transition duration-300 ease-in-out hover:shadow-lg cursor-pointer", onClick: handleNoFillClick, "data-testid": "no-fill", children: _jsx("span", { className: "font-serif", children: "No Fill" }) })] }) }) }) }), _jsx("div", { className: "opacity-25 fixed inset-0 z-40 bg-black" })] }))] }));
|
|
40
|
-
};
|
|
1
|
+
"use strict";import{jsx as e,jsxs as s,Fragment as w}from"react/jsx-runtime";import{useCallback as d,useRef as y,useState as h,useEffect as O}from"react";import{HexColorPicker as _}from"react-colorful";import{useClickOutside as j}from"../../../hooks";import{TooltipProvider as T,Tooltip as L}from"../../Tooltip";import{DEFAULT_BG_COLOR as c,DEFAULT_TEXT_COLOR as R,STANDARD_COLORS as S}from"../../../helpers/constants";import"./color-picker-modal.css";export const ColorPickerModal=({color:n,isVisible:x=!1,testId:v="color-picker",tooltip:k="",tooltipSide:g="bottom",onChange:l,onNoFill:m,onClose:f})=>{const u=y(),[o,r]=h(n),[a,p]=h(x),i=d(()=>{a&&(p(!1),f&&f(o))},[a,f,o]);j(u,i),O(()=>{a||r(n||c)},[n,a]);const C=d(t=>{r(t),l(t)},[l]),N=d(t=>{r(t),l(t),i()},[l,i]),b=d(()=>{m&&m(c,R),r(c),l(c),i()},[m,l,i]);return s("div",{className:"picker-modal","data-testid":v,children:[e(T,{children:e(L,{content:k,className:"text-white bg-black p-2",side:g,children:e("div",{"data-testid":"swatch",className:`${o!==""?"swatch-modal":"swatch-modal diagonal-line"} z-10`,style:{backgroundColor:o},onClick:()=>p(!0)})})}),a&&s(w,{children:[e("div",{className:"flex justify-center items-center overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none ",children:e("div",{className:"relative w-auto h-auto mx-auto my-auto bg-white rounded-md",children:e("div",{className:"border-0 rounded-lg relative flex flex-col w-full outline-none focus:outline-none",children:s("div",{className:"flex flex-col w-full gap-4 justify-center items-center p-4 rounded-lg shadow-lg z-99 color-picker-modal",ref:u,children:[e(_,{"data-testid":"colorPicker",color:o,onChange:C}),s("div",{className:"flex flex-col mt-4",children:[e("span",{className:"font-serif",children:"Standard Colors"}),e("div",{className:"flex gap-2 mt-2",children:S?.map(t=>e("div",{className:"rounded-full w-8 h-8 cursor-pointer gap-2",style:{backgroundColor:t},onClick:()=>N(t),"data-testid":`standard-color-${t}`},t))})]}),e("div",{className:"flex justify-center bg-blue-600 mt-2 rounded-md p-2 mx-8 text-white hover:bg-blue-800 transition duration-300 ease-in-out hover:shadow-lg cursor-pointer",onClick:b,"data-testid":"no-fill",children:e("span",{className:"font-serif",children:"No Fill"})})]})})})}),e("div",{className:"opacity-25 fixed inset-0 z-40 bg-black"})]})]})};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './color-picker-modal/color-picker-modal.component';
|
|
1
|
+
"use strict";export*from"./color-picker/color-picker.component";export*from"./color-picker-modal/color-picker-modal.component";
|
|
@@ -2,4 +2,3 @@ export * from './multi-select/multi-select.component';
|
|
|
2
2
|
export * from './multi-select-with-field/multi-select-with-field.component';
|
|
3
3
|
export * from './multi-selection-dropdown/multi-selection-dropdown.component';
|
|
4
4
|
export * from './single-select/single-select.component';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './multi-select-with-field/multi-select-with-field.component';
|
|
3
|
-
export * from './multi-selection-dropdown/multi-selection-dropdown.component';
|
|
4
|
-
export * from './single-select/single-select.component';
|
|
1
|
+
"use strict";export*from"./multi-select/multi-select.component";export*from"./multi-select-with-field/multi-select-with-field.component";export*from"./multi-selection-dropdown/multi-selection-dropdown.component";export*from"./single-select/single-select.component";
|
package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.d.ts
CHANGED
|
@@ -47,4 +47,3 @@ interface MultiSelectProps {
|
|
|
47
47
|
}
|
|
48
48
|
export declare const MultiSelect: ({ options, selectedItems, hasError, classNames, styles, onSelect, }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
49
49
|
export {};
|
|
50
|
-
//# sourceMappingURL=multi-select.component.d.ts.map
|
package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js
CHANGED
|
@@ -1,49 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useState, useEffect, useRef } from 'react';
|
|
3
|
-
import s from '../../../tc.module.css';
|
|
4
|
-
import { cn } from '../../../utils';
|
|
5
|
-
export const MultiSelect = ({ options = [], selectedItems = [], hasError = false, classNames = {}, styles = {}, onSelect, }) => {
|
|
6
|
-
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
7
|
-
const [isListOpen, setIsListOpen] = useState(false);
|
|
8
|
-
const useOutsideAlerter = (ref) => {
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
function handleClickOutside(event) {
|
|
11
|
-
if (ref.current && !ref.current.contains(event.target) && isListOpen) {
|
|
12
|
-
setIsListOpen(false);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
16
|
-
return () => {
|
|
17
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
18
|
-
};
|
|
19
|
-
}, [ref, isListOpen]);
|
|
20
|
-
};
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
setSelectedOptions(selectedItems);
|
|
23
|
-
}, [selectedItems]);
|
|
24
|
-
const wrapperRef = useRef(null);
|
|
25
|
-
useOutsideAlerter(wrapperRef);
|
|
26
|
-
return (_jsx(_Fragment, { children: _jsxs("div", { className: cn(s['flex'], s['dark:bg-boxdark'], s['dark:text-white'], s['flex-col'], s['w-full'], s['rounded-md'], s['border'], {
|
|
27
|
-
[s['border-red']]: hasError,
|
|
28
|
-
[s['border-gray-300']]: !hasError,
|
|
29
|
-
}, classNames.container), style: styles.container, ref: wrapperRef, children: [_jsx("span", { className: cn(s['p-2'], s['shadow-sm'], classNames.trigger), style: styles.trigger, onClick: () => {
|
|
30
|
-
setIsListOpen(!isListOpen);
|
|
31
|
-
}, children: selectedOptions?.length > 0 ? selectedOptions?.join(',') : 'Select' }), _jsx("div", { className: cn(s['flex'], { [s['show']]: isListOpen, [s['hidden']]: !isListOpen }, s['relative']), children: options
|
|
32
|
-
? options?.length > 0 && (_jsx("div", { className: cn(s['flex'], s['absolute'], s['rounded-sm'], s['w-full'], classNames.dropdown), style: { zIndex: 999, ...styles.dropdown }, children: _jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['w-full'], s['bg-white'], s['shadow-md'], s['rounded-md'], s['border'], s['border-gray-200'], s['list-none'], s['m-0'], s['p-0'], classNames.list), style: styles.list, children: options?.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['gap-2'], s['p-2'], classNames.listItem), style: styles.listItem, children: _jsxs("label", { className: cn(s['flex'], s['gap-2'], classNames.label), style: styles.label, children: [_jsx("input", { className: cn(s['flex'], s['h-4'], s['w-4'], classNames.checkbox), style: styles.checkbox, type: "checkbox", checked: selectedOptions?.includes(item), onChange: () => {
|
|
33
|
-
if (selectedOptions?.includes(item)) {
|
|
34
|
-
setSelectedOptions(selectedOptions?.filter((e) => e != item));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
if (selectedOptions?.length > 0) {
|
|
38
|
-
setSelectedOptions(selectedOptions?.concat([item]));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
setSelectedOptions([item]);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}, onBlur: () => {
|
|
45
|
-
if (!isListOpen)
|
|
46
|
-
onSelect(selectedOptions);
|
|
47
|
-
} }), _jsx("span", { className: cn(s['flex'], s['h-4'], classNames.itemText), style: styles.itemText, children: item })] }) }, index))) }) }))
|
|
48
|
-
: null })] }) }));
|
|
49
|
-
};
|
|
1
|
+
"use strict";import{jsx as o,jsxs as p,Fragment as v}from"react/jsx-runtime";import{useState as g,useEffect as b,useRef as O}from"react";import e from"../../../tc.module.css";import{cn as n}from"../../../utils";export const MultiSelect=({options:a=[],selectedItems:f=[],hasError:h=!1,classNames:t={},styles:r={},onSelect:w})=>{const[d,c]=g([]),[i,x]=g(!1),k=l=>{b(()=>{function s(u){l.current&&!l.current.contains(u.target)&&i&&x(!1)}return document.addEventListener("mousedown",s),()=>{document.removeEventListener("mousedown",s)}},[l,i])};b(()=>{c(f)},[f]);const m=O(null);return k(m),o(v,{children:p("div",{className:n(e.flex,e["dark:bg-boxdark"],e["dark:text-white"],e["flex-col"],e["w-full"],e["rounded-md"],e.border,{[e["border-red"]]:h,[e["border-gray-300"]]:!h},t.container),style:r.container,ref:m,children:[o("span",{className:n(e["p-2"],e["shadow-sm"],t.trigger),style:r.trigger,onClick:()=>{x(!i)},children:d?.length>0?d?.join(","):"Select"}),o("div",{className:n(e.flex,{[e.show]:i,[e.hidden]:!i},e.relative),children:a?a?.length>0&&o("div",{className:n(e.flex,e.absolute,e["rounded-sm"],e["w-full"],t.dropdown),style:{zIndex:999,...r.dropdown},children:o("ul",{className:n(e.flex,e["flex-col"],e["gap-1"],e["w-full"],e["bg-white"],e["shadow-md"],e["rounded-md"],e.border,e["border-gray-200"],e["list-none"],e["m-0"],e["p-0"],t.list),style:r.list,children:a?.map((l,s)=>o("li",{className:n(e.flex,e["gap-2"],e["p-2"],t.listItem),style:r.listItem,children:p("label",{className:n(e.flex,e["gap-2"],t.label),style:r.label,children:[o("input",{className:n(e.flex,e["h-4"],e["w-4"],t.checkbox),style:r.checkbox,type:"checkbox",checked:d?.includes(l),onChange:()=>{d?.includes(l)?c(d?.filter(u=>u!=l)):d?.length>0?c(d?.concat([l])):c([l])},onBlur:()=>{i||w(d)}}),o("span",{className:n(e.flex,e["h-4"],t.itemText),style:r.itemText,children:l})]})},s))})}):null})]})})};
|
|
@@ -7,4 +7,3 @@ interface MultiSelectWithFieldProps {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const MultiSelectWithField: ({ displayField, options, selectedItems, hasError, onSelect, }: MultiSelectWithFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export {};
|
|
10
|
-
//# sourceMappingURL=multi-select-with-field.component.d.ts.map
|
|
@@ -1,58 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
import { useState, useEffect, useRef } from 'react';
|
|
4
|
-
import _ from 'lodash';
|
|
5
|
-
import s from '../../../tc.module.css';
|
|
6
|
-
import { cn } from '../../../utils';
|
|
7
|
-
export const MultiSelectWithField = ({ displayField = '', options = [], selectedItems = [], hasError = false, onSelect, }) => {
|
|
8
|
-
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
9
|
-
const [isListOpen, setIsListOpen] = useState(false);
|
|
10
|
-
const useOutsideAlerter = (ref) => {
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
function handleClickOutside(event) {
|
|
13
|
-
if (ref.current && !ref.current.contains(event.target) && isListOpen) {
|
|
14
|
-
setIsListOpen(false);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
18
|
-
return () => {
|
|
19
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
20
|
-
};
|
|
21
|
-
}, [ref, isListOpen]);
|
|
22
|
-
};
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
setSelectedOptions(selectedItems);
|
|
25
|
-
}, [selectedItems]);
|
|
26
|
-
const wrapperRef = useRef(null);
|
|
27
|
-
useOutsideAlerter(wrapperRef);
|
|
28
|
-
return (_jsx(_Fragment, { children: _jsxs("div", { className: cn(s['flex'], s['dark:bg-boxdark'], s['dark:text-white'], s['flex-col'], s['w-full'], s['rounded-md'], s['border'], {
|
|
29
|
-
[s['border-red']]: hasError,
|
|
30
|
-
[s['border-gray-300']]: !hasError,
|
|
31
|
-
}), ref: wrapperRef, children: [_jsx("span", { className: cn(s['p-2'], s['shadow-sm']), onClick: () => {
|
|
32
|
-
setIsListOpen(!isListOpen);
|
|
33
|
-
}, children: selectedOptions?.length > 0
|
|
34
|
-
? `${selectedOptions?.length} Items`
|
|
35
|
-
: 'Select' }), _jsx("div", { className: cn(s['flex'], s['mx-2'], isListOpen ? s['show'] : s['hidden']), children: options
|
|
36
|
-
? options?.length > 0 && (_jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['p-2']), children: options?.map((item, index) => (_jsxs("li", { className: cn(s['flex'], s['items-center']), children: [_jsx("input", { className: cn(s['flex'], s['bg-black']), type: "checkbox", checked: !_.isEmpty(selectedOptions?.find((e) => e[displayField]?.toUpperCase() ==
|
|
37
|
-
item[displayField]?.toUpperCase()))
|
|
38
|
-
? true
|
|
39
|
-
: false, onChange: () => {
|
|
40
|
-
if (!_.isEmpty(selectedOptions?.find((e) => e[displayField]?.toUpperCase() ==
|
|
41
|
-
item[displayField]?.toUpperCase()))) {
|
|
42
|
-
setSelectedOptions(selectedOptions?.filter((e) => e[displayField]?.toUpperCase() !=
|
|
43
|
-
item[displayField]?.toUpperCase()));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (selectedOptions?.length > 0) {
|
|
47
|
-
setSelectedOptions(selectedOptions?.concat([item]));
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
setSelectedOptions([item]);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}, onBlur: () => {
|
|
54
|
-
if (!isListOpen)
|
|
55
|
-
onSelect(selectedOptions);
|
|
56
|
-
} }), ' ', _jsx("span", { className: cn(s['flex'], s['ml-2'], s['dark:text-white'], s['text-center']), children: item[displayField] })] }, index))) }))
|
|
57
|
-
: null })] }) }));
|
|
58
|
-
};
|
|
1
|
+
"use strict";import{jsx as l,jsxs as h,Fragment as w}from"react/jsx-runtime";import{useState as x,useEffect as g,useRef as N}from"react";import k from"lodash";import e from"../../../tc.module.css";import{cn as c}from"../../../utils";export const MultiSelectWithField=({displayField:r="",options:m=[],selectedItems:i=[],hasError:p=!1,onSelect:C})=>{const[s,a]=x([]),[o,d]=x(!1),b=t=>{g(()=>{function f(n){t.current&&!t.current.contains(n.target)&&o&&d(!1)}return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}},[t,o])};g(()=>{a(i)},[i]);const u=N(null);return b(u),l(w,{children:h("div",{className:c(e.flex,e["dark:bg-boxdark"],e["dark:text-white"],e["flex-col"],e["w-full"],e["rounded-md"],e.border,{[e["border-red"]]:p,[e["border-gray-300"]]:!p}),ref:u,children:[l("span",{className:c(e["p-2"],e["shadow-sm"]),onClick:()=>{d(!o)},children:s?.length>0?`${s?.length} Items`:"Select"}),l("div",{className:c(e.flex,e["mx-2"],o?e.show:e.hidden),children:m?m?.length>0&&l("ul",{className:c(e.flex,e["flex-col"],e["gap-1"],e["p-2"]),children:m?.map((t,f)=>h("li",{className:c(e.flex,e["items-center"]),children:[l("input",{className:c(e.flex,e["bg-black"]),type:"checkbox",checked:!k.isEmpty(s?.find(n=>n[r]?.toUpperCase()==t[r]?.toUpperCase())),onChange:()=>{k.isEmpty(s?.find(n=>n[r]?.toUpperCase()==t[r]?.toUpperCase()))?s?.length>0?a(s?.concat([t])):a([t]):a(s?.filter(n=>n[r]?.toUpperCase()!=t[r]?.toUpperCase()))},onBlur:()=>{o||C(s)}})," ",l("span",{className:c(e.flex,e["ml-2"],e["dark:text-white"],e["text-center"]),children:t[r]})]},f))}):null})]})})};
|
|
@@ -1,43 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
-
import s from '../../../tc.module.css';
|
|
4
|
-
import { cn } from '../../../utils';
|
|
5
|
-
import { Icon } from '../../Icon/Icon';
|
|
6
|
-
export const MultiSelectionDropdown = ({ options = [], onSelect, onClear, }) => {
|
|
7
|
-
const [selectedItems, setSelectedItems] = useState([]);
|
|
8
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
9
|
-
const [search, setSearch] = useState('');
|
|
10
|
-
const dropdownRef = useRef(null);
|
|
11
|
-
// **Close dropdown if user clicks outside**
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const handleClickOutside = (event) => {
|
|
14
|
-
if (dropdownRef.current &&
|
|
15
|
-
!dropdownRef.current.contains(event.target)) {
|
|
16
|
-
setIsOpen(false);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
20
|
-
return () => {
|
|
21
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
22
|
-
};
|
|
23
|
-
}, []);
|
|
24
|
-
return (_jsxs("div", { className: cn(s['relative']), ref: dropdownRef, children: [_jsxs("button", { onClick: () => setIsOpen(!isOpen), className: cn(s['w-full'], s['flex'], s['justify-between'], s['items-center'], s['px-2'], s['py-2'], s['border'], s['border-gray-300'], s['bg-white'], s['rounded-md'], s['shadow-sm'], s['focus:outline-none']), children: [_jsx("div", { className: cn(s['flex'], s['flex-wrap'], s['gap-2']), children: selectedItems?.length > 0 ? (selectedItems?.map((item, key) => (_jsx("span", { className: cn(s['bg-blue-500'], s['text-white'], s['text-sm'], s['px-2'], s['py-1'], s['rounded']), children: item }, key?.toString())))) : (_jsx("span", { className: cn(s['text-gray-500']), children: "Select Items" })) }), _jsx(Icon, { nameIcon: 'FaChevronDown', propsIcon: {
|
|
25
|
-
color: '#ffffff',
|
|
26
|
-
size: 18,
|
|
27
|
-
} })] }), isOpen && (_jsxs("div", { className: cn(s['absolute'], s['z-10'], s['w-full'], s['mt-1'], s['bg-white'], s['border'], s['border-gray-300'], s['rounded-md'], s['shadow-lg'], s['max-h-60'], s['overflow-y-auto']), children: [_jsx("div", { className: cn(s['p-2'], s['top-0'], s['bg-white'], s['z-10'], s['border-b'], s['relative']), children: _jsxs("div", { className: cn(s['flex'], s['items-center'], s['border'], s['border-gray-300'], s['rounded-md']), children: [_jsx("input", { type: "text", placeholder: "Search...", value: search, onChange: (e) => setSearch(e.target.value), className: cn(s['flex'], s['w-full'], s['p-2'], s['focus:outline-none']) }), selectedItems?.length > 0 && (_jsx("button", { onClick: () => {
|
|
28
|
-
setSelectedItems([]);
|
|
29
|
-
setSearch('');
|
|
30
|
-
onClear && onClear();
|
|
31
|
-
}, className: cn(s['flex'], s['w-fit'], s['pr-2'], s['text-sm'], s['hover:text-red'], s['whitespace-nowrap']), children: "Clear Selection" }))] }) }), _jsx("ul", { className: cn(s['py-2']), children: options?.filter((child) => child.toLowerCase().includes(search.toLowerCase()))?.length > 0 ? (options
|
|
32
|
-
?.filter((child) => child.toLowerCase().includes(search.toLowerCase()))
|
|
33
|
-
.map((item, key) => (_jsxs("li", { onClick: () => {
|
|
34
|
-
setSelectedItems([...selectedItems, item]);
|
|
35
|
-
onSelect([...selectedItems, item]);
|
|
36
|
-
}, className: cn(s['flex'], s['items-center'], s['justify-between'], s['px-4'], s['py-2'], s['cursor-pointer'], s['hover:bg-gray-100']), children: [_jsxs("div", { className: cn(s['flex'], s['items-center'], s['gap-2']), children: [_jsx(Icon, { nameIcon: 'FaAlignJustify', propsIcon: {
|
|
37
|
-
color: '#000000',
|
|
38
|
-
size: 18,
|
|
39
|
-
} }), _jsx("span", { children: item })] }), selectedItems?.some((selected) => selected === item) && (_jsx(Icon, { nameIcon: 'FaCheck', propsIcon: {
|
|
40
|
-
color: '#000000',
|
|
41
|
-
size: 18,
|
|
42
|
-
} }))] }, key?.toString())))) : (_jsx("li", { className: cn(s['px-4'], s['py-2'], s['text-gray-500'], s['text-sm']), children: "No items found" })) })] }))] }));
|
|
43
|
-
};
|
|
1
|
+
"use strict";import{jsx as s,jsxs as n}from"react/jsx-runtime";import{useEffect as b,useRef as v,useState as i}from"react";import e from"../../../tc.module.css";import{cn as r}from"../../../utils";import{Icon as d}from"../../Icon/Icon";export const MultiSelectionDropdown=({options:m=[],onSelect:w,onClear:p})=>{const[o,u]=i([]),[f,h]=i(!1),[a,x]=i(""),c=v(null);return b(()=>{const t=l=>{c.current&&!c.current.contains(l.target)&&h(!1)};return document.addEventListener("mousedown",t),()=>{document.removeEventListener("mousedown",t)}},[]),n("div",{className:r(e.relative),ref:c,children:[n("button",{onClick:()=>h(!f),className:r(e["w-full"],e.flex,e["justify-between"],e["items-center"],e["px-2"],e["py-2"],e.border,e["border-gray-300"],e["bg-white"],e["rounded-md"],e["shadow-sm"],e["focus:outline-none"]),children:[s("div",{className:r(e.flex,e["flex-wrap"],e["gap-2"]),children:o?.length>0?o?.map((t,l)=>s("span",{className:r(e["bg-blue-500"],e["text-white"],e["text-sm"],e["px-2"],e["py-1"],e.rounded),children:t},l?.toString())):s("span",{className:r(e["text-gray-500"]),children:"Select Items"})}),s(d,{nameIcon:"FaChevronDown",propsIcon:{color:"#ffffff",size:18}})]}),f&&n("div",{className:r(e.absolute,e["z-10"],e["w-full"],e["mt-1"],e["bg-white"],e.border,e["border-gray-300"],e["rounded-md"],e["shadow-lg"],e["max-h-60"],e["overflow-y-auto"]),children:[s("div",{className:r(e["p-2"],e["top-0"],e["bg-white"],e["z-10"],e["border-b"],e.relative),children:n("div",{className:r(e.flex,e["items-center"],e.border,e["border-gray-300"],e["rounded-md"]),children:[s("input",{type:"text",placeholder:"Search...",value:a,onChange:t=>x(t.target.value),className:r(e.flex,e["w-full"],e["p-2"],e["focus:outline-none"])}),o?.length>0&&s("button",{onClick:()=>{u([]),x(""),p&&p()},className:r(e.flex,e["w-fit"],e["pr-2"],e["text-sm"],e["hover:text-red"],e["whitespace-nowrap"]),children:"Clear Selection"})]})}),s("ul",{className:r(e["py-2"]),children:m?.filter(t=>t.toLowerCase().includes(a.toLowerCase()))?.length>0?m?.filter(t=>t.toLowerCase().includes(a.toLowerCase())).map((t,l)=>n("li",{onClick:()=>{u([...o,t]),w([...o,t])},className:r(e.flex,e["items-center"],e["justify-between"],e["px-4"],e["py-2"],e["cursor-pointer"],e["hover:bg-gray-100"]),children:[n("div",{className:r(e.flex,e["items-center"],e["gap-2"]),children:[s(d,{nameIcon:"FaAlignJustify",propsIcon:{color:"#000000",size:18}}),s("span",{children:t})]}),o?.some(g=>g===t)&&s(d,{nameIcon:"FaCheck",propsIcon:{color:"#000000",size:18}})]},l?.toString())):s("li",{className:r(e["px-4"],e["py-2"],e["text-gray-500"],e["text-sm"]),children:"No items found"})})]})]})};
|