@synertech/ui 0.43.0 → 0.45.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/.claude/skills/use-synertech-ui/SKILL.md +178 -5
- package/README.md +36 -8
- package/dist/components/accordion/Accordion.cjs +1 -0
- package/dist/components/accordion/Accordion.js +1 -0
- package/dist/components/accordion/index.cjs +1 -0
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/advance-detachable/AdvanceDetachable.cjs +1 -0
- package/dist/components/advance-detachable/AdvanceDetachable.js +1 -0
- package/dist/components/advance-detachable/index.cjs +1 -0
- package/dist/components/advance-detachable/index.js +1 -0
- package/dist/components/area-chart/AreaChart.cjs +1 -0
- package/dist/components/area-chart/AreaChart.js +1 -0
- package/dist/components/area-chart/index.cjs +1 -0
- package/dist/components/area-chart/index.js +1 -0
- package/dist/components/avatar/Avatar.cjs +1 -0
- package/dist/components/avatar/Avatar.js +1 -0
- package/dist/components/avatar/index.cjs +1 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/badge/Badge.cjs +1 -0
- package/dist/components/badge/Badge.js +1 -0
- package/dist/components/badge/index.cjs +1 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/banner/Banner.cjs +1 -0
- package/dist/components/banner/Banner.js +1 -0
- package/dist/components/banner/index.cjs +1 -0
- package/dist/components/banner/index.js +1 -0
- package/dist/components/bar-chart/BarChart.cjs +1 -0
- package/dist/components/bar-chart/BarChart.js +1 -0
- package/dist/components/bar-chart/index.cjs +1 -0
- package/dist/components/bar-chart/index.js +1 -0
- package/dist/components/box-plot/BoxPlot.cjs +1 -0
- package/dist/components/box-plot/BoxPlot.js +1 -0
- package/dist/components/box-plot/index.cjs +1 -0
- package/dist/components/box-plot/index.js +1 -0
- package/dist/components/breadcrumb/Breadcrumb.cjs +1 -0
- package/dist/components/breadcrumb/Breadcrumb.js +1 -0
- package/dist/components/breadcrumb/index.cjs +1 -0
- package/dist/components/breadcrumb/index.js +1 -0
- package/dist/components/bullet-chart/BulletChart.cjs +1 -0
- package/dist/components/bullet-chart/BulletChart.js +1 -0
- package/dist/components/bullet-chart/index.cjs +1 -0
- package/dist/components/bullet-chart/index.js +1 -0
- package/dist/components/button/Button.cjs +1 -0
- package/dist/components/button/Button.js +1 -0
- package/dist/components/button/index.cjs +1 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/button-group/ButtonGroup.cjs +1 -0
- package/dist/components/button-group/ButtonGroup.js +1 -0
- package/dist/components/button-group/index.cjs +1 -0
- package/dist/components/button-group/index.js +1 -0
- package/dist/components/calendar/Calendar.cjs +1 -0
- package/dist/components/calendar/Calendar.js +1 -0
- package/dist/components/calendar/index.cjs +1 -0
- package/dist/components/calendar/index.js +1 -0
- package/dist/components/candlestick-chart/CandlestickChart.cjs +1 -0
- package/dist/components/candlestick-chart/CandlestickChart.js +1 -0
- package/dist/components/candlestick-chart/index.cjs +1 -0
- package/dist/components/candlestick-chart/index.js +1 -0
- package/dist/components/card/Card.cjs +1 -0
- package/dist/components/card/Card.js +1 -0
- package/dist/components/card/CardBody.cjs +1 -0
- package/dist/components/card/CardBody.js +1 -0
- package/dist/components/card/CardDescription.cjs +1 -0
- package/dist/components/card/CardDescription.js +1 -0
- package/dist/components/card/CardFooter.cjs +1 -0
- package/dist/components/card/CardFooter.js +1 -0
- package/dist/components/card/CardHeader.cjs +1 -0
- package/dist/components/card/CardHeader.js +1 -0
- package/dist/components/card/CardImage.cjs +1 -0
- package/dist/components/card/CardImage.js +1 -0
- package/dist/components/card/CardTitle.cjs +1 -0
- package/dist/components/card/CardTitle.js +1 -0
- package/dist/components/card/index.cjs +1 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/chart/ChartAnnotations.cjs +1 -0
- package/dist/components/chart/ChartAnnotations.js +1 -0
- package/dist/components/chart/ChartAxis.cjs +1 -0
- package/dist/components/chart/ChartAxis.js +1 -0
- package/dist/components/chart/ChartBrush.cjs +1 -0
- package/dist/components/chart/ChartBrush.js +1 -0
- package/dist/components/chart/ChartContainer.cjs +1 -0
- package/dist/components/chart/ChartContainer.js +1 -0
- package/dist/components/chart/ChartExportButton.cjs +1 -0
- package/dist/components/chart/ChartExportButton.js +1 -0
- package/dist/components/chart/ChartFacets.cjs +1 -0
- package/dist/components/chart/ChartFacets.js +1 -0
- package/dist/components/chart/ChartFilterBar.cjs +1 -0
- package/dist/components/chart/ChartFilterBar.js +1 -0
- package/dist/components/chart/ChartGrid.cjs +1 -0
- package/dist/components/chart/ChartGrid.js +1 -0
- package/dist/components/chart/ChartLegend.cjs +1 -0
- package/dist/components/chart/ChartLegend.js +1 -0
- package/dist/components/chart/ChartPatterns.cjs +1 -0
- package/dist/components/chart/ChartPatterns.js +1 -0
- package/dist/components/chart/ChartPeriodPicker.cjs +1 -0
- package/dist/components/chart/ChartPeriodPicker.js +1 -0
- package/dist/components/chart/ChartScaleLegend.cjs +1 -0
- package/dist/components/chart/ChartScaleLegend.js +1 -0
- package/dist/components/chart/ChartSync.cjs +1 -0
- package/dist/components/chart/ChartSync.js +1 -0
- package/dist/components/chart/ChartTableView.cjs +1 -0
- package/dist/components/chart/ChartTableView.js +1 -0
- package/dist/components/chart/ChartTooltip.cjs +1 -0
- package/dist/components/chart/ChartTooltip.js +1 -0
- package/dist/components/chart/chart.types.cjs +1 -0
- package/dist/components/chart/chart.types.js +0 -0
- package/dist/components/chart/index.cjs +1 -0
- package/dist/components/chart/index.js +1 -0
- package/dist/components/chart/palette.cjs +1 -0
- package/dist/components/chart/palette.js +1 -0
- package/dist/components/chart/useChartSize.cjs +1 -0
- package/dist/components/chart/useChartSize.js +1 -0
- package/dist/components/chart/utils/bins.cjs +1 -0
- package/dist/components/chart/utils/bins.js +1 -0
- package/dist/components/chart/utils/cartesian.cjs +1 -0
- package/dist/components/chart/utils/cartesian.js +1 -0
- package/dist/components/chart/utils/data.cjs +1 -0
- package/dist/components/chart/utils/data.js +1 -0
- package/dist/components/chart/utils/decimate.cjs +1 -0
- package/dist/components/chart/utils/decimate.js +1 -0
- package/dist/components/chart/utils/export.cjs +2 -0
- package/dist/components/chart/utils/export.js +2 -0
- package/dist/components/chart/utils/format.cjs +1 -0
- package/dist/components/chart/utils/format.js +1 -0
- package/dist/components/chart/utils/path.cjs +1 -0
- package/dist/components/chart/utils/path.js +1 -0
- package/dist/components/chart/utils/period.cjs +1 -0
- package/dist/components/chart/utils/period.js +1 -0
- package/dist/components/chart/utils/quantile.cjs +1 -0
- package/dist/components/chart/utils/quantile.js +1 -0
- package/dist/components/chart/utils/scales.cjs +1 -0
- package/dist/components/chart/utils/scales.js +1 -0
- package/dist/components/chart/utils/stack.cjs +1 -0
- package/dist/components/chart/utils/stack.js +1 -0
- package/dist/components/chart/utils/text.cjs +1 -0
- package/dist/components/chart/utils/text.js +1 -0
- package/dist/components/chart/utils/ticks.cjs +1 -0
- package/dist/components/chart/utils/ticks.js +1 -0
- package/dist/components/chart/utils/time.cjs +1 -0
- package/dist/components/chart/utils/time.js +1 -0
- package/dist/components/checkbox/Checkbox.cjs +1 -0
- package/dist/components/checkbox/Checkbox.js +1 -0
- package/dist/components/checkbox/CheckboxGroup.cjs +1 -0
- package/dist/components/checkbox/CheckboxGroup.js +1 -0
- package/dist/components/checkbox/index.cjs +1 -0
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/chip/Chip.cjs +1 -0
- package/dist/components/chip/Chip.js +1 -0
- package/dist/components/chip/index.cjs +1 -0
- package/dist/components/chip/index.js +1 -0
- package/dist/components/circular-progress/CircularProgress.cjs +1 -0
- package/dist/components/circular-progress/CircularProgress.js +1 -0
- package/dist/components/circular-progress/index.cjs +1 -0
- package/dist/components/circular-progress/index.js +1 -0
- package/dist/components/datagrid/DataGrid.cjs +2 -0
- package/dist/components/datagrid/DataGrid.js +2 -0
- package/dist/components/datagrid/index.cjs +1 -0
- package/dist/components/datagrid/index.js +1 -0
- package/dist/components/detachable/Detachable.cjs +1 -0
- package/dist/components/detachable/Detachable.js +1 -0
- package/dist/components/detachable/index.cjs +1 -0
- package/dist/components/detachable/index.js +1 -0
- package/dist/components/device-mockup/DeviceMockup.cjs +1 -0
- package/dist/components/device-mockup/DeviceMockup.js +1 -0
- package/dist/components/device-mockup/index.cjs +1 -0
- package/dist/components/device-mockup/index.js +1 -0
- package/dist/components/divider/Divider.cjs +1 -0
- package/dist/components/divider/Divider.js +1 -0
- package/dist/components/divider/index.cjs +1 -0
- package/dist/components/divider/index.js +1 -0
- package/dist/components/drawer/Drawer.cjs +1 -0
- package/dist/components/drawer/Drawer.js +1 -0
- package/dist/components/drawer/index.cjs +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/dropdown/Dropdown.cjs +1 -0
- package/dist/components/dropdown/Dropdown.js +1 -0
- package/dist/components/dropdown/DropdownCheckboxItem.cjs +1 -0
- package/dist/components/dropdown/DropdownCheckboxItem.js +1 -0
- package/dist/components/dropdown/DropdownContent.cjs +1 -0
- package/dist/components/dropdown/DropdownContent.js +1 -0
- package/dist/components/dropdown/DropdownItem.cjs +1 -0
- package/dist/components/dropdown/DropdownItem.js +1 -0
- package/dist/components/dropdown/DropdownRadio.cjs +1 -0
- package/dist/components/dropdown/DropdownRadio.js +1 -0
- package/dist/components/dropdown/DropdownSeparator.cjs +1 -0
- package/dist/components/dropdown/DropdownSeparator.js +1 -0
- package/dist/components/dropdown/DropdownSubMenu.cjs +1 -0
- package/dist/components/dropdown/DropdownSubMenu.js +1 -0
- package/dist/components/dropdown/DropdownTrigger.cjs +1 -0
- package/dist/components/dropdown/DropdownTrigger.js +1 -0
- package/dist/components/dropdown/hooks/index.cjs +1 -0
- package/dist/components/dropdown/hooks/index.js +1 -0
- package/dist/components/dropdown/hooks/useClickOutside.cjs +1 -0
- package/dist/components/dropdown/hooks/useClickOutside.js +1 -0
- package/dist/components/dropdown/hooks/useKeyboardNavigation.cjs +1 -0
- package/dist/components/dropdown/hooks/useKeyboardNavigation.js +1 -0
- package/dist/components/dropdown/hooks/useLatest.cjs +1 -0
- package/dist/components/dropdown/hooks/useLatest.js +1 -0
- package/dist/components/dropdown/hooks/usePositioning.cjs +1 -0
- package/dist/components/dropdown/hooks/usePositioning.js +1 -0
- package/dist/components/dropdown/index.cjs +1 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/dumbbell-chart/DumbbellChart.cjs +1 -0
- package/dist/components/dumbbell-chart/DumbbellChart.js +1 -0
- package/dist/components/dumbbell-chart/index.cjs +1 -0
- package/dist/components/dumbbell-chart/index.js +1 -0
- package/dist/components/file-selector/FileSelector.cjs +1 -0
- package/dist/components/file-selector/FileSelector.js +1 -0
- package/dist/components/file-selector/index.cjs +1 -0
- package/dist/components/file-selector/index.js +1 -0
- package/dist/components/footer/Footer.cjs +1 -0
- package/dist/components/footer/Footer.js +1 -0
- package/dist/components/footer/FooterBottom.cjs +1 -0
- package/dist/components/footer/FooterBottom.js +1 -0
- package/dist/components/footer/FooterColumn.cjs +1 -0
- package/dist/components/footer/FooterColumn.js +1 -0
- package/dist/components/footer/FooterLink.cjs +1 -0
- package/dist/components/footer/FooterLink.js +1 -0
- package/dist/components/footer/FooterSection.cjs +1 -0
- package/dist/components/footer/FooterSection.js +1 -0
- package/dist/components/footer/FooterSocial.cjs +1 -0
- package/dist/components/footer/FooterSocial.js +1 -0
- package/dist/components/footer/index.cjs +1 -0
- package/dist/components/footer/index.js +1 -0
- package/dist/components/form/index.cjs +1 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/input/Input.cjs +1 -0
- package/dist/components/form/input/Input.js +1 -0
- package/dist/components/form/input/index.cjs +1 -0
- package/dist/components/form/input/index.js +1 -0
- package/dist/components/form/mention-input/MentionInput.cjs +1 -0
- package/dist/components/form/mention-input/MentionInput.js +1 -0
- package/dist/components/form/mention-input/index.cjs +1 -0
- package/dist/components/form/mention-input/index.js +1 -0
- package/dist/components/form/number-input/NumberInput.cjs +1 -0
- package/dist/components/form/number-input/NumberInput.js +1 -0
- package/dist/components/form/number-input/index.cjs +1 -0
- package/dist/components/form/number-input/index.js +1 -0
- package/dist/components/form/shared/InputWrapper.cjs +1 -0
- package/dist/components/form/shared/InputWrapper.js +1 -0
- package/dist/components/form/shared/inputStyles.cjs +1 -0
- package/dist/components/form/shared/inputStyles.js +1 -0
- package/dist/components/form/types/mention.cjs +1 -0
- package/dist/components/form/types/mention.js +0 -0
- package/dist/components/funnel-chart/FunnelChart.cjs +1 -0
- package/dist/components/funnel-chart/FunnelChart.js +1 -0
- package/dist/components/funnel-chart/index.cjs +1 -0
- package/dist/components/funnel-chart/index.js +1 -0
- package/dist/components/gantt-chart/GanttChart.cjs +1 -0
- package/dist/components/gantt-chart/GanttChart.js +1 -0
- package/dist/components/gantt-chart/index.cjs +1 -0
- package/dist/components/gantt-chart/index.js +1 -0
- package/dist/components/header/Header.cjs +1 -0
- package/dist/components/header/Header.js +1 -0
- package/dist/components/header/index.cjs +1 -0
- package/dist/components/header/index.js +1 -0
- package/dist/components/heat-map/Heatmap.cjs +1 -0
- package/dist/components/heat-map/Heatmap.js +1 -0
- package/dist/components/heat-map/index.cjs +1 -0
- package/dist/components/heat-map/index.js +1 -0
- package/dist/components/help-button/HelpButton.cjs +22 -0
- package/dist/components/help-button/HelpButton.js +22 -0
- package/dist/components/help-button/MarkdownEditor.cjs +1 -0
- package/dist/components/help-button/MarkdownEditor.js +1 -0
- package/dist/components/help-button/index.cjs +1 -0
- package/dist/components/help-button/index.js +1 -0
- package/dist/components/help-button/types.cjs +1 -0
- package/dist/components/help-button/types.js +0 -0
- package/dist/components/image-uploader/ImageUploader.cjs +1 -0
- package/dist/components/image-uploader/ImageUploader.js +1 -0
- package/dist/components/image-uploader/index.cjs +1 -0
- package/dist/components/image-uploader/index.js +1 -0
- package/dist/components/index.cjs +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/indicator/Indicator.cjs +1 -0
- package/dist/components/indicator/Indicator.js +1 -0
- package/dist/components/indicator/index.cjs +1 -0
- package/dist/components/indicator/index.js +1 -0
- package/dist/components/label/Label.cjs +1 -0
- package/dist/components/label/Label.js +1 -0
- package/dist/components/label/index.cjs +1 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/line-chart/LineChart.cjs +1 -0
- package/dist/components/line-chart/LineChart.js +1 -0
- package/dist/components/line-chart/index.cjs +1 -0
- package/dist/components/line-chart/index.js +1 -0
- package/dist/components/modal/Modal.cjs +1 -0
- package/dist/components/modal/Modal.js +1 -0
- package/dist/components/modal/index.cjs +1 -0
- package/dist/components/modal/index.js +1 -0
- package/dist/components/pagination/Pagination.cjs +1 -0
- package/dist/components/pagination/Pagination.js +1 -0
- package/dist/components/pagination/index.cjs +1 -0
- package/dist/components/pagination/index.js +1 -0
- package/dist/components/pie-chart/PieChart.cjs +1 -0
- package/dist/components/pie-chart/PieChart.js +1 -0
- package/dist/components/pie-chart/index.cjs +1 -0
- package/dist/components/pie-chart/index.js +1 -0
- package/dist/components/progress-bar/ProgressBar.cjs +1 -0
- package/dist/components/progress-bar/ProgressBar.js +1 -0
- package/dist/components/progress-bar/index.cjs +1 -0
- package/dist/components/progress-bar/index.js +1 -0
- package/dist/components/radio-button/RadioButton.cjs +1 -0
- package/dist/components/radio-button/RadioButton.js +1 -0
- package/dist/components/radio-button/index.cjs +1 -0
- package/dist/components/radio-button/index.js +1 -0
- package/dist/components/scatter-chart/ScatterChart.cjs +1 -0
- package/dist/components/scatter-chart/ScatterChart.js +1 -0
- package/dist/components/scatter-chart/index.cjs +1 -0
- package/dist/components/scatter-chart/index.js +1 -0
- package/dist/components/schema-editor/SchemaEditor.cjs +1 -0
- package/dist/components/schema-editor/SchemaEditor.js +1 -0
- package/dist/components/schema-editor/SchemaEditor.types.cjs +1 -0
- package/dist/components/schema-editor/SchemaEditor.types.js +0 -0
- package/dist/components/schema-editor/canvas/GridLayer.cjs +1 -0
- package/dist/components/schema-editor/canvas/GridLayer.js +1 -0
- package/dist/components/schema-editor/index.cjs +1 -0
- package/dist/components/schema-editor/index.js +1 -0
- package/dist/components/schema-editor/legend/SchemaLegend.cjs +1 -0
- package/dist/components/schema-editor/legend/SchemaLegend.js +1 -0
- package/dist/components/schema-editor/minimap/SchemaMinimap.cjs +1 -0
- package/dist/components/schema-editor/minimap/SchemaMinimap.js +1 -0
- package/dist/components/schema-editor/relations/SchemaRelationRenderer.cjs +1 -0
- package/dist/components/schema-editor/relations/SchemaRelationRenderer.js +1 -0
- package/dist/components/schema-editor/tables/SchemaTableRenderer.cjs +1 -0
- package/dist/components/schema-editor/tables/SchemaTableRenderer.js +1 -0
- package/dist/components/schema-editor/toolbar/SchemaToolbar.cjs +1 -0
- package/dist/components/schema-editor/toolbar/SchemaToolbar.js +1 -0
- package/dist/components/schema-editor/utils/auto-layout.cjs +1 -0
- package/dist/components/schema-editor/utils/auto-layout.js +1 -0
- package/dist/components/schema-editor/utils/geometry.cjs +1 -0
- package/dist/components/schema-editor/utils/geometry.js +1 -0
- package/dist/components/schema-editor/utils/schema-helpers.cjs +1 -0
- package/dist/components/schema-editor/utils/schema-helpers.js +1 -0
- package/dist/components/schema-editor/utils/sql-export.cjs +9 -0
- package/dist/components/schema-editor/utils/sql-export.js +9 -0
- package/dist/components/select/Select.cjs +1 -0
- package/dist/components/select/Select.js +1 -0
- package/dist/components/select/index.cjs +1 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/sidebar/Sidebar.cjs +1 -0
- package/dist/components/sidebar/Sidebar.js +1 -0
- package/dist/components/sidebar/index.cjs +1 -0
- package/dist/components/sidebar/index.js +1 -0
- package/dist/components/skeleton/Skeleton.cjs +1 -0
- package/dist/components/skeleton/Skeleton.js +1 -0
- package/dist/components/skeleton/index.cjs +1 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/slider/Slider.cjs +1 -0
- package/dist/components/slider/Slider.js +1 -0
- package/dist/components/slider/index.cjs +1 -0
- package/dist/components/slider/index.js +1 -0
- package/dist/components/sparkline/Sparkline.cjs +1 -0
- package/dist/components/sparkline/Sparkline.js +1 -0
- package/dist/components/sparkline/index.cjs +1 -0
- package/dist/components/sparkline/index.js +1 -0
- package/dist/components/stat-card/StatCard.cjs +1 -0
- package/dist/components/stat-card/StatCard.js +1 -0
- package/dist/components/stat-card/StatCardGroup.cjs +1 -0
- package/dist/components/stat-card/StatCardGroup.js +1 -0
- package/dist/components/stat-card/index.cjs +1 -0
- package/dist/components/stat-card/index.js +1 -0
- package/dist/components/table/Table.cjs +1 -0
- package/dist/components/table/Table.js +1 -0
- package/dist/components/table/TableBody.cjs +1 -0
- package/dist/components/table/TableBody.js +1 -0
- package/dist/components/table/TableCell.cjs +1 -0
- package/dist/components/table/TableCell.js +1 -0
- package/dist/components/table/TableHeader.cjs +1 -0
- package/dist/components/table/TableHeader.js +1 -0
- package/dist/components/table/TableHeaderCell.cjs +1 -0
- package/dist/components/table/TableHeaderCell.js +1 -0
- package/dist/components/table/TableRow.cjs +1 -0
- package/dist/components/table/TableRow.js +1 -0
- package/dist/components/table/index.cjs +1 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/tabs/Tabs.cjs +1 -0
- package/dist/components/tabs/Tabs.js +1 -0
- package/dist/components/tabs/TabsContent.cjs +1 -0
- package/dist/components/tabs/TabsContent.js +1 -0
- package/dist/components/tabs/TabsContext.cjs +1 -0
- package/dist/components/tabs/TabsContext.js +1 -0
- package/dist/components/tabs/TabsList.cjs +1 -0
- package/dist/components/tabs/TabsList.js +1 -0
- package/dist/components/tabs/TabsTrigger.cjs +1 -0
- package/dist/components/tabs/TabsTrigger.js +1 -0
- package/dist/components/tabs/index.cjs +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/toast/Toast.cjs +1 -0
- package/dist/components/toast/Toast.js +1 -0
- package/dist/components/toast/index.cjs +1 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/tooltip/Tooltip.cjs +1 -0
- package/dist/components/tooltip/Tooltip.js +1 -0
- package/dist/components/tooltip/index.cjs +1 -0
- package/dist/components/tooltip/index.js +1 -0
- package/dist/components/waterfall-chart/WaterfallChart.cjs +1 -0
- package/dist/components/waterfall-chart/WaterfallChart.js +1 -0
- package/dist/components/waterfall-chart/index.cjs +1 -0
- package/dist/components/waterfall-chart/index.js +1 -0
- package/dist/components/wizard/Wizard.cjs +1 -0
- package/dist/components/wizard/Wizard.js +1 -0
- package/dist/components/wizard/index.cjs +1 -0
- package/dist/components/wizard/index.js +1 -0
- package/dist/components/workflow-editor/WorkflowEditor.cjs +1 -0
- package/dist/components/workflow-editor/WorkflowEditor.js +1 -0
- package/dist/components/workflow-editor/WorkflowEditor.types.cjs +1 -0
- package/dist/components/workflow-editor/WorkflowEditor.types.js +0 -0
- package/dist/components/workflow-editor/canvas/GridLayer.cjs +1 -0
- package/dist/components/workflow-editor/canvas/GridLayer.js +1 -0
- package/dist/components/workflow-editor/edges/WorkflowEdgeRenderer.cjs +1 -0
- package/dist/components/workflow-editor/edges/WorkflowEdgeRenderer.js +1 -0
- package/dist/components/workflow-editor/index.cjs +1 -0
- package/dist/components/workflow-editor/index.js +1 -0
- package/dist/components/workflow-editor/nodes/WorkflowNodeRenderer.cjs +1 -0
- package/dist/components/workflow-editor/nodes/WorkflowNodeRenderer.js +1 -0
- package/dist/components/workflow-editor/toolbar/WorkflowToolbar.cjs +1 -0
- package/dist/components/workflow-editor/toolbar/WorkflowToolbar.js +1 -0
- package/dist/components/workflow-editor/utils/geometry.cjs +1 -0
- package/dist/components/workflow-editor/utils/geometry.js +1 -0
- package/dist/hooks/index.cjs +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useDialogA11y.cjs +1 -0
- package/dist/hooks/useDialogA11y.js +1 -0
- package/dist/index.cjs +1 -31
- package/dist/index.d.cts +778 -106
- package/dist/index.d.ts +778 -106
- package/dist/index.js +1 -31
- package/dist/lib/aria-hide.cjs +1 -0
- package/dist/lib/aria-hide.js +1 -0
- package/dist/lib/cn.cjs +1 -0
- package/dist/lib/cn.js +1 -0
- package/dist/lib/dialog-stack.cjs +1 -0
- package/dist/lib/dialog-stack.js +1 -0
- package/dist/lib/focus.cjs +1 -0
- package/dist/lib/focus.js +1 -0
- package/dist/lib/i18n.cjs +1 -0
- package/dist/lib/i18n.js +1 -0
- package/dist/markdown-editor.cjs +1 -1
- package/dist/markdown-editor.js +1 -1
- package/dist/styles.css +139 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var W=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var o in r)m(e,o,{get:r[o],enumerable:!0})},V=(e,r,o,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of T(r))!W.call(e,s)&&s!==o&&m(e,s,{get:()=>r[s],enumerable:!(l=S(r,s))||l.enumerable});return e};var $=e=>V(m({},"__esModule",{value:!0}),e);var L={};M(L,{CircularProgress:()=>f});module.exports=$(L);var n=require("../../lib/cn.cjs"),t=require("react/jsx-runtime"),D={default:"stroke-gray-500 dark:stroke-gray-400",primary:"stroke-blue-600 dark:stroke-blue-500",success:"stroke-green-600 dark:stroke-green-500",warning:"stroke-yellow-500 dark:stroke-yellow-400",error:"stroke-red-600 dark:stroke-red-500",info:"stroke-cyan-600 dark:stroke-cyan-500"},O={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},j={xs:24,sm:32,md:48,lg:64,xl:96},B={xs:"text-[8px]",sm:"text-[10px]",md:"text-sm",lg:"text-base",xl:"text-xl"},I={thin:2,normal:4,thick:8};function f({value:e=0,indeterminate:r=!1,size:o="md",thickness:l="normal",color:s="primary",progressColor:p,trackColor:y,showValue:h=!1,children:C,valueFormat:k,animated:P=!0,className:v,...b}){let i=Math.min(100,Math.max(0,e)),a=j[o],u=I[l],g=(a-u)/2,c=2*Math.PI*g,d=a/2,w=c-i/100*c,N=p||D[s],R=y||"stroke-gray-200 dark:stroke-gray-700",z=O[s],x=C??(h&&!r?(0,t.jsx)("span",{className:(0,n.cn)("font-semibold",B[o],z),children:k?k(i):`${Math.round(i)}%`}):null);return(0,t.jsxs)("div",{className:(0,n.cn)("relative inline-flex items-center justify-center",v),role:"progressbar","aria-valuenow":r?void 0:i,"aria-valuemin":0,"aria-valuemax":100,...b,children:[(0,t.jsxs)("svg",{width:a,height:a,viewBox:`0 0 ${a} ${a}`,className:(0,n.cn)(r&&"animate-spin"),style:{transform:"rotate(-90deg)"},children:[(0,t.jsx)("circle",{cx:d,cy:d,r:g,fill:"none",strokeWidth:u,className:R}),(0,t.jsx)("circle",{cx:d,cy:d,r:g,fill:"none",strokeWidth:u,strokeLinecap:"round",strokeDasharray:c,strokeDashoffset:r?c*.75:w,className:(0,n.cn)(N,P&&!r&&"transition-[stroke-dashoffset] duration-300 ease-out")})]}),x&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",style:{transform:"rotate(0deg)"},children:x})]})}f.displayName="CircularProgress";0&&(module.exports={CircularProgress});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as a}from"../../lib/cn.js";import{jsx as n,jsxs as m}from"react/jsx-runtime";var z={default:"stroke-gray-500 dark:stroke-gray-400",primary:"stroke-blue-600 dark:stroke-blue-500",success:"stroke-green-600 dark:stroke-green-500",warning:"stroke-yellow-500 dark:stroke-yellow-400",error:"stroke-red-600 dark:stroke-red-500",info:"stroke-cyan-600 dark:stroke-cyan-500"},S={default:"text-gray-700 dark:text-gray-300",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-cyan-600 dark:text-cyan-400"},T={xs:24,sm:32,md:48,lg:64,xl:96},W={xs:"text-[8px]",sm:"text-[10px]",md:"text-sm",lg:"text-base",xl:"text-xl"},M={thin:2,normal:4,thick:8};function V({value:k=0,indeterminate:e=!1,size:c="md",thickness:x="normal",color:d="primary",progressColor:f,trackColor:p,showValue:y=!1,children:h,valueFormat:u,animated:C=!0,className:P,...v}){let s=Math.min(100,Math.max(0,k)),r=T[c],l=M[x],i=(r-l)/2,t=2*Math.PI*i,o=r/2,b=t-s/100*t,w=f||z[d],N=p||"stroke-gray-200 dark:stroke-gray-700",R=S[d],g=h??(y&&!e?n("span",{className:a("font-semibold",W[c],R),children:u?u(s):`${Math.round(s)}%`}):null);return m("div",{className:a("relative inline-flex items-center justify-center",P),role:"progressbar","aria-valuenow":e?void 0:s,"aria-valuemin":0,"aria-valuemax":100,...v,children:[m("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,className:a(e&&"animate-spin"),style:{transform:"rotate(-90deg)"},children:[n("circle",{cx:o,cy:o,r:i,fill:"none",strokeWidth:l,className:N}),n("circle",{cx:o,cy:o,r:i,fill:"none",strokeWidth:l,strokeLinecap:"round",strokeDasharray:t,strokeDashoffset:e?t*.75:b,className:a(w,C&&!e&&"transition-[stroke-dashoffset] duration-300 ease-out")})]}),g&&n("div",{className:"absolute inset-0 flex items-center justify-center",style:{transform:"rotate(0deg)"},children:g})]})}V.displayName="CircularProgress";export{V as CircularProgress};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var g=(s,r)=>{for(var e in r)i(s,e,{get:r[e],enumerable:!0})},u=(s,r,e,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of P(r))!a.call(s,o)&&o!==e&&i(s,o,{get:()=>r[o],enumerable:!(c=C(r,o))||c.enumerable});return s};var p=s=>u(i({},"__esModule",{value:!0}),s);var t={};g(t,{CircularProgress:()=>l.CircularProgress});module.exports=p(t);var l=require("./CircularProgress.cjs");0&&(module.exports={CircularProgress});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{CircularProgress as o}from"./CircularProgress.js";export{o as CircularProgress};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";"use client";var ar=Object.create;var me=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var sr=Object.getPrototypeOf,lr=Object.prototype.hasOwnProperty;var ir=(o,l)=>{for(var i in l)me(o,i,{get:l[i],enumerable:!0})},ot=(o,l,i,c)=>{if(l&&typeof l=="object"||typeof l=="function")for(let u of or(l))!lr.call(o,u)&&u!==i&&me(o,u,{get:()=>l[u],enumerable:!(c=nr(l,u))||c.enumerable});return o};var dr=(o,l,i)=>(i=o!=null?ar(sr(o)):{},ot(l||!o||!o.__esModule?me(i,"default",{value:o,enumerable:!0}):i,o)),cr=o=>ot(me({},"__esModule",{value:!0}),o);var Rr={};ir(Rr,{DataGrid:()=>Sr});module.exports=cr(Rr);var n=dr(require("react"),1),m=require("../../lib/cn.cjs"),t=require("react/jsx-runtime"),h={compact:"px-3 py-1.5",default:"px-4 py-3",comfortable:"px-6 py-4"},ye={compact:"text-xs",default:"text-sm",comfortable:"text-base"},gr=()=>(0,t.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 3l4 5H4l4-5z"})}),ur=()=>(0,t.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 13l4-5H4l4 5z"})}),pr=()=>(0,t.jsx)("svg",{className:"w-3.5 h-3.5 opacity-30",viewBox:"0 0 16 16",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 3l3 4H5l3-4zM8 13l3-4H5l3 4z"})}),st=({className:o})=>(0,t.jsx)("svg",{className:(0,m.cn)("w-4 h-4",o),viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),mr=()=>(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})}),br=()=>(0,t.jsx)("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{d:"M7 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 10.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})}),yr=()=>(0,t.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M2.628 1.601C5.028 1.206 7.49 1 10 1s4.973.206 7.372.601a.75.75 0 01.628.74v2.288a2.25 2.25 0 01-.659 1.59l-4.682 4.683a2.25 2.25 0 00-.659 1.59v3.037c0 .684-.31 1.33-.844 1.757l-1.937 1.55A.75.75 0 018 18.25v-5.757a2.25 2.25 0 00-.659-1.591L2.659 6.22A2.25 2.25 0 012 4.629V2.34a.75.75 0 01.628-.74z",clipRule:"evenodd"})}),fr=()=>(0,t.jsxs)("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:[(0,t.jsx)("path",{d:"M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z"}),(0,t.jsx)("path",{d:"M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z"})]}),hr=()=>(0,t.jsx)("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M2.5 3A1.5 1.5 0 001 4.5v11A1.5 1.5 0 002.5 17h15a1.5 1.5 0 001.5-1.5v-11A1.5 1.5 0 0017.5 3h-15zM2.5 4.5h6v11h-6v-11zm7.5 0h7.5v11H10v-11z",clipRule:"evenodd"})});function be(o,l,i){return typeof i=="function"?i(o,l):String(typeof i=="string"?o[i]:l)}function E(o,l){return o[l]}function vr(o,l){return o==null&&l==null?0:o==null?-1:l==null?1:typeof o=="number"&&typeof l=="number"?o-l:String(o).localeCompare(String(l))}function xr(o,l){let i=String(o??"").toLowerCase(),c=l.value.toLowerCase();switch(l.operator){case"contains":return i.includes(c);case"equals":return i===c;case"startsWith":return i.startsWith(c);case"endsWith":return i.endsWith(c);case"gt":return Number(o)>Number(l.value);case"gte":return Number(o)>=Number(l.value);case"lt":return Number(o)<Number(l.value);case"lte":return Number(o)<=Number(l.value);case"isEmpty":return i==="";case"isNotEmpty":return i!=="";default:return!0}}function lt(o,l,i){let c=[];for(let u of o){let p=Number(E(u,l));isNaN(p)||c.push(p)}if(c.length===0)return 0;switch(i){case"sum":return c.reduce((u,p)=>u+p,0);case"avg":return c.reduce((u,p)=>u+p,0)/c.length;case"count":return c.length;case"min":return Math.min(...c);case"max":return Math.max(...c)}}function kr({cols:o,density:l}){return(0,t.jsx)("tr",{className:"border-b border-gray-200 dark:border-gray-700",children:Array.from({length:o}).map((i,c)=>(0,t.jsx)("td",{className:h[l],children:(0,t.jsx)("div",{className:"h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"})},c))})}function wr({column:o,value:l,onApply:i,onClear:c}){let[u,p]=(0,n.useState)(!1),[F,z]=(0,n.useState)(l?.operator??"contains"),[C,S]=(0,n.useState)(l?.value??""),I=(0,n.useRef)(null),R=o.filterType??"text",re=R==="number"?[{value:"equals",label:"Equals"},{value:"gt",label:"Greater than"},{value:"gte",label:"Greater or equal"},{value:"lt",label:"Less than"},{value:"lte",label:"Less or equal"}]:[{value:"contains",label:"Contains"},{value:"equals",label:"Equals"},{value:"startsWith",label:"Starts with"},{value:"endsWith",label:"Ends with"},{value:"isEmpty",label:"Is empty"},{value:"isNotEmpty",label:"Is not empty"}];return(0,n.useEffect)(()=>{let b=ie=>{I.current&&!I.current.contains(ie.target)&&p(!1)};return u&&document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[u]),(0,t.jsxs)("div",{className:"relative inline-block",ref:I,children:[(0,t.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),p(!u)},className:(0,m.cn)("p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer",l&&"text-blue-600 dark:text-blue-400"),"aria-label":`Filter ${String(o.header)}`,children:(0,t.jsx)(yr,{})}),u&&(0,t.jsx)("div",{className:"absolute z-50 top-full left-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 min-w-[220px]",children:R==="select"&&o.filterOptions?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[o.filterOptions.map(b=>(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[(0,t.jsx)("input",{type:"radio",name:`filter-${o.key}`,value:b,checked:C===b,onChange:()=>S(b),className:"cursor-pointer"}),(0,t.jsx)("span",{className:"text-gray-700 dark:text-gray-300",children:b})]},b)),(0,t.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{i({column:o.key,operator:"equals",value:C}),p(!1)},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),(0,t.jsx)("button",{type:"button",onClick:()=>{S(""),c(),p(!1)},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("select",{value:F,onChange:b=>z(b.target.value),className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",children:re.map(b=>(0,t.jsx)("option",{value:b.value,children:b.label},b.value))}),F!=="isEmpty"&&F!=="isNotEmpty"&&(0,t.jsx)("input",{type:R==="number"?"number":R==="date"?"date":"text",value:C,onChange:b=>S(b.target.value),placeholder:"Filter value...",className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",autoFocus:!0,"aria-label":`Filter ${String(o.header)} value`}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{i({column:o.key,operator:F,value:C}),p(!1)},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),(0,t.jsx)("button",{type:"button",onClick:()=>{S(""),c(),p(!1)},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]})})]})}function Cr({value:o,onSave:l,density:i}){let[c,u]=(0,n.useState)(!1),[p,F]=(0,n.useState)(String(o??"")),z=(0,n.useRef)(null);if((0,n.useEffect)(()=>{c&&z.current&&(z.current.focus(),z.current.select())},[c]),!c)return(0,t.jsx)("div",{onDoubleClick:()=>{F(String(o??"")),u(!0)},className:"cursor-text min-h-[1.5em]",title:"Double-click to edit",children:String(o??"")});let C=()=>{u(!1),p!==String(o??"")&&l(p)};return(0,t.jsx)("input",{ref:z,type:"text",value:p,onChange:S=>F(S.target.value),onBlur:C,"aria-label":"Edit cell value",onKeyDown:S=>{S.key==="Enter"&&C(),S.key==="Escape"&&u(!1)},className:(0,m.cn)("w-full border border-blue-500 rounded px-1 py-0.5 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 outline-none",ye[i])})}function Nr(o,l){let{columns:i,data:c,rowKey:u,mode:p="client",sortable:F=!1,multiSort:z=!1,sort:C,defaultSort:S,onSort:I,pagination:R=!1,page:re,onPageChange:b,onPageSizeChange:ie,totalItems:it,selectable:ae=!1,selectionMode:fe="multiple",selectedRows:G,onSelectionChange:_,searchable:Ve=!1,searchPlaceholder:dt="Search...",searchValue:ne,onSearch:de,filters:B,onFilterChange:J,expandable:oe=!1,expandedContent:Oe,expandedRows:he,onExpandChange:We,editable:ct=!1,onCellEdit:gt,reorderable:x=!1,onReorder:Ge,columnReorderable:L=!1,onColumnReorder:Be,columnToggle:Ke=!1,hiddenColumns:ve,onColumnVisibilityChange:je,groupBy:V,renderGroupHeader:$e,exportable:qe=!1,exportFormats:ut=["csv","json"],exportFilename:Ue="export",virtualized:K=!1,rowHeight:j=40,virtualHeight:xe=400,density:f="default",striped:Xe=!1,bordered:ke=!1,borderless:pt=!1,stickyHeader:_e=!1,maxHeight:ce,loading:mt=!1,loadingRows:bt=5,emptyState:yt,showFooter:ft=!1,onRowClick:we,onRowDoubleClick:Je,onRowContextMenu:Qe,className:ht,rowClassName:Ce,cellClassName:vt,headerClassName:xt}=o,[kt,Ye]=(0,n.useState)(S??[]),[wt,Ct]=(0,n.useState)(1),[Nt,St]=(0,n.useState)(typeof R=="object"?R.pageSize??10:10),[Rt,Ne]=(0,n.useState)([]),[Tt,Ze]=(0,n.useState)(""),[Dt,Se]=(0,n.useState)([]),[Mt,Et]=(0,n.useState)([]),[Ft,zt]=(0,n.useState)(()=>i.flatMap(e=>e.hidden?[e.key]:[])),[Re,Pt]=(0,n.useState)({}),[ge,At]=(0,n.useState)(()=>i.map(e=>e.key)),[$,et]=(0,n.useState)(null),[Q,tt]=(0,n.useState)(null),[ue,rt]=(0,n.useState)(!1),[Ht,It]=(0,n.useState)(new Set),Te=(0,n.useRef)(null),[at,Lt]=(0,n.useState)(0),De=(0,n.useRef)(null),q=C??kt,P=re??wt,T=G??Rt,pe=ne??Tt,O=B??Dt,se=he??Mt,U=ve??Ft,A=R?typeof R=="object"?R:{pageSize:10,pageSizeOptions:[10,25,50,100]}:null,le=A?.pageSize??Nt,H=(0,n.useMemo)(()=>{let e=new Map(i.map(s=>[s.key,s])),r=ge.flatMap(s=>{let d=e.get(s);return d?[d]:[]}),a=new Set(r.map(s=>s.key));for(let s of i)a.has(s.key)||(r.push(s),a.add(s.key));return r.filter(s=>!U.includes(s.key))},[i,ge,U]),N=(0,n.useMemo)(()=>{if(p==="server")return c;let e=[...c];if(pe){let r=pe.toLowerCase();e=e.filter(a=>H.some(s=>{let d=E(a,s.key);return String(d??"").toLowerCase().includes(r)}))}if(O.length>0&&(e=e.filter(r=>O.every(a=>xr(E(r,a.column),a)))),q.length>0){let r=new Map(i.map(a=>[a.key,a]));e.sort((a,s)=>{for(let d of q){if(!d.direction)continue;let y=r.get(d.key),k=y?.sortComparator?y.sortComparator(a,s):vr(E(a,d.key),E(s,d.key));if(k!==0)return d.direction==="asc"?k:-k}return 0})}return e},[c,p,pe,O,q,H,i]),nt=(0,n.useMemo)(()=>{if(!V)return null;let e=Array.isArray(V)?V:[V],r=new Map;for(let a of N){let s=e.map(y=>String(E(a,y)??"")).join(" / "),d=r.get(s)??[];d.push(a),r.set(s,d)}return r},[N,V]),Me=it??N.length,Y=Math.max(1,Math.ceil(Me/le)),Vt=(0,n.useMemo)(()=>{if(!A||p==="server")return N;let e=(P-1)*le;return N.slice(e,e+le)},[N,A,P,le,p]),v=A?Vt:N,Z=(0,n.useMemo)(()=>{if(!K)return{start:0,end:v.length};let e=Math.floor(at/j),r=Math.ceil(xe/j),a=5;return{start:Math.max(0,e-a),end:Math.min(v.length,e+r+a)}},[K,at,j,xe,v.length]),Ee=(0,n.useCallback)(e=>{C||Ye(e),I?.(e)},[C,I]),Ot=(0,n.useCallback)(e=>{let r=q.find(s=>s.key===e),a;if(!r||!r.direction?a="asc":r.direction==="asc"?a="desc":a=null,z){let s=q.filter(d=>d.key!==e);a&&s.push({key:e,direction:a}),Ee(s)}else Ee(a?[{key:e,direction:a}]:[])},[q,z,Ee]),W=(0,n.useCallback)(e=>{let r=Math.max(1,Math.min(e,Y));re||Ct(r),b?.(r)},[re,b,Y]),Wt=(0,n.useCallback)(e=>{St(e),W(1),ie?.(e)},[W,ie]),Gt=(0,n.useCallback)(e=>{let r;fe==="single"?r=T.includes(e)?[]:[e]:r=T.includes(e)?T.filter(a=>a!==e):[...T,e],G||Ne(r),_?.(r)},[fe,T,G,_]),Fe=(0,n.useCallback)(()=>{let e=v.map((r,a)=>be(r,a,u));G||Ne(e),_?.(e)},[v,u,G,_]),ze=(0,n.useCallback)(()=>{G||Ne([]),_?.([])},[G,_]),Pe=v.length>0&&v.every((e,r)=>T.includes(be(e,r,u))),Bt=!Pe&&v.some((e,r)=>T.includes(be(e,r,u))),Kt=(0,n.useCallback)(e=>{let r=se.includes(e)?se.filter(a=>a!==e):[...se,e];he||Et(r),We?.(r)},[se,he,We]),jt=(0,n.useCallback)(e=>{let r=e.target.value;ne||Ze(r),de?.(r),W(1)},[ne,de,W]),$t=(0,n.useCallback)(e=>{let r=[...O.filter(a=>a.column!==e.column),e];B||Se(r),J?.(r)},[O,B,J]),qt=(0,n.useCallback)(e=>{let r=O.filter(a=>a.column!==e);B||Se(r),J?.(r)},[O,B,J]),Ut=(0,n.useCallback)(e=>{let r=U.includes(e)?U.filter(a=>a!==e):[...U,e];ve||zt(r),je?.(r)},[U,ve,je]),Xt=(0,n.useCallback)((e,r)=>{e.preventDefault(),e.stopPropagation();let a=e.clientX,s=Re[r]??e.currentTarget.parentElement?.getBoundingClientRect().width??100,d=i.find(w=>w.key===r),y=d?.minWidth??50,k=d?.maxWidth??1/0,g=w=>{let X=w.clientX-a,M=Math.min(k,Math.max(y,s+X));Pt(te=>({...te,[r]:M}))},D=()=>{document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",D)};document.addEventListener("mousemove",g),document.addEventListener("mouseup",D)},[Re,i]),_t=(0,n.useCallback)(e=>{x&&et(e)},[x]),Jt=(0,n.useCallback)((e,r)=>{!x||$===null||e.preventDefault()},[x,$]),Qt=(0,n.useCallback)(e=>{!x||$===null||$===e||(Ge?.($,e),et(null))},[x,$,Ge]),Yt=(0,n.useCallback)(e=>{L&&tt(e)},[L]),Zt=(0,n.useCallback)(e=>{if(!L||!Q||Q===e)return;let r=[...ge],a=r.indexOf(Q),s=r.indexOf(e);a===-1||s===-1||(r.splice(a,1),r.splice(s,0,Q),At(r),Be?.(Q,e),tt(null))},[L,Q,ge,Be]),Ae=(0,n.useCallback)(e=>{let r=H.filter(w=>w.type!=="actions"&&w.type!=="selection"&&w.type!=="expand"),a=N,s,d,y;if(e==="csv"){let w=r.map(M=>String(M.header)).join(","),X=a.map(M=>r.map(te=>{let Le=String(E(M,te.key)??"");return Le.includes(",")?`"${Le}"`:Le}).join(","));s=[w,...X].join(`
|
|
2
|
+
`),d="text/csv",y="csv"}else{let w=a.map(X=>{let M={};for(let te of r)M[te.key]=E(X,te.key);return M});s=JSON.stringify(w,null,2),d="application/json",y="json"}let k=new Blob([s],{type:d}),g=URL.createObjectURL(k),D=document.createElement("a");D.href=g,D.download=`${Ue}.${y}`,D.click(),URL.revokeObjectURL(g)},[H,N,Ue]);(0,n.useEffect)(()=>{if(!ue)return;let e=r=>{De.current&&!De.current.contains(r.target)&&rt(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[ue]),(0,n.useImperativeHandle)(l,()=>({getVisibleData:()=>v,resetFilters:()=>{B||Se([]),ne||Ze(""),J?.([]),de?.("")},resetSort:()=>{C||Ye([]),I?.([])},selectAll:Fe,deselectAll:ze,exportData:Ae,scrollToRow:e=>{Te.current&&K&&(Te.current.scrollTop=e*j)}}),[v,B,ne,C,J,de,I,Fe,ze,Ae,K,j]);let He=e=>{let r={},a=Re[e.key]??e.width;return a&&(r.width=typeof a=="number"?`${a}px`:a,r.minWidth=typeof a=="number"?`${a}px`:a),e.sticky&&(r.position="sticky",r[e.sticky]=0,r.zIndex=10),r},ee=H.length+(ae?1:0)+(oe?1:0)+(x?1:0),er=e=>{let r=F&&e.sortable!==!1&&e.type!=="actions",a=q.find(d=>d.key===e.key),s=e.filterable&&(e.filterType||e.filterOptions);return(0,t.jsxs)("th",{className:(0,m.cn)(h[f],ye[f],"font-semibold text-gray-700 dark:text-gray-300 whitespace-nowrap",e.align==="center"&&"text-center",e.align==="right"&&"text-right",r&&"cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-700",ke&&"border border-gray-200 dark:border-gray-700",e.sticky&&"bg-gray-50 dark:bg-gray-800",e.headerClassName,xt),style:He(e),onClick:r?()=>Ot(e.key):void 0,draggable:L,onDragStart:L?()=>Yt(e.key):void 0,onDragOver:L?d=>d.preventDefault():void 0,onDrop:L?()=>Zt(e.key):void 0,"aria-sort":a?.direction==="asc"?"ascending":a?.direction==="desc"?"descending":void 0,children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[e.renderHeader?e.renderHeader(e):e.header,r&&(0,t.jsx)("span",{className:"inline-flex ml-1",children:a?.direction==="asc"?(0,t.jsx)(gr,{}):a?.direction==="desc"?(0,t.jsx)(ur,{}):(0,t.jsx)(pr,{})}),s&&(0,t.jsx)(wr,{column:e,value:O.find(d=>d.column===e.key),onApply:$t,onClear:()=>qt(e.key)})]}),e.resizable!==!1&&(0,t.jsx)("div",{className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-blue-500 opacity-0 hover:opacity-100",onMouseDown:d=>Xt(d,e.key)})]},e.key)},Ie=(e,r,a)=>{let s=be(e,a,u),d=T.includes(s),y=se.includes(s),k=typeof Ce=="function"?Ce(e,a):Ce;return(0,t.jsxs)(n.default.Fragment,{children:[(0,t.jsxs)("tr",{className:(0,m.cn)("border-b border-gray-200 dark:border-gray-700 transition-colors",Xe&&a%2===1&&"bg-gray-50/50 dark:bg-gray-800/50",d&&"bg-blue-50 dark:bg-blue-900/20",we&&"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700/50",$===r&&"opacity-50",k),onClick:we?()=>we(e,a):void 0,onDoubleClick:Je?()=>Je(e,a):void 0,onContextMenu:Qe?g=>Qe(e,a,g):void 0,draggable:x,onDragStart:x?()=>_t(r):void 0,onDragOver:x?g=>Jt(g,r):void 0,onDrop:x?()=>Qt(r):void 0,"data-row-key":s,"aria-selected":ae?d:void 0,children:[x&&(0,t.jsx)("td",{className:(0,m.cn)(h[f],"cursor-grab active:cursor-grabbing"),children:(0,t.jsx)(br,{})}),ae&&(0,t.jsx)("td",{className:(0,m.cn)(h[f],"w-10"),children:(0,t.jsx)("input",{type:"checkbox",checked:d,onChange:()=>Gt(s),onClick:g=>g.stopPropagation(),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":`Select row ${s}`})}),oe&&(0,t.jsx)("td",{className:(0,m.cn)(h[f],"w-10"),children:(0,t.jsx)("button",{type:"button",onClick:g=>{g.stopPropagation(),Kt(s)},className:"p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer","aria-label":y?"Collapse row":"Expand row","aria-expanded":y,children:(0,t.jsx)(st,{className:(0,m.cn)("transition-transform",y&&"rotate-180")})})}),H.map(g=>{let D=E(e,g.key),w=g.colSpan?.(e,a);if(w===0)return null;let X=ct&&g.editable!==!1&&g.type!=="actions";return(0,t.jsx)("td",{className:(0,m.cn)(h[f],ye[f],"text-gray-700 dark:text-gray-300",g.align==="center"&&"text-center",g.align==="right"&&"text-right",ke&&"border border-gray-200 dark:border-gray-700",g.sticky&&(d?"bg-blue-50 dark:bg-blue-900/20":Xe&&a%2===1?"bg-gray-50/50 dark:bg-gray-800/50":"bg-white dark:bg-gray-900"),g.cellClassName,vt),style:He(g),colSpan:w,children:X?(0,t.jsx)(Cr,{value:D,onSave:M=>gt?.(s,g.key,M),density:f}):g.render?g.render(D,e,a):String(D??"")},g.key)})]}),oe&&y&&Oe&&(0,t.jsx)("tr",{className:"bg-gray-50 dark:bg-gray-800/70",children:(0,t.jsx)("td",{colSpan:ee,className:(0,m.cn)(h[f]),children:Oe(e,a)})})]},s)},tr=()=>{if(mt)return Array.from({length:bt}).map((e,r)=>(0,t.jsx)(kr,{cols:ee,density:f},r));if(v.length===0)return(0,t.jsx)("tr",{children:(0,t.jsx)("td",{colSpan:ee,className:(0,m.cn)("text-center text-gray-400 dark:text-gray-500",h[f]),children:yt??"No data available"})});if(nt){let e=[],r=0;for(let[a,s]of nt){let d=Ht.has(a);if(e.push((0,t.jsx)("tr",{className:"bg-gray-100 dark:bg-gray-800 font-medium",children:(0,t.jsx)("td",{colSpan:ee,className:(0,m.cn)(h[f],"cursor-pointer"),onClick:()=>{It(y=>{let k=new Set(y);return k.has(a)?k.delete(a):k.add(a),k})},children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(st,{className:(0,m.cn)("transition-transform",d&&"-rotate-90")}),$e?$e(a,E(s[0],Array.isArray(V)?V[0]:V),s):`${a} (${s.length})`]})})},`group-${a}`)),d)r+=s.length;else for(let y=0;y<s.length;y++)e.push(Ie(s[y],r,r)),r++}return e}if(K){let e=[];for(let r=Z.start;r<Z.end;r++)e.push(Ie(v[r],r,r));return(0,t.jsxs)(t.Fragment,{children:[Z.start>0&&(0,t.jsx)("tr",{children:(0,t.jsx)("td",{colSpan:ee,style:{height:Z.start*j,padding:0}})}),e,Z.end<v.length&&(0,t.jsx)("tr",{children:(0,t.jsx)("td",{colSpan:ee,style:{height:(v.length-Z.end)*j,padding:0}})})]})}return v.map((e,r)=>Ie(e,r,r))},rr=()=>!ft||!H.some(r=>r.aggregate)?null:(0,t.jsx)("tfoot",{children:(0,t.jsxs)("tr",{className:"bg-gray-50 dark:bg-gray-800 font-semibold border-t-2 border-gray-300 dark:border-gray-600",children:[x&&(0,t.jsx)("td",{className:h[f]}),ae&&(0,t.jsx)("td",{className:h[f]}),oe&&(0,t.jsx)("td",{className:h[f]}),H.map(r=>(0,t.jsx)("td",{className:(0,m.cn)(h[f],ye[f],"text-gray-700 dark:text-gray-300",r.align==="center"&&"text-center",r.align==="right"&&"text-right",ke&&"border border-gray-200 dark:border-gray-700"),style:He(r),children:r.aggregate?r.renderAggregate?r.renderAggregate(lt(N,r.key,r.aggregate),N):`${r.aggregate==="count"?"":r.aggregate==="avg"?"Avg: ":r.aggregate==="sum"?"Total: ":r.aggregate==="min"?"Min: ":"Max: "}${lt(N,r.key,r.aggregate).toLocaleString()}`:""},r.key))]})});return(0,t.jsxs)("div",{className:(0,m.cn)("flex flex-col gap-3",ht),children:[(Ve||qe||Ke)&&(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-1",children:[Ve&&(0,t.jsxs)("div",{className:"relative flex-1 max-w-xs",children:[(0,t.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none",children:(0,t.jsx)(mr,{})}),(0,t.jsx)("input",{type:"text",value:pe,onChange:jt,placeholder:dt,className:"w-full pl-9 pr-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","aria-label":"Search table"})]}),T.length>0&&(0,t.jsxs)("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:[T.length," selected"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[Ke&&(0,t.jsxs)("div",{className:"relative",ref:De,children:[(0,t.jsx)("button",{type:"button",onClick:()=>rt(!ue),className:"p-1.5 rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Toggle columns",title:"Toggle columns",children:(0,t.jsx)(hr,{})}),ue&&(0,t.jsx)("div",{className:"absolute z-50 right-0 top-full mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 min-w-[180px]",children:i.filter(e=>e.type!=="selection"&&e.type!=="expand").map(e=>(0,t.jsxs)("label",{className:"flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:!U.includes(e.key),onChange:()=>Ut(e.key),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer"}),(0,t.jsx)("span",{className:"text-gray-700 dark:text-gray-300",children:String(e.header)})]},e.key))})]}),qe&&ut.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>Ae(e),className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",title:`Export as ${e.toUpperCase()}`,children:[(0,t.jsx)(fr,{}),e.toUpperCase()]},e))]})]}),(0,t.jsx)("div",{ref:Te,className:(0,m.cn)("overflow-auto rounded-lg",!pt&&"border border-gray-200 dark:border-gray-700",_e&&"relative"),style:ce?{maxHeight:typeof ce=="number"?`${ce}px`:ce}:K?{maxHeight:xe,overflow:"auto"}:void 0,onScroll:K?e=>Lt(e.target.scrollTop):void 0,children:(0,t.jsxs)("table",{className:"w-full text-left",children:[(0,t.jsx)("thead",{className:(0,m.cn)("bg-gray-50 dark:bg-gray-800 text-xs uppercase",_e&&"sticky top-0 z-20"),children:(0,t.jsxs)("tr",{children:[x&&(0,t.jsx)("th",{className:(0,m.cn)(h[f],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),ae&&(0,t.jsx)("th",{className:(0,m.cn)(h[f],"w-10"),children:fe==="multiple"&&(0,t.jsx)("input",{type:"checkbox",checked:Pe,ref:e=>{e&&(e.indeterminate=Bt)},onChange:Pe?ze:Fe,className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":"Select all rows"})}),oe&&(0,t.jsx)("th",{className:(0,m.cn)(h[f],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),H.map(er)]})}),(0,t.jsx)("tbody",{children:tr()}),rr()]})}),A&&(0,t.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[A.showTotalItems!==!1&&(0,t.jsxs)("span",{children:[Me," item",Me!==1?"s":""]}),A.showPageSizeSelector!==!1&&A.pageSizeOptions&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{children:"Rows per page:"}),(0,t.jsx)("select",{value:le,onChange:e=>Wt(Number(e.target.value)),className:"border border-gray-300 dark:border-gray-600 rounded px-1.5 py-0.5 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-sm",children:A.pageSizeOptions.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)("span",{className:"mr-2",children:["Page ",P," of ",Y]}),(0,t.jsx)("button",{type:"button",onClick:()=>W(1),disabled:P<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"First page",children:"\xAB\xAB"}),(0,t.jsx)("button",{type:"button",onClick:()=>W(P-1),disabled:P<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Previous page",children:"\xAB"}),(0,t.jsx)("button",{type:"button",onClick:()=>W(P+1),disabled:P>=Y,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Next page",children:"\xBB"}),(0,t.jsx)("button",{type:"button",onClick:()=>W(Y),disabled:P>=Y,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Last page",children:"\xBB\xBB"})]})]})]})}var Sr=(0,n.forwardRef)(Nr);0&&(module.exports={DataGrid});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import sr,{useState as h,useRef as ve,useCallback as v,useEffect as Ge,useMemo as ce,forwardRef as lr,useImperativeHandle as ir}from"react";import{cn as b}from"../../lib/cn.js";import{Fragment as Cr,jsx as r,jsxs as l}from"react/jsx-runtime";var x={compact:"px-3 py-1.5",default:"px-4 py-3",comfortable:"px-6 py-4"},he={compact:"text-xs",default:"text-sm",comfortable:"text-base"},dr=()=>r("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:r("path",{d:"M8 3l4 5H4l4-5z"})}),cr=()=>r("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 16 16",fill:"currentColor",children:r("path",{d:"M8 13l4-5H4l4 5z"})}),gr=()=>r("svg",{className:"w-3.5 h-3.5 opacity-30",viewBox:"0 0 16 16",fill:"currentColor",children:r("path",{d:"M8 3l3 4H5l3-4zM8 13l3-4H5l3 4z"})}),dt=({className:o})=>r("svg",{className:b("w-4 h-4",o),viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),ur=()=>r("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z",clipRule:"evenodd"})}),pr=()=>r("svg",{className:"w-4 h-4 text-gray-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{d:"M7 4a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 10.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM7 17a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm6 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3z"})}),mr=()=>r("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M2.628 1.601C5.028 1.206 7.49 1 10 1s4.973.206 7.372.601a.75.75 0 01.628.74v2.288a2.25 2.25 0 01-.659 1.59l-4.682 4.683a2.25 2.25 0 00-.659 1.59v3.037c0 .684-.31 1.33-.844 1.757l-1.937 1.55A.75.75 0 018 18.25v-5.757a2.25 2.25 0 00-.659-1.591L2.659 6.22A2.25 2.25 0 012 4.629V2.34a.75.75 0 01.628-.74z",clipRule:"evenodd"})}),br=()=>l("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:[r("path",{d:"M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z"}),r("path",{d:"M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z"})]}),yr=()=>r("svg",{className:"w-4 h-4",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M2.5 3A1.5 1.5 0 001 4.5v11A1.5 1.5 0 002.5 17h15a1.5 1.5 0 001.5-1.5v-11A1.5 1.5 0 0017.5 3h-15zM2.5 4.5h6v11h-6v-11zm7.5 0h7.5v11H10v-11z",clipRule:"evenodd"})});function fe(o,d,i){return typeof i=="function"?i(o,d):String(typeof i=="string"?o[i]:d)}function z(o,d){return o[d]}function fr(o,d){return o==null&&d==null?0:o==null?-1:d==null?1:typeof o=="number"&&typeof d=="number"?o-d:String(o).localeCompare(String(d))}function hr(o,d){let i=String(o??"").toLowerCase(),g=d.value.toLowerCase();switch(d.operator){case"contains":return i.includes(g);case"equals":return i===g;case"startsWith":return i.startsWith(g);case"endsWith":return i.endsWith(g);case"gt":return Number(o)>Number(d.value);case"gte":return Number(o)>=Number(d.value);case"lt":return Number(o)<Number(d.value);case"lte":return Number(o)<=Number(d.value);case"isEmpty":return i==="";case"isNotEmpty":return i!=="";default:return!0}}function ct(o,d,i){let g=[];for(let y of o){let u=Number(z(y,d));isNaN(u)||g.push(u)}if(g.length===0)return 0;switch(i){case"sum":return g.reduce((y,u)=>y+u,0);case"avg":return g.reduce((y,u)=>y+u,0)/g.length;case"count":return g.length;case"min":return Math.min(...g);case"max":return Math.max(...g)}}function vr({cols:o,density:d}){return r("tr",{className:"border-b border-gray-200 dark:border-gray-700",children:Array.from({length:o}).map((i,g)=>r("td",{className:x[d],children:r("div",{className:"h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"})},g))})}function xr({column:o,value:d,onApply:i,onClear:g}){let[y,u]=h(!1),[P,A]=h(d?.operator??"contains"),[S,T]=h(d?.value??""),V=ve(null),D=o.filterType??"text",ne=D==="number"?[{value:"equals",label:"Equals"},{value:"gt",label:"Greater than"},{value:"gte",label:"Greater or equal"},{value:"lt",label:"Less than"},{value:"lte",label:"Less or equal"}]:[{value:"contains",label:"Contains"},{value:"equals",label:"Equals"},{value:"startsWith",label:"Starts with"},{value:"endsWith",label:"Ends with"},{value:"isEmpty",label:"Is empty"},{value:"isNotEmpty",label:"Is not empty"}];return Ge(()=>{let p=ge=>{V.current&&!V.current.contains(ge.target)&&u(!1)};return y&&document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[y]),l("div",{className:"relative inline-block",ref:V,children:[r("button",{type:"button",onClick:p=>{p.stopPropagation(),u(!y)},className:b("p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer",d&&"text-blue-600 dark:text-blue-400"),"aria-label":`Filter ${String(o.header)}`,children:r(mr,{})}),y&&r("div",{className:"absolute z-50 top-full left-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 min-w-[220px]",children:D==="select"&&o.filterOptions?l("div",{className:"flex flex-col gap-1.5",children:[o.filterOptions.map(p=>l("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[r("input",{type:"radio",name:`filter-${o.key}`,value:p,checked:S===p,onChange:()=>T(p),className:"cursor-pointer"}),r("span",{className:"text-gray-700 dark:text-gray-300",children:p})]},p)),l("div",{className:"flex gap-2 mt-2",children:[r("button",{type:"button",onClick:()=>{i({column:o.key,operator:"equals",value:S}),u(!1)},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),r("button",{type:"button",onClick:()=>{T(""),g(),u(!1)},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]}):l("div",{className:"flex flex-col gap-2",children:[r("select",{value:P,onChange:p=>A(p.target.value),className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",children:ne.map(p=>r("option",{value:p.value,children:p.label},p.value))}),P!=="isEmpty"&&P!=="isNotEmpty"&&r("input",{type:D==="number"?"number":D==="date"?"date":"text",value:S,onChange:p=>T(p.target.value),placeholder:"Filter value...",className:"text-xs border border-gray-300 dark:border-gray-600 rounded px-2 py-1 bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",autoFocus:!0,"aria-label":`Filter ${String(o.header)} value`}),l("div",{className:"flex gap-2",children:[r("button",{type:"button",onClick:()=>{i({column:o.key,operator:P,value:S}),u(!1)},className:"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer",children:"Apply"}),r("button",{type:"button",onClick:()=>{T(""),g(),u(!1)},className:"px-2 py-1 text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 cursor-pointer",children:"Clear"})]})]})})]})}function kr({value:o,onSave:d,density:i}){let[g,y]=h(!1),[u,P]=h(String(o??"")),A=ve(null);if(Ge(()=>{g&&A.current&&(A.current.focus(),A.current.select())},[g]),!g)return r("div",{onDoubleClick:()=>{P(String(o??"")),y(!0)},className:"cursor-text min-h-[1.5em]",title:"Double-click to edit",children:String(o??"")});let S=()=>{y(!1),u!==String(o??"")&&d(u)};return r("input",{ref:A,type:"text",value:u,onChange:T=>P(T.target.value),onBlur:S,"aria-label":"Edit cell value",onKeyDown:T=>{T.key==="Enter"&&S(),T.key==="Escape"&&y(!1)},className:b("w-full border border-blue-500 rounded px-1 py-0.5 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 outline-none",he[i])})}function wr(o,d){let{columns:i,data:g,rowKey:y,mode:u="client",sortable:P=!1,multiSort:A=!1,sort:S,defaultSort:T,onSort:V,pagination:D=!1,page:ne,onPageChange:p,onPageSizeChange:ge,totalItems:gt,selectable:oe=!1,selectionMode:xe="multiple",selectedRows:K,onSelectionChange:Q,searchable:Be=!1,searchPlaceholder:ut="Search...",searchValue:se,onSearch:ue,filters:j,onFilterChange:Y,expandable:le=!1,expandedContent:Ke,expandedRows:ke,onExpandChange:je,editable:pt=!1,onCellEdit:mt,reorderable:w=!1,onReorder:$e,columnReorderable:O=!1,onColumnReorder:qe,columnToggle:Ue=!1,hiddenColumns:we,onColumnVisibilityChange:Xe,groupBy:W,renderGroupHeader:_e,exportable:Je=!1,exportFormats:bt=["csv","json"],exportFilename:Qe="export",virtualized:$=!1,rowHeight:q=40,virtualHeight:Ce=400,density:f="default",striped:Ye=!1,bordered:Ne=!1,borderless:yt=!1,stickyHeader:Ze=!1,maxHeight:pe,loading:ft=!1,loadingRows:ht=5,emptyState:vt,showFooter:xt=!1,onRowClick:Se,onRowDoubleClick:et,onRowContextMenu:tt,className:kt,rowClassName:Re,cellClassName:wt,headerClassName:Ct}=o,[Nt,rt]=h(T??[]),[St,Rt]=h(1),[Tt,Dt]=h(typeof D=="object"?D.pageSize??10:10),[Mt,Te]=h([]),[Et,at]=h(""),[Ft,De]=h([]),[zt,Pt]=h([]),[At,Ht]=h(()=>i.flatMap(e=>e.hidden?[e.key]:[])),[Me,It]=h({}),[me,Lt]=h(()=>i.map(e=>e.key)),[U,nt]=h(null),[Z,ot]=h(null),[be,st]=h(!1),[Vt,Ot]=h(new Set),Ee=ve(null),[lt,Wt]=h(0),Fe=ve(null),X=S??Nt,H=ne??St,M=K??Mt,ye=se??Et,G=j??Ft,ie=ke??zt,_=we??At,I=D?typeof D=="object"?D:{pageSize:10,pageSizeOptions:[10,25,50,100]}:null,de=I?.pageSize??Tt,L=ce(()=>{let e=new Map(i.map(n=>[n.key,n])),t=me.flatMap(n=>{let s=e.get(n);return s?[s]:[]}),a=new Set(t.map(n=>n.key));for(let n of i)a.has(n.key)||(t.push(n),a.add(n.key));return t.filter(n=>!_.includes(n.key))},[i,me,_]),R=ce(()=>{if(u==="server")return g;let e=[...g];if(ye){let t=ye.toLowerCase();e=e.filter(a=>L.some(n=>{let s=z(a,n.key);return String(s??"").toLowerCase().includes(t)}))}if(G.length>0&&(e=e.filter(t=>G.every(a=>hr(z(t,a.column),a)))),X.length>0){let t=new Map(i.map(a=>[a.key,a]));e.sort((a,n)=>{for(let s of X){if(!s.direction)continue;let m=t.get(s.key),C=m?.sortComparator?m.sortComparator(a,n):fr(z(a,s.key),z(n,s.key));if(C!==0)return s.direction==="asc"?C:-C}return 0})}return e},[g,u,ye,G,X,L,i]),it=ce(()=>{if(!W)return null;let e=Array.isArray(W)?W:[W],t=new Map;for(let a of R){let n=e.map(m=>String(z(a,m)??"")).join(" / "),s=t.get(n)??[];s.push(a),t.set(n,s)}return t},[R,W]),ze=gt??R.length,ee=Math.max(1,Math.ceil(ze/de)),Gt=ce(()=>{if(!I||u==="server")return R;let e=(H-1)*de;return R.slice(e,e+de)},[R,I,H,de,u]),k=I?Gt:R,te=ce(()=>{if(!$)return{start:0,end:k.length};let e=Math.floor(lt/q),t=Math.ceil(Ce/q),a=5;return{start:Math.max(0,e-a),end:Math.min(k.length,e+t+a)}},[$,lt,q,Ce,k.length]),Pe=v(e=>{S||rt(e),V?.(e)},[S,V]),Bt=v(e=>{let t=X.find(n=>n.key===e),a;if(!t||!t.direction?a="asc":t.direction==="asc"?a="desc":a=null,A){let n=X.filter(s=>s.key!==e);a&&n.push({key:e,direction:a}),Pe(n)}else Pe(a?[{key:e,direction:a}]:[])},[X,A,Pe]),B=v(e=>{let t=Math.max(1,Math.min(e,ee));ne||Rt(t),p?.(t)},[ne,p,ee]),Kt=v(e=>{Dt(e),B(1),ge?.(e)},[B,ge]),jt=v(e=>{let t;xe==="single"?t=M.includes(e)?[]:[e]:t=M.includes(e)?M.filter(a=>a!==e):[...M,e],K||Te(t),Q?.(t)},[xe,M,K,Q]),Ae=v(()=>{let e=k.map((t,a)=>fe(t,a,y));K||Te(e),Q?.(e)},[k,y,K,Q]),He=v(()=>{K||Te([]),Q?.([])},[K,Q]),Ie=k.length>0&&k.every((e,t)=>M.includes(fe(e,t,y))),$t=!Ie&&k.some((e,t)=>M.includes(fe(e,t,y))),qt=v(e=>{let t=ie.includes(e)?ie.filter(a=>a!==e):[...ie,e];ke||Pt(t),je?.(t)},[ie,ke,je]),Ut=v(e=>{let t=e.target.value;se||at(t),ue?.(t),B(1)},[se,ue,B]),Xt=v(e=>{let t=[...G.filter(a=>a.column!==e.column),e];j||De(t),Y?.(t)},[G,j,Y]),_t=v(e=>{let t=G.filter(a=>a.column!==e);j||De(t),Y?.(t)},[G,j,Y]),Jt=v(e=>{let t=_.includes(e)?_.filter(a=>a!==e):[..._,e];we||Ht(t),Xe?.(t)},[_,we,Xe]),Qt=v((e,t)=>{e.preventDefault(),e.stopPropagation();let a=e.clientX,n=Me[t]??e.currentTarget.parentElement?.getBoundingClientRect().width??100,s=i.find(N=>N.key===t),m=s?.minWidth??50,C=s?.maxWidth??1/0,c=N=>{let J=N.clientX-a,F=Math.min(C,Math.max(m,n+J));It(ae=>({...ae,[t]:F}))},E=()=>{document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",E)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",E)},[Me,i]),Yt=v(e=>{w&&nt(e)},[w]),Zt=v((e,t)=>{!w||U===null||e.preventDefault()},[w,U]),er=v(e=>{!w||U===null||U===e||($e?.(U,e),nt(null))},[w,U,$e]),tr=v(e=>{O&&ot(e)},[O]),rr=v(e=>{if(!O||!Z||Z===e)return;let t=[...me],a=t.indexOf(Z),n=t.indexOf(e);a===-1||n===-1||(t.splice(a,1),t.splice(n,0,Z),Lt(t),qe?.(Z,e),ot(null))},[O,Z,me,qe]),Le=v(e=>{let t=L.filter(N=>N.type!=="actions"&&N.type!=="selection"&&N.type!=="expand"),a=R,n,s,m;if(e==="csv"){let N=t.map(F=>String(F.header)).join(","),J=a.map(F=>t.map(ae=>{let We=String(z(F,ae.key)??"");return We.includes(",")?`"${We}"`:We}).join(","));n=[N,...J].join(`
|
|
2
|
+
`),s="text/csv",m="csv"}else{let N=a.map(J=>{let F={};for(let ae of t)F[ae.key]=z(J,ae.key);return F});n=JSON.stringify(N,null,2),s="application/json",m="json"}let C=new Blob([n],{type:s}),c=URL.createObjectURL(C),E=document.createElement("a");E.href=c,E.download=`${Qe}.${m}`,E.click(),URL.revokeObjectURL(c)},[L,R,Qe]);Ge(()=>{if(!be)return;let e=t=>{Fe.current&&!Fe.current.contains(t.target)&&st(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[be]),ir(d,()=>({getVisibleData:()=>k,resetFilters:()=>{j||De([]),se||at(""),Y?.([]),ue?.("")},resetSort:()=>{S||rt([]),V?.([])},selectAll:Ae,deselectAll:He,exportData:Le,scrollToRow:e=>{Ee.current&&$&&(Ee.current.scrollTop=e*q)}}),[k,j,se,S,Y,ue,V,Ae,He,Le,$,q]);let Ve=e=>{let t={},a=Me[e.key]??e.width;return a&&(t.width=typeof a=="number"?`${a}px`:a,t.minWidth=typeof a=="number"?`${a}px`:a),e.sticky&&(t.position="sticky",t[e.sticky]=0,t.zIndex=10),t},re=L.length+(oe?1:0)+(le?1:0)+(w?1:0),ar=e=>{let t=P&&e.sortable!==!1&&e.type!=="actions",a=X.find(s=>s.key===e.key),n=e.filterable&&(e.filterType||e.filterOptions);return l("th",{className:b(x[f],he[f],"font-semibold text-gray-700 dark:text-gray-300 whitespace-nowrap",e.align==="center"&&"text-center",e.align==="right"&&"text-right",t&&"cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-700",Ne&&"border border-gray-200 dark:border-gray-700",e.sticky&&"bg-gray-50 dark:bg-gray-800",e.headerClassName,Ct),style:Ve(e),onClick:t?()=>Bt(e.key):void 0,draggable:O,onDragStart:O?()=>tr(e.key):void 0,onDragOver:O?s=>s.preventDefault():void 0,onDrop:O?()=>rr(e.key):void 0,"aria-sort":a?.direction==="asc"?"ascending":a?.direction==="desc"?"descending":void 0,children:[l("div",{className:"flex items-center gap-1",children:[e.renderHeader?e.renderHeader(e):e.header,t&&r("span",{className:"inline-flex ml-1",children:a?.direction==="asc"?r(dr,{}):a?.direction==="desc"?r(cr,{}):r(gr,{})}),n&&r(xr,{column:e,value:G.find(s=>s.column===e.key),onApply:Xt,onClear:()=>_t(e.key)})]}),e.resizable!==!1&&r("div",{className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-blue-500 opacity-0 hover:opacity-100",onMouseDown:s=>Qt(s,e.key)})]},e.key)},Oe=(e,t,a)=>{let n=fe(e,a,y),s=M.includes(n),m=ie.includes(n),C=typeof Re=="function"?Re(e,a):Re;return l(sr.Fragment,{children:[l("tr",{className:b("border-b border-gray-200 dark:border-gray-700 transition-colors",Ye&&a%2===1&&"bg-gray-50/50 dark:bg-gray-800/50",s&&"bg-blue-50 dark:bg-blue-900/20",Se&&"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700/50",U===t&&"opacity-50",C),onClick:Se?()=>Se(e,a):void 0,onDoubleClick:et?()=>et(e,a):void 0,onContextMenu:tt?c=>tt(e,a,c):void 0,draggable:w,onDragStart:w?()=>Yt(t):void 0,onDragOver:w?c=>Zt(c,t):void 0,onDrop:w?()=>er(t):void 0,"data-row-key":n,"aria-selected":oe?s:void 0,children:[w&&r("td",{className:b(x[f],"cursor-grab active:cursor-grabbing"),children:r(pr,{})}),oe&&r("td",{className:b(x[f],"w-10"),children:r("input",{type:"checkbox",checked:s,onChange:()=>jt(n),onClick:c=>c.stopPropagation(),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":`Select row ${n}`})}),le&&r("td",{className:b(x[f],"w-10"),children:r("button",{type:"button",onClick:c=>{c.stopPropagation(),qt(n)},className:"p-0.5 rounded hover:bg-gray-200 dark:hover:bg-gray-600 cursor-pointer","aria-label":m?"Collapse row":"Expand row","aria-expanded":m,children:r(dt,{className:b("transition-transform",m&&"rotate-180")})})}),L.map(c=>{let E=z(e,c.key),N=c.colSpan?.(e,a);if(N===0)return null;let J=pt&&c.editable!==!1&&c.type!=="actions";return r("td",{className:b(x[f],he[f],"text-gray-700 dark:text-gray-300",c.align==="center"&&"text-center",c.align==="right"&&"text-right",Ne&&"border border-gray-200 dark:border-gray-700",c.sticky&&(s?"bg-blue-50 dark:bg-blue-900/20":Ye&&a%2===1?"bg-gray-50/50 dark:bg-gray-800/50":"bg-white dark:bg-gray-900"),c.cellClassName,wt),style:Ve(c),colSpan:N,children:J?r(kr,{value:E,onSave:F=>mt?.(n,c.key,F),density:f}):c.render?c.render(E,e,a):String(E??"")},c.key)})]}),le&&m&&Ke&&r("tr",{className:"bg-gray-50 dark:bg-gray-800/70",children:r("td",{colSpan:re,className:b(x[f]),children:Ke(e,a)})})]},n)},nr=()=>{if(ft)return Array.from({length:ht}).map((e,t)=>r(vr,{cols:re,density:f},t));if(k.length===0)return r("tr",{children:r("td",{colSpan:re,className:b("text-center text-gray-400 dark:text-gray-500",x[f]),children:vt??"No data available"})});if(it){let e=[],t=0;for(let[a,n]of it){let s=Vt.has(a);if(e.push(r("tr",{className:"bg-gray-100 dark:bg-gray-800 font-medium",children:r("td",{colSpan:re,className:b(x[f],"cursor-pointer"),onClick:()=>{Ot(m=>{let C=new Set(m);return C.has(a)?C.delete(a):C.add(a),C})},children:l("div",{className:"flex items-center gap-2",children:[r(dt,{className:b("transition-transform",s&&"-rotate-90")}),_e?_e(a,z(n[0],Array.isArray(W)?W[0]:W),n):`${a} (${n.length})`]})})},`group-${a}`)),s)t+=n.length;else for(let m=0;m<n.length;m++)e.push(Oe(n[m],t,t)),t++}return e}if($){let e=[];for(let t=te.start;t<te.end;t++)e.push(Oe(k[t],t,t));return l(Cr,{children:[te.start>0&&r("tr",{children:r("td",{colSpan:re,style:{height:te.start*q,padding:0}})}),e,te.end<k.length&&r("tr",{children:r("td",{colSpan:re,style:{height:(k.length-te.end)*q,padding:0}})})]})}return k.map((e,t)=>Oe(e,t,t))},or=()=>!xt||!L.some(t=>t.aggregate)?null:r("tfoot",{children:l("tr",{className:"bg-gray-50 dark:bg-gray-800 font-semibold border-t-2 border-gray-300 dark:border-gray-600",children:[w&&r("td",{className:x[f]}),oe&&r("td",{className:x[f]}),le&&r("td",{className:x[f]}),L.map(t=>r("td",{className:b(x[f],he[f],"text-gray-700 dark:text-gray-300",t.align==="center"&&"text-center",t.align==="right"&&"text-right",Ne&&"border border-gray-200 dark:border-gray-700"),style:Ve(t),children:t.aggregate?t.renderAggregate?t.renderAggregate(ct(R,t.key,t.aggregate),R):`${t.aggregate==="count"?"":t.aggregate==="avg"?"Avg: ":t.aggregate==="sum"?"Total: ":t.aggregate==="min"?"Min: ":"Max: "}${ct(R,t.key,t.aggregate).toLocaleString()}`:""},t.key))]})});return l("div",{className:b("flex flex-col gap-3",kt),children:[(Be||Je||Ue)&&l("div",{className:"flex items-center justify-between gap-3 flex-wrap",children:[l("div",{className:"flex items-center gap-3 flex-1",children:[Be&&l("div",{className:"relative flex-1 max-w-xs",children:[r("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none",children:r(ur,{})}),r("input",{type:"text",value:ye,onChange:Ut,placeholder:ut,className:"w-full pl-9 pr-3 py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","aria-label":"Search table"})]}),M.length>0&&l("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:[M.length," selected"]})]}),l("div",{className:"flex items-center gap-2",children:[Ue&&l("div",{className:"relative",ref:Fe,children:[r("button",{type:"button",onClick:()=>st(!be),className:"p-1.5 rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Toggle columns",title:"Toggle columns",children:r(yr,{})}),be&&r("div",{className:"absolute z-50 right-0 top-full mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 min-w-[180px]",children:i.filter(e=>e.type!=="selection"&&e.type!=="expand").map(e=>l("label",{className:"flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",children:[r("input",{type:"checkbox",checked:!_.includes(e.key),onChange:()=>Jt(e.key),className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer"}),r("span",{className:"text-gray-700 dark:text-gray-300",children:String(e.header)})]},e.key))})]}),Je&&bt.map(e=>l("button",{type:"button",onClick:()=>Le(e),className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer",title:`Export as ${e.toUpperCase()}`,children:[r(br,{}),e.toUpperCase()]},e))]})]}),r("div",{ref:Ee,className:b("overflow-auto rounded-lg",!yt&&"border border-gray-200 dark:border-gray-700",Ze&&"relative"),style:pe?{maxHeight:typeof pe=="number"?`${pe}px`:pe}:$?{maxHeight:Ce,overflow:"auto"}:void 0,onScroll:$?e=>Wt(e.target.scrollTop):void 0,children:l("table",{className:"w-full text-left",children:[r("thead",{className:b("bg-gray-50 dark:bg-gray-800 text-xs uppercase",Ze&&"sticky top-0 z-20"),children:l("tr",{children:[w&&r("th",{className:b(x[f],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),oe&&r("th",{className:b(x[f],"w-10"),children:xe==="multiple"&&r("input",{type:"checkbox",checked:Ie,ref:e=>{e&&(e.indeterminate=$t)},onChange:Ie?He:Ae,className:"rounded border-gray-300 dark:border-gray-600 cursor-pointer","aria-label":"Select all rows"})}),le&&r("th",{className:b(x[f],"w-10 font-semibold text-gray-700 dark:text-gray-300")}),L.map(ar)]})}),r("tbody",{children:nr()}),or()]})}),I&&l("div",{className:"flex items-center justify-between flex-wrap gap-3 text-sm text-gray-600 dark:text-gray-400",children:[l("div",{className:"flex items-center gap-3",children:[I.showTotalItems!==!1&&l("span",{children:[ze," item",ze!==1?"s":""]}),I.showPageSizeSelector!==!1&&I.pageSizeOptions&&l("div",{className:"flex items-center gap-1.5",children:[r("span",{children:"Rows per page:"}),r("select",{value:de,onChange:e=>Kt(Number(e.target.value)),className:"border border-gray-300 dark:border-gray-600 rounded px-1.5 py-0.5 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-sm",children:I.pageSizeOptions.map(e=>r("option",{value:e,children:e},e))})]})]}),l("div",{className:"flex items-center gap-1",children:[l("span",{className:"mr-2",children:["Page ",H," of ",ee]}),r("button",{type:"button",onClick:()=>B(1),disabled:H<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"First page",children:"\xAB\xAB"}),r("button",{type:"button",onClick:()=>B(H-1),disabled:H<=1,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Previous page",children:"\xAB"}),r("button",{type:"button",onClick:()=>B(H+1),disabled:H>=ee,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Next page",children:"\xBB"}),r("button",{type:"button",onClick:()=>B(ee),disabled:H>=ee,className:"px-2 py-1 rounded border border-gray-300 dark:border-gray-600 disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer","aria-label":"Last page",children:"\xBB\xBB"})]})]})]})}var Rr=lr(wr);export{Rr as DataGrid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var a in t)i(e,a,{get:t[a],enumerable:!0})},f=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of d(t))!l.call(e,r)&&r!==a&&i(e,r,{get:()=>t[r],enumerable:!(o=D(t,r))||o.enumerable});return e};var g=e=>f(i({},"__esModule",{value:!0}),e);var G={};p(G,{DataGrid:()=>n.DataGrid});module.exports=g(G);var n=require("./DataGrid.cjs");0&&(module.exports={DataGrid});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DataGrid as r}from"./DataGrid.js";export{r as DataGrid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var C=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var G=(o,e)=>{for(var r in e)C(o,r,{get:e[r],enumerable:!0})},V=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of j(e))!z.call(o,s)&&s!==r&&C(o,s,{get:()=>e[s],enumerable:!(i=q(e,s))||i.enumerable});return o};var X=o=>V(C({},"__esModule",{value:!0}),o);var ee={};G(ee,{Detachable:()=>A});module.exports=X(ee);var n=require("react"),S=require("react-dom"),x=require("../../lib/cn.cjs"),$=require("react/jsx-runtime"),Y=500,B=800,J=600;function K(o,e,r){let i=[`width=${o}`,`height=${e}`,"menubar=no","toolbar=no","location=no","status=no","scrollbars=yes","resizable=yes"];if(r.left!==void 0)i.push(`left=${r.left}`);else if(r.center!==!1&&typeof window<"u"){let s=window.screenLeft??window.screenX,c=window.screenTop??window.screenY,t=window.outerWidth??screen.availWidth,u=window.outerHeight??screen.availHeight;i.push(`left=${s+(t-o)/2}`),i.push(`top=${c+(u-e)/2}`)}if(r.top!==void 0){let s=i.filter(c=>!c.startsWith("top="));return s.push(`top=${r.top}`),s.join(",")}return i.join(",")}function Q(o,e){o.querySelectorAll("style").forEach(t=>{let u=e.createElement("style");u.textContent=t.textContent,e.head.appendChild(u)}),o.querySelectorAll('link[rel="stylesheet"]').forEach(t=>{let u=e.createElement("link");u.rel="stylesheet",u.href=t.href,t.crossOrigin&&(u.crossOrigin=t.crossOrigin),e.head.appendChild(u)});let s=o.documentElement.className;s&&(e.documentElement.className=s);let c=o.body.className;c&&(e.body.className=c)}function Z(o,e){let r=new MutationObserver(i=>{for(let s of i)for(let c of Array.from(s.addedNodes))if(c instanceof HTMLStyleElement){let t=e.createElement("style");t.textContent=c.textContent,e.head.appendChild(t)}else if(c instanceof HTMLLinkElement&&c.rel==="stylesheet"){let t=e.createElement("link");t.rel="stylesheet",t.href=c.href,e.head.appendChild(t)}});return r.observe(o.head,{childList:!0}),r}var A=(0,n.forwardRef)(function({children:e,detached:r,defaultDetached:i=!1,onClose:s,onDetach:c,title:t="",width:u=B,height:R=J,left:T,top:N,center:H=!0,copyStyles:I=!0,closeOnParentUnmount:D=!0,className:F,windowClassName:O,onPopupBlocked:g},U){let f=r!==void 0,[y,v]=(0,n.useState)(i),p=f?r:y,[M,W]=(0,n.useState)(null),l=(0,n.useRef)(null),h=(0,n.useRef)(null),b=(0,n.useRef)(null),w=(0,n.useRef)(!1),E=(0,n.useRef)({width:u,height:R,left:T,top:N,center:H,shouldCopyStyles:I,title:t,windowClassName:O,closeOnParentUnmount:D});E.current={width:u,height:R,left:T,top:N,center:H,shouldCopyStyles:I,title:t,windowClassName:O,closeOnParentUnmount:D};let m=(0,n.useCallback)(()=>{h.current&&(clearInterval(h.current),h.current=null),b.current&&(b.current.disconnect(),b.current=null),W(null)},[]),k=(0,n.useCallback)(()=>{l.current&&!l.current.closed&&l.current.close(),l.current=null,m()},[m]),P=(0,n.useCallback)(()=>{if(typeof window>"u"||w.current||l.current&&!l.current.closed)return;w.current=!0;let a=E.current,_=K(a.width,a.height,{center:a.center,left:a.left,top:a.top}),d=window.open("","",_);if(!d){w.current=!1,g?.();return}l.current=d,d.document.title=a.title||document.title;let L=d.document.createElement("div");a.windowClassName&&(L.className=a.windowClassName),d.document.body.appendChild(L),W(L),a.shouldCopyStyles&&(Q(document,d.document),b.current=Z(document,d.document)),h.current=setInterval(()=>{d.closed&&(m(),l.current=null,f||v(!1),s?.())},Y),w.current=!1,c?.()},[f,s,c,g,m]);return(0,n.useEffect)(()=>{p?P():k()},[p,P,k]),(0,n.useEffect)(()=>{l.current&&!l.current.closed&&t&&(l.current.document.title=t)},[t]),(0,n.useEffect)(()=>()=>{E.current.closeOnParentUnmount&&l.current&&!l.current.closed&&l.current.close(),m(),l.current=null},[m]),(0,n.useImperativeHandle)(U,()=>({detach:()=>{f||v(!0)},attach:()=>{f||v(!1)},get isDetached(){return f?!!r:y},get window(){return l.current}}),[f,r,y]),p&&M?(0,S.createPortal)(e,M):p?null:(0,$.jsx)("div",{className:(0,x.cn)(F),children:e})});A.displayName="Detachable";0&&(module.exports={Detachable});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useState as x,useRef as m,useEffect as C,useCallback as R,useImperativeHandle as U,forwardRef as _}from"react";import{createPortal as q}from"react-dom";import{cn as j}from"../../lib/cn.js";import{jsx as K}from"react/jsx-runtime";var z=500,G=800,V=600;function X(c,n,o){let i=[`width=${c}`,`height=${n}`,"menubar=no","toolbar=no","location=no","status=no","scrollbars=yes","resizable=yes"];if(o.left!==void 0)i.push(`left=${o.left}`);else if(o.center!==!1&&typeof window<"u"){let s=window.screenLeft??window.screenX,r=window.screenTop??window.screenY,e=window.outerWidth??screen.availWidth,l=window.outerHeight??screen.availHeight;i.push(`left=${s+(e-c)/2}`),i.push(`top=${r+(l-n)/2}`)}if(o.top!==void 0){let s=i.filter(r=>!r.startsWith("top="));return s.push(`top=${o.top}`),s.join(",")}return i.join(",")}function Y(c,n){c.querySelectorAll("style").forEach(e=>{let l=n.createElement("style");l.textContent=e.textContent,n.head.appendChild(l)}),c.querySelectorAll('link[rel="stylesheet"]').forEach(e=>{let l=n.createElement("link");l.rel="stylesheet",l.href=e.href,e.crossOrigin&&(l.crossOrigin=e.crossOrigin),n.head.appendChild(l)});let s=c.documentElement.className;s&&(n.documentElement.className=s);let r=c.body.className;r&&(n.body.className=r)}function B(c,n){let o=new MutationObserver(i=>{for(let s of i)for(let r of Array.from(s.addedNodes))if(r instanceof HTMLStyleElement){let e=n.createElement("style");e.textContent=r.textContent,n.head.appendChild(e)}else if(r instanceof HTMLLinkElement&&r.rel==="stylesheet"){let e=n.createElement("link");e.rel="stylesheet",e.href=r.href,n.head.appendChild(e)}});return o.observe(c.head,{childList:!0}),o}var J=_(function({children:n,detached:o,defaultDetached:i=!1,onClose:s,onDetach:r,title:e="",width:l=G,height:T=V,left:N,top:H,center:I=!0,copyStyles:D=!0,closeOnParentUnmount:O=!0,className:A,windowClassName:g,onPopupBlocked:M},$){let d=o!==void 0,[y,v]=x(i),p=d?o:y,[W,k]=x(null),t=m(null),h=m(null),b=m(null),w=m(!1),E=m({width:l,height:T,left:N,top:H,center:I,shouldCopyStyles:D,title:e,windowClassName:g,closeOnParentUnmount:O});E.current={width:l,height:T,left:N,top:H,center:I,shouldCopyStyles:D,title:e,windowClassName:g,closeOnParentUnmount:O};let f=R(()=>{h.current&&(clearInterval(h.current),h.current=null),b.current&&(b.current.disconnect(),b.current=null),k(null)},[]),P=R(()=>{t.current&&!t.current.closed&&t.current.close(),t.current=null,f()},[f]),S=R(()=>{if(typeof window>"u"||w.current||t.current&&!t.current.closed)return;w.current=!0;let u=E.current,F=X(u.width,u.height,{center:u.center,left:u.left,top:u.top}),a=window.open("","",F);if(!a){w.current=!1,M?.();return}t.current=a,a.document.title=u.title||document.title;let L=a.document.createElement("div");u.windowClassName&&(L.className=u.windowClassName),a.document.body.appendChild(L),k(L),u.shouldCopyStyles&&(Y(document,a.document),b.current=B(document,a.document)),h.current=setInterval(()=>{a.closed&&(f(),t.current=null,d||v(!1),s?.())},z),w.current=!1,r?.()},[d,s,r,M,f]);return C(()=>{p?S():P()},[p,S,P]),C(()=>{t.current&&!t.current.closed&&e&&(t.current.document.title=e)},[e]),C(()=>()=>{E.current.closeOnParentUnmount&&t.current&&!t.current.closed&&t.current.close(),f(),t.current=null},[f]),U($,()=>({detach:()=>{d||v(!0)},attach:()=>{d||v(!1)},get isDetached(){return d?!!o:y},get window(){return t.current}}),[d,o,y]),p&&W?q(n,W):p?null:K("div",{className:j(A),children:n})});J.displayName="Detachable";export{J as Detachable};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var D=(a,e)=>{for(var o in e)r(a,o,{get:e[o],enumerable:!0})},f=(a,e,o,b)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!p.call(a,t)&&t!==o&&r(a,t,{get:()=>e[t],enumerable:!(b=h(e,t))||b.enumerable});return a};var m=a=>f(r({},"__esModule",{value:!0}),a);var x={};D(x,{Detachable:()=>c.Detachable});module.exports=m(x);var c=require("./Detachable.cjs");0&&(module.exports={Detachable});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Detachable as t}from"./Detachable.js";export{t as Detachable};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var R=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var A=(t,a)=>{for(var r in a)R(t,r,{get:a[r],enumerable:!0})},L=(t,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of W(a))!P.call(t,d)&&d!==r&&R(t,d,{get:()=>a[d],enumerable:!(s=S(a,d))||s.enumerable});return t};var V=t=>L(R({},"__esModule",{value:!0}),t);var _={};A(_,{DeviceMockup:()=>Z});module.exports=V(_);var p=require("react"),o=require("../../lib/cn.cjs"),e=require("react/jsx-runtime"),X={phone:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},android:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},tablet:{sm:{w:320,h:420},md:{w:420,h:560},lg:{w:540,h:720}},laptop:{sm:{w:400,h:250},md:{w:560,h:350},lg:{w:720,h:450}},desktop:{sm:{w:400,h:300},md:{w:560,h:400},lg:{w:720,h:520}},watch:{sm:{w:80,h:96},md:{w:120,h:144},lg:{w:160,h:192}},browser:{sm:{w:400,h:280},md:{w:560,h:380},lg:{w:720,h:480}}},j=({className:t})=>(0,e.jsxs)("svg",{className:(0,o.cn)("w-3 h-3",t),viewBox:"0 0 16 16",fill:"currentColor",children:[(0,e.jsx)("rect",{x:"1",y:"11",width:"2.5",height:"4",rx:"0.5"}),(0,e.jsx)("rect",{x:"5",y:"8",width:"2.5",height:"7",rx:"0.5"}),(0,e.jsx)("rect",{x:"9",y:"5",width:"2.5",height:"10",rx:"0.5"}),(0,e.jsx)("rect",{x:"13",y:"1",width:"2.5",height:"14",rx:"0.5"})]}),I=({className:t})=>(0,e.jsxs)("svg",{className:(0,o.cn)("w-3 h-3",t),viewBox:"0 0 20 20",fill:"currentColor",children:[(0,e.jsx)("path",{d:"M10 14.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"}),(0,e.jsx)("path",{fillRule:"evenodd",d:"M6.05 11.95a5.5 5.5 0 017.9 0 .75.75 0 001.08-1.04 7 7 0 00-10.06 0 .75.75 0 001.08 1.04z",clipRule:"evenodd"}),(0,e.jsx)("path",{fillRule:"evenodd",d:"M2.81 8.72a10 10 0 0114.38 0 .75.75 0 001.06-1.06 11.5 11.5 0 00-16.5 0 .75.75 0 001.06 1.06z",clipRule:"evenodd"})]}),q=({className:t})=>(0,e.jsxs)("svg",{className:(0,o.cn)("w-4 h-3",t),viewBox:"0 0 24 14",fill:"currentColor",children:[(0,e.jsx)("rect",{x:"0.5",y:"0.5",width:"20",height:"13",rx:"2",stroke:"currentColor",fill:"none",strokeWidth:"1"}),(0,e.jsx)("rect",{x:"22",y:"4",width:"2",height:"6",rx:"0.5"}),(0,e.jsx)("rect",{x:"2.5",y:"2.5",width:"14",height:"9",rx:"1"})]});function f({time:t="9:41",theme:a,device:r}){let s=r==="watch",d=a==="dark"?"text-white":"text-gray-900";return s?(0,e.jsx)("div",{className:(0,o.cn)("flex items-center justify-center py-0.5",d),style:{fontSize:"8px"},children:(0,e.jsx)("span",{className:"font-medium",children:t})}):(0,e.jsxs)("div",{className:(0,o.cn)("flex items-center justify-between px-4 py-1",a==="dark"?"bg-black/20":"bg-white/20",d),style:{fontSize:"10px"},"data-testid":"status-bar",children:[(0,e.jsx)("span",{className:"font-semibold",children:t}),(0,e.jsxs)("div",{className:"flex items-center gap-1",children:[(0,e.jsx)(j,{className:d}),(0,e.jsx)(I,{className:d}),(0,e.jsx)(q,{className:d})]})]})}function E({theme:t}){let a=t==="dark";return(0,e.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 px-3 py-2 border-b",a?"bg-gray-800 border-gray-700":"bg-gray-100 border-gray-200"),"data-testid":"browser-chrome",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,e.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400"}),(0,e.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-400"}),(0,e.jsx)("div",{className:"w-2.5 h-2.5 rounded-full bg-green-400"})]}),(0,e.jsx)("div",{className:(0,o.cn)("flex-1 rounded-md px-3 py-1 text-center",a?"bg-gray-700 text-gray-400":"bg-white text-gray-500 border border-gray-200"),style:{fontSize:"11px"},children:(0,e.jsxs)("span",{className:"flex items-center justify-center gap-1",children:[(0,e.jsx)("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 16 16",fill:"currentColor",children:(0,e.jsx)("path",{fillRule:"evenodd",d:"M8 1a4 4 0 00-4 4v3.5H3a1 1 0 00-1 1V14a1 1 0 001 1h10a1 1 0 001-1V9.5a1 1 0 00-1-1h-1V5a4 4 0 00-4-4zm2.5 7.5V5a2.5 2.5 0 00-5 0v3.5h5z",clipRule:"evenodd"})}),"example.com"]})})]})}function O({children:t,theme:a,screenW:r,screenH:s,showStatusBar:d,statusBarTime:i,frameColor:l,landscape:n=!1}){let h=a==="dark",c=l??(h?"#1a1a1a":"#e5e7eb");if(n){let m=Math.round(s*.35);return(0,e.jsxs)("div",{className:"relative inline-flex flex-row items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:c,padding:"8px 12px",height:s+16},"data-testid":"device-frame","data-device":"phone",children:[(0,e.jsx)("div",{className:(0,o.cn)("rounded-full mr-2",h?"bg-gray-600":"bg-gray-400"),style:{width:4,height:Math.round(s*.35)},"data-testid":"home-indicator"}),(0,e.jsxs)("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:s},children:[d&&(0,e.jsx)(f,{time:i,theme:a,device:"phone"}),t]}),(0,e.jsx)("div",{className:"absolute rounded-full bg-black z-10",style:{width:20,height:m,right:10,top:"50%",transform:"translateY(-50%)"},"data-testid":"phone-notch"})]})}let w=Math.round(r*.35);return(0,e.jsxs)("div",{className:"relative inline-flex flex-col items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:c,padding:"12px 8px",width:r+16},"data-testid":"device-frame","data-device":"phone",children:[(0,e.jsx)("div",{className:"absolute top-[10px] rounded-full bg-black z-10",style:{width:w,height:20,left:"50%",transform:"translateX(-50%)"},"data-testid":"phone-notch"}),(0,e.jsxs)("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:r,height:s},children:[d&&(0,e.jsx)(f,{time:i,theme:a,device:"phone"}),t]}),(0,e.jsx)("div",{className:(0,o.cn)("rounded-full mt-2",h?"bg-gray-600":"bg-gray-400"),style:{width:Math.round(r*.35),height:4},"data-testid":"home-indicator"})]})}function Y({children:t,theme:a,screenW:r,screenH:s,showStatusBar:d,statusBarTime:i,frameColor:l}){return(0,e.jsxs)("div",{className:"relative inline-flex flex-col items-center rounded-[2rem] shadow-xl",style:{backgroundColor:l??(a==="dark"?"#1a1a1a":"#e5e7eb"),padding:"10px 6px",width:r+12},"data-testid":"device-frame","data-device":"android",children:[(0,e.jsx)("div",{className:"absolute top-[6px] rounded-full bg-gray-800 z-10 border border-gray-700",style:{width:8,height:8,left:"50%",transform:"translateX(-50%)"},"data-testid":"camera-dot"}),(0,e.jsxs)("div",{className:"rounded-[1.5rem] overflow-hidden bg-black relative",style:{width:r,height:s},children:[d&&(0,e.jsx)(f,{time:i,theme:a,device:"android"}),t]})]})}function G({children:t,theme:a,screenW:r,screenH:s,showStatusBar:d,statusBarTime:i,frameColor:l}){return(0,e.jsxs)("div",{className:"relative inline-flex flex-col items-center rounded-[1.5rem] shadow-xl",style:{backgroundColor:l??(a==="dark"?"#1a1a1a":"#e5e7eb"),padding:"16px 12px",width:r+24},"data-testid":"device-frame","data-device":"tablet",children:[(0,e.jsx)("div",{className:"absolute top-[8px] rounded-full bg-gray-700 z-10",style:{width:6,height:6,left:"50%",transform:"translateX(-50%)"}}),(0,e.jsxs)("div",{className:"rounded-lg overflow-hidden bg-black relative",style:{width:r,height:s},children:[d&&(0,e.jsx)(f,{time:i,theme:a,device:"tablet"}),t]})]})}function J({children:t,theme:a,screenW:r,screenH:s,frameColor:d}){let i=a==="dark",l=d??(i?"#1a1a1a":"#d1d5db"),n=r+60;return(0,e.jsxs)("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"laptop",children:[(0,e.jsxs)("div",{className:"rounded-t-xl shadow-xl relative",style:{backgroundColor:l,padding:"8px 8px 0",width:r+16},children:[(0,e.jsx)("div",{className:"absolute top-[3px] rounded-full bg-gray-700 z-10",style:{width:4,height:4,left:"50%",transform:"translateX(-50%)"}}),(0,e.jsx)("div",{className:"rounded-t-sm overflow-hidden bg-black",style:{width:r,height:s},children:t})]}),(0,e.jsx)("div",{className:(0,o.cn)(i?"bg-gray-800":"bg-gray-400"),style:{width:r+16,height:3}}),(0,e.jsx)("div",{className:"rounded-b-xl shadow-lg",style:{backgroundColor:l,width:n,height:12,clipPath:"polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%)"},"data-testid":"laptop-base"})]})}function K({children:t,theme:a,screenW:r,screenH:s,frameColor:d}){let i=a==="dark";return(0,e.jsxs)("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"desktop",children:[(0,e.jsx)("div",{className:"rounded-lg shadow-xl",style:{backgroundColor:d??(i?"#1a1a1a":"#d1d5db"),padding:"8px 8px 20px",width:r+16},children:(0,e.jsx)("div",{className:"rounded-sm overflow-hidden bg-black",style:{width:r,height:s},children:t})}),(0,e.jsx)("div",{className:(0,o.cn)(i?"bg-gray-800":"bg-gray-400"),style:{width:40,height:24},"data-testid":"monitor-stand"}),(0,e.jsx)("div",{className:(0,o.cn)("rounded-t-sm",i?"bg-gray-800":"bg-gray-400"),style:{width:Math.round(r*.4),height:6,borderRadius:"2px 2px 4px 4px"}})]})}function Q({children:t,theme:a,screenW:r,screenH:s,showStatusBar:d,statusBarTime:i,frameColor:l}){let n=a==="dark",h=l??(n?"#1a1a1a":"#d1d5db"),c=Math.round(r*.7);return(0,e.jsxs)("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"watch",children:[(0,e.jsx)("div",{className:(0,o.cn)("rounded-t-lg",n?"bg-gray-800":"bg-gray-400"),style:{width:c,height:30},"data-testid":"watch-band"}),(0,e.jsxs)("div",{className:"relative rounded-[1.2rem] shadow-xl",style:{backgroundColor:h,padding:"8px 6px",width:r+12},children:[(0,e.jsx)("div",{className:(0,o.cn)("absolute rounded-sm",n?"bg-gray-600":"bg-gray-400"),style:{width:4,height:16,right:-4,top:"30%"},"data-testid":"watch-crown"}),(0,e.jsxs)("div",{className:"rounded-xl overflow-hidden bg-black",style:{width:r,height:s},children:[d&&(0,e.jsx)(f,{time:i,theme:a,device:"watch"}),t]})]}),(0,e.jsx)("div",{className:(0,o.cn)("rounded-b-lg",n?"bg-gray-800":"bg-gray-400"),style:{width:c,height:30}})]})}function U({children:t,theme:a,screenW:r,screenH:s,frameColor:d}){return(0,e.jsxs)("div",{className:"inline-flex flex-col rounded-lg shadow-xl overflow-hidden",style:{backgroundColor:d??(a==="dark"?"#1f2937":"#f3f4f6"),width:r},"data-testid":"device-frame","data-device":"browser",children:[(0,e.jsx)(E,{theme:a}),(0,e.jsx)("div",{className:"overflow-hidden bg-white",style:{width:r,height:s},children:t})]})}function Z({device:t="phone",src:a,alt:r="Device screen content",children:s,orientation:d="portrait",theme:i="dark",size:l="md",showStatusBar:n=!1,statusBarTime:h,animated:c=!1,scrollSpeed:w=30,frameColor:m,className:B,contentClassName:F}){let D=(0,p.useRef)(null),x=(0,p.useRef)(null),y=X[t][l],C=d==="landscape"&&t!=="watch"&&t!=="browser",g=C?y.h:y.w,u=C?y.w:y.h;(0,p.useEffect)(()=>{if(!c||!D.current)return;let b=D.current,k=null,z=T=>{k===null&&(k=T);let M=(T-k)/1e3;k=T,b.scrollTop+=w*M,b.scrollTop>=b.scrollHeight-b.clientHeight&&(b.scrollTop=0),x.current=requestAnimationFrame(z)};return x.current=requestAnimationFrame(z),()=>{x.current!==null&&cancelAnimationFrame(x.current)}},[c,w]);let v=(0,e.jsx)("div",{ref:c?D:void 0,className:(0,o.cn)("w-full h-full overflow-hidden",c&&"overflow-y-auto scrollbar-hide",F),style:c?{scrollBehavior:"auto"}:void 0,children:a?(0,e.jsx)("img",{src:a,alt:r,className:"w-full h-auto object-cover",draggable:!1}):s}),N={showStatusBar:n,statusBarTime:h},H=()=>{switch(t){case"phone":return(0,e.jsx)(O,{theme:i,screenW:g,screenH:u,frameColor:m,landscape:C,...N,children:v});case"android":return(0,e.jsx)(Y,{theme:i,screenW:g,screenH:u,frameColor:m,...N,children:v});case"tablet":return(0,e.jsx)(G,{theme:i,screenW:g,screenH:u,frameColor:m,...N,children:v});case"laptop":return(0,e.jsx)(J,{theme:i,screenW:g,screenH:u,frameColor:m,children:v});case"desktop":return(0,e.jsx)(K,{theme:i,screenW:g,screenH:u,frameColor:m,children:v});case"watch":return(0,e.jsx)(Q,{theme:i,screenW:g,screenH:u,frameColor:m,...N,children:v});case"browser":return(0,e.jsx)(U,{theme:i,screenW:g,screenH:u,frameColor:m,children:v})}};return(0,e.jsx)("div",{className:(0,o.cn)("inline-flex",B),"data-testid":"device-mockup","data-orientation":d,"data-theme":i,"data-size":l,children:H()})}0&&(module.exports={DeviceMockup});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useRef as z,useEffect as S}from"react";import{cn as l}from"../../lib/cn.js";import{jsx as e,jsxs as s}from"react/jsx-runtime";var W={phone:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},android:{sm:{w:180,h:320},md:{w:240,h:480},lg:{w:300,h:600}},tablet:{sm:{w:320,h:420},md:{w:420,h:560},lg:{w:540,h:720}},laptop:{sm:{w:400,h:250},md:{w:560,h:350},lg:{w:720,h:450}},desktop:{sm:{w:400,h:300},md:{w:560,h:400},lg:{w:720,h:520}},watch:{sm:{w:80,h:96},md:{w:120,h:144},lg:{w:160,h:192}},browser:{sm:{w:400,h:280},md:{w:560,h:380},lg:{w:720,h:480}}},P=({className:a})=>s("svg",{className:l("w-3 h-3",a),viewBox:"0 0 16 16",fill:"currentColor",children:[e("rect",{x:"1",y:"11",width:"2.5",height:"4",rx:"0.5"}),e("rect",{x:"5",y:"8",width:"2.5",height:"7",rx:"0.5"}),e("rect",{x:"9",y:"5",width:"2.5",height:"10",rx:"0.5"}),e("rect",{x:"13",y:"1",width:"2.5",height:"14",rx:"0.5"})]}),A=({className:a})=>s("svg",{className:l("w-3 h-3",a),viewBox:"0 0 20 20",fill:"currentColor",children:[e("path",{d:"M10 14.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"}),e("path",{fillRule:"evenodd",d:"M6.05 11.95a5.5 5.5 0 017.9 0 .75.75 0 001.08-1.04 7 7 0 00-10.06 0 .75.75 0 001.08 1.04z",clipRule:"evenodd"}),e("path",{fillRule:"evenodd",d:"M2.81 8.72a10 10 0 0114.38 0 .75.75 0 001.06-1.06 11.5 11.5 0 00-16.5 0 .75.75 0 001.06 1.06z",clipRule:"evenodd"})]}),L=({className:a})=>s("svg",{className:l("w-4 h-3",a),viewBox:"0 0 24 14",fill:"currentColor",children:[e("rect",{x:"0.5",y:"0.5",width:"20",height:"13",rx:"2",stroke:"currentColor",fill:"none",strokeWidth:"1"}),e("rect",{x:"22",y:"4",width:"2",height:"6",rx:"0.5"}),e("rect",{x:"2.5",y:"2.5",width:"14",height:"9",rx:"1"})]});function f({time:a="9:41",theme:r,device:t}){let o=t==="watch",i=r==="dark"?"text-white":"text-gray-900";return o?e("div",{className:l("flex items-center justify-center py-0.5",i),style:{fontSize:"8px"},children:e("span",{className:"font-medium",children:a})}):s("div",{className:l("flex items-center justify-between px-4 py-1",r==="dark"?"bg-black/20":"bg-white/20",i),style:{fontSize:"10px"},"data-testid":"status-bar",children:[e("span",{className:"font-semibold",children:a}),s("div",{className:"flex items-center gap-1",children:[e(P,{className:i}),e(A,{className:i}),e(L,{className:i})]})]})}function V({theme:a}){let r=a==="dark";return s("div",{className:l("flex items-center gap-2 px-3 py-2 border-b",r?"bg-gray-800 border-gray-700":"bg-gray-100 border-gray-200"),"data-testid":"browser-chrome",children:[s("div",{className:"flex items-center gap-1.5",children:[e("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400"}),e("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-400"}),e("div",{className:"w-2.5 h-2.5 rounded-full bg-green-400"})]}),e("div",{className:l("flex-1 rounded-md px-3 py-1 text-center",r?"bg-gray-700 text-gray-400":"bg-white text-gray-500 border border-gray-200"),style:{fontSize:"11px"},children:s("span",{className:"flex items-center justify-center gap-1",children:[e("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 16 16",fill:"currentColor",children:e("path",{fillRule:"evenodd",d:"M8 1a4 4 0 00-4 4v3.5H3a1 1 0 00-1 1V14a1 1 0 001 1h10a1 1 0 001-1V9.5a1 1 0 00-1-1h-1V5a4 4 0 00-4-4zm2.5 7.5V5a2.5 2.5 0 00-5 0v3.5h5z",clipRule:"evenodd"})}),"example.com"]})})]})}function X({children:a,theme:r,screenW:t,screenH:o,showStatusBar:i,statusBarTime:d,frameColor:n,landscape:c=!1}){let m=r==="dark",h=n??(m?"#1a1a1a":"#e5e7eb");if(c){let g=Math.round(o*.35);return s("div",{className:"relative inline-flex flex-row items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:h,padding:"8px 12px",height:o+16},"data-testid":"device-frame","data-device":"phone",children:[e("div",{className:l("rounded-full mr-2",m?"bg-gray-600":"bg-gray-400"),style:{width:4,height:Math.round(o*.35)},"data-testid":"home-indicator"}),s("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:t,height:o},children:[i&&e(f,{time:d,theme:r,device:"phone"}),a]}),e("div",{className:"absolute rounded-full bg-black z-10",style:{width:20,height:g,right:10,top:"50%",transform:"translateY(-50%)"},"data-testid":"phone-notch"})]})}let w=Math.round(t*.35);return s("div",{className:"relative inline-flex flex-col items-center rounded-[2.5rem] shadow-xl",style:{backgroundColor:h,padding:"12px 8px",width:t+16},"data-testid":"device-frame","data-device":"phone",children:[e("div",{className:"absolute top-[10px] rounded-full bg-black z-10",style:{width:w,height:20,left:"50%",transform:"translateX(-50%)"},"data-testid":"phone-notch"}),s("div",{className:"rounded-[2rem] overflow-hidden bg-black relative",style:{width:t,height:o},children:[i&&e(f,{time:d,theme:r,device:"phone"}),a]}),e("div",{className:l("rounded-full mt-2",m?"bg-gray-600":"bg-gray-400"),style:{width:Math.round(t*.35),height:4},"data-testid":"home-indicator"})]})}function j({children:a,theme:r,screenW:t,screenH:o,showStatusBar:i,statusBarTime:d,frameColor:n}){return s("div",{className:"relative inline-flex flex-col items-center rounded-[2rem] shadow-xl",style:{backgroundColor:n??(r==="dark"?"#1a1a1a":"#e5e7eb"),padding:"10px 6px",width:t+12},"data-testid":"device-frame","data-device":"android",children:[e("div",{className:"absolute top-[6px] rounded-full bg-gray-800 z-10 border border-gray-700",style:{width:8,height:8,left:"50%",transform:"translateX(-50%)"},"data-testid":"camera-dot"}),s("div",{className:"rounded-[1.5rem] overflow-hidden bg-black relative",style:{width:t,height:o},children:[i&&e(f,{time:d,theme:r,device:"android"}),a]})]})}function I({children:a,theme:r,screenW:t,screenH:o,showStatusBar:i,statusBarTime:d,frameColor:n}){return s("div",{className:"relative inline-flex flex-col items-center rounded-[1.5rem] shadow-xl",style:{backgroundColor:n??(r==="dark"?"#1a1a1a":"#e5e7eb"),padding:"16px 12px",width:t+24},"data-testid":"device-frame","data-device":"tablet",children:[e("div",{className:"absolute top-[8px] rounded-full bg-gray-700 z-10",style:{width:6,height:6,left:"50%",transform:"translateX(-50%)"}}),s("div",{className:"rounded-lg overflow-hidden bg-black relative",style:{width:t,height:o},children:[i&&e(f,{time:d,theme:r,device:"tablet"}),a]})]})}function q({children:a,theme:r,screenW:t,screenH:o,frameColor:i}){let d=r==="dark",n=i??(d?"#1a1a1a":"#d1d5db"),c=t+60;return s("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"laptop",children:[s("div",{className:"rounded-t-xl shadow-xl relative",style:{backgroundColor:n,padding:"8px 8px 0",width:t+16},children:[e("div",{className:"absolute top-[3px] rounded-full bg-gray-700 z-10",style:{width:4,height:4,left:"50%",transform:"translateX(-50%)"}}),e("div",{className:"rounded-t-sm overflow-hidden bg-black",style:{width:t,height:o},children:a})]}),e("div",{className:l(d?"bg-gray-800":"bg-gray-400"),style:{width:t+16,height:3}}),e("div",{className:"rounded-b-xl shadow-lg",style:{backgroundColor:n,width:c,height:12,clipPath:"polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%)"},"data-testid":"laptop-base"})]})}function E({children:a,theme:r,screenW:t,screenH:o,frameColor:i}){let d=r==="dark";return s("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"desktop",children:[e("div",{className:"rounded-lg shadow-xl",style:{backgroundColor:i??(d?"#1a1a1a":"#d1d5db"),padding:"8px 8px 20px",width:t+16},children:e("div",{className:"rounded-sm overflow-hidden bg-black",style:{width:t,height:o},children:a})}),e("div",{className:l(d?"bg-gray-800":"bg-gray-400"),style:{width:40,height:24},"data-testid":"monitor-stand"}),e("div",{className:l("rounded-t-sm",d?"bg-gray-800":"bg-gray-400"),style:{width:Math.round(t*.4),height:6,borderRadius:"2px 2px 4px 4px"}})]})}function O({children:a,theme:r,screenW:t,screenH:o,showStatusBar:i,statusBarTime:d,frameColor:n}){let c=r==="dark",m=n??(c?"#1a1a1a":"#d1d5db"),h=Math.round(t*.7);return s("div",{className:"inline-flex flex-col items-center","data-testid":"device-frame","data-device":"watch",children:[e("div",{className:l("rounded-t-lg",c?"bg-gray-800":"bg-gray-400"),style:{width:h,height:30},"data-testid":"watch-band"}),s("div",{className:"relative rounded-[1.2rem] shadow-xl",style:{backgroundColor:m,padding:"8px 6px",width:t+12},children:[e("div",{className:l("absolute rounded-sm",c?"bg-gray-600":"bg-gray-400"),style:{width:4,height:16,right:-4,top:"30%"},"data-testid":"watch-crown"}),s("div",{className:"rounded-xl overflow-hidden bg-black",style:{width:t,height:o},children:[i&&e(f,{time:d,theme:r,device:"watch"}),a]})]}),e("div",{className:l("rounded-b-lg",c?"bg-gray-800":"bg-gray-400"),style:{width:h,height:30}})]})}function Y({children:a,theme:r,screenW:t,screenH:o,frameColor:i}){return s("div",{className:"inline-flex flex-col rounded-lg shadow-xl overflow-hidden",style:{backgroundColor:i??(r==="dark"?"#1f2937":"#f3f4f6"),width:t},"data-testid":"device-frame","data-device":"browser",children:[e(V,{theme:r}),e("div",{className:"overflow-hidden bg-white",style:{width:t,height:o},children:a})]})}function K({device:a="phone",src:r,alt:t="Device screen content",children:o,orientation:i="portrait",theme:d="dark",size:n="md",showStatusBar:c=!1,statusBarTime:m,animated:h=!1,scrollSpeed:w=30,frameColor:g,className:B,contentClassName:F}){let D=z(null),x=z(null),y=W[a][n],C=i==="landscape"&&a!=="watch"&&a!=="browser",u=C?y.h:y.w,v=C?y.w:y.h;S(()=>{if(!h||!D.current)return;let p=D.current,k=null,R=T=>{k===null&&(k=T);let M=(T-k)/1e3;k=T,p.scrollTop+=w*M,p.scrollTop>=p.scrollHeight-p.clientHeight&&(p.scrollTop=0),x.current=requestAnimationFrame(R)};return x.current=requestAnimationFrame(R),()=>{x.current!==null&&cancelAnimationFrame(x.current)}},[h,w]);let b=e("div",{ref:h?D:void 0,className:l("w-full h-full overflow-hidden",h&&"overflow-y-auto scrollbar-hide",F),style:h?{scrollBehavior:"auto"}:void 0,children:r?e("img",{src:r,alt:t,className:"w-full h-auto object-cover",draggable:!1}):o}),N={showStatusBar:c,statusBarTime:m},H=()=>{switch(a){case"phone":return e(X,{theme:d,screenW:u,screenH:v,frameColor:g,landscape:C,...N,children:b});case"android":return e(j,{theme:d,screenW:u,screenH:v,frameColor:g,...N,children:b});case"tablet":return e(I,{theme:d,screenW:u,screenH:v,frameColor:g,...N,children:b});case"laptop":return e(q,{theme:d,screenW:u,screenH:v,frameColor:g,children:b});case"desktop":return e(E,{theme:d,screenW:u,screenH:v,frameColor:g,children:b});case"watch":return e(O,{theme:d,screenW:u,screenH:v,frameColor:g,...N,children:b});case"browser":return e(Y,{theme:d,screenW:u,screenH:v,frameColor:g,children:b})}};return e("div",{className:l("inline-flex",B),"data-testid":"device-mockup","data-orientation":i,"data-theme":d,"data-size":n,children:H()})}export{K as DeviceMockup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var m=(c,e)=>{for(var o in e)p(c,o,{get:e[o],enumerable:!0})},u=(c,e,o,v)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of t(e))!k.call(c,i)&&i!==o&&p(c,i,{get:()=>e[i],enumerable:!(v=r(e,i))||v.enumerable});return c};var M=c=>u(p({},"__esModule",{value:!0}),c);var f={};m(f,{DeviceMockup:()=>D.DeviceMockup});module.exports=M(f);var D=require("./DeviceMockup.cjs");0&&(module.exports={DeviceMockup});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DeviceMockup as i}from"./DeviceMockup.js";export{i as DeviceMockup};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var c=(t,e)=>{for(var o in e)p(t,o,{get:e[o],enumerable:!0})},y=(t,e,o,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of v(e))!m.call(t,r)&&r!==o&&p(t,r,{get:()=>e[r],enumerable:!(d=g(e,r))||d.enumerable});return t};var D=t=>y(p({},"__esModule",{value:!0}),t);var W={};c(W,{Divider:()=>h});module.exports=D(W);var a=require("../../lib/cn.cjs"),i=require("react/jsx-runtime"),s={solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},u={left:{before:"flex-[0.1]",after:"flex-1"},center:{before:"flex-1",after:"flex-1"},right:{before:"flex-1",after:"flex-[0.1]"}};function h({orientation:t="horizontal",variant:e="solid",label:o,textAlign:d="center",thickness:r=1,color:n="border-gray-300 dark:border-gray-700",spacing:l,className:f,...x}){if(t==="vertical")return(0,i.jsx)("hr",{"aria-orientation":"vertical",className:(0,a.cn)("h-full border-l-0 border-r",s[e],n,l||"mx-2",f),style:{borderRightWidth:`${r}px`},...x});if(o){let b=u[d];return(0,i.jsxs)("div",{role:"separator","aria-orientation":"horizontal",className:(0,a.cn)("flex items-center text-sm text-gray-500 dark:text-gray-400",l||"my-4",f),...x,children:[(0,i.jsx)("div",{className:(0,a.cn)("border-t",s[e],n,b.before),style:{borderTopWidth:`${r}px`}}),(0,i.jsx)("span",{className:"px-3 whitespace-nowrap",children:o}),(0,i.jsx)("div",{className:(0,a.cn)("border-t",s[e],n,b.after),style:{borderTopWidth:`${r}px`}})]})}return(0,i.jsx)("hr",{"aria-orientation":"horizontal",className:(0,a.cn)("border-t-0 border-b",s[e],n,l||"my-4",f),style:{borderBottomWidth:`${r}px`},...x})}h.displayName="Divider";0&&(module.exports={Divider});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cn as e}from"../../lib/cn.js";import{jsx as r,jsxs as g}from"react/jsx-runtime";var a={solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},b={left:{before:"flex-[0.1]",after:"flex-1"},center:{before:"flex-1",after:"flex-1"},right:{before:"flex-1",after:"flex-[0.1]"}};function h({orientation:x="horizontal",variant:t="solid",label:l,textAlign:p="center",thickness:i=1,color:o="border-gray-300 dark:border-gray-700",spacing:d,className:n,...s}){if(x==="vertical")return r("hr",{"aria-orientation":"vertical",className:e("h-full border-l-0 border-r",a[t],o,d||"mx-2",n),style:{borderRightWidth:`${i}px`},...s});if(l){let f=b[p];return g("div",{role:"separator","aria-orientation":"horizontal",className:e("flex items-center text-sm text-gray-500 dark:text-gray-400",d||"my-4",n),...s,children:[r("div",{className:e("border-t",a[t],o,f.before),style:{borderTopWidth:`${i}px`}}),r("span",{className:"px-3 whitespace-nowrap",children:l}),r("div",{className:e("border-t",a[t],o,f.after),style:{borderTopWidth:`${i}px`}})]})}return r("hr",{"aria-orientation":"horizontal",className:e("border-t-0 border-b",a[t],o,d||"my-4",n),style:{borderBottomWidth:`${i}px`},...s})}h.displayName="Divider";export{h as Divider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var d=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var a=(r,i)=>{for(var t in i)d(r,t,{get:i[t],enumerable:!0})},x=(r,i,t,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of n(i))!p.call(r,e)&&e!==t&&d(r,e,{get:()=>i[e],enumerable:!(o=D(i,e))||o.enumerable});return r};var f=r=>x(d({},"__esModule",{value:!0}),r);var m={};a(m,{Divider:()=>v.Divider});module.exports=f(m);var v=require("./Divider.cjs");0&&(module.exports={Divider});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Divider as e}from"./Divider.js";export{e as Divider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var H=(o,e)=>{for(var a in e)f(o,a,{get:e[a],enumerable:!0})},U=(o,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of A(e))!B.call(o,i)&&i!==a&&f(o,i,{get:()=>e[i],enumerable:!(r=j(e,i))||r.enumerable});return o};var $=o=>U(f({},"__esModule",{value:!0}),o);var K={};H(K,{Drawer:()=>v});module.exports=$(K);var l=require("react"),w=require("react-dom"),y=require("../../hooks/useDialogA11y.cjs"),s=require("../../lib/cn.cjs"),x=require("../../lib/i18n.cjs"),t=require("react/jsx-runtime"),q={left:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},right:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},top:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"},bottom:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"}},G={left:"left-0 top-0 bottom-0",right:"right-0 top-0 bottom-0",top:"top-0 left-0 right-0",bottom:"bottom-0 left-0 right-0"},p={left:{enter:"animate-in slide-in-from-left duration-300",exit:"animate-out slide-out-to-left duration-200"},right:{enter:"animate-in slide-in-from-right duration-300",exit:"animate-out slide-out-to-right duration-200"},top:{enter:"animate-in slide-in-from-top duration-300",exit:"animate-out slide-out-to-top duration-200"},bottom:{enter:"animate-in slide-in-from-bottom duration-300",exit:"animate-out slide-out-to-bottom duration-200"}},J=(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})});function v({open:o,onClose:e,children:a,position:r="right",size:i="md",customWidth:d,customHeight:u,showOverlay:D=!0,closeOnOverlayClick:m=!0,closeOnEscape:k=!0,title:n,footer:c,className:N,overlayClassName:R,closeLabel:C,"aria-label":I,trapFocus:P=!0,initialFocus:z,returnFocus:F,lockScroll:L=!0}){let M=!!(d||u),g=(0,l.useRef)(null),S=(0,x.useUILabels)(),h=`${(0,l.useId)()}-drawer-title`,{dialogRef:E,dialogProps:O}=(0,y.useDialogA11y)({open:o,onClose:e,closeOnEscape:k,trapFocus:P,initialFocus:z,returnFocus:F,lockScroll:L,keepInteractive:[g]}),T=(0,l.useCallback)(()=>{m&&e()},[m,e]);if(!o)return null;let b=(0,t.jsxs)(t.Fragment,{children:[D&&(0,t.jsx)("div",{ref:g,className:(0,s.cn)("fixed inset-0 bg-black/50 z-40 transition-opacity",o?"animate-in fade-in duration-200":"animate-out fade-out duration-150",R),onClick:T,"aria-hidden":"true"}),(0,t.jsxs)("div",{ref:E,...O,"aria-labelledby":n?h:void 0,"aria-label":n?void 0:I,className:(0,s.cn)("fixed z-50 bg-white dark:bg-gray-900","shadow-xl overflow-hidden","flex flex-col focus:outline-none",G[r],!M&&q[r][i],o?p[r].enter:p[r].exit,N),style:{...d?{width:d}:{},...u?{height:u}:{}},children:[n&&(0,t.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:[(0,t.jsx)("h2",{id:h,className:"text-lg font-semibold text-gray-900 dark:text-white",children:n}),(0,t.jsx)("button",{type:"button",onClick:e,className:(0,s.cn)("rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900","dark:hover:bg-gray-800 dark:hover:text-white","focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-600"),"aria-label":C??S.closeDrawer,children:J})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-6 py-4",children:a}),c&&(0,t.jsx)("div",{className:"px-6 py-4 border-t border-gray-200 dark:border-gray-700",children:c})]})]});return typeof document<"u"?(0,w.createPortal)(b,document.body):b}v.displayName="Drawer";0&&(module.exports={Drawer});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useCallback as M,useId as S,useRef as E}from"react";import{createPortal as O}from"react-dom";import{useDialogA11y as T}from"../../hooks/useDialogA11y.js";import{cn as n}from"../../lib/cn.js";import{useUILabels as j}from"../../lib/i18n.js";import{Fragment as $,jsx as e,jsxs as s}from"react/jsx-runtime";var A={left:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},right:{sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[32rem]",full:"w-full",half:"w-1/2 h-full"},top:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"},bottom:{sm:"h-64",md:"h-80",lg:"h-96",xl:"h-[32rem]",full:"h-full",half:"w-1/2 h-full"}},B={left:"left-0 top-0 bottom-0",right:"right-0 top-0 bottom-0",top:"top-0 left-0 right-0",bottom:"bottom-0 left-0 right-0"},g={left:{enter:"animate-in slide-in-from-left duration-300",exit:"animate-out slide-out-to-left duration-200"},right:{enter:"animate-in slide-in-from-right duration-300",exit:"animate-out slide-out-to-right duration-200"},top:{enter:"animate-in slide-in-from-top duration-300",exit:"animate-out slide-out-to-top duration-200"},bottom:{enter:"animate-in slide-in-from-bottom duration-300",exit:"animate-out slide-out-to-bottom duration-200"}},H=e("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})});function U({open:t,onClose:o,children:h,position:r="right",size:b="md",customWidth:a,customHeight:l,showOverlay:p=!0,closeOnOverlayClick:d=!0,closeOnEscape:w=!0,title:i,footer:u,className:y,overlayClassName:x,closeLabel:v,"aria-label":D,trapFocus:k=!0,initialFocus:N,returnFocus:R,lockScroll:C=!0}){let I=!!(a||l),f=E(null),P=j(),m=`${S()}-drawer-title`,{dialogRef:z,dialogProps:F}=T({open:t,onClose:o,closeOnEscape:w,trapFocus:k,initialFocus:N,returnFocus:R,lockScroll:C,keepInteractive:[f]}),L=M(()=>{d&&o()},[d,o]);if(!t)return null;let c=s($,{children:[p&&e("div",{ref:f,className:n("fixed inset-0 bg-black/50 z-40 transition-opacity",t?"animate-in fade-in duration-200":"animate-out fade-out duration-150",x),onClick:L,"aria-hidden":"true"}),s("div",{ref:z,...F,"aria-labelledby":i?m:void 0,"aria-label":i?void 0:D,className:n("fixed z-50 bg-white dark:bg-gray-900","shadow-xl overflow-hidden","flex flex-col focus:outline-none",B[r],!I&&A[r][b],t?g[r].enter:g[r].exit,y),style:{...a?{width:a}:{},...l?{height:l}:{}},children:[i&&s("div",{className:"flex items-center justify-between px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:[e("h2",{id:m,className:"text-lg font-semibold text-gray-900 dark:text-white",children:i}),e("button",{type:"button",onClick:o,className:n("rounded-lg p-1.5 text-gray-400 hover:bg-gray-100 hover:text-gray-900","dark:hover:bg-gray-800 dark:hover:text-white","focus:outline-none focus:ring-2 focus:ring-gray-300 dark:focus:ring-gray-600"),"aria-label":v??P.closeDrawer,children:H})]}),e("div",{className:"flex-1 overflow-y-auto px-6 py-4",children:h}),u&&e("div",{className:"px-6 py-4 border-t border-gray-200 dark:border-gray-700",children:u})]})]});return typeof document<"u"?O(c,document.body):c}U.displayName="Drawer";export{U as Drawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var w=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var m=(e,r)=>{for(var a in r)w(e,a,{get:r[a],enumerable:!0})},s=(e,r,a,D)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of i(r))!f.call(e,o)&&o!==a&&w(e,o,{get:()=>r[o],enumerable:!(D=t(r,o))||D.enumerable});return e};var x=e=>s(w({},"__esModule",{value:!0}),e);var P={};m(P,{Drawer:()=>p.Drawer});module.exports=x(P);var p=require("./Drawer.cjs");0&&(module.exports={Drawer});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Drawer as o}from"./Drawer.js";export{o as Drawer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var i=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var k=(t,n)=>{for(var o in n)i(t,o,{get:n[o],enumerable:!0})},P=(t,n,o,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of h(n))!N.call(t,r)&&r!==o&&i(t,r,{get:()=>n[r],enumerable:!(s=y(n,r))||s.enumerable});return t};var V=t=>P(i({},"__esModule",{value:!0}),t);var B={};k(B,{Dropdown:()=>I,useDropdownContext:()=>A});module.exports=V(B);var e=require("react"),u=require("react/jsx-runtime"),f=(0,e.createContext)(null);function A(){let t=(0,e.useContext)(f);if(!t)throw new Error("Dropdown compound components must be used within a Dropdown");return t}function I({open:t,defaultOpen:n=!1,onOpenChange:o,closeOnSelect:s=!0,closeOnClickOutside:r=!0,closeOnEscape:b=!0,modal:x=!1,children:g}){let[D,w]=(0,e.useState)(n),c=t!==void 0,O=c?t:D,C=(0,e.useRef)(null),R=(0,e.useRef)(null),d=(0,e.useRef)([]),[v,a]=(0,e.useState)(-1),E=(0,e.useRef)(0),p=(0,e.useId)(),m={triggerId:`dropdown-trigger-${p}`,contentId:`dropdown-content-${p}`},H=(0,e.useCallback)(l=>{c||w(l),o?.(l),l||a(-1)},[c,o]),L=(0,e.useCallback)((l,T)=>{d.current&&(d.current[l]=T)},[]),M=(0,e.useCallback)(()=>E.current++,[]),S={isOpen:O,setIsOpen:H,triggerRef:C,contentRef:R,closeOnSelect:s,closeOnClickOutside:r,closeOnEscape:b,modal:x,focusedIndex:v,setFocusedIndex:a,itemsRef:d,registerItem:L,getNextItemIndex:M,triggerId:m.triggerId,contentId:m.contentId};return(0,u.jsx)(f.Provider,{value:S,children:(0,u.jsx)("div",{className:"relative inline-block",children:g})})}I.displayName="Dropdown";0&&(module.exports={Dropdown,useDropdownContext});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as y,useContext as h,useState as u,useRef as n,useCallback as l,useId as N}from"react";import{jsx as a}from"react/jsx-runtime";var p=y(null);function V(){let e=h(p);if(!e)throw new Error("Dropdown compound components must be used within a Dropdown");return e}function k({open:e,defaultOpen:m=!1,onOpenChange:s,closeOnSelect:f=!0,closeOnClickOutside:I=!0,closeOnEscape:b=!0,modal:x=!1,children:g}){let[D,w]=u(m),o=e!==void 0,O=o?e:D,C=n(null),R=n(null),r=n([]),[v,c]=u(-1),E=n(0),d=N(),i={triggerId:`dropdown-trigger-${d}`,contentId:`dropdown-content-${d}`},H=l(t=>{o||w(t),s?.(t),t||c(-1)},[o,s]),L=l((t,T)=>{r.current&&(r.current[t]=T)},[]),M=l(()=>E.current++,[]),S={isOpen:O,setIsOpen:H,triggerRef:C,contentRef:R,closeOnSelect:f,closeOnClickOutside:I,closeOnEscape:b,modal:x,focusedIndex:v,setFocusedIndex:c,itemsRef:r,registerItem:L,getNextItemIndex:M,triggerId:i.triggerId,contentId:i.contentId};return a(p.Provider,{value:S,children:a("div",{className:"relative inline-block",children:g})})}k.displayName="Dropdown";export{k as Dropdown,V as useDropdownContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var f=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var F=(n,e)=>{for(var a in e)f(n,a,{get:e[a],enumerable:!0})},O=(n,e,a,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of R(e))!B.call(n,o)&&o!==a&&f(n,o,{get:()=>e[o],enumerable:!(d=M(e,o))||d.enumerable});return n};var P=n=>O(f({},"__esModule",{value:!0}),n);var j={};F(j,{DropdownCheckboxItem:()=>g});module.exports=P(j);var r=require("react"),x=require("./Dropdown.cjs"),p=require("../../lib/cn.cjs"),t=require("react/jsx-runtime");function g({checked:n,defaultChecked:e=!1,onCheckedChange:a,children:d,icon:o,description:h,disabled:s=!1,closeOnChange:y=!1,className:C,index:w}){let{setIsOpen:I,focusedIndex:N,setFocusedIndex:v,registerItem:i,getNextItemIndex:D}=(0,x.useDropdownContext)(),m=(0,r.useRef)(null),[c]=(0,r.useState)(()=>w??D()),[E,L]=(0,r.useState)(e),b=n!==void 0,l=b?n:E;(0,r.useEffect)(()=>(i(c,m.current),()=>{i(c,null)}),[c,i]);let u=N===c;return(0,t.jsxs)("button",{ref:m,role:"menuitemcheckbox",type:"button",tabIndex:u?0:-1,"aria-checked":l,disabled:s,"data-disabled":s||void 0,"data-focused":u||void 0,onClick:()=>{if(s)return;let k=!l;b||L(k),a?.(k),y&&I(!1)},onMouseEnter:()=>{s||v(c)},className:(0,p.cn)("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",s&&"opacity-50 cursor-not-allowed hover:bg-transparent",u&&"bg-gray-100 dark:bg-gray-700",C),children:[(0,t.jsx)("span",{className:"mr-2 shrink-0 w-4 h-4",children:o||(0,t.jsx)("span",{className:(0,p.cn)("flex items-center justify-center w-4 h-4 rounded border-2 transition-colors",l?"bg-blue-600 border-blue-600":"border-gray-300 dark:border-gray-600"),children:l&&(0,t.jsx)("svg",{className:"w-3 h-3 text-white",viewBox:"0 0 16 16",fill:"none",children:(0,t.jsx)("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})})}),(0,t.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,t.jsx)("span",{className:"block truncate",children:d}),h&&(0,t.jsx)("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:h})]})]})}g.displayName="DropdownCheckboxItem";0&&(module.exports={DropdownCheckboxItem});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useState as u,useEffect as E,useRef as L}from"react";import{useDropdownContext as M}from"./Dropdown.js";import{cn as f}from"../../lib/cn.js";import{jsx as e,jsxs as p}from"react/jsx-runtime";function R({checked:s,defaultChecked:h=!1,onCheckedChange:m,children:b,icon:k,description:c,disabled:n=!1,closeOnChange:x=!1,className:g,index:y}){let{setIsOpen:C,focusedIndex:w,setFocusedIndex:I,registerItem:r,getNextItemIndex:N}=M(),d=L(null),[t]=u(()=>y??N()),[v,D]=u(h),l=s!==void 0,o=l?s:v;E(()=>(r(t,d.current),()=>{r(t,null)}),[t,r]);let a=w===t;return p("button",{ref:d,role:"menuitemcheckbox",type:"button",tabIndex:a?0:-1,"aria-checked":o,disabled:n,"data-disabled":n||void 0,"data-focused":a||void 0,onClick:()=>{if(n)return;let i=!o;l||D(i),m?.(i),x&&C(!1)},onMouseEnter:()=>{n||I(t)},className:f("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",n&&"opacity-50 cursor-not-allowed hover:bg-transparent",a&&"bg-gray-100 dark:bg-gray-700",g),children:[e("span",{className:"mr-2 shrink-0 w-4 h-4",children:k||e("span",{className:f("flex items-center justify-center w-4 h-4 rounded border-2 transition-colors",o?"bg-blue-600 border-blue-600":"border-gray-300 dark:border-gray-600"),children:o&&e("svg",{className:"w-3 h-3 text-white",viewBox:"0 0 16 16",fill:"none",children:e("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})})})}),p("span",{className:"flex-1 min-w-0",children:[e("span",{className:"block truncate",children:b}),c&&e("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:c})]})]})}R.displayName="DropdownCheckboxItem";export{R as DropdownCheckboxItem};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var v=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var X=(i,t)=>{for(var l in t)v(i,l,{get:t[l],enumerable:!0})},Y=(i,t,l,f)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of U(t))!V.call(i,a)&&a!==l&&v(i,a,{get:()=>t[a],enumerable:!(f=Q(t,a))||f.enumerable});return i};var Z=i=>Y(v({},"__esModule",{value:!0}),i);var $={};X($,{DropdownContent:()=>I});module.exports=Z($);var o=require("react"),R=require("react-dom"),k=require("./Dropdown.cjs"),x=require("./hooks/useClickOutside.cjs"),N=require("./hooks/usePositioning.cjs"),O=require("./hooks/useKeyboardNavigation.cjs"),S=require("../../lib/aria-hide.cjs"),A=require("../../lib/cn.cjs"),r=require("react/jsx-runtime"),_={fade:"animate-in fade-in-0 duration-200",scale:"animate-in fade-in-0 zoom-in-95 duration-200",slide:"animate-in fade-in-0 slide-in-from-top-2 duration-200",none:""};function I({side:i="bottom",align:t="start",sideOffset:l=4,alignOffset:f=0,avoidCollisions:a=!0,collisionPadding:D=8,minWidth:F,maxWidth:P,maxHeight:E=300,animation:W="scale",portal:z=!0,children:B,className:T}){let{isOpen:e,setIsOpen:p,triggerRef:s,contentRef:d,closeOnClickOutside:q,closeOnEscape:L,modal:H,contentId:K,focusedIndex:G,setFocusedIndex:b,itemsRef:c}=(0,k.useDropdownContext)(),[m,h]=(0,o.useState)(!1),g=(0,N.usePositioning)({triggerRef:s,contentRef:d,isOpen:e,side:i,align:t,sideOffset:l,alignOffset:f,avoidCollisions:a,collisionPadding:D});(0,x.useClickOutside)(d,()=>{q&&p(!1)},e);let J=c.current?.filter(Boolean).length||0,M=(0,o.useCallback)(n=>{let u=c.current?.[n];u&&!u.hasAttribute("data-disabled")&&u.click()},[c]);(0,O.useKeyboardNavigation)({isOpen:e,onClose:()=>{L&&(p(!1),s.current?.focus())},itemsCount:J,focusedIndex:G,setFocusedIndex:b,onSelect:M}),(0,o.useEffect)(()=>{let n=d.current;if(n)return(0,S.registerFloatingLayer)(n,()=>s.current)},[d,s]),(0,o.useEffect)(()=>{if(e&&c.current&&c.current.length>0){let n=setTimeout(()=>{b(0),c.current?.[0]?.focus()},10);return()=>clearTimeout(n)}},[e,c,b]),(0,o.useLayoutEffect)(()=>{let n=0;if(!e){h(!1);return}let u=()=>{let y=s.current?.getBoundingClientRect(),C=d.current?.getBoundingClientRect();if(g.isReady&&!!y&&!!C&&y.width>0&&y.height>0&&C.width>0&&C.height>0){h(!0);return}n=requestAnimationFrame(u)};return h(!1),n=requestAnimationFrame(u),()=>{n&&cancelAnimationFrame(n)}},[e,g.isReady,s,d]);let w=(0,r.jsxs)(r.Fragment,{children:[H&&e&&(0,r.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:()=>p(!1)}),(0,r.jsx)("div",{ref:d,id:K,role:"menu","aria-orientation":"vertical","aria-hidden":!e,tabIndex:-1,style:{position:"fixed",top:g.top,left:g.left,minWidth:F??s.current?.offsetWidth,maxWidth:P,maxHeight:E,visibility:e&&m?"visible":"hidden",opacity:e&&m?1:0,pointerEvents:e&&m?"auto":"none"},className:(0,A.cn)("z-50 overflow-auto rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",e&&m&&_[W],T),children:(0,r.jsx)("div",{className:"py-1",children:B})})]});return z&&typeof document<"u"?(0,R.createPortal)(w,document.body):w}I.displayName="DropdownContent";0&&(module.exports={DropdownContent});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useEffect as p,useCallback as B,useLayoutEffect as T,useState as q}from"react";import{createPortal as L}from"react-dom";import{useDropdownContext as H}from"./Dropdown.js";import{useClickOutside as K}from"./hooks/useClickOutside.js";import{usePositioning as G}from"./hooks/usePositioning.js";import{useKeyboardNavigation as J}from"./hooks/useKeyboardNavigation.js";import{registerFloatingLayer as M}from"../../lib/aria-hide.js";import{cn as Q}from"../../lib/cn.js";import{Fragment as X,jsx as m,jsxs as Y}from"react/jsx-runtime";var U={fade:"animate-in fade-in-0 duration-200",scale:"animate-in fade-in-0 zoom-in-95 duration-200",slide:"animate-in fade-in-0 slide-in-from-top-2 duration-200",none:""};function V({side:b="bottom",align:h="start",sideOffset:y=4,alignOffset:C=0,avoidCollisions:v=!0,collisionPadding:w=8,minWidth:R,maxWidth:k,maxHeight:x=300,animation:N="scale",portal:O=!0,children:S,className:A}){let{isOpen:e,setIsOpen:d,triggerRef:n,contentRef:i,closeOnClickOutside:I,closeOnEscape:D,modal:F,contentId:P,focusedIndex:E,setFocusedIndex:c,itemsRef:o}=H(),[a,l]=q(!1),s=G({triggerRef:n,contentRef:i,isOpen:e,side:b,align:h,sideOffset:y,alignOffset:C,avoidCollisions:v,collisionPadding:w});K(i,()=>{I&&d(!1)},e);let W=o.current?.filter(Boolean).length||0,z=B(t=>{let r=o.current?.[t];r&&!r.hasAttribute("data-disabled")&&r.click()},[o]);J({isOpen:e,onClose:()=>{D&&(d(!1),n.current?.focus())},itemsCount:W,focusedIndex:E,setFocusedIndex:c,onSelect:z}),p(()=>{let t=i.current;if(t)return M(t,()=>n.current)},[i,n]),p(()=>{if(e&&o.current&&o.current.length>0){let t=setTimeout(()=>{c(0),o.current?.[0]?.focus()},10);return()=>clearTimeout(t)}},[e,o,c]),T(()=>{let t=0;if(!e){l(!1);return}let r=()=>{let u=n.current?.getBoundingClientRect(),f=i.current?.getBoundingClientRect();if(s.isReady&&!!u&&!!f&&u.width>0&&u.height>0&&f.width>0&&f.height>0){l(!0);return}t=requestAnimationFrame(r)};return l(!1),t=requestAnimationFrame(r),()=>{t&&cancelAnimationFrame(t)}},[e,s.isReady,n,i]);let g=Y(X,{children:[F&&e&&m("div",{className:"fixed inset-0 z-40 bg-black/20",onClick:()=>d(!1)}),m("div",{ref:i,id:P,role:"menu","aria-orientation":"vertical","aria-hidden":!e,tabIndex:-1,style:{position:"fixed",top:s.top,left:s.left,minWidth:R??n.current?.offsetWidth,maxWidth:k,maxHeight:x,visibility:e&&a?"visible":"hidden",opacity:e&&a?1:0,pointerEvents:e&&a?"auto":"none"},className:Q("z-50 overflow-auto rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",e&&a&&U[N],A),children:m("div",{className:"py-1",children:S})})]});return O&&typeof document<"u"?L(g,document.body):g}V.displayName="DropdownContent";export{V as DropdownContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var i=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var B=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},F=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of D(e))!P.call(t,r)&&r!==o&&i(t,r,{get:()=>e[r],enumerable:!(s=M(e,r))||s.enumerable});return t};var H=t=>F(i({},"__esModule",{value:!0}),t);var T={};B(T,{DropdownItem:()=>f});module.exports=H(T);var a=require("react"),g=require("./Dropdown.cjs"),m=require("../../lib/cn.cjs"),n=require("react/jsx-runtime"),L={default:"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20",success:"text-green-600 dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"};function f({children:t,icon:e,iconPosition:o="left",description:s,shortcut:r,variant:x="default",closeOnSelect:h,onSelect:b,disabled:l=!1,className:y,onClick:k,index:v,...I}){let{setIsOpen:N,closeOnSelect:w,focusedIndex:C,setFocusedIndex:R,registerItem:d,getNextItemIndex:E}=(0,g.useDropdownContext)(),p=(0,a.useRef)(null),[c]=(0,a.useState)(()=>v??E());(0,a.useEffect)(()=>(d(c,p.current),()=>{d(c,null)}),[c,d]);let O=h??w,u=C===c;return(0,n.jsxs)("button",{ref:p,role:"menuitem",type:"button",tabIndex:u?0:-1,disabled:l,"data-disabled":l||void 0,"data-focused":u||void 0,onClick:S=>{l||(b?.(),k?.(S),O&&N(!1))},onMouseEnter:()=>{l||R(c)},className:(0,m.cn)("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","focus:bg-gray-100 dark:focus:bg-gray-700",L[x],l&&"opacity-50 cursor-not-allowed hover:bg-transparent",u&&"bg-gray-100 dark:bg-gray-700",y),...I,children:[e&&o==="left"&&(0,n.jsx)("span",{className:"mr-2 shrink-0 w-5 h-5",children:e}),(0,n.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,n.jsx)("span",{className:"block truncate",children:t}),s&&(0,n.jsx)("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:s})]}),e&&o==="right"&&(0,n.jsx)("span",{className:"ml-2 shrink-0 w-5 h-5",children:e}),r&&(0,n.jsx)("span",{className:"ml-auto pl-4 text-xs text-gray-400 dark:text-gray-500",children:r})]})}f.displayName="DropdownItem";0&&(module.exports={DropdownItem});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useState as R,useEffect as E,useRef as O}from"react";import{useDropdownContext as S}from"./Dropdown.js";import{cn as M}from"../../lib/cn.js";import{jsx as n,jsxs as u}from"react/jsx-runtime";var D={default:"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700",danger:"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20",success:"text-green-600 dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20"};function P({children:i,icon:r,iconPosition:s="left",description:l,shortcut:c,variant:p="default",closeOnSelect:g,onSelect:m,disabled:e=!1,className:f,onClick:x,index:h,...b}){let{setIsOpen:y,closeOnSelect:k,focusedIndex:v,setFocusedIndex:I,registerItem:o,getNextItemIndex:N}=S(),d=O(null),[t]=R(()=>h??N());E(()=>(o(t,d.current),()=>{o(t,null)}),[t,o]);let w=g??k,a=v===t;return u("button",{ref:d,role:"menuitem",type:"button",tabIndex:a?0:-1,disabled:e,"data-disabled":e||void 0,"data-focused":a||void 0,onClick:C=>{e||(m?.(),x?.(C),w&&y(!1))},onMouseEnter:()=>{e||I(t)},className:M("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","focus:bg-gray-100 dark:focus:bg-gray-700",D[p],e&&"opacity-50 cursor-not-allowed hover:bg-transparent",a&&"bg-gray-100 dark:bg-gray-700",f),...b,children:[r&&s==="left"&&n("span",{className:"mr-2 shrink-0 w-5 h-5",children:r}),u("span",{className:"flex-1 min-w-0",children:[n("span",{className:"block truncate",children:i}),l&&n("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:l})]}),r&&s==="right"&&n("span",{className:"ml-2 shrink-0 w-5 h-5",children:r}),c&&n("span",{className:"ml-auto pl-4 text-xs text-gray-400 dark:text-gray-500",children:c})]})}P.displayName="DropdownItem";export{P as DropdownItem};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var h=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var a in t)h(e,a,{get:t[a],enumerable:!0})},M=(e,t,a,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of G(t))!V.call(e,n)&&n!==a&&h(e,n,{get:()=>t[n],enumerable:!(s=D(t,n))||s.enumerable});return e};var P=e=>M(h({},"__esModule",{value:!0}),e);var B={};E(B,{DropdownRadioGroup:()=>C,DropdownRadioItem:()=>k});module.exports=P(B);var o=require("react"),R=require("./Dropdown.cjs"),v=require("../../lib/cn.cjs"),r=require("react/jsx-runtime"),y=(0,o.createContext)(null);function L(){let e=(0,o.useContext)(y);if(!e)throw new Error("DropdownRadioItem must be used within a DropdownRadioGroup");return e}function C({value:e,defaultValue:t="",onValueChange:a,children:s,className:n}){let[g,m]=(0,o.useState)(t),u=e!==void 0,d=u?e:g,i=(0,o.useCallback)(c=>{u||m(c),a?.(c)},[u,a]),f=(0,o.useMemo)(()=>({value:d,onValueChange:i}),[d,i]);return(0,r.jsx)(y.Provider,{value:f,children:(0,r.jsx)("div",{role:"group",className:n,children:s})})}C.displayName="DropdownRadioGroup";function k({value:e,children:t,icon:a,description:s,disabled:n=!1,closeOnChange:g=!0,className:m,index:u}){let{value:d,onValueChange:i}=L(),{setIsOpen:f,focusedIndex:c,setFocusedIndex:N,registerItem:x,getNextItemIndex:I}=(0,R.useDropdownContext)(),w=(0,o.useRef)(null),[l]=(0,o.useState)(()=>u??I()),p=d===e;(0,o.useEffect)(()=>(x(l,w.current),()=>{x(l,null)}),[l,x]);let b=c===l;return(0,r.jsxs)("button",{ref:w,role:"menuitemradio",type:"button",tabIndex:b?0:-1,"aria-checked":p,disabled:n,"data-disabled":n||void 0,"data-focused":b||void 0,onClick:()=>{n||(i(e),g&&f(!1))},onMouseEnter:()=>{n||N(l)},className:(0,v.cn)("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",n&&"opacity-50 cursor-not-allowed hover:bg-transparent",b&&"bg-gray-100 dark:bg-gray-700",m),children:[(0,r.jsx)("span",{className:"mr-2 shrink-0 w-4 h-4",children:a||(0,r.jsx)("span",{className:(0,v.cn)("flex items-center justify-center w-4 h-4 rounded-full border-2 transition-colors",p?"border-blue-600":"border-gray-300 dark:border-gray-600"),children:p&&(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-blue-600"})})}),(0,r.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:"block truncate",children:t}),s&&(0,r.jsx)("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:s})]}),p&&!a&&(0,r.jsx)("svg",{className:"ml-auto w-4 h-4 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})]})}k.displayName="DropdownRadioItem";0&&(module.exports={DropdownRadioGroup,DropdownRadioItem});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useState as w,useCallback as k,useMemo as N,createContext as I,useContext as D,useEffect as G,useRef as V}from"react";import{useDropdownContext as E}from"./Dropdown.js";import{cn as h}from"../../lib/cn.js";import{jsx as e,jsxs as v}from"react/jsx-runtime";var R=I(null);function M(){let o=D(R);if(!o)throw new Error("DropdownRadioItem must be used within a DropdownRadioGroup");return o}function P({value:o,defaultValue:c="",onValueChange:n,children:s,className:t}){let[p,g]=w(c),r=o!==void 0,u=r?o:p,l=k(d=>{r||g(d),n?.(d)},[r,n]),m=N(()=>({value:u,onValueChange:l}),[u,l]);return e(R.Provider,{value:m,children:e("div",{role:"group",className:t,children:s})})}P.displayName="DropdownRadioGroup";function L({value:o,children:c,icon:n,description:s,disabled:t=!1,closeOnChange:p=!0,className:g,index:r}){let{value:u,onValueChange:l}=M(),{setIsOpen:m,focusedIndex:d,setFocusedIndex:y,registerItem:f,getNextItemIndex:C}=E(),b=V(null),[a]=w(()=>r??C()),i=u===o;G(()=>(f(a,b.current),()=>{f(a,null)}),[a,f]);let x=d===a;return v("button",{ref:b,role:"menuitemradio",type:"button",tabIndex:x?0:-1,"aria-checked":i,disabled:t,"data-disabled":t||void 0,"data-focused":x||void 0,onClick:()=>{t||(l(o),p&&m(!1))},onMouseEnter:()=>{t||y(a)},className:h("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",t&&"opacity-50 cursor-not-allowed hover:bg-transparent",x&&"bg-gray-100 dark:bg-gray-700",g),children:[e("span",{className:"mr-2 shrink-0 w-4 h-4",children:n||e("span",{className:h("flex items-center justify-center w-4 h-4 rounded-full border-2 transition-colors",i?"border-blue-600":"border-gray-300 dark:border-gray-600"),children:i&&e("span",{className:"w-2 h-2 rounded-full bg-blue-600"})})}),v("span",{className:"flex-1 min-w-0",children:[e("span",{className:"block truncate",children:c}),s&&e("span",{className:"block text-xs text-gray-500 dark:text-gray-400 truncate",children:s})]}),i&&!n&&e("svg",{className:"ml-auto w-4 h-4 text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})]})}L.displayName="DropdownRadioItem";export{P as DropdownRadioGroup,L as DropdownRadioItem};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var p=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var x=(r,o)=>{for(var a in o)p(r,a,{get:o[a],enumerable:!0})},y=(r,o,a,d)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!m.call(r,e)&&e!==a&&p(r,e,{get:()=>o[e],enumerable:!(d=l(o,e))||d.enumerable});return r};var b=r=>y(p({},"__esModule",{value:!0}),r);var g={};x(g,{DropdownLabel:()=>i,DropdownSeparator:()=>s});module.exports=b(g);var t=require("../../lib/cn.cjs"),n=require("react/jsx-runtime");function s({className:r}){return(0,n.jsx)("hr",{className:(0,t.cn)("my-1 h-px border-0 bg-gray-200 dark:bg-gray-700",r)})}s.displayName="DropdownSeparator";function i({children:r,className:o}){return(0,n.jsx)("div",{className:(0,t.cn)("px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400",o),children:r})}i.displayName="DropdownLabel";0&&(module.exports={DropdownLabel,DropdownSeparator});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{cn as o}from"../../lib/cn.js";import{jsx as e}from"react/jsx-runtime";function p({className:r}){return e("hr",{className:o("my-1 h-px border-0 bg-gray-200 dark:bg-gray-700",r)})}p.displayName="DropdownSeparator";function t({children:r,className:a}){return e("div",{className:o("px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400",a),children:r})}t.displayName="DropdownLabel";export{t as DropdownLabel,p as DropdownSeparator};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var M=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var F=(o,t)=>{for(var a in t)M(o,a,{get:t[a],enumerable:!0})},A=(o,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of I(t))!K.call(o,n)&&n!==a&&M(o,n,{get:()=>t[n],enumerable:!(r=T(t,n))||r.enumerable});return o};var B=o=>A(M({},"__esModule",{value:!0}),o);var H={};F(H,{DropdownSubMenu:()=>L,DropdownSubMenuContent:()=>P,DropdownSubMenuTrigger:()=>O});module.exports=B(H);var e=require("react"),R=require("react-dom"),D=require("./Dropdown.cjs"),S=require("./hooks/useClickOutside.cjs"),C=require("./hooks/usePositioning.cjs"),k=require("../../lib/aria-hide.cjs"),v=require("../../lib/cn.cjs"),i=require("react/jsx-runtime"),E=(0,e.createContext)(null);function N(){let o=(0,e.useContext)(E);if(!o)throw new Error("DropdownSubMenu components must be used within a DropdownSubMenu");return o}function L({children:o}){let[t,a]=(0,e.useState)(!1),r=(0,e.useRef)(null),n=(0,e.useRef)(null),c=(0,e.useMemo)(()=>({isOpen:t,setIsOpen:a,triggerRef:r,contentRef:n}),[t]);return(0,i.jsx)(E.Provider,{value:c,children:(0,i.jsx)("div",{className:"relative",children:o})})}L.displayName="DropdownSubMenu";var x=0;function O({children:o,icon:t,disabled:a=!1,className:r,index:n}){let{isOpen:c,setIsOpen:s,triggerRef:d}=N(),{focusedIndex:g,setFocusedIndex:p,registerItem:m}=(0,D.useDropdownContext)(),l=(0,e.useRef)(n??-1);(0,e.useEffect)(()=>(n===void 0&&(l.current=x++),m(l.current,d.current),()=>{m(l.current,null)}),[n,m,d]),(0,e.useEffect)(()=>()=>{x=0},[]);let b=g===l.current;return(0,i.jsxs)("button",{ref:d,role:"menuitem",type:"button",tabIndex:b?0:-1,"aria-haspopup":"menu","aria-expanded":c,disabled:a,"data-disabled":a||void 0,"data-focused":b||void 0,onMouseEnter:()=>{a||(p(l.current),s(!0))},onMouseLeave:()=>{setTimeout(()=>{s(!1)},100)},onKeyDown:f=>{a||(f.key==="ArrowRight"||f.key==="Enter")&&(f.preventDefault(),s(!0))},className:(0,v.cn)("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",a&&"opacity-50 cursor-not-allowed hover:bg-transparent",b&&"bg-gray-100 dark:bg-gray-700",r),children:[t&&(0,i.jsx)("span",{className:"mr-2 shrink-0 w-5 h-5",children:t}),(0,i.jsx)("span",{className:"flex-1",children:o}),(0,i.jsx)("svg",{className:"ml-auto w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,i.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})}O.displayName="DropdownSubMenuTrigger";function P({children:o,sideOffset:t=0,className:a}){let{isOpen:r,setIsOpen:n,triggerRef:c,contentRef:s}=N(),[d,g]=(0,e.useState)(!1),p=(0,C.usePositioning)({triggerRef:c,contentRef:s,isOpen:r,side:"right",align:"start",sideOffset:t,avoidCollisions:!0});(0,S.useClickOutside)(s,()=>n(!1),r),(0,e.useEffect)(()=>{let u=s.current;if(u)return(0,k.registerFloatingLayer)(u,()=>c.current)},[s,c]);let m=(0,e.useCallback)(()=>{n(!0)},[n]),l=(0,e.useCallback)(()=>{n(!1)},[n]),b=u=>{(u.key==="ArrowLeft"||u.key==="Escape")&&(u.preventDefault(),n(!1),c.current?.focus())};(0,e.useLayoutEffect)(()=>{let u=0;if(!r){g(!1);return}let h=()=>{let f=c.current?.getBoundingClientRect(),w=s.current?.getBoundingClientRect();if(p.isReady&&!!f&&!!w&&f.width>0&&f.height>0&&w.width>0&&w.height>0){g(!0);return}u=requestAnimationFrame(h)};return g(!1),u=requestAnimationFrame(h),()=>{u&&cancelAnimationFrame(u)}},[r,p.isReady,c,s]);let y=(0,i.jsx)("div",{ref:s,role:"menu","aria-orientation":"vertical","aria-hidden":!r,tabIndex:-1,onMouseEnter:m,onMouseLeave:l,onKeyDown:b,style:{position:"fixed",top:p.top,left:p.left,visibility:r&&d?"visible":"hidden",opacity:r&&d?1:0,pointerEvents:r&&d?"auto":"none"},className:(0,v.cn)("z-50 min-w-40 overflow-hidden rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",r&&d&&"animate-in fade-in-0 zoom-in-95 duration-150",a),children:(0,i.jsx)("div",{className:"py-1",children:o})});return typeof document<"u"?(0,R.createPortal)(y,document.body):y}P.displayName="DropdownSubMenuContent";0&&(module.exports={DropdownSubMenu,DropdownSubMenuContent,DropdownSubMenuTrigger});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as k,useContext as E,useState as R,useRef as w,useEffect as M,useLayoutEffect as N,useCallback as v,useMemo as L}from"react";import{createPortal as O}from"react-dom";import{useDropdownContext as P}from"./Dropdown.js";import{useClickOutside as T}from"./hooks/useClickOutside.js";import{usePositioning as I}from"./hooks/usePositioning.js";import{registerFloatingLayer as K}from"../../lib/aria-hide.js";import{cn as D}from"../../lib/cn.js";import{jsx as i,jsxs as H}from"react/jsx-runtime";var S=k(null);function C(){let u=E(S);if(!u)throw new Error("DropdownSubMenu components must be used within a DropdownSubMenu");return u}function F({children:u}){let[c,a]=R(!1),e=w(null),n=w(null),r=L(()=>({isOpen:c,setIsOpen:a,triggerRef:e,contentRef:n}),[c]);return i(S.Provider,{value:r,children:i("div",{className:"relative",children:u})})}F.displayName="DropdownSubMenu";var x=0;function A({children:u,icon:c,disabled:a=!1,className:e,index:n}){let{isOpen:r,setIsOpen:o,triggerRef:s}=C(),{focusedIndex:p,setFocusedIndex:f,registerItem:g}=P(),d=w(n??-1);M(()=>(n===void 0&&(d.current=x++),g(d.current,s.current),()=>{g(d.current,null)}),[n,g,s]),M(()=>()=>{x=0},[]);let m=p===d.current;return H("button",{ref:s,role:"menuitem",type:"button",tabIndex:m?0:-1,"aria-haspopup":"menu","aria-expanded":r,disabled:a,"data-disabled":a||void 0,"data-focused":m||void 0,onMouseEnter:()=>{a||(f(d.current),o(!0))},onMouseLeave:()=>{setTimeout(()=>{o(!1)},100)},onKeyDown:l=>{a||(l.key==="ArrowRight"||l.key==="Enter")&&(l.preventDefault(),o(!0))},className:D("relative flex w-full items-center px-3 py-2 text-left text-sm","outline-none transition-colors","text-gray-700 dark:text-gray-200","hover:bg-gray-100 dark:hover:bg-gray-700","focus:bg-gray-100 dark:focus:bg-gray-700",a&&"opacity-50 cursor-not-allowed hover:bg-transparent",m&&"bg-gray-100 dark:bg-gray-700",e),children:[c&&i("span",{className:"mr-2 shrink-0 w-5 h-5",children:c}),i("span",{className:"flex-1",children:u}),i("svg",{className:"ml-auto w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})}A.displayName="DropdownSubMenuTrigger";function B({children:u,sideOffset:c=0,className:a}){let{isOpen:e,setIsOpen:n,triggerRef:r,contentRef:o}=C(),[s,p]=R(!1),f=I({triggerRef:r,contentRef:o,isOpen:e,side:"right",align:"start",sideOffset:c,avoidCollisions:!0});T(o,()=>n(!1),e),M(()=>{let t=o.current;if(t)return K(t,()=>r.current)},[o,r]);let g=v(()=>{n(!0)},[n]),d=v(()=>{n(!1)},[n]),m=t=>{(t.key==="ArrowLeft"||t.key==="Escape")&&(t.preventDefault(),n(!1),r.current?.focus())};N(()=>{let t=0;if(!e){p(!1);return}let y=()=>{let l=r.current?.getBoundingClientRect(),h=o.current?.getBoundingClientRect();if(f.isReady&&!!l&&!!h&&l.width>0&&l.height>0&&h.width>0&&h.height>0){p(!0);return}t=requestAnimationFrame(y)};return p(!1),t=requestAnimationFrame(y),()=>{t&&cancelAnimationFrame(t)}},[e,f.isReady,r,o]);let b=i("div",{ref:o,role:"menu","aria-orientation":"vertical","aria-hidden":!e,tabIndex:-1,onMouseEnter:g,onMouseLeave:d,onKeyDown:m,style:{position:"fixed",top:f.top,left:f.left,visibility:e&&s?"visible":"hidden",opacity:e&&s?1:0,pointerEvents:e&&s?"auto":"none"},className:D("z-50 min-w-40 overflow-hidden rounded-lg","border border-gray-200 bg-white shadow-lg","dark:border-gray-700 dark:bg-gray-800",e&&s&&"animate-in fade-in-0 zoom-in-95 duration-150",a),children:i("div",{className:"py-1",children:u})});return typeof document<"u"?O(b,document.body):b}B.displayName="DropdownSubMenuContent";export{F as DropdownSubMenu,B as DropdownSubMenuContent,A as DropdownSubMenuTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var c=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var o in e)c(t,o,{get:e[o],enumerable:!0})},D=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of h(e))!k.call(t,n)&&n!==o&&c(t,n,{get:()=>e[n],enumerable:!(s=w(e,n))||s.enumerable});return t};var N=t=>D(c({},"__esModule",{value:!0}),t);var R={};v(R,{DropdownTrigger:()=>g});module.exports=N(R);var i=require("react"),u=require("./Dropdown.cjs"),l=require("../../lib/cn.cjs"),r=require("react/jsx-runtime"),f=(0,i.memo)(({isOpen:t})=>(0,r.jsx)("span",{className:(0,l.cn)("inline-block transition-transform",t&&"rotate-180"),children:(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}));f.displayName="ChevronIcon";function g({asChild:t=!1,disabled:e=!1,children:o,className:s}){let{isOpen:n,setIsOpen:p,triggerRef:m,triggerId:y,contentId:b}=(0,u.useDropdownContext)(),d={ref:m,id:y,"aria-haspopup":"menu","aria-expanded":n,"aria-controls":n?b:void 0,disabled:e,onClick:()=>{e||p(!n)},onKeyDown:a=>{e||((a.key==="Enter"||a.key===" ")&&(a.preventDefault(),p(!n)),a.key==="ArrowDown"&&!n&&(a.preventDefault(),p(!0)))}};return t&&(0,i.isValidElement)(o)?(0,i.cloneElement)(o,{...d,className:(0,l.cn)(o.props.className,s)}):(0,r.jsxs)("button",{type:"button",...d,className:(0,l.cn)("inline-flex items-center justify-center gap-2","rounded-md px-4 py-2","bg-white border border-gray-300","text-sm font-medium text-gray-700","hover:bg-gray-50","focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-colors",s),children:[o,(0,r.jsx)(f,{isOpen:n})]})}g.displayName="DropdownTrigger";0&&(module.exports={DropdownTrigger});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{cloneElement as g,isValidElement as m,memo as y}from"react";import{useDropdownContext as b}from"./Dropdown.js";import{cn as a}from"../../lib/cn.js";import{jsx as o,jsxs as h}from"react/jsx-runtime";var c=y(({isOpen:r})=>o("span",{className:a("inline-block transition-transform",r&&"rotate-180"),children:o("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:o("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}));c.displayName="ChevronIcon";function w({asChild:r=!1,disabled:i=!1,children:t,className:l}){let{isOpen:e,setIsOpen:s,triggerRef:d,triggerId:u,contentId:f}=b(),p={ref:d,id:u,"aria-haspopup":"menu","aria-expanded":e,"aria-controls":e?f:void 0,disabled:i,onClick:()=>{i||s(!e)},onKeyDown:n=>{i||((n.key==="Enter"||n.key===" ")&&(n.preventDefault(),s(!e)),n.key==="ArrowDown"&&!e&&(n.preventDefault(),s(!0)))}};return r&&m(t)?g(t,{...p,className:a(t.props.className,l)}):h("button",{type:"button",...p,className:a("inline-flex items-center justify-center gap-2","rounded-md px-4 py-2","bg-white border border-gray-300","text-sm font-medium text-gray-700","hover:bg-gray-50","focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-colors",l),children:[t,o(c,{isOpen:e})]})}w.displayName="DropdownTrigger";export{w as DropdownTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var x=(e,o)=>{for(var t in o)r(e,t,{get:o[t],enumerable:!0})},d=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of m(o))!f.call(e,i)&&i!==t&&r(e,i,{get:()=>o[i],enumerable:!(n=g(o,i))||n.enumerable});return e};var y=e=>d(r({},"__esModule",{value:!0}),e);var P={};x(P,{useClickOutside:()=>a.useClickOutside,useFocusItem:()=>s.useFocusItem,useKeyboardNavigation:()=>s.useKeyboardNavigation,useLatest:()=>u.useLatest,usePositioning:()=>p.usePositioning});module.exports=y(P);var a=require("./useClickOutside.cjs"),s=require("./useKeyboardNavigation.cjs"),p=require("./usePositioning.cjs"),u=require("./useLatest.cjs");0&&(module.exports={useClickOutside,useFocusItem,useKeyboardNavigation,useLatest,usePositioning});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useClickOutside as i}from"./useClickOutside.js";import{useKeyboardNavigation as s,useFocusItem as r}from"./useKeyboardNavigation.js";import{usePositioning as a}from"./usePositioning.js";import{useLatest as u}from"./useLatest.js";export{i as useClickOutside,r as useFocusItem,s as useKeyboardNavigation,u as useLatest,a as usePositioning};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var u=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},E=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of a(t))!v.call(e,n)&&n!==r&&u(e,n,{get:()=>t[n],enumerable:!(o=m(t,n))||o.enumerable});return e};var l=e=>E(u({},"__esModule",{value:!0}),e);var p={};f(p,{useClickOutside:()=>L});module.exports=l(p);var s=require("react"),c=require("./useLatest.cjs");function L(e,t,r=!0){let o=(0,c.useLatest)(t);(0,s.useEffect)(()=>{if(!r)return;let n=i=>{let d=i.target;!e.current||e.current.contains(d)||o.current()};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n,{passive:!0}),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n)}},[r,o,e])}0&&(module.exports={useClickOutside});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useEffect as c}from"react";import{useLatest as i}from"./useLatest.js";function a(t,o,n=!0){let r=i(o);c(()=>{if(!n)return;let e=u=>{let s=u.target;!t.current||t.current.contains(s)||r.current()};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e,{passive:!0}),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}},[n,r,t])}export{a as useClickOutside};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var v=(e,r)=>{for(var t in r)p(e,t,{get:r[t],enumerable:!0})},w=(e,r,t,c)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of D(r))!E.call(e,a)&&a!==t&&p(e,a,{get:()=>r[a],enumerable:!(c=m(r,a))||c.enumerable});return e};var h=e=>w(p({},"__esModule",{value:!0}),e);var A={};v(A,{useFocusItem:()=>K,useKeyboardNavigation:()=>S});module.exports=h(A);var u=require("react"),b=require("./useLatest.cjs");function S({isOpen:e,onClose:r,itemsCount:t,focusedIndex:c,setFocusedIndex:a,onSelect:y,loop:l=!0}){let f=(0,b.useLatest)(r),s=(0,b.useLatest)(y),k=(0,b.useLatest)(c),i=(0,u.useCallback)(o=>{if(!(!e||t===0))switch(o.key){case"ArrowDown":o.preventDefault(),a(l?n=>n<t-1?n+1:0:n=>Math.min(n+1,t-1));break;case"ArrowUp":o.preventDefault(),a(l?n=>n>0?n-1:t-1:n=>Math.max(n-1,0));break;case"Home":o.preventDefault(),a(0);break;case"End":o.preventDefault(),a(t-1);break;case"Enter":case" ":o.preventDefault(),s.current?.(k.current);break;case"Escape":o.preventDefault(),f.current();break;case"Tab":f.current();break}},[e,t,a,l,f,s,k]);return(0,u.useEffect)(()=>{if(e)return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e,i]),{focusedIndex:c}}function K(e,r,t){(0,u.useEffect)(()=>{t&&e.current&&e.current[r]&&e.current[r]?.focus()},[r,t,e])}0&&(module.exports={useFocusItem,useKeyboardNavigation});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useEffect as s,useCallback as y}from"react";import{useLatest as l}from"./useLatest.js";function E({isOpen:e,onClose:o,itemsCount:r,focusedIndex:f,setFocusedIndex:a,onSelect:k,loop:c=!0}){let u=l(o),i=l(k),p=l(f),b=y(n=>{if(!(!e||r===0))switch(n.key){case"ArrowDown":n.preventDefault(),a(c?t=>t<r-1?t+1:0:t=>Math.min(t+1,r-1));break;case"ArrowUp":n.preventDefault(),a(c?t=>t>0?t-1:r-1:t=>Math.max(t-1,0));break;case"Home":n.preventDefault(),a(0);break;case"End":n.preventDefault(),a(r-1);break;case"Enter":case" ":n.preventDefault(),i.current?.(p.current);break;case"Escape":n.preventDefault(),u.current();break;case"Tab":u.current();break}},[e,r,a,c,u,i,p]);return s(()=>{if(e)return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[e,b]),{focusedIndex:f}}function v(e,o,r){s(()=>{r&&e.current&&e.current[o]&&e.current[o]?.focus()},[o,r,e])}export{v as useFocusItem,E as useKeyboardNavigation};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var u in e)n(t,u,{get:e[u],enumerable:!0})},p=(t,e,u,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c(e))!i.call(t,r)&&r!==u&&n(t,r,{get:()=>e[r],enumerable:!(o=s(e,r))||o.enumerable});return t};var L=t=>p(n({},"__esModule",{value:!0}),t);var a={};m(a,{useLatest:()=>T});module.exports=L(a);var f=require("react");function T(t){let e=(0,f.useRef)(t);return(0,f.useLayoutEffect)(()=>{e.current=t}),e}0&&(module.exports={useLatest});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useRef as r,useLayoutEffect as u}from"react";function n(e){let t=r(e);return u(()=>{t.current=e}),t}export{n as useLatest};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";"use client";var E=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var I=(c,n)=>{for(var f in n)E(c,f,{get:n[f],enumerable:!0})},D=(c,n,f,w)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of U(n))!V.call(c,s)&&s!==f&&E(c,s,{get:()=>n[s],enumerable:!(w=M(n,s))||w.enumerable});return c};var G=c=>D(E({},"__esModule",{value:!0}),c);var K={};I(K,{usePositioning:()=>J});module.exports=G(K);var a=require("react");function J({triggerRef:c,contentRef:n,isOpen:f,side:w="bottom",align:s="start",sideOffset:m=4,alignOffset:h=0,avoidCollisions:x=!0,collisionPadding:i=8}){let[j,C]=(0,a.useState)({top:0,left:0,actualSide:w,actualAlign:s,isReady:!1}),v=(0,a.useRef)(!1),A=(0,a.useCallback)(()=>{if(!c.current||!n.current)return;let e=c.current.getBoundingClientRect(),o=n.current.getBoundingClientRect();if(!(e.width>0&&e.height>0&&o.width>0&&o.height>0)){v.current=!1;return}let F={width:window.innerWidth,height:window.innerHeight},r=w,u=s,b=p=>{switch(p){case"bottom":return{top:e.bottom+m,left:e.left};case"top":return{top:e.top-o.height-m,left:e.left};case"right":return{top:e.top,left:e.right+m};case"left":return{top:e.top,left:e.left-o.width-m}}},d=(p,g,l)=>{if(p==="top"||p==="bottom")switch(g){case"start":return{...l,left:e.left+h};case"center":return{...l,left:e.left+e.width/2-o.width/2+h};case"end":return{...l,left:e.right-o.width+h}}else switch(g){case"start":return{...l,top:e.top+h};case"center":return{...l,top:e.top+e.height/2-o.height/2+h};case"end":return{...l,top:e.bottom-o.height+h}}},t=b(r);if(t=d(r,u,t),x){let{top:p,left:g}=t,{height:l,width:R}=o,{height:L,width:S}=F,B=p+l>L-i,H=p<i,O=g+R>S-i,T=g<i;r==="bottom"&&B&&!H?(r="top",t=b(r),t=d(r,u,t)):r==="top"&&H&&!B&&(r="bottom",t=b(r),t=d(r,u,t)),r==="right"&&O&&!T?(r="left",t=b(r),t=d(r,u,t)):r==="left"&&T&&!O&&(r="right",t=b(r),t=d(r,u,t));let W=t.left+R>S-i,k=t.left<i,q=t.top+l>L-i,z=t.top<i;(r==="top"||r==="bottom")&&(W&&(t.left=S-R-i,u="end"),k&&(t.left=i,u="start")),(r==="left"||r==="right")&&(q&&(t.top=L-l-i,u="end"),z&&(t.top=i,u="start"))}v.current=!0,C({top:t.top,left:t.left,actualSide:r,actualAlign:u,isReady:!0})},[c,n,w,s,m,h,x,i]);return(0,a.useLayoutEffect)(()=>{let e=0;if(f){v.current=!1;let y=()=>{A(),v.current||(e=requestAnimationFrame(y))};e=requestAnimationFrame(y)}let o=()=>A();return window.addEventListener("resize",o),window.addEventListener("scroll",o,{passive:!0,capture:!0}),()=>{e&&cancelAnimationFrame(e),window.removeEventListener("resize",o),window.removeEventListener("scroll",o,{capture:!0})}},[A,f]),j}0&&(module.exports={usePositioning});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useState as q,useLayoutEffect as z,useCallback as M,useRef as U}from"react";function I({triggerRef:m,contentRef:b,isOpen:L,side:d="bottom",align:g="start",sideOffset:s=4,alignOffset:u=0,avoidCollisions:S=!0,collisionPadding:n=8}){let[O,T]=q({top:0,left:0,actualSide:d,actualAlign:g,isReady:!1}),p=U(!1),v=M(()=>{if(!m.current||!b.current)return;let e=m.current.getBoundingClientRect(),o=b.current.getBoundingClientRect();if(!(e.width>0&&e.height>0&&o.width>0&&o.height>0)){p.current=!1;return}let j={width:window.innerWidth,height:window.innerHeight},r=d,i=g,a=l=>{switch(l){case"bottom":return{top:e.bottom+s,left:e.left};case"top":return{top:e.top-o.height-s,left:e.left};case"right":return{top:e.top,left:e.right+s};case"left":return{top:e.top,left:e.left-o.width-s}}},f=(l,h,c)=>{if(l==="top"||l==="bottom")switch(h){case"start":return{...c,left:e.left+u};case"center":return{...c,left:e.left+e.width/2-o.width/2+u};case"end":return{...c,left:e.right-o.width+u}}else switch(h){case"start":return{...c,top:e.top+u};case"center":return{...c,top:e.top+e.height/2-o.height/2+u};case"end":return{...c,top:e.bottom-o.height+u}}},t=a(r);if(t=f(r,i,t),S){let{top:l,left:h}=t,{height:c,width:w}=o,{height:A,width:y}=j,E=l+c>A-n,x=l<n,B=h+w>y-n,H=h<n;r==="bottom"&&E&&!x?(r="top",t=a(r),t=f(r,i,t)):r==="top"&&x&&!E&&(r="bottom",t=a(r),t=f(r,i,t)),r==="right"&&B&&!H?(r="left",t=a(r),t=f(r,i,t)):r==="left"&&H&&!B&&(r="right",t=a(r),t=f(r,i,t));let C=t.left+w>y-n,F=t.left<n,W=t.top+c>A-n,k=t.top<n;(r==="top"||r==="bottom")&&(C&&(t.left=y-w-n,i="end"),F&&(t.left=n,i="start")),(r==="left"||r==="right")&&(W&&(t.top=A-c-n,i="end"),k&&(t.top=n,i="start"))}p.current=!0,T({top:t.top,left:t.left,actualSide:r,actualAlign:i,isReady:!0})},[m,b,d,g,s,u,S,n]);return z(()=>{let e=0;if(L){p.current=!1;let R=()=>{v(),p.current||(e=requestAnimationFrame(R))};e=requestAnimationFrame(R)}let o=()=>v();return window.addEventListener("resize",o),window.addEventListener("scroll",o,{passive:!0,capture:!0}),()=>{e&&cancelAnimationFrame(e),window.removeEventListener("resize",o),window.removeEventListener("scroll",o,{capture:!0})}},[v,L]),O}export{I as usePositioning};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var b=(p,o)=>{for(var t in o)i(p,t,{get:o[t],enumerable:!0})},y=(p,o,t,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of g(o))!P.call(p,n)&&n!==t&&i(p,n,{get:()=>o[n],enumerable:!(m=f(o,n))||m.enumerable});return p};var C=p=>y(i({},"__esModule",{value:!0}),p);var S={};b(S,{Dropdown:()=>d.Dropdown,DropdownCheckboxItem:()=>a.DropdownCheckboxItem,DropdownContent:()=>u.DropdownContent,DropdownItem:()=>x.DropdownItem,DropdownLabel:()=>w.DropdownLabel,DropdownRadioGroup:()=>D.DropdownRadioGroup,DropdownRadioItem:()=>D.DropdownRadioItem,DropdownSeparator:()=>w.DropdownSeparator,DropdownSubMenu:()=>e.DropdownSubMenu,DropdownSubMenuContent:()=>e.DropdownSubMenuContent,DropdownSubMenuTrigger:()=>e.DropdownSubMenuTrigger,DropdownTrigger:()=>s.DropdownTrigger,useClickOutside:()=>r.useClickOutside,useDropdownContext:()=>d.useDropdownContext,useFocusItem:()=>r.useFocusItem,useKeyboardNavigation:()=>r.useKeyboardNavigation,usePositioning:()=>r.usePositioning});module.exports=C(S);var d=require("./Dropdown.cjs"),s=require("./DropdownTrigger.cjs"),u=require("./DropdownContent.cjs"),x=require("./DropdownItem.cjs"),w=require("./DropdownSeparator.cjs"),a=require("./DropdownCheckboxItem.cjs"),D=require("./DropdownRadio.cjs"),e=require("./DropdownSubMenu.cjs"),r=require("./hooks/index.cjs");0&&(module.exports={Dropdown,DropdownCheckboxItem,DropdownContent,DropdownItem,DropdownLabel,DropdownRadioGroup,DropdownRadioItem,DropdownSeparator,DropdownSubMenu,DropdownSubMenuContent,DropdownSubMenuTrigger,DropdownTrigger,useClickOutside,useDropdownContext,useFocusItem,useKeyboardNavigation,usePositioning});
|