@shipfox/react-ui 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/button-group/button-group.stories.js +4 -4
- package/dist/components/card/card.d.ts +24 -0
- package/dist/components/card/card.js +56 -0
- package/dist/components/card/card.stories.js +216 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.js +3 -0
- package/dist/components/dashboard/components/charts/bar-chart.d.ts +30 -0
- package/dist/components/dashboard/components/charts/bar-chart.js +150 -0
- package/dist/components/dashboard/components/charts/bar-chart.stories.js +287 -0
- package/dist/components/dashboard/components/charts/chart-tooltip.d.ts +14 -0
- package/dist/components/dashboard/components/charts/chart-tooltip.js +46 -0
- package/dist/components/dashboard/components/charts/colors.d.ts +12 -0
- package/dist/components/dashboard/components/charts/colors.js +20 -0
- package/dist/components/dashboard/components/charts/index.d.ts +6 -0
- package/dist/components/dashboard/components/charts/index.js +7 -0
- package/dist/components/dashboard/components/charts/line-chart.d.ts +28 -0
- package/dist/components/dashboard/components/charts/line-chart.js +152 -0
- package/dist/components/dashboard/components/charts/line-chart.stories.js +257 -0
- package/dist/components/dashboard/components/charts/utils.d.ts +13 -0
- package/dist/components/dashboard/components/charts/utils.js +18 -0
- package/dist/components/dashboard/components/dashboard-alert.d.ts +8 -0
- package/dist/components/dashboard/components/dashboard-alert.js +24 -0
- package/dist/components/dashboard/components/kpi-card.d.ts +15 -0
- package/dist/components/dashboard/components/kpi-card.js +77 -0
- package/dist/components/dashboard/components/mobile-sidebar.d.ts +19 -0
- package/dist/components/dashboard/components/mobile-sidebar.js +50 -0
- package/dist/components/dashboard/components/organization-selector.d.ts +24 -1
- package/dist/components/dashboard/components/organization-selector.js +93 -70
- package/dist/components/dashboard/components/sidebar.d.ts +24 -0
- package/dist/components/dashboard/components/sidebar.js +218 -0
- package/dist/components/dashboard/context/dashboard-context.d.ts +70 -0
- package/dist/components/dashboard/context/dashboard-context.js +175 -0
- package/dist/components/dashboard/context/index.d.ts +8 -0
- package/dist/components/dashboard/context/index.js +6 -0
- package/dist/components/dashboard/context/types.d.ts +50 -0
- package/dist/components/dashboard/context/types.js +7 -0
- package/dist/components/dashboard/context/utils.d.ts +28 -0
- package/dist/components/dashboard/context/utils.js +53 -0
- package/dist/components/dashboard/dashboard.d.ts +27 -1
- package/dist/components/dashboard/dashboard.js +76 -36
- package/dist/components/dashboard/filters/expression-filter-bar.d.ts +42 -0
- package/dist/components/dashboard/filters/expression-filter-bar.js +80 -0
- package/dist/components/dashboard/filters/index.d.ts +6 -0
- package/dist/components/dashboard/filters/index.js +5 -0
- package/dist/components/dashboard/index.d.ts +25 -1
- package/dist/components/dashboard/index.js +22 -1
- package/dist/components/dashboard/pages/analytics-page.d.ts +20 -0
- package/dist/components/dashboard/pages/analytics-page.js +258 -0
- package/dist/components/dashboard/pages/index.d.ts +6 -0
- package/dist/components/dashboard/pages/index.js +6 -0
- package/dist/components/dashboard/pages/jobs-page.d.ts +20 -0
- package/dist/components/dashboard/pages/jobs-page.js +56 -0
- package/dist/components/dashboard/table/index.d.ts +6 -0
- package/dist/components/dashboard/table/index.js +5 -0
- package/dist/components/dashboard/table/table-wrapper.d.ts +104 -0
- package/dist/components/dashboard/table/table-wrapper.js +93 -0
- package/dist/components/dashboard/toolbar/filter-button.d.ts +12 -0
- package/dist/components/dashboard/toolbar/filter-button.js +124 -0
- package/dist/components/dashboard/toolbar/index.d.ts +13 -0
- package/dist/components/dashboard/toolbar/index.js +10 -0
- package/dist/components/dashboard/toolbar/page-toolbar.d.ts +75 -0
- package/dist/components/dashboard/toolbar/page-toolbar.js +208 -0
- package/dist/components/dashboard/toolbar/toolbar-actions.d.ts +52 -0
- package/dist/components/dashboard/toolbar/toolbar-actions.js +51 -0
- package/dist/components/dashboard/toolbar/toolbar-search.d.ts +21 -0
- package/dist/components/dashboard/toolbar/toolbar-search.js +123 -0
- package/dist/components/dashboard/toolbar/view-dropdown.d.ts +11 -0
- package/dist/components/dashboard/toolbar/view-dropdown.js +113 -0
- package/dist/components/empty-state/empty-state.d.ts +10 -0
- package/dist/components/empty-state/empty-state.js +40 -0
- package/dist/components/empty-state/empty-state.stories.js +74 -0
- package/dist/components/empty-state/index.d.ts +2 -0
- package/dist/components/empty-state/index.js +3 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +4 -0
- package/dist/components/modal/modal.js +3 -3
- package/dist/components/search/search-inline.js +1 -1
- package/dist/components/search/search-modal.js +13 -7
- package/dist/components/select/select.d.ts +3 -1
- package/dist/components/select/select.js +2 -1
- package/dist/components/sheet/index.d.ts +2 -0
- package/dist/components/sheet/index.js +3 -0
- package/dist/components/sheet/sheet.d.ts +33 -0
- package/dist/components/sheet/sheet.js +163 -0
- package/dist/components/sheet/sheet.stories.js +368 -0
- package/dist/components/table/data-table.d.ts +19 -2
- package/dist/components/table/data-table.js +89 -72
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/table.stories.components.js +6 -28
- package/dist/styles.css +1 -1
- package/package.json +12 -4
- package/.storybook/main.ts +0 -35
- package/.storybook/preview.tsx +0 -66
- package/.storybook/vitest.setup.ts +0 -4
- package/.turbo/turbo-build.log +0 -19
- package/.turbo/turbo-check.log +0 -6
- package/.turbo/turbo-type.log +0 -5
- package/CHANGELOG.md +0 -114
- package/argos.config.ts +0 -33
- package/dist/build-css-entry.js.map +0 -1
- package/dist/colors.stories.conts.d.ts.map +0 -1
- package/dist/colors.stories.conts.js.map +0 -1
- package/dist/colors.stories.js.map +0 -1
- package/dist/components/alert/alert.d.ts.map +0 -1
- package/dist/components/alert/alert.js.map +0 -1
- package/dist/components/alert/alert.stories.js.map +0 -1
- package/dist/components/alert/index.d.ts.map +0 -1
- package/dist/components/alert/index.js.map +0 -1
- package/dist/components/avatar/avatar-group.d.ts.map +0 -1
- package/dist/components/avatar/avatar-group.js.map +0 -1
- package/dist/components/avatar/avatar.d.ts.map +0 -1
- package/dist/components/avatar/avatar.js.map +0 -1
- package/dist/components/avatar/avatar.stories.js.map +0 -1
- package/dist/components/avatar/index.d.ts.map +0 -1
- package/dist/components/avatar/index.js.map +0 -1
- package/dist/components/badge/badge.d.ts.map +0 -1
- package/dist/components/badge/badge.js.map +0 -1
- package/dist/components/badge/badge.stories.js.map +0 -1
- package/dist/components/badge/icon-badge.d.ts.map +0 -1
- package/dist/components/badge/icon-badge.js.map +0 -1
- package/dist/components/badge/index.d.ts.map +0 -1
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/badge/status-badge.d.ts.map +0 -1
- package/dist/components/badge/status-badge.js.map +0 -1
- package/dist/components/badge/user-badge.d.ts.map +0 -1
- package/dist/components/badge/user-badge.js.map +0 -1
- package/dist/components/button/button-link.d.ts.map +0 -1
- package/dist/components/button/button-link.js.map +0 -1
- package/dist/components/button/button-link.stories.js.map +0 -1
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/button/button.stories.js.map +0 -1
- package/dist/components/button/icon-button.d.ts.map +0 -1
- package/dist/components/button/icon-button.js.map +0 -1
- package/dist/components/button/icon-button.stories.js.map +0 -1
- package/dist/components/button/index.d.ts.map +0 -1
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/button-group/button-group.d.ts.map +0 -1
- package/dist/components/button-group/button-group.js.map +0 -1
- package/dist/components/button-group/button-group.stories.js.map +0 -1
- package/dist/components/button-group/index.d.ts.map +0 -1
- package/dist/components/button-group/index.js.map +0 -1
- package/dist/components/calendar/calendar.d.ts.map +0 -1
- package/dist/components/calendar/calendar.js.map +0 -1
- package/dist/components/calendar/index.d.ts.map +0 -1
- package/dist/components/calendar/index.js.map +0 -1
- package/dist/components/checkbox/checkbox-label.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox-label.js.map +0 -1
- package/dist/components/checkbox/checkbox-links.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox-links.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/checkbox/checkbox.stories.js.map +0 -1
- package/dist/components/checkbox/index.d.ts.map +0 -1
- package/dist/components/checkbox/index.js.map +0 -1
- package/dist/components/code-block/code-block-footer.d.ts.map +0 -1
- package/dist/components/code-block/code-block-footer.js.map +0 -1
- package/dist/components/code-block/code-block.d.ts.map +0 -1
- package/dist/components/code-block/code-block.js.map +0 -1
- package/dist/components/code-block/code-block.stories.js.map +0 -1
- package/dist/components/code-block/code-content.d.ts.map +0 -1
- package/dist/components/code-block/code-content.js.map +0 -1
- package/dist/components/code-block/code-copy-button.d.ts.map +0 -1
- package/dist/components/code-block/code-copy-button.js.map +0 -1
- package/dist/components/code-block/code-tabs.d.ts.map +0 -1
- package/dist/components/code-block/code-tabs.js.map +0 -1
- package/dist/components/code-block/index.d.ts.map +0 -1
- package/dist/components/code-block/index.js.map +0 -1
- package/dist/components/command/command.d.ts.map +0 -1
- package/dist/components/command/command.js.map +0 -1
- package/dist/components/command/command.stories.js.map +0 -1
- package/dist/components/command/index.d.ts.map +0 -1
- package/dist/components/command/index.js.map +0 -1
- package/dist/components/confetti/confetti.d.ts.map +0 -1
- package/dist/components/confetti/confetti.js.map +0 -1
- package/dist/components/confetti/confetti.stories.js.map +0 -1
- package/dist/components/confetti/index.d.ts.map +0 -1
- package/dist/components/confetti/index.js.map +0 -1
- package/dist/components/dashboard/components/analytics-content.d.ts +0 -2
- package/dist/components/dashboard/components/analytics-content.d.ts.map +0 -1
- package/dist/components/dashboard/components/analytics-content.js +0 -180
- package/dist/components/dashboard/components/analytics-content.js.map +0 -1
- package/dist/components/dashboard/components/animated-logo.d.ts.map +0 -1
- package/dist/components/dashboard/components/animated-logo.js.map +0 -1
- package/dist/components/dashboard/components/complete-setup-button.d.ts.map +0 -1
- package/dist/components/dashboard/components/complete-setup-button.js.map +0 -1
- package/dist/components/dashboard/components/jobs-content.d.ts +0 -2
- package/dist/components/dashboard/components/jobs-content.d.ts.map +0 -1
- package/dist/components/dashboard/components/jobs-content.js +0 -69
- package/dist/components/dashboard/components/jobs-content.js.map +0 -1
- package/dist/components/dashboard/components/mobile-menu.d.ts.map +0 -1
- package/dist/components/dashboard/components/mobile-menu.js.map +0 -1
- package/dist/components/dashboard/components/organization-selector.d.ts.map +0 -1
- package/dist/components/dashboard/components/organization-selector.js.map +0 -1
- package/dist/components/dashboard/components/top-menu.d.ts.map +0 -1
- package/dist/components/dashboard/components/top-menu.js.map +0 -1
- package/dist/components/dashboard/components/topbar-button.d.ts.map +0 -1
- package/dist/components/dashboard/components/topbar-button.js.map +0 -1
- package/dist/components/dashboard/components/topbar.d.ts.map +0 -1
- package/dist/components/dashboard/components/topbar.js.map +0 -1
- package/dist/components/dashboard/components/user-profile.d.ts.map +0 -1
- package/dist/components/dashboard/components/user-profile.js.map +0 -1
- package/dist/components/dashboard/dashboard.d.ts.map +0 -1
- package/dist/components/dashboard/dashboard.js.map +0 -1
- package/dist/components/dashboard/dashboard.stories.js.map +0 -1
- package/dist/components/dashboard/index.d.ts.map +0 -1
- package/dist/components/dashboard/index.js.map +0 -1
- package/dist/components/date-picker/date-picker.d.ts.map +0 -1
- package/dist/components/date-picker/date-picker.js.map +0 -1
- package/dist/components/date-picker/date-picker.stories.js.map +0 -1
- package/dist/components/date-picker/index.d.ts.map +0 -1
- package/dist/components/date-picker/index.js.map +0 -1
- package/dist/components/date-time-range-picker/date-time-range-picker.d.ts.map +0 -1
- package/dist/components/date-time-range-picker/date-time-range-picker.js.map +0 -1
- package/dist/components/date-time-range-picker/index.d.ts.map +0 -1
- package/dist/components/date-time-range-picker/index.js.map +0 -1
- package/dist/components/dot-grid/dot-grid.d.ts.map +0 -1
- package/dist/components/dot-grid/dot-grid.js.map +0 -1
- package/dist/components/dot-grid/index.d.ts.map +0 -1
- package/dist/components/dot-grid/index.js.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.stories.js.map +0 -1
- package/dist/components/dropdown-menu/index.d.ts.map +0 -1
- package/dist/components/dropdown-menu/index.js.map +0 -1
- package/dist/components/dynamic-item/dynamic-item.d.ts.map +0 -1
- package/dist/components/dynamic-item/dynamic-item.js.map +0 -1
- package/dist/components/dynamic-item/dynamic-item.stories.js.map +0 -1
- package/dist/components/dynamic-item/index.d.ts.map +0 -1
- package/dist/components/dynamic-item/index.js.map +0 -1
- package/dist/components/form/form.d.ts.map +0 -1
- package/dist/components/form/form.js.map +0 -1
- package/dist/components/form/form.stories.js.map +0 -1
- package/dist/components/form/index.d.ts.map +0 -1
- package/dist/components/form/index.js.map +0 -1
- package/dist/components/icon/custom/badge.d.ts.map +0 -1
- package/dist/components/icon/custom/badge.js.map +0 -1
- package/dist/components/icon/custom/check-circle-solid.d.ts.map +0 -1
- package/dist/components/icon/custom/check-circle-solid.js.map +0 -1
- package/dist/components/icon/custom/circle-dotted-line.d.ts.map +0 -1
- package/dist/components/icon/custom/circle-dotted-line.js.map +0 -1
- package/dist/components/icon/custom/component-fill.d.ts.map +0 -1
- package/dist/components/icon/custom/component-fill.js.map +0 -1
- package/dist/components/icon/custom/component-line.d.ts.map +0 -1
- package/dist/components/icon/custom/component-line.js.map +0 -1
- package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +0 -1
- package/dist/components/icon/custom/ellipse-mini-solid.js.map +0 -1
- package/dist/components/icon/custom/index.d.ts.map +0 -1
- package/dist/components/icon/custom/index.js.map +0 -1
- package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +0 -1
- package/dist/components/icon/custom/info-tooltip-fill.js.map +0 -1
- package/dist/components/icon/custom/resize.d.ts.map +0 -1
- package/dist/components/icon/custom/resize.js.map +0 -1
- package/dist/components/icon/custom/shipfox-logo.d.ts.map +0 -1
- package/dist/components/icon/custom/shipfox-logo.js.map +0 -1
- package/dist/components/icon/custom/slack-logo.d.ts.map +0 -1
- package/dist/components/icon/custom/slack-logo.js.map +0 -1
- package/dist/components/icon/custom/spinner.d.ts.map +0 -1
- package/dist/components/icon/custom/spinner.js.map +0 -1
- package/dist/components/icon/custom/stripe-logo.d.ts.map +0 -1
- package/dist/components/icon/custom/stripe-logo.js.map +0 -1
- package/dist/components/icon/custom/thunder.d.ts.map +0 -1
- package/dist/components/icon/custom/thunder.js.map +0 -1
- package/dist/components/icon/custom/x-circle-solid.d.ts.map +0 -1
- package/dist/components/icon/custom/x-circle-solid.js.map +0 -1
- package/dist/components/icon/icon.d.ts.map +0 -1
- package/dist/components/icon/icon.js.map +0 -1
- package/dist/components/icon/icon.stories.js.map +0 -1
- package/dist/components/icon/index.d.ts.map +0 -1
- package/dist/components/icon/index.js.map +0 -1
- package/dist/components/icon/remixicon-registry.d.ts.map +0 -1
- package/dist/components/icon/remixicon-registry.js.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/inline-tips/index.d.ts.map +0 -1
- package/dist/components/inline-tips/index.js.map +0 -1
- package/dist/components/inline-tips/inline-tips.d.ts.map +0 -1
- package/dist/components/inline-tips/inline-tips.js.map +0 -1
- package/dist/components/inline-tips/inline-tips.stories.js.map +0 -1
- package/dist/components/input/index.d.ts.map +0 -1
- package/dist/components/input/index.js.map +0 -1
- package/dist/components/input/input.d.ts.map +0 -1
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/input/input.stories.js.map +0 -1
- package/dist/components/item/index.d.ts.map +0 -1
- package/dist/components/item/index.js.map +0 -1
- package/dist/components/item/item.d.ts.map +0 -1
- package/dist/components/item/item.js.map +0 -1
- package/dist/components/item/item.stories.js.map +0 -1
- package/dist/components/kbd/index.d.ts.map +0 -1
- package/dist/components/kbd/index.js.map +0 -1
- package/dist/components/kbd/kbd.d.ts.map +0 -1
- package/dist/components/kbd/kbd.js.map +0 -1
- package/dist/components/kbd/kbd.stories.js.map +0 -1
- package/dist/components/label/index.d.ts.map +0 -1
- package/dist/components/label/index.js.map +0 -1
- package/dist/components/label/label.d.ts.map +0 -1
- package/dist/components/label/label.js.map +0 -1
- package/dist/components/label/label.stories.js.map +0 -1
- package/dist/components/modal/index.d.ts.map +0 -1
- package/dist/components/modal/index.js.map +0 -1
- package/dist/components/modal/modal.d.ts.map +0 -1
- package/dist/components/modal/modal.js.map +0 -1
- package/dist/components/modal/modal.stories.js.map +0 -1
- package/dist/components/moving-border/index.d.ts.map +0 -1
- package/dist/components/moving-border/index.js.map +0 -1
- package/dist/components/moving-border/moving-border.d.ts.map +0 -1
- package/dist/components/moving-border/moving-border.js.map +0 -1
- package/dist/components/popover/index.d.ts.map +0 -1
- package/dist/components/popover/index.js.map +0 -1
- package/dist/components/popover/popover.d.ts.map +0 -1
- package/dist/components/popover/popover.js.map +0 -1
- package/dist/components/search/index.d.ts.map +0 -1
- package/dist/components/search/index.js.map +0 -1
- package/dist/components/search/search-context.d.ts.map +0 -1
- package/dist/components/search/search-context.js.map +0 -1
- package/dist/components/search/search-inline.d.ts.map +0 -1
- package/dist/components/search/search-inline.js.map +0 -1
- package/dist/components/search/search-modal.d.ts.map +0 -1
- package/dist/components/search/search-modal.js.map +0 -1
- package/dist/components/search/search-trigger.d.ts.map +0 -1
- package/dist/components/search/search-trigger.js.map +0 -1
- package/dist/components/search/search-variants.d.ts.map +0 -1
- package/dist/components/search/search-variants.js.map +0 -1
- package/dist/components/search/search.d.ts.map +0 -1
- package/dist/components/search/search.js.map +0 -1
- package/dist/components/search/search.stories.js.map +0 -1
- package/dist/components/select/index.d.ts.map +0 -1
- package/dist/components/select/index.js.map +0 -1
- package/dist/components/select/select.d.ts.map +0 -1
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/select/select.stories.js.map +0 -1
- package/dist/components/shiny-text/index.d.ts.map +0 -1
- package/dist/components/shiny-text/index.js.map +0 -1
- package/dist/components/shiny-text/shiny-text.d.ts.map +0 -1
- package/dist/components/shiny-text/shiny-text.js.map +0 -1
- package/dist/components/skeleton/index.d.ts.map +0 -1
- package/dist/components/skeleton/index.js.map +0 -1
- package/dist/components/skeleton/skeleton.d.ts.map +0 -1
- package/dist/components/skeleton/skeleton.js.map +0 -1
- package/dist/components/skeleton/skeleton.stories.js.map +0 -1
- package/dist/components/table/data-table.d.ts.map +0 -1
- package/dist/components/table/data-table.js.map +0 -1
- package/dist/components/table/index.d.ts.map +0 -1
- package/dist/components/table/index.js.map +0 -1
- package/dist/components/table/table-column-header.d.ts.map +0 -1
- package/dist/components/table/table-column-header.js.map +0 -1
- package/dist/components/table/table-pagination.d.ts.map +0 -1
- package/dist/components/table/table-pagination.js.map +0 -1
- package/dist/components/table/table.d.ts.map +0 -1
- package/dist/components/table/table.js.map +0 -1
- package/dist/components/table/table.stories.columns.d.ts.map +0 -1
- package/dist/components/table/table.stories.columns.js.map +0 -1
- package/dist/components/table/table.stories.components.d.ts.map +0 -1
- package/dist/components/table/table.stories.components.js.map +0 -1
- package/dist/components/table/table.stories.data.d.ts.map +0 -1
- package/dist/components/table/table.stories.data.js.map +0 -1
- package/dist/components/table/table.stories.js.map +0 -1
- package/dist/components/tabs/index.d.ts.map +0 -1
- package/dist/components/tabs/index.js.map +0 -1
- package/dist/components/tabs/tabs.d.ts.map +0 -1
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/tabs/tabs.stories.js.map +0 -1
- package/dist/components/textarea/index.d.ts.map +0 -1
- package/dist/components/textarea/index.js.map +0 -1
- package/dist/components/textarea/textarea.d.ts.map +0 -1
- package/dist/components/textarea/textarea.js.map +0 -1
- package/dist/components/textarea/textarea.stories.js.map +0 -1
- package/dist/components/theme/index.d.ts.map +0 -1
- package/dist/components/theme/index.js.map +0 -1
- package/dist/components/theme/theme-provider.d.ts.map +0 -1
- package/dist/components/theme/theme-provider.js.map +0 -1
- package/dist/components/toast/index.d.ts.map +0 -1
- package/dist/components/toast/index.js.map +0 -1
- package/dist/components/toast/toast-custom.d.ts.map +0 -1
- package/dist/components/toast/toast-custom.js.map +0 -1
- package/dist/components/toast/toast.d.ts.map +0 -1
- package/dist/components/toast/toast.js.map +0 -1
- package/dist/components/toast/toast.stories.js.map +0 -1
- package/dist/components/tooltip/index.d.ts.map +0 -1
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/tooltip/tooltip.stories.js.map +0 -1
- package/dist/components/typography/code.d.ts.map +0 -1
- package/dist/components/typography/code.js.map +0 -1
- package/dist/components/typography/code.stories.js.map +0 -1
- package/dist/components/typography/header.d.ts.map +0 -1
- package/dist/components/typography/header.js.map +0 -1
- package/dist/components/typography/header.stories.js.map +0 -1
- package/dist/components/typography/index.d.ts.map +0 -1
- package/dist/components/typography/index.js.map +0 -1
- package/dist/components/typography/text.d.ts.map +0 -1
- package/dist/components/typography/text.js.map +0 -1
- package/dist/components/typography/text.stories.js.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useCopy.d.ts.map +0 -1
- package/dist/hooks/useCopy.js.map +0 -1
- package/dist/hooks/useCopyToClipboard.d.ts.map +0 -1
- package/dist/hooks/useCopyToClipboard.js.map +0 -1
- package/dist/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/hooks/useMediaQuery.js.map +0 -1
- package/dist/hooks/useResolvedTheme.d.ts.map +0 -1
- package/dist/hooks/useResolvedTheme.js.map +0 -1
- package/dist/hooks/useShikiHighlight.d.ts.map +0 -1
- package/dist/hooks/useShikiHighlight.js.map +0 -1
- package/dist/hooks/useShikiStyleInjection.d.ts.map +0 -1
- package/dist/hooks/useShikiStyleInjection.js.map +0 -1
- package/dist/hooks/useTheme.d.ts.map +0 -1
- package/dist/hooks/useTheme.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/onboarding/sign-in.stories.js.map +0 -1
- package/dist/state/theme.d.ts.map +0 -1
- package/dist/state/theme.js.map +0 -1
- package/dist/utils/avatar.d.ts.map +0 -1
- package/dist/utils/avatar.js.map +0 -1
- package/dist/utils/clipboard.d.ts.map +0 -1
- package/dist/utils/clipboard.js.map +0 -1
- package/dist/utils/cn.d.ts.map +0 -1
- package/dist/utils/cn.js.map +0 -1
- package/dist/utils/date.d.ts.map +0 -1
- package/dist/utils/date.js.map +0 -1
- package/dist/utils/debounce.d.ts.map +0 -1
- package/dist/utils/debounce.js.map +0 -1
- package/dist/utils/format/chart.d.ts.map +0 -1
- package/dist/utils/format/chart.js.map +0 -1
- package/dist/utils/format/date.d.ts.map +0 -1
- package/dist/utils/format/date.js.map +0 -1
- package/dist/utils/format/duration.d.ts.map +0 -1
- package/dist/utils/format/duration.js.map +0 -1
- package/dist/utils/format/index.d.ts.map +0 -1
- package/dist/utils/format/index.js.map +0 -1
- package/dist/utils/format/number.d.ts.map +0 -1
- package/dist/utils/format/number.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/index.css +0 -1018
- package/src/assets/illustration-1.svg +0 -92
- package/src/assets/illustration-2.svg +0 -14
- package/src/assets/illustration-gradient.svg +0 -7049
- package/src/build-css-entry.ts +0 -3
- package/src/colors.stories.conts.ts +0 -164
- package/src/colors.stories.tsx +0 -66
- package/src/components/alert/alert.stories.tsx +0 -178
- package/src/components/alert/alert.tsx +0 -291
- package/src/components/alert/index.ts +0 -1
- package/src/components/avatar/avatar-group.tsx +0 -186
- package/src/components/avatar/avatar.stories.tsx +0 -179
- package/src/components/avatar/avatar.tsx +0 -219
- package/src/components/avatar/index.ts +0 -2
- package/src/components/badge/badge.stories.tsx +0 -468
- package/src/components/badge/badge.tsx +0 -147
- package/src/components/badge/icon-badge.tsx +0 -43
- package/src/components/badge/index.ts +0 -4
- package/src/components/badge/status-badge.tsx +0 -43
- package/src/components/badge/user-badge.tsx +0 -34
- package/src/components/button/button-link.stories.tsx +0 -86
- package/src/components/button/button-link.tsx +0 -76
- package/src/components/button/button.stories.tsx +0 -138
- package/src/components/button/button.tsx +0 -91
- package/src/components/button/icon-button.stories.tsx +0 -228
- package/src/components/button/icon-button.tsx +0 -95
- package/src/components/button/index.ts +0 -3
- package/src/components/button-group/button-group.stories.tsx +0 -361
- package/src/components/button-group/button-group.tsx +0 -111
- package/src/components/button-group/index.ts +0 -1
- package/src/components/calendar/calendar.tsx +0 -90
- package/src/components/calendar/index.ts +0 -1
- package/src/components/checkbox/checkbox-label.tsx +0 -125
- package/src/components/checkbox/checkbox-links.tsx +0 -92
- package/src/components/checkbox/checkbox.stories.tsx +0 -391
- package/src/components/checkbox/checkbox.tsx +0 -71
- package/src/components/checkbox/index.ts +0 -3
- package/src/components/code-block/code-block-footer.tsx +0 -197
- package/src/components/code-block/code-block.stories.tsx +0 -323
- package/src/components/code-block/code-block.tsx +0 -283
- package/src/components/code-block/code-content.tsx +0 -63
- package/src/components/code-block/code-copy-button.tsx +0 -73
- package/src/components/code-block/code-tabs.tsx +0 -170
- package/src/components/code-block/index.ts +0 -3
- package/src/components/command/command.stories.tsx +0 -133
- package/src/components/command/command.tsx +0 -265
- package/src/components/command/index.ts +0 -1
- package/src/components/confetti/confetti.stories.tsx +0 -38
- package/src/components/confetti/confetti.tsx +0 -140
- package/src/components/confetti/index.ts +0 -1
- package/src/components/dashboard/components/analytics-content.tsx +0 -102
- package/src/components/dashboard/components/animated-logo.tsx +0 -25
- package/src/components/dashboard/components/complete-setup-button.tsx +0 -30
- package/src/components/dashboard/components/jobs-content.tsx +0 -51
- package/src/components/dashboard/components/mobile-menu.tsx +0 -50
- package/src/components/dashboard/components/organization-selector.tsx +0 -51
- package/src/components/dashboard/components/top-menu.tsx +0 -26
- package/src/components/dashboard/components/topbar-button.tsx +0 -27
- package/src/components/dashboard/components/topbar.tsx +0 -40
- package/src/components/dashboard/components/user-profile.tsx +0 -90
- package/src/components/dashboard/dashboard.stories.tsx +0 -25
- package/src/components/dashboard/dashboard.tsx +0 -61
- package/src/components/dashboard/index.ts +0 -1
- package/src/components/date-picker/date-picker.stories.tsx +0 -230
- package/src/components/date-picker/date-picker.tsx +0 -179
- package/src/components/date-picker/index.ts +0 -1
- package/src/components/date-time-range-picker/date-time-range-picker.tsx +0 -211
- package/src/components/date-time-range-picker/index.ts +0 -1
- package/src/components/dot-grid/dot-grid.tsx +0 -325
- package/src/components/dot-grid/index.ts +0 -1
- package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -384
- package/src/components/dropdown-menu/dropdown-menu.tsx +0 -416
- package/src/components/dropdown-menu/index.ts +0 -1
- package/src/components/dynamic-item/dynamic-item.stories.tsx +0 -266
- package/src/components/dynamic-item/dynamic-item.tsx +0 -74
- package/src/components/dynamic-item/index.ts +0 -1
- package/src/components/form/form.stories.tsx +0 -505
- package/src/components/form/form.tsx +0 -154
- package/src/components/form/index.ts +0 -1
- package/src/components/icon/custom/badge.tsx +0 -17
- package/src/components/icon/custom/check-circle-solid.tsx +0 -24
- package/src/components/icon/custom/circle-dotted-line.tsx +0 -17
- package/src/components/icon/custom/component-fill.tsx +0 -17
- package/src/components/icon/custom/component-line.tsx +0 -17
- package/src/components/icon/custom/ellipse-mini-solid.tsx +0 -17
- package/src/components/icon/custom/index.ts +0 -14
- package/src/components/icon/custom/info-tooltip-fill.tsx +0 -21
- package/src/components/icon/custom/resize.tsx +0 -17
- package/src/components/icon/custom/shipfox-logo.tsx +0 -20
- package/src/components/icon/custom/slack-logo.tsx +0 -35
- package/src/components/icon/custom/spinner.tsx +0 -144
- package/src/components/icon/custom/stripe-logo.tsx +0 -27
- package/src/components/icon/custom/thunder.tsx +0 -17
- package/src/components/icon/custom/x-circle-solid.tsx +0 -24
- package/src/components/icon/icon.stories.tsx +0 -31
- package/src/components/icon/icon.tsx +0 -90
- package/src/components/icon/index.ts +0 -1
- package/src/components/icon/remixicon-registry.ts +0 -24
- package/src/components/index.ts +0 -36
- package/src/components/inline-tips/index.ts +0 -1
- package/src/components/inline-tips/inline-tips.stories.tsx +0 -131
- package/src/components/inline-tips/inline-tips.tsx +0 -132
- package/src/components/input/index.ts +0 -1
- package/src/components/input/input.stories.tsx +0 -138
- package/src/components/input/input.tsx +0 -43
- package/src/components/item/index.ts +0 -1
- package/src/components/item/item.stories.tsx +0 -159
- package/src/components/item/item.tsx +0 -182
- package/src/components/kbd/index.ts +0 -1
- package/src/components/kbd/kbd.stories.tsx +0 -64
- package/src/components/kbd/kbd.tsx +0 -32
- package/src/components/label/index.ts +0 -1
- package/src/components/label/label.stories.tsx +0 -67
- package/src/components/label/label.tsx +0 -15
- package/src/components/modal/index.ts +0 -1
- package/src/components/modal/modal.stories.tsx +0 -448
- package/src/components/modal/modal.tsx +0 -311
- package/src/components/moving-border/index.ts +0 -1
- package/src/components/moving-border/moving-border.tsx +0 -67
- package/src/components/popover/index.ts +0 -1
- package/src/components/popover/popover.tsx +0 -60
- package/src/components/renovate.json +0 -23
- package/src/components/search/index.ts +0 -28
- package/src/components/search/search-context.tsx +0 -78
- package/src/components/search/search-inline.tsx +0 -107
- package/src/components/search/search-modal.tsx +0 -198
- package/src/components/search/search-trigger.tsx +0 -47
- package/src/components/search/search-variants.ts +0 -88
- package/src/components/search/search.stories.tsx +0 -392
- package/src/components/search/search.tsx +0 -47
- package/src/components/select/index.ts +0 -1
- package/src/components/select/select.stories.tsx +0 -207
- package/src/components/select/select.tsx +0 -220
- package/src/components/shiny-text/index.ts +0 -1
- package/src/components/shiny-text/shiny-text.tsx +0 -21
- package/src/components/skeleton/index.ts +0 -1
- package/src/components/skeleton/skeleton.stories.tsx +0 -178
- package/src/components/skeleton/skeleton.tsx +0 -14
- package/src/components/table/data-table.tsx +0 -254
- package/src/components/table/index.ts +0 -5
- package/src/components/table/table-column-header.tsx +0 -141
- package/src/components/table/table-pagination.tsx +0 -161
- package/src/components/table/table.stories.columns.tsx +0 -198
- package/src/components/table/table.stories.components.tsx +0 -104
- package/src/components/table/table.stories.data.ts +0 -117
- package/src/components/table/table.stories.tsx +0 -256
- package/src/components/table/table.tsx +0 -95
- package/src/components/tabs/index.ts +0 -1
- package/src/components/tabs/tabs.stories.tsx +0 -100
- package/src/components/tabs/tabs.tsx +0 -380
- package/src/components/textarea/index.ts +0 -1
- package/src/components/textarea/textarea.stories.tsx +0 -196
- package/src/components/textarea/textarea.tsx +0 -42
- package/src/components/theme/index.ts +0 -1
- package/src/components/theme/theme-provider.tsx +0 -50
- package/src/components/toast/index.ts +0 -2
- package/src/components/toast/toast-custom.tsx +0 -154
- package/src/components/toast/toast.stories.tsx +0 -369
- package/src/components/toast/toast.tsx +0 -41
- package/src/components/tooltip/index.ts +0 -1
- package/src/components/tooltip/tooltip.stories.tsx +0 -284
- package/src/components/tooltip/tooltip.tsx +0 -121
- package/src/components/typography/code.stories.tsx +0 -36
- package/src/components/typography/code.tsx +0 -38
- package/src/components/typography/header.stories.tsx +0 -27
- package/src/components/typography/header.tsx +0 -41
- package/src/components/typography/index.ts +0 -3
- package/src/components/typography/text.stories.tsx +0 -67
- package/src/components/typography/text.tsx +0 -50
- package/src/hooks/index.ts +0 -6
- package/src/hooks/useCopy.ts +0 -0
- package/src/hooks/useCopyToClipboard.ts +0 -20
- package/src/hooks/useMediaQuery.ts +0 -87
- package/src/hooks/useResolvedTheme.ts +0 -34
- package/src/hooks/useShikiHighlight.ts +0 -140
- package/src/hooks/useShikiStyleInjection.ts +0 -34
- package/src/hooks/useTheme.ts +0 -10
- package/src/index.ts +0 -4
- package/src/onboarding/sign-in.stories.tsx +0 -85
- package/src/state/theme.ts +0 -15
- package/src/utils/avatar.ts +0 -27
- package/src/utils/clipboard.ts +0 -4
- package/src/utils/cn.ts +0 -6
- package/src/utils/date.test.ts +0 -119
- package/src/utils/date.ts +0 -99
- package/src/utils/debounce.ts +0 -15
- package/src/utils/format/chart.ts +0 -16
- package/src/utils/format/date.test.ts +0 -65
- package/src/utils/format/date.ts +0 -75
- package/src/utils/format/duration.test.ts +0 -58
- package/src/utils/format/duration.ts +0 -82
- package/src/utils/format/index.ts +0 -4
- package/src/utils/format/number.test.ts +0 -38
- package/src/utils/format/number.ts +0 -33
- package/src/utils/index.ts +0 -6
- package/test/global.ts +0 -3
- package/test/setup.ts +0 -9
- package/tsconfig.build.json +0 -19
- package/tsconfig.json +0 -11
- package/tsconfig.test.json +0 -12
- package/vercel.json +0 -8
- package/vite.css.config.ts +0 -30
- package/vitest.config.ts +0 -44
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import {cva, type VariantProps} from 'class-variance-authority';\nimport {Command as CommandPrimitive} from 'cmdk';\nimport {type ComponentProps, forwardRef, useCallback, useState} from 'react';\nimport {cn} from 'utils/cn';\nimport {Icon} from '../icon';\nimport {Kbd} from '../kbd';\n\nconst commandTriggerVariants = cva(\n [\n 'flex items-center justify-between gap-8',\n 'w-full rounded-6 px-8 text-sm leading-20',\n 'bg-background-field-base text-foreground-neutral-base',\n 'shadow-button-neutral transition-[color,box-shadow] outline-none',\n 'hover:bg-background-field-hover cursor-pointer',\n 'focus-visible:shadow-border-interactive-with-active',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-background-neutral-disabled disabled:shadow-none disabled:text-foreground-neutral-disabled',\n ],\n {\n variants: {\n variant: {\n base: 'bg-background-field-base',\n component: 'bg-background-field-component',\n },\n size: {\n small: 'h-28 py-4',\n base: 'h-32 py-6',\n },\n },\n defaultVariants: {\n variant: 'base',\n size: 'base',\n },\n },\n);\n\ntype CommandTriggerProps = ComponentProps<'button'> &\n VariantProps<typeof commandTriggerVariants> & {\n placeholder?: string;\n };\n\nconst CommandTrigger = forwardRef<HTMLButtonElement, CommandTriggerProps>(\n ({className, variant, size, placeholder, children, ...props}, ref) => {\n const hasValue = Boolean(children);\n\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"command-trigger\"\n data-placeholder={!hasValue || undefined}\n className={cn(\n commandTriggerVariants({variant, size}),\n 'data-placeholder:text-foreground-neutral-muted',\n className,\n )}\n {...props}\n >\n <span className=\"flex-1 text-left truncate\">{hasValue ? children : placeholder}</span>\n <Icon name=\"arrowDownSLine\" className=\"size-16 text-foreground-neutral-muted shrink-0\" />\n </button>\n );\n },\n);\nCommandTrigger.displayName = 'CommandTrigger';\n\nfunction Command({className, ...props}: ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-10',\n 'bg-background-neutral-overlay text-foreground-neutral-base',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandDialog({children, ...props}: ComponentProps<typeof CommandPrimitive.Dialog>) {\n return (\n <CommandPrimitive.Dialog data-slot=\"command-dialog\" {...props}>\n <div className=\"fixed inset-0 z-50 bg-background-neutral-overlay/80 backdrop-blur-sm\" />\n <div className=\"fixed left-1/2 top-1/2 z-50 w-full max-w-600 -translate-x-1/2 -translate-y-1/2 p-16\">\n <Command className=\"shadow-tooltip\">{children}</Command>\n </div>\n </CommandPrimitive.Dialog>\n );\n}\n\ntype CommandInputProps = ComponentProps<typeof CommandPrimitive.Input> & {\n showClearButton?: boolean;\n onClear?: () => void;\n};\n\nfunction CommandInput({\n className,\n value,\n onValueChange,\n onClear,\n showClearButton = true,\n ...props\n}: CommandInputProps) {\n const [internalValue, setInternalValue] = useState('');\n const isControlled = value !== undefined;\n const inputValue = isControlled ? value : internalValue;\n const hasValue = Boolean(inputValue);\n\n const handleValueChange = useCallback(\n (newValue: string) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onValueChange?.(newValue);\n },\n [isControlled, onValueChange],\n );\n\n const handleClear = useCallback(() => {\n if (!isControlled) {\n setInternalValue('');\n }\n onValueChange?.('');\n onClear?.();\n }, [isControlled, onValueChange, onClear]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Escape' && hasValue) {\n e.preventDefault();\n e.stopPropagation();\n handleClear();\n }\n },\n [hasValue, handleClear],\n );\n\n return (\n <div className=\"flex items-center gap-8 border-b border-border-neutral-strong p-8\">\n <Icon name=\"searchLine\" className=\"size-16 shrink-0 text-foreground-neutral-muted\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n value={inputValue}\n onValueChange={handleValueChange}\n onKeyDown={handleKeyDown}\n className={cn(\n 'flex-1 bg-transparent text-sm leading-20 outline-none',\n 'placeholder:text-foreground-neutral-muted',\n 'disabled:cursor-not-allowed disabled:text-foreground-neutral-disabled',\n className,\n )}\n {...props}\n />\n {showClearButton && hasValue && (\n <button\n type=\"button\"\n onClick={handleClear}\n className={cn(\n 'shrink-0 cursor-pointer rounded-4 p-2',\n 'text-foreground-neutral-muted hover:text-foreground-neutral-subtle transition-colors',\n )}\n aria-label=\"Clear search\"\n >\n <Icon name=\"closeLine\" className=\"size-16\" />\n </button>\n )}\n </div>\n );\n}\n\nfunction CommandList({className, ...props}: ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('max-h-300 overflow-y-auto overflow-x-hidden p-4 scrollbar', className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({className, ...props}: ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('py-24 text-center text-sm text-foreground-neutral-muted', className)}\n {...props}\n />\n );\n}\n\nfunction CommandGroup({className, ...props}: ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n 'overflow-hidden',\n '[&_[cmdk-group-heading]]:px-8 [&_[cmdk-group-heading]]:py-4',\n '[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:leading-20',\n '[&_[cmdk-group-heading]]:text-foreground-neutral-subtle',\n '[&_[cmdk-group-heading]]:select-none',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(\n 'relative -mx-4 my-4 h-px',\n 'bg-border-neutral-menu-top',\n 'after:absolute after:inset-x-0 after:top-px after:h-px',\n 'after:bg-border-neutral-menu-bottom',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandItem({className, ...props}: ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n 'relative flex cursor-pointer select-none items-center gap-8 rounded-6 px-8 py-6',\n 'text-sm leading-20 text-foreground-neutral-subtle outline-none transition-colors',\n 'aria-selected:bg-background-components-hover aria-selected:text-foreground-neutral-base',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:text-foreground-neutral-disabled',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({className, children, ...props}: ComponentProps<typeof Kbd>) {\n return (\n <Kbd data-slot=\"command-shortcut\" className={cn('ml-auto', className)} {...props}>\n {children}\n </Kbd>\n );\n}\n\nexport {\n Command,\n CommandTrigger,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n commandTriggerVariants,\n};\n\nexport type {CommandTriggerProps, CommandInputProps};\n"],"names":["cva","Command","CommandPrimitive","forwardRef","useCallback","useState","cn","Icon","Kbd","commandTriggerVariants","variants","variant","base","component","size","small","defaultVariants","CommandTrigger","className","placeholder","children","props","ref","hasValue","Boolean","button","type","data-slot","data-placeholder","undefined","span","name","displayName","CommandDialog","Dialog","div","CommandInput","value","onValueChange","onClear","showClearButton","internalValue","setInternalValue","isControlled","inputValue","handleValueChange","newValue","handleClear","handleKeyDown","e","key","preventDefault","stopPropagation","Input","onKeyDown","onClick","aria-label","CommandList","List","CommandEmpty","Empty","CommandGroup","Group","CommandSeparator","Separator","CommandItem","Item","CommandShortcut"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/command/command.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {useState} from 'react';\nimport {Icon} from '../icon';\nimport {Popover, PopoverContent, PopoverTrigger} from '../popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n CommandTrigger,\n} from './command';\n\nconst meta = {\n title: 'Components/Command',\n component: Command,\n tags: ['autodocs'],\n} satisfies Meta<typeof Command>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n render: () => (\n <Command className=\"rounded-10 shadow-tooltip max-w-400\">\n <CommandInput placeholder=\"Type a command or search...\" />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup heading=\"Suggestions\">\n <CommandItem>\n <Icon name=\"calendar2Line\" className=\"size-16 mr-8\" />\n <span>Calendar</span>\n </CommandItem>\n <CommandItem>\n <Icon name=\"emotion2Line\" className=\"size-16 mr-8\" />\n <span>Search Emoji</span>\n </CommandItem>\n <CommandItem>\n <Icon name=\"calculatorLine\" className=\"size-16 mr-8\" />\n <span>Calculator</span>\n </CommandItem>\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup heading=\"Settings\">\n <CommandItem>\n <Icon name=\"user3Line\" className=\"size-16 mr-8\" />\n <span>Profile</span>\n <CommandShortcut>⌘P</CommandShortcut>\n </CommandItem>\n <CommandItem>\n <Icon name=\"mailLine\" className=\"size-16 mr-8\" />\n <span>Mail</span>\n <CommandShortcut>⌘M</CommandShortcut>\n </CommandItem>\n <CommandItem>\n <Icon name=\"settings3Line\" className=\"size-16 mr-8\" />\n <span>Settings</span>\n <CommandShortcut>⌘S</CommandShortcut>\n </CommandItem>\n </CommandGroup>\n </CommandList>\n </Command>\n ),\n};\n\nexport const Combobox: Story = {\n render: () => {\n const frameworks = [\n {value: 'next.js', label: 'Next.js', icon: 'reactjsLine' as const},\n {value: 'sveltekit', label: 'SvelteKit', icon: 'svelteLine' as const},\n {value: 'nuxt.js', label: 'Nuxt.js', icon: 'vuejsLine' as const},\n {value: 'remix', label: 'Remix', icon: 'reactjsLine' as const},\n {value: 'astro', label: 'Astro', icon: 'rocketLine' as const},\n {value: 'vue', label: 'Vue', icon: 'vuejsLine' as const},\n {value: 'react', label: 'React', icon: 'reactjsLine' as const},\n ];\n\n function ComboboxDemo() {\n const [open, setOpen] = useState(false);\n const [value, setValue] = useState('');\n\n return (\n <div className=\"flex flex-col gap-16\">\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <CommandTrigger className=\"w-280\" placeholder=\"Select framework...\">\n {value ? frameworks.find((framework) => framework.value === value)?.label : null}\n </CommandTrigger>\n </PopoverTrigger>\n <PopoverContent className=\"w-280 p-0\" align=\"start\">\n <Command>\n <CommandInput placeholder=\"Search framework...\" />\n <CommandList>\n <CommandEmpty>No framework found.</CommandEmpty>\n <CommandGroup>\n {frameworks.map((framework) => (\n <CommandItem\n key={framework.value}\n value={framework.value}\n onSelect={(currentValue) => {\n setValue(currentValue === value ? '' : currentValue);\n setOpen(false);\n }}\n >\n <Icon\n name=\"check\"\n className={`size-16 mr-8 ${value === framework.value ? 'opacity-100' : 'opacity-0'}`}\n />\n <Icon name={framework.icon} className=\"size-16 mr-8\" />\n {framework.label}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n {value && (\n <p className=\"text-sm text-foreground-neutral-muted\">\n Selected: {frameworks.find((f) => f.value === value)?.label}\n </p>\n )}\n </div>\n );\n }\n\n return <ComboboxDemo />;\n },\n};\n"],"names":["useState","Icon","Popover","PopoverContent","PopoverTrigger","Command","CommandEmpty","CommandGroup","CommandInput","CommandItem","CommandList","CommandSeparator","CommandShortcut","CommandTrigger","meta","title","component","tags","Default","render","className","placeholder","heading","name","span","Combobox","frameworks","value","label","icon","ComboboxDemo","open","setOpen","setValue","div","onOpenChange","asChild","find","framework","align","map","onSelect","currentValue","p","f"],"mappings":";AACA,SAAQA,QAAQ,QAAO,QAAQ;AAC/B,SAAQC,IAAI,QAAO,UAAU;AAC7B,SAAQC,OAAO,EAAEC,cAAc,EAAEC,cAAc,QAAO,aAAa;AACnE,SACEC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,YAAY,EACZC,WAAW,EACXC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACT,YAAY;AAEnB,MAAMC,OAAO;IACXC,OAAO;IACPC,WAAWX;IACXY,MAAM;QAAC;KAAW;AACpB;AAEA,eAAeH,KAAK;AAIpB,OAAO,MAAMI,UAAiB;IAC5BC,QAAQ,kBACN,MAACd;YAAQe,WAAU;;8BACjB,KAACZ;oBAAaa,aAAY;;8BAC1B,MAACX;;sCACC,KAACJ;sCAAa;;sCACd,MAACC;4BAAae,SAAQ;;8CACpB,MAACb;;sDACC,KAACR;4CAAKsB,MAAK;4CAAgBH,WAAU;;sDACrC,KAACI;sDAAK;;;;8CAER,MAACf;;sDACC,KAACR;4CAAKsB,MAAK;4CAAeH,WAAU;;sDACpC,KAACI;sDAAK;;;;8CAER,MAACf;;sDACC,KAACR;4CAAKsB,MAAK;4CAAiBH,WAAU;;sDACtC,KAACI;sDAAK;;;;;;sCAGV,KAACb;sCACD,MAACJ;4BAAae,SAAQ;;8CACpB,MAACb;;sDACC,KAACR;4CAAKsB,MAAK;4CAAYH,WAAU;;sDACjC,KAACI;sDAAK;;sDACN,KAACZ;sDAAgB;;;;8CAEnB,MAACH;;sDACC,KAACR;4CAAKsB,MAAK;4CAAWH,WAAU;;sDAChC,KAACI;sDAAK;;sDACN,KAACZ;sDAAgB;;;;8CAEnB,MAACH;;sDACC,KAACR;4CAAKsB,MAAK;4CAAgBH,WAAU;;sDACrC,KAACI;sDAAK;;sDACN,KAACZ;sDAAgB;;;;;;;;;;AAM7B,EAAE;AAEF,OAAO,MAAMa,WAAkB;IAC7BN,QAAQ;QACN,MAAMO,aAAa;YACjB;gBAACC,OAAO;gBAAWC,OAAO;gBAAWC,MAAM;YAAsB;YACjE;gBAACF,OAAO;gBAAaC,OAAO;gBAAaC,MAAM;YAAqB;YACpE;gBAACF,OAAO;gBAAWC,OAAO;gBAAWC,MAAM;YAAoB;YAC/D;gBAACF,OAAO;gBAASC,OAAO;gBAASC,MAAM;YAAsB;YAC7D;gBAACF,OAAO;gBAASC,OAAO;gBAASC,MAAM;YAAqB;YAC5D;gBAACF,OAAO;gBAAOC,OAAO;gBAAOC,MAAM;YAAoB;YACvD;gBAACF,OAAO;gBAASC,OAAO;gBAASC,MAAM;YAAsB;SAC9D;QAED,SAASC;YACP,MAAM,CAACC,MAAMC,QAAQ,GAAGhC,SAAS;YACjC,MAAM,CAAC2B,OAAOM,SAAS,GAAGjC,SAAS;YAEnC,qBACE,MAACkC;gBAAId,WAAU;;kCACb,MAAClB;wBAAQ6B,MAAMA;wBAAMI,cAAcH;;0CACjC,KAAC5B;gCAAegC,OAAO;0CACrB,cAAA,KAACvB;oCAAeO,WAAU;oCAAQC,aAAY;8CAC3CM,QAAQD,WAAWW,IAAI,CAAC,CAACC,YAAcA,UAAUX,KAAK,KAAKA,QAAQC,QAAQ;;;0CAGhF,KAACzB;gCAAeiB,WAAU;gCAAYmB,OAAM;0CAC1C,cAAA,MAAClC;;sDACC,KAACG;4CAAaa,aAAY;;sDAC1B,MAACX;;8DACC,KAACJ;8DAAa;;8DACd,KAACC;8DACEmB,WAAWc,GAAG,CAAC,CAACF,0BACf,MAAC7B;4DAECkB,OAAOW,UAAUX,KAAK;4DACtBc,UAAU,CAACC;gEACTT,SAASS,iBAAiBf,QAAQ,KAAKe;gEACvCV,QAAQ;4DACV;;8EAEA,KAAC/B;oEACCsB,MAAK;oEACLH,WAAW,CAAC,aAAa,EAAEO,UAAUW,UAAUX,KAAK,GAAG,gBAAgB,aAAa;;8EAEtF,KAAC1B;oEAAKsB,MAAMe,UAAUT,IAAI;oEAAET,WAAU;;gEACrCkB,UAAUV,KAAK;;2DAZXU,UAAUX,KAAK;;;;;;;;;oBAoBjCA,uBACC,MAACgB;wBAAEvB,WAAU;;4BAAwC;4BACxCM,WAAWW,IAAI,CAAC,CAACO,IAAMA,EAAEjB,KAAK,KAAKA,QAAQC;;;;;QAKhE;QAEA,qBAAO,KAACE;IACV;AACF,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/command/index.ts"],"sourcesContent":["export * from './command';\n"],"names":[],"mappings":"AAAA,cAAc,YAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"confetti.d.ts","sourceRoot":"","sources":["../../../src/components/confetti/confetti.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,IAAI,qBAAqB,EAEtC,OAAO,IAAI,eAAe,EAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAWrD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACrD,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AA4EF,eAAO,MAAM,QAAQ,oHAAoB,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,eAAe,GAAG,qBAAqB,GAAG;QAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAC,CAAC;CAClF,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,mBAAmB,2CA0BzF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/confetti/confetti.tsx"],"sourcesContent":["import type {\n GlobalOptions as ConfettiGlobalOptions,\n CreateTypes as ConfettiInstance,\n Options as ConfettiOptions,\n} from 'canvas-confetti';\nimport confetti from 'canvas-confetti';\nimport {Button} from 'components/button';\nimport type {ComponentProps, ReactNode} from 'react';\nimport {\n createContext,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\n\ntype ConfettiApi = {\n fire: (options?: ConfettiOptions) => Promise<void>;\n};\n\nconst ConfettiContext = createContext<ConfettiApi | null>(null);\n\nexport type ConfettiRef = ConfettiApi | null;\n\nexport type ConfettiProps = ComponentProps<'canvas'> & {\n options?: ConfettiOptions;\n globalOptions?: ConfettiGlobalOptions;\n manualstart?: boolean;\n children?: ReactNode;\n};\n\nconst ConfettiComponent = forwardRef<ConfettiRef, ConfettiProps>(\n (\n {\n options,\n globalOptions = {resize: true, useWorker: true},\n manualstart = false,\n children,\n ...props\n },\n ref,\n ) => {\n const instanceRef = useRef<ConfettiInstance | null>(null);\n const hasAutoFiredRef = useRef<boolean>(false);\n const optionsRef = useRef<ConfettiOptions | undefined>(options);\n\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const canvasRef = useCallback(\n (node: HTMLCanvasElement | null) => {\n if (node !== null) {\n if (instanceRef.current) {\n instanceRef.current.reset();\n }\n instanceRef.current = confetti.create(node, {\n ...globalOptions,\n });\n } else {\n if (instanceRef.current) {\n instanceRef.current.reset();\n instanceRef.current = null;\n }\n }\n },\n [globalOptions],\n );\n\n const fire = useCallback(async (opts: ConfettiOptions = {}) => {\n try {\n await instanceRef.current?.({...optionsRef.current, ...opts});\n } catch (error) {\n // biome-ignore lint/suspicious/noConsole: we need to log the error\n console.error('Confetti error:', error);\n }\n }, []);\n\n const api = useMemo<ConfettiApi>(\n () => ({\n fire,\n }),\n [fire],\n );\n\n useImperativeHandle(ref, () => api, [api]);\n\n useEffect(() => {\n if (!manualstart && !hasAutoFiredRef.current && instanceRef.current) {\n hasAutoFiredRef.current = true;\n void instanceRef.current(optionsRef.current);\n }\n }, [manualstart]);\n\n return (\n <ConfettiContext.Provider value={api}>\n <canvas ref={canvasRef} {...props} />\n {children}\n </ConfettiContext.Provider>\n );\n },\n);\n\nConfettiComponent.displayName = 'Confetti';\n\nexport const Confetti = ConfettiComponent;\n\nexport type ConfettiButtonProps = ComponentProps<'button'> & {\n options?: ConfettiOptions & ConfettiGlobalOptions & {canvas?: HTMLCanvasElement};\n};\n\nexport function ConfettiButton({options, onClick, children, ...props}: ConfettiButtonProps) {\n const handleClick: ComponentProps<'button'>['onClick'] = async (event) => {\n try {\n const rect = event.currentTarget.getBoundingClientRect();\n const x = rect.left + rect.width / 2;\n const y = rect.top + rect.height / 2;\n await confetti({\n ...options,\n origin: {\n x: x / window.innerWidth,\n y: y / window.innerHeight,\n },\n });\n } catch (error) {\n // biome-ignore lint/suspicious/noConsole: we need to log the error\n console.error('Confetti button error:', error);\n }\n\n onClick?.(event);\n };\n\n return (\n <Button onClick={handleClick} {...props}>\n {children}\n </Button>\n );\n}\n"],"names":["confetti","Button","createContext","forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","ConfettiContext","ConfettiComponent","options","globalOptions","resize","useWorker","manualstart","children","props","ref","instanceRef","hasAutoFiredRef","optionsRef","current","canvasRef","node","reset","create","fire","opts","error","console","api","Provider","value","canvas","displayName","Confetti","ConfettiButton","onClick","handleClick","event","rect","currentTarget","getBoundingClientRect","x","left","width","y","top","height","origin","window","innerWidth","innerHeight"],"mappings":";AAKA,OAAOA,cAAc,kBAAkB;AACvC,SAAQC,MAAM,QAAO,oBAAoB;AAEzC,SACEC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,QAAQ;AAMf,MAAMC,gCAAkBP,cAAkC;AAW1D,MAAMQ,kCAAoBP,WACxB,CACE,EACEQ,OAAO,EACPC,gBAAgB;IAACC,QAAQ;IAAMC,WAAW;AAAI,CAAC,EAC/CC,cAAc,KAAK,EACnBC,QAAQ,EACR,GAAGC,OACJ,EACDC;IAEA,MAAMC,cAAcX,OAAgC;IACpD,MAAMY,kBAAkBZ,OAAgB;IACxC,MAAMa,aAAab,OAAoCG;IAEvDN,UAAU;QACRgB,WAAWC,OAAO,GAAGX;IACvB,GAAG;QAACA;KAAQ;IAEZ,MAAMY,YAAYnB,YAChB,CAACoB;QACC,IAAIA,SAAS,MAAM;YACjB,IAAIL,YAAYG,OAAO,EAAE;gBACvBH,YAAYG,OAAO,CAACG,KAAK;YAC3B;YACAN,YAAYG,OAAO,GAAGtB,SAAS0B,MAAM,CAACF,MAAM;gBAC1C,GAAGZ,aAAa;YAClB;QACF,OAAO;YACL,IAAIO,YAAYG,OAAO,EAAE;gBACvBH,YAAYG,OAAO,CAACG,KAAK;gBACzBN,YAAYG,OAAO,GAAG;YACxB;QACF;IACF,GACA;QAACV;KAAc;IAGjB,MAAMe,OAAOvB,YAAY,OAAOwB,OAAwB,CAAC,CAAC;QACxD,IAAI;YACF,MAAMT,YAAYG,OAAO,GAAG;gBAAC,GAAGD,WAAWC,OAAO;gBAAE,GAAGM,IAAI;YAAA;QAC7D,EAAE,OAAOC,OAAO;YACd,mEAAmE;YACnEC,QAAQD,KAAK,CAAC,mBAAmBA;QACnC;IACF,GAAG,EAAE;IAEL,MAAME,MAAMxB,QACV,IAAO,CAAA;YACLoB;QACF,CAAA,GACA;QAACA;KAAK;IAGRrB,oBAAoBY,KAAK,IAAMa,KAAK;QAACA;KAAI;IAEzC1B,UAAU;QACR,IAAI,CAACU,eAAe,CAACK,gBAAgBE,OAAO,IAAIH,YAAYG,OAAO,EAAE;YACnEF,gBAAgBE,OAAO,GAAG;YAC1B,KAAKH,YAAYG,OAAO,CAACD,WAAWC,OAAO;QAC7C;IACF,GAAG;QAACP;KAAY;IAEhB,qBACE,MAACN,gBAAgBuB,QAAQ;QAACC,OAAOF;;0BAC/B,KAACG;gBAAOhB,KAAKK;gBAAY,GAAGN,KAAK;;YAChCD;;;AAGP;AAGFN,kBAAkByB,WAAW,GAAG;AAEhC,OAAO,MAAMC,WAAW1B,kBAAkB;AAM1C,OAAO,SAAS2B,eAAe,EAAC1B,OAAO,EAAE2B,OAAO,EAAEtB,QAAQ,EAAE,GAAGC,OAA2B;IACxF,MAAMsB,cAAmD,OAAOC;QAC9D,IAAI;YACF,MAAMC,OAAOD,MAAME,aAAa,CAACC,qBAAqB;YACtD,MAAMC,IAAIH,KAAKI,IAAI,GAAGJ,KAAKK,KAAK,GAAG;YACnC,MAAMC,IAAIN,KAAKO,GAAG,GAAGP,KAAKQ,MAAM,GAAG;YACnC,MAAMjD,SAAS;gBACb,GAAGW,OAAO;gBACVuC,QAAQ;oBACNN,GAAGA,IAAIO,OAAOC,UAAU;oBACxBL,GAAGA,IAAII,OAAOE,WAAW;gBAC3B;YACF;QACF,EAAE,OAAOxB,OAAO;YACd,mEAAmE;YACnEC,QAAQD,KAAK,CAAC,0BAA0BA;QAC1C;QAEAS,UAAUE;IACZ;IAEA,qBACE,KAACvC;QAAOqC,SAASC;QAAc,GAAGtB,KAAK;kBACpCD;;AAGP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/confetti/confetti.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {Confetti, ConfettiButton} from './confetti';\n\nconst meta = {\n title: 'Components/Confetti',\n component: Confetti,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n} satisfies Meta<typeof Confetti>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n render: () => (\n <div className=\"flex h-400 w-600 items-center justify-center rounded-16 bg-background-subtle-base\">\n <ConfettiButton>Click for Confetti!</ConfettiButton>\n </div>\n ),\n};\n\nexport const WithOptions: Story = {\n render: () => (\n <div className=\"flex h-400 w-600 items-center justify-center rounded-16 bg-background-subtle-base\">\n <ConfettiButton\n options={{\n particleCount: 150,\n spread: 60,\n colors: ['#ff6b6b', '#4ecdc4', '#ffe66d', '#95e1d3'],\n }}\n >\n Custom Confetti Button\n </ConfettiButton>\n </div>\n ),\n};\n"],"names":["Confetti","ConfettiButton","meta","title","component","tags","parameters","layout","Default","render","div","className","WithOptions","options","particleCount","spread","colors"],"mappings":";AACA,SAAQA,QAAQ,EAAEC,cAAc,QAAO,aAAa;AAEpD,MAAMC,OAAO;IACXC,OAAO;IACPC,WAAWJ;IACXK,MAAM;QAAC;KAAW;IAClBC,YAAY;QACVC,QAAQ;IACV;AACF;AAEA,eAAeL,KAAK;AAGpB,OAAO,MAAMM,UAAiB;IAC5BC,QAAQ,kBACN,KAACC;YAAIC,WAAU;sBACb,cAAA,KAACV;0BAAe;;;AAGtB,EAAE;AAEF,OAAO,MAAMW,cAAqB;IAChCH,QAAQ,kBACN,KAACC;YAAIC,WAAU;sBACb,cAAA,KAACV;gBACCY,SAAS;oBACPC,eAAe;oBACfC,QAAQ;oBACRC,QAAQ;wBAAC;wBAAW;wBAAW;wBAAW;qBAAU;gBACtD;0BACD;;;AAKP,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/confetti/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/confetti/index.ts"],"sourcesContent":["export * from './confetti';\n"],"names":[],"mappings":"AAAA,cAAc,aAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-content.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/analytics-content.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,4CAiG/B"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from '../../../components/icon/index.js';
|
|
3
|
-
import { Skeleton } from '../../../components/skeleton/index.js';
|
|
4
|
-
import { Text } from '../../../components/typography/index.js';
|
|
5
|
-
export function AnalyticsContent() {
|
|
6
|
-
return /*#__PURE__*/ _jsxs("div", {
|
|
7
|
-
className: "min-h-[calc(100vh-48px)] p-12 md:p-24 space-y-16 md:space-y-20 bg-background-neutral-base",
|
|
8
|
-
children: [
|
|
9
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
10
|
-
className: "flex flex-col md:flex-row items-start md:items-center justify-between gap-12 md:gap-0",
|
|
11
|
-
children: [
|
|
12
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
13
|
-
className: "h-28 md:h-32 w-120 md:w-160"
|
|
14
|
-
}),
|
|
15
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
16
|
-
className: "flex items-center gap-8 md:gap-16",
|
|
17
|
-
children: [
|
|
18
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
19
|
-
className: "h-28 md:h-32 w-80 md:w-100"
|
|
20
|
-
}),
|
|
21
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
22
|
-
className: "h-28 md:h-32 w-100 md:w-160"
|
|
23
|
-
})
|
|
24
|
-
]
|
|
25
|
-
})
|
|
26
|
-
]
|
|
27
|
-
}),
|
|
28
|
-
/*#__PURE__*/ _jsx("div", {
|
|
29
|
-
className: "flex gap-12 md:gap-16 overflow-x-auto scrollbar pb-4 md:pb-0 -mx-12 px-12 md:mx-0 md:px-0",
|
|
30
|
-
children: [
|
|
31
|
-
'Total',
|
|
32
|
-
'Success',
|
|
33
|
-
'Failed',
|
|
34
|
-
'Neutral',
|
|
35
|
-
'Failure rate'
|
|
36
|
-
].map((label)=>/*#__PURE__*/ _jsxs("div", {
|
|
37
|
-
className: "shrink-0 w-100 md:w-auto md:flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base",
|
|
38
|
-
children: [
|
|
39
|
-
/*#__PURE__*/ _jsx("p", {
|
|
40
|
-
className: "text-xs text-foreground-neutral-subtle mb-4",
|
|
41
|
-
children: label
|
|
42
|
-
}),
|
|
43
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
44
|
-
className: "h-20 w-40"
|
|
45
|
-
})
|
|
46
|
-
]
|
|
47
|
-
}, label))
|
|
48
|
-
}),
|
|
49
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
50
|
-
className: "flex flex-col md:flex-row gap-16 md:gap-20",
|
|
51
|
-
children: [
|
|
52
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
53
|
-
className: "flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base",
|
|
54
|
-
children: [
|
|
55
|
-
/*#__PURE__*/ _jsx("p", {
|
|
56
|
-
className: "text-sm font-medium text-foreground-neutral-base mb-12",
|
|
57
|
-
children: "Performance over time"
|
|
58
|
-
}),
|
|
59
|
-
/*#__PURE__*/ _jsx("div", {
|
|
60
|
-
className: "h-120 md:h-160 flex items-center justify-center",
|
|
61
|
-
children: /*#__PURE__*/ _jsxs("div", {
|
|
62
|
-
className: "text-center",
|
|
63
|
-
children: [
|
|
64
|
-
/*#__PURE__*/ _jsx(Icon, {
|
|
65
|
-
name: "fileChartLine",
|
|
66
|
-
className: "size-24 text-foreground-neutral-muted mx-auto mb-8"
|
|
67
|
-
}),
|
|
68
|
-
/*#__PURE__*/ _jsx("p", {
|
|
69
|
-
className: "text-sm text-foreground-neutral-subtle",
|
|
70
|
-
children: "Nothing here yet."
|
|
71
|
-
})
|
|
72
|
-
]
|
|
73
|
-
})
|
|
74
|
-
})
|
|
75
|
-
]
|
|
76
|
-
}),
|
|
77
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
78
|
-
className: "flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base",
|
|
79
|
-
children: [
|
|
80
|
-
/*#__PURE__*/ _jsx("p", {
|
|
81
|
-
className: "text-sm font-medium text-foreground-neutral-base mb-12",
|
|
82
|
-
children: "Duration distribution"
|
|
83
|
-
}),
|
|
84
|
-
/*#__PURE__*/ _jsx("div", {
|
|
85
|
-
className: "h-120 md:h-160 flex items-center justify-center",
|
|
86
|
-
children: /*#__PURE__*/ _jsxs("div", {
|
|
87
|
-
className: "text-center",
|
|
88
|
-
children: [
|
|
89
|
-
/*#__PURE__*/ _jsx(Icon, {
|
|
90
|
-
name: "barChartBoxLine",
|
|
91
|
-
className: "size-24 text-foreground-neutral-muted mx-auto mb-8"
|
|
92
|
-
}),
|
|
93
|
-
/*#__PURE__*/ _jsx("p", {
|
|
94
|
-
className: "text-sm text-foreground-neutral-subtle",
|
|
95
|
-
children: "Nothing here yet."
|
|
96
|
-
})
|
|
97
|
-
]
|
|
98
|
-
})
|
|
99
|
-
})
|
|
100
|
-
]
|
|
101
|
-
})
|
|
102
|
-
]
|
|
103
|
-
}),
|
|
104
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
105
|
-
className: "rounded-8 bg-background-neutral-base border border-border-neutral-base overflow-hidden",
|
|
106
|
-
children: [
|
|
107
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
108
|
-
className: "flex flex-col md:flex-row items-start md:items-center justify-between p-12 gap-12 md:gap-0 border-b border-border-neutral-strong",
|
|
109
|
-
children: [
|
|
110
|
-
/*#__PURE__*/ _jsx("p", {
|
|
111
|
-
className: "text-sm font-medium text-foreground-neutral-base",
|
|
112
|
-
children: "Jobs breakdown"
|
|
113
|
-
}),
|
|
114
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
115
|
-
className: "flex items-center gap-8 md:gap-16 w-full md:w-auto",
|
|
116
|
-
children: [
|
|
117
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
118
|
-
className: "h-28 flex-1 md:flex-none md:w-200"
|
|
119
|
-
}),
|
|
120
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
121
|
-
className: "h-28 w-28 shrink-0"
|
|
122
|
-
})
|
|
123
|
-
]
|
|
124
|
-
})
|
|
125
|
-
]
|
|
126
|
-
}),
|
|
127
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
128
|
-
className: "py-48 md:py-64 flex flex-col items-center justify-center gap-12",
|
|
129
|
-
children: [
|
|
130
|
-
/*#__PURE__*/ _jsx("div", {
|
|
131
|
-
className: "size-32 rounded-6 bg-transparent border border-border-neutral-strong flex items-center justify-center",
|
|
132
|
-
children: /*#__PURE__*/ _jsx(Icon, {
|
|
133
|
-
name: "shipfox",
|
|
134
|
-
className: "size-16 text-foreground-neutral-subtle",
|
|
135
|
-
color: "var(--foreground-neutral-subtle, #a1a1aa)"
|
|
136
|
-
})
|
|
137
|
-
}),
|
|
138
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
139
|
-
className: "text-center space-y-4 px-16",
|
|
140
|
-
children: [
|
|
141
|
-
/*#__PURE__*/ _jsx(Text, {
|
|
142
|
-
size: "sm",
|
|
143
|
-
className: "text-foreground-neutral-base",
|
|
144
|
-
children: "No jobs yet"
|
|
145
|
-
}),
|
|
146
|
-
/*#__PURE__*/ _jsx(Text, {
|
|
147
|
-
size: "xs",
|
|
148
|
-
className: "text-foreground-neutral-muted",
|
|
149
|
-
children: "Import past runs or start a runner."
|
|
150
|
-
})
|
|
151
|
-
]
|
|
152
|
-
})
|
|
153
|
-
]
|
|
154
|
-
})
|
|
155
|
-
]
|
|
156
|
-
}),
|
|
157
|
-
/*#__PURE__*/ _jsx("div", {
|
|
158
|
-
className: "space-y-16",
|
|
159
|
-
children: Array.from({
|
|
160
|
-
length: 3
|
|
161
|
-
}).map((_, i)=>{
|
|
162
|
-
const blockId = `analytics-extra-block-${i}`;
|
|
163
|
-
return /*#__PURE__*/ _jsxs("div", {
|
|
164
|
-
className: "p-12 md:p-16 rounded-8 bg-background-subtle-base border border-border-neutral-strong",
|
|
165
|
-
children: [
|
|
166
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
167
|
-
className: "h-16 w-full max-w-400 mb-8"
|
|
168
|
-
}),
|
|
169
|
-
/*#__PURE__*/ _jsx(Skeleton, {
|
|
170
|
-
className: "h-12 w-full max-w-600"
|
|
171
|
-
})
|
|
172
|
-
]
|
|
173
|
-
}, blockId);
|
|
174
|
-
})
|
|
175
|
-
})
|
|
176
|
-
]
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
//# sourceMappingURL=analytics-content.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/analytics-content.tsx"],"sourcesContent":["import {Icon} from 'components/icon';\nimport {Skeleton} from 'components/skeleton';\nimport {Text} from 'components/typography';\n\nexport function AnalyticsContent() {\n return (\n <div className=\"min-h-[calc(100vh-48px)] p-12 md:p-24 space-y-16 md:space-y-20 bg-background-neutral-base\">\n <div className=\"flex flex-col md:flex-row items-start md:items-center justify-between gap-12 md:gap-0\">\n <Skeleton className=\"h-28 md:h-32 w-120 md:w-160\" />\n <div className=\"flex items-center gap-8 md:gap-16\">\n <Skeleton className=\"h-28 md:h-32 w-80 md:w-100\" />\n <Skeleton className=\"h-28 md:h-32 w-100 md:w-160\" />\n </div>\n </div>\n\n <div className=\"flex gap-12 md:gap-16 overflow-x-auto scrollbar pb-4 md:pb-0 -mx-12 px-12 md:mx-0 md:px-0\">\n {['Total', 'Success', 'Failed', 'Neutral', 'Failure rate'].map((label) => (\n <div\n key={label}\n className=\"shrink-0 w-100 md:w-auto md:flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base\"\n >\n <p className=\"text-xs text-foreground-neutral-subtle mb-4\">{label}</p>\n <Skeleton className=\"h-20 w-40\" />\n </div>\n ))}\n </div>\n\n <div className=\"flex flex-col md:flex-row gap-16 md:gap-20\">\n <div className=\"flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base\">\n <p className=\"text-sm font-medium text-foreground-neutral-base mb-12\">\n Performance over time\n </p>\n <div className=\"h-120 md:h-160 flex items-center justify-center\">\n <div className=\"text-center\">\n <Icon\n name=\"fileChartLine\"\n className=\"size-24 text-foreground-neutral-muted mx-auto mb-8\"\n />\n <p className=\"text-sm text-foreground-neutral-subtle\">Nothing here yet.</p>\n </div>\n </div>\n </div>\n <div className=\"flex-1 p-12 rounded-8 bg-background-neutral-base border border-border-neutral-base\">\n <p className=\"text-sm font-medium text-foreground-neutral-base mb-12\">\n Duration distribution\n </p>\n <div className=\"h-120 md:h-160 flex items-center justify-center\">\n <div className=\"text-center\">\n <Icon\n name=\"barChartBoxLine\"\n className=\"size-24 text-foreground-neutral-muted mx-auto mb-8\"\n />\n <p className=\"text-sm text-foreground-neutral-subtle\">Nothing here yet.</p>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"rounded-8 bg-background-neutral-base border border-border-neutral-base overflow-hidden\">\n <div className=\"flex flex-col md:flex-row items-start md:items-center justify-between p-12 gap-12 md:gap-0 border-b border-border-neutral-strong\">\n <p className=\"text-sm font-medium text-foreground-neutral-base\">Jobs breakdown</p>\n <div className=\"flex items-center gap-8 md:gap-16 w-full md:w-auto\">\n <Skeleton className=\"h-28 flex-1 md:flex-none md:w-200\" />\n <Skeleton className=\"h-28 w-28 shrink-0\" />\n </div>\n </div>\n <div className=\"py-48 md:py-64 flex flex-col items-center justify-center gap-12\">\n <div className=\"size-32 rounded-6 bg-transparent border border-border-neutral-strong flex items-center justify-center\">\n <Icon\n name=\"shipfox\"\n className=\"size-16 text-foreground-neutral-subtle\"\n color=\"var(--foreground-neutral-subtle, #a1a1aa)\"\n />\n </div>\n <div className=\"text-center space-y-4 px-16\">\n <Text size=\"sm\" className=\"text-foreground-neutral-base\">\n No jobs yet\n </Text>\n <Text size=\"xs\" className=\"text-foreground-neutral-muted\">\n Import past runs or start a runner.\n </Text>\n </div>\n </div>\n </div>\n\n <div className=\"space-y-16\">\n {Array.from({length: 3}).map((_, i) => {\n const blockId = `analytics-extra-block-${i}`;\n return (\n <div\n key={blockId}\n className=\"p-12 md:p-16 rounded-8 bg-background-subtle-base border border-border-neutral-strong\"\n >\n <Skeleton className=\"h-16 w-full max-w-400 mb-8\" />\n <Skeleton className=\"h-12 w-full max-w-600\" />\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n"],"names":["Icon","Skeleton","Text","AnalyticsContent","div","className","map","label","p","name","color","size","Array","from","length","_","i","blockId"],"mappings":";AAAA,SAAQA,IAAI,QAAO,kBAAkB;AACrC,SAAQC,QAAQ,QAAO,sBAAsB;AAC7C,SAAQC,IAAI,QAAO,wBAAwB;AAE3C,OAAO,SAASC;IACd,qBACE,MAACC;QAAIC,WAAU;;0BACb,MAACD;gBAAIC,WAAU;;kCACb,KAACJ;wBAASI,WAAU;;kCACpB,MAACD;wBAAIC,WAAU;;0CACb,KAACJ;gCAASI,WAAU;;0CACpB,KAACJ;gCAASI,WAAU;;;;;;0BAIxB,KAACD;gBAAIC,WAAU;0BACZ;oBAAC;oBAAS;oBAAW;oBAAU;oBAAW;iBAAe,CAACC,GAAG,CAAC,CAACC,sBAC9D,MAACH;wBAECC,WAAU;;0CAEV,KAACG;gCAAEH,WAAU;0CAA+CE;;0CAC5D,KAACN;gCAASI,WAAU;;;uBAJfE;;0BASX,MAACH;gBAAIC,WAAU;;kCACb,MAACD;wBAAIC,WAAU;;0CACb,KAACG;gCAAEH,WAAU;0CAAyD;;0CAGtE,KAACD;gCAAIC,WAAU;0CACb,cAAA,MAACD;oCAAIC,WAAU;;sDACb,KAACL;4CACCS,MAAK;4CACLJ,WAAU;;sDAEZ,KAACG;4CAAEH,WAAU;sDAAyC;;;;;;;kCAI5D,MAACD;wBAAIC,WAAU;;0CACb,KAACG;gCAAEH,WAAU;0CAAyD;;0CAGtE,KAACD;gCAAIC,WAAU;0CACb,cAAA,MAACD;oCAAIC,WAAU;;sDACb,KAACL;4CACCS,MAAK;4CACLJ,WAAU;;sDAEZ,KAACG;4CAAEH,WAAU;sDAAyC;;;;;;;;;0BAM9D,MAACD;gBAAIC,WAAU;;kCACb,MAACD;wBAAIC,WAAU;;0CACb,KAACG;gCAAEH,WAAU;0CAAmD;;0CAChE,MAACD;gCAAIC,WAAU;;kDACb,KAACJ;wCAASI,WAAU;;kDACpB,KAACJ;wCAASI,WAAU;;;;;;kCAGxB,MAACD;wBAAIC,WAAU;;0CACb,KAACD;gCAAIC,WAAU;0CACb,cAAA,KAACL;oCACCS,MAAK;oCACLJ,WAAU;oCACVK,OAAM;;;0CAGV,MAACN;gCAAIC,WAAU;;kDACb,KAACH;wCAAKS,MAAK;wCAAKN,WAAU;kDAA+B;;kDAGzD,KAACH;wCAAKS,MAAK;wCAAKN,WAAU;kDAAgC;;;;;;;;0BAOhE,KAACD;gBAAIC,WAAU;0BACZO,MAAMC,IAAI,CAAC;oBAACC,QAAQ;gBAAC,GAAGR,GAAG,CAAC,CAACS,GAAGC;oBAC/B,MAAMC,UAAU,CAAC,sBAAsB,EAAED,GAAG;oBAC5C,qBACE,MAACZ;wBAECC,WAAU;;0CAEV,KAACJ;gCAASI,WAAU;;0CACpB,KAACJ;gCAASI,WAAU;;;uBAJfY;gBAOX;;;;AAIR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animated-logo.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/animated-logo.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,EAAC,cAAc,EAAC,EAAE;IAAC,cAAc,EAAE,MAAM,CAAA;CAAC,kDAmBtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/animated-logo.tsx"],"sourcesContent":["import {Icon} from 'components/icon';\nimport {motion} from 'framer-motion';\n\nconst LOGO_HEIGHT = 48;\n\nexport function AnimatedLogo({scrollProgress}: {scrollProgress: number}) {\n const isVisible = scrollProgress > 0;\n\n if (!isVisible) return null;\n\n const easedProgress = 1 - (1 - scrollProgress) ** 3;\n\n return (\n <motion.div\n className=\"fixed top-0 left-0 z-50 flex items-center justify-center shrink-0 w-48 h-48 bg-background-neutral-base\"\n style={{\n opacity: easedProgress,\n transform: `translateY(${-LOGO_HEIGHT + easedProgress * LOGO_HEIGHT}px)`,\n }}\n initial={false}\n >\n <Icon name=\"shipfox\" className=\"size-20 text-foreground-neutral-subtle\" />\n </motion.div>\n );\n}\n"],"names":["Icon","motion","LOGO_HEIGHT","AnimatedLogo","scrollProgress","isVisible","easedProgress","div","className","style","opacity","transform","initial","name"],"mappings":";AAAA,SAAQA,IAAI,QAAO,kBAAkB;AACrC,SAAQC,MAAM,QAAO,gBAAgB;AAErC,MAAMC,cAAc;AAEpB,OAAO,SAASC,aAAa,EAACC,cAAc,EAA2B;IACrE,MAAMC,YAAYD,iBAAiB;IAEnC,IAAI,CAACC,WAAW,OAAO;IAEvB,MAAMC,gBAAgB,IAAI,AAAC,CAAA,IAAIF,cAAa,KAAM;IAElD,qBACE,KAACH,OAAOM,GAAG;QACTC,WAAU;QACVC,OAAO;YACLC,SAASJ;YACTK,WAAW,CAAC,WAAW,EAAE,CAACT,cAAcI,gBAAgBJ,YAAY,GAAG,CAAC;QAC1E;QACAU,SAAS;kBAET,cAAA,KAACZ;YAAKa,MAAK;YAAUL,WAAU;;;AAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"complete-setup-button.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/complete-setup-button.tsx"],"names":[],"mappings":"AAMA,wBAAgB,mBAAmB,CAAC,EAAC,SAAS,EAAC,EAAE;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,2CAuBpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/complete-setup-button.tsx"],"sourcesContent":["import {Button} from 'components/button';\nimport {ShinyText} from 'components/shiny-text';\nimport {useResolvedTheme} from 'hooks/useResolvedTheme';\nimport {ShipfoxLoader} from 'shipfox-loader-react';\nimport {cn} from 'utils/cn';\n\nexport function CompleteSetupButton({className}: {className?: string}) {\n const resolvedTheme = useResolvedTheme();\n return (\n <Button\n type=\"button\"\n variant=\"transparent\"\n className={cn(\n 'flex items-center gap-8 min-w-124 max-w-280 overflow-hidden px-12 py-10 transition-colors rounded-none h-40 border-l border-border-neutral-strong',\n className,\n )}\n >\n <ShipfoxLoader\n size={13}\n animation=\"circular\"\n color={resolvedTheme === 'dark' ? 'white' : 'orange'}\n background={resolvedTheme === 'dark' ? 'dark' : 'light'}\n />\n <ShinyText\n text=\"Complete setup\"\n className=\"flex-1 text-sm font-medium leading-20 text-foreground-neutral-base truncate text-left\"\n />\n </Button>\n );\n}\n"],"names":["Button","ShinyText","useResolvedTheme","ShipfoxLoader","cn","CompleteSetupButton","className","resolvedTheme","type","variant","size","animation","color","background","text"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,SAAS,QAAO,wBAAwB;AAChD,SAAQC,gBAAgB,QAAO,yBAAyB;AACxD,SAAQC,aAAa,QAAO,uBAAuB;AACnD,SAAQC,EAAE,QAAO,WAAW;AAE5B,OAAO,SAASC,oBAAoB,EAACC,SAAS,EAAuB;IACnE,MAAMC,gBAAgBL;IACtB,qBACE,MAACF;QACCQ,MAAK;QACLC,SAAQ;QACRH,WAAWF,GACT,qJACAE;;0BAGF,KAACH;gBACCO,MAAM;gBACNC,WAAU;gBACVC,OAAOL,kBAAkB,SAAS,UAAU;gBAC5CM,YAAYN,kBAAkB,SAAS,SAAS;;0BAElD,KAACN;gBACCa,MAAK;gBACLR,WAAU;;;;AAIlB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jobs-content.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/jobs-content.tsx"],"names":[],"mappings":"AASA,wBAAgB,WAAW,4CAyC1B"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from '../../../components/button/index.js';
|
|
3
|
-
import { Icon } from '../../../components/icon/index.js';
|
|
4
|
-
import { SearchInline } from '../../../components/search/search-inline.js';
|
|
5
|
-
import { DataTable } from '../../../components/table/data-table.js';
|
|
6
|
-
import { jobColumns } from '../../../components/table/table.stories.columns.js';
|
|
7
|
-
import { jobsData } from '../../../components/table/table.stories.data.js';
|
|
8
|
-
import { Header as TypographyHeader } from '../../../components/typography/index.js';
|
|
9
|
-
import { useMemo, useState } from 'react';
|
|
10
|
-
export function JobsContent() {
|
|
11
|
-
const [searchQuery, setSearchQuery] = useState('');
|
|
12
|
-
const filteredData = useMemo(()=>jobsData.filter((job)=>job.name.toLowerCase().includes(searchQuery.toLowerCase())), [
|
|
13
|
-
searchQuery
|
|
14
|
-
]);
|
|
15
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
16
|
-
className: "min-h-[calc(100vh-48px)] p-12 md:p-24 bg-background-neutral-base",
|
|
17
|
-
children: /*#__PURE__*/ _jsxs("div", {
|
|
18
|
-
className: "rounded-t-8 overflow-hidden",
|
|
19
|
-
children: [
|
|
20
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
21
|
-
className: "flex flex-col md:flex-row md:items-center md:justify-between gap-12 md:gap-0 p-12 border-t border-x border-border-neutral-base rounded-t-8 bg-background-neutral-base",
|
|
22
|
-
children: [
|
|
23
|
-
/*#__PURE__*/ _jsx(TypographyHeader, {
|
|
24
|
-
variant: "h3",
|
|
25
|
-
className: "text-foreground-neutral-base",
|
|
26
|
-
children: "Jobs breakdown"
|
|
27
|
-
}),
|
|
28
|
-
/*#__PURE__*/ _jsxs("div", {
|
|
29
|
-
className: "flex items-center gap-8 md:gap-16 w-full md:w-auto",
|
|
30
|
-
children: [
|
|
31
|
-
/*#__PURE__*/ _jsx(SearchInline, {
|
|
32
|
-
placeholder: "Search...",
|
|
33
|
-
value: searchQuery,
|
|
34
|
-
onChange: (e)=>setSearchQuery(e.target.value),
|
|
35
|
-
onClear: ()=>setSearchQuery(''),
|
|
36
|
-
className: "flex-1 md:w-240"
|
|
37
|
-
}),
|
|
38
|
-
/*#__PURE__*/ _jsx(Button, {
|
|
39
|
-
variant: "secondary",
|
|
40
|
-
"aria-label": "Insert column left",
|
|
41
|
-
className: "shrink-0",
|
|
42
|
-
children: /*#__PURE__*/ _jsx(Icon, {
|
|
43
|
-
name: "insertColumnLeft",
|
|
44
|
-
className: "size-16 text-foreground-neutral-subtle"
|
|
45
|
-
})
|
|
46
|
-
})
|
|
47
|
-
]
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
}),
|
|
51
|
-
/*#__PURE__*/ _jsx(DataTable, {
|
|
52
|
-
columns: jobColumns,
|
|
53
|
-
data: filteredData,
|
|
54
|
-
pagination: true,
|
|
55
|
-
pageSize: 10,
|
|
56
|
-
pageSizeOptions: [
|
|
57
|
-
10,
|
|
58
|
-
20,
|
|
59
|
-
50,
|
|
60
|
-
100
|
|
61
|
-
],
|
|
62
|
-
className: "rounded-t-none"
|
|
63
|
-
})
|
|
64
|
-
]
|
|
65
|
-
})
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
//# sourceMappingURL=jobs-content.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/jobs-content.tsx"],"sourcesContent":["import {Button} from 'components/button';\nimport {Icon} from 'components/icon';\nimport {SearchInline} from 'components/search/search-inline';\nimport {DataTable} from 'components/table/data-table';\nimport {jobColumns} from 'components/table/table.stories.columns';\nimport {jobsData} from 'components/table/table.stories.data';\nimport {Header as TypographyHeader} from 'components/typography';\nimport {useMemo, useState} from 'react';\n\nexport function JobsContent() {\n const [searchQuery, setSearchQuery] = useState('');\n\n const filteredData = useMemo(\n () => jobsData.filter((job) => job.name.toLowerCase().includes(searchQuery.toLowerCase())),\n [searchQuery],\n );\n\n return (\n <div className=\"min-h-[calc(100vh-48px)] p-12 md:p-24 bg-background-neutral-base\">\n <div className=\"rounded-t-8 overflow-hidden\">\n <div className=\"flex flex-col md:flex-row md:items-center md:justify-between gap-12 md:gap-0 p-12 border-t border-x border-border-neutral-base rounded-t-8 bg-background-neutral-base\">\n <TypographyHeader variant=\"h3\" className=\"text-foreground-neutral-base\">\n Jobs breakdown\n </TypographyHeader>\n\n <div className=\"flex items-center gap-8 md:gap-16 w-full md:w-auto\">\n <SearchInline\n placeholder=\"Search...\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n onClear={() => setSearchQuery('')}\n className=\"flex-1 md:w-240\"\n />\n <Button variant=\"secondary\" aria-label=\"Insert column left\" className=\"shrink-0\">\n <Icon name=\"insertColumnLeft\" className=\"size-16 text-foreground-neutral-subtle\" />\n </Button>\n </div>\n </div>\n\n <DataTable\n columns={jobColumns}\n data={filteredData}\n pagination={true}\n pageSize={10}\n pageSizeOptions={[10, 20, 50, 100]}\n className=\"rounded-t-none\"\n />\n </div>\n </div>\n );\n}\n"],"names":["Button","Icon","SearchInline","DataTable","jobColumns","jobsData","Header","TypographyHeader","useMemo","useState","JobsContent","searchQuery","setSearchQuery","filteredData","filter","job","name","toLowerCase","includes","div","className","variant","placeholder","value","onChange","e","target","onClear","aria-label","columns","data","pagination","pageSize","pageSizeOptions"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,IAAI,QAAO,kBAAkB;AACrC,SAAQC,YAAY,QAAO,kCAAkC;AAC7D,SAAQC,SAAS,QAAO,8BAA8B;AACtD,SAAQC,UAAU,QAAO,yCAAyC;AAClE,SAAQC,QAAQ,QAAO,sCAAsC;AAC7D,SAAQC,UAAUC,gBAAgB,QAAO,wBAAwB;AACjE,SAAQC,OAAO,EAAEC,QAAQ,QAAO,QAAQ;AAExC,OAAO,SAASC;IACd,MAAM,CAACC,aAAaC,eAAe,GAAGH,SAAS;IAE/C,MAAMI,eAAeL,QACnB,IAAMH,SAASS,MAAM,CAAC,CAACC,MAAQA,IAAIC,IAAI,CAACC,WAAW,GAAGC,QAAQ,CAACP,YAAYM,WAAW,MACtF;QAACN;KAAY;IAGf,qBACE,KAACQ;QAAIC,WAAU;kBACb,cAAA,MAACD;YAAIC,WAAU;;8BACb,MAACD;oBAAIC,WAAU;;sCACb,KAACb;4BAAiBc,SAAQ;4BAAKD,WAAU;sCAA+B;;sCAIxE,MAACD;4BAAIC,WAAU;;8CACb,KAAClB;oCACCoB,aAAY;oCACZC,OAAOZ;oCACPa,UAAU,CAACC,IAAMb,eAAea,EAAEC,MAAM,CAACH,KAAK;oCAC9CI,SAAS,IAAMf,eAAe;oCAC9BQ,WAAU;;8CAEZ,KAACpB;oCAAOqB,SAAQ;oCAAYO,cAAW;oCAAqBR,WAAU;8CACpE,cAAA,KAACnB;wCAAKe,MAAK;wCAAmBI,WAAU;;;;;;;8BAK9C,KAACjB;oBACC0B,SAASzB;oBACT0B,MAAMjB;oBACNkB,YAAY;oBACZC,UAAU;oBACVC,iBAAiB;wBAAC;wBAAI;wBAAI;wBAAI;qBAAI;oBAClCb,WAAU;;;;;AAKpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-menu.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/mobile-menu.tsx"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,4CAoCzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/mobile-menu.tsx"],"sourcesContent":["import {Button} from 'components/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from 'components/dropdown-menu';\nimport {Icon} from 'components/icon';\nimport {ShinyText} from 'components/shiny-text';\nimport {useResolvedTheme} from 'hooks/useResolvedTheme';\nimport {ShipfoxLoader} from 'shipfox-loader-react';\n\nexport function MobileMenu() {\n const resolvedTheme = useResolvedTheme();\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n type=\"button\"\n variant=\"transparent\"\n className=\"flex md:hidden items-center justify-center shrink-0 w-40 h-40 bg-background-subtle-base hover:bg-background-neutral-hover transition-colors rounded-none border-l border-border-neutral-strong\"\n aria-label=\"Menu\"\n >\n <Icon name=\"menuLine\" className=\"size-18 text-foreground-neutral-subtle\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-200\">\n <DropdownMenuItem>\n <div className=\"flex items-center gap-8\">\n <ShipfoxLoader\n size={13}\n animation=\"circular\"\n color={resolvedTheme === 'dark' ? 'white' : 'orange'}\n background={resolvedTheme === 'dark' ? 'dark' : 'light'}\n />\n <ShinyText\n text=\"Complete setup\"\n className=\"flex-1 text-sm font-medium leading-20 text-foreground-neutral-base truncate text-left\"\n />\n </div>\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem icon=\"searchLine\">Search</DropdownMenuItem>\n <DropdownMenuItem icon=\"questionLine\">Help</DropdownMenuItem>\n <DropdownMenuItem icon=\"notification3Line\">Notifications</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["Button","DropdownMenu","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","DropdownMenuTrigger","Icon","ShinyText","useResolvedTheme","ShipfoxLoader","MobileMenu","resolvedTheme","asChild","type","variant","className","aria-label","name","align","div","size","animation","color","background","text","icon"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SACEC,YAAY,EACZC,mBAAmB,EACnBC,gBAAgB,EAChBC,qBAAqB,EACrBC,mBAAmB,QACd,2BAA2B;AAClC,SAAQC,IAAI,QAAO,kBAAkB;AACrC,SAAQC,SAAS,QAAO,wBAAwB;AAChD,SAAQC,gBAAgB,QAAO,yBAAyB;AACxD,SAAQC,aAAa,QAAO,uBAAuB;AAEnD,OAAO,SAASC;IACd,MAAMC,gBAAgBH;IACtB,qBACE,MAACP;;0BACC,KAACI;gBAAoBO,OAAO;0BAC1B,cAAA,KAACZ;oBACCa,MAAK;oBACLC,SAAQ;oBACRC,WAAU;oBACVC,cAAW;8BAEX,cAAA,KAACV;wBAAKW,MAAK;wBAAWF,WAAU;;;;0BAGpC,MAACb;gBAAoBgB,OAAM;gBAAMH,WAAU;;kCACzC,KAACZ;kCACC,cAAA,MAACgB;4BAAIJ,WAAU;;8CACb,KAACN;oCACCW,MAAM;oCACNC,WAAU;oCACVC,OAAOX,kBAAkB,SAAS,UAAU;oCAC5CY,YAAYZ,kBAAkB,SAAS,SAAS;;8CAElD,KAACJ;oCACCiB,MAAK;oCACLT,WAAU;;;;;kCAIhB,KAACX;kCACD,KAACD;wBAAiBsB,MAAK;kCAAa;;kCACpC,KAACtB;wBAAiBsB,MAAK;kCAAe;;kCACtC,KAACtB;wBAAiBsB,MAAK;kCAAoB;;;;;;AAInD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"organization-selector.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/organization-selector.tsx"],"names":[],"mappings":"AAYA,wBAAgB,oBAAoB,4CAsCnC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/organization-selector.tsx"],"sourcesContent":["import {Avatar} from 'components/avatar';\nimport {Button} from 'components/button';\nimport {Icon} from 'components/icon';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n} from 'components/select';\n\nexport function OrganizationSelector() {\n return (\n <Select defaultValue=\"stripe\">\n <SelectTrigger className=\"w-200 h-40 shadow-none bg-background-neutral-base hover:bg-background-neutral-hover rounded-none gap-8 pl-12 border-l min-[321px]:border-r border-border-neutral-strong\">\n <div className=\"flex items-center gap-8 flex-1 min-w-0\">\n <SelectValue placeholder=\"Select organization\" />\n </div>\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"stripe\">\n <div className=\"flex items-center gap-8\">\n <Avatar size=\"3xs\" content=\"logo\" logoName=\"stripe\" radius=\"rounded\" />\n <span>Stripe</span>\n </div>\n </SelectItem>\n <SelectItem value=\"shipfox\">\n <div className=\"flex items-center gap-8\">\n <Avatar size=\"3xs\" content=\"logo\" logoName=\"shipfox\" radius=\"rounded\" />\n <span>Shipfox</span>\n </div>\n </SelectItem>\n <SelectItem value=\"github\">\n <div className=\"flex items-center gap-8\">\n <Avatar size=\"3xs\" content=\"logo\" logoName=\"github\" radius=\"rounded\" />\n <span>GitHub</span>\n </div>\n </SelectItem>\n <SelectSeparator />\n <Button\n variant=\"transparent\"\n className=\"w-full justify-start text-foreground-neutral-subtle\"\n >\n <Icon name=\"addLine\" className=\"size-16 shrink-0\" />\n <span>New organization</span>\n </Button>\n </SelectContent>\n </Select>\n );\n}\n"],"names":["Avatar","Button","Icon","Select","SelectContent","SelectItem","SelectSeparator","SelectTrigger","SelectValue","OrganizationSelector","defaultValue","className","div","placeholder","value","size","content","logoName","radius","span","variant","name"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,MAAM,QAAO,oBAAoB;AACzC,SAAQC,IAAI,QAAO,kBAAkB;AACrC,SACEC,MAAM,EACNC,aAAa,EACbC,UAAU,EACVC,eAAe,EACfC,aAAa,EACbC,WAAW,QACN,oBAAoB;AAE3B,OAAO,SAASC;IACd,qBACE,MAACN;QAAOO,cAAa;;0BACnB,KAACH;gBAAcI,WAAU;0BACvB,cAAA,KAACC;oBAAID,WAAU;8BACb,cAAA,KAACH;wBAAYK,aAAY;;;;0BAG7B,MAACT;;kCACC,KAACC;wBAAWS,OAAM;kCAChB,cAAA,MAACF;4BAAID,WAAU;;8CACb,KAACX;oCAAOe,MAAK;oCAAMC,SAAQ;oCAAOC,UAAS;oCAASC,QAAO;;8CAC3D,KAACC;8CAAK;;;;;kCAGV,KAACd;wBAAWS,OAAM;kCAChB,cAAA,MAACF;4BAAID,WAAU;;8CACb,KAACX;oCAAOe,MAAK;oCAAMC,SAAQ;oCAAOC,UAAS;oCAAUC,QAAO;;8CAC5D,KAACC;8CAAK;;;;;kCAGV,KAACd;wBAAWS,OAAM;kCAChB,cAAA,MAACF;4BAAID,WAAU;;8CACb,KAACX;oCAAOe,MAAK;oCAAMC,SAAQ;oCAAOC,UAAS;oCAASC,QAAO;;8CAC3D,KAACC;8CAAK;;;;;kCAGV,KAACb;kCACD,MAACL;wBACCmB,SAAQ;wBACRT,WAAU;;0CAEV,KAACT;gCAAKmB,MAAK;gCAAUV,WAAU;;0CAC/B,KAACQ;0CAAK;;;;;;;;AAKhB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"top-menu.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/top-menu.tsx"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,2CAiBA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/top-menu.tsx"],"sourcesContent":["import {Tabs, TabsList, TabsTrigger} from 'components/tabs';\n\nexport function TopMenu({\n activeTab,\n onTabChange,\n}: {\n activeTab: string;\n onTabChange: (tab: string) => void;\n}) {\n return (\n <div className=\"flex items-center justify-between w-full\">\n <div className=\"flex items-center flex-1 min-w-0 pl-12 md:pl-20 pr-8\">\n <Tabs value={activeTab} onValueChange={onTabChange}>\n <TabsList className=\"h-48 gap-8 md:gap-12\">\n <TabsTrigger value=\"analytics\" className=\"text-sm font-medium\">\n Analytics\n </TabsTrigger>\n <TabsTrigger value=\"jobs\" className=\"text-sm font-medium\">\n Jobs\n </TabsTrigger>\n </TabsList>\n </Tabs>\n </div>\n </div>\n );\n}\n"],"names":["Tabs","TabsList","TabsTrigger","TopMenu","activeTab","onTabChange","div","className","value","onValueChange"],"mappings":";AAAA,SAAQA,IAAI,EAAEC,QAAQ,EAAEC,WAAW,QAAO,kBAAkB;AAE5D,OAAO,SAASC,QAAQ,EACtBC,SAAS,EACTC,WAAW,EAIZ;IACC,qBACE,KAACC;QAAIC,WAAU;kBACb,cAAA,KAACD;YAAIC,WAAU;sBACb,cAAA,KAACP;gBAAKQ,OAAOJ;gBAAWK,eAAeJ;0BACrC,cAAA,MAACJ;oBAASM,WAAU;;sCAClB,KAACL;4BAAYM,OAAM;4BAAYD,WAAU;sCAAsB;;sCAG/D,KAACL;4BAAYM,OAAM;4BAAOD,WAAU;sCAAsB;;;;;;;AAQtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"topbar-button.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/topbar-button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,IAAI,EACJ,KAAK,GACN,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,2CAcA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/topbar-button.tsx"],"sourcesContent":["import {Button} from 'components/button';\nimport {Icon, type IconName} from 'components/icon';\nimport {cn} from 'utils/cn';\n\nexport function TopbarButton({\n className,\n icon,\n label,\n}: {\n className?: string;\n icon: IconName;\n label?: string;\n}) {\n return (\n <Button\n type=\"button\"\n variant=\"transparent\"\n className={cn(\n 'flex items-center justify-center overflow-hidden shrink-0 w-40 h-40 bg-background-subtle-base hover:bg-background-neutral-hover transition-colors rounded-none border-l border-border-neutral-strong',\n className,\n )}\n aria-label={label ?? undefined}\n >\n <Icon name={icon} className=\"size-18 text-foreground-neutral-subtle\" />\n </Button>\n );\n}\n"],"names":["Button","Icon","cn","TopbarButton","className","icon","label","type","variant","aria-label","undefined","name"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,IAAI,QAAsB,kBAAkB;AACpD,SAAQC,EAAE,QAAO,WAAW;AAE5B,OAAO,SAASC,aAAa,EAC3BC,SAAS,EACTC,IAAI,EACJC,KAAK,EAKN;IACC,qBACE,KAACN;QACCO,MAAK;QACLC,SAAQ;QACRJ,WAAWF,GACT,wMACAE;QAEFK,cAAYH,SAASI;kBAErB,cAAA,KAACT;YAAKU,MAAMN;YAAMD,WAAU;;;AAGlC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"topbar.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/topbar.tsx"],"names":[],"mappings":"AAOA,wBAAgB,MAAM,CAAC,EAAC,QAAgB,EAAC,EAAE;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,2CAgC9D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/topbar.tsx"],"sourcesContent":["import {cn} from 'utils/cn';\nimport {CompleteSetupButton} from './complete-setup-button';\nimport {MobileMenu} from './mobile-menu';\nimport {OrganizationSelector} from './organization-selector';\nimport {TopbarButton} from './topbar-button';\nimport {UserProfile} from './user-profile';\n\nexport function Topbar({hideLogo = false}: {hideLogo?: boolean}) {\n return (\n <div className=\"flex flex-col items-start w-full bg-background-subtle-base\">\n <div className=\"flex items-center justify-between w-full shrink-0 border-b border-border-neutral-strong\">\n <div className=\"flex items-center flex-1 min-w-0\">\n <div className={cn('shrink-0', hideLogo ? 'opacity-0' : 'opacity-100')}>\n <TopbarButton icon=\"shipfox\" label=\"Shipfox\" className=\"border-none\" />\n </div>\n <OrganizationSelector />\n <div className=\"hidden md:block flex-1 h-40 bg-background-subtle-base\" />\n </div>\n\n <CompleteSetupButton className=\"hidden md:flex\" />\n\n <div className=\"hidden md:block\">\n <TopbarButton icon=\"searchLine\" label=\"Search\" />\n </div>\n\n <div className=\"hidden md:block\">\n <TopbarButton icon=\"questionLine\" label=\"Help\" />\n </div>\n\n <div className=\"hidden md:block\">\n <TopbarButton icon=\"notification3Line\" label=\"Notifications\" />\n </div>\n\n <MobileMenu />\n\n <UserProfile />\n </div>\n </div>\n );\n}\n"],"names":["cn","CompleteSetupButton","MobileMenu","OrganizationSelector","TopbarButton","UserProfile","Topbar","hideLogo","div","className","icon","label"],"mappings":";AAAA,SAAQA,EAAE,QAAO,WAAW;AAC5B,SAAQC,mBAAmB,QAAO,0BAA0B;AAC5D,SAAQC,UAAU,QAAO,gBAAgB;AACzC,SAAQC,oBAAoB,QAAO,0BAA0B;AAC7D,SAAQC,YAAY,QAAO,kBAAkB;AAC7C,SAAQC,WAAW,QAAO,iBAAiB;AAE3C,OAAO,SAASC,OAAO,EAACC,WAAW,KAAK,EAAuB;IAC7D,qBACE,KAACC;QAAIC,WAAU;kBACb,cAAA,MAACD;YAAIC,WAAU;;8BACb,MAACD;oBAAIC,WAAU;;sCACb,KAACD;4BAAIC,WAAWT,GAAG,YAAYO,WAAW,cAAc;sCACtD,cAAA,KAACH;gCAAaM,MAAK;gCAAUC,OAAM;gCAAUF,WAAU;;;sCAEzD,KAACN;sCACD,KAACK;4BAAIC,WAAU;;;;8BAGjB,KAACR;oBAAoBQ,WAAU;;8BAE/B,KAACD;oBAAIC,WAAU;8BACb,cAAA,KAACL;wBAAaM,MAAK;wBAAaC,OAAM;;;8BAGxC,KAACH;oBAAIC,WAAU;8BACb,cAAA,KAACL;wBAAaM,MAAK;wBAAeC,OAAM;;;8BAG1C,KAACH;oBAAIC,WAAU;8BACb,cAAA,KAACL;wBAAaM,MAAK;wBAAoBC,OAAM;;;8BAG/C,KAACT;8BAED,KAACG;;;;AAIT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/components/user-profile.tsx"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,4CAmE1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dashboard/components/user-profile.tsx"],"sourcesContent":["import {Avatar} from 'components/avatar';\nimport {UserBadge} from 'components/badge';\nimport {Button} from 'components/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from 'components/dropdown-menu';\nimport {ShinyText} from 'components/shiny-text';\n\nfunction UsageGauge({used, total}: {used: number; total: number}) {\n const percentage = total <= 0 ? 0 : Math.min((used / total) * 100, 100);\n\n return (\n <div className=\"flex h-8 w-full rounded-full bg-tag-neutral-bg overflow-hidden\">\n <div className=\"h-full bg-tag-success-icon rounded-l-2\" style={{width: `${percentage}%`}} />\n </div>\n );\n}\n\nexport function UserProfile() {\n const userName = 'Thierry Abalea';\n const userEmail = 'thierryabalea@acme.com';\n const creditsUsed = 3213;\n const creditsTotal = 6000;\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <div className=\"flex items-center justify-center h-40 px-8 cursor-pointer border-l border-border-neutral-strong\">\n <Avatar className=\"size-24 md:hidden\" content=\"image\" fallback=\"TA\" />\n <UserBadge name={userName} className=\"hidden md:inline-flex\" />\n </div>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-220\">\n <div className=\"flex items-center gap-12 px-8 py-4\">\n <Avatar className=\"size-28 shrink-0\" content=\"image\" fallback=\"TA\" />\n <div className=\"flex flex-col min-w-0\">\n <span className=\"text-sm font-medium leading-20 text-foreground-neutral-base truncate\">\n {userName}\n </span>\n <span className=\"text-xs leading-20 text-foreground-neutral-subtle truncate\">\n {userEmail}\n </span>\n </div>\n </div>\n\n <DropdownMenuSeparator />\n\n <DropdownMenuItem icon=\"sparkling2Fill\">Getting started</DropdownMenuItem>\n <DropdownMenuItem icon=\"userLine\">Profile settings</DropdownMenuItem>\n\n <DropdownMenuSeparator />\n\n <div className=\"flex flex-col gap-8 px-8 py-4\">\n <div className=\"flex items-center justify-between gap-8\">\n <div className=\"flex items-center gap-8\">\n <Avatar className=\"size-12\" content=\"logo\" logoName=\"stripe\" radius=\"rounded\" />\n <span className=\"text-sm font-medium leading-20 text-foreground-neutral-subtle\">\n Usage\n </span>\n </div>\n <span className=\"text-sm font-medium leading-20 text-foreground-neutral-subtle\">\n {creditsUsed} / {creditsTotal}\n </span>\n </div>\n <UsageGauge used={creditsUsed} total={creditsTotal} />\n <span className=\"text-xs leading-20 text-foreground-neutral-subtle\">\n {creditsTotal} free credits every month.\n </span>\n </div>\n\n <div className=\"px-8 pb-12\">\n <Button type=\"button\" className=\"w-full\">\n <ShinyText\n text=\"Upgrade Plan\"\n className=\"flex-1 text-sm font-medium leading-20 text-foreground-neutral-base truncate text-center\"\n />\n </Button>\n </div>\n\n <DropdownMenuSeparator />\n\n <DropdownMenuItem icon=\"logoutCircleLine\">Log out</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["Avatar","UserBadge","Button","DropdownMenu","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","DropdownMenuTrigger","ShinyText","UsageGauge","used","total","percentage","Math","min","div","className","style","width","UserProfile","userName","userEmail","creditsUsed","creditsTotal","asChild","content","fallback","name","align","span","icon","logoName","radius","type","text"],"mappings":";AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,SAAS,QAAO,mBAAmB;AAC3C,SAAQC,MAAM,QAAO,oBAAoB;AACzC,SACEC,YAAY,EACZC,mBAAmB,EACnBC,gBAAgB,EAChBC,qBAAqB,EACrBC,mBAAmB,QACd,2BAA2B;AAClC,SAAQC,SAAS,QAAO,wBAAwB;AAEhD,SAASC,WAAW,EAACC,IAAI,EAAEC,KAAK,EAAgC;IAC9D,MAAMC,aAAaD,SAAS,IAAI,IAAIE,KAAKC,GAAG,CAAC,AAACJ,OAAOC,QAAS,KAAK;IAEnE,qBACE,KAACI;QAAIC,WAAU;kBACb,cAAA,KAACD;YAAIC,WAAU;YAAyCC,OAAO;gBAACC,OAAO,GAAGN,WAAW,CAAC,CAAC;YAAA;;;AAG7F;AAEA,OAAO,SAASO;IACd,MAAMC,WAAW;IACjB,MAAMC,YAAY;IAClB,MAAMC,cAAc;IACpB,MAAMC,eAAe;IAErB,qBACE,MAACpB;;0BACC,KAACI;gBAAoBiB,OAAO;0BAC1B,cAAA,MAACT;oBAAIC,WAAU;;sCACb,KAAChB;4BAAOgB,WAAU;4BAAoBS,SAAQ;4BAAQC,UAAS;;sCAC/D,KAACzB;4BAAU0B,MAAMP;4BAAUJ,WAAU;;;;;0BAGzC,MAACZ;gBAAoBwB,OAAM;gBAAMZ,WAAU;;kCACzC,MAACD;wBAAIC,WAAU;;0CACb,KAAChB;gCAAOgB,WAAU;gCAAmBS,SAAQ;gCAAQC,UAAS;;0CAC9D,MAACX;gCAAIC,WAAU;;kDACb,KAACa;wCAAKb,WAAU;kDACbI;;kDAEH,KAACS;wCAAKb,WAAU;kDACbK;;;;;;kCAKP,KAACf;kCAED,KAACD;wBAAiByB,MAAK;kCAAiB;;kCACxC,KAACzB;wBAAiByB,MAAK;kCAAW;;kCAElC,KAACxB;kCAED,MAACS;wBAAIC,WAAU;;0CACb,MAACD;gCAAIC,WAAU;;kDACb,MAACD;wCAAIC,WAAU;;0DACb,KAAChB;gDAAOgB,WAAU;gDAAUS,SAAQ;gDAAOM,UAAS;gDAASC,QAAO;;0DACpE,KAACH;gDAAKb,WAAU;0DAAgE;;;;kDAIlF,MAACa;wCAAKb,WAAU;;4CACbM;4CAAY;4CAAIC;;;;;0CAGrB,KAACd;gCAAWC,MAAMY;gCAAaX,OAAOY;;0CACtC,MAACM;gCAAKb,WAAU;;oCACbO;oCAAa;;;;;kCAIlB,KAACR;wBAAIC,WAAU;kCACb,cAAA,KAACd;4BAAO+B,MAAK;4BAASjB,WAAU;sCAC9B,cAAA,KAACR;gCACC0B,MAAK;gCACLlB,WAAU;;;;kCAKhB,KAACV;kCAED,KAACD;wBAAiByB,MAAK;kCAAmB;;;;;;AAIlD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/dashboard.tsx"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,4CAiDxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/dashboard/dashboard.tsx"],"sourcesContent":["import {useMotionValueEvent, useScroll} from 'framer-motion';\nimport {useCallback, useRef, useState} from 'react';\nimport {AnalyticsContent} from './components/analytics-content';\nimport {AnimatedLogo} from './components/animated-logo';\nimport {JobsContent} from './components/jobs-content';\nimport {TopMenu} from './components/top-menu';\nimport {Topbar} from './components/topbar';\n\nconst LOGO_HEIGHT = 48;\nconst TOPBAR_HEIGHT = 41;\n\nexport function Dashboard() {\n const containerRef = useRef<HTMLDivElement>(null);\n const topbarRef = useRef<HTMLDivElement>(null);\n const [scrollProgress, setScrollProgress] = useState(0);\n const [activeTab, setActiveTab] = useState('analytics');\n\n const {scrollY} = useScroll({\n container: containerRef,\n });\n\n useMotionValueEvent(scrollY, 'change', (latest) => {\n const progress = Math.min(latest / TOPBAR_HEIGHT, 1);\n setScrollProgress(progress);\n });\n\n const handleTabChange = useCallback((tab: string) => {\n setActiveTab(tab);\n if (containerRef.current) {\n containerRef.current.scrollTo({top: 0, behavior: 'instant'});\n }\n setScrollProgress(0);\n }, []);\n\n const isTopbarHidden = scrollProgress >= 1;\n\n return (\n <div className=\"flex flex-col w-full h-full\">\n <AnimatedLogo scrollProgress={scrollProgress} />\n\n <div ref={containerRef} className=\"flex flex-col w-full h-full overflow-auto\">\n <div ref={topbarRef}>\n <Topbar hideLogo={isTopbarHidden} />\n </div>\n\n <div className=\"sticky top-0 z-40 border-b border-border-neutral-strong bg-background-neutral-base\">\n <div\n style={{\n paddingLeft: `${(1 - (1 - scrollProgress) ** 3) * (LOGO_HEIGHT - 8)}px`,\n }}\n >\n <TopMenu activeTab={activeTab} onTabChange={handleTabChange} />\n </div>\n </div>\n\n {activeTab === 'analytics' && <AnalyticsContent />}\n {activeTab === 'jobs' && <JobsContent />}\n </div>\n </div>\n );\n}\n"],"names":["useMotionValueEvent","useScroll","useCallback","useRef","useState","AnalyticsContent","AnimatedLogo","JobsContent","TopMenu","Topbar","LOGO_HEIGHT","TOPBAR_HEIGHT","Dashboard","containerRef","topbarRef","scrollProgress","setScrollProgress","activeTab","setActiveTab","scrollY","container","latest","progress","Math","min","handleTabChange","tab","current","scrollTo","top","behavior","isTopbarHidden","div","className","ref","hideLogo","style","paddingLeft","onTabChange"],"mappings":";AAAA,SAAQA,mBAAmB,EAAEC,SAAS,QAAO,gBAAgB;AAC7D,SAAQC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AACpD,SAAQC,gBAAgB,QAAO,iCAAiC;AAChE,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAAQC,WAAW,QAAO,4BAA4B;AACtD,SAAQC,OAAO,QAAO,wBAAwB;AAC9C,SAAQC,MAAM,QAAO,sBAAsB;AAE3C,MAAMC,cAAc;AACpB,MAAMC,gBAAgB;AAEtB,OAAO,SAASC;IACd,MAAMC,eAAeV,OAAuB;IAC5C,MAAMW,YAAYX,OAAuB;IACzC,MAAM,CAACY,gBAAgBC,kBAAkB,GAAGZ,SAAS;IACrD,MAAM,CAACa,WAAWC,aAAa,GAAGd,SAAS;IAE3C,MAAM,EAACe,OAAO,EAAC,GAAGlB,UAAU;QAC1BmB,WAAWP;IACb;IAEAb,oBAAoBmB,SAAS,UAAU,CAACE;QACtC,MAAMC,WAAWC,KAAKC,GAAG,CAACH,SAASV,eAAe;QAClDK,kBAAkBM;IACpB;IAEA,MAAMG,kBAAkBvB,YAAY,CAACwB;QACnCR,aAAaQ;QACb,IAAIb,aAAac,OAAO,EAAE;YACxBd,aAAac,OAAO,CAACC,QAAQ,CAAC;gBAACC,KAAK;gBAAGC,UAAU;YAAS;QAC5D;QACAd,kBAAkB;IACpB,GAAG,EAAE;IAEL,MAAMe,iBAAiBhB,kBAAkB;IAEzC,qBACE,MAACiB;QAAIC,WAAU;;0BACb,KAAC3B;gBAAaS,gBAAgBA;;0BAE9B,MAACiB;gBAAIE,KAAKrB;gBAAcoB,WAAU;;kCAChC,KAACD;wBAAIE,KAAKpB;kCACR,cAAA,KAACL;4BAAO0B,UAAUJ;;;kCAGpB,KAACC;wBAAIC,WAAU;kCACb,cAAA,KAACD;4BACCI,OAAO;gCACLC,aAAa,GAAG,AAAC,CAAA,IAAI,AAAC,CAAA,IAAItB,cAAa,KAAM,CAAA,IAAML,CAAAA,cAAc,CAAA,EAAG,EAAE,CAAC;4BACzE;sCAEA,cAAA,KAACF;gCAAQS,WAAWA;gCAAWqB,aAAab;;;;oBAI/CR,cAAc,6BAAe,KAACZ;oBAC9BY,cAAc,wBAAU,KAACV;;;;;AAIlC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/dashboard/dashboard.stories.tsx"],"sourcesContent":["import type {Meta, StoryObj} from '@storybook/react';\nimport {Dashboard} from './dashboard';\n\nconst meta = {\n title: 'Dashboard/Example',\n tags: ['autodocs'],\n parameters: {\n layout: 'fullscreen',\n viewport: {\n defaultViewport: 'extraLarge',\n },\n },\n} satisfies Meta;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n render: () => (\n <div className=\"h-screen w-full\">\n <Dashboard />\n </div>\n ),\n};\n"],"names":["Dashboard","meta","title","tags","parameters","layout","viewport","defaultViewport","Default","render","div","className"],"mappings":";AACA,SAAQA,SAAS,QAAO,cAAc;AAEtC,MAAMC,OAAO;IACXC,OAAO;IACPC,MAAM;QAAC;KAAW;IAClBC,YAAY;QACVC,QAAQ;QACRC,UAAU;YACRC,iBAAiB;QACnB;IACF;AACF;AAEA,eAAeN,KAAK;AAIpB,OAAO,MAAMO,UAAiB;IAC5BC,QAAQ,kBACN,KAACC;YAAIC,WAAU;sBACb,cAAA,KAACX;;AAGP,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/dashboard/index.ts"],"sourcesContent":["export * from './dashboard';\n"],"names":[],"mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAKhE,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAIrD,eAAO,MAAM,kBAAkB;;;;8EAyB9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAC1E,YAAY,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACxC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEJ,eAAO,MAAM,UAAU,2HAgItB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import {cva, type VariantProps} from 'class-variance-authority';\nimport {Calendar} from 'components/calendar';\nimport {Icon} from 'components/icon';\nimport {Popover, PopoverContent, PopoverTrigger} from 'components/popover';\nimport {format} from 'date-fns';\nimport type {ComponentProps, ReactNode} from 'react';\nimport {forwardRef, useState} from 'react';\nimport {cn} from 'utils/cn';\n\nexport const datePickerVariants = cva(\n 'relative flex items-center rounded-6 shadow-button-neutral transition-[background-color,box-shadow] outline-none',\n {\n variants: {\n variant: {\n base: 'bg-background-field-base hover:bg-background-field-hover',\n component: 'bg-background-field-component hover:bg-background-field-component-hover',\n },\n size: {\n base: 'h-32',\n small: 'h-28',\n },\n state: {\n default: '',\n error: 'shadow-border-error',\n disabled:\n 'bg-background-neutral-disabled shadow-none pointer-events-none cursor-not-allowed',\n },\n },\n defaultVariants: {\n variant: 'base',\n size: 'base',\n state: 'default',\n },\n },\n);\n\nexport type DatePickerProps = Omit<ComponentProps<'input'>, 'size' | 'type'> &\n VariantProps<typeof datePickerVariants> & {\n date?: Date;\n onDateSelect?: (date: Date | undefined) => void;\n placeholder?: string;\n dateFormat?: string;\n leftIcon?: ReactNode;\n rightIcon?: ReactNode;\n onClear?: () => void;\n closeOnSelect?: boolean;\n };\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n variant,\n size,\n state,\n date,\n onDateSelect,\n placeholder = 'DD/MM/YYYY',\n dateFormat = 'dd/MM/yyyy',\n leftIcon,\n rightIcon,\n onClear,\n disabled,\n closeOnSelect = false,\n ...props\n },\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const isDisabled = disabled || state === 'disabled';\n const displayValue = date ? format(date, dateFormat) : '';\n\n const handleSelect = (selectedDate: Date | undefined) => {\n onDateSelect?.(selectedDate);\n if (closeOnSelect) {\n setOpen(false);\n }\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n onClear?.();\n setOpen(false);\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <div\n className={cn(\n open && 'shadow-border-interactive-with-active',\n datePickerVariants({variant, size, state: isDisabled ? 'disabled' : state}),\n className,\n )}\n >\n {/* Calendar Icon Button */}\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n disabled={isDisabled}\n className={cn(\n 'flex items-center justify-center shrink-0 transition-colors',\n size === 'small' ? 'size-28' : 'size-32',\n isDisabled && 'text-foreground-neutral-disabled',\n )}\n aria-label=\"Open calendar\"\n >\n {leftIcon || (\n <Icon\n name=\"calendar2Line\"\n className={cn(\n 'size-16 text-foreground-neutral-muted',\n isDisabled && 'text-foreground-neutral-disabled',\n )}\n />\n )}\n </button>\n </PopoverTrigger>\n\n {/* Divider */}\n <div className=\"h-full w-px bg-border-neutral-base shrink-0\" />\n\n {/* Input Field */}\n <input\n ref={ref}\n type=\"text\"\n disabled={isDisabled}\n placeholder={placeholder}\n value={displayValue}\n readOnly\n className={cn(\n 'flex-1 min-w-0 px-8 text-sm leading-20 bg-transparent outline-none border-none cursor-pointer',\n 'placeholder:text-foreground-neutral-muted',\n 'text-foreground-neutral-base',\n 'disabled:text-foreground-neutral-disabled disabled:cursor-not-allowed',\n size === 'small' ? 'py-4' : 'py-6',\n )}\n onClick={() => !isDisabled && setOpen(true)}\n {...props}\n />\n\n {/* Clear Button (shown when date is selected) */}\n <button\n type=\"button\"\n onClick={handleClear}\n className={cn(\n 'flex items-center justify-center shrink-0 cursor-pointer',\n size === 'small' ? 'size-28' : 'size-32',\n date && onClear && !isDisabled ? 'visible' : 'invisible',\n )}\n aria-label=\"Clear date\"\n >\n <Icon\n name=\"closeLine\"\n className=\"size-16 text-foreground-neutral-muted hover:text-foreground-neutral-subtle transition-colors\"\n />\n </button>\n\n {/* Custom Right Icon */}\n {rightIcon && !date && (\n <div\n className={cn(\n 'flex items-center justify-center shrink-0',\n size === 'small' ? 'size-28' : 'size-32',\n )}\n >\n {rightIcon}\n </div>\n )}\n </div>\n\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar mode=\"single\" selected={date} onSelect={handleSelect} />\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nDatePicker.displayName = 'DatePicker';\n"],"names":["cva","Calendar","Icon","Popover","PopoverContent","PopoverTrigger","format","forwardRef","useState","cn","datePickerVariants","variants","variant","base","component","size","small","state","default","error","disabled","defaultVariants","DatePicker","className","date","onDateSelect","placeholder","dateFormat","leftIcon","rightIcon","onClear","closeOnSelect","props","ref","open","setOpen","isDisabled","displayValue","handleSelect","selectedDate","handleClear","e","stopPropagation","onOpenChange","div","asChild","button","type","aria-label","name","input","value","readOnly","onClick","align","mode","selected","onSelect","displayName"],"mappings":";AAAA,SAAQA,GAAG,QAA0B,2BAA2B;AAChE,SAAQC,QAAQ,QAAO,sBAAsB;AAC7C,SAAQC,IAAI,QAAO,kBAAkB;AACrC,SAAQC,OAAO,EAAEC,cAAc,EAAEC,cAAc,QAAO,qBAAqB;AAC3E,SAAQC,MAAM,QAAO,WAAW;AAEhC,SAAQC,UAAU,EAAEC,QAAQ,QAAO,QAAQ;AAC3C,SAAQC,EAAE,QAAO,WAAW;AAE5B,OAAO,MAAMC,qBAAqBV,IAChC,oHACA;IACEW,UAAU;QACRC,SAAS;YACPC,MAAM;YACNC,WAAW;QACb;QACAC,MAAM;YACJF,MAAM;YACNG,OAAO;QACT;QACAC,OAAO;YACLC,SAAS;YACTC,OAAO;YACPC,UACE;QACJ;IACF;IACAC,iBAAiB;QACfT,SAAS;QACTG,MAAM;QACNE,OAAO;IACT;AACF,GACA;AAcF,OAAO,MAAMK,2BAAaf,WACxB,CACE,EACEgB,SAAS,EACTX,OAAO,EACPG,IAAI,EACJE,KAAK,EACLO,IAAI,EACJC,YAAY,EACZC,cAAc,YAAY,EAC1BC,aAAa,YAAY,EACzBC,QAAQ,EACRC,SAAS,EACTC,OAAO,EACPV,QAAQ,EACRW,gBAAgB,KAAK,EACrB,GAAGC,OACJ,EACDC;IAEA,MAAM,CAACC,MAAMC,QAAQ,GAAG3B,SAAS;IACjC,MAAM4B,aAAahB,YAAYH,UAAU;IACzC,MAAMoB,eAAeb,OAAOlB,OAAOkB,MAAMG,cAAc;IAEvD,MAAMW,eAAe,CAACC;QACpBd,eAAec;QACf,IAAIR,eAAe;YACjBI,QAAQ;QACV;IACF;IAEA,MAAMK,cAAc,CAACC;QACnBA,EAAEC,eAAe;QACjBZ;QACAK,QAAQ;IACV;IAEA,qBACE,MAAChC;QAAQ+B,MAAMA;QAAMS,cAAcR;;0BACjC,MAACS;gBACCrB,WAAWd,GACTyB,QAAQ,yCACRxB,mBAAmB;oBAACE;oBAASG;oBAAME,OAAOmB,aAAa,aAAanB;gBAAK,IACzEM;;kCAIF,KAAClB;wBAAewC,OAAO;kCACrB,cAAA,KAACC;4BACCC,MAAK;4BACL3B,UAAUgB;4BACVb,WAAWd,GACT,+DACAM,SAAS,UAAU,YAAY,WAC/BqB,cAAc;4BAEhBY,cAAW;sCAEVpB,0BACC,KAAC1B;gCACC+C,MAAK;gCACL1B,WAAWd,GACT,yCACA2B,cAAc;;;;kCAQxB,KAACQ;wBAAIrB,WAAU;;kCAGf,KAAC2B;wBACCjB,KAAKA;wBACLc,MAAK;wBACL3B,UAAUgB;wBACVV,aAAaA;wBACbyB,OAAOd;wBACPe,QAAQ;wBACR7B,WAAWd,GACT,iGACA,6CACA,gCACA,yEACAM,SAAS,UAAU,SAAS;wBAE9BsC,SAAS,IAAM,CAACjB,cAAcD,QAAQ;wBACrC,GAAGH,KAAK;;kCAIX,KAACc;wBACCC,MAAK;wBACLM,SAASb;wBACTjB,WAAWd,GACT,4DACAM,SAAS,UAAU,YAAY,WAC/BS,QAAQM,WAAW,CAACM,aAAa,YAAY;wBAE/CY,cAAW;kCAEX,cAAA,KAAC9C;4BACC+C,MAAK;4BACL1B,WAAU;;;oBAKbM,aAAa,CAACL,sBACb,KAACoB;wBACCrB,WAAWd,GACT,6CACAM,SAAS,UAAU,YAAY;kCAGhCc;;;;0BAKP,KAACzB;gBAAemB,WAAU;gBAAa+B,OAAM;0BAC3C,cAAA,KAACrD;oBAASsD,MAAK;oBAASC,UAAUhC;oBAAMiC,UAAUnB;;;;;AAI1D,GACA;AAEFhB,WAAWoC,WAAW,GAAG"}
|