snice 3.1.0 → 3.3.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 +90 -41
- package/dist/components/accordion/snice-accordion-item.d.ts +2 -2
- package/dist/components/accordion/snice-accordion-item.js +9 -9
- package/dist/components/accordion/snice-accordion-item.js.map +1 -1
- package/dist/components/accordion/snice-accordion.d.ts +2 -2
- package/dist/components/accordion/snice-accordion.js +9 -9
- package/dist/components/accordion/snice-accordion.js.map +1 -1
- package/dist/components/actions/snice-actions.d.ts +28 -0
- package/dist/components/actions/snice-actions.js +220 -0
- package/dist/components/actions/snice-actions.js.map +1 -0
- package/dist/components/actions/snice-actions.types.d.ts +27 -0
- package/dist/components/alert/snice-alert.d.ts +2 -2
- package/dist/components/alert/snice-alert.js +9 -9
- package/dist/components/alert/snice-alert.js.map +1 -1
- package/dist/components/audio-recorder/snice-audio-recorder.d.ts +58 -0
- package/dist/components/audio-recorder/snice-audio-recorder.js +413 -0
- package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -0
- package/dist/components/audio-recorder/snice-audio-recorder.types.d.ts +28 -0
- package/dist/components/avatar/snice-avatar.d.ts +2 -2
- package/dist/components/avatar/snice-avatar.js +9 -9
- package/dist/components/avatar/snice-avatar.js.map +1 -1
- package/dist/components/badge/snice-badge.d.ts +2 -2
- package/dist/components/badge/snice-badge.js +10 -10
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/banner/snice-banner.d.ts +22 -0
- package/dist/components/banner/snice-banner.js +180 -0
- package/dist/components/banner/snice-banner.js.map +1 -0
- package/dist/components/banner/snice-banner.types.d.ts +14 -0
- package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +2 -2
- package/dist/components/breadcrumbs/snice-breadcrumbs.js +9 -9
- package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
- package/dist/components/button/snice-button.d.ts +2 -2
- package/dist/components/button/snice-button.js +9 -9
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/components/calendar/snice-calendar.d.ts +46 -0
- package/dist/components/calendar/snice-calendar.js +294 -0
- package/dist/components/calendar/snice-calendar.js.map +1 -0
- package/dist/components/calendar/snice-calendar.types.d.ts +34 -0
- package/dist/components/camera/snice-camera.d.ts +39 -0
- package/dist/components/camera/snice-camera.js +286 -0
- package/dist/components/camera/snice-camera.js.map +1 -0
- package/dist/components/camera/snice-camera.types.d.ts +28 -0
- package/dist/components/card/snice-card.d.ts +2 -2
- package/dist/components/card/snice-card.js +9 -9
- package/dist/components/card/snice-card.js.map +1 -1
- package/dist/components/carousel/snice-carousel.d.ts +32 -0
- package/dist/components/carousel/snice-carousel.js +279 -0
- package/dist/components/carousel/snice-carousel.js.map +1 -0
- package/dist/components/carousel/snice-carousel.types.d.ts +22 -0
- package/dist/components/chart/snice-chart.d.ts +73 -0
- package/dist/components/chart/snice-chart.js +940 -0
- package/dist/components/chart/snice-chart.js.map +1 -0
- package/dist/components/chart/snice-chart.types.d.ts +71 -0
- package/dist/components/chat/snice-chat.d.ts +98 -0
- package/dist/components/chat/snice-chat.js +589 -0
- package/dist/components/chat/snice-chat.js.map +1 -0
- package/dist/components/chat/snice-chat.types.d.ts +141 -0
- package/dist/components/checkbox/snice-checkbox.d.ts +2 -2
- package/dist/components/checkbox/snice-checkbox.js +9 -9
- package/dist/components/checkbox/snice-checkbox.js.map +1 -1
- package/dist/components/chip/snice-chip.d.ts +2 -2
- package/dist/components/chip/snice-chip.js +9 -9
- package/dist/components/chip/snice-chip.js.map +1 -1
- package/dist/components/code-block/snice-code-block.d.ts +15 -0
- package/dist/components/code-block/snice-code-block.js +141 -0
- package/dist/components/code-block/snice-code-block.js.map +1 -0
- package/dist/components/code-block/snice-code-block.types.d.ts +15 -0
- package/dist/components/color-display/snice-color-display.d.ts +14 -0
- package/dist/components/color-display/snice-color-display.js +151 -0
- package/dist/components/color-display/snice-color-display.js.map +1 -0
- package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
- package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
- package/dist/components/color-picker/snice-color-picker.js +489 -0
- package/dist/components/color-picker/snice-color-picker.js.map +1 -0
- package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
- package/dist/components/command-palette/snice-command-palette.d.ts +47 -0
- package/dist/components/command-palette/snice-command-palette.js +428 -0
- package/dist/components/command-palette/snice-command-palette.js.map +1 -0
- package/dist/components/command-palette/snice-command-palette.types.d.ts +49 -0
- package/dist/components/date-picker/snice-date-picker.d.ts +2 -2
- package/dist/components/date-picker/snice-date-picker.js +10 -10
- package/dist/components/date-picker/snice-date-picker.js.map +1 -1
- package/dist/components/divider/snice-divider.d.ts +2 -2
- package/dist/components/divider/snice-divider.js +9 -9
- package/dist/components/divider/snice-divider.js.map +1 -1
- package/dist/components/doc/snice-doc.d.ts +93 -0
- package/dist/components/doc/snice-doc.js +626 -0
- package/dist/components/doc/snice-doc.js.map +1 -0
- package/dist/components/doc/snice-doc.types.d.ts +118 -0
- package/dist/components/draw/snice-draw.d.ts +71 -0
- package/dist/components/draw/snice-draw.js +709 -0
- package/dist/components/draw/snice-draw.js.map +1 -0
- package/dist/components/draw/snice-draw.types.d.ts +41 -0
- package/dist/components/drawer/snice-drawer.d.ts +2 -2
- package/dist/components/drawer/snice-drawer.js +9 -9
- package/dist/components/drawer/snice-drawer.js.map +1 -1
- package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
- package/dist/components/empty-state/snice-empty-state.js +121 -0
- package/dist/components/empty-state/snice-empty-state.js.map +1 -0
- package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
- package/dist/components/file-upload/snice-file-upload.d.ts +44 -0
- package/dist/components/file-upload/snice-file-upload.js +387 -0
- package/dist/components/file-upload/snice-file-upload.js.map +1 -0
- package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
- package/dist/components/gantt/snice-gantt.d.ts +29 -0
- package/dist/components/gantt/snice-gantt.js +268 -0
- package/dist/components/gantt/snice-gantt.js.map +1 -0
- package/dist/components/gantt/snice-gantt.types.d.ts +23 -0
- package/dist/components/image/snice-image.d.ts +22 -0
- package/dist/components/image/snice-image.js +201 -0
- package/dist/components/image/snice-image.js.map +1 -0
- package/dist/components/image/snice-image.types.d.ts +17 -0
- package/dist/components/input/snice-input.d.ts +2 -2
- package/dist/components/input/snice-input.js +9 -9
- package/dist/components/input/snice-input.js.map +1 -1
- package/dist/components/kanban/snice-kanban.d.ts +31 -0
- package/dist/components/kanban/snice-kanban.js +243 -0
- package/dist/components/kanban/snice-kanban.js.map +1 -0
- package/dist/components/kanban/snice-kanban.types.d.ts +29 -0
- package/dist/components/kpi/snice-kpi.d.ts +16 -0
- package/dist/components/kpi/snice-kpi.js +162 -0
- package/dist/components/kpi/snice-kpi.js.map +1 -0
- package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
- package/dist/components/layout/snice-layout-blog.d.ts +2 -2
- package/dist/components/layout/snice-layout-blog.js +9 -9
- package/dist/components/layout/snice-layout-blog.js.map +1 -1
- package/dist/components/layout/snice-layout-card.d.ts +2 -2
- package/dist/components/layout/snice-layout-card.js +9 -9
- package/dist/components/layout/snice-layout-card.js.map +1 -1
- package/dist/components/layout/snice-layout-centered.d.ts +2 -2
- package/dist/components/layout/snice-layout-centered.js +9 -9
- package/dist/components/layout/snice-layout-centered.js.map +1 -1
- package/dist/components/layout/snice-layout-dashboard.d.ts +2 -2
- package/dist/components/layout/snice-layout-dashboard.js +9 -9
- package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
- package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
- package/dist/components/layout/snice-layout-fullscreen.js +9 -9
- package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
- package/dist/components/layout/snice-layout-landing.d.ts +2 -2
- package/dist/components/layout/snice-layout-landing.js +9 -9
- package/dist/components/layout/snice-layout-landing.js.map +1 -1
- package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
- package/dist/components/layout/snice-layout-minimal.js +9 -9
- package/dist/components/layout/snice-layout-minimal.js.map +1 -1
- package/dist/components/layout/snice-layout-sidebar.d.ts +2 -2
- package/dist/components/layout/snice-layout-sidebar.js +9 -9
- package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
- package/dist/components/layout/snice-layout-split.d.ts +2 -2
- package/dist/components/layout/snice-layout-split.js +9 -9
- package/dist/components/layout/snice-layout-split.js.map +1 -1
- package/dist/components/layout/snice-layout.d.ts +2 -2
- package/dist/components/layout/snice-layout.js +9 -9
- package/dist/components/layout/snice-layout.js.map +1 -1
- package/dist/components/link/snice-link.d.ts +13 -0
- package/dist/components/link/snice-link.js +137 -0
- package/dist/components/link/snice-link.js.map +1 -0
- package/dist/components/link/snice-link.types.d.ts +11 -0
- package/dist/components/list/snice-list-item.d.ts +6 -0
- package/dist/components/list/snice-list-item.js +68 -0
- package/dist/components/list/snice-list-item.js.map +1 -0
- package/dist/components/list/snice-list.d.ts +23 -0
- package/dist/components/list/snice-list.js +270 -0
- package/dist/components/list/snice-list.js.map +1 -0
- package/dist/components/list/snice-list.types.d.ts +28 -0
- package/dist/components/location/snice-location.d.ts +35 -0
- package/dist/components/location/snice-location.js +238 -0
- package/dist/components/location/snice-location.js.map +1 -0
- package/dist/components/location/snice-location.types.d.ts +35 -0
- package/dist/components/login/snice-login.d.ts +2 -2
- package/dist/components/login/snice-login.js +9 -9
- package/dist/components/login/snice-login.js.map +1 -1
- package/dist/components/menu/snice-menu-divider.d.ts +4 -0
- package/dist/components/menu/snice-menu-divider.js +53 -0
- package/dist/components/menu/snice-menu-divider.js.map +1 -0
- package/dist/components/menu/snice-menu-item.d.ts +10 -0
- package/dist/components/menu/snice-menu-item.js +99 -0
- package/dist/components/menu/snice-menu-item.js.map +1 -0
- package/dist/components/menu/snice-menu-item.types.d.ts +9 -0
- package/dist/components/menu/snice-menu.d.ts +27 -0
- package/dist/components/menu/snice-menu.js +199 -0
- package/dist/components/menu/snice-menu.js.map +1 -0
- package/dist/components/menu/snice-menu.types.d.ts +18 -0
- package/dist/components/modal/snice-modal.d.ts +2 -2
- package/dist/components/modal/snice-modal.js +9 -9
- package/dist/components/modal/snice-modal.js.map +1 -1
- package/dist/components/nav/snice-nav.js +1 -1
- package/dist/components/nav/snice-nav.js.map +1 -1
- package/dist/components/pagination/snice-pagination.d.ts +2 -2
- package/dist/components/pagination/snice-pagination.js +8 -8
- package/dist/components/pagination/snice-pagination.js.map +1 -1
- package/dist/components/progress/snice-progress.d.ts +2 -2
- package/dist/components/progress/snice-progress.js +9 -9
- package/dist/components/progress/snice-progress.js.map +1 -1
- package/dist/components/qr-code/qrcode.d.ts +28 -0
- package/dist/components/qr-code/qrcode.js +906 -0
- package/dist/components/qr-code/qrcode.js.map +1 -0
- package/dist/components/qr-code/snice-qr-code.d.ts +35 -0
- package/dist/components/qr-code/snice-qr-code.js +256 -0
- package/dist/components/qr-code/snice-qr-code.js.map +1 -0
- package/dist/components/qr-code/snice-qr-code.types.d.ts +33 -0
- package/dist/components/radio/snice-radio.d.ts +2 -2
- package/dist/components/radio/snice-radio.js +9 -9
- package/dist/components/radio/snice-radio.js.map +1 -1
- package/dist/components/select/snice-option.d.ts +2 -2
- package/dist/components/select/snice-option.js +8 -8
- package/dist/components/select/snice-option.js.map +1 -1
- package/dist/components/select/snice-select.d.ts +2 -2
- package/dist/components/select/snice-select.js +9 -9
- package/dist/components/select/snice-select.js.map +1 -1
- package/dist/components/skeleton/snice-skeleton.d.ts +2 -2
- package/dist/components/skeleton/snice-skeleton.js +9 -9
- package/dist/components/skeleton/snice-skeleton.js.map +1 -1
- package/dist/components/slider/snice-slider.d.ts +53 -0
- package/dist/components/slider/snice-slider.js +479 -0
- package/dist/components/slider/snice-slider.js.map +1 -0
- package/dist/components/slider/snice-slider.types.d.ts +26 -0
- package/dist/components/snice-cell-C0slgOpe.js +4 -0
- package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
- package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
- package/dist/components/sparkline/snice-sparkline.js +228 -0
- package/dist/components/sparkline/snice-sparkline.js.map +1 -0
- package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
- package/dist/components/spinner/snice-spinner.d.ts +10 -0
- package/dist/components/spinner/snice-spinner.js +109 -0
- package/dist/components/spinner/snice-spinner.js.map +1 -0
- package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
- package/dist/components/split-pane/snice-split-pane.d.ts +32 -0
- package/dist/components/split-pane/snice-split-pane.js +191 -0
- package/dist/components/split-pane/snice-split-pane.js.map +1 -0
- package/dist/components/split-pane/snice-split-pane.types.d.ts +19 -0
- package/dist/components/stat/snice-stat.d.ts +14 -0
- package/dist/components/stat/snice-stat.js +140 -0
- package/dist/components/stat/snice-stat.js.map +1 -0
- package/dist/components/stat/snice-stat.types.d.ts +12 -0
- package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
- package/dist/components/stepper/snice-stepper-panel.js +70 -0
- package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
- package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
- package/dist/components/stepper/snice-stepper.d.ts +15 -0
- package/dist/components/stepper/snice-stepper.js +163 -0
- package/dist/components/stepper/snice-stepper.js.map +1 -0
- package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
- package/dist/components/switch/snice-switch.d.ts +2 -2
- package/dist/components/switch/snice-switch.js +9 -9
- package/dist/components/switch/snice-switch.js.map +1 -1
- package/dist/components/table/snice-cell-actions.d.ts +2 -2
- package/dist/components/table/snice-cell-actions.js +9 -9
- package/dist/components/table/snice-cell-actions.js.map +1 -1
- package/dist/components/table/snice-cell-boolean.d.ts +2 -2
- package/dist/components/table/snice-cell-boolean.js +9 -9
- package/dist/components/table/snice-cell-boolean.js.map +1 -1
- package/dist/components/table/snice-cell-color.d.ts +2 -2
- package/dist/components/table/snice-cell-color.js +9 -9
- package/dist/components/table/snice-cell-color.js.map +1 -1
- package/dist/components/table/snice-cell-currency.d.ts +2 -2
- package/dist/components/table/snice-cell-currency.js +9 -9
- package/dist/components/table/snice-cell-currency.js.map +1 -1
- package/dist/components/table/snice-cell-date.d.ts +2 -2
- package/dist/components/table/snice-cell-date.js +9 -9
- package/dist/components/table/snice-cell-date.js.map +1 -1
- package/dist/components/table/snice-cell-duration.d.ts +2 -2
- package/dist/components/table/snice-cell-duration.js +9 -9
- package/dist/components/table/snice-cell-duration.js.map +1 -1
- package/dist/components/table/snice-cell-email.d.ts +2 -2
- package/dist/components/table/snice-cell-email.js +9 -9
- package/dist/components/table/snice-cell-email.js.map +1 -1
- package/dist/components/table/snice-cell-filesize.d.ts +2 -2
- package/dist/components/table/snice-cell-filesize.js +9 -9
- package/dist/components/table/snice-cell-filesize.js.map +1 -1
- package/dist/components/table/snice-cell-image.d.ts +2 -2
- package/dist/components/table/snice-cell-image.js +9 -9
- package/dist/components/table/snice-cell-image.js.map +1 -1
- package/dist/components/table/snice-cell-json.d.ts +2 -2
- package/dist/components/table/snice-cell-json.js +9 -9
- package/dist/components/table/snice-cell-json.js.map +1 -1
- package/dist/components/table/snice-cell-link.d.ts +2 -2
- package/dist/components/table/snice-cell-link.js +9 -9
- package/dist/components/table/snice-cell-link.js.map +1 -1
- package/dist/components/table/snice-cell-location.d.ts +2 -2
- package/dist/components/table/snice-cell-location.js +9 -9
- package/dist/components/table/snice-cell-location.js.map +1 -1
- package/dist/components/table/snice-cell-number.d.ts +2 -2
- package/dist/components/table/snice-cell-number.js +9 -9
- package/dist/components/table/snice-cell-number.js.map +1 -1
- package/dist/components/table/snice-cell-percentage.d.ts +2 -2
- package/dist/components/table/snice-cell-percentage.js +9 -9
- package/dist/components/table/snice-cell-percentage.js.map +1 -1
- package/dist/components/table/snice-cell-phone.d.ts +2 -2
- package/dist/components/table/snice-cell-phone.js +9 -9
- package/dist/components/table/snice-cell-phone.js.map +1 -1
- package/dist/components/table/snice-cell-progress.d.ts +2 -2
- package/dist/components/table/snice-cell-progress.js +9 -9
- package/dist/components/table/snice-cell-progress.js.map +1 -1
- package/dist/components/table/snice-cell-rating.d.ts +2 -2
- package/dist/components/table/snice-cell-rating.js +9 -9
- package/dist/components/table/snice-cell-rating.js.map +1 -1
- package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
- package/dist/components/table/snice-cell-sparkline.js +9 -9
- package/dist/components/table/snice-cell-sparkline.js.map +1 -1
- package/dist/components/table/snice-cell-status.d.ts +2 -2
- package/dist/components/table/snice-cell-status.js +9 -9
- package/dist/components/table/snice-cell-status.js.map +1 -1
- package/dist/components/table/snice-cell-tag.d.ts +2 -2
- package/dist/components/table/snice-cell-tag.js +9 -9
- package/dist/components/table/snice-cell-tag.js.map +1 -1
- package/dist/components/table/snice-cell-text.d.ts +2 -2
- package/dist/components/table/snice-cell-text.js +9 -9
- package/dist/components/table/snice-cell-text.js.map +1 -1
- package/dist/components/table/snice-cell.d.ts +2 -2
- package/dist/components/table/snice-cell.js +9 -9
- package/dist/components/table/snice-cell.js.map +1 -1
- package/dist/components/table/snice-column.d.ts +1 -1
- package/dist/components/table/snice-column.js +4 -4
- package/dist/components/table/snice-column.js.map +1 -1
- package/dist/components/table/snice-header.d.ts +2 -2
- package/dist/components/table/snice-header.js +9 -9
- package/dist/components/table/snice-header.js.map +1 -1
- package/dist/components/table/snice-progress.d.ts +2 -2
- package/dist/components/table/snice-progress.js +8 -8
- package/dist/components/table/snice-progress.js.map +1 -1
- package/dist/components/table/snice-rating.d.ts +2 -2
- package/dist/components/table/snice-rating.js +8 -8
- package/dist/components/table/snice-rating.js.map +1 -1
- package/dist/components/table/snice-row.d.ts +2 -2
- package/dist/components/table/snice-row.js +10 -10
- package/dist/components/table/snice-row.js.map +1 -1
- package/dist/components/table/snice-table.d.ts +2 -3
- package/dist/components/table/snice-table.js +9 -14
- package/dist/components/table/snice-table.js.map +1 -1
- package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
- package/dist/components/tabs/snice-tab-panel.js +9 -9
- package/dist/components/tabs/snice-tab-panel.js.map +1 -1
- package/dist/components/tabs/snice-tab.d.ts +2 -2
- package/dist/components/tabs/snice-tab.js +9 -9
- package/dist/components/tabs/snice-tab.js.map +1 -1
- package/dist/components/tabs/snice-tabs.d.ts +2 -2
- package/dist/components/tabs/snice-tabs.js +9 -9
- package/dist/components/tabs/snice-tabs.js.map +1 -1
- package/dist/components/terminal/snice-terminal.types.d.ts +133 -0
- package/dist/components/textarea/snice-textarea.d.ts +52 -0
- package/dist/components/textarea/snice-textarea.js +407 -0
- package/dist/components/textarea/snice-textarea.js.map +1 -0
- package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
- package/dist/components/timeline/snice-timeline.d.ts +11 -0
- package/dist/components/timeline/snice-timeline.js +112 -0
- package/dist/components/timeline/snice-timeline.js.map +1 -0
- package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
- package/dist/components/toast/snice-toast-container.d.ts +2 -2
- package/dist/components/toast/snice-toast-container.js +8 -8
- package/dist/components/toast/snice-toast-container.js.map +1 -1
- package/dist/components/toast/snice-toast.d.ts +2 -2
- package/dist/components/toast/snice-toast.js +8 -8
- package/dist/components/toast/snice-toast.js.map +1 -1
- package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
- package/dist/components/tooltip/snice-tooltip.js +10 -10
- package/dist/components/tooltip/snice-tooltip.js.map +1 -1
- package/dist/components/tree/snice-tree-item.d.ts +35 -0
- package/dist/components/tree/snice-tree-item.js +301 -0
- package/dist/components/tree/snice-tree-item.js.map +1 -0
- package/dist/components/tree/snice-tree-item.types.d.ts +30 -0
- package/dist/components/tree/snice-tree.d.ts +45 -0
- package/dist/components/tree/snice-tree.js +390 -0
- package/dist/components/tree/snice-tree.js.map +1 -0
- package/dist/components/tree/snice-tree.types.d.ts +65 -0
- package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +31 -0
- package/dist/components/virtual-scroller/snice-virtual-scroller.js +160 -0
- package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -0
- package/dist/components/virtual-scroller/snice-virtual-scroller.types.d.ts +19 -0
- package/dist/index.cjs +125 -158
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +125 -158
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +125 -158
- package/dist/index.iife.js.map +1 -1
- package/dist/parts.d.ts +13 -16
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/template.d.ts +0 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/README.md +10 -1
- package/docs/ai/components/actions.md +81 -0
- package/docs/ai/components/audio-recorder.md +97 -0
- package/docs/ai/components/banner.md +84 -0
- package/docs/ai/components/calendar.md +95 -0
- package/docs/ai/components/camera.md +130 -0
- package/docs/ai/components/carousel.md +49 -0
- package/docs/ai/components/chart.md +160 -0
- package/docs/ai/components/chat.md +189 -0
- package/docs/ai/components/code-block.md +32 -0
- package/docs/ai/components/color-display.md +48 -0
- package/docs/ai/components/color-picker.md +75 -0
- package/docs/ai/components/command-palette.md +117 -0
- package/docs/ai/components/doc.md +154 -0
- package/docs/ai/components/draw.md +140 -0
- package/docs/ai/components/empty-state.md +72 -0
- package/docs/ai/components/file-upload.md +93 -0
- package/docs/ai/components/gantt.md +95 -0
- package/docs/ai/components/image.md +60 -0
- package/docs/ai/components/kanban.md +102 -0
- package/docs/ai/components/kpi.md +158 -0
- package/docs/ai/components/layout.md +261 -0
- package/docs/ai/components/link.md +77 -0
- package/docs/ai/components/list.md +50 -0
- package/docs/ai/components/location.md +75 -0
- package/docs/ai/components/menu.md +114 -0
- package/docs/ai/components/popover.md +70 -0
- package/docs/ai/components/qr-code.md +106 -0
- package/docs/ai/components/slider.md +87 -0
- package/docs/ai/components/sparkline.md +168 -0
- package/docs/ai/components/spinner.md +47 -0
- package/docs/ai/components/split-pane.md +71 -0
- package/docs/ai/components/stat.md +29 -0
- package/docs/ai/components/stepper.md +216 -0
- package/docs/ai/components/textarea.md +87 -0
- package/docs/ai/components/timeline.md +77 -0
- package/docs/ai/components/tree.md +191 -0
- package/docs/ai/components/virtual-scroller.md +71 -0
- package/docs/components/actions.md +317 -0
- package/docs/components/alert.md +540 -0
- package/docs/components/audio-recorder.md +152 -0
- package/docs/components/badge.md +593 -0
- package/docs/components/banner.md +106 -0
- package/docs/components/breadcrumbs.md +568 -0
- package/docs/components/button.md +648 -0
- package/docs/components/calendar.md +397 -0
- package/docs/components/camera.md +383 -0
- package/docs/components/card.md +778 -0
- package/docs/components/carousel.md +63 -0
- package/docs/components/chart.md +526 -0
- package/docs/components/chat.md +482 -0
- package/docs/components/checkbox.md +714 -0
- package/docs/components/chip.md +670 -0
- package/docs/components/code-block.md +49 -0
- package/docs/components/color-display.md +96 -0
- package/docs/components/color-picker.md +81 -0
- package/docs/components/command-palette.md +159 -0
- package/docs/components/doc.md +357 -0
- package/docs/components/draw.md +307 -0
- package/docs/components/empty-state.md +79 -0
- package/docs/components/file-upload.md +263 -0
- package/docs/components/gantt.md +347 -0
- package/docs/components/image.md +110 -0
- package/docs/components/kanban.md +410 -0
- package/docs/components/kpi.md +251 -0
- package/docs/components/link.md +229 -0
- package/docs/components/list.md +65 -0
- package/docs/components/location.md +369 -0
- package/docs/components/menu.md +633 -0
- package/docs/components/popover.md +333 -0
- package/docs/components/qr-code.md +464 -0
- package/docs/components/slider.md +297 -0
- package/docs/components/sparkline.md +293 -0
- package/docs/components/spinner.md +63 -0
- package/docs/components/split-pane.md +315 -0
- package/docs/components/stat.md +45 -0
- package/docs/components/stepper.md +410 -0
- package/docs/components/textarea.md +235 -0
- package/docs/components/timeline.md +192 -0
- package/docs/components/tree.md +536 -0
- package/docs/components/virtual-scroller.md +298 -0
- package/package.json +2 -1
- package/dist/components/snice-cell-BLFVdxPp.js +0 -4
- package/dist/components/snice-cell-BLFVdxPp.js.map +0 -1
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
# Alert Component
|
|
2
|
+
|
|
3
|
+
The alert component displays notification messages to provide user feedback for informational, success, warning, or error states. It supports customizable variants, sizes, titles, icons, and optional dismissal.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
- [Basic Usage](#basic-usage)
|
|
7
|
+
- [Properties](#properties)
|
|
8
|
+
- [Methods](#methods)
|
|
9
|
+
- [Events](#events)
|
|
10
|
+
- [Examples](#examples)
|
|
11
|
+
|
|
12
|
+
## Basic Usage
|
|
13
|
+
|
|
14
|
+
```html
|
|
15
|
+
<snice-alert>
|
|
16
|
+
This is a basic alert message.
|
|
17
|
+
</snice-alert>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import 'snice/components/alert/snice-alert';
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Property | Type | Default | Description |
|
|
27
|
+
|----------|------|---------|-------------|
|
|
28
|
+
| `variant` | `'info' \| 'success' \| 'warning' \| 'error'` | `'info'` | Visual style variant |
|
|
29
|
+
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Alert size |
|
|
30
|
+
| `title` | `string` | `''` | Optional title text |
|
|
31
|
+
| `dismissible` | `boolean` | `false` | Show dismiss button |
|
|
32
|
+
| `icon` | `string` | `''` | Custom icon (or `'none'` to hide default icon) |
|
|
33
|
+
|
|
34
|
+
## Methods
|
|
35
|
+
|
|
36
|
+
#### `show(): void`
|
|
37
|
+
Display the alert (if previously hidden).
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
alert.show();
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
#### `hide(): void`
|
|
44
|
+
Hide the alert with animation.
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
alert.hide();
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Events
|
|
51
|
+
|
|
52
|
+
#### `alert-dismiss`
|
|
53
|
+
Fired when the dismiss button is clicked.
|
|
54
|
+
|
|
55
|
+
**Event Detail:**
|
|
56
|
+
```typescript
|
|
57
|
+
{
|
|
58
|
+
variant: AlertVariant;
|
|
59
|
+
title: string;
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Usage:**
|
|
64
|
+
```typescript
|
|
65
|
+
alert.addEventListener('alert-dismiss', (e) => {
|
|
66
|
+
console.log('Alert dismissed:', e.detail.variant);
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### `alert-hidden`
|
|
71
|
+
Fired when the alert is fully hidden (after animation).
|
|
72
|
+
|
|
73
|
+
**Event Detail:**
|
|
74
|
+
```typescript
|
|
75
|
+
{
|
|
76
|
+
variant: AlertVariant;
|
|
77
|
+
title: string;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### `alert-shown`
|
|
82
|
+
Fired when the alert is shown.
|
|
83
|
+
|
|
84
|
+
**Event Detail:**
|
|
85
|
+
```typescript
|
|
86
|
+
{
|
|
87
|
+
variant: AlertVariant;
|
|
88
|
+
title: string;
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Examples
|
|
93
|
+
|
|
94
|
+
### Basic Alerts
|
|
95
|
+
|
|
96
|
+
```html
|
|
97
|
+
<!-- Info alert (default) -->
|
|
98
|
+
<snice-alert>
|
|
99
|
+
This is an informational message.
|
|
100
|
+
</snice-alert>
|
|
101
|
+
|
|
102
|
+
<!-- Success alert -->
|
|
103
|
+
<snice-alert variant="success">
|
|
104
|
+
Operation completed successfully!
|
|
105
|
+
</snice-alert>
|
|
106
|
+
|
|
107
|
+
<!-- Warning alert -->
|
|
108
|
+
<snice-alert variant="warning">
|
|
109
|
+
Please review your input before continuing.
|
|
110
|
+
</snice-alert>
|
|
111
|
+
|
|
112
|
+
<!-- Error alert -->
|
|
113
|
+
<snice-alert variant="error">
|
|
114
|
+
An error occurred while processing your request.
|
|
115
|
+
</snice-alert>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Alert with Title
|
|
119
|
+
|
|
120
|
+
```html
|
|
121
|
+
<snice-alert variant="info" title="Did you know?">
|
|
122
|
+
You can customize alerts with titles to provide better context for your messages.
|
|
123
|
+
</snice-alert>
|
|
124
|
+
|
|
125
|
+
<snice-alert variant="success" title="Success!">
|
|
126
|
+
Your profile has been updated successfully.
|
|
127
|
+
</snice-alert>
|
|
128
|
+
|
|
129
|
+
<snice-alert variant="warning" title="Warning">
|
|
130
|
+
Your session will expire in 5 minutes.
|
|
131
|
+
</snice-alert>
|
|
132
|
+
|
|
133
|
+
<snice-alert variant="error" title="Error">
|
|
134
|
+
Unable to connect to the server. Please try again.
|
|
135
|
+
</snice-alert>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Dismissible Alerts
|
|
139
|
+
|
|
140
|
+
```html
|
|
141
|
+
<snice-alert variant="info" dismissible>
|
|
142
|
+
This alert can be dismissed by clicking the X button.
|
|
143
|
+
</snice-alert>
|
|
144
|
+
|
|
145
|
+
<snice-alert variant="success" title="Account Created" dismissible>
|
|
146
|
+
Your account has been created successfully. Check your email to verify.
|
|
147
|
+
</snice-alert>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Different Sizes
|
|
151
|
+
|
|
152
|
+
```html
|
|
153
|
+
<snice-alert size="small" variant="info">
|
|
154
|
+
Small alert message
|
|
155
|
+
</snice-alert>
|
|
156
|
+
|
|
157
|
+
<snice-alert size="medium" variant="success">
|
|
158
|
+
Medium alert message (default)
|
|
159
|
+
</snice-alert>
|
|
160
|
+
|
|
161
|
+
<snice-alert size="large" variant="warning">
|
|
162
|
+
Large alert message
|
|
163
|
+
</snice-alert>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Custom Icons
|
|
167
|
+
|
|
168
|
+
```html
|
|
169
|
+
<!-- Custom emoji icon -->
|
|
170
|
+
<snice-alert variant="success" icon="🎉">
|
|
171
|
+
Congratulations! You've unlocked a new achievement!
|
|
172
|
+
</snice-alert>
|
|
173
|
+
|
|
174
|
+
<!-- Custom emoji icon -->
|
|
175
|
+
<snice-alert variant="info" icon="💡">
|
|
176
|
+
Pro tip: Save time by using keyboard shortcuts.
|
|
177
|
+
</snice-alert>
|
|
178
|
+
|
|
179
|
+
<!-- No icon -->
|
|
180
|
+
<snice-alert variant="warning" icon="none">
|
|
181
|
+
This alert has no icon.
|
|
182
|
+
</snice-alert>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Form Validation Alerts
|
|
186
|
+
|
|
187
|
+
```html
|
|
188
|
+
<form id="signup-form">
|
|
189
|
+
<snice-alert variant="error" title="Validation Error" id="form-error" style="display: none;">
|
|
190
|
+
<ul id="error-list"></ul>
|
|
191
|
+
</snice-alert>
|
|
192
|
+
|
|
193
|
+
<label>
|
|
194
|
+
Email:
|
|
195
|
+
<input type="email" name="email" required>
|
|
196
|
+
</label>
|
|
197
|
+
|
|
198
|
+
<label>
|
|
199
|
+
Password:
|
|
200
|
+
<input type="password" name="password" required>
|
|
201
|
+
</label>
|
|
202
|
+
|
|
203
|
+
<button type="submit">Sign Up</button>
|
|
204
|
+
</form>
|
|
205
|
+
|
|
206
|
+
<script type="module">
|
|
207
|
+
import 'snice/components/alert/snice-alert';
|
|
208
|
+
|
|
209
|
+
const form = document.getElementById('signup-form');
|
|
210
|
+
const errorAlert = document.getElementById('form-error');
|
|
211
|
+
const errorList = document.getElementById('error-list');
|
|
212
|
+
|
|
213
|
+
form.addEventListener('submit', (e) => {
|
|
214
|
+
e.preventDefault();
|
|
215
|
+
const errors = [];
|
|
216
|
+
|
|
217
|
+
const email = form.email.value;
|
|
218
|
+
const password = form.password.value;
|
|
219
|
+
|
|
220
|
+
if (!email.includes('@')) {
|
|
221
|
+
errors.push('Invalid email address');
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if (password.length < 8) {
|
|
225
|
+
errors.push('Password must be at least 8 characters');
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (errors.length > 0) {
|
|
229
|
+
errorList.innerHTML = errors.map(err => `<li>${err}</li>`).join('');
|
|
230
|
+
errorAlert.style.display = 'block';
|
|
231
|
+
errorAlert.show();
|
|
232
|
+
} else {
|
|
233
|
+
errorAlert.style.display = 'none';
|
|
234
|
+
// Submit form
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
</script>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Dynamic Alerts
|
|
241
|
+
|
|
242
|
+
```html
|
|
243
|
+
<div id="alert-container"></div>
|
|
244
|
+
|
|
245
|
+
<button onclick="showSuccessAlert()">Show Success</button>
|
|
246
|
+
<button onclick="showErrorAlert()">Show Error</button>
|
|
247
|
+
|
|
248
|
+
<script type="module">
|
|
249
|
+
import 'snice/components/alert/snice-alert';
|
|
250
|
+
|
|
251
|
+
window.showSuccessAlert = () => {
|
|
252
|
+
const container = document.getElementById('alert-container');
|
|
253
|
+
const alert = document.createElement('snice-alert');
|
|
254
|
+
alert.variant = 'success';
|
|
255
|
+
alert.title = 'Success!';
|
|
256
|
+
alert.dismissible = true;
|
|
257
|
+
alert.textContent = 'Operation completed successfully.';
|
|
258
|
+
|
|
259
|
+
container.appendChild(alert);
|
|
260
|
+
|
|
261
|
+
alert.addEventListener('alert-hidden', () => {
|
|
262
|
+
alert.remove();
|
|
263
|
+
});
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
window.showErrorAlert = () => {
|
|
267
|
+
const container = document.getElementById('alert-container');
|
|
268
|
+
const alert = document.createElement('snice-alert');
|
|
269
|
+
alert.variant = 'error';
|
|
270
|
+
alert.title = 'Error';
|
|
271
|
+
alert.dismissible = true;
|
|
272
|
+
alert.textContent = 'Something went wrong. Please try again.';
|
|
273
|
+
|
|
274
|
+
container.appendChild(alert);
|
|
275
|
+
|
|
276
|
+
alert.addEventListener('alert-hidden', () => {
|
|
277
|
+
alert.remove();
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
</script>
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Auto-Dismiss Alert
|
|
284
|
+
|
|
285
|
+
```html
|
|
286
|
+
<snice-alert id="auto-dismiss" variant="success" title="Saved!">
|
|
287
|
+
Your changes have been saved.
|
|
288
|
+
</snice-alert>
|
|
289
|
+
|
|
290
|
+
<script type="module">
|
|
291
|
+
import 'snice/components/alert/snice-alert';
|
|
292
|
+
|
|
293
|
+
const alert = document.getElementById('auto-dismiss');
|
|
294
|
+
|
|
295
|
+
// Auto-dismiss after 5 seconds
|
|
296
|
+
setTimeout(() => {
|
|
297
|
+
alert.hide();
|
|
298
|
+
}, 5000);
|
|
299
|
+
|
|
300
|
+
alert.addEventListener('alert-hidden', () => {
|
|
301
|
+
console.log('Alert was auto-dismissed');
|
|
302
|
+
});
|
|
303
|
+
</script>
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Alert with Links
|
|
307
|
+
|
|
308
|
+
```html
|
|
309
|
+
<snice-alert variant="info" title="Update Available">
|
|
310
|
+
A new version of the application is available.
|
|
311
|
+
<a href="/updates" style="text-decoration: underline; font-weight: 600;">
|
|
312
|
+
View update details
|
|
313
|
+
</a>
|
|
314
|
+
</snice-alert>
|
|
315
|
+
|
|
316
|
+
<snice-alert variant="warning" title="Action Required">
|
|
317
|
+
Your payment method is expiring soon.
|
|
318
|
+
<a href="/billing" style="text-decoration: underline; font-weight: 600;">
|
|
319
|
+
Update payment method
|
|
320
|
+
</a>
|
|
321
|
+
</snice-alert>
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Alert with Rich Content
|
|
325
|
+
|
|
326
|
+
```html
|
|
327
|
+
<snice-alert variant="success" title="Welcome!">
|
|
328
|
+
<p>Thank you for joining our platform. Here's what you can do next:</p>
|
|
329
|
+
<ul style="margin: 0.5rem 0; padding-left: 1.5rem;">
|
|
330
|
+
<li>Complete your profile</li>
|
|
331
|
+
<li>Explore available features</li>
|
|
332
|
+
<li>Connect with other users</li>
|
|
333
|
+
</ul>
|
|
334
|
+
</snice-alert>
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Notification Center
|
|
338
|
+
|
|
339
|
+
```html
|
|
340
|
+
<div id="notifications" style="position: fixed; top: 1rem; right: 1rem; width: 20rem; z-index: 1000;">
|
|
341
|
+
<!-- Notifications will be added here -->
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
<button onclick="notify('info', 'New message received')">Info</button>
|
|
345
|
+
<button onclick="notify('success', 'File uploaded successfully')">Success</button>
|
|
346
|
+
<button onclick="notify('warning', 'Low disk space')">Warning</button>
|
|
347
|
+
<button onclick="notify('error', 'Connection lost')">Error</button>
|
|
348
|
+
|
|
349
|
+
<script type="module">
|
|
350
|
+
import 'snice/components/alert/snice-alert';
|
|
351
|
+
|
|
352
|
+
window.notify = (variant, message) => {
|
|
353
|
+
const container = document.getElementById('notifications');
|
|
354
|
+
const alert = document.createElement('snice-alert');
|
|
355
|
+
|
|
356
|
+
alert.variant = variant;
|
|
357
|
+
alert.dismissible = true;
|
|
358
|
+
alert.textContent = message;
|
|
359
|
+
alert.style.marginBottom = '0.5rem';
|
|
360
|
+
|
|
361
|
+
container.appendChild(alert);
|
|
362
|
+
|
|
363
|
+
// Auto-dismiss after 4 seconds
|
|
364
|
+
setTimeout(() => {
|
|
365
|
+
alert.hide();
|
|
366
|
+
}, 4000);
|
|
367
|
+
|
|
368
|
+
alert.addEventListener('alert-hidden', () => {
|
|
369
|
+
alert.remove();
|
|
370
|
+
});
|
|
371
|
+
};
|
|
372
|
+
</script>
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Alert Stack
|
|
376
|
+
|
|
377
|
+
```html
|
|
378
|
+
<style>
|
|
379
|
+
.alert-stack {
|
|
380
|
+
display: flex;
|
|
381
|
+
flex-direction: column;
|
|
382
|
+
gap: 0.75rem;
|
|
383
|
+
max-width: 40rem;
|
|
384
|
+
}
|
|
385
|
+
</style>
|
|
386
|
+
|
|
387
|
+
<div class="alert-stack">
|
|
388
|
+
<snice-alert variant="info" title="System Maintenance" dismissible>
|
|
389
|
+
Scheduled maintenance is planned for tonight at 11 PM EST.
|
|
390
|
+
</snice-alert>
|
|
391
|
+
|
|
392
|
+
<snice-alert variant="warning" title="Limited Availability" dismissible>
|
|
393
|
+
Some features may be temporarily unavailable during the maintenance window.
|
|
394
|
+
</snice-alert>
|
|
395
|
+
|
|
396
|
+
<snice-alert variant="success" title="New Feature Released" dismissible>
|
|
397
|
+
Check out our new dashboard analytics feature!
|
|
398
|
+
</snice-alert>
|
|
399
|
+
</div>
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### Event Handling
|
|
403
|
+
|
|
404
|
+
```typescript
|
|
405
|
+
import type { SniceAlertElement } from 'snice/components/alert/snice-alert.types';
|
|
406
|
+
|
|
407
|
+
const alert = document.querySelector<SniceAlertElement>('snice-alert');
|
|
408
|
+
|
|
409
|
+
alert.addEventListener('alert-dismiss', (e) => {
|
|
410
|
+
console.log('User dismissed alert:', e.detail);
|
|
411
|
+
// Track analytics
|
|
412
|
+
analytics.track('alert_dismissed', {
|
|
413
|
+
variant: e.detail.variant,
|
|
414
|
+
title: e.detail.title
|
|
415
|
+
});
|
|
416
|
+
});
|
|
417
|
+
|
|
418
|
+
alert.addEventListener('alert-shown', () => {
|
|
419
|
+
console.log('Alert is now visible');
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
alert.addEventListener('alert-hidden', () => {
|
|
423
|
+
console.log('Alert is now hidden');
|
|
424
|
+
// Clean up or remove from DOM
|
|
425
|
+
alert.remove();
|
|
426
|
+
});
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### API Response Alerts
|
|
430
|
+
|
|
431
|
+
```html
|
|
432
|
+
<snice-alert id="api-alert" style="display: none;"></snice-alert>
|
|
433
|
+
|
|
434
|
+
<button onclick="makeApiCall()">Make API Call</button>
|
|
435
|
+
|
|
436
|
+
<script type="module">
|
|
437
|
+
import type { SniceAlertElement } from 'snice/components/alert/snice-alert.types';
|
|
438
|
+
|
|
439
|
+
window.makeApiCall = async () => {
|
|
440
|
+
const alert = document.getElementById('api-alert') as SniceAlertElement;
|
|
441
|
+
|
|
442
|
+
try {
|
|
443
|
+
const response = await fetch('/api/data');
|
|
444
|
+
|
|
445
|
+
if (!response.ok) {
|
|
446
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
const data = await response.json();
|
|
450
|
+
|
|
451
|
+
alert.variant = 'success';
|
|
452
|
+
alert.title = 'Success!';
|
|
453
|
+
alert.textContent = 'Data loaded successfully.';
|
|
454
|
+
alert.dismissible = true;
|
|
455
|
+
alert.style.display = 'block';
|
|
456
|
+
alert.show();
|
|
457
|
+
|
|
458
|
+
} catch (error) {
|
|
459
|
+
alert.variant = 'error';
|
|
460
|
+
alert.title = 'Error';
|
|
461
|
+
alert.textContent = `Failed to load data: ${error.message}`;
|
|
462
|
+
alert.dismissible = true;
|
|
463
|
+
alert.style.display = 'block';
|
|
464
|
+
alert.show();
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
</script>
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
## Accessibility
|
|
471
|
+
|
|
472
|
+
- **ARIA role**: `alert` role with `aria-live="polite"` for screen reader announcements
|
|
473
|
+
- **Keyboard support**: Dismiss button is keyboard accessible
|
|
474
|
+
- **Color contrast**: All variants meet WCAG AA standards
|
|
475
|
+
- **Screen reader friendly**: Content is properly announced
|
|
476
|
+
- **Focus management**: Dismiss button receives proper focus
|
|
477
|
+
|
|
478
|
+
## Browser Support
|
|
479
|
+
|
|
480
|
+
- Modern browsers (Chrome, Firefox, Safari, Edge)
|
|
481
|
+
- Requires Custom Elements v1 and Shadow DOM support
|
|
482
|
+
|
|
483
|
+
## Best Practices
|
|
484
|
+
|
|
485
|
+
1. **Choose appropriate variants**: Use semantic variants that match the message type
|
|
486
|
+
2. **Keep messages concise**: Short, clear messages are more effective
|
|
487
|
+
3. **Use titles for context**: Titles help users quickly understand the alert type
|
|
488
|
+
4. **Make important alerts dismissible**: Allow users to close alerts they've read
|
|
489
|
+
5. **Auto-dismiss when appropriate**: Consider auto-dismissing success messages
|
|
490
|
+
6. **Position alerts appropriately**: Place alerts near related content or in a notification area
|
|
491
|
+
7. **Don't overuse**: Too many alerts can overwhelm users
|
|
492
|
+
8. **Provide actionable information**: Include next steps or actions when relevant
|
|
493
|
+
9. **Test with screen readers**: Ensure alerts are announced properly
|
|
494
|
+
10. **Handle multiple alerts**: Stack or queue alerts to avoid overwhelming users
|
|
495
|
+
|
|
496
|
+
## Common Patterns
|
|
497
|
+
|
|
498
|
+
### Success Pattern
|
|
499
|
+
```html
|
|
500
|
+
<snice-alert variant="success" title="Success!" dismissible>
|
|
501
|
+
Your changes have been saved.
|
|
502
|
+
</snice-alert>
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
### Error Pattern
|
|
506
|
+
```html
|
|
507
|
+
<snice-alert variant="error" title="Error" dismissible>
|
|
508
|
+
Unable to save changes. Please try again.
|
|
509
|
+
</snice-alert>
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### Warning Pattern
|
|
513
|
+
```html
|
|
514
|
+
<snice-alert variant="warning" title="Warning">
|
|
515
|
+
This action cannot be undone.
|
|
516
|
+
</snice-alert>
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Info Pattern
|
|
520
|
+
```html
|
|
521
|
+
<snice-alert variant="info" title="Information">
|
|
522
|
+
New features are available in this update.
|
|
523
|
+
</snice-alert>
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
### Inline Form Validation
|
|
527
|
+
```html
|
|
528
|
+
<snice-alert variant="error" size="small">
|
|
529
|
+
Please enter a valid email address.
|
|
530
|
+
</snice-alert>
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
## Variant Colors
|
|
534
|
+
|
|
535
|
+
| Variant | Color Scheme | Use Case |
|
|
536
|
+
|---------|-------------|----------|
|
|
537
|
+
| `info` | Blue | General information, tips, updates |
|
|
538
|
+
| `success` | Green | Successful operations, confirmations |
|
|
539
|
+
| `warning` | Orange | Cautions, important notices |
|
|
540
|
+
| `error` | Red | Errors, failed operations, critical issues |
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Audio Recorder Component
|
|
2
|
+
|
|
3
|
+
Record audio with visualization, pause/resume, and playback.
|
|
4
|
+
|
|
5
|
+
## Basic Usage
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<snice-audio-recorder id="recorder"></snice-audio-recorder>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
const recorder = document.getElementById('recorder');
|
|
12
|
+
|
|
13
|
+
// Listen for stop event
|
|
14
|
+
recorder.addEventListener('@snice/recorder-stop', async () => {
|
|
15
|
+
// Recording complete
|
|
16
|
+
});
|
|
17
|
+
</script>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Properties
|
|
21
|
+
|
|
22
|
+
| Property | Type | Default | Description |
|
|
23
|
+
|----------|------|---------|-------------|
|
|
24
|
+
| `autoStart` | `boolean` | `false` | Auto-start recording |
|
|
25
|
+
| `format` | `AudioFormat` | `'audio/webm'` | Output format |
|
|
26
|
+
| `bitrate` | `number` | `128000` | Audio bitrate (bps) |
|
|
27
|
+
| `showControls` | `boolean` | `true` | Show control buttons |
|
|
28
|
+
| `showVisualizer` | `boolean` | `true` | Show frequency visualizer |
|
|
29
|
+
| `maxDuration` | `number` | `0` | Max duration (seconds, 0=unlimited) |
|
|
30
|
+
| `showTimer` | `boolean` | `true` | Show recording timer |
|
|
31
|
+
|
|
32
|
+
## Audio Formats
|
|
33
|
+
|
|
34
|
+
- `'audio/webm'` - WebM (default)
|
|
35
|
+
- `'audio/ogg'` - Ogg Vorbis
|
|
36
|
+
- `'audio/mp4'` - MP4/AAC
|
|
37
|
+
- `'audio/wav'` - WAV (uncompressed)
|
|
38
|
+
|
|
39
|
+
## Methods
|
|
40
|
+
|
|
41
|
+
### `start(): Promise<void>`
|
|
42
|
+
Start recording.
|
|
43
|
+
|
|
44
|
+
### `stop(): Promise<AudioRecording>`
|
|
45
|
+
Stop and return recording.
|
|
46
|
+
|
|
47
|
+
### `pause(): void`
|
|
48
|
+
Pause recording.
|
|
49
|
+
|
|
50
|
+
### `resume(): void`
|
|
51
|
+
Resume paused recording.
|
|
52
|
+
|
|
53
|
+
### `cancel(): void`
|
|
54
|
+
Cancel and discard recording.
|
|
55
|
+
|
|
56
|
+
### `getState(): RecorderState`
|
|
57
|
+
Get current state ('inactive', 'recording', 'paused').
|
|
58
|
+
|
|
59
|
+
### `getDuration(): number`
|
|
60
|
+
Get recording duration in seconds.
|
|
61
|
+
|
|
62
|
+
### `isRecording(): boolean`
|
|
63
|
+
Check if currently recording.
|
|
64
|
+
|
|
65
|
+
### `download(filename?): void`
|
|
66
|
+
Download recorded audio.
|
|
67
|
+
|
|
68
|
+
## Events
|
|
69
|
+
|
|
70
|
+
- `@snice/recorder-start` - Recording started
|
|
71
|
+
- `@snice/recorder-stop` - Recording stopped
|
|
72
|
+
- `@snice/recorder-pause` - Recording paused
|
|
73
|
+
- `@snice/recorder-resume` - Recording resumed
|
|
74
|
+
- `@snice/recorder-cancel` - Recording cancelled
|
|
75
|
+
- `@snice/recorder-error` - Error occurred
|
|
76
|
+
|
|
77
|
+
## Examples
|
|
78
|
+
|
|
79
|
+
### Basic Recording
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
const recorder = document.querySelector('snice-audio-recorder');
|
|
83
|
+
|
|
84
|
+
// Start
|
|
85
|
+
await recorder.start();
|
|
86
|
+
|
|
87
|
+
// Stop and get recording
|
|
88
|
+
const recording = await recorder.stop();
|
|
89
|
+
console.log(recording.url, recording.duration, recording.size);
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Auto-start
|
|
93
|
+
|
|
94
|
+
```html
|
|
95
|
+
<snice-audio-recorder auto-start></snice-audio-recorder>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Custom Format
|
|
99
|
+
|
|
100
|
+
```html
|
|
101
|
+
<snice-audio-recorder
|
|
102
|
+
format="audio/mp4"
|
|
103
|
+
bitrate="256000">
|
|
104
|
+
</snice-audio-recorder>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Max Duration
|
|
108
|
+
|
|
109
|
+
```html
|
|
110
|
+
<snice-audio-recorder max-duration="60"></snice-audio-recorder>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Download Recording
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
const recording = await recorder.stop();
|
|
117
|
+
recorder.download('my-recording.webm');
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Upload to Server
|
|
121
|
+
|
|
122
|
+
```javascript
|
|
123
|
+
const recording = await recorder.stop();
|
|
124
|
+
|
|
125
|
+
const formData = new FormData();
|
|
126
|
+
formData.append('audio', recording.blob, 'recording.webm');
|
|
127
|
+
await fetch('/upload', { method: 'POST', body: formData });
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## AudioRecording Interface
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
interface AudioRecording {
|
|
134
|
+
blob: Blob;
|
|
135
|
+
url: string;
|
|
136
|
+
duration: number;
|
|
137
|
+
size: number;
|
|
138
|
+
format: string;
|
|
139
|
+
timestamp: number;
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Security
|
|
144
|
+
|
|
145
|
+
- Requires HTTPS (or localhost)
|
|
146
|
+
- Requires user permission
|
|
147
|
+
- Permission prompts are browser-controlled
|
|
148
|
+
|
|
149
|
+
## Browser Support
|
|
150
|
+
|
|
151
|
+
- Modern browsers with MediaRecorder API
|
|
152
|
+
- Requires microphone hardware
|