iguazio.dashboard-react-controls 3.2.21 → 3.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ActionsMenu/ActionsMenu.d.ts +17 -10
- package/dist/components/ActionsMenu/ActionsMenu.d.ts.map +1 -1
- package/dist/components/Backdrop/Backdrop.d.ts +8 -7
- package/dist/components/Backdrop/Backdrop.d.ts.map +1 -1
- package/dist/components/BlockerSpy/BlockerSpy.d.ts +4 -3
- package/dist/components/BlockerSpy/BlockerSpy.d.ts.map +1 -1
- package/dist/components/Button/Button.d.ts +16 -15
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.stories.d.ts +69 -7
- package/dist/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/components/ChipForm/ChipForm.d.ts +20 -12
- package/dist/components/ChipForm/ChipForm.d.ts.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +21 -20
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +22 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts.map +1 -1
- package/dist/components/CopyToClipboard/CopyToClipboard.d.ts +11 -10
- package/dist/components/CopyToClipboard/CopyToClipboard.d.ts.map +1 -1
- package/dist/components/ErrorMessage/ErrorMessage.d.ts +5 -4
- package/dist/components/ErrorMessage/ErrorMessage.d.ts.map +1 -1
- package/dist/components/FormCheckBox/FormCheckBox.d.ts +13 -12
- package/dist/components/FormCheckBox/FormCheckBox.d.ts.map +1 -1
- package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts +8 -1
- package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts.map +1 -1
- package/dist/components/FormChipCell/FormChip/FormChip.d.ts +24 -23
- package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -1
- package/dist/components/FormChipCell/FormChipCell.d.ts +30 -29
- package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -1
- package/dist/components/FormChipCell/FormChipCellView.d.ts +29 -28
- package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -1
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +16 -7
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +1 -1
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +26 -18
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -1
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts +5 -4
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts.map +1 -1
- package/dist/components/FormCombobox/FormCombobox.d.ts +44 -39
- package/dist/components/FormCombobox/FormCombobox.d.ts.map +1 -1
- package/dist/components/FormCombobox/FormCombobox.stories.d.ts +58 -6
- package/dist/components/FormCombobox/FormCombobox.stories.d.ts.map +1 -1
- package/dist/components/FormInput/FormInput.d.ts +77 -1
- package/dist/components/FormInput/FormInput.d.ts.map +1 -1
- package/dist/components/FormInput/FormInput.stories.d.ts +86 -8
- package/dist/components/FormInput/FormInput.stories.d.ts.map +1 -1
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts +12 -11
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts.map +1 -1
- package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts +41 -37
- package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts.map +1 -1
- package/dist/components/FormOnChange/FormOnChange.d.ts +4 -3
- package/dist/components/FormOnChange/FormOnChange.d.ts.map +1 -1
- package/dist/components/FormRadio/FormRadio.d.ts +10 -9
- package/dist/components/FormRadio/FormRadio.d.ts.map +1 -1
- package/dist/components/FormRadio/FormRadio.stories.d.ts +8 -1
- package/dist/components/FormRadio/FormRadio.stories.d.ts.map +1 -1
- package/dist/components/FormSelect/FormSelect.d.ts +44 -34
- package/dist/components/FormSelect/FormSelect.d.ts.map +1 -1
- package/dist/components/FormSelect/FormSelect.stories.d.ts +36 -4
- package/dist/components/FormSelect/FormSelect.stories.d.ts.map +1 -1
- package/dist/components/FormTextarea/FormTextarea.d.ts +31 -30
- package/dist/components/FormTextarea/FormTextarea.d.ts.map +1 -1
- package/dist/components/FormTextarea/FormTextarea.stories.d.ts +26 -3
- package/dist/components/FormTextarea/FormTextarea.stories.d.ts.map +1 -1
- package/dist/components/FormToggle/FormToggle.d.ts +14 -13
- package/dist/components/FormToggle/FormToggle.d.ts.map +1 -1
- package/dist/components/LoadButton/LoadButton.d.ts +8 -7
- package/dist/components/LoadButton/LoadButton.d.ts.map +1 -1
- package/dist/components/LoadButton/LoadButton.stories.d.ts +29 -3
- package/dist/components/LoadButton/LoadButton.stories.d.ts.map +1 -1
- package/dist/components/Loader/Loader.d.ts +14 -1
- package/dist/components/Loader/Loader.d.ts.map +1 -1
- package/dist/components/Loader/LoaderForSuspenseFallback.d.ts +2 -1
- package/dist/components/Loader/LoaderForSuspenseFallback.d.ts.map +1 -1
- package/dist/components/Modal/Modal.d.ts +19 -18
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/PopUpDialog/PopUpDialog.d.ts +22 -20
- package/dist/components/PopUpDialog/PopUpDialog.d.ts.map +1 -1
- package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts +5 -4
- package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts.map +1 -1
- package/dist/components/RoundedIcon/RoundedIcon.d.ts +15 -14
- package/dist/components/RoundedIcon/RoundedIcon.d.ts.map +1 -1
- package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts +13 -2
- package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts.map +1 -1
- package/dist/components/TableCell/TableCell.d.ts +20 -19
- package/dist/components/TableCell/TableCell.d.ts.map +1 -1
- package/dist/components/TabsSlider/TabsSlider.d.ts +18 -12
- package/dist/components/TabsSlider/TabsSlider.d.ts.map +1 -1
- package/dist/components/Tip/Tip.d.ts +7 -6
- package/dist/components/Tip/Tip.d.ts.map +1 -1
- package/dist/components/Tip/Tip.stories.d.ts +6 -1
- package/dist/components/Tip/Tip.stories.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +17 -16
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.stories.d.ts +16 -2
- package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts +6 -5
- package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts.map +1 -1
- package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts +6 -5
- package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts.map +1 -1
- package/dist/components/Wizard/Wizard.d.ts +16 -15
- package/dist/components/Wizard/Wizard.d.ts.map +1 -1
- package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts +13 -6
- package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts.map +1 -1
- package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts +7 -6
- package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts.map +1 -1
- package/dist/elements/FormActionButton/FormActionButton.d.ts +13 -12
- package/dist/elements/FormActionButton/FormActionButton.d.ts.map +1 -1
- package/dist/elements/FormRowActions/FormRowActions.d.ts +14 -13
- package/dist/elements/FormRowActions/FormRowActions.d.ts.map +1 -1
- package/dist/elements/OptionsMenu/OptionsMenu.d.ts +7 -6
- package/dist/elements/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/elements/SelectOption/SelectOption.d.ts +20 -10
- package/dist/elements/SelectOption/SelectOption.d.ts.map +1 -1
- package/dist/elements/TableHead/TableHead.d.ts +8 -7
- package/dist/elements/TableHead/TableHead.d.ts.map +1 -1
- package/dist/elements/TableLinkCell/TableLinkCell.d.ts +15 -14
- package/dist/elements/TableLinkCell/TableLinkCell.d.ts.map +1 -1
- package/dist/elements/TableTypeCell/TableTypeCell.d.ts +5 -4
- package/dist/elements/TableTypeCell/TableTypeCell.d.ts.map +1 -1
- package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts +4 -3
- package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts.map +1 -1
- package/dist/hooks/useDetails.hook.d.ts +35 -29
- package/dist/hooks/useDetails.hook.d.ts.map +1 -1
- package/dist/hooks/useDetailsHeader.hook.d.ts +59 -44
- package/dist/hooks/useDetailsHeader.hook.d.ts.map +1 -1
- package/dist/hooks/useFormTable.hook.d.ts +5 -5
- package/dist/hooks/useTable.hook.d.ts +42 -32
- package/dist/hooks/useTable.hook.d.ts.map +1 -1
- package/dist/images/activeFilter.svg +6 -0
- package/dist/images/activeFilter.svg.mjs +6 -0
- package/dist/images/activeFilter.svg.mjs.map +1 -0
- package/dist/images/calendar-chevron.svg +3 -0
- package/dist/images/calendar-chevron.svg.mjs +6 -0
- package/dist/images/calendar-chevron.svg.mjs.map +1 -0
- package/dist/images/check.svg +3 -0
- package/dist/images/check.svg.mjs +6 -0
- package/dist/images/check.svg.mjs.map +1 -0
- package/dist/images/clock.svg.mjs +6 -0
- package/dist/images/clock.svg.mjs.map +1 -0
- package/dist/images/double-check.svg +3 -0
- package/dist/images/filter-2.svg +5 -0
- package/dist/images/filter-2.svg.mjs +6 -0
- package/dist/images/filter-2.svg.mjs.map +1 -0
- package/dist/images/refresh-2.svg +3 -0
- package/dist/images/refresh-2.svg.mjs +6 -0
- package/dist/images/refresh-2.svg.mjs.map +1 -0
- package/dist/images/search2-icon.svg +3 -0
- package/dist/images/select.svg +3 -0
- package/dist/images/select.svg.mjs +6 -0
- package/dist/images/select.svg.mjs.map +1 -0
- package/dist/images/sort-arrow.svg +3 -0
- package/dist/images/sort-arrow.svg.mjs +6 -0
- package/dist/images/sort-arrow.svg.mjs.map +1 -0
- package/dist/nextGenComponents/components/Badge/Badge.d.ts +13 -0
- package/dist/nextGenComponents/components/Badge/Badge.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Badge/Badge.mjs +23 -0
- package/dist/nextGenComponents/components/Badge/Badge.mjs.map +1 -0
- package/dist/nextGenComponents/components/Badge/index.d.ts +3 -0
- package/dist/nextGenComponents/components/Badge/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Badge/index.mjs +6 -0
- package/dist/nextGenComponents/components/Badge/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts +13 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs +109 -0
- package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/index.d.ts +3 -0
- package/dist/nextGenComponents/components/BadgeCell/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/BadgeCell/index.mjs +5 -0
- package/dist/nextGenComponents/components/BadgeCell/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.d.ts +10 -0
- package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.d.ts.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.mjs +103 -0
- package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.mjs.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.d.ts +14 -0
- package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.d.ts.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.mjs +115 -0
- package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.mjs.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.d.ts +14 -0
- package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.d.ts.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.mjs +109 -0
- package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.mjs.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.d.ts +8 -0
- package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.d.ts.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.mjs +109 -0
- package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.mjs.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/index.d.ts +2 -0
- package/dist/nextGenComponents/components/CustomRangePicker/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/CustomRangePicker/index.mjs +5 -0
- package/dist/nextGenComponents/components/CustomRangePicker/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.d.ts +29 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.mjs +223 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.mjs.map +1 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.utils.d.ts +11 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.utils.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.utils.mjs +17 -0
- package/dist/nextGenComponents/components/DataTable/DataTable.utils.mjs.map +1 -0
- package/dist/nextGenComponents/components/DataTable/checkboxColumn.d.ts +4 -0
- package/dist/nextGenComponents/components/DataTable/checkboxColumn.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DataTable/checkboxColumn.mjs +30 -0
- package/dist/nextGenComponents/components/DataTable/checkboxColumn.mjs.map +1 -0
- package/dist/nextGenComponents/components/DataTable/index.d.ts +2 -0
- package/dist/nextGenComponents/components/DataTable/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DataTable/index.mjs +5 -0
- package/dist/nextGenComponents/components/DataTable/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.d.ts +11 -0
- package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.mjs +53 -0
- package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.mjs.map +1 -0
- package/dist/nextGenComponents/components/DetailsPanel/index.d.ts +2 -0
- package/dist/nextGenComponents/components/DetailsPanel/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/DetailsPanel/index.mjs +5 -0
- package/dist/nextGenComponents/components/DetailsPanel/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.d.ts +8 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.d.ts.map +1 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.mjs +20 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.mjs.map +1 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/index.d.ts +2 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/index.mjs +5 -0
- package/dist/nextGenComponents/components/EllipsisTooltip/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts +11 -0
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts.map +1 -0
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs +160 -0
- package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs.map +1 -0
- package/dist/nextGenComponents/components/FilterPopover/index.d.ts +2 -0
- package/dist/nextGenComponents/components/FilterPopover/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/FilterPopover/index.mjs +5 -0
- package/dist/nextGenComponents/components/FilterPopover/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/Loader/Loader.d.ts +16 -0
- package/dist/nextGenComponents/components/Loader/Loader.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Loader/Loader.mjs +62 -0
- package/dist/nextGenComponents/components/Loader/Loader.mjs.map +1 -0
- package/dist/nextGenComponents/components/Loader/index.d.ts +3 -0
- package/dist/nextGenComponents/components/Loader/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/Loader/index.mjs +5 -0
- package/dist/nextGenComponents/components/Loader/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.d.ts +15 -0
- package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.d.ts.map +1 -0
- package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.mjs +113 -0
- package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.mjs.map +1 -0
- package/dist/nextGenComponents/components/MultiSelectField/index.d.ts +3 -0
- package/dist/nextGenComponents/components/MultiSelectField/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/MultiSelectField/index.mjs +6 -0
- package/dist/nextGenComponents/components/MultiSelectField/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/PaginationControls/PaginationControls.d.ts +17 -0
- package/dist/nextGenComponents/components/PaginationControls/PaginationControls.d.ts.map +1 -0
- package/dist/nextGenComponents/components/PaginationControls/PaginationControls.mjs +106 -0
- package/dist/nextGenComponents/components/PaginationControls/PaginationControls.mjs.map +1 -0
- package/dist/nextGenComponents/components/PaginationControls/index.d.ts +3 -0
- package/dist/nextGenComponents/components/PaginationControls/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/PaginationControls/index.mjs +5 -0
- package/dist/nextGenComponents/components/PaginationControls/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/RefreshButton/RefreshButton.d.ts +5 -0
- package/dist/nextGenComponents/components/RefreshButton/RefreshButton.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RefreshButton/RefreshButton.mjs +20 -0
- package/dist/nextGenComponents/components/RefreshButton/RefreshButton.mjs.map +1 -0
- package/dist/nextGenComponents/components/RefreshButton/index.d.ts +2 -0
- package/dist/nextGenComponents/components/RefreshButton/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RefreshButton/index.mjs +5 -0
- package/dist/nextGenComponents/components/RefreshButton/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.d.ts +8 -0
- package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.mjs +58 -0
- package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.mjs.map +1 -0
- package/dist/nextGenComponents/components/RowActions/RowActions.d.ts +8 -0
- package/dist/nextGenComponents/components/RowActions/RowActions.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RowActions/RowActions.mjs +19 -0
- package/dist/nextGenComponents/components/RowActions/RowActions.mjs.map +1 -0
- package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.d.ts +9 -0
- package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.mjs +27 -0
- package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.mjs.map +1 -0
- package/dist/nextGenComponents/components/RowActions/index.d.ts +5 -0
- package/dist/nextGenComponents/components/RowActions/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/RowActions/index.mjs +9 -0
- package/dist/nextGenComponents/components/RowActions/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/StatsCard/StatsCard.d.ts +47 -0
- package/dist/nextGenComponents/components/StatsCard/StatsCard.d.ts.map +1 -0
- package/dist/nextGenComponents/components/StatsCard/StatsCard.mjs +75 -0
- package/dist/nextGenComponents/components/StatsCard/StatsCard.mjs.map +1 -0
- package/dist/nextGenComponents/components/StatsCard/index.d.ts +2 -0
- package/dist/nextGenComponents/components/StatsCard/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/StatsCard/index.mjs +5 -0
- package/dist/nextGenComponents/components/StatsCard/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.d.ts +4 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.d.ts.map +1 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.mjs +106 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.mjs.map +1 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/index.d.ts +2 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/index.mjs +5 -0
- package/dist/nextGenComponents/components/TimeFilterDropdown/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/index.d.ts +39 -0
- package/dist/nextGenComponents/components/index.d.ts.map +1 -0
- package/dist/nextGenComponents/components/index.mjs +103 -0
- package/dist/nextGenComponents/components/index.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/button.d.ts +14 -0
- package/dist/nextGenComponents/components/ui/button.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/button.mjs +56 -0
- package/dist/nextGenComponents/components/ui/button.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/calendar.d.ts +29 -0
- package/dist/nextGenComponents/components/ui/calendar.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/calendar.mjs +157 -0
- package/dist/nextGenComponents/components/ui/calendar.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/card.d.ts +9 -0
- package/dist/nextGenComponents/components/ui/card.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/card.mjs +50 -0
- package/dist/nextGenComponents/components/ui/card.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/checkbox.d.ts +8 -0
- package/dist/nextGenComponents/components/ui/checkbox.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/checkbox.mjs +33 -0
- package/dist/nextGenComponents/components/ui/checkbox.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/collapsible.d.ts +6 -0
- package/dist/nextGenComponents/components/ui/collapsible.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/collapsible.mjs +8 -0
- package/dist/nextGenComponents/components/ui/collapsible.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/dialog.d.ts +27 -0
- package/dist/nextGenComponents/components/ui/dialog.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/dialog.mjs +135 -0
- package/dist/nextGenComponents/components/ui/dialog.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/nextGenComponents/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/dropdown-menu.mjs +131 -0
- package/dist/nextGenComponents/components/ui/dropdown-menu.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/input.d.ts +4 -0
- package/dist/nextGenComponents/components/ui/input.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/input.mjs +33 -0
- package/dist/nextGenComponents/components/ui/input.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/pagination.d.ts +25 -0
- package/dist/nextGenComponents/components/ui/pagination.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/pagination.mjs +93 -0
- package/dist/nextGenComponents/components/ui/pagination.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/popover.d.ts +7 -0
- package/dist/nextGenComponents/components/ui/popover.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/popover.mjs +24 -0
- package/dist/nextGenComponents/components/ui/popover.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/scroll-area.d.ts +6 -0
- package/dist/nextGenComponents/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/scroll-area.mjs +39 -0
- package/dist/nextGenComponents/components/ui/scroll-area.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/select.d.ts +14 -0
- package/dist/nextGenComponents/components/ui/select.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/select.mjs +117 -0
- package/dist/nextGenComponents/components/ui/select.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/separator.d.ts +5 -0
- package/dist/nextGenComponents/components/ui/separator.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/separator.mjs +25 -0
- package/dist/nextGenComponents/components/ui/separator.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/tabs.d.ts +8 -0
- package/dist/nextGenComponents/components/ui/tabs.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/tabs.mjs +56 -0
- package/dist/nextGenComponents/components/ui/tabs.mjs.map +1 -0
- package/dist/nextGenComponents/components/ui/tooltip.d.ts +8 -0
- package/dist/nextGenComponents/components/ui/tooltip.d.ts.map +1 -0
- package/dist/nextGenComponents/components/ui/tooltip.mjs +24 -0
- package/dist/nextGenComponents/components/ui/tooltip.mjs.map +1 -0
- package/dist/nextGenComponents/constants/index.d.ts +41 -0
- package/dist/nextGenComponents/constants/index.d.ts.map +1 -0
- package/dist/nextGenComponents/constants/index.mjs +49 -0
- package/dist/nextGenComponents/constants/index.mjs.map +1 -0
- package/dist/nextGenComponents/hooks/useClickOutside.d.ts +3 -0
- package/dist/nextGenComponents/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/nextGenComponents/hooks/useClickOutside.mjs +22 -0
- package/dist/nextGenComponents/hooks/useClickOutside.mjs.map +1 -0
- package/dist/nextGenComponents/index.d.ts +4 -0
- package/dist/nextGenComponents/index.d.ts.map +1 -0
- package/dist/nextGenComponents/index.mjs +126 -0
- package/dist/nextGenComponents/index.mjs.map +1 -0
- package/dist/nextGenComponents/lib/utils.d.ts +3 -0
- package/dist/nextGenComponents/lib/utils.d.ts.map +1 -0
- package/dist/nextGenComponents/lib/utils.mjs +7 -0
- package/dist/nextGenComponents/lib/utils.mjs.map +1 -0
- package/dist/nextGenComponents/stores/tableStore.d.ts +28 -0
- package/dist/nextGenComponents/stores/tableStore.d.ts.map +1 -0
- package/dist/nextGenComponents/stores/tableStore.mjs +58 -0
- package/dist/nextGenComponents/stores/tableStore.mjs.map +1 -0
- package/dist/nextGenComponents/types/table/filter.d.ts +21 -0
- package/dist/nextGenComponents/types/table/filter.d.ts.map +1 -0
- package/dist/nextGenComponents/types/table/rowAction.d.ts +13 -0
- package/dist/nextGenComponents/types/table/rowAction.d.ts.map +1 -0
- package/dist/nextGenComponents/types/table/timeFilter.d.ts +23 -0
- package/dist/nextGenComponents/types/table/timeFilter.d.ts.map +1 -0
- package/dist/nextGenComponents/utils/date.utils.d.ts +24 -0
- package/dist/nextGenComponents/utils/date.utils.d.ts.map +1 -0
- package/dist/nextGenComponents/utils/date.utils.mjs +79 -0
- package/dist/nextGenComponents/utils/date.utils.mjs.map +1 -0
- package/dist/nextGenComponents/utils/tableFilters.utils.d.ts +7 -0
- package/dist/nextGenComponents/utils/tableFilters.utils.d.ts.map +1 -0
- package/dist/nextGenComponents/utils/tableFilters.utils.mjs +7 -0
- package/dist/nextGenComponents/utils/tableFilters.utils.mjs.map +1 -0
- package/dist/reducers/notificationReducer.d.ts +1 -1
- package/dist/types.d.ts +148 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/chips.util.d.ts +2 -2
- package/dist/utils/chips.util.d.ts.map +1 -1
- package/dist/utils/common.util.d.ts +1 -1
- package/dist/utils/common.util.d.ts.map +1 -1
- package/dist/utils/datetime.util.d.ts +3 -3
- package/dist/utils/datetime.util.d.ts.map +1 -1
- package/dist/utils/generateChipsList.util.d.ts +1 -1
- package/dist/utils/notification.util.d.ts +1 -1
- package/dist/utils/notification.util.d.ts.map +1 -1
- package/dist/utils/proxyServerConfig.util.d.ts +4 -4
- package/package.json +35 -8
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsxs as y, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useState as m, useRef as p, useMemo as z, useEffect as f, useCallback as h } from "react";
|
|
3
|
+
import { isMaskComplete as b, MaskedInput as E } from "./MaskedInput.mjs";
|
|
4
|
+
import I from "../../../images/select.svg.mjs";
|
|
5
|
+
import { cn as d } from "../../lib/utils.mjs";
|
|
6
|
+
import { is12HourFormat as N, getTimePlaceholder as P, buildHalfHourOptions as D, parseTimeInput as x } from "../../utils/date.utils.mjs";
|
|
7
|
+
const w = "_", H = N(), O = (t) => {
|
|
8
|
+
const r = t[0];
|
|
9
|
+
return [
|
|
10
|
+
/[0-1]/,
|
|
11
|
+
r === "1" ? /[0-2]/ : /[0-9]/,
|
|
12
|
+
":",
|
|
13
|
+
/[0-5]/,
|
|
14
|
+
/[0-9]/,
|
|
15
|
+
" ",
|
|
16
|
+
/[AaPp]/,
|
|
17
|
+
/[Mm]/
|
|
18
|
+
];
|
|
19
|
+
}, R = (t) => {
|
|
20
|
+
const r = t[0];
|
|
21
|
+
return [/[0-2]/, r === "2" ? /[0-3]/ : /[0-9]/, ":", /[0-5]/, /[0-9]/];
|
|
22
|
+
}, S = H ? O : R, L = P(), q = ({ value: t, onChange: r, className: g }) => {
|
|
23
|
+
const [n, o] = m(""), [c, l] = m(!1), a = p(null), u = p(null), k = z(() => D(), []);
|
|
24
|
+
f(() => {
|
|
25
|
+
o(t);
|
|
26
|
+
}, [t]), f(() => {
|
|
27
|
+
if (!c) return;
|
|
28
|
+
const e = (s) => {
|
|
29
|
+
a.current && !a.current.contains(s.target) && l(!1);
|
|
30
|
+
};
|
|
31
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
32
|
+
}, [c]), f(() => {
|
|
33
|
+
if (!c || !u.current || !t) return;
|
|
34
|
+
const e = u.current.querySelector('[data-active="true"]');
|
|
35
|
+
e && e.scrollIntoView({ block: "nearest" });
|
|
36
|
+
}, [c, t]);
|
|
37
|
+
const v = h(
|
|
38
|
+
(e) => {
|
|
39
|
+
if (o(e), l(!1), b(e, w)) {
|
|
40
|
+
const s = x(e);
|
|
41
|
+
s && r(s);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
[r]
|
|
45
|
+
), C = h(() => {
|
|
46
|
+
if (n)
|
|
47
|
+
if (b(n, w)) {
|
|
48
|
+
const e = x(n);
|
|
49
|
+
e ? (o(e), r(e)) : o(t);
|
|
50
|
+
} else
|
|
51
|
+
o(t);
|
|
52
|
+
}, [n, t, r]), M = (e) => {
|
|
53
|
+
o(e), r(e), l(!1);
|
|
54
|
+
};
|
|
55
|
+
return /* @__PURE__ */ y("div", { ref: a, className: d("relative", g), children: [
|
|
56
|
+
/* @__PURE__ */ i(
|
|
57
|
+
E,
|
|
58
|
+
{
|
|
59
|
+
mask: S,
|
|
60
|
+
value: n,
|
|
61
|
+
onChange: v,
|
|
62
|
+
onBlur: C,
|
|
63
|
+
textPlaceholder: L,
|
|
64
|
+
className: d(
|
|
65
|
+
"h-10 w-full pr-7 text-center text-[14px] border border-[#C4C2C8] rounded-md focus-visible:ring-1 focus-visible:ring-igz-light-purple focus-visible:outline-none",
|
|
66
|
+
t ? "text-igz-primary" : "text-[#C4C2C8]"
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
/* @__PURE__ */ i(
|
|
71
|
+
"button",
|
|
72
|
+
{
|
|
73
|
+
type: "button",
|
|
74
|
+
className: "absolute right-2 top-1/2 -translate-y-1/2 cursor-pointer",
|
|
75
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
76
|
+
onClick: () => l((e) => !e),
|
|
77
|
+
tabIndex: -1,
|
|
78
|
+
children: /* @__PURE__ */ i(I, { className: "h-3 w-3 opacity-70" })
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
c && /* @__PURE__ */ i(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
ref: u,
|
|
85
|
+
className: "absolute top-full left-0 mt-1 w-full z-50 max-h-[200px] overflow-y-auto rounded-md border border-[#ccc] bg-white shadow-md",
|
|
86
|
+
children: k.map((e) => /* @__PURE__ */ i(
|
|
87
|
+
"button",
|
|
88
|
+
{
|
|
89
|
+
type: "button",
|
|
90
|
+
"data-active": e === t || void 0,
|
|
91
|
+
className: d(
|
|
92
|
+
"w-full h-[46px] px-4 text-left text-[14px] hover:bg-igz-accent-hover cursor-pointer",
|
|
93
|
+
e === t && "bg-igz-accent-hover font-medium"
|
|
94
|
+
),
|
|
95
|
+
onMouseDown: (s) => {
|
|
96
|
+
s.preventDefault(), M(e);
|
|
97
|
+
},
|
|
98
|
+
children: e
|
|
99
|
+
},
|
|
100
|
+
e
|
|
101
|
+
))
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
] });
|
|
105
|
+
};
|
|
106
|
+
export {
|
|
107
|
+
q as TimePickerInput
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=TimePickerInput.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePickerInput.mjs","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/TimePickerInput.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport {\n MaskedInput,\n isMaskComplete,\n type MaskItem\n} from '@/components/CustomRangePicker/MaskedInput'\nimport SelectIcon from '../../../images/select.svg?react'\nimport { cn } from '@/lib/utils'\nimport {\n buildHalfHourOptions,\n getTimePlaceholder,\n is12HourFormat,\n parseTimeInput\n} from '@/utils/date.utils'\n\ntype Props = {\n value: string\n onChange: (value: string) => void\n className?: string\n}\n\nconst PLACEHOLDER_CHAR = '_' as const\n\nconst use12h = is12HourFormat()\n\nconst timeMask12h = (value: string): MaskItem[] => {\n const firstChar = value[0]\n return [\n /[0-1]/,\n firstChar === '1' ? /[0-2]/ : /[0-9]/,\n ':',\n /[0-5]/,\n /[0-9]/,\n ' ',\n /[AaPp]/,\n /[Mm]/\n ]\n}\n\nconst timeMask24h = (value: string): MaskItem[] => {\n const firstChar = value[0]\n return [/[0-2]/, firstChar === '2' ? /[0-3]/ : /[0-9]/, ':', /[0-5]/, /[0-9]/]\n}\n\nconst timeMask = use12h ? timeMask12h : timeMask24h\nconst timePlaceholder = getTimePlaceholder()\n\nexport const TimePickerInput = ({ value, onChange, className }: Props) => {\n const [maskedValue, setMaskedValue] = useState('')\n const [isOpen, setIsOpen] = useState(false)\n const wrapperRef = useRef<HTMLDivElement>(null)\n const listRef = useRef<HTMLDivElement>(null)\n const options = useMemo(() => buildHalfHourOptions(), [])\n\n useEffect(() => {\n setMaskedValue(value)\n }, [value])\n\n useEffect(() => {\n if (!isOpen) return\n const handleClick = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n setIsOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [isOpen])\n\n useEffect(() => {\n if (!isOpen || !listRef.current || !value) return\n const activeEl = listRef.current.querySelector('[data-active=\"true\"]')\n if (activeEl) activeEl.scrollIntoView({ block: 'nearest' })\n }, [isOpen, value])\n\n const handleMaskedChange = useCallback(\n (masked: string) => {\n setMaskedValue(masked)\n setIsOpen(false)\n if (isMaskComplete(masked, PLACEHOLDER_CHAR)) {\n const normalized = parseTimeInput(masked)\n if (normalized) onChange(normalized)\n }\n },\n [onChange]\n )\n\n const handleBlur = useCallback(() => {\n if (!maskedValue) return\n if (isMaskComplete(maskedValue, PLACEHOLDER_CHAR)) {\n const normalized = parseTimeInput(maskedValue)\n if (normalized) {\n setMaskedValue(normalized)\n onChange(normalized)\n } else {\n setMaskedValue(value)\n }\n } else {\n setMaskedValue(value)\n }\n }, [maskedValue, value, onChange])\n\n const handleOptionSelect = (option: string) => {\n setMaskedValue(option)\n onChange(option)\n setIsOpen(false)\n }\n\n return (\n <div ref={wrapperRef} className={cn('relative', className)}>\n <MaskedInput\n mask={timeMask}\n value={maskedValue}\n onChange={handleMaskedChange}\n onBlur={handleBlur}\n textPlaceholder={timePlaceholder}\n className={cn(\n 'h-10 w-full pr-7 text-center text-[14px] border border-[#C4C2C8] rounded-md focus-visible:ring-1 focus-visible:ring-igz-light-purple focus-visible:outline-none',\n value ? 'text-igz-primary' : 'text-[#C4C2C8]'\n )}\n />\n <button\n type=\"button\"\n className=\"absolute right-2 top-1/2 -translate-y-1/2 cursor-pointer\"\n onMouseDown={e => e.preventDefault()}\n onClick={() => setIsOpen(prev => !prev)}\n tabIndex={-1}\n >\n <SelectIcon className=\"h-3 w-3 opacity-70\" />\n </button>\n\n {isOpen && (\n <div\n ref={listRef}\n className=\"absolute top-full left-0 mt-1 w-full z-50 max-h-[200px] overflow-y-auto rounded-md border border-[#ccc] bg-white shadow-md\"\n >\n {options.map(time => (\n <button\n key={time}\n type=\"button\"\n data-active={time === value || undefined}\n className={cn(\n 'w-full h-[46px] px-4 text-left text-[14px] hover:bg-igz-accent-hover cursor-pointer',\n time === value && 'bg-igz-accent-hover font-medium'\n )}\n onMouseDown={e => {\n e.preventDefault()\n handleOptionSelect(time)\n }}\n >\n {time}\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n"],"names":["PLACEHOLDER_CHAR","use12h","is12HourFormat","timeMask12h","value","firstChar","timeMask24h","timeMask","timePlaceholder","getTimePlaceholder","TimePickerInput","onChange","className","maskedValue","setMaskedValue","useState","isOpen","setIsOpen","wrapperRef","useRef","listRef","options","useMemo","buildHalfHourOptions","useEffect","handleClick","e","activeEl","handleMaskedChange","useCallback","masked","isMaskComplete","normalized","parseTimeInput","handleBlur","handleOptionSelect","option","jsxs","cn","jsx","MaskedInput","prev","SelectIcon","time"],"mappings":";;;;;;AAsBA,MAAMA,IAAmB,KAEnBC,IAASC,EAAA,GAETC,IAAc,CAACC,MAA8B;AACjD,QAAMC,IAAYD,EAAM,CAAC;AACzB,SAAO;AAAA,IACL;AAAA,IACAC,MAAc,MAAM,UAAU;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ,GAEMC,IAAc,CAACF,MAA8B;AACjD,QAAMC,IAAYD,EAAM,CAAC;AACzB,SAAO,CAAC,SAASC,MAAc,MAAM,UAAU,SAAS,KAAK,SAAS,OAAO;AAC/E,GAEME,IAAWN,IAASE,IAAcG,GAClCE,IAAkBC,EAAA,GAEXC,IAAkB,CAAC,EAAE,OAAAN,GAAO,UAAAO,GAAU,WAAAC,QAAuB;AACxE,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAE,GAC3C,CAACC,GAAQC,CAAS,IAAIF,EAAS,EAAK,GACpCG,IAAaC,EAAuB,IAAI,GACxCC,IAAUD,EAAuB,IAAI,GACrCE,IAAUC,EAAQ,MAAMC,EAAA,GAAwB,CAAA,CAAE;AAExD,EAAAC,EAAU,MAAM;AACd,IAAAV,EAAeV,CAAK;AAAA,EACtB,GAAG,CAACA,CAAK,CAAC,GAEVoB,EAAU,MAAM;AACd,QAAI,CAACR,EAAQ;AACb,UAAMS,IAAc,CAACC,MAAkB;AACrC,MAAIR,EAAW,WAAW,CAACA,EAAW,QAAQ,SAASQ,EAAE,MAAc,KACrET,EAAU,EAAK;AAAA,IAEnB;AACA,oBAAS,iBAAiB,aAAaQ,CAAW,GAC3C,MAAM,SAAS,oBAAoB,aAAaA,CAAW;AAAA,EACpE,GAAG,CAACT,CAAM,CAAC,GAEXQ,EAAU,MAAM;AACd,QAAI,CAACR,KAAU,CAACI,EAAQ,WAAW,CAAChB,EAAO;AAC3C,UAAMuB,IAAWP,EAAQ,QAAQ,cAAc,sBAAsB;AACrE,IAAIO,KAAUA,EAAS,eAAe,EAAE,OAAO,WAAW;AAAA,EAC5D,GAAG,CAACX,GAAQZ,CAAK,CAAC;AAElB,QAAMwB,IAAqBC;AAAA,IACzB,CAACC,MAAmB;AAGlB,UAFAhB,EAAegB,CAAM,GACrBb,EAAU,EAAK,GACXc,EAAeD,GAAQ9B,CAAgB,GAAG;AAC5C,cAAMgC,IAAaC,EAAeH,CAAM;AACxC,QAAIE,OAAqBA,CAAU;AAAA,MACrC;AAAA,IACF;AAAA,IACA,CAACrB,CAAQ;AAAA,EAAA,GAGLuB,IAAaL,EAAY,MAAM;AACnC,QAAKhB;AACL,UAAIkB,EAAelB,GAAab,CAAgB,GAAG;AACjD,cAAMgC,IAAaC,EAAepB,CAAW;AAC7C,QAAImB,KACFlB,EAAekB,CAAU,GACzBrB,EAASqB,CAAU,KAEnBlB,EAAeV,CAAK;AAAA,MAExB;AACE,QAAAU,EAAeV,CAAK;AAAA,EAExB,GAAG,CAACS,GAAaT,GAAOO,CAAQ,CAAC,GAE3BwB,IAAqB,CAACC,MAAmB;AAC7C,IAAAtB,EAAesB,CAAM,GACrBzB,EAASyB,CAAM,GACfnB,EAAU,EAAK;AAAA,EACjB;AAEA,SACE,gBAAAoB,EAAC,SAAI,KAAKnB,GAAY,WAAWoB,EAAG,YAAY1B,CAAS,GACvD,UAAA;AAAA,IAAA,gBAAA2B;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAMjC;AAAA,QACN,OAAOM;AAAA,QACP,UAAUe;AAAA,QACV,QAAQM;AAAA,QACR,iBAAiB1B;AAAA,QACjB,WAAW8B;AAAA,UACT;AAAA,UACAlC,IAAQ,qBAAqB;AAAA,QAAA;AAAA,MAC/B;AAAA,IAAA;AAAA,IAEF,gBAAAmC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,aAAa,CAAA,MAAK,EAAE,eAAA;AAAA,QACpB,SAAS,MAAMtB,EAAU,CAAAwB,MAAQ,CAACA,CAAI;AAAA,QACtC,UAAU;AAAA,QAEV,UAAA,gBAAAF,EAACG,GAAA,EAAW,WAAU,qBAAA,CAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5C1B,KACC,gBAAAuB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKnB;AAAA,QACL,WAAU;AAAA,QAET,UAAAC,EAAQ,IAAI,CAAAsB,MACX,gBAAAJ;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAK;AAAA,YACL,eAAaI,MAASvC,KAAS;AAAA,YAC/B,WAAWkC;AAAA,cACT;AAAA,cACAK,MAASvC,KAAS;AAAA,YAAA;AAAA,YAEpB,aAAa,CAAAsB,MAAK;AAChB,cAAAA,EAAE,eAAA,GACFS,EAAmBQ,CAAI;AAAA,YACzB;AAAA,YAEC,UAAAA;AAAA,UAAA;AAAA,UAZIA;AAAA,QAAA,CAcR;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ColumnDef, type RowSelectionState, type SortingState } from '@tanstack/react-table';
|
|
2
|
+
import { ComponentType, ReactNode } from 'react';
|
|
3
|
+
import { PaginationConfig } from '@/components/PaginationControls';
|
|
4
|
+
import { ActionMenuItem } from '@/components/RowActions';
|
|
5
|
+
export type DetailsPanelConfig<TData extends object> = {
|
|
6
|
+
content: ComponentType<TData>;
|
|
7
|
+
titleAccessorKey?: keyof TData;
|
|
8
|
+
titleAccessorFn?: (row: TData) => string | ReactNode;
|
|
9
|
+
selectedRow?: TData;
|
|
10
|
+
onRowSelect?: (row: TData) => void;
|
|
11
|
+
onRowClose?: () => void;
|
|
12
|
+
};
|
|
13
|
+
export type CheckboxSelectionConfig = {
|
|
14
|
+
rowSelection: RowSelectionState;
|
|
15
|
+
onRowSelectionChange: (state: RowSelectionState) => void;
|
|
16
|
+
};
|
|
17
|
+
export type DataTableProps<TData extends object> = {
|
|
18
|
+
className?: string;
|
|
19
|
+
data: TData[];
|
|
20
|
+
columns: ColumnDef<TData, unknown>[];
|
|
21
|
+
initialSorting?: SortingState;
|
|
22
|
+
pagination?: PaginationConfig;
|
|
23
|
+
rowActions?: (row: TData) => ActionMenuItem[];
|
|
24
|
+
detailsPanel?: DetailsPanelConfig<TData>;
|
|
25
|
+
checkboxSelection?: CheckboxSelectionConfig;
|
|
26
|
+
};
|
|
27
|
+
declare const DataTable: <TData extends object>({ className, data, columns, initialSorting, pagination, rowActions, detailsPanel, checkboxSelection }: Readonly<DataTableProps<TData>>) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export default DataTable;
|
|
29
|
+
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAA;AAKjE,OAA2B,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAc,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAQpE,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IACrD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAA;IAC9B,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAA;IACpD,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,iBAAiB,CAAA;IAC/B,oBAAoB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAA;IACpC,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,cAAc,EAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACxC,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;CAC5C,CAAA;AAED,QAAA,MAAM,SAAS,GAAI,KAAK,SAAS,MAAM,EAAE,uGAStC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,4CAoQjC,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { jsxs as r, Fragment as W, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useReactTable as K, getSortedRowModel as U, getFilteredRowModel as q, getCoreRowModel as J, flexRender as h } from "@tanstack/react-table";
|
|
3
|
+
import { useVirtualizer as Q } from "@tanstack/react-virtual";
|
|
4
|
+
import { useRef as Y, useMemo as x } from "react";
|
|
5
|
+
import Z from "../../../images/sort-arrow.svg.mjs";
|
|
6
|
+
import "../DetailsPanel/index.mjs";
|
|
7
|
+
import "../EllipsisTooltip/index.mjs";
|
|
8
|
+
import "../PaginationControls/index.mjs";
|
|
9
|
+
import "../RowActions/index.mjs";
|
|
10
|
+
import { ESTIMATED_ROW_HEIGHT as tt, DATATABLE_TEXT as A, SORT_DIRECTION as P, NO_ROWS_MESSAGES as et } from "../../constants/index.mjs";
|
|
11
|
+
import { useClickOutside as ot } from "../../hooks/useClickOutside.mjs";
|
|
12
|
+
import { cn as d } from "../../lib/utils.mjs";
|
|
13
|
+
import lt from "./checkboxColumn.mjs";
|
|
14
|
+
import { getColumnWidthCalculator as nt, getVirtualPadding as it, getColumnSize as $ } from "./DataTable.utils.mjs";
|
|
15
|
+
import L from "../EllipsisTooltip/EllipsisTooltip.mjs";
|
|
16
|
+
import rt from "../RowActions/RowActions.mjs";
|
|
17
|
+
import at from "../DetailsPanel/DetailsPanel.mjs";
|
|
18
|
+
import st from "../PaginationControls/PaginationControls.mjs";
|
|
19
|
+
const Tt = ({
|
|
20
|
+
className: V,
|
|
21
|
+
data: g,
|
|
22
|
+
columns: b,
|
|
23
|
+
initialSorting: j = [],
|
|
24
|
+
pagination: R,
|
|
25
|
+
rowActions: m,
|
|
26
|
+
detailsPanel: u,
|
|
27
|
+
checkboxSelection: n
|
|
28
|
+
}) => {
|
|
29
|
+
var O;
|
|
30
|
+
const { selectedRow: c, onRowSelect: v, onRowClose: p } = u ?? {}, N = Y(null), k = ot(c ? p : void 0), X = x(() => {
|
|
31
|
+
if (!c) return {};
|
|
32
|
+
const o = g.indexOf(c);
|
|
33
|
+
return o >= 0 ? { [o]: !0 } : {};
|
|
34
|
+
}, [c, g]), E = n ? n.rowSelection : X, y = x(
|
|
35
|
+
() => n ? [lt, ...b] : b,
|
|
36
|
+
[n, b]
|
|
37
|
+
), f = K({
|
|
38
|
+
data: g,
|
|
39
|
+
columns: y,
|
|
40
|
+
defaultColumn: {
|
|
41
|
+
size: 1,
|
|
42
|
+
minSize: 0
|
|
43
|
+
},
|
|
44
|
+
state: {
|
|
45
|
+
rowSelection: E
|
|
46
|
+
},
|
|
47
|
+
onRowSelectionChange: (o) => {
|
|
48
|
+
if (!n) return;
|
|
49
|
+
const t = typeof o == "function" ? o(E) : o;
|
|
50
|
+
n.onRowSelectionChange(t);
|
|
51
|
+
},
|
|
52
|
+
getCoreRowModel: J(),
|
|
53
|
+
getFilteredRowModel: q(),
|
|
54
|
+
getSortedRowModel: U(),
|
|
55
|
+
enableRowSelection: !0,
|
|
56
|
+
enableMultiRowSelection: !!n,
|
|
57
|
+
enableSorting: !0,
|
|
58
|
+
enableSortingRemoval: !1,
|
|
59
|
+
initialState: {
|
|
60
|
+
sorting: j
|
|
61
|
+
}
|
|
62
|
+
}), { rows: C } = f.getRowModel(), w = Q({
|
|
63
|
+
count: C.length,
|
|
64
|
+
estimateSize: () => tt,
|
|
65
|
+
getScrollElement: () => N.current,
|
|
66
|
+
overscan: 5
|
|
67
|
+
}), D = w.getVirtualItems(), T = c ?? ((O = f.getRowModel().flatRows.find((o) => o.getIsSelected())) == null ? void 0 : O.original), _ = f.getVisibleLeafColumns(), I = x(() => nt(_), [_]), S = y.length + (m ? 1 : 0), { top: M, bottom: z } = it(D, w);
|
|
68
|
+
return /* @__PURE__ */ r(W, { children: [
|
|
69
|
+
/* @__PURE__ */ r(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
"data-testid": "data-table-wrapper",
|
|
73
|
+
ref: k,
|
|
74
|
+
className: "flex flex-col relative flex-grow min-h-0",
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ e("div", { ref: N, className: d("overflow-auto rounded-lg border", V), children: /* @__PURE__ */ r("table", { className: "w-full border-collapse table-fixed", children: [
|
|
77
|
+
/* @__PURE__ */ e("thead", { children: f.getHeaderGroups().map((o) => /* @__PURE__ */ r(
|
|
78
|
+
"tr",
|
|
79
|
+
{
|
|
80
|
+
className: "sticky top-0 z-10 bg-white shadow-[0_1px_0_0_#eee]",
|
|
81
|
+
"data-testid": "data-table-header-row",
|
|
82
|
+
children: [
|
|
83
|
+
o.headers.map((t, l) => {
|
|
84
|
+
const a = t.column.id === A.CHECKBOX_COLUMN_ID, i = n ? l === 1 : l === 0;
|
|
85
|
+
return /* @__PURE__ */ e(
|
|
86
|
+
"th",
|
|
87
|
+
{
|
|
88
|
+
colSpan: t.colSpan,
|
|
89
|
+
style: $(
|
|
90
|
+
a,
|
|
91
|
+
i,
|
|
92
|
+
t.column.getSize(),
|
|
93
|
+
I
|
|
94
|
+
),
|
|
95
|
+
className: d(
|
|
96
|
+
"relative px-4 py-2 text-left text-[15px] leading-6 text-[#7F7989] border-b border-[#eee] whitespace-nowrap",
|
|
97
|
+
i && "w-[250px] pr-[10px]",
|
|
98
|
+
a && "w-12 px-3"
|
|
99
|
+
),
|
|
100
|
+
"data-testid": `data-table-header-${typeof t.column.columnDef.header == "string" ? t.column.columnDef.header : t.column.id}`,
|
|
101
|
+
children: !t.isPlaceholder && (a ? h(t.column.columnDef.header, t.getContext()) : /* @__PURE__ */ r(
|
|
102
|
+
"button",
|
|
103
|
+
{
|
|
104
|
+
type: "button",
|
|
105
|
+
onClick: t.column.getToggleSortingHandler(),
|
|
106
|
+
disabled: !t.column.getCanSort(),
|
|
107
|
+
className: d(
|
|
108
|
+
"inline-flex items-center gap-2 w-full bg-transparent border-0 py-1 cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[#b9d4ff] focus-visible:outline-offset-2 rounded disabled:cursor-default font-normal",
|
|
109
|
+
t.column.getIsSorted() && "font-bold"
|
|
110
|
+
),
|
|
111
|
+
"data-testid": `data-table-header-button-${t.column.columnDef.header}`,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ e(L, { className: "w-fit", children: h(t.column.columnDef.header, t.getContext()) }),
|
|
114
|
+
t.column.getCanSort() && /* @__PURE__ */ e("span", { className: "w-2 h-2 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ e(
|
|
115
|
+
Z,
|
|
116
|
+
{
|
|
117
|
+
"aria-hidden": "true",
|
|
118
|
+
className: d(
|
|
119
|
+
"w-full h-full transition-transform duration-150 ease-in-out",
|
|
120
|
+
t.column.getIsSorted() === P.ASC && "rotate-180 opacity-100",
|
|
121
|
+
t.column.getIsSorted() === P.DESC && "rotate-0 opacity-100",
|
|
122
|
+
!t.column.getIsSorted() && "opacity-40"
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
) })
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
))
|
|
129
|
+
},
|
|
130
|
+
t.id
|
|
131
|
+
);
|
|
132
|
+
}),
|
|
133
|
+
m && /* @__PURE__ */ e(
|
|
134
|
+
"th",
|
|
135
|
+
{
|
|
136
|
+
className: "w-12 p-0 border-b border-[#eee]",
|
|
137
|
+
"data-testid": "data-table-header-actions"
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
o.id
|
|
143
|
+
)) }),
|
|
144
|
+
/* @__PURE__ */ e("tbody", { children: C.length === 0 ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
|
|
145
|
+
"td",
|
|
146
|
+
{
|
|
147
|
+
colSpan: S,
|
|
148
|
+
className: "h-40 text-center text-[15px] text-[#4B4760]",
|
|
149
|
+
"data-testid": "data-table-empty-state",
|
|
150
|
+
children: et
|
|
151
|
+
}
|
|
152
|
+
) }) : /* @__PURE__ */ r(W, { children: [
|
|
153
|
+
M > 0 && /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: S, style: { height: M, padding: 0 } }) }),
|
|
154
|
+
D.map((o) => {
|
|
155
|
+
const t = C[o.index];
|
|
156
|
+
return /* @__PURE__ */ r(
|
|
157
|
+
"tr",
|
|
158
|
+
{
|
|
159
|
+
ref: w.measureElement,
|
|
160
|
+
"data-index": o.index,
|
|
161
|
+
className: d(
|
|
162
|
+
"group hover:bg-igz-accent-hover h-12 border-b border-[#eee] last:border-none",
|
|
163
|
+
u && "cursor-pointer",
|
|
164
|
+
t.getIsSelected() && "bg-[#f2f7ff]"
|
|
165
|
+
),
|
|
166
|
+
"data-testid": `data-table-row-${t.id}`,
|
|
167
|
+
children: [
|
|
168
|
+
t.getVisibleCells().map((l, a) => {
|
|
169
|
+
const i = l.column.id === A.CHECKBOX_COLUMN_ID, B = n ? a === 1 : a === 0, s = l.column.columnDef.meta, F = !!(s != null && s.skipEllipsisTooltip), H = h(
|
|
170
|
+
l.column.columnDef.cell,
|
|
171
|
+
l.getContext()
|
|
172
|
+
), G = !i && !F ? /* @__PURE__ */ e(L, { children: H }) : H;
|
|
173
|
+
return /* @__PURE__ */ e(
|
|
174
|
+
"td",
|
|
175
|
+
{
|
|
176
|
+
onClick: !i && v ? () => v(t.original) : void 0,
|
|
177
|
+
style: $(
|
|
178
|
+
i,
|
|
179
|
+
B,
|
|
180
|
+
l.column.getSize(),
|
|
181
|
+
I
|
|
182
|
+
),
|
|
183
|
+
className: d(
|
|
184
|
+
"relative px-4 py-2 text-left text-[#4B4760] text-[15px] font-normal",
|
|
185
|
+
F ? "min-w-0" : "truncate",
|
|
186
|
+
B && "w-[250px] pr-[10px]",
|
|
187
|
+
i && "w-12 px-3",
|
|
188
|
+
s == null ? void 0 : s.tdClassName
|
|
189
|
+
),
|
|
190
|
+
"data-testid": `data-table-cell-${t.id}`,
|
|
191
|
+
children: G
|
|
192
|
+
},
|
|
193
|
+
l.id
|
|
194
|
+
);
|
|
195
|
+
}),
|
|
196
|
+
m && /* @__PURE__ */ e(
|
|
197
|
+
"td",
|
|
198
|
+
{
|
|
199
|
+
className: "relative px-1",
|
|
200
|
+
"data-testid": `data-table-actions-cell-${t.id}`,
|
|
201
|
+
onClick: (l) => l.stopPropagation(),
|
|
202
|
+
children: /* @__PURE__ */ e(rt, { actions: m(t.original) })
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
t.id
|
|
208
|
+
);
|
|
209
|
+
}),
|
|
210
|
+
z > 0 && /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: S, style: { height: z, padding: 0 } }) })
|
|
211
|
+
] }) })
|
|
212
|
+
] }) }),
|
|
213
|
+
T && u && /* @__PURE__ */ e(at, { row: T, ...u, onClose: () => p == null ? void 0 : p() })
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
),
|
|
217
|
+
R && /* @__PURE__ */ e(st, { ...R })
|
|
218
|
+
] });
|
|
219
|
+
};
|
|
220
|
+
export {
|
|
221
|
+
Tt as default
|
|
222
|
+
};
|
|
223
|
+
//# sourceMappingURL=DataTable.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.mjs","sources":["../../../../src/lib/nextGenComponents/components/DataTable/DataTable.tsx"],"sourcesContent":["import {\n flexRender,\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getSortedRowModel,\n type ColumnDef,\n type RowSelectionState,\n type SortingState\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { ComponentType, ReactNode, useRef, useMemo } from 'react'\n\nimport SortArrow from '../../../images/sort-arrow.svg?react'\nimport DetailsPanel from '@/components/DetailsPanel'\nimport EllipsisTooltip from '@/components/EllipsisTooltip'\nimport PaginationControls, { PaginationConfig } from '@/components/PaginationControls'\nimport { RowActions, ActionMenuItem } from '@/components/RowActions'\nimport { DATATABLE_TEXT, ESTIMATED_ROW_HEIGHT, NO_ROWS_MESSAGES, SORT_DIRECTION } from '@/constants'\nimport { useClickOutside } from '@/hooks/useClickOutside'\nimport { cn } from '@/lib/utils'\n\nimport checkboxColumn from './checkboxColumn'\nimport { getColumnSize, getColumnWidthCalculator, getVirtualPadding } from './DataTable.utils'\n\nexport type DetailsPanelConfig<TData extends object> = {\n content: ComponentType<TData>\n titleAccessorKey?: keyof TData\n titleAccessorFn?: (row: TData) => string | ReactNode\n selectedRow?: TData\n onRowSelect?: (row: TData) => void\n onRowClose?: () => void\n}\n\nexport type CheckboxSelectionConfig = {\n rowSelection: RowSelectionState\n onRowSelectionChange: (state: RowSelectionState) => void\n}\n\nexport type DataTableProps<TData extends object> = {\n className?: string\n data: TData[]\n columns: ColumnDef<TData, unknown>[]\n initialSorting?: SortingState\n pagination?: PaginationConfig\n rowActions?: (row: TData) => ActionMenuItem[]\n detailsPanel?: DetailsPanelConfig<TData>\n checkboxSelection?: CheckboxSelectionConfig\n}\n\nconst DataTable = <TData extends object>({\n className,\n data,\n columns,\n initialSorting = [],\n pagination,\n rowActions,\n detailsPanel,\n checkboxSelection\n}: Readonly<DataTableProps<TData>>) => {\n const { selectedRow, onRowSelect, onRowClose } = detailsPanel ?? {}\n const tableContainerRef = useRef<HTMLDivElement>(null)\n const wrapperRef = useClickOutside(selectedRow ? onRowClose : undefined)\n\n const detailsPanelSelection = useMemo(() => {\n if (!selectedRow) return {}\n const index = data.indexOf(selectedRow)\n return index >= 0 ? { [index]: true } : {}\n }, [selectedRow, data])\n\n const rowSelection = checkboxSelection ? checkboxSelection.rowSelection : detailsPanelSelection\n\n const allColumns = useMemo(\n () => (checkboxSelection ? [checkboxColumn as ColumnDef<TData, unknown>, ...columns] : columns),\n [checkboxSelection, columns]\n )\n\n const table = useReactTable({\n data,\n columns: allColumns,\n defaultColumn: {\n size: 1,\n minSize: 0\n },\n state: {\n rowSelection\n },\n onRowSelectionChange: updaterOrValue => {\n if (!checkboxSelection) return\n const newSelection =\n typeof updaterOrValue === 'function' ? updaterOrValue(rowSelection) : updaterOrValue\n checkboxSelection.onRowSelectionChange(newSelection)\n },\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n enableRowSelection: true,\n enableMultiRowSelection: !!checkboxSelection,\n enableSorting: true,\n enableSortingRemoval: false,\n initialState: {\n sorting: initialSorting\n }\n })\n\n const { rows } = table.getRowModel()\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => ESTIMATED_ROW_HEIGHT,\n getScrollElement: () => tableContainerRef.current,\n overscan: 5\n })\n\n const virtualRows = rowVirtualizer.getVirtualItems()\n\n const selected =\n selectedRow ?? table.getRowModel().flatRows.find(r => r.getIsSelected())?.original\n\n const visibleColumns = table.getVisibleLeafColumns()\n const getColumnWidth = useMemo(() => getColumnWidthCalculator(visibleColumns), [visibleColumns])\n\n const totalColSpan = allColumns.length + (rowActions ? 1 : 0)\n const { top: topPadding, bottom: bottomPadding } = getVirtualPadding(virtualRows, rowVirtualizer)\n\n return (\n <>\n <div\n data-testid=\"data-table-wrapper\"\n ref={wrapperRef}\n className=\"flex flex-col relative flex-grow min-h-0\"\n >\n <div ref={tableContainerRef} className={cn('overflow-auto rounded-lg border', className)}>\n <table className=\"w-full border-collapse table-fixed\">\n <thead>\n {table.getHeaderGroups().map(headerGroup => (\n <tr\n key={headerGroup.id}\n className=\"sticky top-0 z-10 bg-white shadow-[0_1px_0_0_#eee]\"\n data-testid=\"data-table-header-row\"\n >\n {headerGroup.headers.map((header, headerIndex) => {\n const isCheckboxColumn = header.column.id === DATATABLE_TEXT.CHECKBOX_COLUMN_ID\n const isFirstDataColumn = checkboxSelection\n ? headerIndex === 1\n : headerIndex === 0\n return (\n <th\n key={header.id}\n colSpan={header.colSpan}\n style={getColumnSize(\n isCheckboxColumn,\n isFirstDataColumn,\n header.column.getSize(),\n getColumnWidth\n )}\n className={cn(\n 'relative px-4 py-2 text-left text-[15px] leading-6 text-[#7F7989] border-b border-[#eee] whitespace-nowrap',\n isFirstDataColumn && 'w-[250px] pr-[10px]',\n isCheckboxColumn && 'w-12 px-3'\n )}\n data-testid={`data-table-header-${typeof header.column.columnDef.header === 'string' ? header.column.columnDef.header : header.column.id}`}\n >\n {!header.isPlaceholder &&\n (isCheckboxColumn ? (\n flexRender(header.column.columnDef.header, header.getContext())\n ) : (\n <button\n type=\"button\"\n onClick={header.column.getToggleSortingHandler()}\n disabled={!header.column.getCanSort()}\n className={cn(\n 'inline-flex items-center gap-2 w-full bg-transparent border-0 py-1 cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[#b9d4ff] focus-visible:outline-offset-2 rounded disabled:cursor-default font-normal',\n header.column.getIsSorted() && 'font-bold'\n )}\n data-testid={`data-table-header-button-${header.column.columnDef.header}`}\n >\n <EllipsisTooltip className=\"w-fit\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </EllipsisTooltip>\n\n {header.column.getCanSort() && (\n <span className=\"w-2 h-2 shrink-0 flex items-center justify-center\">\n <SortArrow\n aria-hidden=\"true\"\n className={cn(\n 'w-full h-full transition-transform duration-150 ease-in-out',\n header.column.getIsSorted() === SORT_DIRECTION.ASC &&\n 'rotate-180 opacity-100',\n header.column.getIsSorted() === SORT_DIRECTION.DESC &&\n 'rotate-0 opacity-100',\n !header.column.getIsSorted() && 'opacity-40'\n )}\n />\n </span>\n )}\n </button>\n ))}\n </th>\n )\n })}\n {rowActions && (\n <th\n className=\"w-12 p-0 border-b border-[#eee]\"\n data-testid=\"data-table-header-actions\"\n />\n )}\n </tr>\n ))}\n </thead>\n\n <tbody>\n {rows.length === 0 ? (\n <tr>\n <td\n colSpan={totalColSpan}\n className=\"h-40 text-center text-[15px] text-[#4B4760]\"\n data-testid=\"data-table-empty-state\"\n >\n {NO_ROWS_MESSAGES}\n </td>\n </tr>\n ) : (\n <>\n {topPadding > 0 && (\n <tr>\n <td colSpan={totalColSpan} style={{ height: topPadding, padding: 0 }} />\n </tr>\n )}\n {virtualRows.map(virtualRow => {\n const row = rows[virtualRow.index]\n return (\n <tr\n key={row.id}\n ref={rowVirtualizer.measureElement}\n data-index={virtualRow.index}\n className={cn(\n 'group hover:bg-igz-accent-hover h-12 border-b border-[#eee] last:border-none',\n detailsPanel && 'cursor-pointer',\n row.getIsSelected() && 'bg-[#f2f7ff]'\n )}\n data-testid={`data-table-row-${row.id}`}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isCheckboxColumn =\n cell.column.id === DATATABLE_TEXT.CHECKBOX_COLUMN_ID\n const isFirstDataColumn = checkboxSelection ? idx === 1 : idx === 0\n const columnMeta = cell.column.columnDef.meta as\n | { skipEllipsisTooltip?: boolean; tdClassName?: string }\n | undefined\n const skipEllipsisTooltip = Boolean(columnMeta?.skipEllipsisTooltip)\n const renderedCell = flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )\n const wrapCellWithEllipsis = !isCheckboxColumn && !skipEllipsisTooltip\n const cellContent = wrapCellWithEllipsis ? (\n <EllipsisTooltip>{renderedCell}</EllipsisTooltip>\n ) : (\n renderedCell\n )\n return (\n <td\n key={cell.id}\n onClick={\n !isCheckboxColumn && onRowSelect\n ? () => onRowSelect(row.original)\n : undefined\n }\n style={getColumnSize(\n isCheckboxColumn,\n isFirstDataColumn,\n cell.column.getSize(),\n getColumnWidth\n )}\n className={cn(\n 'relative px-4 py-2 text-left text-[#4B4760] text-[15px] font-normal',\n skipEllipsisTooltip ? 'min-w-0' : 'truncate',\n isFirstDataColumn && 'w-[250px] pr-[10px]',\n isCheckboxColumn && 'w-12 px-3',\n columnMeta?.tdClassName\n )}\n data-testid={`data-table-cell-${row.id}`}\n >\n {cellContent}\n </td>\n )\n })}\n {rowActions && (\n <td\n className=\"relative px-1\"\n data-testid={`data-table-actions-cell-${row.id}`}\n onClick={e => e.stopPropagation()}\n >\n <RowActions actions={rowActions(row.original)} />\n </td>\n )}\n </tr>\n )\n })}\n {bottomPadding > 0 && (\n <tr>\n <td colSpan={totalColSpan} style={{ height: bottomPadding, padding: 0 }} />\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n\n {selected && detailsPanel && (\n <DetailsPanel row={selected} {...detailsPanel} onClose={() => onRowClose?.()} />\n )}\n </div>\n\n {pagination && <PaginationControls {...pagination} />}\n </>\n )\n}\n\nexport default DataTable\n"],"names":["DataTable","className","data","columns","initialSorting","pagination","rowActions","detailsPanel","checkboxSelection","selectedRow","onRowSelect","onRowClose","tableContainerRef","useRef","wrapperRef","useClickOutside","detailsPanelSelection","useMemo","index","rowSelection","allColumns","checkboxColumn","table","useReactTable","updaterOrValue","newSelection","getCoreRowModel","getFilteredRowModel","getSortedRowModel","rows","rowVirtualizer","useVirtualizer","ESTIMATED_ROW_HEIGHT","virtualRows","selected","_a","r","visibleColumns","getColumnWidth","getColumnWidthCalculator","totalColSpan","topPadding","bottomPadding","getVirtualPadding","jsxs","Fragment","jsx","cn","headerGroup","header","headerIndex","isCheckboxColumn","DATATABLE_TEXT","isFirstDataColumn","getColumnSize","flexRender","EllipsisTooltip","SortArrow","SORT_DIRECTION","NO_ROWS_MESSAGES","virtualRow","row","cell","idx","columnMeta","skipEllipsisTooltip","renderedCell","cellContent","e","RowActions","DetailsPanel","PaginationControls"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Column } from '@tanstack/react-table';
|
|
2
|
+
import type { VirtualItem, Virtualizer } from '@tanstack/react-virtual';
|
|
3
|
+
export declare const getColumnWidthCalculator: <TData>(columns: Column<TData, unknown>[]) => (size: number) => string;
|
|
4
|
+
export declare const getColumnSize: (isCheckbox: boolean, isFirstData: boolean, size: number, getColumnWidth: (size: number) => string) => {
|
|
5
|
+
width: string;
|
|
6
|
+
} | undefined;
|
|
7
|
+
export declare const getVirtualPadding: (virtualRows: VirtualItem[], rowVirtualizer: Virtualizer<HTMLDivElement, Element>) => {
|
|
8
|
+
top: number;
|
|
9
|
+
bottom: number;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=DataTable.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/DataTable/DataTable.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIvE,eAAO,MAAM,wBAAwB,GAAI,KAAK,EAAE,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAGvE,MAAM,MAAM,WACrB,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,YAAY,OAAO,EACnB,aAAa,OAAO,EACpB,MAAM,MAAM,EACZ,gBAAgB,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;;aAKzC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EAAE,EAC1B,gBAAgB,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC;;;CAMrD,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DATATABLE_TEXT as i } from "../../constants/index.mjs";
|
|
2
|
+
const a = (e) => {
|
|
3
|
+
const n = e.filter((t) => t.id !== i.CHECKBOX_COLUMN_ID).reduce((t, r) => t + r.getSize(), 0);
|
|
4
|
+
return (t) => `${t / n * 100}%`;
|
|
5
|
+
}, c = (e, o, n, t) => {
|
|
6
|
+
if (e) return { width: "48px" };
|
|
7
|
+
if (!o) return { width: t(n) };
|
|
8
|
+
}, l = (e, o) => {
|
|
9
|
+
const n = e.length > 0 ? e[0].start : 0, t = e.length > 0 ? o.getTotalSize() - e.at(-1).end : 0;
|
|
10
|
+
return { top: n, bottom: t };
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
c as getColumnSize,
|
|
14
|
+
a as getColumnWidthCalculator,
|
|
15
|
+
l as getVirtualPadding
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=DataTable.utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.utils.mjs","sources":["../../../../src/lib/nextGenComponents/components/DataTable/DataTable.utils.ts"],"sourcesContent":["import type { Column } from '@tanstack/react-table'\nimport type { VirtualItem, Virtualizer } from '@tanstack/react-virtual'\n\nimport { DATATABLE_TEXT } from '@/constants'\n\nexport const getColumnWidthCalculator = <TData>(columns: Column<TData, unknown>[]) => {\n const dataColumns = columns.filter(col => col.id !== DATATABLE_TEXT.CHECKBOX_COLUMN_ID)\n const totalSize = dataColumns.reduce((sum, col) => sum + col.getSize(), 0)\n return (size: number) => `${(size / totalSize) * 100}%`\n}\n\nexport const getColumnSize = (\n isCheckbox: boolean,\n isFirstData: boolean,\n size: number,\n getColumnWidth: (size: number) => string\n) => {\n if (isCheckbox) return { width: '48px' }\n if (!isFirstData) return { width: getColumnWidth(size) }\n return undefined\n}\n\nexport const getVirtualPadding = (\n virtualRows: VirtualItem[],\n rowVirtualizer: Virtualizer<HTMLDivElement, Element>\n) => {\n const top = virtualRows.length > 0 ? virtualRows[0].start : 0\n const bottom =\n virtualRows.length > 0 ? rowVirtualizer.getTotalSize() - virtualRows.at(-1)!.end : 0\n return { top, bottom }\n}\n"],"names":["getColumnWidthCalculator","columns","totalSize","col","DATATABLE_TEXT","sum","size","getColumnSize","isCheckbox","isFirstData","getColumnWidth","getVirtualPadding","virtualRows","rowVirtualizer","top","bottom"],"mappings":";AAKO,MAAMA,IAA2B,CAAQC,MAAsC;AAEpF,QAAMC,IADcD,EAAQ,OAAO,OAAOE,EAAI,OAAOC,EAAe,kBAAkB,EACxD,OAAO,CAACC,GAAKF,MAAQE,IAAMF,EAAI,QAAA,GAAW,CAAC;AACzE,SAAO,CAACG,MAAiB,GAAIA,IAAOJ,IAAa,GAAG;AACtD,GAEaK,IAAgB,CAC3BC,GACAC,GACAH,GACAI,MACG;AACH,MAAIF,EAAY,QAAO,EAAE,OAAO,OAAA;AAChC,MAAI,CAACC,EAAa,QAAO,EAAE,OAAOC,EAAeJ,CAAI,EAAA;AAEvD,GAEaK,IAAoB,CAC/BC,GACAC,MACG;AACH,QAAMC,IAAMF,EAAY,SAAS,IAAIA,EAAY,CAAC,EAAE,QAAQ,GACtDG,IACJH,EAAY,SAAS,IAAIC,EAAe,iBAAiBD,EAAY,GAAG,EAAE,EAAG,MAAM;AACrF,SAAO,EAAE,KAAAE,GAAK,QAAAC,EAAA;AAChB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkboxColumn.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/DataTable/checkboxColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAKtD,QAAA,MAAM,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAsB9C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { Checkbox as c } from "../ui/checkbox.mjs";
|
|
3
|
+
import { DATATABLE_TEXT as t } from "../../constants/index.mjs";
|
|
4
|
+
const i = {
|
|
5
|
+
id: t.CHECKBOX_COLUMN_ID,
|
|
6
|
+
header: ({ table: e }) => /* @__PURE__ */ l(
|
|
7
|
+
c,
|
|
8
|
+
{
|
|
9
|
+
checked: e.getIsAllPageRowsSelected() || e.getIsSomePageRowsSelected() && "indeterminate",
|
|
10
|
+
onCheckedChange: (a) => e.toggleAllPageRowsSelected(!!a),
|
|
11
|
+
"aria-label": t.SELECT_ALL,
|
|
12
|
+
"data-testid": "data-table-select-all-checkbox"
|
|
13
|
+
}
|
|
14
|
+
),
|
|
15
|
+
cell: ({ row: e }) => /* @__PURE__ */ l(
|
|
16
|
+
c,
|
|
17
|
+
{
|
|
18
|
+
checked: e.getIsSelected(),
|
|
19
|
+
onCheckedChange: (a) => e.toggleSelected(!!a),
|
|
20
|
+
"aria-label": t.SELECT_ROW,
|
|
21
|
+
"data-testid": `data-table-row-checkbox-${e.id}`
|
|
22
|
+
}
|
|
23
|
+
),
|
|
24
|
+
enableSorting: !1,
|
|
25
|
+
enableHiding: !1
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
i as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=checkboxColumn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkboxColumn.mjs","sources":["../../../../src/lib/nextGenComponents/components/DataTable/checkboxColumn.tsx"],"sourcesContent":["import type { ColumnDef } from '@tanstack/react-table'\n\nimport { Checkbox } from '@/components/ui/checkbox'\nimport { DATATABLE_TEXT } from '@/constants'\n\nconst checkboxColumn: ColumnDef<object, unknown> = {\n id: DATATABLE_TEXT.CHECKBOX_COLUMN_ID,\n header: ({ table }) => (\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')\n }\n onCheckedChange={value => table.toggleAllPageRowsSelected(!!value)}\n aria-label={DATATABLE_TEXT.SELECT_ALL}\n data-testid=\"data-table-select-all-checkbox\"\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n checked={row.getIsSelected()}\n onCheckedChange={value => row.toggleSelected(!!value)}\n aria-label={DATATABLE_TEXT.SELECT_ROW}\n data-testid={`data-table-row-checkbox-${row.id}`}\n />\n ),\n enableSorting: false,\n enableHiding: false\n}\n\nexport default checkboxColumn\n"],"names":["checkboxColumn","DATATABLE_TEXT","table","jsx","Checkbox","value","row"],"mappings":";;;AAKA,MAAMA,IAA6C;AAAA,EACjD,IAAIC,EAAe;AAAA,EACnB,QAAQ,CAAC,EAAE,OAAAC,EAAA,MACT,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SACEF,EAAM,yBAAA,KAA+BA,EAAM,+BAA+B;AAAA,MAE5E,iBAAiB,CAAAG,MAASH,EAAM,0BAA0B,CAAC,CAACG,CAAK;AAAA,MACjE,cAAYJ,EAAe;AAAA,MAC3B,eAAY;AAAA,IAAA;AAAA,EAAA;AAAA,EAGhB,MAAM,CAAC,EAAE,KAAAK,EAAA,MACP,gBAAAH;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAASE,EAAI,cAAA;AAAA,MACb,iBAAiB,CAAAD,MAASC,EAAI,eAAe,CAAC,CAACD,CAAK;AAAA,MACpD,cAAYJ,EAAe;AAAA,MAC3B,eAAa,2BAA2BK,EAAI,EAAE;AAAA,IAAA;AAAA,EAAA;AAAA,EAGlD,eAAe;AAAA,EACf,cAAc;AAChB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
2
|
+
type DetailsPanelProps<TData extends object> = {
|
|
3
|
+
row: TData;
|
|
4
|
+
content: ComponentType<TData>;
|
|
5
|
+
titleAccessorKey?: keyof TData;
|
|
6
|
+
titleAccessorFn?: (row: TData) => string | ReactNode;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
};
|
|
9
|
+
declare const DetailsPanel: <TData extends object>({ row, content: Content, titleAccessorKey, titleAccessorFn, onClose }: DetailsPanelProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default DetailsPanel;
|
|
11
|
+
//# sourceMappingURL=DetailsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DetailsPanel.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/DetailsPanel/DetailsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAW,MAAM,OAAO,CAAA;AAOzD,KAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC7C,GAAG,EAAE,KAAK,CAAA;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAA;IAC9B,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAA;IACpD,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,KAAK,SAAS,MAAM,EAAE,uEAMzC,iBAAiB,CAAC,KAAK,CAAC,4CA8C1B,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs as o, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as s } from "react";
|
|
3
|
+
import d from "../../../images/close.svg.mjs";
|
|
4
|
+
import p from "../EllipsisTooltip/EllipsisTooltip.mjs";
|
|
5
|
+
import { Button as m } from "../ui/button.mjs";
|
|
6
|
+
import { DETAILS_FALLBACK_TITLE as f } from "../../constants/index.mjs";
|
|
7
|
+
const N = ({
|
|
8
|
+
row: t,
|
|
9
|
+
content: r,
|
|
10
|
+
titleAccessorKey: a,
|
|
11
|
+
titleAccessorFn: l,
|
|
12
|
+
onClose: n
|
|
13
|
+
}) => {
|
|
14
|
+
const i = s(() => l ? l(t) : a && t[a] ? String(t[a]) : f, [t, l, a]);
|
|
15
|
+
return /* @__PURE__ */ o(
|
|
16
|
+
"aside",
|
|
17
|
+
{
|
|
18
|
+
"data-testid": "details-panel",
|
|
19
|
+
className: "absolute rounded-r-lg flex flex-col inset-y-0 right-0 w-[calc(100%-250px)] border border-[#e6e6e6] bg-white z-30",
|
|
20
|
+
style: { boxShadow: "-4px 0 6px -4px rgba(0,0,0,0.15)" },
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ o(
|
|
23
|
+
"div",
|
|
24
|
+
{
|
|
25
|
+
className: "flex items-center justify-between gap-3 px-6 pr-10 py-4",
|
|
26
|
+
"data-testid": "details-panel-title",
|
|
27
|
+
children: [
|
|
28
|
+
typeof i == "string" ? /* @__PURE__ */ e(p, { className: "min-w-0 text-[24px] font-extrabold leading-tight text-[#3a3650]", children: i }) : i,
|
|
29
|
+
/* @__PURE__ */ e(
|
|
30
|
+
m,
|
|
31
|
+
{
|
|
32
|
+
variant: "rounded",
|
|
33
|
+
size: "icon",
|
|
34
|
+
onClick: n,
|
|
35
|
+
className: "absolute top-3.5 right-3",
|
|
36
|
+
"aria-label": "Close",
|
|
37
|
+
tooltip: "Close",
|
|
38
|
+
"data-testid": "details-panel-close-button",
|
|
39
|
+
children: /* @__PURE__ */ e(d, { className: "w-6 h-6" })
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ e("div", { className: "overflow-auto h-full px-6 py-4", "data-testid": "details-panel-content", children: /* @__PURE__ */ e(r, { ...t }) })
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
};
|
|
50
|
+
export {
|
|
51
|
+
N as default
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=DetailsPanel.mjs.map
|