snice 4.28.0 → 4.30.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/README.md +3 -10
- package/adapters/react/SniceProvider.d.ts +71 -0
- package/adapters/react/SniceProvider.js +49 -0
- package/adapters/react/SniceProvider.js.map +1 -0
- package/adapters/react/SniceRouter.d.ts +44 -0
- package/adapters/react/SniceRouter.js +190 -0
- package/adapters/react/SniceRouter.js.map +1 -0
- package/adapters/react/action-bar.d.ts +30 -0
- package/adapters/react/action-bar.d.ts.map +1 -0
- package/adapters/react/action-bar.js +24 -0
- package/adapters/react/action-bar.js.map +1 -0
- package/adapters/react/action-bar.tsx +38 -0
- package/adapters/react/binpack.d.ts +35 -0
- package/adapters/react/binpack.d.ts.map +1 -0
- package/adapters/react/binpack.js +24 -0
- package/adapters/react/binpack.js.map +1 -0
- package/adapters/react/binpack.tsx +43 -0
- package/adapters/react/components.d.ts +6 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +3 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +6 -0
- package/adapters/react/grid.d.ts +36 -0
- package/adapters/react/grid.d.ts.map +1 -0
- package/adapters/react/grid.js +24 -0
- package/adapters/react/grid.js.map +1 -0
- package/adapters/react/grid.tsx +44 -0
- package/adapters/react/index.d.ts +5 -0
- package/adapters/react/index.d.ts.map +1 -1
- package/adapters/react/index.js +3 -2
- package/adapters/react/index.js.map +1 -1
- package/adapters/react/index.ts +6 -3
- package/adapters/react/matchRoute.d.ts +16 -0
- package/adapters/react/matchRoute.js +32 -0
- package/adapters/react/matchRoute.js.map +1 -0
- package/adapters/react/types.d.ts +1 -15
- package/adapters/react/types.d.ts.map +1 -1
- package/adapters/react/types.ts +1 -15
- package/adapters/react/useRequestHandler.d.ts +56 -0
- package/adapters/react/useRequestHandler.js +103 -0
- package/adapters/react/useRequestHandler.js.map +1 -0
- package/bin/snice.js +8 -13
- package/bin/templates/{pwa → default}/index.html +1 -1
- package/bin/templates/{pwa → default}/src/components/app-header.ts +36 -18
- package/bin/templates/{pwa → default}/src/components/notification-badge.ts +2 -21
- package/bin/templates/{pwa → default}/src/components/search-bar.ts +12 -12
- package/bin/templates/default/src/context.ts +17 -0
- package/bin/templates/{pwa → default}/src/controllers/notification-controller.ts +10 -15
- package/bin/templates/{pwa → default}/src/daemons/notifications.ts +0 -12
- package/bin/templates/{pwa → default}/src/main.ts +1 -7
- package/bin/templates/{pwa → default}/src/middleware/error.ts +1 -8
- package/bin/templates/{pwa → default}/src/pages/dashboard.ts +17 -18
- package/bin/templates/{pwa → default}/src/pages/data.ts +24 -24
- package/bin/templates/{pwa → default}/src/pages/login.ts +3 -6
- package/bin/templates/{pwa → default}/src/pages/notifications.ts +21 -19
- package/bin/templates/{pwa → default}/src/pages/profile.ts +10 -12
- package/bin/templates/{pwa → default}/src/pages/settings.ts +22 -22
- package/bin/templates/default/src/router.ts +13 -0
- package/bin/templates/default/src/styles/global.css +16 -0
- package/bin/templates/{pwa → default}/tsconfig.json +2 -1
- package/bin/templates/react/README.md +124 -0
- package/bin/templates/react/global.d.ts +10 -0
- package/bin/templates/react/index.html +15 -0
- package/bin/templates/react/package.json +31 -0
- package/bin/templates/react/src/App.tsx +112 -0
- package/bin/templates/react/src/components/AppHeader.tsx +85 -0
- package/bin/templates/react/src/components/AppLayout.tsx +11 -0
- package/bin/templates/react/src/components/NotificationBadge.tsx +13 -0
- package/bin/templates/react/src/components/SearchBar.tsx +63 -0
- package/bin/templates/react/src/daemons/notifications.ts +136 -0
- package/bin/templates/react/src/fetcher.ts +15 -0
- package/bin/templates/react/src/guards/auth.ts +6 -0
- package/bin/templates/react/src/main.tsx +27 -0
- package/bin/templates/react/src/middleware/auth.ts +16 -0
- package/bin/templates/react/src/middleware/error.ts +29 -0
- package/bin/templates/react/src/middleware/retry.ts +31 -0
- package/bin/templates/react/src/pages/DashboardPage.tsx +111 -0
- package/bin/templates/react/src/pages/DataPage.tsx +119 -0
- package/bin/templates/react/src/pages/LoginPage.tsx +46 -0
- package/bin/templates/react/src/pages/NotificationsPage.tsx +119 -0
- package/bin/templates/react/src/pages/ProfilePage.tsx +92 -0
- package/bin/templates/react/src/pages/SettingsPage.tsx +165 -0
- package/bin/templates/react/src/services/auth.ts +48 -0
- package/bin/templates/react/src/services/jwt.ts +35 -0
- package/bin/templates/react/src/services/storage.ts +24 -0
- package/bin/templates/react/src/styles/global.css +382 -0
- package/bin/templates/react/src/types/auth.ts +21 -0
- package/bin/templates/react/src/types/notifications.ts +9 -0
- package/bin/templates/react/tests/helpers/test-utils.ts +79 -0
- package/bin/templates/react/tests/middleware/auth.test.ts +67 -0
- package/bin/templates/react/tests/middleware/error.test.ts +105 -0
- package/bin/templates/react/tests/middleware/retry.test.ts +103 -0
- package/bin/templates/react/tests/services/auth.test.ts +89 -0
- package/bin/templates/react/tests/services/jwt.test.ts +76 -0
- package/bin/templates/react/tests/services/storage.test.ts +69 -0
- package/bin/templates/{base → react}/tsconfig.json +4 -6
- package/bin/templates/react/vite.config.ts +18 -0
- package/bin/templates/react/vitest.config.ts +18 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/action-bar/README.md +27 -0
- package/dist/cdn/action-bar/snice-action-bar.js +249 -0
- package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +1 -1
- package/dist/cdn/badge/snice-badge.min.js +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/binpack/README.md +27 -0
- package/dist/cdn/binpack/snice-binpack.js +1037 -0
- package/dist/cdn/binpack/snice-binpack.js.map +1 -0
- package/dist/cdn/binpack/snice-binpack.min.js +13 -0
- package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/book/snice-book.min.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/booking/snice-booking.min.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
- package/dist/cdn/button/README.md +1 -1
- package/dist/cdn/button/snice-button.js +2 -2
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +2 -2
- package/dist/cdn/button/snice-button.min.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.js +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera/snice-camera.min.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/card/snice-card.min.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/carousel/snice-carousel.min.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/cart/snice-cart.min.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chart/snice-chart.min.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/chat/snice-chat.min.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
- package/dist/cdn/chip/README.md +2 -2
- package/dist/cdn/chip/snice-chip.js +2 -2
- package/dist/cdn/chip/snice-chip.js.map +1 -1
- package/dist/cdn/chip/snice-chip.min.js +3 -3
- package/dist/cdn/chip/snice-chip.min.js.map +1 -1
- package/dist/cdn/code-block/snice-code-block.js +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-display/snice-color-display.min.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/comments/snice-comments.min.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/countdown/snice-countdown.min.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/cropper/snice-cropper.min.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/data-card/snice-data-card.min.js +1 -1
- package/dist/cdn/date-picker/README.md +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +2 -2
- package/dist/cdn/date-picker/snice-date-picker.js.map +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +2 -2
- package/dist/cdn/date-picker/snice-date-picker.min.js.map +1 -1
- package/dist/cdn/date-range-picker/README.md +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +2 -2
- package/dist/cdn/date-range-picker/snice-date-range-picker.js.map +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +11 -11
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js.map +1 -1
- package/dist/cdn/date-time-picker/README.md +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +2 -2
- package/dist/cdn/date-time-picker/snice-date-time-picker.js.map +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +2 -2
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js.map +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/diff/snice-diff.min.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/divider/snice-divider.min.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/doc/snice-doc.min.js +1 -1
- package/dist/cdn/draw/README.md +2 -2
- package/dist/cdn/draw/snice-draw.js +26 -4
- package/dist/cdn/draw/snice-draw.js.map +1 -1
- package/dist/cdn/draw/snice-draw.min.js +3 -3
- package/dist/cdn/draw/snice-draw.min.js.map +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/estimate/snice-estimate.min.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/flow/snice-flow.min.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gantt/snice-gantt.min.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/gauge/snice-gauge.min.js +1 -1
- package/dist/cdn/grid/README.md +27 -0
- package/dist/cdn/grid/snice-grid.js +862 -0
- package/dist/cdn/grid/snice-grid.js.map +1 -0
- package/dist/cdn/grid/snice-grid.min.js +13 -0
- package/dist/cdn/grid/snice-grid.min.js.map +1 -0
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/image/snice-image.min.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/input/snice-input.min.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/invoice/snice-invoice.min.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.min.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/key-value/snice-key-value.min.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/kpi/snice-kpi.min.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/layout/snice-layout.min.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link/snice-link.min.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/list/snice-list.min.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/location/snice-location.min.js +1 -1
- package/dist/cdn/login/README.md +2 -2
- package/dist/cdn/login/snice-login.js +2 -2
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +2 -2
- package/dist/cdn/login/snice-login.min.js.map +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/map/snice-map.min.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/markdown/snice-markdown.min.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/masonry/snice-masonry.min.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/menu/snice-menu.min.js +1 -1
- package/dist/cdn/message-strip/README.md +2 -2
- package/dist/cdn/message-strip/snice-message-strip.js +2 -2
- package/dist/cdn/message-strip/snice-message-strip.js.map +1 -1
- package/dist/cdn/message-strip/snice-message-strip.min.js +6 -6
- package/dist/cdn/message-strip/snice-message-strip.min.js.map +1 -1
- package/dist/cdn/metric-table/snice-metric-table.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/modal/snice-modal.min.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/nav/snice-nav.min.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/pagination/snice-pagination.min.js +1 -1
- package/dist/cdn/paint/README.md +2 -2
- package/dist/cdn/paint/snice-paint.js +26 -3
- package/dist/cdn/paint/snice-paint.js.map +1 -1
- package/dist/cdn/paint/snice-paint.min.js +3 -3
- package/dist/cdn/paint/snice-paint.min.js.map +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
- package/dist/cdn/product-card/README.md +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +1 -1
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/radio/snice-radio.min.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/recipe/snice-recipe.min.js +1 -1
- package/dist/cdn/runtime/README.md +2 -2
- package/dist/cdn/runtime/snice-runtime.esm.js +109 -16
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +109 -15
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +7 -7
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/sankey/snice-sankey.min.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
- package/dist/cdn/select/snice-select.js +1 -1
- package/dist/cdn/select/snice-select.min.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/slider/snice-slider.min.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sortable/snice-sortable.min.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/spinner/snice-spinner.min.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-button/snice-split-button.min.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/step-input/snice-step-input.min.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/switch/snice-switch.min.js +1 -1
- package/dist/cdn/table/README.md +1 -1
- package/dist/cdn/table/snice-table.js +2 -2
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +2 -2
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tabs/snice-tabs.min.js +1 -1
- package/dist/cdn/tag/README.md +1 -1
- package/dist/cdn/tag/snice-tag.js +2 -2
- package/dist/cdn/tag/snice-tag.js.map +1 -1
- package/dist/cdn/tag/snice-tag.min.js +3 -3
- package/dist/cdn/tag/snice-tag.min.js.map +1 -1
- package/dist/cdn/tag-input/README.md +2 -2
- package/dist/cdn/tag-input/snice-tag-input.js +2 -2
- package/dist/cdn/tag-input/snice-tag-input.js.map +1 -1
- package/dist/cdn/tag-input/snice-tag-input.min.js +2 -2
- package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.min.js +1 -1
- package/dist/cdn/time-picker/README.md +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +2 -2
- package/dist/cdn/time-picker/snice-time-picker.js.map +1 -1
- package/dist/cdn/time-picker/snice-time-picker.min.js +2 -2
- package/dist/cdn/time-picker/snice-time-picker.min.js.map +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timeline/snice-timeline.min.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/timer/snice-timer.min.js +1 -1
- package/dist/cdn/toast/README.md +1 -1
- package/dist/cdn/toast/snice-toast.js +7 -3
- package/dist/cdn/toast/snice-toast.js.map +1 -1
- package/dist/cdn/toast/snice-toast.min.js +6 -6
- package/dist/cdn/toast/snice-toast.min.js.map +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/tree/snice-tree.min.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/treemap/snice-treemap.min.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/user-card/snice-user-card.min.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/video-player/snice-video-player.min.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
- package/dist/cdn/waterfall/README.md +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/weather/snice-weather.min.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/cdn/work-order/snice-work-order.min.js +1 -1
- package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
- package/dist/components/action-bar/snice-action-bar.js +182 -0
- package/dist/components/action-bar/snice-action-bar.js.map +1 -0
- package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
- package/dist/components/binpack/snice-binpack.d.ts +82 -0
- package/dist/components/binpack/snice-binpack.js +970 -0
- package/dist/components/binpack/snice-binpack.js.map +1 -0
- package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
- package/dist/components/button/snice-button.js +1 -1
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/components/chip/snice-chip.js +1 -1
- package/dist/components/chip/snice-chip.js.map +1 -1
- package/dist/components/date-picker/snice-date-picker.js +1 -1
- package/dist/components/date-picker/snice-date-picker.js.map +1 -1
- package/dist/components/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/components/date-range-picker/snice-date-range-picker.js.map +1 -1
- package/dist/components/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/components/date-time-picker/snice-date-time-picker.js.map +1 -1
- package/dist/components/draw/snice-draw.d.ts +2 -0
- package/dist/components/draw/snice-draw.js +25 -3
- package/dist/components/draw/snice-draw.js.map +1 -1
- package/dist/components/grid/snice-grid.d.ts +73 -0
- package/dist/components/grid/snice-grid.js +795 -0
- package/dist/components/grid/snice-grid.js.map +1 -0
- package/dist/components/grid/snice-grid.types.d.ts +41 -0
- package/dist/components/message-strip/snice-message-strip.js +1 -1
- package/dist/components/message-strip/snice-message-strip.js.map +1 -1
- package/dist/components/paint/snice-paint.d.ts +2 -0
- package/dist/components/paint/snice-paint.js +25 -2
- package/dist/components/paint/snice-paint.js.map +1 -1
- package/dist/components/tag/snice-tag.js +1 -1
- package/dist/components/tag/snice-tag.js.map +1 -1
- package/dist/components/tag-input/snice-tag-input.js +1 -1
- package/dist/components/tag-input/snice-tag-input.js.map +1 -1
- package/dist/components/theme/theme.css +15 -0
- package/dist/components/time-picker/snice-time-picker.js +1 -1
- package/dist/components/time-picker/snice-time-picker.js.map +1 -1
- package/dist/components/toast/snice-toast-container.js +4 -0
- package/dist/components/toast/snice-toast-container.js.map +1 -1
- package/dist/components/toast/snice-toast.js +2 -2
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +106 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +106 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +106 -12
- package/dist/index.iife.js.map +1 -1
- package/dist/react/SniceProvider.d.ts +71 -0
- package/dist/react/SniceProvider.js +49 -0
- package/dist/react/SniceProvider.js.map +1 -0
- package/dist/react/SniceRouter.d.ts +44 -0
- package/dist/react/SniceRouter.js +190 -0
- package/dist/react/SniceRouter.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.js +14 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/matchRoute.d.ts +16 -0
- package/dist/react/matchRoute.js +32 -0
- package/dist/react/matchRoute.js.map +1 -0
- package/dist/react/useRequestHandler.d.ts +56 -0
- package/dist/react/useRequestHandler.js +103 -0
- package/dist/react/useRequestHandler.js.map +1 -0
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/dist/types/guard.d.ts +4 -11
- package/docs/ai/DEVELOPMENT.md +1 -1
- package/docs/ai/README.md +7 -7
- package/docs/ai/components/accordion.md +46 -80
- package/docs/ai/components/action-bar.md +75 -0
- package/docs/ai/components/activity-feed.md +7 -7
- package/docs/ai/components/alert.md +26 -44
- package/docs/ai/components/app-tiles.md +34 -39
- package/docs/ai/components/approval-flow.md +1 -1
- package/docs/ai/components/audio-recorder.md +35 -67
- package/docs/ai/components/availability.md +13 -34
- package/docs/ai/components/avatar-group.md +26 -13
- package/docs/ai/components/avatar.md +52 -36
- package/docs/ai/components/badge.md +21 -32
- package/docs/ai/components/banner.md +21 -43
- package/docs/ai/components/binpack.md +89 -0
- package/docs/ai/components/book.md +25 -23
- package/docs/ai/components/booking.md +31 -36
- package/docs/ai/components/breadcrumbs.md +36 -11
- package/docs/ai/components/button.md +33 -44
- package/docs/ai/components/calendar.md +37 -70
- package/docs/ai/components/camera-annotate.md +31 -64
- package/docs/ai/components/camera.md +38 -120
- package/docs/ai/components/candlestick.md +32 -52
- package/docs/ai/components/card.md +20 -30
- package/docs/ai/components/carousel.md +32 -32
- package/docs/ai/components/cart.md +24 -29
- package/docs/ai/components/chart.md +29 -114
- package/docs/ai/components/chat.md +38 -75
- package/docs/ai/components/checkbox.md +22 -41
- package/docs/ai/components/chip.md +18 -54
- package/docs/ai/components/code-block.md +57 -178
- package/docs/ai/components/color-display.md +12 -32
- package/docs/ai/components/color-picker.md +17 -39
- package/docs/ai/components/command-palette.md +49 -71
- package/docs/ai/components/comments.md +55 -36
- package/docs/ai/components/countdown.md +28 -30
- package/docs/ai/components/cropper.md +33 -33
- package/docs/ai/components/data-card.md +20 -14
- package/docs/ai/components/date-picker.md +40 -47
- package/docs/ai/components/date-range-picker.md +31 -15
- package/docs/ai/components/date-time-picker.md +23 -46
- package/docs/ai/components/diff.md +30 -31
- package/docs/ai/components/divider.md +17 -47
- package/docs/ai/components/doc.md +43 -68
- package/docs/ai/components/draw.md +35 -87
- package/docs/ai/components/drawer.md +48 -77
- package/docs/ai/components/empty-state.md +10 -44
- package/docs/ai/components/estimate.md +33 -58
- package/docs/ai/components/file-gallery.md +48 -100
- package/docs/ai/components/file-upload.md +17 -53
- package/docs/ai/components/flip-card.md +31 -23
- package/docs/ai/components/flow.md +37 -65
- package/docs/ai/components/form-builder.md +35 -75
- package/docs/ai/components/form-layout.md +10 -20
- package/docs/ai/components/funnel.md +33 -48
- package/docs/ai/components/gantt.md +27 -23
- package/docs/ai/components/gauge.md +16 -17
- package/docs/ai/components/grid.md +116 -0
- package/docs/ai/components/heatmap.md +21 -21
- package/docs/ai/components/image.md +7 -13
- package/docs/ai/components/input.md +38 -70
- package/docs/ai/components/invoice.md +35 -36
- package/docs/ai/components/kanban.md +32 -61
- package/docs/ai/components/key-value.md +32 -16
- package/docs/ai/components/kpi.md +38 -73
- package/docs/ai/components/layout.md +29 -23
- package/docs/ai/components/leaderboard.md +28 -37
- package/docs/ai/components/link-preview.md +12 -18
- package/docs/ai/components/link.md +10 -7
- package/docs/ai/components/list.md +21 -5
- package/docs/ai/components/location.md +21 -25
- package/docs/ai/components/login.md +14 -9
- package/docs/ai/components/map.md +27 -33
- package/docs/ai/components/markdown.md +20 -24
- package/docs/ai/components/masonry.md +10 -14
- package/docs/ai/components/mentions.md +26 -12
- package/docs/ai/components/menu.md +54 -52
- package/docs/ai/components/message-strip.md +20 -20
- package/docs/ai/components/metric-table.md +14 -21
- package/docs/ai/components/modal.md +27 -18
- package/docs/ai/components/music-player.md +49 -41
- package/docs/ai/components/nav.md +34 -31
- package/docs/ai/components/network-graph.md +27 -42
- package/docs/ai/components/notification-center.md +31 -33
- package/docs/ai/components/order-tracker.md +36 -27
- package/docs/ai/components/org-chart.md +36 -31
- package/docs/ai/components/pagination.md +34 -26
- package/docs/ai/components/paint.md +53 -91
- package/docs/ai/components/pdf-viewer.md +35 -36
- package/docs/ai/components/permission-matrix.md +26 -31
- package/docs/ai/components/podcast-player.md +64 -70
- package/docs/ai/components/pricing-table.md +37 -48
- package/docs/ai/components/product-card.md +58 -41
- package/docs/ai/components/progress-ring.md +20 -24
- package/docs/ai/components/progress.md +28 -45
- package/docs/ai/components/qr-code.md +25 -27
- package/docs/ai/components/qr-reader.md +20 -23
- package/docs/ai/components/radio.md +17 -15
- package/docs/ai/components/range-slider.md +22 -11
- package/docs/ai/components/rating.md +29 -33
- package/docs/ai/components/receipt.md +50 -127
- package/docs/ai/components/recipe.md +44 -42
- package/docs/ai/components/sankey.md +21 -30
- package/docs/ai/components/scheduler.md +29 -41
- package/docs/ai/components/segmented-control.md +11 -15
- package/docs/ai/components/select.md +58 -102
- package/docs/ai/components/skeleton.md +16 -30
- package/docs/ai/components/slider.md +26 -20
- package/docs/ai/components/sortable.md +25 -27
- package/docs/ai/components/sparkline.md +21 -17
- package/docs/ai/components/spinner.md +9 -5
- package/docs/ai/components/split-button.md +10 -13
- package/docs/ai/components/split-pane.md +19 -14
- package/docs/ai/components/spotlight.md +31 -26
- package/docs/ai/components/spreadsheet.md +51 -97
- package/docs/ai/components/stat-group.md +9 -19
- package/docs/ai/components/step-input.md +17 -15
- package/docs/ai/components/stepper.md +14 -15
- package/docs/ai/components/switch.md +15 -9
- package/docs/ai/components/table.md +24 -84
- package/docs/ai/components/tabs.md +18 -10
- package/docs/ai/components/tag-input.md +18 -29
- package/docs/ai/components/tag.md +10 -22
- package/docs/ai/components/terminal.md +9 -9
- package/docs/ai/components/testimonial.md +9 -19
- package/docs/ai/components/textarea.md +15 -16
- package/docs/ai/components/theme.md +3 -3
- package/docs/ai/components/time-picker.md +30 -49
- package/docs/ai/components/time-range-picker.md +16 -15
- package/docs/ai/components/timeline.md +5 -4
- package/docs/ai/components/timer.md +8 -8
- package/docs/ai/components/toast.md +24 -18
- package/docs/ai/components/tooltip.md +11 -22
- package/docs/ai/components/tree.md +9 -9
- package/docs/ai/components/treemap.md +14 -13
- package/docs/ai/components/user-card.md +21 -27
- package/docs/ai/components/video-player.md +35 -52
- package/docs/ai/components/virtual-scroller.md +1 -1
- package/docs/ai/components/waterfall.md +17 -16
- package/docs/ai/components/weather.md +19 -34
- package/docs/ai/components/work-order.md +58 -134
- package/docs/ai/patterns.md +87 -0
- package/docs/ai/react-integration.md +97 -0
- package/docs/components/accordion.md +72 -151
- package/docs/components/action-bar.md +185 -0
- package/docs/components/activity-feed.md +9 -14
- package/docs/components/alert.md +17 -109
- package/docs/components/app-tiles.md +58 -43
- package/docs/components/approval-flow.md +8 -14
- package/docs/components/audio-recorder.md +45 -51
- package/docs/components/availability.md +30 -45
- package/docs/components/avatar-group.md +34 -14
- package/docs/components/avatar.md +20 -55
- package/docs/components/badge.md +53 -470
- package/docs/components/banner.md +44 -30
- package/docs/components/binpack.md +208 -0
- package/docs/components/book.md +78 -57
- package/docs/components/booking.md +35 -87
- package/docs/components/breadcrumbs.md +74 -448
- package/docs/components/button.md +72 -603
- package/docs/components/calendar.md +77 -261
- package/docs/components/camera-annotate.md +44 -96
- package/docs/components/camera.md +94 -333
- package/docs/components/candlestick.md +79 -116
- package/docs/components/card.md +51 -689
- package/docs/components/carousel.md +29 -76
- package/docs/components/cart.md +44 -136
- package/docs/components/chart.md +95 -438
- package/docs/components/chat.md +175 -439
- package/docs/components/checkbox.md +52 -609
- package/docs/components/chip.md +45 -574
- package/docs/components/code-block.md +157 -421
- package/docs/components/color-display.md +45 -54
- package/docs/components/color-picker.md +103 -36
- package/docs/components/command-palette.md +98 -92
- package/docs/components/comments.md +16 -10
- package/docs/components/countdown.md +15 -20
- package/docs/components/cropper.md +14 -16
- package/docs/components/data-card.md +16 -15
- package/docs/components/date-picker.md +45 -25
- package/docs/components/date-range-picker.md +140 -87
- package/docs/components/date-time-picker.md +25 -28
- package/docs/components/diff.md +22 -17
- package/docs/components/divider.md +18 -20
- package/docs/components/doc.md +105 -197
- package/docs/components/draw.md +117 -223
- package/docs/components/drawer.md +113 -478
- package/docs/components/empty-state.md +13 -29
- package/docs/components/estimate.md +58 -118
- package/docs/components/file-gallery.md +123 -495
- package/docs/components/file-upload.md +36 -123
- package/docs/components/flip-card.md +30 -34
- package/docs/components/flow.md +74 -89
- package/docs/components/form-builder.md +59 -86
- package/docs/components/form-layout.md +21 -31
- package/docs/components/funnel.md +21 -22
- package/docs/components/gantt.md +5 -5
- package/docs/components/gauge.md +5 -23
- package/docs/components/grid.md +249 -0
- package/docs/components/heatmap.md +13 -55
- package/docs/components/image.md +28 -32
- package/docs/components/input.md +25 -14
- package/docs/components/invoice.md +34 -33
- package/docs/components/kanban.md +99 -394
- package/docs/components/key-value.md +22 -12
- package/docs/components/kpi.md +41 -112
- package/docs/components/layout.md +7 -13
- package/docs/components/leaderboard.md +52 -76
- package/docs/components/link-preview.md +20 -16
- package/docs/components/link.md +22 -19
- package/docs/components/list.md +44 -26
- package/docs/components/location.md +9 -13
- package/docs/components/login.md +42 -36
- package/docs/components/map.md +24 -46
- package/docs/components/markdown.md +14 -25
- package/docs/components/masonry.md +15 -13
- package/docs/components/mentions.md +36 -25
- package/docs/components/menu.md +39 -46
- package/docs/components/message-strip.md +15 -51
- package/docs/components/metric-table.md +50 -72
- package/docs/components/modal.md +32 -43
- package/docs/components/music-player.md +41 -49
- package/docs/components/nav.md +23 -13
- package/docs/components/network-graph.md +14 -13
- package/docs/components/notification-center.md +68 -172
- package/docs/components/order-tracker.md +72 -117
- package/docs/components/org-chart.md +58 -207
- package/docs/components/pagination.md +67 -89
- package/docs/components/paint.md +86 -172
- package/docs/components/pdf-viewer.md +46 -151
- package/docs/components/permission-matrix.md +61 -112
- package/docs/components/podcast-player.md +41 -119
- package/docs/components/pricing-table.md +104 -147
- package/docs/components/product-card.md +94 -197
- package/docs/components/progress-ring.md +29 -32
- package/docs/components/progress.md +30 -61
- package/docs/components/qr-code.md +53 -61
- package/docs/components/qr-reader.md +53 -42
- package/docs/components/radio.md +42 -40
- package/docs/components/range-slider.md +41 -30
- package/docs/components/rating.md +50 -84
- package/docs/components/receipt.md +91 -129
- package/docs/components/recipe.md +107 -216
- package/docs/components/sankey.md +47 -83
- package/docs/components/scheduler.md +81 -184
- package/docs/components/segmented-control.md +48 -40
- package/docs/components/select.md +107 -129
- package/docs/components/skeleton.md +33 -47
- package/docs/components/slider.md +49 -53
- package/docs/components/sortable.md +43 -186
- package/docs/components/sparkline.md +26 -25
- package/docs/components/spinner.md +32 -37
- package/docs/components/split-button.md +43 -23
- package/docs/components/split-pane.md +41 -58
- package/docs/components/spotlight.md +53 -145
- package/docs/components/spreadsheet.md +84 -307
- package/docs/components/stat-group.md +27 -61
- package/docs/components/step-input.md +44 -41
- package/docs/components/stepper.md +55 -89
- package/docs/components/switch.md +39 -39
- package/docs/components/table.md +27 -32
- package/docs/components/tabs.md +36 -27
- package/docs/components/tag-input.md +50 -176
- package/docs/components/tag.md +12 -50
- package/docs/components/terminal.md +32 -37
- package/docs/components/testimonial.md +24 -81
- package/docs/components/textarea.md +9 -14
- package/docs/components/theme.md +10 -23
- package/docs/components/time-picker.md +48 -72
- package/docs/components/time-range-picker.md +22 -41
- package/docs/components/timeline.md +7 -14
- package/docs/components/timer.md +16 -32
- package/docs/components/toast.md +19 -45
- package/docs/components/tooltip.md +13 -115
- package/docs/components/tree.md +2 -19
- package/docs/components/treemap.md +19 -43
- package/docs/components/user-card.md +13 -22
- package/docs/components/video-player.md +53 -227
- package/docs/components/virtual-scroller.md +11 -44
- package/docs/components/waterfall.md +58 -137
- package/docs/components/weather.md +94 -153
- package/docs/components/work-order.md +56 -143
- package/docs/plans/2026-03-09-action-bar-design.md +104 -0
- package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
- package/docs/plans/2026-03-10-grid-component-design.md +138 -0
- package/docs/plans/2026-03-10-grid-component-plan.md +716 -0
- package/docs/plans/2026-03-10-react-integration-design.md +166 -0
- package/docs/plans/2026-03-10-react-integration-plan.md +1178 -0
- package/docs/react-integration.md +508 -0
- package/docs/request-response.md +63 -0
- package/package.json +1 -1
- package/bin/templates/base/README.md +0 -33
- package/bin/templates/base/global.d.ts +0 -14
- package/bin/templates/base/index.html +0 -13
- package/bin/templates/base/package.json +0 -21
- package/bin/templates/base/src/components/counter-button.ts +0 -88
- package/bin/templates/base/src/components/counter-button.types.ts +0 -7
- package/bin/templates/base/src/components/feature-card.ts +0 -59
- package/bin/templates/base/src/components/feature-card.types.ts +0 -5
- package/bin/templates/base/src/controllers/counter-controller.ts +0 -24
- package/bin/templates/base/src/main.ts +0 -24
- package/bin/templates/base/src/pages/about-page.ts +0 -68
- package/bin/templates/base/src/pages/home-page.ts +0 -105
- package/bin/templates/base/src/pages/not-found-page.ts +0 -55
- package/bin/templates/base/src/router.ts +0 -9
- package/bin/templates/base/src/styles/global.css +0 -27
- package/bin/templates/base/src/types/api-response.ts +0 -5
- package/bin/templates/base/src/types/status.ts +0 -1
- package/bin/templates/base/src/types/theme.ts +0 -1
- package/bin/templates/base/src/types/user.ts +0 -5
- package/bin/templates/base/vite.config.ts +0 -38
- package/bin/templates/pwa/public/vite.svg +0 -1
- package/bin/templates/pwa/src/router.ts +0 -20
- package/bin/templates/pwa/src/styles/global.css +0 -64
- /package/bin/templates/{pwa → default}/README.md +0 -0
- /package/bin/templates/{pwa → default}/global.d.ts +0 -0
- /package/bin/templates/{pwa → default}/package.json +0 -0
- /package/bin/templates/{pwa → default}/public/icons/.gitkeep +0 -0
- /package/bin/templates/{base → default}/public/vite.svg +0 -0
- /package/bin/templates/{pwa → default}/src/fetcher.ts +0 -0
- /package/bin/templates/{pwa → default}/src/guards/auth.ts +0 -0
- /package/bin/templates/{pwa → default}/src/middleware/auth.ts +0 -0
- /package/bin/templates/{pwa → default}/src/middleware/retry.ts +0 -0
- /package/bin/templates/{pwa → default}/src/services/auth.ts +0 -0
- /package/bin/templates/{pwa → default}/src/services/jwt.ts +0 -0
- /package/bin/templates/{pwa → default}/src/services/storage.ts +0 -0
- /package/bin/templates/{pwa → default}/src/types/auth.ts +0 -0
- /package/bin/templates/{pwa → default}/src/types/notifications.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/helpers/test-utils.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/middleware/auth.test.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/middleware/error.test.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/middleware/retry.test.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/services/auth.test.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/services/jwt.test.ts +0 -0
- /package/bin/templates/{pwa → default}/tests/services/storage.test.ts +0 -0
- /package/bin/templates/{pwa → default}/vite.config.ts +0 -0
- /package/bin/templates/{pwa → default}/vitest.config.ts +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.30.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
6
6
|
*/
|
|
7
|
-
void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-date-range-picker.min.js");var SniceDateRangePicker=function(e,t){"use strict";function a(e,t,a,r,i,s){function n(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,l=r.kind,d="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?r.static?e:e.prototype:null,h=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),p=!1,u=a.length-1;u>=0;u--){var m={};for(var g in r)m[g]="access"===g?{}:r[g];for(var g in r.access)m.access[g]=r.access[g];m.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");s.push(n(e||null))};var v=(0,a[u])("accessor"===l?{get:h.get,set:h.set}:h[d],m);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw new TypeError("Object expected");(o=n(v.get))&&(h.get=o),(o=n(v.set))&&(h.set=o),(o=n(v.init))&&i.unshift(o)}else(o=n(v))&&("field"===l?i.unshift(o):h[d]=o)}c&&Object.defineProperty(c,r.name,h),p=!0}function r(e,t,a){for(var r=arguments.length>2,i=0;i<t.length;i++)a=r?t[i].call(e,a):t[i].call(e);return r?a:void 0}"function"==typeof SuppressedError&&SuppressedError;let i=(()=>{let e,i,s,n,o,l,d,c,h,p,u,m,g,v,b,y,f,w,D,x,k,C,$,E,P,S,z,T,Y,M,F,B,V,O,N,I,G,L,R,j,q,A,H,W=[t.element("snice-date-range-picker",{formAssociated:!0})],J=[],K=HTMLElement,U=[],Z=[],Q=[],X=[],_=[],ee=[],te=[],ae=[],re=[],ie=[],se=[],ne=[],oe=[],le=[],de=[],ce=[],he=[],pe=[],ue=[],me=[],ge=[],ve=[],be=[],ye=[],fe=[],we=[],De=[],xe=[],ke=[],Ce=[],$e=[],Ee=[],Pe=[],Se=[],ze=[],Te=[],Ye=[],Me=[],Fe=[],Be=[],Ve=[],Oe=[],Ne=[],Ie=[],Ge=[],Le=[],Re=[],je=[],qe=[],Ae=[],He=[],We=[],Je=[];return class extends K{static{i=this}static{const Ke="function"==typeof Symbol&&Symbol.metadata?Object.create(K[Symbol.metadata]??null):void 0;s=[t.property({})],n=[t.property({})],o=[t.property({})],l=[t.property({})],d=[t.property({})],c=[t.property({})],h=[t.property({})],p=[t.property({attribute:"helper-text"})],u=[t.property({attribute:"error-text"})],m=[t.property({type:Boolean})],g=[t.property({type:Boolean})],v=[t.property({type:Boolean})],b=[t.property({type:Boolean})],y=[t.property({type:Boolean})],f=[t.property({type:Boolean})],w=[t.property({})],D=[t.property({})],x=[t.property({})],k=[t.property({type:Number})],C=[t.property({type:Number,attribute:"first-day-of-week"})],$=[t.property({type:Array,attribute:!1})],E=[t.property({type:Boolean,attribute:"show-calendar"})],P=[t.query(".input")],S=[t.query(".calendar")],z=[t.query(".clear-button")],T=[t.query(".calendar-toggle")],Y=[t.styles()],M=[t.render()],F=[t.ready()],B=[t.watch("start")],V=[t.watch("end")],O=[t.watch("show-calendar")],N=[t.watch("disabled")],I=[t.watch("format")],G=[t.dispatch("daterange-change",{bubbles:!0,composed:!0})],L=[t.dispatch("daterange-open",{bubbles:!0,composed:!0})],R=[t.dispatch("daterange-close",{bubbles:!0,composed:!0})],j=[t.dispatch("daterange-clear",{bubbles:!0,composed:!0})],q=[t.dispatch("daterange-preset",{bubbles:!0,composed:!0})],A=[t.dispatch("daterange-focus",{bubbles:!0,composed:!0})],H=[t.dispatch("daterange-blur",{bubbles:!0,composed:!0})],a(this,null,Y,{kind:"method",name:"componentStyles",static:!1,private:!1,access:{has:e=>"componentStyles"in e,get:e=>e.componentStyles},metadata:Ke},null,U),a(this,null,M,{kind:"method",name:"template",static:!1,private:!1,access:{has:e=>"template"in e,get:e=>e.template},metadata:Ke},null,U),a(this,null,F,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Ke},null,U),a(this,null,B,{kind:"method",name:"handleStartPropChange",static:!1,private:!1,access:{has:e=>"handleStartPropChange"in e,get:e=>e.handleStartPropChange},metadata:Ke},null,U),a(this,null,V,{kind:"method",name:"handleEndPropChange",static:!1,private:!1,access:{has:e=>"handleEndPropChange"in e,get:e=>e.handleEndPropChange},metadata:Ke},null,U),a(this,null,O,{kind:"method",name:"handleShowCalendarChange",static:!1,private:!1,access:{has:e=>"handleShowCalendarChange"in e,get:e=>e.handleShowCalendarChange},metadata:Ke},null,U),a(this,null,N,{kind:"method",name:"handleDisabledChange",static:!1,private:!1,access:{has:e=>"handleDisabledChange"in e,get:e=>e.handleDisabledChange},metadata:Ke},null,U),a(this,null,I,{kind:"method",name:"handleFormatChange",static:!1,private:!1,access:{has:e=>"handleFormatChange"in e,get:e=>e.handleFormatChange},metadata:Ke},null,U),a(this,null,G,{kind:"method",name:"dispatchChangeEvent",static:!1,private:!1,access:{has:e=>"dispatchChangeEvent"in e,get:e=>e.dispatchChangeEvent},metadata:Ke},null,U),a(this,null,L,{kind:"method",name:"dispatchOpenEvent",static:!1,private:!1,access:{has:e=>"dispatchOpenEvent"in e,get:e=>e.dispatchOpenEvent},metadata:Ke},null,U),a(this,null,R,{kind:"method",name:"dispatchCloseEvent",static:!1,private:!1,access:{has:e=>"dispatchCloseEvent"in e,get:e=>e.dispatchCloseEvent},metadata:Ke},null,U),a(this,null,j,{kind:"method",name:"dispatchClearEvent",static:!1,private:!1,access:{has:e=>"dispatchClearEvent"in e,get:e=>e.dispatchClearEvent},metadata:Ke},null,U),a(this,null,q,{kind:"method",name:"dispatchPresetEvent",static:!1,private:!1,access:{has:e=>"dispatchPresetEvent"in e,get:e=>e.dispatchPresetEvent},metadata:Ke},null,U),a(this,null,A,{kind:"method",name:"dispatchFocusEvent",static:!1,private:!1,access:{has:e=>"dispatchFocusEvent"in e,get:e=>e.dispatchFocusEvent},metadata:Ke},null,U),a(this,null,H,{kind:"method",name:"dispatchBlurEvent",static:!1,private:!1,access:{has:e=>"dispatchBlurEvent"in e,get:e=>e.dispatchBlurEvent},metadata:Ke},null,U),a(null,null,s,{kind:"field",name:"start",static:!1,private:!1,access:{has:e=>"start"in e,get:e=>e.start,set:(e,t)=>{e.start=t}},metadata:Ke},Z,Q),a(null,null,n,{kind:"field",name:"end",static:!1,private:!1,access:{has:e=>"end"in e,get:e=>e.end,set:(e,t)=>{e.end=t}},metadata:Ke},X,_),a(null,null,o,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:Ke},ee,te),a(null,null,l,{kind:"field",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:Ke},ae,re),a(null,null,d,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:Ke},ie,se),a(null,null,c,{kind:"field",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:Ke},ne,oe),a(null,null,h,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:Ke},le,de),a(null,null,p,{kind:"field",name:"helperText",static:!1,private:!1,access:{has:e=>"helperText"in e,get:e=>e.helperText,set:(e,t)=>{e.helperText=t}},metadata:Ke},ce,he),a(null,null,u,{kind:"field",name:"errorText",static:!1,private:!1,access:{has:e=>"errorText"in e,get:e=>e.errorText,set:(e,t)=>{e.errorText=t}},metadata:Ke},pe,ue),a(null,null,m,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:Ke},me,ge),a(null,null,g,{kind:"field",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:Ke},ve,be),a(null,null,v,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:Ke},ye,fe),a(null,null,b,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:Ke},we,De),a(null,null,y,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:Ke},xe,ke),a(null,null,f,{kind:"field",name:"clearable",static:!1,private:!1,access:{has:e=>"clearable"in e,get:e=>e.clearable,set:(e,t)=>{e.clearable=t}},metadata:Ke},Ce,$e),a(null,null,w,{kind:"field",name:"min",static:!1,private:!1,access:{has:e=>"min"in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:Ke},Ee,Pe),a(null,null,D,{kind:"field",name:"max",static:!1,private:!1,access:{has:e=>"max"in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:Ke},Se,ze),a(null,null,x,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:Ke},Te,Ye),a(null,null,k,{kind:"field",name:"columns",static:!1,private:!1,access:{has:e=>"columns"in e,get:e=>e.columns,set:(e,t)=>{e.columns=t}},metadata:Ke},Me,Fe),a(null,null,C,{kind:"field",name:"firstDayOfWeek",static:!1,private:!1,access:{has:e=>"firstDayOfWeek"in e,get:e=>e.firstDayOfWeek,set:(e,t)=>{e.firstDayOfWeek=t}},metadata:Ke},Be,Ve),a(null,null,$,{kind:"field",name:"presets",static:!1,private:!1,access:{has:e=>"presets"in e,get:e=>e.presets,set:(e,t)=>{e.presets=t}},metadata:Ke},Oe,Ne),a(null,null,E,{kind:"field",name:"showCalendar",static:!1,private:!1,access:{has:e=>"showCalendar"in e,get:e=>e.showCalendar,set:(e,t)=>{e.showCalendar=t}},metadata:Ke},Ie,Ge),a(null,null,P,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:Ke},Le,Re),a(null,null,S,{kind:"field",name:"calendarEl",static:!1,private:!1,access:{has:e=>"calendarEl"in e,get:e=>e.calendarEl,set:(e,t)=>{e.calendarEl=t}},metadata:Ke},je,qe),a(null,null,z,{kind:"field",name:"clearButton",static:!1,private:!1,access:{has:e=>"clearButton"in e,get:e=>e.clearButton,set:(e,t)=>{e.clearButton=t}},metadata:Ke},Ae,He),a(null,null,T,{kind:"field",name:"calendarToggle",static:!1,private:!1,access:{has:e=>"calendarToggle"in e,get:e=>e.calendarToggle,set:(e,t)=>{e.calendarToggle=t}},metadata:Ke},We,Je),a(null,e={value:i},W,{kind:"class",name:i.name,metadata:Ke},null,J),i=e.value,Ke&&Object.defineProperty(i,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Ke}),r(i,J)}constructor(){super(),this.internals=r(this,U),this.start=r(this,Z,""),this.end=(r(this,Q),r(this,X,"")),this.size=(r(this,_),r(this,ee,"medium")),this.variant=(r(this,te),r(this,ae,"outlined")),this.format=(r(this,re),r(this,ie,"mm/dd/yyyy")),this.placeholder=(r(this,se),r(this,ne,"")),this.label=(r(this,oe),r(this,le,"")),this.helperText=(r(this,de),r(this,ce,"")),this.errorText=(r(this,he),r(this,pe,"")),this.disabled=(r(this,ue),r(this,me,!1)),this.readonly=(r(this,ge),r(this,ve,!1)),this.loading=(r(this,be),r(this,ye,!1)),this.required=(r(this,fe),r(this,we,!1)),this.invalid=(r(this,De),r(this,xe,!1)),this.clearable=(r(this,ke),r(this,Ce,!1)),this.min=(r(this,$e),r(this,Ee,"")),this.max=(r(this,Pe),r(this,Se,"")),this.name=(r(this,ze),r(this,Te,"")),this.columns=(r(this,Ye),r(this,Me,1)),this.firstDayOfWeek=(r(this,Fe),r(this,Be,0)),this.presets=(r(this,Ve),r(this,Oe,[])),this.showCalendar=(r(this,Ne),r(this,Ie,!1)),this.input=(r(this,Ge),r(this,Le,void 0)),this.calendarEl=(r(this,Re),r(this,je,void 0)),this.clearButton=(r(this,qe),r(this,Ae,void 0)),this.calendarToggle=(r(this,He),r(this,We,void 0)),this.startDate=(r(this,Je),null),this.endDate=null,this.viewDate=new Date,this.selectionPhase="idle",this.hoverDate=null,this.presetPreviewStart=null,this.presetPreviewEnd=null,this.calendarView="days",this.yearRangeStart=0,this.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],this.dayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"function"==typeof this.attachInternals&&(this.internals=this.attachInternals())}componentStyles(){return t.css`${":host{display:inline-block;position:relative;width:100%;max-width:20rem;box-sizing:border-box;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);font-size:var(--snice-font-size-sm, .875rem);line-height:var(--snice-line-height-normal, 1.5)}.date-picker-wrapper{display:flex;flex-direction:column}.label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);line-height:var(--snice-line-height-normal, 1.5);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:'*';color:var(--snice-color-danger,rgb(220 38 38));margin-left:var(--snice-spacing-2xs,.25rem)}.input-container{position:relative;display:flex;align-items:center;anchor-name:--drp-anchor}.input{width:100%;box-sizing:border-box;min-height:2.5rem;border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,6px);padding:var(--snice-spacing-xs,.5rem) 3rem var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);font-size:inherit;font-family:inherit;line-height:var(--snice-line-height-normal, 1.5);background:var(--snice-color-background-input,rgb(248 247 245));color:var(--snice-color-text,rgb(23 23 23));transition:border-color var(--snice-transition-fast, .15s) ease,box-shadow var(--snice-transition-fast, .15s) ease;cursor:default}.input:focus{outline:0;border-color:var(--snice-color-border-focus,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.input--small{padding:.375rem 2.75rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem)}.input--large{padding:.75rem 3.5rem .75rem 1rem;font-size:var(--snice-font-size-md, 1rem)}.input--filled{background:var(--snice-color-background-secondary,rgb(245 245 245));border:1px solid transparent}.input--underlined{border:none;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:0;background:0 0;padding-left:0}.input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.input--invalid:focus{border-color:var(--snice-color-danger,rgb(220 38 38));box-shadow:0 0 0 3px var(--snice-color-danger-alpha,rgb(220 38 38 / .1))}.input:disabled{background:var(--snice-color-background-secondary,rgb(245 245 245));color:var(--snice-color-text-tertiary,rgb(115 115 115));cursor:not-allowed}:host(:not([disabled]):not([readonly]):not([loading])) .input{cursor:pointer}.calendar-toggle,.clear-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:.25rem;border:none;background:0 0;color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease}.clear-button{right:2.5rem}.calendar-toggle:hover,.clear-button:hover{color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background-tertiary,rgb(240 240 240))}.calendar-toggle:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed}.input--loading{cursor:wait}.spinner{position:absolute;right:3rem;width:1em;height:1em;pointer-events:none}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.calendar[popover]{position:fixed;inset:auto;margin:0;z-index:var(--snice-z-index-dropdown,1000);background:var(--snice-color-background-element,rgb(252 251 249));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,8px);box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1));padding:var(--snice-spacing-md,1rem);min-width:280px;pointer-events:none;opacity:0;transform:translateY(-8px) scaleY(.96);transform-origin:top left;transition:opacity var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) ease,display var(--snice-transition-fast, 150ms) allow-discrete,overlay var(--snice-transition-fast, 150ms) allow-discrete}.calendar--open,.calendar[popover]:popover-open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}@supports (position-anchor:--a){.calendar[popover]{position-anchor:--drp-anchor;top:calc(anchor(bottom) + 2px);left:anchor(left);min-width:anchor-size(width)}}.calendar[hidden]{display:none}.calendar-body{display:flex;gap:var(--snice-spacing-md,1rem)}.presets{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);min-width:8rem;border-right:1px solid var(--snice-color-border,rgb(226 226 226));padding-right:var(--snice-spacing-md,1rem)}.preset-button{background:0 0;border:none;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));cursor:pointer;border-radius:var(--snice-border-radius-md,4px);text-align:left;transition:background-color var(--snice-transition-fast, .15s) ease;white-space:nowrap}.preset-button:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.preset-button--active{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.months{display:flex;gap:var(--snice-spacing-md,1rem);flex:1}.month{flex:1;min-width:240px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--snice-spacing-md,1rem)}.calendar-title{flex:1;text-align:center}.month-label{font-size:var(--snice-font-size-md, 1rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.nav-button{background:0 0;border:none;padding:.5rem;cursor:pointer;color:var(--snice-color-text-secondary,rgb(82 82 82));border-radius:4px;transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease}.nav-button:hover{color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background-tertiary,rgb(240 240 240))}.nav-button--hidden{visibility:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:var(--snice-spacing-xs,.5rem)}.weekday{text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:600;color:var(--snice-color-text-secondary,rgb(82 82 82));padding:.5rem .25rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.day{width:32px;height:32px;border:none;background:0 0;cursor:pointer;border-radius:var(--snice-border-radius-md,4px);font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));transition:background-color var(--snice-transition-fast, .15s) ease,color var(--snice-transition-fast, .15s) ease;display:flex;align-items:center;justify-content:center}.day:hover:not(.day--disabled):not(.day--empty):not(.day--range-start):not(.day--range-end):not(.day--in-range):not(.day--range-preview):not(.day--preset-preview):not(.day--preset-preview-endpoint){background:var(--snice-color-background-tertiary,rgb(240 240 240))}.day--today{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.day--disabled{color:var(--snice-color-text-disabled,rgb(180 180 180));cursor:not-allowed}.day--empty{cursor:default}.day--range-start{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600);border-radius:var(--snice-border-radius-md,4px) 0 0 var(--snice-border-radius-md,4px)}.day--range-start:hover{background:var(--snice-color-primary,rgb(37 99 235))}.day--range-end{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600);border-radius:0 var(--snice-border-radius-md,4px) var(--snice-border-radius-md,4px) 0}.day--range-end:hover{background:var(--snice-color-primary,rgb(37 99 235))}.day--range-start.day--range-end{border-radius:var(--snice-border-radius-md,4px)}.day--in-range{background:var(--snice-color-primary-subtle-hover,hsl(214 95% 93%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.day--in-range:hover:not(.day--disabled){background:var(--snice-color-primary-subtle-hover,hsl(214 95% 93%));filter:brightness(.95)}.day--range-preview{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.day--preset-preview-endpoint{outline:2px dashed var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.day--preset-preview{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.year-button{background:0 0;border:none;font-size:var(--snice-font-size-md, 1rem);font-weight:var(--snice-font-weight-semibold,600);font-family:inherit;color:var(--snice-color-primary,rgb(37 99 235));cursor:pointer;padding:.125rem .375rem;border-radius:var(--snice-border-radius-md,4px);transition:background-color var(--snice-transition-fast, .15s) ease}.year-button:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem 0}.year-cell{border:none;background:0 0;cursor:pointer;padding:.625rem .25rem;border-radius:var(--snice-border-radius-md,4px);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));transition:background-color var(--snice-transition-fast, .15s) ease,color var(--snice-transition-fast, .15s) ease}.year-cell:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.year-cell--current{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.year-cell--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600)}.calendar-footer{margin-top:var(--snice-spacing-md,1rem);padding-top:var(--snice-spacing-md,1rem);border-top:1px solid var(--snice-color-border,rgb(226 226 226));display:flex;justify-content:center}.error-text,.helper-text{font-size:var(--snice-font-size-sm, .875rem);margin-top:var(--snice-spacing-2xs,.25rem)}.helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.error-text{color:var(--snice-color-danger,rgb(220 38 38))}:host([size=small]) .calendar{min-width:240px;padding:.75rem}:host([size=small]) .day{width:28px;height:28px;font-size:var(--snice-font-size-sm, .8125rem)}:host([size=large]) .calendar{min-width:320px;padding:1.25rem}:host([size=large]) .day{width:36px;height:36px;font-size:var(--snice-font-size-md, .9375rem)}@media (max-width:640px){.calendar{min-width:280px}.calendar-body{flex-direction:column}.presets{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));padding-right:0;padding-bottom:var(--snice-spacing-sm,.75rem);margin-bottom:var(--snice-spacing-sm,.75rem);min-width:unset}.months{flex-direction:column}}"}`}template(){const e=["label",this.required?"label--required":""].filter(Boolean).join(" "),a=["input",`input--${this.size}`,`input--${this.variant}`,this.invalid?"input--invalid":"",this.clearable?"input--clearable":"",this.loading?"input--loading":""].filter(Boolean).join(" "),r=this.presets&&this.presets.length>0,i=2===this.columns,s=new Date(this.viewDate.getFullYear(),this.viewDate.getMonth()+1,1);return t.html`
|
|
7
|
+
void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-date-range-picker.min.js");var SniceDateRangePicker=function(e,t){"use strict";function a(e,t,a,i,r,s){function n(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,l=i.kind,d="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,h=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),p=!1,u=a.length-1;u>=0;u--){var m={};for(var g in i)m[g]="access"===g?{}:i[g];for(var g in i.access)m.access[g]=i.access[g];m.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");s.push(n(e||null))};var v=(0,a[u])("accessor"===l?{get:h.get,set:h.set}:h[d],m);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw new TypeError("Object expected");(o=n(v.get))&&(h.get=o),(o=n(v.set))&&(h.set=o),(o=n(v.init))&&r.unshift(o)}else(o=n(v))&&("field"===l?r.unshift(o):h[d]=o)}c&&Object.defineProperty(c,i.name,h),p=!0}function i(e,t,a){for(var i=arguments.length>2,r=0;r<t.length;r++)a=i?t[r].call(e,a):t[r].call(e);return i?a:void 0}"function"==typeof SuppressedError&&SuppressedError;let r=(()=>{let e,r,s,n,o,l,d,c,h,p,u,m,g,v,b,y,f,w,D,x,k,C,$,E,P,S,z,T,Y,M,F,B,V,O,N,I,G,L,R,j,q,A,H,W=[t.element("snice-date-range-picker",{formAssociated:!0})],J=[],K=HTMLElement,U=[],Z=[],Q=[],X=[],_=[],ee=[],te=[],ae=[],ie=[],re=[],se=[],ne=[],oe=[],le=[],de=[],ce=[],he=[],pe=[],ue=[],me=[],ge=[],ve=[],be=[],ye=[],fe=[],we=[],De=[],xe=[],ke=[],Ce=[],$e=[],Ee=[],Pe=[],Se=[],ze=[],Te=[],Ye=[],Me=[],Fe=[],Be=[],Ve=[],Oe=[],Ne=[],Ie=[],Ge=[],Le=[],Re=[],je=[],qe=[],Ae=[],He=[],We=[],Je=[];return class extends K{static{r=this}static{const Ke="function"==typeof Symbol&&Symbol.metadata?Object.create(K[Symbol.metadata]??null):void 0;s=[t.property({})],n=[t.property({})],o=[t.property({})],l=[t.property({})],d=[t.property({})],c=[t.property({})],h=[t.property({})],p=[t.property({attribute:"helper-text"})],u=[t.property({attribute:"error-text"})],m=[t.property({type:Boolean})],g=[t.property({type:Boolean})],v=[t.property({type:Boolean})],b=[t.property({type:Boolean})],y=[t.property({type:Boolean})],f=[t.property({type:Boolean})],w=[t.property({})],D=[t.property({})],x=[t.property({})],k=[t.property({type:Number})],C=[t.property({type:Number,attribute:"first-day-of-week"})],$=[t.property({type:Array,attribute:!1})],E=[t.property({type:Boolean,attribute:"show-calendar"})],P=[t.query(".input")],S=[t.query(".calendar")],z=[t.query(".clear-button")],T=[t.query(".calendar-toggle")],Y=[t.styles()],M=[t.render()],F=[t.ready()],B=[t.watch("start")],V=[t.watch("end")],O=[t.watch("show-calendar")],N=[t.watch("disabled")],I=[t.watch("format")],G=[t.dispatch("daterange-change",{bubbles:!0,composed:!0})],L=[t.dispatch("daterange-open",{bubbles:!0,composed:!0})],R=[t.dispatch("daterange-close",{bubbles:!0,composed:!0})],j=[t.dispatch("daterange-clear",{bubbles:!0,composed:!0})],q=[t.dispatch("daterange-preset",{bubbles:!0,composed:!0})],A=[t.dispatch("daterange-focus",{bubbles:!0,composed:!0})],H=[t.dispatch("daterange-blur",{bubbles:!0,composed:!0})],a(this,null,Y,{kind:"method",name:"componentStyles",static:!1,private:!1,access:{has:e=>"componentStyles"in e,get:e=>e.componentStyles},metadata:Ke},null,U),a(this,null,M,{kind:"method",name:"template",static:!1,private:!1,access:{has:e=>"template"in e,get:e=>e.template},metadata:Ke},null,U),a(this,null,F,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Ke},null,U),a(this,null,B,{kind:"method",name:"handleStartPropChange",static:!1,private:!1,access:{has:e=>"handleStartPropChange"in e,get:e=>e.handleStartPropChange},metadata:Ke},null,U),a(this,null,V,{kind:"method",name:"handleEndPropChange",static:!1,private:!1,access:{has:e=>"handleEndPropChange"in e,get:e=>e.handleEndPropChange},metadata:Ke},null,U),a(this,null,O,{kind:"method",name:"handleShowCalendarChange",static:!1,private:!1,access:{has:e=>"handleShowCalendarChange"in e,get:e=>e.handleShowCalendarChange},metadata:Ke},null,U),a(this,null,N,{kind:"method",name:"handleDisabledChange",static:!1,private:!1,access:{has:e=>"handleDisabledChange"in e,get:e=>e.handleDisabledChange},metadata:Ke},null,U),a(this,null,I,{kind:"method",name:"handleFormatChange",static:!1,private:!1,access:{has:e=>"handleFormatChange"in e,get:e=>e.handleFormatChange},metadata:Ke},null,U),a(this,null,G,{kind:"method",name:"dispatchChangeEvent",static:!1,private:!1,access:{has:e=>"dispatchChangeEvent"in e,get:e=>e.dispatchChangeEvent},metadata:Ke},null,U),a(this,null,L,{kind:"method",name:"dispatchOpenEvent",static:!1,private:!1,access:{has:e=>"dispatchOpenEvent"in e,get:e=>e.dispatchOpenEvent},metadata:Ke},null,U),a(this,null,R,{kind:"method",name:"dispatchCloseEvent",static:!1,private:!1,access:{has:e=>"dispatchCloseEvent"in e,get:e=>e.dispatchCloseEvent},metadata:Ke},null,U),a(this,null,j,{kind:"method",name:"dispatchClearEvent",static:!1,private:!1,access:{has:e=>"dispatchClearEvent"in e,get:e=>e.dispatchClearEvent},metadata:Ke},null,U),a(this,null,q,{kind:"method",name:"dispatchPresetEvent",static:!1,private:!1,access:{has:e=>"dispatchPresetEvent"in e,get:e=>e.dispatchPresetEvent},metadata:Ke},null,U),a(this,null,A,{kind:"method",name:"dispatchFocusEvent",static:!1,private:!1,access:{has:e=>"dispatchFocusEvent"in e,get:e=>e.dispatchFocusEvent},metadata:Ke},null,U),a(this,null,H,{kind:"method",name:"dispatchBlurEvent",static:!1,private:!1,access:{has:e=>"dispatchBlurEvent"in e,get:e=>e.dispatchBlurEvent},metadata:Ke},null,U),a(null,null,s,{kind:"field",name:"start",static:!1,private:!1,access:{has:e=>"start"in e,get:e=>e.start,set:(e,t)=>{e.start=t}},metadata:Ke},Z,Q),a(null,null,n,{kind:"field",name:"end",static:!1,private:!1,access:{has:e=>"end"in e,get:e=>e.end,set:(e,t)=>{e.end=t}},metadata:Ke},X,_),a(null,null,o,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:Ke},ee,te),a(null,null,l,{kind:"field",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:Ke},ae,ie),a(null,null,d,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:Ke},re,se),a(null,null,c,{kind:"field",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:Ke},ne,oe),a(null,null,h,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:Ke},le,de),a(null,null,p,{kind:"field",name:"helperText",static:!1,private:!1,access:{has:e=>"helperText"in e,get:e=>e.helperText,set:(e,t)=>{e.helperText=t}},metadata:Ke},ce,he),a(null,null,u,{kind:"field",name:"errorText",static:!1,private:!1,access:{has:e=>"errorText"in e,get:e=>e.errorText,set:(e,t)=>{e.errorText=t}},metadata:Ke},pe,ue),a(null,null,m,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:Ke},me,ge),a(null,null,g,{kind:"field",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:Ke},ve,be),a(null,null,v,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:Ke},ye,fe),a(null,null,b,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:Ke},we,De),a(null,null,y,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:Ke},xe,ke),a(null,null,f,{kind:"field",name:"clearable",static:!1,private:!1,access:{has:e=>"clearable"in e,get:e=>e.clearable,set:(e,t)=>{e.clearable=t}},metadata:Ke},Ce,$e),a(null,null,w,{kind:"field",name:"min",static:!1,private:!1,access:{has:e=>"min"in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:Ke},Ee,Pe),a(null,null,D,{kind:"field",name:"max",static:!1,private:!1,access:{has:e=>"max"in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:Ke},Se,ze),a(null,null,x,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:Ke},Te,Ye),a(null,null,k,{kind:"field",name:"columns",static:!1,private:!1,access:{has:e=>"columns"in e,get:e=>e.columns,set:(e,t)=>{e.columns=t}},metadata:Ke},Me,Fe),a(null,null,C,{kind:"field",name:"firstDayOfWeek",static:!1,private:!1,access:{has:e=>"firstDayOfWeek"in e,get:e=>e.firstDayOfWeek,set:(e,t)=>{e.firstDayOfWeek=t}},metadata:Ke},Be,Ve),a(null,null,$,{kind:"field",name:"presets",static:!1,private:!1,access:{has:e=>"presets"in e,get:e=>e.presets,set:(e,t)=>{e.presets=t}},metadata:Ke},Oe,Ne),a(null,null,E,{kind:"field",name:"showCalendar",static:!1,private:!1,access:{has:e=>"showCalendar"in e,get:e=>e.showCalendar,set:(e,t)=>{e.showCalendar=t}},metadata:Ke},Ie,Ge),a(null,null,P,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:Ke},Le,Re),a(null,null,S,{kind:"field",name:"calendarEl",static:!1,private:!1,access:{has:e=>"calendarEl"in e,get:e=>e.calendarEl,set:(e,t)=>{e.calendarEl=t}},metadata:Ke},je,qe),a(null,null,z,{kind:"field",name:"clearButton",static:!1,private:!1,access:{has:e=>"clearButton"in e,get:e=>e.clearButton,set:(e,t)=>{e.clearButton=t}},metadata:Ke},Ae,He),a(null,null,T,{kind:"field",name:"calendarToggle",static:!1,private:!1,access:{has:e=>"calendarToggle"in e,get:e=>e.calendarToggle,set:(e,t)=>{e.calendarToggle=t}},metadata:Ke},We,Je),a(null,e={value:r},W,{kind:"class",name:r.name,metadata:Ke},null,J),r=e.value,Ke&&Object.defineProperty(r,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Ke}),i(r,J)}constructor(){super(),this.internals=i(this,U),this.start=i(this,Z,""),this.end=(i(this,Q),i(this,X,"")),this.size=(i(this,_),i(this,ee,"medium")),this.variant=(i(this,te),i(this,ae,"outlined")),this.format=(i(this,ie),i(this,re,"mm/dd/yyyy")),this.placeholder=(i(this,se),i(this,ne,"")),this.label=(i(this,oe),i(this,le,"")),this.helperText=(i(this,de),i(this,ce,"")),this.errorText=(i(this,he),i(this,pe,"")),this.disabled=(i(this,ue),i(this,me,!1)),this.readonly=(i(this,ge),i(this,ve,!1)),this.loading=(i(this,be),i(this,ye,!1)),this.required=(i(this,fe),i(this,we,!1)),this.invalid=(i(this,De),i(this,xe,!1)),this.clearable=(i(this,ke),i(this,Ce,!1)),this.min=(i(this,$e),i(this,Ee,"")),this.max=(i(this,Pe),i(this,Se,"")),this.name=(i(this,ze),i(this,Te,"")),this.columns=(i(this,Ye),i(this,Me,1)),this.firstDayOfWeek=(i(this,Fe),i(this,Be,0)),this.presets=(i(this,Ve),i(this,Oe,[])),this.showCalendar=(i(this,Ne),i(this,Ie,!1)),this.input=(i(this,Ge),i(this,Le,void 0)),this.calendarEl=(i(this,Re),i(this,je,void 0)),this.clearButton=(i(this,qe),i(this,Ae,void 0)),this.calendarToggle=(i(this,He),i(this,We,void 0)),this.startDate=(i(this,Je),null),this.endDate=null,this.viewDate=new Date,this.selectionPhase="idle",this.hoverDate=null,this.presetPreviewStart=null,this.presetPreviewEnd=null,this.calendarView="days",this.yearRangeStart=0,this.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],this.dayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"function"==typeof this.attachInternals&&(this.internals=this.attachInternals())}componentStyles(){return t.css`${":host{display:inline-block;position:relative;width:100%;max-width:20rem;box-sizing:border-box;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);font-size:var(--snice-font-size-sm, .875rem);line-height:var(--snice-line-height-normal, 1.5)}.date-picker-wrapper{display:flex;flex-direction:column}.label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);line-height:var(--snice-line-height-normal, 1.5);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:'*';color:var(--snice-color-danger,rgb(220 38 38));margin-left:var(--snice-spacing-2xs,.25rem)}.input-container{position:relative;display:flex;align-items:center;anchor-name:--drp-anchor}.input{width:100%;box-sizing:border-box;min-height:2.5rem;border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,6px);padding:var(--snice-spacing-xs,.5rem) 3rem var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);font-size:inherit;font-family:inherit;line-height:var(--snice-line-height-normal, 1.5);background:var(--snice-color-background-input,rgb(248 247 245));color:var(--snice-color-text,rgb(23 23 23));transition:border-color var(--snice-transition-fast, .15s) ease,box-shadow var(--snice-transition-fast, .15s) ease;cursor:default}.input:focus{outline:0;border-color:var(--snice-color-border-focus,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.input--small{padding:.375rem 2.75rem .375rem .625rem;font-size:var(--snice-font-size-sm, .875rem)}.input--large{padding:.75rem 3.5rem .75rem 1rem;font-size:var(--snice-font-size-md, 1rem)}.input--filled{background:var(--snice-color-background-secondary,rgb(245 245 245));border:1px solid transparent}.input--underlined{border:none;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:0;background:0 0;padding-left:0}.input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.input--invalid:focus{border-color:var(--snice-color-danger,rgb(220 38 38));box-shadow:0 0 0 3px var(--snice-color-danger-alpha,rgb(220 38 38 / .1))}.input:disabled{background:var(--snice-color-background-secondary,rgb(245 245 245));color:var(--snice-color-text-tertiary,rgb(115 115 115));cursor:not-allowed}:host(:not([disabled]):not([readonly]):not([loading])) .input{cursor:pointer}.calendar-toggle,.clear-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);padding:.25rem;border:none;background:0 0;color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease}.clear-button{right:2.5rem}.calendar-toggle:hover,.clear-button:hover{color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background-tertiary,rgb(240 240 240))}.calendar-toggle:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed}.input--loading{cursor:wait}.input--loading~.calendar-toggle{visibility:hidden}.spinner{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:1em;height:1em;pointer-events:none}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.calendar[popover]{position:fixed;inset:auto;margin:0;z-index:var(--snice-z-index-dropdown,1000);background:var(--snice-color-background-element,rgb(252 251 249));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-lg,8px);box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1));padding:var(--snice-spacing-md,1rem);min-width:280px;pointer-events:none;opacity:0;transform:translateY(-8px) scaleY(.96);transform-origin:top left;transition:opacity var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) ease,display var(--snice-transition-fast, 150ms) allow-discrete,overlay var(--snice-transition-fast, 150ms) allow-discrete}.calendar--open,.calendar[popover]:popover-open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}@supports (position-anchor:--a){.calendar[popover]{position-anchor:--drp-anchor;top:calc(anchor(bottom) + 2px);left:anchor(left);min-width:anchor-size(width)}}.calendar[hidden]{display:none}.calendar-body{display:flex;gap:var(--snice-spacing-md,1rem)}.presets{display:flex;flex-direction:column;gap:var(--snice-spacing-2xs,.25rem);min-width:8rem;border-right:1px solid var(--snice-color-border,rgb(226 226 226));padding-right:var(--snice-spacing-md,1rem)}.preset-button{background:0 0;border:none;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));cursor:pointer;border-radius:var(--snice-border-radius-md,4px);text-align:left;transition:background-color var(--snice-transition-fast, .15s) ease;white-space:nowrap}.preset-button:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.preset-button--active{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-medium,500)}.months{display:flex;gap:var(--snice-spacing-md,1rem);flex:1}.month{flex:1;min-width:240px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--snice-spacing-md,1rem)}.calendar-title{flex:1;text-align:center}.month-label{font-size:var(--snice-font-size-md, 1rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.nav-button{background:0 0;border:none;padding:.5rem;cursor:pointer;color:var(--snice-color-text-secondary,rgb(82 82 82));border-radius:4px;transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease}.nav-button:hover{color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background-tertiary,rgb(240 240 240))}.nav-button--hidden{visibility:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:var(--snice-spacing-xs,.5rem)}.weekday{text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:600;color:var(--snice-color-text-secondary,rgb(82 82 82));padding:.5rem .25rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.day{width:32px;height:32px;border:none;background:0 0;cursor:pointer;border-radius:var(--snice-border-radius-md,4px);font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));transition:background-color var(--snice-transition-fast, .15s) ease,color var(--snice-transition-fast, .15s) ease;display:flex;align-items:center;justify-content:center}.day:hover:not(.day--disabled):not(.day--empty):not(.day--range-start):not(.day--range-end):not(.day--in-range):not(.day--range-preview):not(.day--preset-preview):not(.day--preset-preview-endpoint){background:var(--snice-color-background-tertiary,rgb(240 240 240))}.day--today{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.day--disabled{color:var(--snice-color-text-disabled,rgb(180 180 180));cursor:not-allowed}.day--empty{cursor:default}.day--range-start{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600);border-radius:var(--snice-border-radius-md,4px) 0 0 var(--snice-border-radius-md,4px)}.day--range-start:hover{background:var(--snice-color-primary,rgb(37 99 235))}.day--range-end{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600);border-radius:0 var(--snice-border-radius-md,4px) var(--snice-border-radius-md,4px) 0}.day--range-end:hover{background:var(--snice-color-primary,rgb(37 99 235))}.day--range-start.day--range-end{border-radius:var(--snice-border-radius-md,4px)}.day--in-range{background:var(--snice-color-primary-subtle-hover,hsl(214 95% 93%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.day--in-range:hover:not(.day--disabled){background:var(--snice-color-primary-subtle-hover,hsl(214 95% 93%));filter:brightness(.95)}.day--range-preview{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.day--preset-preview-endpoint{outline:2px dashed var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.day--preset-preview{background:var(--snice-color-primary-subtle,hsl(214 100% 97%));color:var(--snice-color-primary,rgb(37 99 235));border-radius:0}.year-button{background:0 0;border:none;font-size:var(--snice-font-size-md, 1rem);font-weight:var(--snice-font-weight-semibold,600);font-family:inherit;color:var(--snice-color-primary,rgb(37 99 235));cursor:pointer;padding:.125rem .375rem;border-radius:var(--snice-border-radius-md,4px);transition:background-color var(--snice-transition-fast, .15s) ease}.year-button:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem 0}.year-cell{border:none;background:0 0;cursor:pointer;padding:.625rem .25rem;border-radius:var(--snice-border-radius-md,4px);font-size:var(--snice-font-size-sm, .875rem);font-family:inherit;color:var(--snice-color-text,rgb(23 23 23));transition:background-color var(--snice-transition-fast, .15s) ease,color var(--snice-transition-fast, .15s) ease}.year-cell:hover{background:var(--snice-color-background-tertiary,rgb(240 240 240))}.year-cell--current{outline:2px solid var(--snice-color-primary,rgb(37 99 235));outline-offset:-2px;color:var(--snice-color-primary,rgb(37 99 235));font-weight:var(--snice-font-weight-semibold,600)}.year-cell--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));font-weight:var(--snice-font-weight-semibold,600)}.calendar-footer{margin-top:var(--snice-spacing-md,1rem);padding-top:var(--snice-spacing-md,1rem);border-top:1px solid var(--snice-color-border,rgb(226 226 226));display:flex;justify-content:center}.error-text,.helper-text{font-size:var(--snice-font-size-sm, .875rem);margin-top:var(--snice-spacing-2xs,.25rem)}.helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.error-text{color:var(--snice-color-danger,rgb(220 38 38))}:host([size=small]) .calendar{min-width:240px;padding:.75rem}:host([size=small]) .day{width:28px;height:28px;font-size:var(--snice-font-size-sm, .8125rem)}:host([size=large]) .calendar{min-width:320px;padding:1.25rem}:host([size=large]) .day{width:36px;height:36px;font-size:var(--snice-font-size-md, .9375rem)}@media (max-width:640px){.calendar{min-width:280px}.calendar-body{flex-direction:column}.presets{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226));padding-right:0;padding-bottom:var(--snice-spacing-sm,.75rem);margin-bottom:var(--snice-spacing-sm,.75rem);min-width:unset}.months{flex-direction:column}}"}`}template(){const e=["label",this.required?"label--required":""].filter(Boolean).join(" "),a=["input",`input--${this.size}`,`input--${this.variant}`,this.invalid?"input--invalid":"",this.clearable?"input--clearable":"",this.loading?"input--loading":""].filter(Boolean).join(" "),i=this.presets&&this.presets.length>0,r=2===this.columns,s=new Date(this.viewDate.getFullYear(),this.viewDate.getMonth()+1,1);return t.html`
|
|
8
8
|
<div class="date-picker-wrapper">
|
|
9
9
|
<if ${this.label}>
|
|
10
10
|
<label class="${e}">
|
|
@@ -68,7 +68,7 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
|
|
|
68
68
|
@mouseout=${()=>this.handleCalendarMouseOut()}
|
|
69
69
|
>
|
|
70
70
|
<div class="calendar-body">
|
|
71
|
-
<if ${
|
|
71
|
+
<if ${i}>
|
|
72
72
|
<div class="presets"
|
|
73
73
|
@mouseover=${e=>this.handlePresetHover(e)}
|
|
74
74
|
@mouseout=${e=>this.handlePresetHoverOut(e)}
|
|
@@ -116,7 +116,7 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
|
|
|
116
116
|
<div class="calendar-title">
|
|
117
117
|
<span class="month-label">${this.monthNames[this.viewDate.getMonth()]} </span><button class="year-button" type="button" data-nav="show-years">${this.viewDate.getFullYear()}</button>
|
|
118
118
|
</div>
|
|
119
|
-
<button class="nav-button ${
|
|
119
|
+
<button class="nav-button ${r?"nav-button--hidden":""}" type="button" data-nav="next-month" aria-label="Next month">
|
|
120
120
|
<svg viewBox="0 0 24 24" width="20" height="20">
|
|
121
121
|
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" fill="currentColor"/>
|
|
122
122
|
</svg>
|
|
@@ -126,7 +126,7 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
|
|
|
126
126
|
<div class="calendar-days">${this.getDaysGrid(this.viewDate.getFullYear(),this.viewDate.getMonth())}</div>
|
|
127
127
|
</div>
|
|
128
128
|
|
|
129
|
-
<if ${
|
|
129
|
+
<if ${r}>
|
|
130
130
|
<div class="month">
|
|
131
131
|
<div class="calendar-header">
|
|
132
132
|
<button class="nav-button nav-button--hidden" type="button" aria-label="Previous month">
|
|
@@ -170,17 +170,17 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
|
|
|
170
170
|
<default></default>
|
|
171
171
|
</case>
|
|
172
172
|
</div>
|
|
173
|
-
`}init(){this.parseInitialValues(),this.updateFormValue(),queueMicrotask(()=>this.updateClearButton()),this.setupClickOutside()}getDisplayValue(){const e=this.startDate?this.formatDate(this.startDate):"",t=this.endDate?this.formatDate(this.endDate):"";return e&&t?`${e} — ${t}`:e||""}getPlaceholder(){const e=this.getPlaceholderForFormat();return`${e} — ${e}`}parseDate(e){if(!e)return null;const t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(t){const[,e,a,
|
|
173
|
+
`}init(){this.parseInitialValues(),this.updateFormValue(),queueMicrotask(()=>this.updateClearButton()),this.setupClickOutside()}getDisplayValue(){const e=this.startDate?this.formatDate(this.startDate):"",t=this.endDate?this.formatDate(this.endDate):"";return e&&t?`${e} — ${t}`:e||""}getPlaceholder(){const e=this.getPlaceholderForFormat();return`${e} — ${e}`}parseDate(e){if(!e)return null;const t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(t){const[,e,a,i]=t.map(Number),r=new Date(e,a-1,i);if(!isNaN(r.getTime()))return r}if("mmmm dd, yyyy"===this.format){const t=e.match(/^([A-Za-z]+)\s+(\d{1,2}),\s+(\d{4})$/);if(t){const[,e,a,i]=t,r=this.monthNames.findIndex(t=>t.toLowerCase()===e.toLowerCase());if(r>=0){const e=new Date(parseInt(i),r,parseInt(a));if(!isNaN(e.getTime()))return e}}return null}const a=e.split(/[-\/]/);if(3===a.length){let e,t,i;switch(this.format){case"mm/dd/yyyy":case"mm-dd-yyyy":[t,i,e]=a.map(Number);break;case"dd/mm/yyyy":case"dd-mm-yyyy":[i,t,e]=a.map(Number);break;case"yyyy-mm-dd":case"yyyy/mm/dd":[e,t,i]=a.map(Number);break;default:return null}if(e&&t&&i){const a=new Date(e,t-1,i);if(!isNaN(a.getTime()))return a}}return null}formatDate(e){if(!e)return"";const t=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),r=a.toString().padStart(2,"0"),s=i.toString().padStart(2,"0"),n=t.toString();switch(this.format){case"mm/dd/yyyy":default:return`${r}/${s}/${n}`;case"dd/mm/yyyy":return`${s}/${r}/${n}`;case"yyyy-mm-dd":return`${n}-${r}-${s}`;case"yyyy/mm/dd":return`${n}/${r}/${s}`;case"dd-mm-yyyy":return`${s}-${r}-${n}`;case"mm-dd-yyyy":return`${r}-${s}-${n}`;case"mmmm dd, yyyy":return`${this.monthNames[e.getMonth()]} ${s}, ${n}`}}getPlaceholderForFormat(){switch(this.format){case"mm/dd/yyyy":default:return"MM/DD/YYYY";case"dd/mm/yyyy":return"DD/MM/YYYY";case"yyyy-mm-dd":return"YYYY-MM-DD";case"yyyy/mm/dd":return"YYYY/MM/DD";case"dd-mm-yyyy":return"DD-MM-YYYY";case"mm-dd-yyyy":return"MM-DD-YYYY";case"mmmm dd, yyyy":return"Month DD, YYYY"}}getYearsGrid(){const e=(new Date).getFullYear(),a=this.viewDate.getFullYear(),i=[];for(let r=0;r<12;r++){const s=this.yearRangeStart+r,n=["year-cell"];s===e&&n.push("year-cell--current"),s===a&&n.push("year-cell--selected"),i.push(t.html`
|
|
174
174
|
<button class="${n.join(" ")}" type="button" data-year="${s}">${s}</button>
|
|
175
|
-
`)}return
|
|
175
|
+
`)}return i}getDayHeaders(){const e=[...this.dayNames];for(let t=0;t<this.firstDayOfWeek;t++)e.push(e.shift());return e.map(e=>t.html`<div class="weekday">${e}</div>`)}getDaysGrid(e,a){const i=new Date(e,a,1),r=new Date(e,a+1,0);let s=i.getDay()-this.firstDayOfWeek;s<0&&(s+=7);const n=r.getDate(),o=new Date,l=(e,t)=>null!==t&&e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear(),d=e=>{if(this.min){const t=this.parseDate(this.min);if(t&&e<t)return!0}if(this.max){const t=this.parseDate(this.max);if(t&&e>t)return!0}return!1},c=[];for(let e=0;e<s;e++)c.push(t.html`<div class="day day--empty"></div>`);for(let i=1;i<=n;i++){const r=new Date(e,a,i),s=["day"];l(r,o)&&s.push("day--today"),d(r)&&s.push("day--disabled");const n=l(r,this.startDate),h=l(r,this.endDate);if(n&&s.push("day--range-start"),h&&s.push("day--range-end"),this.startDate&&this.endDate&&!n&&!h){const e=r.getTime();e>this.startDate.getTime()&&e<this.endDate.getTime()&&s.push("day--in-range")}if("selecting"===this.selectionPhase&&this.startDate&&this.hoverDate&&!n){const e=r.getTime(),t=this.startDate.getTime(),a=this.hoverDate.getTime(),i=Math.min(t,a),n=Math.max(t,a);(e>i&&e<n||l(r,this.hoverDate))&&s.push("day--range-preview")}if(this.presetPreviewStart&&this.presetPreviewEnd){const e=r.getTime(),t=this.presetPreviewStart.getTime(),a=this.presetPreviewEnd.getTime();l(r,this.presetPreviewStart)||l(r,this.presetPreviewEnd)?s.push("day--preset-preview-endpoint"):e>t&&e<a&&s.push("day--preset-preview")}const p=`${e}-${(a+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`;c.push(t.html`
|
|
176
176
|
<button
|
|
177
177
|
class="${s.join(" ")}"
|
|
178
178
|
type="button"
|
|
179
179
|
data-date="${p}"
|
|
180
|
-
?disabled="${d(
|
|
181
|
-
aria-label="${this.formatDate(
|
|
180
|
+
?disabled="${d(r)}"
|
|
181
|
+
aria-label="${this.formatDate(r)}"
|
|
182
182
|
>
|
|
183
|
-
${
|
|
183
|
+
${i}
|
|
184
184
|
</button>
|
|
185
|
-
`)}return c}parseInitialValues(){if(this.start){const e=this.parseDate(this.start);e&&(this.startDate=e,this.viewDate=new Date(e))}if(this.end){const e=this.parseDate(this.end);e&&(this.endDate=e)}}handleInputClick(e){this.showCalendar||this.disabled||this.readonly||this.open()}handleKeydown(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),this.showCalendar||this.open()):"Escape"===e.key&&this.showCalendar&&(this.close(),this.focus())}handleCalendarToggle(e){this.showCalendar?this.close():this.open()}handleCalendarClick(e){e.stopPropagation();const t=e.target,a=t.closest("[data-year]");if(a){const e=parseInt(a.getAttribute("data-year"),10);return this.viewDate=new Date(e,this.viewDate.getMonth(),1),this.calendarView="days",void this.updateCalendarGrid()}const
|
|
185
|
+
`)}return c}parseInitialValues(){if(this.start){const e=this.parseDate(this.start);e&&(this.startDate=e,this.viewDate=new Date(e))}if(this.end){const e=this.parseDate(this.end);e&&(this.endDate=e)}}handleInputClick(e){this.showCalendar||this.disabled||this.readonly||this.open()}handleKeydown(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),this.showCalendar||this.open()):"Escape"===e.key&&this.showCalendar&&(this.close(),this.focus())}handleCalendarToggle(e){this.showCalendar?this.close():this.open()}handleCalendarClick(e){e.stopPropagation();const t=e.target,a=t.closest("[data-year]");if(a){const e=parseInt(a.getAttribute("data-year"),10);return this.viewDate=new Date(e,this.viewDate.getMonth(),1),this.calendarView="days",void this.updateCalendarGrid()}const i=t.closest("[data-date]");if(i){const e=i.getAttribute("data-date");if(e){const[t,a,i]=e.split("-").map(Number);this.handleDaySelect(new Date(t,a-1,i))}return}const r=t.closest("[data-preset]");if(r){const e=parseInt(r.getAttribute("data-preset"),10);return void(this.presets[e]&&this.handlePresetSelect(this.presets[e]))}const s=t.closest("[data-nav]");s&&this.handleNavigation(s.getAttribute("data-nav"))}handleDaySelect(e){if("idle"===this.selectionPhase)this.startDate=e,this.endDate=null,this.selectionPhase="selecting",this.start=this.formatDate(e),this.end="",this.updateInput(),this.updateCalendarGrid();else{if(e.getTime()<this.startDate.getTime())return this.startDate=e,this.start=this.formatDate(e),this.updateInput(),void this.updateCalendarGrid();this.endDate=e,this.end=this.formatDate(e),this.selectionPhase="idle",this.hoverDate=null,this.updateInput(),this.updateFormValue(),this.updateClearButton(),this.dispatchChangeEvent(),this.close()}}handlePresetSelect(e){const t=e.start instanceof Date?e.start:this.parseDate(e.start),a=e.end instanceof Date?e.end:this.parseDate(e.end);t&&a&&(this.presetPreviewStart=null,this.presetPreviewEnd=null,this.selectRange(t,a),this.dispatchPresetEvent(e.label),this.close())}handleDayHover(e){if("selecting"!==this.selectionPhase)return;const t=e.target.closest("[data-date]");if(t){const e=t.getAttribute("data-date");if(e){const[t,a,i]=e.split("-").map(Number);this.hoverDate=new Date(t,a-1,i),this.updateCalendarGrid()}}}handleCalendarMouseOut(){"selecting"===this.selectionPhase&&this.hoverDate&&(this.hoverDate=null,this.updateCalendarGrid())}handlePresetHover(e){const t=e.target.closest("[data-preset]");if(!t)return;const a=parseInt(t.getAttribute("data-preset"),10),i=this.presets[a];if(!i)return;const r=i.start instanceof Date?i.start:this.parseDate(i.start),s=i.end instanceof Date?i.end:this.parseDate(i.end);r&&s&&(this.presetPreviewStart=r.getTime()<=s.getTime()?r:s,this.presetPreviewEnd=r.getTime()<=s.getTime()?s:r,this.updateCalendarGrid())}handlePresetHoverOut(e){const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(this.presetPreviewStart=null,this.presetPreviewEnd=null,this.updateCalendarGrid())}handleNavigation(e){switch(e){case"prev-month":this.viewDate=new Date(this.viewDate.getFullYear(),this.viewDate.getMonth()-1,1),this.updateCalendarGrid();break;case"next-month":this.viewDate=new Date(this.viewDate.getFullYear(),this.viewDate.getMonth()+1,1),this.updateCalendarGrid();break;case"today":{const e=new Date;this.viewDate=new Date(e.getFullYear(),e.getMonth(),1),this.calendarView="days",this.updateCalendarGrid();break}case"show-years":this.yearRangeStart=this.viewDate.getFullYear()-this.viewDate.getFullYear()%12,this.calendarView="years",this.updateCalendarGrid();break;case"prev-years":this.yearRangeStart-=12,this.updateCalendarGrid();break;case"next-years":this.yearRangeStart+=12,this.updateCalendarGrid()}}getBestViewDate(e,t){if(2===this.columns)return new Date(e.getFullYear(),e.getMonth(),1);const a=new Map,i=new Date(e);for(;i<=t;){const e=`${i.getFullYear()}-${i.getMonth()}`;a.set(e,(a.get(e)||0)+1),i.setDate(i.getDate()+1)}let r="",s=0;for(const[e,t]of a)t>s&&(s=t,r=e);if(r){const[e,t]=r.split("-").map(Number);return new Date(e,t,1)}return new Date(e.getFullYear(),e.getMonth(),1)}updateInput(){this.input&&(this.input.value=this.getDisplayValue())}updateClearButton(){if(!this.clearButton||!this.clearable)return;const e=(this.startDate||this.endDate)&&!this.disabled&&!this.readonly;this.clearButton.style.display=e?"":"none"}updateCalendarGrid(){this.template()}updateFormValue(){if(this.internals)if(this.name&&(this.start||this.end)){const e=new FormData;e.append(`${this.name}-start`,this.start),e.append(`${this.name}-end`,this.end),this.internals.setFormValue(e)}else this.internals.setFormValue(null)}setupClickOutside(){document.addEventListener("click",e=>{!this.contains(e.target)&&this.showCalendar&&this.close()})}handleStartPropChange(){const e=this.parseDate(this.start);this.startDate=e,e&&(this.viewDate=new Date(e)),this.updateInput(),this.updateClearButton(),this.updateFormValue(),this.showCalendar&&this.updateCalendarGrid()}handleEndPropChange(){const e=this.parseDate(this.end);this.endDate=e,this.updateInput(),this.updateClearButton(),this.updateFormValue(),this.showCalendar&&this.updateCalendarGrid()}handleShowCalendarChange(){this.calendarEl&&(this.showCalendar?(this.calendarEl.removeAttribute("hidden"),this.positionCalendar(),this.calendarEl.classList.add("calendar--open"),"function"==typeof this.calendarEl.showPopover&&this.calendarEl.showPopover(),this.dispatchOpenEvent()):(this.calendarEl.classList.remove("calendar--open"),"function"==typeof this.calendarEl.hidePopover&&this.calendarEl.hidePopover(),this.calendarEl.setAttribute("hidden",""),this.dispatchCloseEvent()))}handleDisabledChange(){this.input&&(this.input.disabled=this.disabled),this.calendarToggle&&(this.calendarToggle.disabled=this.disabled),this.updateClearButton()}handleFormatChange(){this.updateInput()}dispatchChangeEvent(){return{start:this.start,end:this.end,startDate:this.startDate,endDate:this.endDate,startIso:this.startDate?this.startDate.toISOString().split("T")[0]:"",endIso:this.endDate?this.endDate.toISOString().split("T")[0]:"",dateRangePicker:this}}dispatchOpenEvent(){return{dateRangePicker:this}}dispatchCloseEvent(){return{dateRangePicker:this}}dispatchClearEvent(){return{dateRangePicker:this}}dispatchPresetEvent(e){return{label:e,start:this.start,end:this.end,dateRangePicker:this}}dispatchFocusEvent(){return{dateRangePicker:this}}dispatchBlurEvent(){return{dateRangePicker:this}}focus(){this.input?.focus()}blur(){this.input?.blur()}clear(){this.startDate=null,this.endDate=null,this.start="",this.end="",this.selectionPhase="idle",this.hoverDate=null,this.updateInput(),this.updateFormValue(),this.updateClearButton(),this.dispatchClearEvent(),this.dispatchChangeEvent(),this.focus()}open(){this.disabled||this.readonly||(this.showCalendar=!0,this.calendarView="days",this.startDate&&(this.viewDate=new Date(this.startDate)),this.updateCalendarGrid(),this.calendarEl&&(this.calendarEl.removeAttribute("hidden"),this.positionCalendar(),this.calendarEl.classList.add("calendar--open"),"function"==typeof this.calendarEl.showPopover&&this.calendarEl.showPopover()),this.dispatchOpenEvent())}close(){this.showCalendar=!1,"selecting"===this.selectionPhase&&(this.selectionPhase="idle",this.hoverDate=null),this.calendarEl&&(this.calendarEl.classList.remove("calendar--open"),"function"==typeof this.calendarEl.hidePopover&&this.calendarEl.hidePopover(),this.calendarEl.setAttribute("hidden","")),this.dispatchCloseEvent()}positionCalendar(){if(!this.calendarEl||CSS.supports("position-anchor","--a"))return;const e=this.shadowRoot?.querySelector(".input-container");if(!e)return;const t=e.getBoundingClientRect();this.calendarEl.style.top=`${t.bottom+2}px`,this.calendarEl.style.left=`${t.left}px`,this.calendarEl.style.minWidth=`${t.width}px`}selectRange(e,t){let a=e,i=t;if(a.getTime()>i.getTime()){const e=a;a=i,i=e}this.startDate=a,this.endDate=i,this.start=this.formatDate(a),this.end=this.formatDate(i),this.selectionPhase="idle",this.hoverDate=null,this.viewDate=this.getBestViewDate(a,i),this.updateInput(),this.updateFormValue(),this.updateClearButton(),this.updateCalendarGrid(),this.dispatchChangeEvent()}checkValidity(){return this.input?.checkValidity()??!0}reportValidity(){return this.input?.reportValidity()??!0}setCustomValidity(e){this.input?.setCustomValidity(e)}},r})();return e.SniceDateRangePicker=r,e}({},Snice);
|
|
186
186
|
//# sourceMappingURL=snice-date-range-picker.min.js.map
|