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,8 +1,9 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/testimonial.md -->
|
|
2
2
|
|
|
3
|
-
# Testimonial
|
|
3
|
+
# Testimonial
|
|
4
|
+
`<snice-testimonial>`
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Displays a quote or review card with author information, avatar, role/company attribution, optional star rating, and multiple visual variants.
|
|
6
7
|
|
|
7
8
|
## Table of Contents
|
|
8
9
|
- [Properties](#properties)
|
|
@@ -11,7 +12,6 @@ The testimonial component displays a quote or review card with author informatio
|
|
|
11
12
|
- [Basic Usage](#basic-usage)
|
|
12
13
|
- [Examples](#examples)
|
|
13
14
|
- [Accessibility](#accessibility)
|
|
14
|
-
- [Browser Support](#browser-support)
|
|
15
15
|
|
|
16
16
|
## Properties
|
|
17
17
|
|
|
@@ -20,19 +20,11 @@ The testimonial component displays a quote or review card with author informatio
|
|
|
20
20
|
| `quote` | `string` | `''` | The testimonial quote text |
|
|
21
21
|
| `author` | `string` | `''` | Author name |
|
|
22
22
|
| `avatar` | `string` | `''` | URL for the author's avatar image |
|
|
23
|
-
| `role` | `string` | `''` | Author's role or job title
|
|
23
|
+
| `role` | `string` | `''` | Author's role or job title |
|
|
24
24
|
| `company` | `string` | `''` | Author's company name (renders as "role at company") |
|
|
25
25
|
| `rating` | `number` | `0` | Star rating from 0-5 (0 hides the rating display) |
|
|
26
26
|
| `variant` | `'card' \| 'minimal' \| 'featured'` | `'card'` | Visual style variant |
|
|
27
27
|
|
|
28
|
-
### Variants
|
|
29
|
-
|
|
30
|
-
| Variant | Description |
|
|
31
|
-
|---------|-------------|
|
|
32
|
-
| `card` | Default style with background, border, and shadow |
|
|
33
|
-
| `minimal` | Left border accent, no background fill |
|
|
34
|
-
| `featured` | Primary-colored background with inverse (light) text |
|
|
35
|
-
|
|
36
28
|
## CSS Custom Properties
|
|
37
29
|
|
|
38
30
|
| Property | Description | Default |
|
|
@@ -41,41 +33,28 @@ The testimonial component displays a quote or review card with author informatio
|
|
|
41
33
|
| `--snice-color-border` | Card border color | `rgb(226 226 226)` |
|
|
42
34
|
| `--snice-color-primary` | Quote icon color, minimal border accent, featured background | `rgb(37 99 235)` |
|
|
43
35
|
| `--snice-color-text` | Primary text color | `rgb(23 23 23)` |
|
|
44
|
-
| `--snice-color-text-secondary` | Author role/company text color |
|
|
36
|
+
| `--snice-color-text-secondary` | Author role/company text color | -- |
|
|
45
37
|
| `--snice-color-text-inverse` | Text color for the featured variant | `rgb(250 250 250)` |
|
|
46
38
|
| `--snice-color-warning` | Star rating color | `rgb(234 179 8)` |
|
|
47
|
-
| `--snice-shadow-sm` | Card shadow |
|
|
39
|
+
| `--snice-shadow-sm` | Card shadow | -- |
|
|
48
40
|
| `--snice-spacing-lg` | Card padding | `1.5rem` |
|
|
49
41
|
| `--snice-border-radius-lg` | Card border radius | `0.5rem` |
|
|
50
42
|
|
|
51
43
|
## CSS Parts
|
|
52
44
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `author` | `<div>` | The author info container (avatar, name, role) |
|
|
60
|
-
| `stars` | `<div>` | The star rating element |
|
|
45
|
+
| Part | Description |
|
|
46
|
+
|------|-------------|
|
|
47
|
+
| `base` | The outer testimonial container |
|
|
48
|
+
| `quote` | The quote text element |
|
|
49
|
+
| `author` | The author info container (avatar, name, role) |
|
|
50
|
+
| `stars` | The star rating element |
|
|
61
51
|
|
|
62
|
-
|
|
63
|
-
snice-testimonial::part(base) {
|
|
64
|
-
border: 2px solid #e2e8f0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
snice-testimonial::part(quote) {
|
|
68
|
-
font-style: italic;
|
|
69
|
-
font-size: 1.125rem;
|
|
70
|
-
}
|
|
52
|
+
## Basic Usage
|
|
71
53
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
54
|
+
```typescript
|
|
55
|
+
import 'snice/components/testimonial/snice-testimonial';
|
|
75
56
|
```
|
|
76
57
|
|
|
77
|
-
## Basic Usage
|
|
78
|
-
|
|
79
58
|
```html
|
|
80
59
|
<snice-testimonial
|
|
81
60
|
quote="This product changed my workflow completely."
|
|
@@ -83,10 +62,6 @@ snice-testimonial::part(stars) {
|
|
|
83
62
|
></snice-testimonial>
|
|
84
63
|
```
|
|
85
64
|
|
|
86
|
-
```typescript
|
|
87
|
-
import 'snice/components/testimonial/snice-testimonial';
|
|
88
|
-
```
|
|
89
|
-
|
|
90
65
|
## Examples
|
|
91
66
|
|
|
92
67
|
### Card Variant (Default)
|
|
@@ -121,83 +96,51 @@ Use the `minimal` variant for a subtle left-border accent style without a backgr
|
|
|
121
96
|
|
|
122
97
|
### Featured Variant
|
|
123
98
|
|
|
124
|
-
Use the `featured` variant for a bold, primary-colored background with inverse text
|
|
99
|
+
Use the `featured` variant for a bold, primary-colored background with inverse text.
|
|
125
100
|
|
|
126
101
|
```html
|
|
127
102
|
<snice-testimonial
|
|
128
103
|
variant="featured"
|
|
129
|
-
quote="Outstanding experience from start to finish.
|
|
104
|
+
quote="Outstanding experience from start to finish."
|
|
130
105
|
author="John Smith"
|
|
131
106
|
role="VP of Engineering"
|
|
132
107
|
company="TechCorp"
|
|
133
|
-
avatar="https://example.com/avatars/john.jpg"
|
|
134
108
|
rating="5"
|
|
135
109
|
></snice-testimonial>
|
|
136
110
|
```
|
|
137
111
|
|
|
138
112
|
### Without Rating
|
|
139
113
|
|
|
140
|
-
Set `rating` to `0` (or omit it) to hide the star rating display
|
|
114
|
+
Set `rating` to `0` (or omit it) to hide the star rating display.
|
|
141
115
|
|
|
142
116
|
```html
|
|
143
117
|
<snice-testimonial
|
|
144
118
|
quote="A game-changer for our team's productivity."
|
|
145
119
|
author="Sarah Kim"
|
|
146
120
|
role="Product Manager"
|
|
147
|
-
company="StartupXYZ"
|
|
148
121
|
></snice-testimonial>
|
|
149
122
|
```
|
|
150
123
|
|
|
151
124
|
### Testimonial Grid
|
|
152
125
|
|
|
153
|
-
Arrange multiple testimonials in a responsive grid layout.
|
|
154
|
-
|
|
155
126
|
```html
|
|
156
|
-
<style>
|
|
157
|
-
.testimonial-grid {
|
|
158
|
-
display: grid;
|
|
159
|
-
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
|
160
|
-
gap: 1.5rem;
|
|
161
|
-
}
|
|
162
|
-
</style>
|
|
163
|
-
|
|
164
|
-
<div class="testimonial-grid">
|
|
127
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem;">
|
|
165
128
|
<snice-testimonial
|
|
166
129
|
quote="Incredible tool. Saved us hours every week."
|
|
167
130
|
author="Maria Lopez"
|
|
168
|
-
role="Engineering Manager"
|
|
169
|
-
company="DataFlow"
|
|
170
131
|
rating="5"
|
|
171
132
|
></snice-testimonial>
|
|
172
|
-
|
|
173
133
|
<snice-testimonial
|
|
174
134
|
quote="The best UI components library I've used."
|
|
175
135
|
author="Chris Park"
|
|
176
|
-
role="Frontend Developer"
|
|
177
|
-
company="WebScale"
|
|
178
|
-
avatar="https://example.com/avatars/chris.jpg"
|
|
179
136
|
rating="4"
|
|
180
137
|
></snice-testimonial>
|
|
181
|
-
|
|
182
|
-
<snice-testimonial
|
|
183
|
-
quote="Clean design, great documentation, easy integration."
|
|
184
|
-
author="Emma Wilson"
|
|
185
|
-
role="Tech Lead"
|
|
186
|
-
company="BuildRight"
|
|
187
|
-
rating="5"
|
|
188
|
-
></snice-testimonial>
|
|
189
138
|
</div>
|
|
190
139
|
```
|
|
191
140
|
|
|
192
141
|
## Accessibility
|
|
193
142
|
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
- **No interactive elements**: Testimonials are display-only, so no keyboard interaction is needed
|
|
199
|
-
|
|
200
|
-
## Browser Support
|
|
201
|
-
|
|
202
|
-
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
203
|
-
- Requires Custom Elements v1 and Shadow DOM support
|
|
143
|
+
- Avatar images use the author name as alt text for screen readers
|
|
144
|
+
- Star rating is conveyed with visible star characters
|
|
145
|
+
- Color contrast meets WCAG AA across all variants
|
|
146
|
+
- No interactive elements; testimonials are display-only
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/textarea.md -->
|
|
2
2
|
|
|
3
3
|
# Textarea
|
|
4
4
|
`<snice-textarea>`
|
|
5
5
|
|
|
6
|
-
A multi-line text input with validation, character counting, and optional auto-grow.
|
|
6
|
+
A multi-line text input with validation, character counting, and optional auto-grow. Form-associated.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-textarea.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
package/docs/components/theme.md
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/theme.md -->
|
|
2
2
|
|
|
3
3
|
# Theme
|
|
4
4
|
`theme.css`
|
|
5
5
|
|
|
6
|
-
Provides all design tokens for Snice components via CSS custom properties. Includes light and dark themes with automatic system preference detection.
|
|
6
|
+
Provides all design tokens for Snice components via CSS custom properties. Includes light and dark themes with automatic system preference detection. This is a CSS-only module with no web component.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import 'snice/components/theme/theme.css';
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<link rel="stylesheet" href="theme.min.css">
|
|
18
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [CSS Custom Properties](#css-custom-properties)
|
|
10
|
+
- [Basic Usage](#basic-usage)
|
|
11
|
+
- [Examples](#examples)
|
|
19
12
|
|
|
20
13
|
## CSS Custom Properties
|
|
21
14
|
|
|
@@ -137,6 +130,10 @@ color: hsl(var(--snice-color-blue-500));
|
|
|
137
130
|
|
|
138
131
|
## Basic Usage
|
|
139
132
|
|
|
133
|
+
```typescript
|
|
134
|
+
import 'snice/components/theme/theme.css';
|
|
135
|
+
```
|
|
136
|
+
|
|
140
137
|
```html
|
|
141
138
|
<link rel="stylesheet" href="snice/components/theme/theme.css">
|
|
142
139
|
```
|
|
@@ -168,16 +165,6 @@ Set `data-theme="dark"` on any element to apply dark theme tokens.
|
|
|
168
165
|
</html>
|
|
169
166
|
```
|
|
170
167
|
|
|
171
|
-
### Force Light Theme
|
|
172
|
-
|
|
173
|
-
Set `data-theme="light"` to override system preference and force light theme.
|
|
174
|
-
|
|
175
|
-
```html
|
|
176
|
-
<html data-theme="light">
|
|
177
|
-
<!-- Always light, regardless of system preference -->
|
|
178
|
-
</html>
|
|
179
|
-
```
|
|
180
|
-
|
|
181
168
|
### Automatic Theme (System Preference)
|
|
182
169
|
|
|
183
170
|
Without a `data-theme` attribute, the theme follows the user's system preference via `prefers-color-scheme`.
|
|
@@ -1,46 +1,41 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/time-picker.md -->
|
|
2
2
|
|
|
3
3
|
# Time Picker
|
|
4
4
|
`<snice-time-picker>`
|
|
5
5
|
|
|
6
|
-
Single time selection with hour/minute/second selectors and AM/PM toggle.
|
|
6
|
+
Single time selection with hour/minute/second selectors and AM/PM toggle. Form-associated.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-time-picker.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
23
|
-
| Property |
|
|
24
|
-
|
|
25
|
-
| `value` | `
|
|
26
|
-
| `format` | `
|
|
27
|
-
| `size` | `
|
|
28
|
-
| `step` | `
|
|
29
|
-
| `minTime`
|
|
30
|
-
| `maxTime`
|
|
31
|
-
| `showSeconds`
|
|
32
|
-
| `disabled` | `
|
|
33
|
-
| `readonly` | `
|
|
34
|
-
| `loading` | `
|
|
35
|
-
| `clearable` | `
|
|
36
|
-
| `placeholder` | `
|
|
37
|
-
| `label` | `
|
|
38
|
-
| `helperText`
|
|
39
|
-
| `errorText`
|
|
40
|
-
| `required` | `
|
|
41
|
-
| `invalid` | `
|
|
42
|
-
| `name` | `
|
|
43
|
-
| `variant` | `
|
|
18
|
+
| Property | Type | Default | Description |
|
|
19
|
+
|----------|------|---------|-------------|
|
|
20
|
+
| `value` | `string` | `''` | Time value (HH:MM or HH:MM:SS) |
|
|
21
|
+
| `format` | `'12h' \| '24h'` | `'24h'` | Display format |
|
|
22
|
+
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Component size |
|
|
23
|
+
| `step` | `1 \| 5 \| 10 \| 15 \| 30` | `15` | Minute step interval |
|
|
24
|
+
| `minTime` (attr: `min-time`) | `string` | `''` | Minimum selectable time |
|
|
25
|
+
| `maxTime` (attr: `max-time`) | `string` | `''` | Maximum selectable time |
|
|
26
|
+
| `showSeconds` (attr: `show-seconds`) | `boolean` | `false` | Show seconds selector |
|
|
27
|
+
| `disabled` | `boolean` | `false` | Disables the picker |
|
|
28
|
+
| `readonly` | `boolean` | `false` | Makes input read-only |
|
|
29
|
+
| `loading` | `boolean` | `false` | Shows loading spinner |
|
|
30
|
+
| `clearable` | `boolean` | `false` | Shows clear button when value is set |
|
|
31
|
+
| `placeholder` | `string` | `''` | Input placeholder text |
|
|
32
|
+
| `label` | `string` | `''` | Label text |
|
|
33
|
+
| `helperText` (attr: `helper-text`) | `string` | `''` | Helper text below input |
|
|
34
|
+
| `errorText` (attr: `error-text`) | `string` | `''` | Error text below input |
|
|
35
|
+
| `required` | `boolean` | `false` | Marks as required |
|
|
36
|
+
| `invalid` | `boolean` | `false` | Shows invalid styling |
|
|
37
|
+
| `name` | `string` | `''` | Form field name |
|
|
38
|
+
| `variant` | `'dropdown' \| 'inline'` | `'dropdown'` | Display variant |
|
|
44
39
|
|
|
45
40
|
## Methods
|
|
46
41
|
|
|
@@ -51,8 +46,8 @@ import 'snice/components/time-picker/snice-time-picker';
|
|
|
51
46
|
| `clear()` | -- | Clears the selected time |
|
|
52
47
|
| `focus()` | -- | Focuses the input |
|
|
53
48
|
| `blur()` | -- | Removes focus |
|
|
54
|
-
| `checkValidity()` | -- | Returns input validity |
|
|
55
|
-
| `reportValidity()` | -- | Reports input validity |
|
|
49
|
+
| `checkValidity()` | -- | Returns input validity (`boolean`) |
|
|
50
|
+
| `reportValidity()` | -- | Reports input validity to user (`boolean`) |
|
|
56
51
|
| `setCustomValidity()` | `message: string` | Sets custom validation message |
|
|
57
52
|
|
|
58
53
|
## Events
|
|
@@ -123,22 +118,6 @@ Use the `size` attribute to change the picker size.
|
|
|
123
118
|
<snice-time-picker size="large" label="Large"></snice-time-picker>
|
|
124
119
|
```
|
|
125
120
|
|
|
126
|
-
### Loading
|
|
127
|
-
|
|
128
|
-
Set the `loading` attribute to show a spinner and disable interaction.
|
|
129
|
-
|
|
130
|
-
```html
|
|
131
|
-
<snice-time-picker loading label="Loading"></snice-time-picker>
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Clearable
|
|
135
|
-
|
|
136
|
-
Set the `clearable` attribute to show a clear button when a value is selected.
|
|
137
|
-
|
|
138
|
-
```html
|
|
139
|
-
<snice-time-picker value="14:30" clearable label="Clearable"></snice-time-picker>
|
|
140
|
-
```
|
|
141
|
-
|
|
142
121
|
### Step Intervals
|
|
143
122
|
|
|
144
123
|
Use the `step` attribute to control the minute increment in the selector.
|
|
@@ -171,6 +150,22 @@ Use `variant="inline"` to always show the time selectors without a dropdown.
|
|
|
171
150
|
<snice-time-picker variant="inline" value="10:00" label="Inline Picker"></snice-time-picker>
|
|
172
151
|
```
|
|
173
152
|
|
|
153
|
+
### Clearable
|
|
154
|
+
|
|
155
|
+
Set the `clearable` attribute to show a clear button when a value is selected.
|
|
156
|
+
|
|
157
|
+
```html
|
|
158
|
+
<snice-time-picker value="14:30" clearable label="Clearable"></snice-time-picker>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Loading
|
|
162
|
+
|
|
163
|
+
Set the `loading` attribute to show a spinner and disable interaction.
|
|
164
|
+
|
|
165
|
+
```html
|
|
166
|
+
<snice-time-picker loading label="Loading"></snice-time-picker>
|
|
167
|
+
```
|
|
168
|
+
|
|
174
169
|
### Helper and Error Text
|
|
175
170
|
|
|
176
171
|
Use `helper-text` and `error-text` for guidance or validation messages.
|
|
@@ -191,16 +186,6 @@ Use `helper-text` and `error-text` for guidance or validation messages.
|
|
|
191
186
|
|
|
192
187
|
Use `name` and `required` for native form participation.
|
|
193
188
|
|
|
194
|
-
```html
|
|
195
|
-
<form>
|
|
196
|
-
<snice-time-picker name="startTime" required label="Start Time"></snice-time-picker>
|
|
197
|
-
</form>
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### Form Validation
|
|
201
|
-
|
|
202
|
-
The component supports the Constraint Validation API. Use `checkValidity()`, `reportValidity()`, and `setCustomValidity()` for custom form validation.
|
|
203
|
-
|
|
204
189
|
```html
|
|
205
190
|
<form>
|
|
206
191
|
<snice-time-picker name="startTime" required label="Start Time"></snice-time-picker>
|
|
@@ -208,19 +193,10 @@ The component supports the Constraint Validation API. Use `checkValidity()`, `re
|
|
|
208
193
|
</form>
|
|
209
194
|
```
|
|
210
195
|
|
|
211
|
-
```typescript
|
|
212
|
-
picker.setCustomValidity('Please select a time during business hours');
|
|
213
|
-
picker.reportValidity();
|
|
214
|
-
```
|
|
215
|
-
|
|
216
196
|
### Event Handling
|
|
217
197
|
|
|
218
198
|
Listen for time changes using the `time-change` event.
|
|
219
199
|
|
|
220
|
-
```html
|
|
221
|
-
<snice-time-picker label="Pick a time"></snice-time-picker>
|
|
222
|
-
```
|
|
223
|
-
|
|
224
200
|
```typescript
|
|
225
201
|
picker.addEventListener('time-change', (e) => {
|
|
226
202
|
console.log('Value:', e.detail.value);
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/time-range-picker.md -->
|
|
2
2
|
|
|
3
3
|
# Time Range Picker
|
|
4
4
|
`<snice-time-range-picker>`
|
|
5
5
|
|
|
6
6
|
A vertically stacked time slot picker for selecting time ranges within a single day via click and drag.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-time-range-picker.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
@@ -32,15 +27,6 @@ import 'snice/components/time-range-picker/snice-time-range-picker';
|
|
|
32
27
|
| `readonly` | `boolean` | `false` | Show selections but prevent interaction |
|
|
33
28
|
| `disabled` | `boolean` | `false` | Disable all interaction |
|
|
34
29
|
|
|
35
|
-
## Methods
|
|
36
|
-
|
|
37
|
-
| Method | Arguments | Description |
|
|
38
|
-
|--------|-----------|-------------|
|
|
39
|
-
| `getSelectedRanges()` | -- | Returns `TimeRange[]` |
|
|
40
|
-
| `setSelectedRanges()` | `ranges: TimeRange[]` | Set selected ranges |
|
|
41
|
-
| `clearSelection()` | -- | Clear all selections |
|
|
42
|
-
| `isSlotDisabled()` | `time: string` | Check if slot is disabled, returns `boolean` |
|
|
43
|
-
|
|
44
30
|
### TimeRange Interface
|
|
45
31
|
|
|
46
32
|
```typescript
|
|
@@ -50,6 +36,15 @@ interface TimeRange {
|
|
|
50
36
|
}
|
|
51
37
|
```
|
|
52
38
|
|
|
39
|
+
## Methods
|
|
40
|
+
|
|
41
|
+
| Method | Arguments | Description |
|
|
42
|
+
|--------|-----------|-------------|
|
|
43
|
+
| `getSelectedRanges()` | -- | Returns `TimeRange[]` |
|
|
44
|
+
| `setSelectedRanges()` | `ranges: TimeRange[]` | Set selected ranges |
|
|
45
|
+
| `clearSelection()` | -- | Clear all selections |
|
|
46
|
+
| `isSlotDisabled()` | `time: string` | Check if slot is disabled, returns `boolean` |
|
|
47
|
+
|
|
53
48
|
## Events
|
|
54
49
|
|
|
55
50
|
| Event | Detail | Description |
|
|
@@ -60,25 +55,11 @@ interface TimeRange {
|
|
|
60
55
|
|
|
61
56
|
## CSS Parts
|
|
62
57
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
66
|
-
|
|
67
|
-
| `
|
|
68
|
-
| `header` | `<div>` | The header with label and selected value display |
|
|
69
|
-
| `slots` | `<div>` | The time slots container |
|
|
70
|
-
|
|
71
|
-
```css
|
|
72
|
-
snice-time-range-picker::part(header) {
|
|
73
|
-
font-weight: 600;
|
|
74
|
-
padding: 0.75rem;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
snice-time-range-picker::part(slots) {
|
|
78
|
-
max-height: 400px;
|
|
79
|
-
overflow-y: auto;
|
|
80
|
-
}
|
|
81
|
-
```
|
|
58
|
+
| Part | Description |
|
|
59
|
+
|------|-------------|
|
|
60
|
+
| `base` | The outer wrapper container |
|
|
61
|
+
| `header` | The header with label and selected value display |
|
|
62
|
+
| `slots` | The time slots container |
|
|
82
63
|
|
|
83
64
|
## Basic Usage
|
|
84
65
|
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/timeline.md -->
|
|
2
2
|
|
|
3
3
|
# Timeline
|
|
4
4
|
`<snice-timeline>`
|
|
5
5
|
|
|
6
|
-
Displays events in chronological order with markers, timestamps, and descriptions.
|
|
6
|
+
Displays events in chronological order with markers, timestamps, and descriptions. Supports vertical and horizontal orientations with configurable item positioning.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-timeline.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [CSS Parts](#css-parts)
|
|
11
|
+
- [Basic Usage](#basic-usage)
|
|
12
|
+
- [Examples](#examples)
|
|
20
13
|
|
|
21
14
|
## Properties
|
|
22
15
|
|
package/docs/components/timer.md
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
<!-- AI: For
|
|
1
|
+
<!-- AI: For the AI-optimized version of this doc, see docs/ai/components/timer.md -->
|
|
2
2
|
|
|
3
3
|
# Timer
|
|
4
4
|
`<snice-timer>`
|
|
5
5
|
|
|
6
|
-
A stopwatch and countdown timer component.
|
|
6
|
+
A stopwatch and countdown timer component with start/stop/reset controls.
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**CDN**
|
|
16
|
-
```html
|
|
17
|
-
<script src="snice-runtime.min.js"></script>
|
|
18
|
-
<script src="snice-timer.min.js"></script>
|
|
19
|
-
```
|
|
8
|
+
## Table of Contents
|
|
9
|
+
- [Properties](#properties)
|
|
10
|
+
- [Methods](#methods)
|
|
11
|
+
- [Events](#events)
|
|
12
|
+
- [CSS Parts](#css-parts)
|
|
13
|
+
- [Basic Usage](#basic-usage)
|
|
14
|
+
- [Examples](#examples)
|
|
20
15
|
|
|
21
16
|
## Properties
|
|
22
17
|
|
|
@@ -46,24 +41,11 @@ import 'snice/components/timer/snice-timer';
|
|
|
46
41
|
|
|
47
42
|
## CSS Parts
|
|
48
43
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
| `
|
|
54
|
-
| `display` | `<div>` | The time display element |
|
|
55
|
-
| `controls` | `<div>` | The start/stop/reset button container |
|
|
56
|
-
|
|
57
|
-
```css
|
|
58
|
-
snice-timer::part(display) {
|
|
59
|
-
font-size: 3rem;
|
|
60
|
-
font-family: monospace;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
snice-timer::part(controls) {
|
|
64
|
-
gap: 1rem;
|
|
65
|
-
}
|
|
66
|
-
```
|
|
44
|
+
| Part | Description |
|
|
45
|
+
|------|-------------|
|
|
46
|
+
| `base` | The outer timer container |
|
|
47
|
+
| `display` | The time display element |
|
|
48
|
+
| `controls` | The start/stop/reset button container |
|
|
67
49
|
|
|
68
50
|
## Basic Usage
|
|
69
51
|
|
|
@@ -83,6 +65,8 @@ import 'snice/components/timer/snice-timer';
|
|
|
83
65
|
|
|
84
66
|
### Stopwatch
|
|
85
67
|
|
|
68
|
+
Use the default `stopwatch` mode to count up from zero.
|
|
69
|
+
|
|
86
70
|
```html
|
|
87
71
|
<snice-timer id="stopwatch" mode="stopwatch"></snice-timer>
|
|
88
72
|
|