brd-ui-kit 0.1.55 → 0.1.57
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/.githooks/pre-commit +19 -0
- package/.prettierignore +13 -0
- package/components.json +25 -0
- package/dist/components/app-pagination.d.ts +2 -0
- package/dist/components/app-sidebar.d.ts +2 -0
- package/dist/components/avatar-uploader.d.ts +2 -0
- package/dist/components/basic-avatar.d.ts +2 -0
- package/dist/components/basic-chart.d.ts +2 -0
- package/dist/components/basic-checkbox.d.ts +2 -0
- package/dist/components/basic-drawer.d.ts +2 -0
- package/dist/components/basic-modal.d.ts +2 -0
- package/dist/components/basic-select.d.ts +2 -0
- package/dist/components/basic-table.d.ts +2 -0
- package/dist/components/basic-tooltip.d.ts +2 -0
- package/dist/components/files-uploader.d.ts +2 -0
- package/dist/components/input-field.d.ts +2 -0
- package/dist/components/input-password.d.ts +2 -0
- package/dist/components/popover-modal.d.ts +2 -0
- package/dist/components/radio-button.d.ts +2 -0
- package/dist/components/select-field.d.ts +2 -0
- package/dist/components/select-groups.d.ts +2 -0
- package/dist/components/textarea-field.d.ts +2 -0
- package/dist/components/ui/avatar.d.ts +2 -0
- package/dist/components/ui/badge.d.ts +2 -0
- package/dist/components/ui/button.d.ts +2 -0
- package/dist/components/ui/card.d.ts +2 -0
- package/dist/components/ui/chart.d.ts +2 -0
- package/dist/components/ui/checkbox.d.ts +2 -0
- package/dist/components/ui/combobox.d.ts +2 -0
- package/dist/components/ui/dialog.d.ts +2 -0
- package/dist/components/ui/drawer.d.ts +2 -0
- package/dist/components/ui/field.d.ts +2 -0
- package/dist/components/ui/icon.d.ts +2 -0
- package/dist/components/ui/input-group.d.ts +2 -0
- package/dist/components/ui/input.d.ts +2 -0
- package/dist/components/ui/label.d.ts +2 -0
- package/dist/components/ui/navigation-item.d.ts +2 -0
- package/dist/components/ui/navigation-menu.d.ts +2 -0
- package/dist/components/ui/pagination.d.ts +2 -0
- package/dist/components/ui/popover.d.ts +2 -0
- package/dist/components/ui/progress.d.ts +2 -0
- package/dist/components/ui/radio-group.d.ts +2 -0
- package/dist/components/ui/select.d.ts +2 -0
- package/dist/components/ui/separator.d.ts +2 -0
- package/dist/components/ui/sonner.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +2 -0
- package/dist/components/ui/table.d.ts +2 -0
- package/dist/components/ui/tabs.d.ts +2 -0
- package/dist/components/ui/textarea.d.ts +2 -0
- package/dist/components/ui/tooltip.d.ts +2 -0
- package/dist/components/ui/typography.d.ts +2 -0
- package/dist/components-app-pagination-app-pagination.cjs +2 -0
- package/dist/components-app-pagination-app-pagination.cjs.map +1 -0
- package/dist/components-app-pagination-app-pagination.styles.cjs +3 -0
- package/dist/components-app-pagination-app-pagination.styles.cjs.map +1 -0
- package/dist/components-app-pagination.cjs +2 -0
- package/dist/components-app-pagination.cjs.map +1 -0
- package/dist/components-app-sidebar-app-sidebar.cjs +2 -0
- package/dist/components-app-sidebar-app-sidebar.cjs.map +1 -0
- package/dist/components-app-sidebar-app-sidebar.styles.cjs +2 -0
- package/dist/components-app-sidebar-app-sidebar.styles.cjs.map +1 -0
- package/dist/components-app-sidebar.cjs +2 -0
- package/dist/components-app-sidebar.cjs.map +1 -0
- package/dist/components-avatar-uploader-avatar-uploader.cjs +3 -0
- package/dist/components-avatar-uploader-avatar-uploader.cjs.map +1 -0
- package/dist/components-avatar-uploader.cjs +2 -0
- package/dist/components-avatar-uploader.cjs.map +1 -0
- package/dist/components-basic-avatar-basic-avatar.cjs +4 -0
- package/dist/components-basic-avatar-basic-avatar.cjs.map +1 -0
- package/dist/components-basic-avatar.cjs +2 -0
- package/dist/components-basic-avatar.cjs.map +1 -0
- package/dist/components-basic-chart-basic-chart.cjs +2 -0
- package/dist/components-basic-chart-basic-chart.cjs.map +1 -0
- package/dist/components-basic-chart.cjs +2 -0
- package/dist/components-basic-chart.cjs.map +1 -0
- package/dist/components-basic-checkbox-basic-checkbox.cjs +2 -0
- package/dist/components-basic-checkbox-basic-checkbox.cjs.map +1 -0
- package/dist/components-basic-checkbox.cjs +2 -0
- package/dist/components-basic-checkbox.cjs.map +1 -0
- package/dist/components-basic-drawer-basic-drawer.cjs +2 -0
- package/dist/components-basic-drawer-basic-drawer.cjs.map +1 -0
- package/dist/components-basic-drawer.cjs +2 -0
- package/dist/components-basic-drawer.cjs.map +1 -0
- package/dist/components-basic-modal-basic-modal.cjs +2 -0
- package/dist/components-basic-modal-basic-modal.cjs.map +1 -0
- package/dist/components-basic-modal.cjs +2 -0
- package/dist/components-basic-modal.cjs.map +1 -0
- package/dist/components-basic-select-basic-select.cjs +2 -0
- package/dist/components-basic-select-basic-select.cjs.map +1 -0
- package/dist/components-basic-select.cjs +2 -0
- package/dist/components-basic-select.cjs.map +1 -0
- package/dist/components-basic-table-basic-table.cjs +5 -0
- package/dist/components-basic-table-basic-table.cjs.map +1 -0
- package/dist/components-basic-table.cjs +2 -0
- package/dist/components-basic-table.cjs.map +1 -0
- package/dist/components-basic-tooltip-basic-tooltip.cjs +2 -0
- package/dist/components-basic-tooltip-basic-tooltip.cjs.map +1 -0
- package/dist/components-basic-tooltip.cjs +2 -0
- package/dist/components-basic-tooltip.cjs.map +1 -0
- package/dist/components-files-uploader-files-uploader.cjs +8 -0
- package/dist/components-files-uploader-files-uploader.cjs.map +1 -0
- package/dist/components-files-uploader.cjs +2 -0
- package/dist/components-files-uploader.cjs.map +1 -0
- package/dist/components-input-field-input-field.cjs +2 -0
- package/dist/components-input-field-input-field.cjs.map +1 -0
- package/dist/components-input-field.cjs +2 -0
- package/dist/components-input-field.cjs.map +1 -0
- package/dist/components-input-password-input-password.cjs +2 -0
- package/dist/components-input-password-input-password.cjs.map +1 -0
- package/dist/components-input-password.cjs +2 -0
- package/dist/components-input-password.cjs.map +1 -0
- package/dist/components-popover-modal-popover-modal.cjs +2 -0
- package/dist/components-popover-modal-popover-modal.cjs.map +1 -0
- package/dist/components-popover-modal.cjs +2 -0
- package/dist/components-popover-modal.cjs.map +1 -0
- package/dist/components-radio-button-radio-button.cjs +2 -0
- package/dist/components-radio-button-radio-button.cjs.map +1 -0
- package/dist/components-radio-button.cjs +2 -0
- package/dist/components-radio-button.cjs.map +1 -0
- package/dist/components-select-field-select-field.cjs +3 -0
- package/dist/components-select-field-select-field.cjs.map +1 -0
- package/dist/components-select-field.cjs +2 -0
- package/dist/components-select-field.cjs.map +1 -0
- package/dist/components-select-groups-select-groups.cjs +2 -0
- package/dist/components-select-groups-select-groups.cjs.map +1 -0
- package/dist/components-select-groups.cjs +2 -0
- package/dist/components-select-groups.cjs.map +1 -0
- package/dist/components-textarea-field-textarea-field.cjs +2 -0
- package/dist/components-textarea-field-textarea-field.cjs.map +1 -0
- package/dist/components-textarea-field.cjs +2 -0
- package/dist/components-textarea-field.cjs.map +1 -0
- package/dist/components-ui-avatar-avatar.cjs +15 -0
- package/dist/components-ui-avatar-avatar.cjs.map +1 -0
- package/dist/components-ui-avatar.cjs +2 -0
- package/dist/components-ui-avatar.cjs.map +1 -0
- package/dist/components-ui-badge-badge.cjs +2 -0
- package/dist/components-ui-badge-badge.cjs.map +1 -0
- package/dist/components-ui-badge-badge.styles.cjs +3 -0
- package/dist/components-ui-badge-badge.styles.cjs.map +1 -0
- package/dist/components-ui-badge.cjs +2 -0
- package/dist/components-ui-badge.cjs.map +1 -0
- package/dist/components-ui-button-button.cjs +2 -0
- package/dist/components-ui-button-button.cjs.map +1 -0
- package/dist/components-ui-button-button.styles.cjs +9 -0
- package/dist/components-ui-button-button.styles.cjs.map +1 -0
- package/dist/components-ui-button.cjs +2 -0
- package/dist/components-ui-button.cjs.map +1 -0
- package/dist/components-ui-card-card.cjs +2 -0
- package/dist/components-ui-card-card.cjs.map +1 -0
- package/dist/components-ui-card-card.styles.cjs +8 -0
- package/dist/components-ui-card-card.styles.cjs.map +1 -0
- package/dist/components-ui-card.cjs +2 -0
- package/dist/components-ui-card.cjs.map +1 -0
- package/dist/components-ui-chart-chart.cjs +22 -0
- package/dist/components-ui-chart-chart.cjs.map +1 -0
- package/dist/components-ui-chart.cjs +2 -0
- package/dist/components-ui-chart.cjs.map +1 -0
- package/dist/components-ui-checkbox-checkbox.cjs +2 -0
- package/dist/components-ui-checkbox-checkbox.cjs.map +1 -0
- package/dist/components-ui-checkbox-checkbox.styles.cjs +2 -0
- package/dist/components-ui-checkbox-checkbox.styles.cjs.map +1 -0
- package/dist/components-ui-checkbox.cjs +2 -0
- package/dist/components-ui-checkbox.cjs.map +1 -0
- package/dist/components-ui-combobox-combobox.cjs +16 -0
- package/dist/components-ui-combobox-combobox.cjs.map +1 -0
- package/dist/components-ui-combobox-combobox.styles.cjs +36 -0
- package/dist/components-ui-combobox-combobox.styles.cjs.map +1 -0
- package/dist/components-ui-combobox.cjs +2 -0
- package/dist/components-ui-combobox.cjs.map +1 -0
- package/dist/components-ui-dialog-dialog.cjs +2 -0
- package/dist/components-ui-dialog-dialog.cjs.map +1 -0
- package/dist/components-ui-dialog-dialog.styles.cjs +2 -0
- package/dist/components-ui-dialog-dialog.styles.cjs.map +1 -0
- package/dist/components-ui-dialog.cjs +2 -0
- package/dist/components-ui-dialog.cjs.map +1 -0
- package/dist/components-ui-drawer-drawer.cjs +30 -0
- package/dist/components-ui-drawer-drawer.cjs.map +1 -0
- package/dist/components-ui-drawer.cjs +2 -0
- package/dist/components-ui-drawer.cjs.map +1 -0
- package/dist/components-ui-field-field.cjs +2 -0
- package/dist/components-ui-field-field.cjs.map +1 -0
- package/dist/components-ui-field-field.styles.cjs +9 -0
- package/dist/components-ui-field-field.styles.cjs.map +1 -0
- package/dist/components-ui-field.cjs +2 -0
- package/dist/components-ui-field.cjs.map +1 -0
- package/dist/components-ui-icon-icon-dictionary.cjs +2 -0
- package/dist/components-ui-icon-icon-dictionary.cjs.map +1 -0
- package/dist/components-ui-icon-icon.cjs +2 -0
- package/dist/components-ui-icon-icon.cjs.map +1 -0
- package/dist/components-ui-icon-overrides.cjs +2 -0
- package/dist/components-ui-icon-overrides.cjs.map +1 -0
- package/dist/components-ui-icon.cjs +2 -0
- package/dist/components-ui-icon.cjs.map +1 -0
- package/dist/components-ui-input-group-input-group.cjs +14 -0
- package/dist/components-ui-input-group-input-group.cjs.map +1 -0
- package/dist/components-ui-input-group-input-group.styles.cjs +8 -0
- package/dist/components-ui-input-group-input-group.styles.cjs.map +1 -0
- package/dist/components-ui-input-group.cjs +2 -0
- package/dist/components-ui-input-group.cjs.map +1 -0
- package/dist/components-ui-input-input.cjs +2 -0
- package/dist/components-ui-input-input.cjs.map +1 -0
- package/dist/components-ui-input-input.styles.cjs +8 -0
- package/dist/components-ui-input-input.styles.cjs.map +1 -0
- package/dist/components-ui-input.cjs +2 -0
- package/dist/components-ui-input.cjs.map +1 -0
- package/dist/components-ui-label-label.cjs +2 -0
- package/dist/components-ui-label-label.cjs.map +1 -0
- package/dist/components-ui-label.cjs +2 -0
- package/dist/components-ui-label.cjs.map +1 -0
- package/dist/components-ui-navigation-item-navigation-item.cjs +2 -0
- package/dist/components-ui-navigation-item-navigation-item.cjs.map +1 -0
- package/dist/components-ui-navigation-item-navigation-item.styles.cjs +3 -0
- package/dist/components-ui-navigation-item-navigation-item.styles.cjs.map +1 -0
- package/dist/components-ui-navigation-item.cjs +2 -0
- package/dist/components-ui-navigation-item.cjs.map +1 -0
- package/dist/components-ui-navigation-menu-navigation-menu.cjs +2 -0
- package/dist/components-ui-navigation-menu-navigation-menu.cjs.map +1 -0
- package/dist/components-ui-navigation-menu-navigation-menu.styles.cjs +2 -0
- package/dist/components-ui-navigation-menu-navigation-menu.styles.cjs.map +1 -0
- package/dist/components-ui-navigation-menu.cjs +2 -0
- package/dist/components-ui-navigation-menu.cjs.map +1 -0
- package/dist/components-ui-pagination-pagination.cjs +2 -0
- package/dist/components-ui-pagination-pagination.cjs.map +1 -0
- package/dist/components-ui-pagination.cjs +2 -0
- package/dist/components-ui-pagination.cjs.map +1 -0
- package/dist/components-ui-popover-popover.cjs +2 -0
- package/dist/components-ui-popover-popover.cjs.map +1 -0
- package/dist/components-ui-popover-popover.styles.cjs +7 -0
- package/dist/components-ui-popover-popover.styles.cjs.map +1 -0
- package/dist/components-ui-popover.cjs +2 -0
- package/dist/components-ui-popover.cjs.map +1 -0
- package/dist/components-ui-progress-progress.cjs +2 -0
- package/dist/components-ui-progress-progress.cjs.map +1 -0
- package/dist/components-ui-progress.cjs +2 -0
- package/dist/components-ui-progress.cjs.map +1 -0
- package/dist/components-ui-radio-group-radio-group.cjs +2 -0
- package/dist/components-ui-radio-group-radio-group.cjs.map +1 -0
- package/dist/components-ui-radio-group-radio-group.styles.cjs +2 -0
- package/dist/components-ui-radio-group-radio-group.styles.cjs.map +1 -0
- package/dist/components-ui-radio-group.cjs +2 -0
- package/dist/components-ui-radio-group.cjs.map +1 -0
- package/dist/components-ui-select-select.cjs +2 -0
- package/dist/components-ui-select-select.cjs.map +1 -0
- package/dist/components-ui-select-select.styles.cjs +31 -0
- package/dist/components-ui-select-select.styles.cjs.map +1 -0
- package/dist/components-ui-select.cjs +2 -0
- package/dist/components-ui-select.cjs.map +1 -0
- package/dist/components-ui-separator-separator.cjs +2 -0
- package/dist/components-ui-separator-separator.cjs.map +1 -0
- package/dist/components-ui-separator.cjs +2 -0
- package/dist/components-ui-separator.cjs.map +1 -0
- package/dist/components-ui-sonner-sonner.cjs +2 -0
- package/dist/components-ui-sonner-sonner.cjs.map +1 -0
- package/dist/components-ui-sonner-sonner.styles.cjs +36 -0
- package/dist/components-ui-sonner-sonner.styles.cjs.map +1 -0
- package/dist/components-ui-sonner.cjs +2 -0
- package/dist/components-ui-sonner.cjs.map +1 -0
- package/dist/components-ui-switch-switch.cjs +2 -0
- package/dist/components-ui-switch-switch.cjs.map +1 -0
- package/dist/components-ui-switch-switch.styles.cjs +2 -0
- package/dist/components-ui-switch-switch.styles.cjs.map +1 -0
- package/dist/components-ui-switch.cjs +2 -0
- package/dist/components-ui-switch.cjs.map +1 -0
- package/dist/components-ui-table-table.cjs +5 -0
- package/dist/components-ui-table-table.cjs.map +1 -0
- package/dist/components-ui-table.cjs +2 -0
- package/dist/components-ui-table.cjs.map +1 -0
- package/dist/components-ui-tabs-tabs.cjs +3 -0
- package/dist/components-ui-tabs-tabs.cjs.map +1 -0
- package/dist/components-ui-tabs-tabs.styles.cjs +2 -0
- package/dist/components-ui-tabs-tabs.styles.cjs.map +1 -0
- package/dist/components-ui-tabs.cjs +2 -0
- package/dist/components-ui-tabs.cjs.map +1 -0
- package/dist/components-ui-textarea-textarea.cjs +2 -0
- package/dist/components-ui-textarea-textarea.cjs.map +1 -0
- package/dist/components-ui-textarea-textarea.styles.cjs +5 -0
- package/dist/components-ui-textarea-textarea.styles.cjs.map +1 -0
- package/dist/components-ui-textarea.cjs +2 -0
- package/dist/components-ui-textarea.cjs.map +1 -0
- package/dist/components-ui-tooltip-tooltip.cjs +2 -0
- package/dist/components-ui-tooltip-tooltip.cjs.map +1 -0
- package/dist/components-ui-tooltip-tooltip.styles.cjs +8 -0
- package/dist/components-ui-tooltip-tooltip.styles.cjs.map +1 -0
- package/dist/components-ui-tooltip.cjs +2 -0
- package/dist/components-ui-tooltip.cjs.map +1 -0
- package/dist/components-ui-typography-typography.cjs +2 -0
- package/dist/components-ui-typography-typography.cjs.map +1 -0
- package/dist/components-ui-typography-typography.styles.cjs +2 -0
- package/dist/components-ui-typography-typography.styles.cjs.map +1 -0
- package/dist/components-ui-typography.cjs +2 -0
- package/dist/components-ui-typography.cjs.map +1 -0
- package/dist/hooks-usePopupControls.cjs +2 -0
- package/dist/hooks-usePopupControls.cjs.map +1 -0
- package/dist/index.cjs +1 -371
- package/dist/index.cjs.map +1 -1
- package/dist/lib-utils.cjs +2 -0
- package/dist/lib-utils.cjs.map +1 -0
- package/dist/types-types.cjs +2 -0
- package/dist/types-types.cjs.map +1 -0
- package/dist/utils-helpers.cjs +2 -0
- package/dist/utils-helpers.cjs.map +1 -0
- package/package.json +639 -12
- package/prettier.config.mjs +28 -0
- package/public/vite.svg +1 -0
- package/scripts/generate-exports.js +76 -0
- package/scripts/get-entry-points.ts +102 -0
- package/tsconfig.app.json +40 -0
- package/tsconfig.node.json +26 -0
- package/tsconfig.storybook.json +7 -0
- package/dist/components/app-pagination/app-pagination.stories.d.ts +0 -52
- package/dist/components/app-sidebar/app-sidebar.stories.d.ts +0 -52
- package/dist/components/avatar-uploader/avatar-uploader.stories.d.ts +0 -7
- package/dist/components/basic-avatar/basic-avatar.stories.d.ts +0 -15
- package/dist/components/basic-chart/basic-chart.stories.d.ts +0 -23
- package/dist/components/basic-checkbox/basic-checkbox.stories.d.ts +0 -37
- package/dist/components/basic-drawer/basic-drawer.stories.d.ts +0 -7
- package/dist/components/basic-modal/basic-modal.stories.d.ts +0 -57
- package/dist/components/basic-select/basic-select.stories.d.ts +0 -10
- package/dist/components/basic-table/basic-table.stories.d.ts +0 -9
- package/dist/components/files-uploader/files-uploader.stories.d.ts +0 -70
- package/dist/components/input-field/input-field.stories.d.ts +0 -48
- package/dist/components/input-password/input-password.stories.d.ts +0 -57
- package/dist/components/popover-modal/popover-modal.stories.d.ts +0 -32
- package/dist/components/radio-button/radio-button.stories.d.ts +0 -28
- package/dist/components/select-field/select-field.stories.d.ts +0 -39
- package/dist/components/select-groups/select-groups.stories.d.ts +0 -50
- package/dist/components/textarea-field/textarea-field.stories.d.ts +0 -43
- package/dist/components/ui/badge/badge.stories.d.ts +0 -29
- package/dist/components/ui/button/button.stories.d.ts +0 -30
- package/dist/components/ui/card/card.stories.d.ts +0 -38
- package/dist/components/ui/checkbox/checkbox.stories.d.ts +0 -29
- package/dist/components/ui/combobox/combobox.stories.d.ts +0 -10
- package/dist/components/ui/dialog/dialog.stories.d.ts +0 -46
- package/dist/components/ui/field/field.stories.d.ts +0 -45
- package/dist/components/ui/icon/icon.stories.d.ts +0 -28
- package/dist/components/ui/input/input.stories.d.ts +0 -40
- package/dist/components/ui/input-group/input-group.stories.d.ts +0 -46
- package/dist/components/ui/label/label.stories.d.ts +0 -26
- package/dist/components/ui/navigation-item/navigation-item.stories.d.ts +0 -57
- package/dist/components/ui/navigation-menu/navigation-menu.stories.d.ts +0 -34
- package/dist/components/ui/pagination/pagination.stories.d.ts +0 -37
- package/dist/components/ui/popover/popover.stories.d.ts +0 -9
- package/dist/components/ui/progress/progress.stories.d.ts +0 -34
- package/dist/components/ui/radio-group/radio-group.stories.d.ts +0 -27
- package/dist/components/ui/select/select.stories.d.ts +0 -38
- package/dist/components/ui/separator/separator.stories.d.ts +0 -27
- package/dist/components/ui/sonner/sonner.stories.d.ts +0 -9
- package/dist/components/ui/switch/switch.stories.d.ts +0 -23
- package/dist/components/ui/table/table.stories.d.ts +0 -68
- package/dist/components/ui/tabs/tabs.stories.d.ts +0 -32
- package/dist/components/ui/textarea/textarea.stories.d.ts +0 -30
- package/dist/components/ui/tooltip/tooltip.stories.d.ts +0 -42
- package/dist/components/ui/typography/typography.stories.d.ts +0 -304
- package/dist/index.js +0 -47271
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
STAGED_FILES="$(git diff --cached --name-only --diff-filter=ACMR)"
|
|
5
|
+
|
|
6
|
+
if [ -z "$STAGED_FILES" ]; then
|
|
7
|
+
exit 0
|
|
8
|
+
fi
|
|
9
|
+
|
|
10
|
+
echo "pre-commit: running npm run fix..."
|
|
11
|
+
npm run fix
|
|
12
|
+
|
|
13
|
+
echo "$STAGED_FILES" | while IFS= read -r file; do
|
|
14
|
+
if [ -n "$file" ] && [ -e "$file" ]; then
|
|
15
|
+
git add -- "$file"
|
|
16
|
+
fi
|
|
17
|
+
done
|
|
18
|
+
|
|
19
|
+
exit 0
|
package/.prettierignore
ADDED
package/components.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema.json",
|
|
3
|
+
"style": "radix-nova",
|
|
4
|
+
"rsc": false,
|
|
5
|
+
"tsx": true,
|
|
6
|
+
"tailwind": {
|
|
7
|
+
"config": "",
|
|
8
|
+
"css": "src/index.css",
|
|
9
|
+
"baseColor": "neutral",
|
|
10
|
+
"cssVariables": true,
|
|
11
|
+
"prefix": ""
|
|
12
|
+
},
|
|
13
|
+
"iconLibrary": "lucide",
|
|
14
|
+
"rtl": false,
|
|
15
|
+
"aliases": {
|
|
16
|
+
"components": "@/components",
|
|
17
|
+
"utils": "@/lib/utils",
|
|
18
|
+
"ui": "@/components/ui",
|
|
19
|
+
"lib": "@/lib",
|
|
20
|
+
"hooks": "@/hooks"
|
|
21
|
+
},
|
|
22
|
+
"menuColor": "default",
|
|
23
|
+
"menuAccent": "subtle",
|
|
24
|
+
"registries": {}
|
|
25
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),v=require("./utils-helpers.cjs"),C=require("./lib-utils.cjs"),h=require("lucide-react"),u=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const a=require("./components-ui-pagination-pagination.cjs"),l=require("./components-app-pagination-app-pagination.styles.cjs"),I=5,N=5,f=({currentPage:t,totalPages:o,maxVisiblePages:m=I,className:x,showNavigation:d=!0,prevLabel:_,nextLabel:j,size:e="default",ellipsisStep:s=N,onPageChange:b})=>{if(o<=1)return null;const P=v.getPageNumbers(m,t,o),r=n=>{n>=1&&n<=o&&b(n)},p=n=>{if(n==="ellipsis-start"){const c=Math.max(1,t-s);r(c)}else{const c=Math.min(o,t+s);r(c)}};return i.jsx(a.Pagination,{className:"w-fit",children:i.jsxs(a.PaginationContent,{className:C.cn(l.appPaginationContentVariants({size:e}),x),children:[d&&i.jsx(a.PaginationItem,{children:i.jsx(u.Button,{variant:"ghost",disabled:t===1,onClick:()=>r(t-1),className:l.appPaginationNavigationButtonVariants({size:e,side:"prev"}),"aria-label":"Предыдущая страница",children:_||i.jsx(h.ChevronLeftIcon,{})})}),P.map(n=>n==="ellipsis-start"||n==="ellipsis-end"?i.jsx(a.PaginationItem,{children:i.jsx(u.Button,{variant:"ghost",onClick:()=>p(n),className:l.appPaginationPageVariants({size:e}),"aria-label":n==="ellipsis-start"?`Перейти на ${s} страниц назад`:`Перейти на ${s} страниц вперед`,title:n==="ellipsis-start"?`Нажать чтобы перейти на ${s} страниц назад`:`Нажать чтобы перейти на ${s} страниц вперед`,children:"..."})},n):i.jsx(a.PaginationItem,{children:i.jsx(a.PaginationLink,{isActive:t===n,onClick:()=>r(n),className:l.appPaginationPageVariants({size:e,active:t===n}),"aria-label":`Страница ${n}`,"aria-current":t===n?"page":void 0,children:n})},n)),d&&i.jsx(a.PaginationItem,{children:i.jsx(u.Button,{variant:"ghost",disabled:t===o,onClick:()=>r(t+1),className:l.appPaginationNavigationButtonVariants({size:e,side:"next"}),"aria-label":"Следующая страница",children:j||i.jsx(h.ChevronRightIcon,{})})})]})})};exports.AppPagination=f;
|
|
2
|
+
//# sourceMappingURL=components-app-pagination-app-pagination.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-pagination-app-pagination.cjs","sources":["../src/components/app-pagination/app-pagination.tsx"],"sourcesContent":["import { getPageNumbers } from \"@/utils/helpers\";\n// TODO: заменить иконки на иконки из Icon\nimport { cn } from \"@/lib/utils\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport { Button } from \"../ui/button\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n} from \"../ui/pagination\";\nimport {\n appPaginationContentVariants,\n appPaginationNavigationButtonVariants,\n appPaginationPageVariants,\n type AppPaginationSize,\n} from \"./app-pagination.styles\";\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n maxVisiblePages?: number;\n className?: string;\n showNavigation?: boolean;\n prevLabel?: string;\n nextLabel?: string;\n size?: AppPaginationSize;\n ellipsisStep?: number;\n onPageChange: (page: number) => void;\n};\n\nconst DEFAULT_VISIBLE_PAGES = 5;\nconst DEFAULT_ELLIPSIS_STEP = 5;\n\nexport const AppPagination = ({\n currentPage,\n totalPages,\n maxVisiblePages = DEFAULT_VISIBLE_PAGES,\n className,\n showNavigation = true,\n prevLabel,\n nextLabel,\n size = \"default\",\n ellipsisStep = DEFAULT_ELLIPSIS_STEP,\n onPageChange,\n}: Props) => {\n if (totalPages <= 1) return null;\n\n const pageNumbers = getPageNumbers(maxVisiblePages, currentPage, totalPages);\n\n const handlePageChange = (page: number) => {\n if (page >= 1 && page <= totalPages) {\n onPageChange(page);\n }\n };\n\n const handleEllipsisClick = (type: \"ellipsis-start\" | \"ellipsis-end\") => {\n if (type === \"ellipsis-start\") {\n const newPage = Math.max(1, currentPage - ellipsisStep);\n handlePageChange(newPage);\n } else {\n const newPage = Math.min(totalPages, currentPage + ellipsisStep);\n handlePageChange(newPage);\n }\n };\n\n return (\n <Pagination className=\"w-fit\">\n <PaginationContent\n className={cn(appPaginationContentVariants({ size }), className)}\n >\n {showNavigation && (\n <PaginationItem>\n <Button\n variant=\"ghost\"\n disabled={currentPage === 1}\n onClick={() => handlePageChange(currentPage - 1)}\n className={appPaginationNavigationButtonVariants({\n size,\n side: \"prev\",\n })}\n aria-label=\"Предыдущая страница\"\n >\n {prevLabel || <ChevronLeftIcon />}\n </Button>\n </PaginationItem>\n )}\n\n {pageNumbers.map((page) => {\n if (page === \"ellipsis-start\" || page === \"ellipsis-end\") {\n return (\n <PaginationItem key={page}>\n <Button\n variant=\"ghost\"\n onClick={() => handleEllipsisClick(page)}\n className={appPaginationPageVariants({ size })}\n aria-label={\n page === \"ellipsis-start\"\n ? `Перейти на ${ellipsisStep} страниц назад`\n : `Перейти на ${ellipsisStep} страниц вперед`\n }\n title={\n page === \"ellipsis-start\"\n ? `Нажать чтобы перейти на ${ellipsisStep} страниц назад`\n : `Нажать чтобы перейти на ${ellipsisStep} страниц вперед`\n }\n >\n ...\n </Button>\n </PaginationItem>\n );\n }\n\n return (\n <PaginationItem key={page}>\n <PaginationLink\n isActive={currentPage === page}\n onClick={() => handlePageChange(page)}\n className={appPaginationPageVariants({\n size,\n active: currentPage === page,\n })}\n aria-label={`Страница ${page}`}\n aria-current={currentPage === page ? \"page\" : undefined}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {showNavigation && (\n <PaginationItem>\n <Button\n variant=\"ghost\"\n disabled={currentPage === totalPages}\n onClick={() => handlePageChange(currentPage + 1)}\n className={appPaginationNavigationButtonVariants({\n size,\n side: \"next\",\n })}\n aria-label=\"Следующая страница\"\n >\n {nextLabel || <ChevronRightIcon />}\n </Button>\n </PaginationItem>\n )}\n </PaginationContent>\n </Pagination>\n );\n};\n"],"names":["DEFAULT_VISIBLE_PAGES","DEFAULT_ELLIPSIS_STEP","AppPagination","currentPage","totalPages","maxVisiblePages","className","showNavigation","prevLabel","nextLabel","size","ellipsisStep","onPageChange","pageNumbers","getPageNumbers","handlePageChange","page","handleEllipsisClick","type","newPage","jsx","Pagination","jsxs","PaginationContent","cn","appPaginationContentVariants","PaginationItem","Button","appPaginationNavigationButtonVariants","ChevronLeftIcon","appPaginationPageVariants","PaginationLink","ChevronRightIcon"],"mappings":"gbA+BMA,EAAwB,EACxBC,EAAwB,EAEjBC,EAAgB,CAAC,CAC5B,YAAAC,EACA,WAAAC,EACA,gBAAAC,EAAkBL,EAClB,UAAAM,EACA,eAAAC,EAAiB,GACjB,UAAAC,EACA,UAAAC,EACA,KAAAC,EAAO,UACP,aAAAC,EAAeV,EACf,aAAAW,CACF,IAAa,CACX,GAAIR,GAAc,EAAG,OAAO,KAE5B,MAAMS,EAAcC,EAAAA,eAAeT,EAAiBF,EAAaC,CAAU,EAErEW,EAAoBC,GAAiB,CACrCA,GAAQ,GAAKA,GAAQZ,GACvBQ,EAAaI,CAAI,CAErB,EAEMC,EAAuBC,GAA4C,CACvE,GAAIA,IAAS,iBAAkB,CAC7B,MAAMC,EAAU,KAAK,IAAI,EAAGhB,EAAcQ,CAAY,EACtDI,EAAiBI,CAAO,CAC1B,KAAO,CACL,MAAMA,EAAU,KAAK,IAAIf,EAAYD,EAAcQ,CAAY,EAC/DI,EAAiBI,CAAO,CAC1B,CACF,EAEA,OACEC,EAAAA,IAACC,EAAAA,WAAA,CAAW,UAAU,QACpB,SAAAC,EAAAA,KAACC,EAAAA,kBAAA,CACC,UAAWC,EAAAA,GAAGC,EAAAA,6BAA6B,CAAE,KAAAf,CAAA,CAAM,EAAGJ,CAAS,EAE9D,SAAA,CAAAC,SACEmB,iBAAA,CACC,SAAAN,EAAAA,IAACO,EAAAA,OAAA,CACC,QAAQ,QACR,SAAUxB,IAAgB,EAC1B,QAAS,IAAMY,EAAiBZ,EAAc,CAAC,EAC/C,UAAWyB,EAAAA,sCAAsC,CAC/C,KAAAlB,EACA,KAAM,MAAA,CACP,EACD,aAAW,sBAEV,SAAAF,SAAcqB,EAAAA,gBAAA,CAAA,CAAgB,CAAA,CAAA,EAEnC,EAGDhB,EAAY,IAAKG,GACZA,IAAS,kBAAoBA,IAAS,qBAErCU,EAAAA,eAAA,CACC,SAAAN,EAAAA,IAACO,EAAAA,OAAA,CACC,QAAQ,QACR,QAAS,IAAMV,EAAoBD,CAAI,EACvC,UAAWc,EAAAA,0BAA0B,CAAE,KAAApB,EAAM,EAC7C,aACEM,IAAS,iBACL,cAAcL,CAAY,iBAC1B,cAAcA,CAAY,kBAEhC,MACEK,IAAS,iBACL,2BAA2BL,CAAY,iBACvC,2BAA2BA,CAAY,kBAE9C,SAAA,KAAA,CAAA,GAfkBK,CAkBrB,QAKDU,EAAAA,eAAA,CACC,SAAAN,EAAAA,IAACW,EAAAA,eAAA,CACC,SAAU5B,IAAgBa,EAC1B,QAAS,IAAMD,EAAiBC,CAAI,EACpC,UAAWc,EAAAA,0BAA0B,CACnC,KAAApB,EACA,OAAQP,IAAgBa,CAAA,CACzB,EACD,aAAY,YAAYA,CAAI,GAC5B,eAAcb,IAAgBa,EAAO,OAAS,OAE7C,SAAAA,CAAA,CAAA,GAXgBA,CAarB,CAEH,EAEAT,SACEmB,iBAAA,CACC,SAAAN,EAAAA,IAACO,EAAAA,OAAA,CACC,QAAQ,QACR,SAAUxB,IAAgBC,EAC1B,QAAS,IAAMW,EAAiBZ,EAAc,CAAC,EAC/C,UAAWyB,EAAAA,sCAAsC,CAC/C,KAAAlB,EACA,KAAM,MAAA,CACP,EACD,aAAW,qBAEV,SAAAD,SAAcuB,EAAAA,iBAAA,CAAA,CAAiB,CAAA,CAAA,CAClC,CACF,CAAA,CAAA,CAAA,EAGN,CAEJ"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("class-variance-authority");require("react");require("./lib-utils.cjs");const e=require("./components-ui-typography-typography.styles.cjs"),t=["default","sm","lg"],i=a.cva("flex items-center",{variants:{size:{sm:"gap-1",default:"gap-1",lg:"gap-2"}},defaultVariants:{size:"default"}}),s=a.cva(["bg-tertiary-bg text-primary-text cursor-pointer rounded-sm p-0","hover:bg-primary-hover-bg"].join(" "),{variants:{size:{sm:"size-7 [&_svg]:size-3",default:"size-8 [&_svg]:size-3.5",lg:"size-9 [&_svg]:size-4"},side:{prev:"mr-3",next:"ml-3"}},defaultVariants:{size:"default"}}),r=a.cva(["text-primary-text cursor-pointer rounded-xl bg-transparent","hover:bg-tertiary-bg",e.getTypographyClassName("body-xs-medium")].join(" "),{variants:{size:{sm:"h-7 min-w-7 px-2",default:"h-8 min-w-8 px-3",lg:"h-9 min-w-9 px-3.5"},active:{true:`bg-primary-inverse-bg text-primary-inverse-text
|
|
2
|
+
hover:bg-primary-inverse-bg`,false:""}},compoundVariants:[{size:"sm",active:!0,className:"size-7 px-0"},{size:"default",active:!0,className:"size-8 px-0"},{size:"lg",active:!0,className:"size-9 px-0"}],defaultVariants:{size:"default",active:!1}});exports.appPaginationContentVariants=i;exports.appPaginationNavigationButtonVariants=s;exports.appPaginationPageVariants=r;exports.appPaginationSizeOptions=t;
|
|
3
|
+
//# sourceMappingURL=components-app-pagination-app-pagination.styles.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-pagination-app-pagination.styles.cjs","sources":["../src/components/app-pagination/app-pagination.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\nexport const appPaginationSizeOptions = [\"default\", \"sm\", \"lg\"] as const;\n\nexport type AppPaginationSize = (typeof appPaginationSizeOptions)[number];\n\nexport const appPaginationContentVariants = cva(\"flex items-center\", {\n variants: {\n size: {\n sm: \"gap-1\",\n default: \"gap-1\",\n lg: \"gap-2\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nexport const appPaginationNavigationButtonVariants = cva(\n [\n \"bg-tertiary-bg text-primary-text cursor-pointer rounded-sm p-0\",\n \"hover:bg-primary-hover-bg\",\n ].join(\" \"),\n {\n variants: {\n size: {\n sm: \"size-7 [&_svg]:size-3\",\n default: \"size-8 [&_svg]:size-3.5\",\n lg: \"size-9 [&_svg]:size-4\",\n },\n side: {\n prev: \"mr-3\",\n next: \"ml-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\nexport const appPaginationPageVariants = cva(\n [\n \"text-primary-text cursor-pointer rounded-xl bg-transparent\",\n \"hover:bg-tertiary-bg\",\n getTypographyClassName(\"body-xs-medium\"),\n ].join(\" \"),\n {\n variants: {\n size: {\n sm: \"h-7 min-w-7 px-2\",\n default: \"h-8 min-w-8 px-3\",\n lg: \"h-9 min-w-9 px-3.5\",\n },\n active: {\n true: `bg-primary-inverse-bg text-primary-inverse-text\n hover:bg-primary-inverse-bg`,\n false: \"\",\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n active: true,\n className: \"size-7 px-0\",\n },\n {\n size: \"default\",\n active: true,\n className: \"size-8 px-0\",\n },\n {\n size: \"lg\",\n active: true,\n className: \"size-9 px-0\",\n },\n ],\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n },\n);\n"],"names":["appPaginationSizeOptions","appPaginationContentVariants","cva","appPaginationNavigationButtonVariants","appPaginationPageVariants","getTypographyClassName"],"mappings":"4OAGaA,EAA2B,CAAC,UAAW,KAAM,IAAI,EAIjDC,EAA+BC,EAAAA,IAAI,oBAAqB,CACnE,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,QAAS,QACT,GAAI,OAAA,CACN,EAEF,gBAAiB,CACf,KAAM,SAAA,CAEV,CAAC,EAEYC,EAAwCD,EAAAA,IACnD,CACE,iEACA,2BAAA,EACA,KAAK,GAAG,EACV,CACE,SAAU,CACR,KAAM,CACJ,GAAI,wBACJ,QAAS,0BACT,GAAI,uBAAA,EAEN,KAAM,CACJ,KAAM,OACN,KAAM,MAAA,CACR,EAEF,gBAAiB,CACf,KAAM,SAAA,CACR,CAEJ,EAEaE,EAA4BF,EAAAA,IACvC,CACE,6DACA,uBACAG,EAAAA,uBAAuB,gBAAgB,CAAA,EACvC,KAAK,GAAG,EACV,CACE,SAAU,CACR,KAAM,CACJ,GAAI,mBACJ,QAAS,mBACT,GAAI,oBAAA,EAEN,OAAQ,CACN,KAAM;AAAA,qCAEN,MAAO,EAAA,CACT,EAEF,iBAAkB,CAChB,CACE,KAAM,KACN,OAAQ,GACR,UAAW,aAAA,EAEb,CACE,KAAM,UACN,OAAQ,GACR,UAAW,aAAA,EAEb,CACE,KAAM,KACN,OAAQ,GACR,UAAW,aAAA,CACb,EAEF,gBAAiB,CACf,KAAM,UACN,OAAQ,EAAA,CACV,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-pagination.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),t=require("./lib-utils.cjs"),x=require("./components-ui-icon-icon.cjs"),y=require("./components-ui-navigation-item-navigation-item.cjs"),q=require("./components-ui-navigation-menu-navigation-menu.cjs"),r=require("./components-app-sidebar-app-sidebar.styles.cjs"),M=({groups:l,title:m="CRM",brandMark:h,state:i="expanded",activeItemId:c,showToggle:v=!0,onStateChange:d,onItemSelect:j,className:g,...N})=>{const n=i==="collapsed",_=l.filter(s=>s.placement!=="bottom"),p=l.filter(s=>s.placement==="bottom"),f=n?"expanded":"collapsed",S=()=>{d?.(f)},b=s=>s.map(o=>a.jsx(q.NavigationMenu,{title:o.title,collapsed:n,className:t.cn(o.divider&&"border-delicate-border border-b"),children:o.items.map(e=>{const u=c?c===e.id:!!e.active;return a.jsx(y.NavigationItem,{icon:a.jsx(x.Icon,{type:e.icon}),label:e.label,badge:e.badge,active:u,collapsed:n,disabled:e.disabled,href:e.href,target:e.target,rel:e.rel,onAction:()=>{j?.(e),e.onClick?.(e)},"aria-current":u?"page":void 0},e.id)})},o.id));return a.jsxs("aside",{className:t.cn(r.appSidebarRootVariants({state:i}),g),"aria-label":"Боковая навигация",...N,children:[a.jsxs("header",{className:r.appSidebarHeaderVariants({state:i}),children:[a.jsxs("div",{className:r.appSidebarBrandVariants({state:i}),children:[h,a.jsx("p",{className:r.appSidebarBrandTitleClassName,children:m})]}),v&&a.jsx("button",{type:"button",className:r.appSidebarToggleButtonVariants(),onClick:S,"aria-label":n?"Развернуть боковую навигацию":"Свернуть боковую навигацию",disabled:!d,children:a.jsx(x.Icon,{type:"chevrons",strokeWidth:1.5,className:t.cn("transition-transform duration-200",n?"-rotate-90":"rotate-90")})})]}),a.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[a.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:b(_)}),p.length>0&&a.jsx("div",{className:"mt-auto",children:b(p)})]})]})};exports.AppSidebar=M;
|
|
2
|
+
//# sourceMappingURL=components-app-sidebar-app-sidebar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-sidebar-app-sidebar.cjs","sources":["../src/components/app-sidebar/app-sidebar.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { IconTypes } from \"@/types/types\";\nimport { Icon } from \"../ui/icon\";\nimport { NavigationItem } from \"../ui/navigation-item\";\nimport { NavigationMenu } from \"../ui/navigation-menu\";\nimport {\n appSidebarBrandTitleClassName,\n appSidebarBrandVariants,\n appSidebarHeaderVariants,\n appSidebarRootVariants,\n appSidebarToggleButtonVariants,\n type AppSidebarState,\n} from \"./app-sidebar.styles\";\n\nexport type AppSidebarItem = {\n id: string;\n label: string;\n icon: IconTypes;\n disabled?: boolean;\n active?: boolean;\n badge?: React.ReactNode;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n rel?: string;\n onClick?: (item: AppSidebarItem) => void;\n};\n\nexport type AppSidebarGroup = {\n id: string;\n title?: string;\n divider?: boolean;\n placement?: \"top\" | \"bottom\";\n items: AppSidebarItem[];\n};\n\ntype Props = React.HTMLAttributes<HTMLElement> & {\n groups: AppSidebarGroup[];\n title?: string;\n brandMark?: React.ReactNode;\n state?: AppSidebarState;\n activeItemId?: string;\n showToggle?: boolean;\n onStateChange?: (nextState: AppSidebarState) => void;\n onItemSelect?: (item: AppSidebarItem) => void;\n};\n\nconst AppSidebar = ({\n groups,\n title = \"CRM\",\n brandMark,\n state = \"expanded\",\n activeItemId,\n showToggle = true,\n onStateChange,\n onItemSelect,\n className,\n ...props\n}: Props) => {\n const isCollapsed = state === \"collapsed\";\n const topGroups = groups.filter((group) => group.placement !== \"bottom\");\n const bottomGroups = groups.filter((group) => group.placement === \"bottom\");\n const nextState = isCollapsed ? \"expanded\" : \"collapsed\";\n\n const handleToggle = () => {\n onStateChange?.(nextState);\n };\n\n const renderGroups = (items: AppSidebarGroup[]) => {\n return items.map((group) => (\n <NavigationMenu\n key={group.id}\n title={group.title}\n collapsed={isCollapsed}\n className={cn(group.divider && \"border-delicate-border border-b\")}\n >\n {group.items.map((item) => {\n const isActive = activeItemId ? activeItemId === item.id : Boolean(item.active);\n\n return (\n <NavigationItem\n key={item.id}\n icon={<Icon type={item.icon} />}\n label={item.label}\n badge={item.badge}\n active={isActive}\n collapsed={isCollapsed}\n disabled={item.disabled}\n href={item.href}\n target={item.target}\n rel={item.rel}\n onAction={() => {\n onItemSelect?.(item);\n item.onClick?.(item);\n }}\n aria-current={isActive ? \"page\" : undefined}\n />\n );\n })}\n </NavigationMenu>\n ));\n };\n\n return (\n <aside\n className={cn(appSidebarRootVariants({ state }), className)}\n aria-label=\"Боковая навигация\"\n {...props}\n >\n <header className={appSidebarHeaderVariants({ state })}>\n <div className={appSidebarBrandVariants({ state })}>\n {brandMark}\n <p className={appSidebarBrandTitleClassName}>{title}</p>\n </div>\n\n {showToggle && (\n <button\n type=\"button\"\n className={appSidebarToggleButtonVariants()}\n onClick={handleToggle}\n aria-label={\n isCollapsed ? \"Развернуть боковую навигацию\" : \"Свернуть боковую навигацию\"\n }\n disabled={!onStateChange}\n >\n <Icon\n type=\"chevrons\"\n strokeWidth={1.5}\n className={cn(\n \"transition-transform duration-200\",\n isCollapsed ? \"-rotate-90\" : \"rotate-90\",\n )}\n />\n </button>\n )}\n </header>\n\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{renderGroups(topGroups)}</div>\n\n {bottomGroups.length > 0 && (\n <div className=\"mt-auto\">{renderGroups(bottomGroups)}</div>\n )}\n </div>\n </aside>\n );\n};\n\nexport { AppSidebar };\n"],"names":["AppSidebar","groups","title","brandMark","state","activeItemId","showToggle","onStateChange","onItemSelect","className","props","isCollapsed","topGroups","group","bottomGroups","nextState","handleToggle","renderGroups","items","jsx","NavigationMenu","cn","item","isActive","NavigationItem","Icon","jsxs","appSidebarRootVariants","appSidebarHeaderVariants","appSidebarBrandVariants","appSidebarBrandTitleClassName","appSidebarToggleButtonVariants"],"mappings":"4XA8CMA,EAAa,CAAC,CAClB,OAAAC,EACA,MAAAC,EAAQ,MACR,UAAAC,EACA,MAAAC,EAAQ,WACR,aAAAC,EACA,WAAAC,EAAa,GACb,cAAAC,EACA,aAAAC,EACA,UAAAC,EACA,GAAGC,CACL,IAAa,CACX,MAAMC,EAAcP,IAAU,YACxBQ,EAAYX,EAAO,OAAQY,GAAUA,EAAM,YAAc,QAAQ,EACjEC,EAAeb,EAAO,OAAQY,GAAUA,EAAM,YAAc,QAAQ,EACpEE,EAAYJ,EAAc,WAAa,YAEvCK,EAAe,IAAM,CACzBT,IAAgBQ,CAAS,CAC3B,EAEME,EAAgBC,GACbA,EAAM,IAAKL,GAChBM,EAAAA,IAACC,EAAAA,eAAA,CAEC,MAAOP,EAAM,MACb,UAAWF,EACX,UAAWU,EAAAA,GAAGR,EAAM,SAAW,iCAAiC,EAE/D,SAAAA,EAAM,MAAM,IAAKS,GAAS,CACzB,MAAMC,EAAWlB,EAAeA,IAAiBiB,EAAK,GAAK,EAAQA,EAAK,OAExE,OACEH,EAAAA,IAACK,EAAAA,eAAA,CAEC,KAAML,EAAAA,IAACM,EAAAA,KAAA,CAAK,KAAMH,EAAK,KAAM,EAC7B,MAAOA,EAAK,MACZ,MAAOA,EAAK,MACZ,OAAQC,EACR,UAAWZ,EACX,SAAUW,EAAK,SACf,KAAMA,EAAK,KACX,OAAQA,EAAK,OACb,IAAKA,EAAK,IACV,SAAU,IAAM,CACdd,IAAec,CAAI,EACnBA,EAAK,UAAUA,CAAI,CACrB,EACA,eAAcC,EAAW,OAAS,MAAA,EAd7BD,EAAK,EAAA,CAiBhB,CAAC,CAAA,EA3BIT,EAAM,EAAA,CA6Bd,EAGH,OACEa,EAAAA,KAAC,QAAA,CACC,UAAWL,EAAAA,GAAGM,EAAAA,uBAAuB,CAAE,MAAAvB,CAAA,CAAO,EAAGK,CAAS,EAC1D,aAAW,oBACV,GAAGC,EAEJ,SAAA,CAAAgB,EAAAA,KAAC,UAAO,UAAWE,EAAAA,yBAAyB,CAAE,MAAAxB,CAAA,CAAO,EACnD,SAAA,CAAAsB,EAAAA,KAAC,OAAI,UAAWG,EAAAA,wBAAwB,CAAE,MAAAzB,CAAA,CAAO,EAC9C,SAAA,CAAAD,EACDgB,EAAAA,IAAC,IAAA,CAAE,UAAWW,EAAAA,8BAAgC,SAAA5B,CAAA,CAAM,CAAA,EACtD,EAECI,GACCa,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWY,EAAAA,+BAAA,EACX,QAASf,EACT,aACEL,EAAc,+BAAiC,6BAEjD,SAAU,CAACJ,EAEX,SAAAY,EAAAA,IAACM,EAAAA,KAAA,CACC,KAAK,WACL,YAAa,IACb,UAAWJ,EAAAA,GACT,oCACAV,EAAc,aAAe,WAAA,CAC/B,CAAA,CACF,CAAA,CACF,EAEJ,EAEAe,EAAAA,KAAC,MAAA,CAAI,UAAU,+BACb,SAAA,CAAAP,MAAC,MAAA,CAAI,UAAU,iCAAkC,SAAAF,EAAaL,CAAS,EAAE,EAExEE,EAAa,OAAS,GACrBK,EAAAA,IAAC,OAAI,UAAU,UAAW,SAAAF,EAAaH,CAAY,CAAA,CAAE,CAAA,CAAA,CAEzD,CAAA,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("class-variance-authority");require("react");require("./lib-utils.cjs");const a=require("./components-ui-typography-typography.styles.cjs"),t=["expanded","collapsed"],r=e.cva(["border-delicate-border bg-secondary-bg flex h-full shrink-0 flex-col border-r","transition-[width] duration-200 ease-out"].join(" "),{variants:{state:{expanded:"w-[15.5rem]",collapsed:"w-16"}},defaultVariants:{state:"expanded"}}),i=e.cva("border-delicate-border flex h-18 items-center border-b",{variants:{state:{expanded:"justify-between px-7",collapsed:"justify-center px-4.5"}},defaultVariants:{state:"expanded"}}),s=e.cva("flex items-center gap-3",{variants:{state:{expanded:"opacity-100",collapsed:"hidden opacity-0"}},defaultVariants:{state:"expanded"}}),n=a.getTypographyClassName("body-xl-medium"),d=e.cva(["text-sub-label-text inline-flex size-7 cursor-pointer items-center justify-center rounded-sm","hover:bg-tertiary-bg hover:text-primary-text transition-colors","disabled:text-disabled-text disabled:pointer-events-none"].join(" "));exports.appSidebarBrandTitleClassName=n;exports.appSidebarBrandVariants=s;exports.appSidebarHeaderVariants=i;exports.appSidebarRootVariants=r;exports.appSidebarStateOptions=t;exports.appSidebarToggleButtonVariants=d;
|
|
2
|
+
//# sourceMappingURL=components-app-sidebar-app-sidebar.styles.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-sidebar-app-sidebar.styles.cjs","sources":["../src/components/app-sidebar/app-sidebar.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\nexport const appSidebarStateOptions = [\"expanded\", \"collapsed\"] as const;\n\nexport type AppSidebarState = (typeof appSidebarStateOptions)[number];\n\nexport const appSidebarRootVariants = cva(\n [\n \"border-delicate-border bg-secondary-bg flex h-full shrink-0 flex-col border-r\",\n \"transition-[width] duration-200 ease-out\",\n ].join(\" \"),\n {\n variants: {\n state: {\n expanded: \"w-[15.5rem]\",\n collapsed: \"w-16\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n },\n);\n\nexport const appSidebarHeaderVariants = cva(\n \"border-delicate-border flex h-18 items-center border-b\",\n {\n variants: {\n state: {\n expanded: \"justify-between px-7\",\n collapsed: \"justify-center px-4.5\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n },\n);\n\nexport const appSidebarBrandVariants = cva(\"flex items-center gap-3\", {\n variants: {\n state: {\n expanded: \"opacity-100\",\n collapsed: \"hidden opacity-0\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n});\n\nexport const appSidebarBrandTitleClassName = getTypographyClassName(\"body-xl-medium\");\n\nexport const appSidebarToggleButtonVariants = cva(\n [\n \"text-sub-label-text inline-flex size-7 cursor-pointer items-center justify-center rounded-sm\",\n \"hover:bg-tertiary-bg hover:text-primary-text transition-colors\",\n \"disabled:text-disabled-text disabled:pointer-events-none\",\n ].join(\" \"),\n);\n"],"names":["appSidebarStateOptions","appSidebarRootVariants","cva","appSidebarHeaderVariants","appSidebarBrandVariants","appSidebarBrandTitleClassName","getTypographyClassName","appSidebarToggleButtonVariants"],"mappings":"4OAGaA,EAAyB,CAAC,WAAY,WAAW,EAIjDC,EAAyBC,EAAAA,IACpC,CACE,gFACA,0CAAA,EACA,KAAK,GAAG,EACV,CACE,SAAU,CACR,MAAO,CACL,SAAU,cACV,UAAW,MAAA,CACb,EAEF,gBAAiB,CACf,MAAO,UAAA,CACT,CAEJ,EAEaC,EAA2BD,EAAAA,IACtC,yDACA,CACE,SAAU,CACR,MAAO,CACL,SAAU,uBACV,UAAW,uBAAA,CACb,EAEF,gBAAiB,CACf,MAAO,UAAA,CACT,CAEJ,EAEaE,EAA0BF,EAAAA,IAAI,0BAA2B,CACpE,SAAU,CACR,MAAO,CACL,SAAU,cACV,UAAW,kBAAA,CACb,EAEF,gBAAiB,CACf,MAAO,UAAA,CAEX,CAAC,EAEYG,EAAgCC,EAAAA,uBAAuB,gBAAgB,EAEvEC,EAAiCL,EAAAA,IAC5C,CACE,+FACA,iEACA,0DAAA,EACA,KAAK,GAAG,CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-app-sidebar.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const i=require("react/jsx-runtime");;/* empty css */const f=require("./lib-utils.cjs");require("class-variance-authority");const v=require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");require("lucide-react");require("./components-ui-icon-overrides.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const x=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("lodash");require("recharts");require("./components-ui-chart-chart.cjs");const A=require("./components-basic-avatar-basic-avatar.cjs");require("next-themes");require("sonner");require("vaul");const y=require("react-dropzone"),j=1,b=[".jpg",".png"],h=({src:u,fullName:o,maxFiles:a=j,accept:c=b,avatarProps:q,containerClassName:p,onChange:s})=>{const n=v.useMemo(()=>{const[e,r]=o?.split(" "),t=e?.charAt(0)||"",g=r?.charAt(0)||"";return(t+g).toUpperCase()||"?"},[o]),{getRootProps:l,getInputProps:m}=y.useDropzone({accept:{"image/*":c},maxFiles:a,onDrop:e=>{const r=e[0];if(r){const t=URL.createObjectURL(r);s?.(t)}}}),d=e=>{e.stopPropagation(),s?.("")};return i.jsxs("div",{...l(),className:f.cn(`bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center
|
|
2
|
+
overflow-hidden rounded-full transition-colors`,p),children:[i.jsx("input",{...m()}),u?i.jsx(A.BasicAvatar,{...q,image:{src:u},initials:{text:n},hasBadge:!0,onClick:d}):i.jsx(x.Typography,{variant:"body-xxl-medium",className:"text-info-new-text flex items-center justify-center",children:n})]})};exports.AvatarUpload=h;
|
|
3
|
+
//# sourceMappingURL=components-avatar-uploader-avatar-uploader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-avatar-uploader-avatar-uploader.cjs","sources":["../src/components/avatar-uploader/avatar-uploader.tsx"],"sourcesContent":["import { cn } from \"@/index\";\nimport { useMemo } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { BasicAvatar, type BasicAvatarProps } from \"../basic-avatar\";\nimport { Typography } from \"../ui/typography\";\n\ntype Props = {\n maxFiles?: number;\n src?: string;\n fullName: string;\n accept?: string[];\n avatarProps?: BasicAvatarProps;\n containerClassName?: string;\n onChange?: (src: string | null) => void;\n};\n\nconst DEFAULT_MAX_FILES = 1;\nconst DEFAULT_ACCEPT = [\".jpg\", \".png\"];\n\nexport const AvatarUpload = ({\n src,\n fullName,\n maxFiles = DEFAULT_MAX_FILES,\n accept = DEFAULT_ACCEPT,\n avatarProps,\n containerClassName,\n onChange,\n}: Props) => {\n const initials = useMemo(() => {\n const [firstName, lastName] = fullName?.split(\" \");\n const first = firstName?.charAt(0) || \"\";\n const last = lastName?.charAt(0) || \"\";\n\n return (first + last).toUpperCase() || \"?\";\n }, [fullName]);\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: { \"image/*\": accept },\n maxFiles,\n onDrop: (files) => {\n const file = files[0];\n if (file) {\n const previewUrl = URL.createObjectURL(file);\n onChange?.(previewUrl);\n }\n },\n });\n\n const removeAvatar = (e: React.MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n onChange?.(\"\");\n };\n\n return (\n <div\n {...getRootProps()}\n className={cn(\n `bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center\n overflow-hidden rounded-full transition-colors`,\n containerClassName,\n )}\n >\n <input {...getInputProps()} />\n {src ? (\n <BasicAvatar\n {...avatarProps}\n image={{\n src,\n }}\n initials={{ text: initials }}\n hasBadge\n onClick={removeAvatar}\n />\n ) : (\n <Typography\n variant=\"body-xxl-medium\"\n className=\"text-info-new-text flex items-center justify-center\"\n >\n {initials}\n </Typography>\n )}\n </div>\n );\n};\n\nexport type { Props as AvatarUploadProps };\n"],"names":["DEFAULT_MAX_FILES","DEFAULT_ACCEPT","AvatarUpload","src","fullName","maxFiles","accept","avatarProps","containerClassName","onChange","initials","useMemo","firstName","lastName","first","last","getRootProps","getInputProps","useDropzone","files","file","previewUrl","removeAvatar","jsxs","cn","jsx","BasicAvatar","Typography"],"mappings":"86DAgBMA,EAAoB,EACpBC,EAAiB,CAAC,OAAQ,MAAM,EAEzBC,EAAe,CAAC,CAC3B,IAAAC,EACA,SAAAC,EACA,SAAAC,EAAWL,EACX,OAAAM,EAASL,EACT,YAAAM,EACA,mBAAAC,EACA,SAAAC,CACF,IAAa,CACX,MAAMC,EAAWC,EAAAA,QAAQ,IAAM,CAC7B,KAAM,CAACC,EAAWC,CAAQ,EAAIT,GAAU,MAAM,GAAG,EAC3CU,EAAQF,GAAW,OAAO,CAAC,GAAK,GAChCG,EAAOF,GAAU,OAAO,CAAC,GAAK,GAEpC,OAAQC,EAAQC,GAAM,YAAA,GAAiB,GACzC,EAAG,CAACX,CAAQ,CAAC,EAEP,CAAE,aAAAY,EAAc,cAAAC,CAAA,EAAkBC,cAAY,CAClD,OAAQ,CAAE,UAAWZ,CAAA,EACrB,SAAAD,EACA,OAASc,GAAU,CACjB,MAAMC,EAAOD,EAAM,CAAC,EACpB,GAAIC,EAAM,CACR,MAAMC,EAAa,IAAI,gBAAgBD,CAAI,EAC3CX,IAAWY,CAAU,CACvB,CACF,CAAA,CACD,EAEKC,EAAgB,GAAwC,CAC5D,EAAE,gBAAA,EACFb,IAAW,EAAE,CACf,EAEA,OACEc,EAAAA,KAAC,MAAA,CACE,GAAGP,EAAA,EACJ,UAAWQ,EAAAA,GACT;AAAA,wDAEAhB,CAAA,EAGF,SAAA,CAAAiB,EAAAA,IAAC,QAAA,CAAO,GAAGR,EAAA,CAAc,CAAG,EAC3Bd,EACCsB,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGnB,EACJ,MAAO,CACL,IAAAJ,CAAA,EAEF,SAAU,CAAE,KAAMO,CAAA,EAClB,SAAQ,GACR,QAASY,CAAA,CAAA,EAGXG,EAAAA,IAACE,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAU,sDAET,SAAAjB,CAAA,CAAA,CACH,CAAA,CAAA,CAIR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-avatar-uploader.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const e=require("react/jsx-runtime");;/* empty css */const r=require("./lib-utils.cjs");require("class-variance-authority");require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");const p=require("./components-ui-icon-icon.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const m=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const i=require("./components-ui-avatar-avatar.cjs");require("lucide-react");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("lodash");require("recharts");require("./components-ui-chart-chart.cjs");require("react-dropzone");require("next-themes");require("sonner");require("vaul");const y=({initials:u,avatar:t,fallback:n,image:a,icon:c,showDeleteOnHover:o=!0,onClick:q=()=>{}})=>{const s=e.jsxs(i.Avatar,{...t,className:r.cn("h-18 w-18",t?.className),children:[e.jsx(i.AvatarImage,{...a,alt:"avatar",className:r.cn("h-full w-full border-0",a?.className)}),e.jsx(i.AvatarFallback,{...n,children:e.jsx(m.Typography,{variant:"body-xxl-medium",className:r.cn("text-info-new-text",u?.className),children:u?.text})})]});return o?e.jsxs("div",{className:"relative inline-block",children:[s,e.jsx("div",{className:`text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex
|
|
2
|
+
cursor-pointer items-center justify-center rounded-full opacity-0
|
|
3
|
+
transition-opacity hover:opacity-100`,onClick:l=>l.stopPropagation(),children:e.jsx(p.Icon,{...c,type:"close",onClick:q})})]}):s};exports.BasicAvatar=y;
|
|
4
|
+
//# sourceMappingURL=components-basic-avatar-basic-avatar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-avatar-basic-avatar.cjs","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nexport const BasicAvatar = ({\n initials,\n avatar,\n fallback,\n image,\n icon,\n showDeleteOnHover = true,\n onClick = () => {},\n}: Props) => {\n const content = (\n <Avatar\n {...avatar}\n className={cn(\"h-18 w-18\", avatar?.className)}\n >\n <AvatarImage\n {...image}\n alt=\"avatar\"\n className={cn(\"h-full w-full border-0\", image?.className)}\n />\n <AvatarFallback {...fallback}>\n <Typography\n variant=\"body-xxl-medium\"\n className={cn(\"text-info-new-text\", initials?.className)}\n >\n {initials?.text}\n </Typography>\n </AvatarFallback>\n </Avatar>\n );\n\n if (!showDeleteOnHover) {\n return content;\n }\n\n return (\n <div className=\"relative inline-block\">\n {content}\n <div\n className=\"text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex\n cursor-pointer items-center justify-center rounded-full opacity-0\n transition-opacity hover:opacity-100\"\n onClick={(e) => e.stopPropagation()}\n >\n <Icon\n {...icon}\n type=\"close\"\n onClick={onClick}\n />\n </div>\n </div>\n );\n};\n\nexport type {\n AvatarFallbackProps,\n AvatarImageProps,\n AvatarProps,\n Props as BasicAvatarProps,\n};\n"],"names":["BasicAvatar","initials","avatar","fallback","image","icon","showDeleteOnHover","onClick","content","jsxs","Avatar","cn","jsx","AvatarImage","AvatarFallback","Typography","e","Icon"],"mappings":"w5DAyBO,MAAMA,EAAc,CAAC,CAC1B,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,kBAAAC,EAAoB,GACpB,QAAAC,EAAU,IAAM,CAAC,CACnB,IAAa,CACX,MAAMC,EACJC,EAAAA,KAACC,EAAAA,OAAA,CACE,GAAGR,EACJ,UAAWS,EAAAA,GAAG,YAAaT,GAAQ,SAAS,EAE5C,SAAA,CAAAU,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGT,EACJ,IAAI,SACJ,UAAWO,EAAAA,GAAG,yBAA0BP,GAAO,SAAS,CAAA,CAAA,EAE1DQ,EAAAA,IAACE,EAAAA,eAAA,CAAgB,GAAGX,EAClB,SAAAS,EAAAA,IAACG,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAWJ,EAAAA,GAAG,qBAAsBV,GAAU,SAAS,EAEtD,SAAAA,GAAU,IAAA,CAAA,CACb,CACF,CAAA,CAAA,CAAA,EAIJ,OAAKK,EAKHG,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACZ,SAAA,CAAAD,EACDI,EAAAA,IAAC,MAAA,CACC,UAAU;AAAA;AAAA,gDAGV,QAAUI,GAAMA,EAAE,gBAAA,EAElB,SAAAJ,EAAAA,IAACK,EAAAA,KAAA,CACE,GAAGZ,EACJ,KAAK,QACL,QAAAE,CAAA,CAAA,CACF,CAAA,CACF,EACF,EAlBOC,CAoBX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-avatar.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),d=require("./lib-utils.cjs"),O=require("lodash"),a=require("react"),s=require("recharts"),f=require("./components-ui-chart-chart.cjs"),C=14.52,L=10,F=4,T="#3B82F6",U=400,q=200,H=150,P={desktop:{label:"default",color:T}},Z=({chartContainer:o,barChart:l,cartesianGrid:c,axis:t,hasTooltip:S=!0,tooltip:g,bar:n,chartTooltipContent:p,fillContainer:h=!1,minHeight:E=q,smoothResize:m=!0,resizeDebounceMs:y=H,mobileBreakpoint:j=U})=>{const v=o?.config??P,[r,w]=a.useState(null),[x,k]=a.useState({width:0,height:0}),[B,R]=a.useState(!1);a.useEffect(()=>{if(!m||!r)return;let u;const _=O.debounce(b=>{R(!0);for(const D of b){const{width:M,height:N}=D.contentRect;k({width:M,height:N})}clearTimeout(u),u=setTimeout(()=>{R(!1)},100)},y),A=new ResizeObserver(_);A.observe(r);const{width:z,height:I}=r.getBoundingClientRect();return k({width:z,height:I}),()=>{A.disconnect(),_.cancel(),clearTimeout(u)}},[r,m,y]);const e=x.width<j;return i.jsx("div",{ref:w,className:d.cn("w-full transition-opacity duration-200 will-change-transform",B?"opacity-60":"opacity-100",h?"h-full":"min-h-50"),style:{minHeight:h?void 0:E,transform:"translateZ(0)",backfaceVisibility:"hidden"},children:i.jsx(f.ChartContainer,{...o,config:o?.config??v,className:d.cn(!h&&"aspect-video","transition-[width,height] duration-200 ease-in-out",o?.className),children:i.jsxs(s.BarChart,{barSize:n?.barSize??l?.barSize??C,...l,margin:l?.margin||{top:10,right:e?5:10,bottom:e?30:20,left:e?0:10},className:"transition-all duration-200",children:[i.jsx(s.CartesianGrid,{vertical:c?.vertical??!1,horizontal:c?.horizontal??!0,strokeDasharray:c?.strokeDasharray??"3 3",...c}),i.jsx(s.YAxis,{tickLine:t?.y?.tickLine??!1,axisLine:t?.y?.axisLine??!1,tickMargin:t?.y?.tickMargin??L,width:t?.y?.width??(e?30:35),...t?.y,hide:t?.y?.hide??e,tick:t?.y?.tick??{fontSize:e?10:12,...typeof t?.y?.tick=="object"?t?.y?.tick:{}}}),i.jsx(s.XAxis,{tickLine:t?.x?.tickLine??!1,axisLine:t?.x?.axisLine??!1,tickMargin:t?.x?.tickMargin??L,interval:t?.x?.interval??(e?0:"preserveStart"),...t?.x,angle:t?.x?.angle??(e?-45:0),textAnchor:t?.x?.textAnchor??(e?"end":"middle"),height:t?.x?.height??(e?60:30),tick:t?.x?.tick??{fontSize:e?10:12,...typeof t?.x?.tick=="object"?t?.x?.tick:{}}}),S&&i.jsx(f.ChartTooltip,{cursor:g?.cursor??!0,content:i.jsx(f.ChartTooltipContent,{...p,className:d.cn("transition-all duration-200",e&&"origin-top-left scale-90 text-xs")}),...g}),i.jsx(s.Bar,{fill:n?.fill??T,radius:typeof n?.radius=="number"?Math.min(n.radius,e?3:n.radius):e?3:F,...n})]})})})};exports.BasicChart=Z;
|
|
2
|
+
//# sourceMappingURL=components-basic-chart-basic-chart.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-chart-basic-chart.cjs","sources":["../src/components/basic-chart/basic-chart.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { debounce } from \"lodash\";\nimport { useEffect, useState } from \"react\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n XAxis,\n YAxis,\n type BarProps,\n type TooltipProps,\n type TooltipValueType,\n type XAxisProps,\n type YAxisProps,\n} from \"recharts\";\nimport type { NameType } from \"recharts/types/component/DefaultTooltipContent\";\nimport type { CartesianChartProps } from \"recharts/types/util/types\";\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart/chart\";\n\ntype Props = {\n chartContainer?: React.ClassAttributes<HTMLDivElement> &\n React.HTMLAttributes<HTMLDivElement> & {\n config: ChartConfig;\n };\n barChart?: CartesianChartProps<any> & {\n ref?: React.Ref<SVGSVGElement> | undefined;\n };\n cartesianGrid?: React.ComponentProps<typeof CartesianGrid>;\n axis?: {\n y?: Partial<YAxisProps>;\n x?: Partial<XAxisProps>;\n };\n hasTooltip?: boolean;\n tooltip?: TooltipProps<TooltipValueType, NameType>;\n bar?: BarProps;\n chartTooltipContent?: React.ComponentProps<typeof ChartTooltipContent>;\n fillContainer?: boolean;\n minHeight?: number | string;\n smoothResize?: boolean;\n resizeDebounceMs?: number;\n mobileBreakpoint?: number;\n};\n\nconst DEFAULT_BAR_SIZE = 14.52;\nconst DEFAULT_TICK_MARGIN = 10;\nconst DEFAULT_BAR_RADIUS = 4;\nconst DEFAULT_BAR_COLOR = \"#3B82F6\";\nconst DEFAULT_MOBILE_BREAKPOINT = 400;\nconst MIN_HEIGHT = 200;\nconst RESIZE_DOBOUNCE_MS = 150;\n\nconst DEFAULT_CONFIG = {\n desktop: {\n label: \"default\",\n color: DEFAULT_BAR_COLOR,\n },\n} satisfies ChartConfig;\n\nexport const BasicChart = ({\n chartContainer,\n barChart,\n cartesianGrid,\n axis,\n hasTooltip = true,\n tooltip,\n bar,\n chartTooltipContent,\n fillContainer = false,\n minHeight = MIN_HEIGHT,\n smoothResize = true,\n resizeDebounceMs = RESIZE_DOBOUNCE_MS,\n mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT,\n}: Props) => {\n const chartConfig = chartContainer?.config ?? DEFAULT_CONFIG;\n const [containerRef, setContainerRef] = useState<HTMLDivElement | null>(null);\n const [dimensions, setDimensions] = useState({ width: 0, height: 0 });\n const [isResizing, setIsResizing] = useState(false);\n\n // TODO: позже вынести в хук\n useEffect(() => {\n if (!smoothResize || !containerRef) return;\n\n let resizeTimer: NodeJS.Timeout;\n\n const handleResize = debounce((entries: ResizeObserverEntry[]) => {\n setIsResizing(true);\n\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n setDimensions({ width, height });\n }\n\n clearTimeout(resizeTimer);\n resizeTimer = setTimeout(() => {\n setIsResizing(false);\n }, 100);\n }, resizeDebounceMs);\n\n const resizeObserver = new ResizeObserver(handleResize);\n resizeObserver.observe(containerRef);\n\n const { width, height } = containerRef.getBoundingClientRect();\n setDimensions({ width, height });\n\n return () => {\n resizeObserver.disconnect();\n handleResize.cancel();\n clearTimeout(resizeTimer);\n };\n }, [containerRef, smoothResize, resizeDebounceMs]);\n\n const isMobile = dimensions.width < mobileBreakpoint;\n\n return (\n <div\n ref={setContainerRef}\n className={cn(\n \"w-full transition-opacity duration-200 will-change-transform\",\n isResizing ? \"opacity-60\" : \"opacity-100\",\n fillContainer ? \"h-full\" : \"min-h-50\",\n )}\n style={{\n minHeight: fillContainer ? undefined : minHeight,\n transform: \"translateZ(0)\",\n backfaceVisibility: \"hidden\",\n }}\n >\n <ChartContainer\n {...chartContainer}\n config={chartContainer?.config ?? chartConfig}\n className={cn(\n !fillContainer && \"aspect-video\",\n \"transition-[width,height] duration-200 ease-in-out\",\n chartContainer?.className,\n )}\n >\n <BarChart\n barSize={bar?.barSize ?? barChart?.barSize ?? DEFAULT_BAR_SIZE}\n {...barChart}\n margin={\n barChart?.margin || {\n top: 10,\n right: isMobile ? 5 : 10,\n bottom: isMobile ? 30 : 20,\n left: isMobile ? 0 : 10,\n }\n }\n className=\"transition-all duration-200\"\n >\n <CartesianGrid\n vertical={cartesianGrid?.vertical ?? false}\n horizontal={cartesianGrid?.horizontal ?? true}\n strokeDasharray={cartesianGrid?.strokeDasharray ?? \"3 3\"}\n {...cartesianGrid}\n />\n\n <YAxis\n tickLine={axis?.y?.tickLine ?? false}\n axisLine={axis?.y?.axisLine ?? false}\n tickMargin={axis?.y?.tickMargin ?? DEFAULT_TICK_MARGIN}\n width={axis?.y?.width ?? (isMobile ? 30 : 35)}\n {...axis?.y}\n // Адаптивные настройки для мобильных\n hide={axis?.y?.hide ?? isMobile}\n tick={\n axis?.y?.tick ?? {\n fontSize: isMobile ? 10 : 12,\n ...(typeof axis?.y?.tick === \"object\" ? axis?.y?.tick : {}),\n }\n }\n />\n\n <XAxis\n tickLine={axis?.x?.tickLine ?? false}\n axisLine={axis?.x?.axisLine ?? false}\n tickMargin={axis?.x?.tickMargin ?? DEFAULT_TICK_MARGIN}\n interval={axis?.x?.interval ?? (isMobile ? 0 : \"preserveStart\")}\n {...axis?.x}\n // Адаптивный угол наклона для мобильных\n angle={axis?.x?.angle ?? (isMobile ? -45 : 0)}\n textAnchor={axis?.x?.textAnchor ?? (isMobile ? \"end\" : \"middle\")}\n height={axis?.x?.height ?? (isMobile ? 60 : 30)}\n tick={\n axis?.x?.tick ?? {\n fontSize: isMobile ? 10 : 12,\n ...(typeof axis?.x?.tick === \"object\" ? axis?.x?.tick : {}),\n }\n }\n />\n\n {hasTooltip && (\n <ChartTooltip\n cursor={tooltip?.cursor ?? true}\n content={\n <ChartTooltipContent\n {...chartTooltipContent}\n className={cn(\n \"transition-all duration-200\",\n isMobile && \"origin-top-left scale-90 text-xs\",\n )}\n />\n }\n {...tooltip}\n />\n )}\n\n <Bar\n fill={bar?.fill ?? DEFAULT_BAR_COLOR}\n radius={\n typeof bar?.radius === \"number\"\n ? Math.min(bar.radius, isMobile ? 3 : bar.radius)\n : isMobile\n ? 3\n : DEFAULT_BAR_RADIUS\n }\n {...bar}\n />\n </BarChart>\n </ChartContainer>\n </div>\n );\n};\n\nexport type { Props as ChartProps };\n"],"names":["DEFAULT_BAR_SIZE","DEFAULT_TICK_MARGIN","DEFAULT_BAR_RADIUS","DEFAULT_BAR_COLOR","DEFAULT_MOBILE_BREAKPOINT","MIN_HEIGHT","RESIZE_DOBOUNCE_MS","DEFAULT_CONFIG","BasicChart","chartContainer","barChart","cartesianGrid","axis","hasTooltip","tooltip","bar","chartTooltipContent","fillContainer","minHeight","smoothResize","resizeDebounceMs","mobileBreakpoint","chartConfig","containerRef","setContainerRef","useState","dimensions","setDimensions","isResizing","setIsResizing","useEffect","resizeTimer","handleResize","debounce","entries","entry","width","height","resizeObserver","isMobile","jsx","cn","ChartContainer","jsxs","BarChart","CartesianGrid","YAxis","XAxis","ChartTooltip","ChartTooltipContent","Bar"],"mappings":"4PAgDMA,EAAmB,MACnBC,EAAsB,GACtBC,EAAqB,EACrBC,EAAoB,UACpBC,EAA4B,IAC5BC,EAAa,IACbC,EAAqB,IAErBC,EAAiB,CACrB,QAAS,CACP,MAAO,UACP,MAAOJ,CAAA,CAEX,EAEaK,EAAa,CAAC,CACzB,eAAAC,EACA,SAAAC,EACA,cAAAC,EACA,KAAAC,EACA,WAAAC,EAAa,GACb,QAAAC,EACA,IAAAC,EACA,oBAAAC,EACA,cAAAC,EAAgB,GAChB,UAAAC,EAAYb,EACZ,aAAAc,EAAe,GACf,iBAAAC,EAAmBd,EACnB,iBAAAe,EAAmBjB,CACrB,IAAa,CACX,MAAMkB,EAAcb,GAAgB,QAAUF,EACxC,CAACgB,EAAcC,CAAe,EAAIC,EAAAA,SAAgC,IAAI,EACtE,CAACC,EAAYC,CAAa,EAAIF,EAAAA,SAAS,CAAE,MAAO,EAAG,OAAQ,EAAG,EAC9D,CAACG,EAAYC,CAAa,EAAIJ,EAAAA,SAAS,EAAK,EAGlDK,EAAAA,UAAU,IAAM,CACd,GAAI,CAACX,GAAgB,CAACI,EAAc,OAEpC,IAAIQ,EAEJ,MAAMC,EAAeC,WAAUC,GAAmC,CAChEL,EAAc,EAAI,EAElB,UAAWM,KAASD,EAAS,CAC3B,KAAM,CAAE,MAAAE,EAAO,OAAAC,CAAAA,EAAWF,EAAM,YAChCR,EAAc,CAAE,MAAAS,EAAO,OAAAC,EAAQ,CACjC,CAEA,aAAaN,CAAW,EACxBA,EAAc,WAAW,IAAM,CAC7BF,EAAc,EAAK,CACrB,EAAG,GAAG,CACR,EAAGT,CAAgB,EAEbkB,EAAiB,IAAI,eAAeN,CAAY,EACtDM,EAAe,QAAQf,CAAY,EAEnC,KAAM,CAAE,MAAAa,EAAO,OAAAC,GAAWd,EAAa,sBAAA,EACvC,OAAAI,EAAc,CAAE,MAAAS,EAAO,OAAAC,EAAQ,EAExB,IAAM,CACXC,EAAe,WAAA,EACfN,EAAa,OAAA,EACb,aAAaD,CAAW,CAC1B,CACF,EAAG,CAACR,EAAcJ,EAAcC,CAAgB,CAAC,EAEjD,MAAMmB,EAAWb,EAAW,MAAQL,EAEpC,OACEmB,EAAAA,IAAC,MAAA,CACC,IAAKhB,EACL,UAAWiB,EAAAA,GACT,+DACAb,EAAa,aAAe,cAC5BX,EAAgB,SAAW,UAAA,EAE7B,MAAO,CACL,UAAWA,EAAgB,OAAYC,EACvC,UAAW,gBACX,mBAAoB,QAAA,EAGtB,SAAAsB,EAAAA,IAACE,EAAAA,eAAA,CACE,GAAGjC,EACJ,OAAQA,GAAgB,QAAUa,EAClC,UAAWmB,EAAAA,GACT,CAACxB,GAAiB,eAClB,qDACAR,GAAgB,SAAA,EAGlB,SAAAkC,EAAAA,KAACC,EAAAA,SAAA,CACC,QAAS7B,GAAK,SAAWL,GAAU,SAAWV,EAC7C,GAAGU,EACJ,OACEA,GAAU,QAAU,CAClB,IAAK,GACL,MAAO6B,EAAW,EAAI,GACtB,OAAQA,EAAW,GAAK,GACxB,KAAMA,EAAW,EAAI,EAAA,EAGzB,UAAU,8BAEV,SAAA,CAAAC,EAAAA,IAACK,EAAAA,cAAA,CACC,SAAUlC,GAAe,UAAY,GACrC,WAAYA,GAAe,YAAc,GACzC,gBAAiBA,GAAe,iBAAmB,MAClD,GAAGA,CAAA,CAAA,EAGN6B,EAAAA,IAACM,EAAAA,MAAA,CACC,SAAUlC,GAAM,GAAG,UAAY,GAC/B,SAAUA,GAAM,GAAG,UAAY,GAC/B,WAAYA,GAAM,GAAG,YAAcX,EACnC,MAAOW,GAAM,GAAG,QAAU2B,EAAW,GAAK,IACzC,GAAG3B,GAAM,EAEV,KAAMA,GAAM,GAAG,MAAQ2B,EACvB,KACE3B,GAAM,GAAG,MAAQ,CACf,SAAU2B,EAAW,GAAK,GAC1B,GAAI,OAAO3B,GAAM,GAAG,MAAS,SAAWA,GAAM,GAAG,KAAO,CAAA,CAAC,CAC3D,CAAA,EAIJ4B,EAAAA,IAACO,EAAAA,MAAA,CACC,SAAUnC,GAAM,GAAG,UAAY,GAC/B,SAAUA,GAAM,GAAG,UAAY,GAC/B,WAAYA,GAAM,GAAG,YAAcX,EACnC,SAAUW,GAAM,GAAG,WAAa2B,EAAW,EAAI,iBAC9C,GAAG3B,GAAM,EAEV,MAAOA,GAAM,GAAG,QAAU2B,EAAW,IAAM,GAC3C,WAAY3B,GAAM,GAAG,aAAe2B,EAAW,MAAQ,UACvD,OAAQ3B,GAAM,GAAG,SAAW2B,EAAW,GAAK,IAC5C,KACE3B,GAAM,GAAG,MAAQ,CACf,SAAU2B,EAAW,GAAK,GAC1B,GAAI,OAAO3B,GAAM,GAAG,MAAS,SAAWA,GAAM,GAAG,KAAO,CAAA,CAAC,CAC3D,CAAA,EAIHC,GACC2B,EAAAA,IAACQ,EAAAA,aAAA,CACC,OAAQlC,GAAS,QAAU,GAC3B,QACE0B,EAAAA,IAACS,EAAAA,oBAAA,CACE,GAAGjC,EACJ,UAAWyB,EAAAA,GACT,8BACAF,GAAY,kCAAA,CACd,CAAA,EAGH,GAAGzB,CAAA,CAAA,EAIR0B,EAAAA,IAACU,EAAAA,IAAA,CACC,KAAMnC,GAAK,MAAQZ,EACnB,OACE,OAAOY,GAAK,QAAW,SACnB,KAAK,IAAIA,EAAI,OAAQwB,EAAW,EAAIxB,EAAI,MAAM,EAC9CwB,EACE,EACArC,EAEP,GAAGa,CAAA,CAAA,CACN,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-chart.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("./lib-utils.cjs"),d=require("./components-ui-checkbox-checkbox.cjs"),i=require("./components-ui-field-field.cjs"),x=({name:o,orientation:n="horizontal",label:r,disabled:s,classNames:c,isValid:t,...a})=>{const l={"aria-invalid":!!t,"data-invalid":!!t};return e.jsx(i.FieldGroup,{className:c?.classNameGroup,children:e.jsxs(i.Field,{...l,orientation:n,children:[e.jsx(d.Checkbox,{...a,...l,id:o,name:o,disabled:s,className:c?.classNameCheckbox}),r&&e.jsx(i.FieldLabel,{htmlFor:o,className:u.cn("text-[14px]",c?.classNameLabel,s&&"cursor-not-allowed"),children:r})]})})};exports.BasicCheckbox=x;
|
|
2
|
+
//# sourceMappingURL=components-basic-checkbox-basic-checkbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-checkbox-basic-checkbox.cjs","sources":["../src/components/basic-checkbox/basic-checkbox.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Checkbox } from \"../ui/checkbox\";\nimport { Field, FieldGroup, FieldLabel } from \"../ui/field\";\n\ntype BaseProps = {\n name?: string;\n orientation?: \"vertical\" | \"horizontal\";\n label?: React.ReactNode;\n classNames?: {\n classNameCheckbox?: string;\n classNameLabel?: string;\n classNameGroup?: string;\n };\n isValid?: boolean;\n};\n\ntype CheckboxProps = BaseProps &\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;\n\nexport const BasicCheckbox = ({\n name,\n orientation = \"horizontal\",\n label,\n disabled,\n classNames,\n isValid,\n ...rest\n}: CheckboxProps) => {\n const validationProps = {\n \"aria-invalid\": !!isValid,\n \"data-invalid\": !!isValid,\n };\n\n // TODO: добавить вывод ошибки\n return (\n <FieldGroup className={classNames?.classNameGroup}>\n <Field\n {...validationProps}\n orientation={orientation}\n >\n <Checkbox\n {...rest}\n {...validationProps}\n id={name}\n name={name}\n disabled={disabled}\n className={classNames?.classNameCheckbox}\n />\n {label && (\n <FieldLabel\n htmlFor={name}\n className={cn(\n \"text-[14px]\",\n classNames?.classNameLabel,\n disabled && \"cursor-not-allowed\",\n )}\n >\n {label}\n </FieldLabel>\n )}\n </Field>\n </FieldGroup>\n );\n};\n\nexport type { CheckboxProps };\n"],"names":["BasicCheckbox","name","orientation","label","disabled","classNames","isValid","rest","validationProps","jsx","FieldGroup","jsxs","Field","Checkbox","FieldLabel","cn"],"mappings":"kPAoBaA,EAAgB,CAAC,CAC5B,KAAAC,EACA,YAAAC,EAAc,aACd,MAAAC,EACA,SAAAC,EACA,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAAqB,CACnB,MAAMC,EAAkB,CACtB,eAAgB,CAAC,CAACF,EAClB,eAAgB,CAAC,CAACA,CAAA,EAIpB,OACEG,EAAAA,IAACC,EAAAA,WAAA,CAAW,UAAWL,GAAY,eACjC,SAAAM,EAAAA,KAACC,EAAAA,MAAA,CACE,GAAGJ,EACJ,YAAAN,EAEA,SAAA,CAAAO,EAAAA,IAACI,EAAAA,SAAA,CACE,GAAGN,EACH,GAAGC,EACJ,GAAIP,EACJ,KAAAA,EACA,SAAAG,EACA,UAAWC,GAAY,iBAAA,CAAA,EAExBF,GACCM,EAAAA,IAACK,EAAAA,WAAA,CACC,QAASb,EACT,UAAWc,EAAAA,GACT,cACAV,GAAY,eACZD,GAAY,oBAAA,EAGb,SAAAD,CAAA,CAAA,CACH,CAAA,CAAA,EAGN,CAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-checkbox.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime");require("vaul");const a=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const e=require("./components-ui-drawer-drawer.cjs"),q=({title:s,description:o,footer:c,open:d,drawer:u,trigger:l,close:h,content:j,header:w,btnCancel:i,btnConfirm:t,children:x,onOpenChange:n,onConfirm:D})=>{const p=()=>{n(!1)},_=()=>{D?.(),n(!1)},m=c&&r.jsxs(e.DrawerFooter,{...c,children:[r.jsx(e.DrawerClose,{asChild:!0,...h,children:r.jsx(a.Button,{...i?.props,onClick:p,children:i?.label})}),r.jsx(a.Button,{...t?.props,onClick:_,children:t?.label})]});return r.jsxs(e.Drawer,{...u,open:d,onOpenChange:n,children:[l?.children&&r.jsx(e.DrawerTrigger,{...l?.props,children:l?.children}),r.jsxs(e.DrawerContent,{...j,children:[s&&r.jsxs(e.DrawerHeader,{...w,children:[r.jsx(e.DrawerTitle,{...s.props,children:s.content}),o&&r.jsx(e.DrawerDescription,{...o.props,children:o.content})]}),r.jsx("div",{className:"flex-1 overflow-auto",children:x}),m]})]})};exports.BasicDrawer=q;
|
|
2
|
+
//# sourceMappingURL=components-basic-drawer-basic-drawer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-drawer-basic-drawer.cjs","sources":["../src/components/basic-drawer/basic-drawer.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { Drawer as DrawerPrimitive } from \"vaul\";\nimport { Button, type ButtonProps } from \"../ui/button\";\nimport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from \"../ui/drawer\";\n\ntype DrawerProps = ComponentProps<typeof DrawerPrimitive.Root>;\ntype DrawerTriggerProps = ComponentProps<typeof DrawerPrimitive.Trigger>;\ntype DrawerPortalProps = ComponentProps<typeof DrawerPrimitive.Portal>;\ntype DrawerCloseProps = ComponentProps<typeof DrawerPrimitive.Close>;\ntype DrawerOverlayProps = ComponentProps<typeof DrawerPrimitive.Overlay>;\ntype DrawerContentProps = ComponentProps<typeof DrawerPrimitive.Content>;\ntype DrawerHeaderProps = ComponentProps<\"div\">;\ntype DrawerFooterProps = ComponentProps<\"div\">;\ntype DrawerTitleProps = ComponentProps<typeof DrawerPrimitive.Title>;\ntype DrawerDescriptionProps = ComponentProps<typeof DrawerPrimitive.Description>;\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: {\n content?: React.ReactNode | string;\n props?: DrawerTitleProps;\n };\n description?: {\n content?: React.ReactNode | string;\n props?: DrawerDescriptionProps;\n };\n\n btnCancel?: {\n props?: ButtonProps;\n label?: string;\n };\n btnConfirm?: {\n props?: ButtonProps;\n label?: string;\n };\n\n drawer?: DrawerProps;\n trigger?: {\n children?: React.ReactNode;\n props?: DrawerTriggerProps;\n };\n close?: DrawerCloseProps;\n content?: DrawerContentProps;\n header?: DrawerHeaderProps;\n footer?: DrawerFooterProps | null;\n children?: React.ReactNode;\n\n onConfirm?: () => void;\n};\n\nexport const BasicDrawer = ({\n title,\n description,\n footer,\n open,\n drawer,\n trigger,\n close,\n content,\n header,\n btnCancel,\n btnConfirm,\n children,\n\n onOpenChange,\n onConfirm,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter = footer && (\n <DrawerFooter {...footer}>\n <DrawerClose\n asChild\n {...close}\n >\n <Button\n {...btnCancel?.props}\n onClick={handleCancelClick}\n >\n {btnCancel?.label}\n </Button>\n </DrawerClose>\n <Button\n {...btnConfirm?.props}\n onClick={handleConfirmClick}\n >\n {btnConfirm?.label}\n </Button>\n </DrawerFooter>\n );\n\n return (\n <Drawer\n {...drawer}\n open={open}\n onOpenChange={onOpenChange}\n >\n {trigger?.children && (\n <DrawerTrigger {...trigger?.props}>{trigger?.children}</DrawerTrigger>\n )}\n <DrawerContent {...content}>\n {title && (\n <DrawerHeader {...header}>\n <DrawerTitle {...title.props}>{title.content}</DrawerTitle>\n {description && (\n <DrawerDescription {...description.props}>\n {description.content}\n </DrawerDescription>\n )}\n </DrawerHeader>\n )}\n <div className=\"flex-1 overflow-auto\">{children}</div>\n {resolvedFooter}\n </DrawerContent>\n </Drawer>\n );\n};\n\nexport type {\n DrawerCloseProps,\n DrawerContentProps,\n DrawerDescriptionProps,\n DrawerFooterProps,\n DrawerHeaderProps,\n DrawerOverlayProps,\n DrawerPortalProps,\n DrawerProps,\n DrawerTitleProps,\n DrawerTriggerProps,\n};\n"],"names":["BasicDrawer","title","description","footer","open","drawer","trigger","close","content","header","btnCancel","btnConfirm","children","onOpenChange","onConfirm","handleCancelClick","handleConfirmClick","resolvedFooter","jsxs","DrawerFooter","jsx","DrawerClose","Button","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription"],"mappings":"mSA4DaA,EAAc,CAAC,CAC1B,MAAAC,EACA,YAAAC,EACA,OAAAC,EACA,KAAAC,EACA,OAAAC,EACA,QAAAC,EACA,MAAAC,EACA,QAAAC,EACA,OAAAC,EACA,UAAAC,EACA,WAAAC,EACA,SAAAC,EAEA,aAAAC,EACA,UAAAC,CACF,IAAa,CACX,MAAMC,EAAoB,IAAM,CAC9BF,EAAa,EAAK,CACpB,EAEMG,EAAqB,IAAM,CAC/BF,IAAA,EACAD,EAAa,EAAK,CACpB,EAEMI,EAAiBd,GACrBe,EAAAA,KAACC,EAAAA,aAAA,CAAc,GAAGhB,EAChB,SAAA,CAAAiB,EAAAA,IAACC,EAAAA,YAAA,CACC,QAAO,GACN,GAAGd,EAEJ,SAAAa,EAAAA,IAACE,EAAAA,OAAA,CACE,GAAGZ,GAAW,MACf,QAASK,EAER,SAAAL,GAAW,KAAA,CAAA,CACd,CAAA,EAEFU,EAAAA,IAACE,EAAAA,OAAA,CACE,GAAGX,GAAY,MAChB,QAASK,EAER,SAAAL,GAAY,KAAA,CAAA,CACf,EACF,EAGF,OACEO,EAAAA,KAACK,EAAAA,OAAA,CACE,GAAGlB,EACJ,KAAAD,EACA,aAAAS,EAEC,SAAA,CAAAP,GAAS,UACRc,MAACI,EAAAA,cAAA,CAAe,GAAGlB,GAAS,MAAQ,YAAS,SAAS,EAExDY,EAAAA,KAACO,EAAAA,cAAA,CAAe,GAAGjB,EAChB,SAAA,CAAAP,GACCiB,EAAAA,KAACQ,EAAAA,aAAA,CAAc,GAAGjB,EAChB,SAAA,CAAAW,MAACO,EAAAA,YAAA,CAAa,GAAG1B,EAAM,MAAQ,WAAM,QAAQ,EAC5CC,GACCkB,EAAAA,IAACQ,EAAAA,kBAAA,CAAmB,GAAG1B,EAAY,MAChC,WAAY,OAAA,CACf,CAAA,EAEJ,EAEFkB,EAAAA,IAAC,MAAA,CAAI,UAAU,uBAAwB,SAAAR,CAAA,CAAS,EAC/CK,CAAA,CAAA,CACH,CAAA,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-drawer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const o=require("./components-ui-dialog-dialog.cjs"),g=({open:a,onOpenChange:l,title:r,cancelLabel:s="Отмена",confirmLabel:c="Ок",onConfirm:d,children:u,classes:i,footer:t,showCloseButton:j=!1,ariaDescribedby:m=void 0})=>{const x=()=>{l(!1)},h=()=>{d?.(),l(!1)},b=t===void 0?e.jsxs(o.DialogFooter,{className:i?.footer,children:[e.jsx(n.Button,{variant:"secondary",onClick:x,children:s}),e.jsx(n.Button,{onClick:h,children:c})]}):t;return e.jsx(o.Dialog,{open:a,onOpenChange:l,children:e.jsxs(o.DialogContent,{"aria-describedby":m,showCloseButton:j,children:[r&&e.jsx(o.DialogHeader,{className:i?.header,children:e.jsx(o.DialogTitle,{className:i?.title,children:r})}),e.jsx("div",{className:i?.body,children:u}),b]})})};exports.BasicModal=g;
|
|
2
|
+
//# sourceMappingURL=components-basic-modal-basic-modal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-modal-basic-modal.cjs","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: React.ReactNode | string;\n cancelLabel?: string;\n confirmLabel?: string;\n onConfirm?: () => void;\n classes?: {\n content?: string;\n header?: string;\n body?: string;\n footer?: string;\n title?: string;\n };\n children: React.ReactNode;\n footer?: React.ReactNode;\n showCloseButton?: boolean;\n ariaDescribedby?: string;\n};\n\nexport const BasicModal = ({\n open,\n onOpenChange,\n title,\n cancelLabel = \"Отмена\",\n confirmLabel = \"Ок\",\n onConfirm,\n children,\n classes,\n footer,\n showCloseButton = false,\n ariaDescribedby = undefined,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter =\n footer === undefined ? (\n <DialogFooter className={classes?.footer}>\n <Button\n variant=\"secondary\"\n onClick={handleCancelClick}\n >\n {cancelLabel}\n </Button>\n <Button onClick={handleConfirmClick}>{confirmLabel}</Button>\n </DialogFooter>\n ) : (\n footer\n );\n\n return (\n <Dialog\n open={open}\n onOpenChange={onOpenChange}\n >\n <DialogContent\n aria-describedby={ariaDescribedby}\n showCloseButton={showCloseButton}\n >\n {title && (\n <DialogHeader className={classes?.header}>\n <DialogTitle className={classes?.title}>{title}</DialogTitle>\n </DialogHeader>\n )}\n <div className={classes?.body}>{children}</div>\n {resolvedFooter}\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["BasicModal","open","onOpenChange","title","cancelLabel","confirmLabel","onConfirm","children","classes","footer","showCloseButton","ariaDescribedby","handleCancelClick","handleConfirmClick","resolvedFooter","DialogFooter","jsx","Button","Dialog","jsxs","DialogContent","DialogHeader","DialogTitle"],"mappings":"6QA6BaA,EAAa,CAAC,CACzB,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,SACd,aAAAC,EAAe,KACf,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,EAAkB,GAClB,gBAAAC,EAAkB,MACpB,IAAa,CACX,MAAMC,EAAoB,IAAM,CAC9BV,EAAa,EAAK,CACpB,EAEMW,EAAqB,IAAM,CAC/BP,IAAA,EACAJ,EAAa,EAAK,CACpB,EAEMY,EACJL,IAAW,cACRM,eAAA,CAAa,UAAWP,GAAS,OAChC,SAAA,CAAAQ,EAAAA,IAACC,EAAAA,OAAA,CACC,QAAQ,YACR,QAASL,EAER,SAAAR,CAAA,CAAA,EAEHY,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAASJ,EAAqB,SAAAR,CAAA,CAAa,CAAA,CAAA,CACrD,EAEAI,EAGJ,OACEO,EAAAA,IAACE,EAAAA,OAAA,CACC,KAAAjB,EACA,aAAAC,EAEA,SAAAiB,EAAAA,KAACC,EAAAA,cAAA,CACC,mBAAkBT,EAClB,gBAAAD,EAEC,SAAA,CAAAP,GACCa,EAAAA,IAACK,eAAA,CAAa,UAAWb,GAAS,OAChC,SAAAQ,EAAAA,IAACM,EAAAA,YAAA,CAAY,UAAWd,GAAS,MAAQ,SAAAL,CAAA,CAAM,EACjD,EAEFa,EAAAA,IAAC,MAAA,CAAI,UAAWR,GAAS,KAAO,SAAAD,EAAS,EACxCO,CAAA,CAAA,CAAA,CACH,CAAA,CAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-basic-modal.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("./components-ui-select-select.cjs"),j=c=>c.length>0&&"items"in c[0],o=({data:c,size:n="default",disabled:r=!1,placeholder:a="Select item...",currentValue:i="",onValueChange:u=()=>{}})=>e.jsxs(l.Select,{value:i,onValueChange:u,children:[e.jsx(l.SelectTrigger,{size:n,disabled:r,className:"w-full max-w-48",children:e.jsx(l.SelectValue,{placeholder:a})}),e.jsx(l.SelectContent,{className:"w-2.5",children:j(c)?c.map((s,S)=>e.jsxs("div",{children:[e.jsxs(l.SelectGroup,{children:[e.jsx(l.SelectLabel,{children:s.label}),s.items.map(t=>e.jsx(l.SelectItem,{value:t.value,children:t.label},t.value))]}),S<c.length-1&&e.jsx(l.SelectSeparator,{})]},s.label)):c.map(s=>e.jsx(l.SelectItem,{value:s.value,children:s.label},s.value))})]});exports.BasicSelect=o;
|
|
2
|
+
//# sourceMappingURL=components-basic-select-basic-select.cjs.map
|