zaravand-ui 5.1.1 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/components/Accordion/Accordion.cjs +1 -0
- package/dist/components/Accordion/Accordion.d.cts +8 -0
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Accordion/Accordion.interface.d.cts +103 -0
- package/dist/components/Accordion/Accordion.interface.d.ts +8 -0
- package/dist/components/Accordion/Accordion.js +361 -0
- package/dist/components/Accordion/Accordion.variant.cjs +1 -0
- package/dist/components/Accordion/Accordion.variant.d.cts +16 -0
- package/dist/components/Accordion/Accordion.variant.d.ts +1 -4
- package/dist/components/Accordion/Accordion.variant.js +17 -0
- package/dist/components/Avatar/Avatar.cjs +1 -0
- package/dist/components/Avatar/Avatar.d.cts +6 -0
- package/dist/components/Avatar/Avatar.d.ts +4 -3
- package/dist/components/Avatar/Avatar.interface.d.cts +65 -0
- package/dist/components/Avatar/Avatar.interface.d.ts +2 -2
- package/dist/components/Avatar/Avatar.js +244 -0
- package/dist/components/Avatar/Avatar.utils.cjs +1 -0
- package/dist/components/Avatar/Avatar.utils.d.cts +6 -0
- package/dist/components/Avatar/Avatar.utils.js +8 -0
- package/dist/components/Avatar/Avatar.variant.cjs +1 -0
- package/dist/components/Avatar/Avatar.variant.d.cts +22 -0
- package/dist/components/Avatar/Avatar.variant.d.ts +2 -2
- package/dist/components/Avatar/Avatar.variant.js +54 -0
- package/dist/components/Button/Button.cjs +1 -0
- package/dist/components/Button/Button.d.cts +3 -0
- package/dist/components/Button/Button.d.ts +1 -2
- package/dist/components/Button/Button.interface.d.cts +21 -0
- package/dist/components/Button/Button.interface.d.ts +9 -2
- package/dist/components/Button/Button.js +69 -0
- package/dist/components/Button/Button.variant.cjs +1 -0
- package/dist/components/Button/Button.variant.d.cts +7 -0
- package/dist/components/Button/Button.variant.d.ts +6 -11
- package/dist/components/Button/Button.variant.js +64 -0
- package/dist/components/Checkbox/Checkbox.cjs +1 -0
- package/dist/components/Checkbox/Checkbox.d.cts +4 -0
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.interface.d.cts +35 -0
- package/dist/components/Checkbox/Checkbox.interface.d.ts +19 -3
- package/dist/components/Checkbox/Checkbox.js +71 -0
- package/dist/components/Checkbox/Checkbox.variant.cjs +1 -0
- package/dist/components/Checkbox/Checkbox.variant.d.cts +13 -0
- package/dist/components/Checkbox/Checkbox.variant.d.ts +9 -4
- package/dist/components/Checkbox/Checkbox.variant.js +32 -0
- package/dist/components/DatePicker/DatePicker.cjs +1 -0
- package/dist/components/DatePicker/DatePicker.d.cts +6 -0
- package/dist/components/DatePicker/DatePicker.d.ts +5 -7
- package/dist/components/DatePicker/DatePicker.interface.d.cts +83 -0
- package/dist/components/DatePicker/DatePicker.interface.d.ts +35 -7
- package/dist/components/DatePicker/DatePicker.js +721 -0
- package/dist/components/DatePicker/DatePicker.utils.cjs +1 -0
- package/dist/components/DatePicker/DatePicker.utils.d.cts +73 -0
- package/dist/components/DatePicker/DatePicker.utils.d.ts +73 -0
- package/dist/components/DatePicker/DatePicker.utils.js +263 -0
- package/dist/components/DatePicker/DatePicker.variant.cjs +1 -0
- package/dist/components/DatePicker/DatePicker.variant.d.cts +18 -0
- package/dist/components/DatePicker/DatePicker.variant.d.ts +1 -3
- package/dist/components/DatePicker/DatePicker.variant.js +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.cjs +1 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.cts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.ts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.js +98 -0
- package/dist/components/DatePicker/DatePickerWheel.cjs +1 -0
- package/dist/components/DatePicker/DatePickerWheel.d.cts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.d.ts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.js +156 -0
- package/dist/components/Dialog/Dialog.cjs +1 -0
- package/dist/components/Dialog/Dialog.d.cts +4 -0
- package/dist/components/Dialog/Dialog.d.ts +3 -2
- package/dist/components/Dialog/Dialog.interface.d.cts +37 -0
- package/dist/components/Dialog/Dialog.interface.d.ts +16 -0
- package/dist/components/Dialog/Dialog.js +92 -0
- package/dist/components/Dialog/Dialog.variant.cjs +1 -0
- package/dist/components/Dialog/Dialog.variant.d.cts +7 -0
- package/dist/components/Dialog/Dialog.variant.js +6 -0
- package/dist/components/Dialog/DialogDragHandle.cjs +1 -0
- package/dist/components/Dialog/DialogDragHandle.d.cts +11 -0
- package/dist/components/Dialog/DialogDragHandle.d.ts +11 -0
- package/dist/components/Dialog/DialogDragHandle.js +55 -0
- package/dist/components/Input/Input.cjs +1 -0
- package/dist/components/Input/Input.d.cts +4 -0
- package/dist/components/Input/Input.d.ts +3 -2
- package/dist/components/Input/Input.formatting.cjs +1 -0
- package/dist/components/Input/Input.formatting.d.cts +40 -0
- package/dist/components/Input/Input.formatting.d.ts +40 -0
- package/dist/components/Input/Input.formatting.js +203 -0
- package/dist/components/Input/Input.interface.d.cts +37 -0
- package/dist/components/Input/Input.interface.d.ts +10 -2
- package/dist/components/Input/Input.js +153 -0
- package/dist/components/Input/Input.variant.cjs +1 -0
- package/dist/components/Input/Input.variant.d.cts +2 -0
- package/dist/components/Input/Input.variant.d.ts +1 -3
- package/dist/components/Input/Input.variant.js +11 -0
- package/dist/components/Pagination/Pagination.cjs +1 -0
- package/dist/components/Pagination/Pagination.d.cts +4 -0
- package/dist/components/Pagination/Pagination.d.ts +3 -2
- package/dist/components/Pagination/Pagination.interface.d.cts +12 -0
- package/dist/components/Pagination/Pagination.js +156 -0
- package/dist/components/Pagination/Pagination.variant.cjs +1 -0
- package/dist/components/Pagination/Pagination.variant.d.cts +13 -0
- package/dist/components/Pagination/Pagination.variant.d.ts +3 -1
- package/dist/components/Pagination/Pagination.variant.js +26 -0
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.cts +6 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.interface.d.cts +34 -0
- package/dist/components/RadioGroup/RadioGroup.interface.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +98 -0
- package/dist/components/RadioGroup/RadioGroup.variant.cjs +1 -0
- package/dist/components/RadioGroup/RadioGroup.variant.d.cts +20 -0
- package/dist/components/RadioGroup/RadioGroup.variant.d.ts +4 -5
- package/dist/components/RadioGroup/RadioGroup.variant.js +53 -0
- package/dist/components/Select/Select.cjs +1 -0
- package/dist/components/Select/Select.d.cts +12 -0
- package/dist/components/Select/Select.d.ts +8 -16
- package/dist/components/Select/Select.interface.d.cts +110 -0
- package/dist/components/Select/Select.interface.d.ts +93 -35
- package/dist/components/Select/Select.js +936 -0
- package/dist/components/Select/Select.variant.cjs +1 -0
- package/dist/components/Select/Select.variant.d.cts +14 -0
- package/dist/components/Select/Select.variant.d.ts +8 -7
- package/dist/components/Select/Select.variant.js +19 -0
- package/dist/components/Sheet/Sheet.cjs +1 -0
- package/dist/components/Sheet/Sheet.d.cts +4 -0
- package/dist/components/Sheet/Sheet.d.ts +3 -2
- package/dist/components/Sheet/Sheet.interface.d.cts +32 -0
- package/dist/components/Sheet/Sheet.interface.d.ts +9 -0
- package/dist/components/Sheet/Sheet.js +82 -0
- package/dist/components/Sheet/Sheet.variant.cjs +1 -0
- package/dist/components/Sheet/Sheet.variant.d.cts +10 -0
- package/dist/components/Sheet/Sheet.variant.js +14 -0
- package/dist/components/Skeleton/Skeleton.cjs +1 -0
- package/dist/components/Skeleton/Skeleton.d.cts +4 -0
- package/dist/components/Skeleton/Skeleton.d.ts +3 -2
- package/dist/components/Skeleton/Skeleton.interface.d.cts +5 -0
- package/dist/components/Skeleton/Skeleton.interface.d.ts +2 -2
- package/dist/components/Skeleton/Skeleton.js +16 -0
- package/dist/components/Skeleton/Skeleton.variant.cjs +1 -0
- package/dist/components/Skeleton/Skeleton.variant.d.cts +2 -0
- package/dist/components/Skeleton/Skeleton.variant.js +5 -0
- package/dist/components/Spinner/Spinner.cjs +1 -0
- package/dist/components/Spinner/Spinner.d.cts +4 -0
- package/dist/components/Spinner/Spinner.d.ts +3 -2
- package/dist/components/Spinner/Spinner.interface.d.cts +13 -0
- package/dist/components/Spinner/Spinner.interface.d.ts +8 -1
- package/dist/components/Spinner/Spinner.js +28 -0
- package/dist/components/Spinner/Spinner.variant.cjs +1 -0
- package/dist/components/Spinner/Spinner.variant.d.cts +5 -0
- package/dist/components/Spinner/Spinner.variant.d.ts +4 -9
- package/dist/components/Spinner/Spinner.variant.js +29 -0
- package/dist/components/Switch/Switch.cjs +1 -0
- package/dist/components/Switch/Switch.d.cts +4 -0
- package/dist/components/Switch/Switch.d.ts +1 -1
- package/dist/components/Switch/Switch.interface.d.cts +32 -0
- package/dist/components/Switch/Switch.interface.d.ts +18 -4
- package/dist/components/Switch/Switch.js +67 -0
- package/dist/components/Switch/Switch.variant.cjs +1 -0
- package/dist/components/Switch/Switch.variant.d.cts +11 -0
- package/dist/components/Switch/Switch.variant.d.ts +9 -5
- package/dist/components/Switch/Switch.variant.js +26 -0
- package/dist/components/Table/Table.cjs +1 -0
- package/dist/components/Table/Table.constants.cjs +1 -0
- package/dist/components/Table/Table.constants.d.cts +18 -0
- package/dist/components/Table/Table.constants.d.ts +2 -29
- package/dist/components/Table/Table.constants.js +4 -0
- package/dist/components/Table/Table.d.cts +6 -0
- package/dist/components/Table/Table.d.ts +4 -34
- package/dist/components/Table/Table.interface.d.cts +278 -0
- package/dist/components/Table/Table.interface.d.ts +34 -26
- package/dist/components/Table/Table.js +578 -0
- package/dist/components/Table/Table.utils.cjs +1 -0
- package/dist/components/Table/Table.utils.d.cts +39 -0
- package/dist/components/Table/Table.utils.d.ts +12 -6
- package/dist/components/Table/Table.utils.js +186 -0
- package/dist/components/Table/Table.variant.cjs +1 -0
- package/dist/components/Table/Table.variant.d.cts +19 -0
- package/dist/components/Table/Table.variant.d.ts +0 -3
- package/dist/components/Table/Table.variant.js +38 -0
- package/dist/components/Table/TableEmptyState.cjs +1 -0
- package/dist/components/Table/TableEmptyState.d.cts +2 -0
- package/dist/components/Table/TableEmptyState.d.ts +1 -1
- package/dist/components/Table/TableEmptyState.js +19 -0
- package/dist/components/Table/TablePaginationControls.cjs +1 -0
- package/dist/components/Table/TablePaginationControls.d.cts +2 -0
- package/dist/components/Table/TablePaginationControls.d.ts +1 -1
- package/dist/components/Table/TablePaginationControls.js +38 -0
- package/dist/components/Table/TableParts.cjs +1 -0
- package/dist/components/Table/TableParts.d.cts +16 -0
- package/dist/components/Table/TableParts.d.ts +16 -0
- package/dist/components/Table/TableParts.js +54 -0
- package/dist/components/Table/TableSkeletonRows.cjs +1 -0
- package/dist/components/Table/TableSkeletonRows.d.cts +13 -0
- package/dist/components/Table/TableSkeletonRows.d.ts +13 -0
- package/dist/components/Table/TableSkeletonRows.js +40 -0
- package/dist/components/Table/TableSortToggle.cjs +1 -0
- package/dist/components/Table/TableSortToggle.d.cts +2 -0
- package/dist/components/Table/TableSortToggle.d.ts +2 -2
- package/dist/components/Table/TableSortToggle.js +45 -0
- package/dist/components/Table/hooks/useTableCardLabels.cjs +1 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.cts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.ts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.js +34 -0
- package/dist/components/Table/hooks/useTablePagination.cjs +1 -0
- package/dist/components/Table/hooks/useTablePagination.d.cts +34 -0
- package/dist/components/Table/hooks/useTablePagination.d.ts +2 -6
- package/dist/components/Table/hooks/useTablePagination.js +204 -0
- package/dist/components/Table/hooks/useTableSearch.cjs +1 -0
- package/dist/components/Table/hooks/useTableSearch.d.cts +20 -0
- package/dist/components/Table/hooks/useTableSearch.d.ts +5 -3
- package/dist/components/Table/hooks/useTableSearch.js +53 -0
- package/dist/components/Table/hooks/useTableSort.cjs +1 -0
- package/dist/components/Table/hooks/useTableSort.d.cts +16 -0
- package/dist/components/Table/hooks/useTableSort.d.ts +3 -1
- package/dist/components/Table/hooks/useTableSort.js +50 -0
- package/dist/components/Tabs/Tabs.cjs +1 -0
- package/dist/components/Tabs/Tabs.d.cts +8 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.interface.d.cts +32 -0
- package/dist/components/Tabs/Tabs.interface.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js +193 -0
- package/dist/components/Tabs/Tabs.variant.cjs +1 -0
- package/dist/components/Tabs/Tabs.variant.d.cts +18 -0
- package/dist/components/Tabs/Tabs.variant.d.ts +2 -2
- package/dist/components/Tabs/Tabs.variant.js +107 -0
- package/dist/components/Textarea/Textarea.cjs +1 -0
- package/dist/components/Textarea/Textarea.d.cts +4 -0
- package/dist/components/Textarea/Textarea.d.ts +3 -2
- package/dist/components/Textarea/Textarea.interface.d.cts +34 -0
- package/dist/components/Textarea/Textarea.interface.d.ts +8 -2
- package/dist/components/Textarea/Textarea.js +115 -0
- package/dist/components/Textarea/Textarea.variant.cjs +1 -0
- package/dist/components/Textarea/Textarea.variant.d.cts +4 -0
- package/dist/components/Textarea/Textarea.variant.js +14 -0
- package/dist/components/TimePicker/TimePicker.cjs +1 -0
- package/dist/components/TimePicker/TimePicker.d.cts +6 -0
- package/dist/components/TimePicker/TimePicker.d.ts +6 -0
- package/dist/components/TimePicker/TimePicker.interface.d.cts +105 -0
- package/dist/components/TimePicker/TimePicker.interface.d.ts +105 -0
- package/dist/components/TimePicker/TimePicker.js +208 -0
- package/dist/components/TimePicker/TimePicker.utils.cjs +1 -0
- package/dist/components/TimePicker/TimePicker.utils.d.cts +57 -0
- package/dist/components/TimePicker/TimePicker.utils.d.ts +57 -0
- package/dist/components/TimePicker/TimePicker.utils.js +171 -0
- package/dist/components/TimePicker/TimePicker.variant.cjs +1 -0
- package/dist/components/TimePicker/TimePicker.variant.d.cts +46 -0
- package/dist/components/TimePicker/TimePicker.variant.d.ts +46 -0
- package/dist/components/TimePicker/TimePicker.variant.js +93 -0
- package/dist/components/TimePicker/TimePickerPanel.cjs +1 -0
- package/dist/components/TimePicker/TimePickerPanel.d.cts +25 -0
- package/dist/components/TimePicker/TimePickerPanel.d.ts +25 -0
- package/dist/components/TimePicker/TimePickerPanel.js +464 -0
- package/dist/components/TimePicker/TimePickerWheel.cjs +1 -0
- package/dist/components/TimePicker/TimePickerWheel.d.cts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.d.ts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.js +205 -0
- package/dist/components/Toast/Toast.cjs +1 -0
- package/dist/components/Toast/Toast.d.cts +13 -0
- package/dist/components/Toast/Toast.d.ts +3 -3
- package/dist/components/Toast/Toast.interface.d.cts +6 -0
- package/dist/components/Toast/Toast.interface.d.ts +1 -1
- package/dist/components/Toast/Toast.js +98 -0
- package/dist/components/Toast/Toast.variant.cjs +1 -0
- package/dist/components/Toast/Toast.variant.d.cts +9 -0
- package/dist/components/Toast/Toast.variant.d.ts +1 -1
- package/dist/components/Toast/Toast.variant.js +16 -0
- package/dist/components/Toast/ToastHost.cjs +1 -0
- package/dist/components/Toast/ToastHost.d.cts +2 -0
- package/dist/components/Toast/ToastHost.js +96 -0
- package/dist/components/Toast/function/showToast.cjs +1 -0
- package/dist/components/Toast/function/showToast.d.cts +33 -0
- package/dist/components/Toast/function/showToast.d.ts +19 -3
- package/dist/components/Toast/function/showToast.js +42 -0
- package/dist/components/Toast/function/toastHaptics.cjs +1 -0
- package/dist/components/Toast/function/toastHaptics.d.cts +11 -0
- package/dist/components/Toast/function/toastHaptics.d.ts +11 -0
- package/dist/components/Toast/function/toastHaptics.js +6 -0
- package/dist/components/Toast/function/toastVisual.cjs +1 -0
- package/dist/components/Toast/function/toastVisual.d.cts +10 -0
- package/dist/components/Toast/function/toastVisual.d.ts +1 -1
- package/dist/components/Toast/function/toastVisual.js +29 -0
- package/dist/components/Toggle/Toggle.cjs +1 -0
- package/dist/components/Toggle/Toggle.d.cts +4 -0
- package/dist/components/Toggle/Toggle.d.ts +1 -1
- package/dist/components/Toggle/Toggle.interface.d.cts +13 -0
- package/dist/components/Toggle/Toggle.interface.d.ts +1 -1
- package/dist/components/Toggle/Toggle.js +31 -0
- package/dist/components/Toggle/Toggle.variant.cjs +1 -0
- package/dist/components/Toggle/Toggle.variant.d.cts +5 -0
- package/dist/components/Toggle/Toggle.variant.js +22 -0
- package/dist/components/Tooltip/Tooltip.cjs +1 -0
- package/dist/components/Tooltip/Tooltip.d.cts +10 -0
- package/dist/components/Tooltip/Tooltip.d.ts +9 -2
- package/dist/components/Tooltip/Tooltip.interface.d.cts +16 -0
- package/dist/components/Tooltip/Tooltip.interface.d.ts +3 -0
- package/dist/components/Tooltip/Tooltip.js +48 -0
- package/dist/components/Tooltip/Tooltip.variant.cjs +1 -0
- package/dist/components/Tooltip/Tooltip.variant.d.cts +2 -0
- package/dist/components/Tooltip/Tooltip.variant.js +5 -0
- package/dist/components/Uploader/Uploader.cjs +2 -0
- package/dist/components/Uploader/Uploader.d.cts +4 -0
- package/dist/components/Uploader/Uploader.d.ts +3 -2
- package/dist/components/Uploader/Uploader.interface.d.cts +78 -0
- package/dist/components/Uploader/Uploader.interface.d.ts +2 -2
- package/dist/components/Uploader/Uploader.js +488 -0
- package/dist/components/Uploader/Uploader.utils.cjs +1 -0
- package/dist/components/Uploader/Uploader.utils.d.cts +21 -0
- package/dist/components/Uploader/Uploader.utils.d.ts +9 -5
- package/dist/components/Uploader/Uploader.utils.js +75 -0
- package/dist/components/Uploader/Uploader.variant.cjs +1 -0
- package/dist/components/Uploader/Uploader.variant.d.cts +6 -0
- package/dist/components/Uploader/Uploader.variant.d.ts +1 -3
- package/dist/components/Uploader/Uploader.variant.js +6 -0
- package/dist/components/shared/ActionSheet.cjs +1 -0
- package/dist/components/shared/ActionSheet.d.cts +26 -0
- package/dist/components/shared/ActionSheet.d.ts +26 -0
- package/dist/components/shared/ActionSheet.js +51 -0
- package/dist/components/shared/FieldClearButton.cjs +1 -0
- package/dist/components/shared/FieldClearButton.d.cts +17 -0
- package/dist/components/shared/FieldClearButton.d.ts +17 -0
- package/dist/components/shared/FieldClearButton.js +34 -0
- package/dist/components/shared/FieldLabel.cjs +1 -0
- package/dist/components/shared/FieldLabel.d.cts +23 -0
- package/dist/components/shared/FieldLabel.d.ts +23 -0
- package/dist/components/shared/FieldLabel.js +48 -0
- package/dist/components/shared/IconActionButton.cjs +1 -0
- package/dist/components/shared/IconActionButton.d.cts +44 -0
- package/dist/components/shared/IconActionButton.d.ts +44 -0
- package/dist/components/shared/IconActionButton.js +70 -0
- package/dist/components/shared/RequiredValidationInput.cjs +1 -0
- package/dist/components/shared/RequiredValidationInput.d.cts +15 -0
- package/dist/components/shared/RequiredValidationInput.d.ts +15 -0
- package/dist/components/shared/RequiredValidationInput.js +22 -0
- package/dist/components/shared/WheelColumn.cjs +1 -0
- package/dist/components/shared/WheelColumn.d.cts +29 -0
- package/dist/components/shared/WheelColumn.d.ts +29 -0
- package/dist/components/shared/WheelColumn.js +116 -0
- package/dist/components/shared/fieldStyles.cjs +1 -0
- package/dist/components/shared/fieldStyles.d.cts +4 -0
- package/dist/components/shared/fieldStyles.js +14 -0
- package/dist/components/shared/haptics.cjs +1 -0
- package/dist/components/shared/haptics.d.cts +6 -0
- package/dist/components/shared/haptics.d.ts +6 -0
- package/dist/components/shared/haptics.js +8 -0
- package/dist/components/shared/overlay.cjs +1 -0
- package/dist/components/shared/overlay.d.cts +25 -0
- package/dist/components/shared/overlay.d.ts +25 -0
- package/dist/components/shared/overlay.js +45 -0
- package/dist/components/shared/overlay.utils.cjs +1 -0
- package/dist/components/shared/overlay.utils.d.cts +6 -0
- package/dist/components/shared/overlay.utils.d.ts +6 -0
- package/dist/components/shared/overlay.utils.js +7 -0
- package/dist/components/shared/responsiveScale.cjs +1 -0
- package/dist/components/shared/responsiveScale.d.cts +29 -0
- package/dist/components/shared/responsiveScale.d.ts +18 -26
- package/dist/components/shared/responsiveScale.js +4 -0
- package/dist/components/shared/useBubbleInputInvalid.cjs +1 -0
- package/dist/components/shared/useBubbleInputInvalid.d.cts +8 -0
- package/dist/components/shared/useBubbleInputInvalid.d.ts +8 -0
- package/dist/components/shared/useBubbleInputInvalid.js +40 -0
- package/dist/components/shared/useControllableState.cjs +1 -0
- package/dist/components/shared/useControllableState.d.cts +16 -0
- package/dist/components/shared/useControllableState.d.ts +16 -0
- package/dist/components/shared/useControllableState.js +14 -0
- package/dist/components/shared/useExclusiveAction.cjs +1 -0
- package/dist/components/shared/useExclusiveAction.d.cts +9 -0
- package/dist/components/shared/useExclusiveAction.d.ts +9 -0
- package/dist/components/shared/useExclusiveAction.js +17 -0
- package/dist/components/shared/useInvalidState.cjs +1 -0
- package/dist/components/shared/useInvalidState.d.cts +11 -0
- package/dist/components/shared/useInvalidState.d.ts +11 -0
- package/dist/components/shared/useInvalidState.js +14 -0
- package/dist/components/shared/useIsomorphicLayoutEffect.cjs +1 -0
- package/dist/components/shared/useIsomorphicLayoutEffect.d.cts +6 -0
- package/dist/components/shared/useIsomorphicLayoutEffect.d.ts +6 -0
- package/dist/components/shared/useIsomorphicLayoutEffect.js +5 -0
- package/dist/components/shared/useStickyToolbar.cjs +1 -0
- package/dist/components/shared/useStickyToolbar.d.cts +17 -0
- package/dist/components/shared/useStickyToolbar.d.ts +17 -0
- package/dist/components/shared/useStickyToolbar.js +39 -0
- package/dist/components/shared/useWheelSize.cjs +1 -0
- package/dist/components/shared/useWheelSize.d.cts +10 -0
- package/dist/components/shared/useWheelSize.d.ts +10 -0
- package/dist/components/shared/useWheelSize.js +14 -0
- package/dist/components/shared/viewport.cjs +1 -0
- package/dist/components/shared/viewport.d.cts +17 -0
- package/dist/components/shared/viewport.d.ts +17 -0
- package/dist/components/shared/viewport.js +32 -0
- package/dist/config/ZuiConfigContext.cjs +1 -0
- package/dist/config/ZuiConfigContext.d.cts +13 -0
- package/dist/config/ZuiConfigContext.d.ts +13 -0
- package/dist/config/ZuiConfigContext.js +11 -0
- package/dist/config/ZuiConfigProvider.cjs +1 -0
- package/dist/config/ZuiConfigProvider.d.cts +19 -0
- package/dist/config/ZuiConfigProvider.d.ts +19 -0
- package/dist/config/ZuiConfigProvider.js +24 -0
- package/dist/config/messages.cjs +1 -0
- package/dist/config/messages.d.cts +167 -0
- package/dist/config/messages.d.ts +167 -0
- package/dist/config/messages.js +309 -0
- package/dist/config/useZuiConfig.cjs +1 -0
- package/dist/config/useZuiConfig.d.cts +3 -0
- package/dist/config/useZuiConfig.d.ts +3 -0
- package/dist/config/useZuiConfig.js +9 -0
- package/dist/index.cjs +1 -51
- package/dist/index.css +1 -1
- package/dist/index.d.cts +65 -0
- package/dist/index.d.ts +65 -55
- package/dist/index.js +34 -20983
- package/dist/lib/utils.cjs +1 -0
- package/dist/lib/utils.d.cts +4 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +16 -0
- package/dist/services/convertToEnglishDigits/convertToEnglishDigits.cjs +1 -0
- package/dist/services/convertToEnglishDigits/convertToEnglishDigits.d.cts +5 -0
- package/dist/services/convertToEnglishDigits/convertToEnglishDigits.d.ts +1 -1
- package/dist/services/convertToEnglishDigits/convertToEnglishDigits.js +10 -0
- package/dist/services/convertToPersianDigits/convertToPersianDigits.cjs +1 -0
- package/dist/services/convertToPersianDigits/convertToPersianDigits.d.cts +5 -0
- package/dist/services/convertToPersianDigits/convertToPersianDigits.d.ts +1 -1
- package/dist/services/convertToPersianDigits/convertToPersianDigits.js +18 -0
- package/dist/services/localizeDigits/localizeDigits.cjs +1 -0
- package/dist/services/localizeDigits/localizeDigits.d.cts +3 -0
- package/dist/services/localizeDigits/localizeDigits.d.ts +3 -0
- package/dist/services/localizeDigits/localizeDigits.js +8 -0
- package/dist/shared/scale.cjs +1 -0
- package/dist/shared/scale.d.cts +12 -0
- package/dist/shared/scale.d.ts +3 -23
- package/dist/shared/scale.js +8 -0
- package/dist/shared/theme.cjs +1 -0
- package/dist/shared/theme.d.cts +26 -0
- package/dist/shared/theme.d.ts +10 -11
- package/dist/shared/theme.js +37 -0
- package/dist/shared/theme.json.cjs +1 -0
- package/dist/shared/theme.json.js +14 -0
- package/package.json +38 -13
- package/dist/components/Accordion/Accordion.constants.d.ts +0 -4
- package/dist/styles.cjs +0 -0
- package/dist/styles.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/ActionSheet.cjs`),i=require(`../shared/FieldClearButton.cjs`),a=require(`../shared/IconActionButton.cjs`),o=require(`../shared/useControllableState.cjs`),s=require(`../shared/useExclusiveAction.cjs`),c=require(`../shared/useStickyToolbar.cjs`),l=require(`../shared/viewport.cjs`),u=require(`./Accordion.variant.cjs`);let d=require(`react`);d=e.__toESM(d,1);let f=require(`react/jsx-runtime`),p=require(`lucide-react`);var m=`zui:size-4`,h=d.createContext(null);function g(e){let t=d.useContext(h);if(!t)throw Error(`${e} must be used within an <Accordion> component`);return t}var _=d.createContext(null);function v(e){let t=d.useContext(_);if(!t)throw Error(`${e} must be used within an <AccordionItem> component`);return t}function y(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function b(e){return typeof e==`string`||typeof e==`number`?String(e):``}function ee(e){return`${b(e.title)} ${Array.isArray(e.content)?e.content.map(e=>b(e.label)).join(` `):b(e.content)}`.toLocaleLowerCase()}var x=d.forwardRef(function({type:e=`single`,value:g,defaultValue:_,onValueChange:v,collapsible:b=!1,dir:x,items:T,searchable:te=!1,onAdd:E,onEdit:D,onDelete:O,onContentItemEdit:k,onContentItemDelete:A,stickyToolbar:j=!0,className:ne,children:re},ie){let{messages:M,dir:ae}=t.useZuiConfig(),N=x??ae,[P,F]=o.useControllableState({value:d.useMemo(()=>g===void 0?void 0:y(g),[g]),defaultValue:()=>y(_)}),[I,L]=s.useExclusiveAction(),R=l.useIsMobileViewport(),[z,B]=d.useState({open:!1,actions:[]}),V=e=>B({open:!0,actions:e}),[H,oe]=d.useState(``),U=te&&Array.isArray(T),W=typeof E==`function`,G=U||W,K=d.useRef(null),q=d.useRef(null);c.useStickyToolbar(K,q,R&&j&&G);let J=H.trim().toLocaleLowerCase(),Y=d.useMemo(()=>{if(!T)return;let e=T.map((e,t)=>({item:e,originalIndex:t}));return!U||J.length===0?e:e.filter(({item:e})=>ee(e).includes(J))},[T,J,U]),X=d.useCallback(t=>{F(t),e===`multiple`?v?.(t):v?.(t[0]??``)},[v,F,e]),Z=d.useCallback(t=>{let n=P.includes(t);if(e===`multiple`){X(n?P.filter(e=>e!==t):[...P,t]);return}if(n){X(b?[]:P);return}X([t])},[b,X,P,e]),se=d.useCallback(async()=>{E&&await L(E)},[E,L]),Q=d.useCallback(async(e,t)=>{D&&await L(()=>D({item:e,index:t}))},[D,L]),$=d.useCallback(async(e,t)=>{O&&await L(()=>O({item:e,index:t}))},[O,L]),ce=d.useCallback(async(e,t,n,r)=>{k&&await L(()=>k({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[k,L]),le=d.useCallback(async(e,t,n,r)=>{A&&await L(()=>A({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[A,L]),ue=d.useMemo(()=>({openValues:P,toggleValue:Z,dir:N,type:e}),[P,Z,N,e]);return(0,f.jsx)(h.Provider,{value:ue,children:(0,f.jsxs)(`div`,{ref:ie,dir:N,"data-slot":`accordion`,className:n.cn(u.accordionVariants(),ne),children:[G?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:q,"aria-hidden":`true`,"data-slot":`accordion-sticky-sentinel`,className:`zui:-mb-2`}),(0,f.jsx)(`div`,{ref:K,"data-slot":`accordion-sticky-toolbar`,"data-sticky-toolbar":R&&j?`true`:void 0,className:`zui:mb-2`,children:(0,f.jsx)(a.ListToolbar,{"data-slot":`accordion-controls`,searchSlot:`accordion-search-input`,actionsSlot:`accordion-actions`,inlineActionsOnMobile:W,search:U?{value:H,onChange:e=>oe(e.target.value),placeholder:M.common.searchPlaceholder,ariaLabel:M.accordion.searchAriaLabel}:void 0,actions:W?(0,f.jsx)(a.ToolbarIconButton,{"data-slot":`accordion-action-add-button`,label:M.common.add,disabled:I,onClick:()=>void se(),icon:(0,f.jsx)(p.Plus,{})}):void 0})})]}):null,Y&&U&&Y.length===0?(0,f.jsx)(`div`,{"data-slot":`accordion-empty-state`,className:u.accordionEmptyStateVariants(),children:M.accordion.noSearchResults}):null,Y?Y.map(({item:e,originalIndex:t})=>{let n=e.isEdit&&typeof D==`function`,r=e.isDelete&&typeof O==`function`,o=n||r,s=e=>(0,f.jsx)(e,{className:i.CLEAR_ICON_CLASS,"aria-hidden":`true`}),c=[...n?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void Q(e,t)}]:[],...r?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void $(e,t)}]:[]],l=R&&c.length>1?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):o?(0,f.jsxs)(f.Fragment,{children:[n?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>void Q(e,t)}):null,r?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`delete`}),onClick:()=>void $(e,t)}):null]}):void 0,d=Array.isArray(e.content)?(0,f.jsx)(`div`,{"data-slot":`accordion-content-list`,className:u.accordionContentListVariants(),children:e.content.map((n,r)=>{let i=n.isEdit&&typeof k==`function`,o=n.isDelete&&typeof A==`function`,c=[...i?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void ce(e,t,n,r)}]:[],...o?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void le(e,t,n,r)}]:[]],l=R&&c.length>1;return(0,f.jsxs)(`div`,{"data-slot":`accordion-content-list-row`,className:u.accordionContentListRowVariants(),children:[(0,f.jsx)(`span`,{className:`zui:min-w-0 zui:flex-1 zui:text-start`,children:n.label}),l?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):null,!l&&i?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>void ce(e,t,n,r)}):null,!l&&o?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`delete`}),onClick:()=>void le(e,t,n,r)}):null]},n.value)})}):e.content;return(0,f.jsxs)(S,{value:e.value,disabled:e.disabled,children:[(0,f.jsx)(C,{icon:e.icon,actions:l,children:e.title}),(0,f.jsx)(w,{children:d})]},e.value)}):re,R?(0,f.jsx)(r.default,{open:z.open,onOpenChange:e=>B(t=>({...t,open:e})),actions:z.actions,label:M.accordion.actions}):null]})})}),S=d.forwardRef(function({value:e,disabled:t=!1,className:r,children:i},a){let{openValues:o}=g(`AccordionItem`),s=o.includes(e),c=d.useId(),l=`accordion-trigger-${c}`,p=`accordion-content-${c}`,m=d.useMemo(()=>({value:e,isOpen:s,disabled:t,triggerId:l,contentId:p}),[e,s,t,l,p]);return(0,f.jsx)(_.Provider,{value:m,children:(0,f.jsx)(`div`,{ref:a,"data-slot":`accordion-item`,"data-state":s?`open`:`closed`,"data-disabled":t?``:void 0,className:n.cn(u.accordionItemVariants(),r),children:i})})}),C=d.forwardRef(function({icon:e,actions:t,className:r,children:i},a){let{toggleValue:o}=g(`AccordionTrigger`),{value:s,isOpen:c,disabled:l,triggerId:d,contentId:m}=v(`AccordionTrigger`);return(0,f.jsxs)(`div`,{"data-slot":`accordion-trigger-row`,className:u.accordionTriggerRowVariants(),children:[(0,f.jsxs)(`button`,{ref:a,type:`button`,id:d,"aria-expanded":c,"aria-controls":m,disabled:l,"data-slot":`accordion-trigger`,"data-state":c?`open`:`closed`,onClick:()=>{l||o(s)},className:n.cn(u.accordionTriggerVariants(),r),children:[(0,f.jsx)(`span`,{className:`zui:flex-1 zui:text-start`,children:i}),e??(0,f.jsx)(p.ChevronDown,{"aria-hidden":`true`,className:n.cn(`zui:size-4 zui:shrink-0 zui:text-[var(--zui-color-text)] zui:transition-transform zui:duration-200 zui:ease-out`,c?`zui:rotate-180`:`zui:rotate-0`)})]}),t?(0,f.jsx)(`div`,{"data-slot":`accordion-trigger-actions`,className:u.accordionTriggerActionsVariants(),children:t}):null]})}),w=d.forwardRef(function({forceMount:e,className:t,children:r},i){let{isOpen:a,triggerId:o,contentId:s}=v(`AccordionContent`);return!e&&!a?null:(0,f.jsx)(`div`,{ref:i,role:`region`,id:s,"aria-labelledby":o,"data-slot":`accordion-content`,"data-state":a?`open`:`closed`,hidden:e?!a:void 0,className:n.cn(u.accordionContentVariants(),t),children:r})});exports.AccordionContent=w,exports.AccordionItem=S,exports.AccordionTrigger=C,exports.default=x;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface.cjs";
|
|
3
|
+
declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { AccordionItem, AccordionTrigger, AccordionContent };
|
|
8
|
+
export default Accordion;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface";
|
|
2
|
+
import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface.js";
|
|
3
3
|
declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
4
|
declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
5
|
declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* One row inside an item's `content` when `content` is an array — a flat,
|
|
4
|
+
* minimally-divided list (not a nested Accordion) rendered inside the open
|
|
5
|
+
* panel, with its own optional per-row edit/delete icons.
|
|
6
|
+
*/
|
|
7
|
+
export interface AccordionContentItem {
|
|
8
|
+
value: string;
|
|
9
|
+
label: React.ReactNode;
|
|
10
|
+
/** Shows an edit icon button for this row. Requires `Accordion`'s `onContentItemEdit`. */
|
|
11
|
+
isEdit?: boolean;
|
|
12
|
+
/** Shows a delete icon button for this row. Requires `Accordion`'s `onContentItemDelete`. */
|
|
13
|
+
isDelete?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface AccordionItemSchema {
|
|
16
|
+
value: string;
|
|
17
|
+
title: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Either arbitrary content (the default), or an array of `AccordionContentItem`
|
|
20
|
+
* rows — rendered as a flat list separated by a minimal divider, not as a
|
|
21
|
+
* nested Accordion.
|
|
22
|
+
*/
|
|
23
|
+
content: React.ReactNode | AccordionContentItem[];
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
icon?: React.ReactNode;
|
|
26
|
+
/** Shows an edit icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onEdit`. */
|
|
27
|
+
isEdit?: boolean;
|
|
28
|
+
/** Shows a delete icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onDelete`. */
|
|
29
|
+
isDelete?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export type AccordionItemActionInput = {
|
|
32
|
+
item: AccordionItemSchema;
|
|
33
|
+
index: number;
|
|
34
|
+
};
|
|
35
|
+
export type AccordionEditItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
|
|
36
|
+
export type AccordionDeleteItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
|
|
37
|
+
export type AccordionContentItemActionInput = {
|
|
38
|
+
item: AccordionItemSchema;
|
|
39
|
+
itemIndex: number;
|
|
40
|
+
contentItem: AccordionContentItem;
|
|
41
|
+
contentIndex: number;
|
|
42
|
+
};
|
|
43
|
+
export type AccordionContentItemEditHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
|
|
44
|
+
export type AccordionContentItemDeleteHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
|
|
45
|
+
export interface AccordionProps {
|
|
46
|
+
type?: "single" | "multiple";
|
|
47
|
+
value?: string | string[];
|
|
48
|
+
defaultValue?: string | string[];
|
|
49
|
+
onValueChange?: (value: string | string[]) => void;
|
|
50
|
+
collapsible?: boolean;
|
|
51
|
+
dir?: "rtl" | "ltr";
|
|
52
|
+
/**
|
|
53
|
+
* Data-driven usage (recommended) — same convention as Select's `options` or
|
|
54
|
+
* Table's `schema`: pass the items and Accordion renders them, no manual
|
|
55
|
+
* AccordionItem/AccordionTrigger/AccordionContent composition needed.
|
|
56
|
+
* When provided, `children` is ignored.
|
|
57
|
+
*/
|
|
58
|
+
items?: AccordionItemSchema[];
|
|
59
|
+
/**
|
|
60
|
+
* Shows a search input above the `items` list that filters items by title
|
|
61
|
+
* and content text, same convention as `Table`'s `searchable`. Only applies
|
|
62
|
+
* in data-driven (`items`) mode.
|
|
63
|
+
*/
|
|
64
|
+
searchable?: boolean;
|
|
65
|
+
/** Shows a "+" add button next to the search input, same convention as `Table`'s `onAdd`. */
|
|
66
|
+
onAdd?: () => void | Promise<void>;
|
|
67
|
+
/** Called when an item's edit icon (`item.isEdit`) is clicked. Same convention as `Table`'s `onEdit`. */
|
|
68
|
+
onEdit?: AccordionEditItemHandler;
|
|
69
|
+
/** Called when an item's delete icon (`item.isDelete`) is clicked. Same convention as `Table`'s `onDelete`. */
|
|
70
|
+
onDelete?: AccordionDeleteItemHandler;
|
|
71
|
+
/** Called when a content-list row's edit icon (`AccordionContentItem.isEdit`) is clicked. */
|
|
72
|
+
onContentItemEdit?: AccordionContentItemEditHandler;
|
|
73
|
+
/** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
|
|
74
|
+
onContentItemDelete?: AccordionContentItemDeleteHandler;
|
|
75
|
+
/**
|
|
76
|
+
* On phones the search and "+" button stay pinned to the top while the items scroll: they slide
|
|
77
|
+
* away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
|
|
78
|
+
* them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
|
|
79
|
+
* `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
stickyToolbar?: boolean;
|
|
83
|
+
className?: string;
|
|
84
|
+
children?: React.ReactNode;
|
|
85
|
+
}
|
|
86
|
+
export interface AccordionItemProps {
|
|
87
|
+
value: string;
|
|
88
|
+
disabled?: boolean;
|
|
89
|
+
className?: string;
|
|
90
|
+
children?: React.ReactNode;
|
|
91
|
+
}
|
|
92
|
+
export interface AccordionTriggerProps {
|
|
93
|
+
icon?: React.ReactNode;
|
|
94
|
+
/** Extra controls (e.g. edit/delete icon buttons) rendered next to the trigger but outside its clickable button, so clicking them doesn't toggle the item. */
|
|
95
|
+
actions?: React.ReactNode;
|
|
96
|
+
className?: string;
|
|
97
|
+
children?: React.ReactNode;
|
|
98
|
+
}
|
|
99
|
+
export interface AccordionContentProps {
|
|
100
|
+
forceMount?: boolean;
|
|
101
|
+
className?: string;
|
|
102
|
+
children?: React.ReactNode;
|
|
103
|
+
}
|
|
@@ -72,6 +72,14 @@ export interface AccordionProps {
|
|
|
72
72
|
onContentItemEdit?: AccordionContentItemEditHandler;
|
|
73
73
|
/** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
|
|
74
74
|
onContentItemDelete?: AccordionContentItemDeleteHandler;
|
|
75
|
+
/**
|
|
76
|
+
* On phones the search and "+" button stay pinned to the top while the items scroll: they slide
|
|
77
|
+
* away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
|
|
78
|
+
* them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
|
|
79
|
+
* `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
stickyToolbar?: boolean;
|
|
75
83
|
className?: string;
|
|
76
84
|
children?: React.ReactNode;
|
|
77
85
|
}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useZuiConfig as e } from "../../config/useZuiConfig.js";
|
|
3
|
+
import { cn as t } from "../../lib/utils.js";
|
|
4
|
+
import n from "../shared/ActionSheet.js";
|
|
5
|
+
import { CLEAR_ICON_CLASS as r } from "../shared/FieldClearButton.js";
|
|
6
|
+
import { IconActionButton as i, ListToolbar as a, ToolbarIconButton as o } from "../shared/IconActionButton.js";
|
|
7
|
+
import { useControllableState as s } from "../shared/useControllableState.js";
|
|
8
|
+
import { useExclusiveAction as c } from "../shared/useExclusiveAction.js";
|
|
9
|
+
import { useStickyToolbar as l } from "../shared/useStickyToolbar.js";
|
|
10
|
+
import { useIsMobileViewport as u } from "../shared/viewport.js";
|
|
11
|
+
import { accordionActionButtonVariants as d, accordionContentActionButtonVariants as f, accordionContentListRowVariants as ee, accordionContentListVariants as te, accordionContentVariants as p, accordionEmptyStateVariants as ne, accordionItemVariants as m, accordionTriggerActionsVariants as h, accordionTriggerRowVariants as g, accordionTriggerVariants as _, accordionVariants as re } from "./Accordion.variant.js";
|
|
12
|
+
import * as v from "react";
|
|
13
|
+
import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
14
|
+
import { ChevronDown as S, EllipsisVertical as C, Pencil as w, Plus as ie, Trash2 as T } from "lucide-react";
|
|
15
|
+
//#region src/components/Accordion/Accordion.tsx
|
|
16
|
+
var E = "zui:size-4", D = v.createContext(null);
|
|
17
|
+
function O(e) {
|
|
18
|
+
let t = v.useContext(D);
|
|
19
|
+
if (!t) throw Error(`${e} must be used within an <Accordion> component`);
|
|
20
|
+
return t;
|
|
21
|
+
}
|
|
22
|
+
var k = v.createContext(null);
|
|
23
|
+
function A(e) {
|
|
24
|
+
let t = v.useContext(k);
|
|
25
|
+
if (!t) throw Error(`${e} must be used within an <AccordionItem> component`);
|
|
26
|
+
return t;
|
|
27
|
+
}
|
|
28
|
+
function j(e) {
|
|
29
|
+
return e === void 0 ? [] : Array.isArray(e) ? e : [e];
|
|
30
|
+
}
|
|
31
|
+
function M(e) {
|
|
32
|
+
return typeof e == "string" || typeof e == "number" ? String(e) : "";
|
|
33
|
+
}
|
|
34
|
+
function ae(e) {
|
|
35
|
+
return `${M(e.title)} ${Array.isArray(e.content) ? e.content.map((e) => M(e.label)).join(" ") : M(e.content)}`.toLocaleLowerCase();
|
|
36
|
+
}
|
|
37
|
+
var N = v.forwardRef(function({ type: p = "single", value: m, defaultValue: h, onValueChange: g, collapsible: _ = !1, dir: S, items: O, searchable: k = !1, onAdd: A, onEdit: M, onDelete: N, onContentItemEdit: P, onContentItemDelete: F, stickyToolbar: I = !0, className: le, children: ue }, de) {
|
|
38
|
+
let { messages: L, dir: fe } = e(), R = S ?? fe, [z, B] = s({
|
|
39
|
+
value: v.useMemo(() => m === void 0 ? void 0 : j(m), [m]),
|
|
40
|
+
defaultValue: () => j(h)
|
|
41
|
+
}), [V, H] = c(), U = u(), [W, pe] = v.useState({
|
|
42
|
+
open: !1,
|
|
43
|
+
actions: []
|
|
44
|
+
}), G = (e) => pe({
|
|
45
|
+
open: !0,
|
|
46
|
+
actions: e
|
|
47
|
+
}), [K, me] = v.useState(""), q = k && Array.isArray(O), J = typeof A == "function", Y = q || J, he = v.useRef(null), ge = v.useRef(null);
|
|
48
|
+
l(he, ge, U && I && Y);
|
|
49
|
+
let X = K.trim().toLocaleLowerCase(), Z = v.useMemo(() => {
|
|
50
|
+
if (!O) return;
|
|
51
|
+
let e = O.map((e, t) => ({
|
|
52
|
+
item: e,
|
|
53
|
+
originalIndex: t
|
|
54
|
+
}));
|
|
55
|
+
return !q || X.length === 0 ? e : e.filter(({ item: e }) => ae(e).includes(X));
|
|
56
|
+
}, [
|
|
57
|
+
O,
|
|
58
|
+
X,
|
|
59
|
+
q
|
|
60
|
+
]), Q = v.useCallback((e) => {
|
|
61
|
+
B(e), p === "multiple" ? g?.(e) : g?.(e[0] ?? "");
|
|
62
|
+
}, [
|
|
63
|
+
g,
|
|
64
|
+
B,
|
|
65
|
+
p
|
|
66
|
+
]), _e = v.useCallback((e) => {
|
|
67
|
+
let t = z.includes(e);
|
|
68
|
+
if (p === "multiple") {
|
|
69
|
+
Q(t ? z.filter((t) => t !== e) : [...z, e]);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (t) {
|
|
73
|
+
Q(_ ? [] : z);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
Q([e]);
|
|
77
|
+
}, [
|
|
78
|
+
_,
|
|
79
|
+
Q,
|
|
80
|
+
z,
|
|
81
|
+
p
|
|
82
|
+
]), ve = v.useCallback(async () => {
|
|
83
|
+
A && await H(A);
|
|
84
|
+
}, [A, H]), ye = v.useCallback(async (e, t) => {
|
|
85
|
+
M && await H(() => M({
|
|
86
|
+
item: e,
|
|
87
|
+
index: t
|
|
88
|
+
}));
|
|
89
|
+
}, [M, H]), be = v.useCallback(async (e, t) => {
|
|
90
|
+
N && await H(() => N({
|
|
91
|
+
item: e,
|
|
92
|
+
index: t
|
|
93
|
+
}));
|
|
94
|
+
}, [N, H]), xe = v.useCallback(async (e, t, n, r) => {
|
|
95
|
+
P && await H(() => P({
|
|
96
|
+
item: e,
|
|
97
|
+
itemIndex: t,
|
|
98
|
+
contentItem: n,
|
|
99
|
+
contentIndex: r
|
|
100
|
+
}));
|
|
101
|
+
}, [P, H]), $ = v.useCallback(async (e, t, n, r) => {
|
|
102
|
+
F && await H(() => F({
|
|
103
|
+
item: e,
|
|
104
|
+
itemIndex: t,
|
|
105
|
+
contentItem: n,
|
|
106
|
+
contentIndex: r
|
|
107
|
+
}));
|
|
108
|
+
}, [F, H]), Se = v.useMemo(() => ({
|
|
109
|
+
openValues: z,
|
|
110
|
+
toggleValue: _e,
|
|
111
|
+
dir: R,
|
|
112
|
+
type: p
|
|
113
|
+
}), [
|
|
114
|
+
z,
|
|
115
|
+
_e,
|
|
116
|
+
R,
|
|
117
|
+
p
|
|
118
|
+
]);
|
|
119
|
+
return /* @__PURE__ */ b(D.Provider, {
|
|
120
|
+
value: Se,
|
|
121
|
+
children: /* @__PURE__ */ x("div", {
|
|
122
|
+
ref: de,
|
|
123
|
+
dir: R,
|
|
124
|
+
"data-slot": "accordion",
|
|
125
|
+
className: t(re(), le),
|
|
126
|
+
children: [
|
|
127
|
+
Y ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
|
|
128
|
+
ref: ge,
|
|
129
|
+
"aria-hidden": "true",
|
|
130
|
+
"data-slot": "accordion-sticky-sentinel",
|
|
131
|
+
className: "zui:-mb-2"
|
|
132
|
+
}), /* @__PURE__ */ b("div", {
|
|
133
|
+
ref: he,
|
|
134
|
+
"data-slot": "accordion-sticky-toolbar",
|
|
135
|
+
"data-sticky-toolbar": U && I ? "true" : void 0,
|
|
136
|
+
className: "zui:mb-2",
|
|
137
|
+
children: /* @__PURE__ */ b(a, {
|
|
138
|
+
"data-slot": "accordion-controls",
|
|
139
|
+
searchSlot: "accordion-search-input",
|
|
140
|
+
actionsSlot: "accordion-actions",
|
|
141
|
+
inlineActionsOnMobile: J,
|
|
142
|
+
search: q ? {
|
|
143
|
+
value: K,
|
|
144
|
+
onChange: (e) => me(e.target.value),
|
|
145
|
+
placeholder: L.common.searchPlaceholder,
|
|
146
|
+
ariaLabel: L.accordion.searchAriaLabel
|
|
147
|
+
} : void 0,
|
|
148
|
+
actions: J ? /* @__PURE__ */ b(o, {
|
|
149
|
+
"data-slot": "accordion-action-add-button",
|
|
150
|
+
label: L.common.add,
|
|
151
|
+
disabled: V,
|
|
152
|
+
onClick: () => void ve(),
|
|
153
|
+
icon: /* @__PURE__ */ b(ie, {})
|
|
154
|
+
}) : void 0
|
|
155
|
+
})
|
|
156
|
+
})] }) : null,
|
|
157
|
+
Z && q && Z.length === 0 ? /* @__PURE__ */ b("div", {
|
|
158
|
+
"data-slot": "accordion-empty-state",
|
|
159
|
+
className: ne(),
|
|
160
|
+
children: L.accordion.noSearchResults
|
|
161
|
+
}) : null,
|
|
162
|
+
Z ? Z.map(({ item: e, originalIndex: t }) => {
|
|
163
|
+
let n = e.isEdit && typeof M == "function", a = e.isDelete && typeof N == "function", o = n || a, s = (e) => /* @__PURE__ */ b(e, {
|
|
164
|
+
className: r,
|
|
165
|
+
"aria-hidden": "true"
|
|
166
|
+
}), c = [...n ? [{
|
|
167
|
+
key: "edit",
|
|
168
|
+
label: L.common.edit,
|
|
169
|
+
icon: s(w),
|
|
170
|
+
onSelect: () => void ye(e, t)
|
|
171
|
+
}] : [], ...a ? [{
|
|
172
|
+
key: "delete",
|
|
173
|
+
label: L.common.delete,
|
|
174
|
+
icon: s(T),
|
|
175
|
+
danger: !0,
|
|
176
|
+
onSelect: () => void be(e, t)
|
|
177
|
+
}] : []], l = U && c.length > 1 ? /* @__PURE__ */ b(i, {
|
|
178
|
+
"data-slot": "accordion-action-menu-button",
|
|
179
|
+
label: L.accordion.actions,
|
|
180
|
+
icon: /* @__PURE__ */ b(C, {
|
|
181
|
+
className: E,
|
|
182
|
+
"aria-hidden": "true"
|
|
183
|
+
}),
|
|
184
|
+
disabled: V,
|
|
185
|
+
className: d({ tone: "edit" }),
|
|
186
|
+
onClick: () => G(c)
|
|
187
|
+
}) : o ? /* @__PURE__ */ x(y, { children: [n ? /* @__PURE__ */ b(i, {
|
|
188
|
+
"data-slot": "accordion-action-edit-button",
|
|
189
|
+
label: L.common.edit,
|
|
190
|
+
icon: /* @__PURE__ */ b(w, {
|
|
191
|
+
className: E,
|
|
192
|
+
"aria-hidden": "true"
|
|
193
|
+
}),
|
|
194
|
+
disabled: V,
|
|
195
|
+
className: d({ tone: "edit" }),
|
|
196
|
+
onClick: () => void ye(e, t)
|
|
197
|
+
}) : null, a ? /* @__PURE__ */ b(i, {
|
|
198
|
+
"data-slot": "accordion-action-delete-button",
|
|
199
|
+
label: L.common.delete,
|
|
200
|
+
icon: /* @__PURE__ */ b(T, {
|
|
201
|
+
className: E,
|
|
202
|
+
"aria-hidden": "true"
|
|
203
|
+
}),
|
|
204
|
+
disabled: V,
|
|
205
|
+
className: d({ tone: "delete" }),
|
|
206
|
+
onClick: () => void be(e, t)
|
|
207
|
+
}) : null] }) : void 0, u = Array.isArray(e.content) ? /* @__PURE__ */ b("div", {
|
|
208
|
+
"data-slot": "accordion-content-list",
|
|
209
|
+
className: te(),
|
|
210
|
+
children: e.content.map((n, r) => {
|
|
211
|
+
let a = n.isEdit && typeof P == "function", o = n.isDelete && typeof F == "function", c = [...a ? [{
|
|
212
|
+
key: "edit",
|
|
213
|
+
label: L.common.edit,
|
|
214
|
+
icon: s(w),
|
|
215
|
+
onSelect: () => void xe(e, t, n, r)
|
|
216
|
+
}] : [], ...o ? [{
|
|
217
|
+
key: "delete",
|
|
218
|
+
label: L.common.delete,
|
|
219
|
+
icon: s(T),
|
|
220
|
+
danger: !0,
|
|
221
|
+
onSelect: () => void $(e, t, n, r)
|
|
222
|
+
}] : []], l = U && c.length > 1;
|
|
223
|
+
return /* @__PURE__ */ x("div", {
|
|
224
|
+
"data-slot": "accordion-content-list-row",
|
|
225
|
+
className: ee(),
|
|
226
|
+
children: [
|
|
227
|
+
/* @__PURE__ */ b("span", {
|
|
228
|
+
className: "zui:min-w-0 zui:flex-1 zui:text-start",
|
|
229
|
+
children: n.label
|
|
230
|
+
}),
|
|
231
|
+
l ? /* @__PURE__ */ b(i, {
|
|
232
|
+
"data-slot": "accordion-content-item-menu-button",
|
|
233
|
+
label: L.accordion.actions,
|
|
234
|
+
icon: /* @__PURE__ */ b(C, {
|
|
235
|
+
className: E,
|
|
236
|
+
"aria-hidden": "true"
|
|
237
|
+
}),
|
|
238
|
+
disabled: V,
|
|
239
|
+
className: f({ tone: "edit" }),
|
|
240
|
+
onClick: () => G(c)
|
|
241
|
+
}) : null,
|
|
242
|
+
!l && a ? /* @__PURE__ */ b(i, {
|
|
243
|
+
"data-slot": "accordion-content-item-edit-button",
|
|
244
|
+
label: L.common.edit,
|
|
245
|
+
icon: /* @__PURE__ */ b(w, {
|
|
246
|
+
className: E,
|
|
247
|
+
"aria-hidden": "true"
|
|
248
|
+
}),
|
|
249
|
+
disabled: V,
|
|
250
|
+
className: f({ tone: "edit" }),
|
|
251
|
+
onClick: () => void xe(e, t, n, r)
|
|
252
|
+
}) : null,
|
|
253
|
+
!l && o ? /* @__PURE__ */ b(i, {
|
|
254
|
+
"data-slot": "accordion-content-item-delete-button",
|
|
255
|
+
label: L.common.delete,
|
|
256
|
+
icon: /* @__PURE__ */ b(T, {
|
|
257
|
+
className: E,
|
|
258
|
+
"aria-hidden": "true"
|
|
259
|
+
}),
|
|
260
|
+
disabled: V,
|
|
261
|
+
className: f({ tone: "delete" }),
|
|
262
|
+
onClick: () => void $(e, t, n, r)
|
|
263
|
+
}) : null
|
|
264
|
+
]
|
|
265
|
+
}, n.value);
|
|
266
|
+
})
|
|
267
|
+
}) : e.content;
|
|
268
|
+
return /* @__PURE__ */ x(oe, {
|
|
269
|
+
value: e.value,
|
|
270
|
+
disabled: e.disabled,
|
|
271
|
+
children: [/* @__PURE__ */ b(se, {
|
|
272
|
+
icon: e.icon,
|
|
273
|
+
actions: l,
|
|
274
|
+
children: e.title
|
|
275
|
+
}), /* @__PURE__ */ b(ce, { children: u })]
|
|
276
|
+
}, e.value);
|
|
277
|
+
}) : ue,
|
|
278
|
+
U ? /* @__PURE__ */ b(n, {
|
|
279
|
+
open: W.open,
|
|
280
|
+
onOpenChange: (e) => pe((t) => ({
|
|
281
|
+
...t,
|
|
282
|
+
open: e
|
|
283
|
+
})),
|
|
284
|
+
actions: W.actions,
|
|
285
|
+
label: L.accordion.actions
|
|
286
|
+
}) : null
|
|
287
|
+
]
|
|
288
|
+
})
|
|
289
|
+
});
|
|
290
|
+
}), oe = v.forwardRef(function({ value: e, disabled: n = !1, className: r, children: i }, a) {
|
|
291
|
+
let { openValues: o } = O("AccordionItem"), s = o.includes(e), c = v.useId(), l = `accordion-trigger-${c}`, u = `accordion-content-${c}`, d = v.useMemo(() => ({
|
|
292
|
+
value: e,
|
|
293
|
+
isOpen: s,
|
|
294
|
+
disabled: n,
|
|
295
|
+
triggerId: l,
|
|
296
|
+
contentId: u
|
|
297
|
+
}), [
|
|
298
|
+
e,
|
|
299
|
+
s,
|
|
300
|
+
n,
|
|
301
|
+
l,
|
|
302
|
+
u
|
|
303
|
+
]);
|
|
304
|
+
return /* @__PURE__ */ b(k.Provider, {
|
|
305
|
+
value: d,
|
|
306
|
+
children: /* @__PURE__ */ b("div", {
|
|
307
|
+
ref: a,
|
|
308
|
+
"data-slot": "accordion-item",
|
|
309
|
+
"data-state": s ? "open" : "closed",
|
|
310
|
+
"data-disabled": n ? "" : void 0,
|
|
311
|
+
className: t(m(), r),
|
|
312
|
+
children: i
|
|
313
|
+
})
|
|
314
|
+
});
|
|
315
|
+
}), se = v.forwardRef(function({ icon: e, actions: n, className: r, children: i }, a) {
|
|
316
|
+
let { toggleValue: o } = O("AccordionTrigger"), { value: s, isOpen: c, disabled: l, triggerId: u, contentId: d } = A("AccordionTrigger");
|
|
317
|
+
return /* @__PURE__ */ x("div", {
|
|
318
|
+
"data-slot": "accordion-trigger-row",
|
|
319
|
+
className: g(),
|
|
320
|
+
children: [/* @__PURE__ */ x("button", {
|
|
321
|
+
ref: a,
|
|
322
|
+
type: "button",
|
|
323
|
+
id: u,
|
|
324
|
+
"aria-expanded": c,
|
|
325
|
+
"aria-controls": d,
|
|
326
|
+
disabled: l,
|
|
327
|
+
"data-slot": "accordion-trigger",
|
|
328
|
+
"data-state": c ? "open" : "closed",
|
|
329
|
+
onClick: () => {
|
|
330
|
+
l || o(s);
|
|
331
|
+
},
|
|
332
|
+
className: t(_(), r),
|
|
333
|
+
children: [/* @__PURE__ */ b("span", {
|
|
334
|
+
className: "zui:flex-1 zui:text-start",
|
|
335
|
+
children: i
|
|
336
|
+
}), e ?? /* @__PURE__ */ b(S, {
|
|
337
|
+
"aria-hidden": "true",
|
|
338
|
+
className: t("zui:size-4 zui:shrink-0 zui:text-[var(--zui-color-text)] zui:transition-transform zui:duration-200 zui:ease-out", c ? "zui:rotate-180" : "zui:rotate-0")
|
|
339
|
+
})]
|
|
340
|
+
}), n ? /* @__PURE__ */ b("div", {
|
|
341
|
+
"data-slot": "accordion-trigger-actions",
|
|
342
|
+
className: h(),
|
|
343
|
+
children: n
|
|
344
|
+
}) : null]
|
|
345
|
+
});
|
|
346
|
+
}), ce = v.forwardRef(function({ forceMount: e, className: n, children: r }, i) {
|
|
347
|
+
let { isOpen: a, triggerId: o, contentId: s } = A("AccordionContent");
|
|
348
|
+
return !e && !a ? null : /* @__PURE__ */ b("div", {
|
|
349
|
+
ref: i,
|
|
350
|
+
role: "region",
|
|
351
|
+
id: s,
|
|
352
|
+
"aria-labelledby": o,
|
|
353
|
+
"data-slot": "accordion-content",
|
|
354
|
+
"data-state": a ? "open" : "closed",
|
|
355
|
+
hidden: e ? !a : void 0,
|
|
356
|
+
className: t(p(), n),
|
|
357
|
+
children: r
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
//#endregion
|
|
361
|
+
export { ce as AccordionContent, oe as AccordionItem, se as AccordionTrigger, N as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`class-variance-authority`);var t=(0,e.cva)(`zui:flex zui:w-full zui:flex-col zui:gap-2`),n=(0,e.cva)(`zui:flex zui:flex-col zui:overflow-hidden zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:transition-colors zui:duration-200 zui:ease-out`),r=(0,e.cva)(`zui:flex zui:w-full zui:items-center zui:gap-1`),i=(0,e.cva)(`zui:group/accordion-trigger zui:flex zui:min-w-0 zui:flex-1 zui:cursor-pointer zui:select-none zui:items-center zui:justify-between zui:gap-2 zui:min-h-[calc(var(--zui-scale,10px)*5.184)] zui:px-4 zui:py-3 zui:text-start zui:text-sm zui:mobile:text-base zui:font-medium zui:leading-none zui:text-[var(--zui-color-text)] zui:outline-none zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[color-mix(in_srgb,var(--zui-color-primary)_12%,transparent)] zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-color-primary)] zui:focus-visible:ring-offset-1 zui:focus-visible:ring-offset-[var(--zui-color-surface)] zui:disabled:pointer-events-none zui:disabled:opacity-50`),a=(0,e.cva)(`zui:flex zui:shrink-0 zui:items-center zui:gap-1 zui:ps-1 zui:pe-4`),o=(0,e.cva)(`zui:inline-flex zui:size-8 zui:mobile:size-10 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-transparent zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[var(--zui-theme-bg-muted)] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45`,{variants:{tone:{edit:`zui:text-[var(--zui-color-text)]`,delete:`zui:text-[var(--zui-color-danger)]`}},defaultVariants:{tone:`edit`}}),s=(0,e.cva)(`zui:inline-flex zui:size-7 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui:bg-transparent zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-[1.2] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45`,{variants:{tone:{edit:`zui:text-[var(--zui-color-text)]`,delete:`zui:text-[var(--zui-color-danger)]`}},defaultVariants:{tone:`edit`}}),c=(0,e.cva)(`zui:mx-4 zui:mb-3 zui:border-s-2 zui:border-[var(--zui-color-border)] zui:ps-4 zui:pt-1 zui:text-sm zui:mobile:text-base zui:leading-relaxed zui:text-[var(--zui-color-text)]`),l=(0,e.cva)(`zui:flex zui:flex-col zui:divide-y zui:divide-[var(--zui-color-border)]`),u=(0,e.cva)(`zui:flex zui:items-center zui:gap-2 zui:py-2`),d=(0,e.cva)(`zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:px-4 zui:py-7 zui:text-center zui:text-sm zui:mobile:text-base zui:text-[var(--zui-color-text)]`);exports.accordionActionButtonVariants=o,exports.accordionContentActionButtonVariants=s,exports.accordionContentListRowVariants=u,exports.accordionContentListVariants=l,exports.accordionContentVariants=c,exports.accordionEmptyStateVariants=d,exports.accordionItemVariants=n,exports.accordionTriggerActionsVariants=a,exports.accordionTriggerRowVariants=r,exports.accordionTriggerVariants=i,exports.accordionVariants=t;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const accordionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
2
|
+
declare const accordionItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
3
|
+
declare const accordionTriggerRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
4
|
+
declare const accordionTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
5
|
+
declare const accordionTriggerActionsVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
6
|
+
declare const accordionActionButtonVariants: (props?: ({
|
|
7
|
+
tone?: "edit" | "delete" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
declare const accordionContentActionButtonVariants: (props?: ({
|
|
10
|
+
tone?: "edit" | "delete" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
declare const accordionContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
13
|
+
declare const accordionContentListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
14
|
+
declare const accordionContentListRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
15
|
+
declare const accordionEmptyStateVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
16
|
+
export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, accordionEmptyStateVariants, };
|
|
@@ -12,8 +12,5 @@ declare const accordionContentActionButtonVariants: (props?: ({
|
|
|
12
12
|
declare const accordionContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
13
13
|
declare const accordionContentListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
14
14
|
declare const accordionContentListRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
15
|
-
declare const accordionControlsRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
16
|
-
declare const accordionSearchInputVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
17
|
-
declare const accordionAddButtonWrapperVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
18
15
|
declare const accordionEmptyStateVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
19
|
-
export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants,
|
|
16
|
+
export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, accordionEmptyStateVariants, };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { cva as e } from "class-variance-authority";
|
|
2
|
+
//#region src/components/Accordion/Accordion.variant.ts
|
|
3
|
+
var t = e("zui:flex zui:w-full zui:flex-col zui:gap-2"), n = e("zui:flex zui:flex-col zui:overflow-hidden zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:transition-colors zui:duration-200 zui:ease-out"), r = e("zui:flex zui:w-full zui:items-center zui:gap-1"), i = e("zui:group/accordion-trigger zui:flex zui:min-w-0 zui:flex-1 zui:cursor-pointer zui:select-none zui:items-center zui:justify-between zui:gap-2 zui:min-h-[calc(var(--zui-scale,10px)*5.184)] zui:px-4 zui:py-3 zui:text-start zui:text-sm zui:mobile:text-base zui:font-medium zui:leading-none zui:text-[var(--zui-color-text)] zui:outline-none zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[color-mix(in_srgb,var(--zui-color-primary)_12%,transparent)] zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-color-primary)] zui:focus-visible:ring-offset-1 zui:focus-visible:ring-offset-[var(--zui-color-surface)] zui:disabled:pointer-events-none zui:disabled:opacity-50"), a = e("zui:flex zui:shrink-0 zui:items-center zui:gap-1 zui:ps-1 zui:pe-4"), o = e("zui:inline-flex zui:size-8 zui:mobile:size-10 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-transparent zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[var(--zui-theme-bg-muted)] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45", {
|
|
4
|
+
variants: { tone: {
|
|
5
|
+
edit: "zui:text-[var(--zui-color-text)]",
|
|
6
|
+
delete: "zui:text-[var(--zui-color-danger)]"
|
|
7
|
+
} },
|
|
8
|
+
defaultVariants: { tone: "edit" }
|
|
9
|
+
}), s = e("zui:inline-flex zui:size-7 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui:bg-transparent zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-[1.2] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45", {
|
|
10
|
+
variants: { tone: {
|
|
11
|
+
edit: "zui:text-[var(--zui-color-text)]",
|
|
12
|
+
delete: "zui:text-[var(--zui-color-danger)]"
|
|
13
|
+
} },
|
|
14
|
+
defaultVariants: { tone: "edit" }
|
|
15
|
+
}), c = e("zui:mx-4 zui:mb-3 zui:border-s-2 zui:border-[var(--zui-color-border)] zui:ps-4 zui:pt-1 zui:text-sm zui:mobile:text-base zui:leading-relaxed zui:text-[var(--zui-color-text)]"), l = e("zui:flex zui:flex-col zui:divide-y zui:divide-[var(--zui-color-border)]"), u = e("zui:flex zui:items-center zui:gap-2 zui:py-2"), d = e("zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:px-4 zui:py-7 zui:text-center zui:text-sm zui:mobile:text-base zui:text-[var(--zui-color-text)]");
|
|
16
|
+
//#endregion
|
|
17
|
+
export { o as accordionActionButtonVariants, s as accordionContentActionButtonVariants, u as accordionContentListRowVariants, l as accordionContentListVariants, c as accordionContentVariants, d as accordionEmptyStateVariants, n as accordionItemVariants, a as accordionTriggerActionsVariants, r as accordionTriggerRowVariants, i as accordionTriggerVariants, t as accordionVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../services/localizeDigits/localizeDigits.cjs`),r=require(`../../lib/utils.cjs`),i=require(`../Button/Button.cjs`),a=require(`../Dialog/Dialog.variant.cjs`),o=require(`../Tooltip/Tooltip.cjs`),s=require(`../Toast/function/showToast.cjs`),c=require(`../Uploader/Uploader.utils.cjs`),l=require(`./Avatar.variant.cjs`),u=require(`./Avatar.utils.cjs`);let d=require(`react`);d=e.__toESM(d,1);let f=require(`react/jsx-runtime`),p=require(`lucide-react`),m=require(`@radix-ui/react-dialog`);m=e.__toESM(m,1);var h=d.createContext(null);function g({src:e,alt:n,name:g,fallback:v,size:y,shape:b,status:x,showTooltip:S=!1,previewable:C,previewSrc:w,onClick:T,onImageSelect:E,onImageRemove:D,accept:O=`image/*`,maxSizeKb:k,onReject:A,className:ee},te){let{messages:j,digits:M,dir:N}=t.useZuiConfig(),P=j.avatar,F=d.useContext(h),I=y??F?.size??`default`,L=b??F?.shape??`circle`,R=F!==null,z=d.useRef(null),[B,V]=d.useState(null),[ne,H]=d.useState(!1),U=e?B?.src===e?B.state:`loading`:`none`,W=U===`loaded`,G=(C??!T)&&W,K=!!T||G,q=!!E,J=u.getInitials(g),Y=g??n,re=v??(J?(0,f.jsx)(`span`,{"aria-hidden":`true`,dir:`auto`,children:J}):(0,f.jsx)(p.User,{className:`zui:size-[55%]`,"aria-hidden":`true`})),ie=e=>{T?.(e),G&&!e.defaultPrevented&&H(!0)},X=()=>z.current?.click(),ae=e=>{let t=e.target.files?.[0];if(e.target.value=``,!t)return;let{accepted:n,rejected:r}=c.splitAcceptedFiles([t],O,k);if(r.length>0){A?A(r[0]):s.showFallbackToast({title:P.invalidImage,message:c.describeRejection(r[0],k,M,j.uploader),type:`error`,duration:5e3},"`onReject`");return}E?.(n[0])},Z=r.cn(l.avatarVariants({size:I,shape:L,interactive:K}),R&&`zui:ring-2 zui:ring-[var(--zui-color-surface)]`,ee),Q=(0,f.jsxs)(f.Fragment,{children:[re,e&&U!==`error`?(0,f.jsx)(`img`,{src:e,alt:n??g??``,loading:`lazy`,draggable:!1,onLoad:()=>V({src:e,state:`loaded`}),onError:()=>V({src:e,state:`error`}),className:r.cn(`zui:absolute zui:inset-0 zui:size-full zui:object-cover zui:transition-opacity zui:duration-300`,W?`zui:opacity-100`:`zui:opacity-0`)},e):null,G?(0,f.jsx)(`span`,{"aria-hidden":`true`,className:`zui:absolute zui:inset-0 zui:flex zui:items-center zui:justify-center zui:bg-[var(--zui-theme-overlay-scrim)] zui:text-[var(--zui-color-on-solid)] zui:opacity-0 zui:transition-opacity zui:duration-200 zui:group-hover/avatar:opacity-100 zui:group-focus-visible/avatar:opacity-100`,children:(0,f.jsx)(p.ZoomIn,{className:`zui:size-[45%] zui:scale-75 zui:transition-transform zui:duration-200 zui:group-hover/avatar:scale-100`})}):null]}),$=K?(0,f.jsx)(`button`,{type:`button`,"data-slot":`avatar-root`,"aria-label":G?P.showImage(Y??``):Y,onClick:ie,className:Z,children:Q}):(0,f.jsx)(`span`,{"data-slot":`avatar-root`,role:`img`,"aria-label":Y,className:Z,children:Q});return(0,f.jsxs)(`span`,{ref:te,"data-slot":`avatar`,dir:N,"data-state":U,className:`zui:relative zui:inline-flex zui:shrink-0 zui:align-middle`,children:[S&&g?(0,f.jsx)(o.default,{text:g,position:`top`,trigger:$}):$,x?(0,f.jsx)(`span`,{className:l.avatarStatusVariants({status:x,size:I}),children:(0,f.jsx)(`span`,{className:`zui:sr-only`,children:P[x]})}):null,q?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o.default,{text:P.changeImage,position:`bottom`,trigger:(0,f.jsx)(`button`,{type:`button`,"aria-label":P.changeImage,onClick:X,className:l.avatarEditButtonVariants({size:I}),children:(0,f.jsx)(p.Camera,{"aria-hidden":`true`})})}),(0,f.jsx)(`input`,{ref:z,type:`file`,tabIndex:-1,"aria-hidden":`true`,accept:O,onChange:ae,className:`zui:hidden`})]}):null,(0,f.jsx)(m.Root,{open:ne&&!!e,onOpenChange:H,children:(0,f.jsx)(m.Portal,{children:(0,f.jsx)(m.Overlay,{"data-slot":`avatar-preview-overlay`,className:r.cn(a.dialogOverlayVariants(),`zui:mobile:items-center zui:mobile:p-4`),children:(0,f.jsxs)(m.Content,{"data-slot":`avatar-preview`,dir:N,"aria-describedby":void 0,className:l.avatarPreviewContentClassName,children:[(0,f.jsx)(m.Close,{asChild:!0,children:(0,f.jsx)(`button`,{type:`button`,"aria-label":j.common.close,className:`zui:absolute zui:-top-3 zui:-end-3 zui:mobile:top-2 zui:mobile:end-2 zui:z-10 zui:inline-flex zui:size-9 zui:mobile:size-11 zui:cursor-pointer zui:items-center zui:justify-center zui:rounded-full zui:border zui:border-[var(--zui-color-border)] zui:bg-[var(--zui-color-surface)] zui:p-0 zui:text-[var(--zui-color-text)] zui:shadow-md zui:outline-none zui:transition-transform zui:duration-200 zui:hover:scale-110 zui:focus-visible:shadow-[0_0_0_2px_var(--zui-theme-action-primary)]`,children:(0,f.jsx)(p.X,{className:`zui:size-4`,"aria-hidden":`true`})})}),(0,f.jsx)(_,{src:w??e,fallbackSrc:e,alt:n??g??``}),(0,f.jsxs)(`div`,{className:`zui:flex zui:max-w-full zui:flex-wrap zui:items-center zui:justify-center zui:gap-3 zui:mobile:w-full zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:px-4 zui:py-2 zui:text-[var(--zui-color-text)] zui:shadow-md`,children:[(0,f.jsx)(m.Title,{className:`zui:m-0 zui:text-sm zui:mobile:w-full zui:mobile:text-center zui:mobile:text-base zui:font-semibold`,children:g??n??P.imageFallbackTitle}),q?(0,f.jsx)(i.default,{variant:`secondary`,kind:`cancel`,label:P.changeImage,className:`zui:mobile:flex-1`,icon:(0,f.jsx)(p.Camera,{className:`zui:size-4`}),onClick:X}):null,D?(0,f.jsx)(i.default,{variant:`danger`,kind:`cancel`,label:P.removeImage,className:`zui:mobile:flex-1`,icon:(0,f.jsx)(p.Trash2,{className:`zui:size-4`}),onClick:()=>{H(!1),D()}}):null]})]})})})})]})}function _({src:e,fallbackSrc:n,alt:r}){let{messages:i}=t.useZuiConfig(),[a,o]=d.useState(()=>new Set),s=[e,n].find(e=>!!e&&!a.has(e));return s?(0,f.jsx)(`img`,{src:s,alt:r,draggable:!1,onError:()=>o(e=>new Set(e).add(s)),className:`zui:block zui:max-h-[78vh] zui:max-w-[92vw] zui:min-w-40 zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:object-contain zui:shadow-[0_24px_48px_-24px_var(--zui-effect-shadow-ink-55)]`}):(0,f.jsxs)(`div`,{className:`zui:flex zui:size-64 zui:flex-col zui:items-center zui:justify-center zui:gap-2 zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:text-[var(--zui-theme-text-muted)]`,children:[(0,f.jsx)(p.ImageOff,{className:`zui:size-10`,"aria-hidden":`true`}),(0,f.jsx)(`span`,{className:`zui:text-sm`,children:i.avatar.imageLoadFailed})]})}function v({items:e,children:i,max:a,size:s=`default`,shape:c=`circle`,showTooltip:u=!0,className:p},m){let{messages:g,digits:_,dir:v}=t.useZuiConfig(),b=d.useMemo(()=>({size:s,shape:c}),[s,c]),x=e?e.map(({key:e,...t},n)=>(0,f.jsx)(y,{showTooltip:u,...t},e??`${t.name??`avatar`}-${n}`)):d.Children.toArray(i).filter(d.isValidElement),S=a!==void 0&&a>0&&x.length>a?a:x.length,C=x.length-S,w=e?e.slice(S).map(e=>e.name).filter(e=>!!e):[],T=(0,f.jsx)(`span`,{role:`img`,"aria-label":g.avatar.othersCount(n.localizeDigits(String(C),_)),className:r.cn(l.avatarVariants({size:s,shape:c}),`zui:ring-2 zui:ring-[var(--zui-color-surface)]`),children:(0,f.jsx)(`span`,{"aria-hidden":`true`,children:n.localizeDigits(`+${C}`,_)})});return(0,f.jsx)(h.Provider,{value:b,children:(0,f.jsxs)(`div`,{ref:m,"data-slot":`avatar-group`,dir:v,className:r.cn(`zui:inline-flex zui:items-center zui:[&>*]:relative zui:[&>*:hover]:z-10 zui:[&>*:focus-within]:z-10`,l.avatarGroupOverlapBySize[s],p),children:[x.slice(0,S),C>0?u&&w.length>0?(0,f.jsx)(o.default,{text:w.join(g.avatar.listSeparator),position:`top`,trigger:T}):T:null]})})}var y=d.forwardRef(g);y.displayName=`Avatar`;var b=d.forwardRef(v);b.displayName=`AvatarGroup`,exports.AvatarGroup=b,exports.default=y;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { AvatarGroupProps, AvatarProps } from "./Avatar.interface.cjs";
|
|
3
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
4
|
+
declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { AvatarGroup };
|
|
6
|
+
export default Avatar;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
declare
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { AvatarGroupProps, AvatarProps } from "./Avatar.interface.js";
|
|
3
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
4
|
+
declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
5
|
export { AvatarGroup };
|
|
5
6
|
export default Avatar;
|