@streamscloud/kit 0.2.42 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/files/blob-storage-registry.svelte.d.ts +28 -0
- package/dist/core/files/blob-storage-registry.svelte.js +37 -0
- package/dist/core/files/file-validation-rules.d.ts +30 -0
- package/dist/core/files/file-validation-rules.js +95 -0
- package/dist/core/files/file-validation-types.d.ts +18 -0
- package/dist/core/files/file-validator.d.ts +5 -0
- package/dist/core/files/file-validator.js +17 -0
- package/dist/core/files/index.d.ts +8 -0
- package/dist/core/files/index.js +5 -0
- package/dist/core/files/open-file.d.ts +14 -0
- package/dist/core/files/open-file.js +38 -0
- package/dist/core/files/upload-media-store.svelte.d.ts +74 -0
- package/dist/core/files/upload-media-store.svelte.js +118 -0
- package/dist/core/files/upload-types.d.ts +57 -0
- package/dist/core/transitions/durations.d.ts +5 -0
- package/dist/core/transitions/durations.js +6 -0
- package/dist/core/transitions/index.d.ts +1 -0
- package/dist/core/transitions/index.js +1 -0
- package/dist/core/transitions/slide-horizontally.js +2 -1
- package/dist/core/utils/href-validator.d.ts +1 -10
- package/dist/core/utils/href-validator.js +8 -19
- package/dist/core/validation/form-validation-handler/form-validation-handler.svelte.js +2 -0
- package/dist/fonts.d.ts +11 -0
- package/dist/fonts.js +19 -0
- package/dist/styles/_functions.scss +2 -2
- package/dist/styles/_index.scss +1 -2
- package/dist/styles/_primitives.scss +68 -0
- package/dist/styles/_reset.scss +2 -2
- package/dist/styles/_semantic.scss +188 -0
- package/dist/styles/_transitions.scss +1 -14
- package/dist/styles/reset.css +2 -2
- package/dist/ui/_internal/_affordance.scss +58 -0
- package/dist/ui/_internal/input-clear-button/cmp.input-clear-button.svelte +87 -0
- package/dist/ui/_internal/input-clear-button/cmp.input-clear-button.svelte.d.ts +33 -0
- package/dist/ui/_internal/input-clear-button/index.d.ts +1 -0
- package/dist/ui/_internal/input-clear-button/index.js +1 -0
- package/dist/ui/_internal/input-clear-button/input-clear-button-localization.d.ts +3 -0
- package/dist/ui/_internal/input-clear-button/input-clear-button-localization.js +12 -0
- package/dist/ui/_internal/input-emoji-picker/cmp.input-emoji-picker.svelte +74 -0
- package/dist/ui/_internal/input-emoji-picker/cmp.input-emoji-picker.svelte.d.ts +26 -0
- package/dist/ui/{inputs → _internal}/input-emoji-picker/index.d.ts +0 -1
- package/dist/ui/{inputs → _internal}/input-emoji-picker/index.js +0 -1
- package/dist/ui/_internal/input-password-toggle/cmp.input-password-toggle.svelte +93 -0
- package/dist/ui/_internal/input-password-toggle/cmp.input-password-toggle.svelte.d.ts +31 -0
- package/dist/ui/_internal/input-password-toggle/index.d.ts +1 -0
- package/dist/ui/_internal/input-password-toggle/index.js +1 -0
- package/dist/ui/_internal/input-password-toggle/input-password-toggle-localization.d.ts +4 -0
- package/dist/ui/_internal/input-password-toggle/input-password-toggle-localization.js +13 -0
- package/dist/ui/_internal/spinner/cmp.spinner.svelte +41 -0
- package/dist/ui/_internal/spinner/cmp.spinner.svelte.d.ts +37 -0
- package/dist/ui/_internal/spinner/index.d.ts +1 -0
- package/dist/ui/_internal/spinner/index.js +1 -0
- package/dist/ui/ai-panel/ai-panel-localization.d.ts +3 -0
- package/dist/ui/ai-panel/ai-panel-localization.js +12 -0
- package/dist/ui/ai-panel/cmp.ai-panel.svelte +90 -0
- package/dist/ui/ai-panel/cmp.ai-panel.svelte.d.ts +58 -0
- package/dist/ui/ai-panel/index.d.ts +1 -0
- package/dist/ui/ai-panel/index.js +1 -0
- package/dist/ui/avatar/cmp.avatar.svelte +135 -0
- package/dist/ui/avatar/cmp.avatar.svelte.d.ts +34 -0
- package/dist/ui/avatar/index.d.ts +1 -0
- package/dist/ui/avatar/index.js +1 -0
- package/dist/ui/badge/cmp.badge.svelte +69 -60
- package/dist/ui/badge/cmp.badge.svelte.d.ts +16 -13
- package/dist/ui/badge/index.d.ts +1 -1
- package/dist/ui/badge/types.d.ts +1 -1
- package/dist/ui/banner/banner-localization.d.ts +3 -0
- package/dist/ui/banner/banner-localization.js +12 -0
- package/dist/ui/banner/cmp.banner.svelte +147 -0
- package/dist/ui/banner/cmp.banner.svelte.d.ts +44 -0
- package/dist/ui/banner/index.d.ts +1 -0
- package/dist/ui/banner/index.js +1 -0
- package/dist/ui/breadcrumb/breadcrumb-localization.d.ts +3 -0
- package/dist/ui/breadcrumb/breadcrumb-localization.js +12 -0
- package/dist/ui/breadcrumb/cmp.breadcrumb.svelte +78 -0
- package/dist/ui/breadcrumb/cmp.breadcrumb.svelte.d.ts +28 -0
- package/dist/ui/breadcrumb/index.d.ts +2 -0
- package/dist/ui/breadcrumb/index.js +1 -0
- package/dist/ui/breadcrumb/types.d.ts +14 -0
- package/dist/ui/button/cmp.button.svelte +288 -48
- package/dist/ui/button/cmp.button.svelte.d.ts +57 -50
- package/dist/ui/button/index.d.ts +1 -2
- package/dist/ui/button/index.js +0 -1
- package/dist/ui/button/types.d.ts +2 -0
- package/dist/ui/card/cmp.card.svelte +104 -0
- package/dist/ui/card/cmp.card.svelte.d.ts +42 -0
- package/dist/ui/card/index.d.ts +1 -0
- package/dist/ui/card/index.js +1 -0
- package/dist/ui/card-actions/cmp.card-action.svelte +19 -6
- package/dist/ui/card-actions/cmp.card-action.svelte.d.ts +4 -2
- package/dist/ui/card-actions/cmp.card-actions.svelte +19 -20
- package/dist/ui/card-actions/cmp.card-actions.svelte.d.ts +11 -8
- package/dist/ui/card-actions/types.d.ts +2 -3
- package/dist/ui/checkbox/cmp.checkbox.svelte +99 -76
- package/dist/ui/checkbox/cmp.checkbox.svelte.d.ts +21 -18
- package/dist/ui/checkbox/index.d.ts +0 -2
- package/dist/ui/checkbox/index.js +0 -1
- package/dist/ui/chip-group/cmp.chip-group.svelte +170 -0
- package/dist/ui/chip-group/cmp.chip-group.svelte.d.ts +84 -0
- package/dist/ui/chip-group/index.d.ts +2 -0
- package/dist/ui/chip-group/index.js +1 -0
- package/dist/ui/chip-group/types.d.ts +5 -0
- package/dist/ui/color-picker/cmp.color-picker.svelte +127 -36
- package/dist/ui/color-picker/cmp.color-picker.svelte.d.ts +43 -10
- package/dist/ui/color-picker/color-picker-localization.d.ts +1 -0
- package/dist/ui/color-picker/color-picker-localization.js +7 -0
- package/dist/ui/confirmation-dialog/cmp.confirmation-dialog.svelte +16 -13
- package/dist/ui/confirmation-dialog/cmp.confirmation-dialog.svelte.d.ts +8 -0
- package/dist/ui/cropper/image-editor-dialog/cmp.image-editor-dialog.svelte +1 -1
- package/dist/ui/cropper/image-editor-dialog/crop-and-resize.d.ts +36 -0
- package/dist/ui/cropper/image-editor-dialog/crop-and-resize.js +47 -0
- package/dist/ui/cropper/image-editor-dialog/index.d.ts +4 -2
- package/dist/ui/cropper/image-editor-dialog/index.js +3 -2
- package/dist/ui/cropper/img-cropper/cmp.img-cropper-controls.svelte +16 -15
- package/dist/ui/cropper/img-cropper/cmp.img-cropper-toolbar.svelte +9 -12
- package/dist/ui/cropper/img-cropper/cmp.img-cropper-toolbar.svelte.d.ts +1 -1
- package/dist/ui/cropper/img-cropper/cmp.img-cropper.svelte +4 -4
- package/dist/ui/cropper/img-cropper/cmp.img-cropper.svelte.d.ts +1 -1
- package/dist/ui/date-picker/cmp.date-picker-calendar.svelte +294 -0
- package/dist/ui/date-picker/cmp.date-picker-calendar.svelte.d.ts +59 -0
- package/dist/ui/date-picker/cmp.date-picker.svelte +331 -0
- package/dist/ui/date-picker/cmp.date-picker.svelte.d.ts +82 -0
- package/dist/ui/date-picker/date-picker-localization.d.ts +6 -0
- package/dist/ui/date-picker/date-picker-localization.js +33 -0
- package/dist/ui/date-picker/index.d.ts +2 -0
- package/dist/ui/date-picker/index.js +1 -0
- package/dist/ui/date-picker/types.d.ts +1 -0
- package/dist/ui/dialog/cmp.dialog-button.svelte +11 -4
- package/dist/ui/dialog/cmp.dialog-button.svelte.d.ts +14 -3
- package/dist/ui/dialog/cmp.dialog-cancel-button.svelte +10 -3
- package/dist/ui/dialog/cmp.dialog-cancel-button.svelte.d.ts +10 -1
- package/dist/ui/dialog/cmp.dialog-close-button.svelte +38 -8
- package/dist/ui/dialog/cmp.dialog-close-button.svelte.d.ts +8 -2
- package/dist/ui/dialog/cmp.dialog-container.svelte +50 -11
- package/dist/ui/dialog/cmp.dialog-container.svelte.d.ts +11 -0
- package/dist/ui/dialog/cmp.dialog-host.svelte +25 -0
- package/dist/ui/dialog/cmp.dialog-host.svelte.d.ts +15 -0
- package/dist/ui/dialog/cmp.dialog.svelte +31 -22
- package/dist/ui/dialog/cmp.dialog.svelte.d.ts +10 -8
- package/dist/ui/dialog/dialog-controller.d.ts +2 -2
- package/dist/ui/dialog/dialog-data.d.ts +4 -5
- package/dist/ui/dialog/dialog-host-mount.d.ts +6 -0
- package/dist/ui/dialog/dialog-host-mount.js +18 -0
- package/dist/ui/dialog/dialog-localization.d.ts +3 -0
- package/dist/ui/dialog/dialog-localization.js +12 -0
- package/dist/ui/dialog/dialog-store.svelte.d.ts +27 -0
- package/dist/ui/dialog/dialog-store.svelte.js +125 -0
- package/dist/ui/dialog/index.d.ts +3 -2
- package/dist/ui/dialog/index.js +2 -1
- package/dist/ui/dialog/types.svelte.d.ts +1 -1
- package/dist/ui/divider/cmp.divider.svelte +71 -0
- package/dist/ui/divider/cmp.divider.svelte.d.ts +25 -0
- package/dist/ui/divider/index.d.ts +1 -0
- package/dist/ui/divider/index.js +1 -0
- package/dist/ui/drag-and-drop/cmp.drag-source.svelte +30 -0
- package/dist/ui/drag-and-drop/cmp.drag-source.svelte.d.ts +39 -0
- package/dist/ui/drag-and-drop/cmp.drop-zone.svelte +122 -0
- package/dist/ui/drag-and-drop/cmp.drop-zone.svelte.d.ts +72 -0
- package/dist/ui/drag-and-drop/drag-and-drop.svelte.d.ts +15 -0
- package/dist/ui/drag-and-drop/drag-and-drop.svelte.js +13 -0
- package/dist/ui/drag-and-drop/index.d.ts +4 -0
- package/dist/ui/drag-and-drop/index.js +3 -0
- package/dist/ui/drag-and-drop/types.d.ts +9 -0
- package/dist/ui/drawer/cmp.drawer-view.svelte +40 -0
- package/dist/ui/drawer/cmp.drawer-view.svelte.d.ts +9 -0
- package/dist/ui/drawer/cmp.drawer.svelte +29 -0
- package/dist/ui/drawer/cmp.drawer.svelte.d.ts +29 -0
- package/dist/ui/drawer/drawer.d.ts +41 -0
- package/dist/ui/drawer/drawer.js +28 -0
- package/dist/ui/drawer/index.d.ts +3 -0
- package/dist/ui/drawer/index.js +2 -0
- package/dist/ui/dynamic-component/cmp.dynamic-component.svelte +21 -1
- package/dist/ui/dynamic-component/cmp.dynamic-component.svelte.d.ts +23 -1
- package/dist/ui/emoji-picker/cmp.emoji-panel.svelte +45 -24
- package/dist/ui/emoji-picker/cmp.emoji-panel.svelte.d.ts +7 -6
- package/dist/ui/emoji-picker/cmp.emoji-picker.svelte +37 -22
- package/dist/ui/emoji-picker/cmp.emoji-picker.svelte.d.ts +16 -5
- package/dist/ui/empty-state/cmp.empty-state.svelte +126 -0
- package/dist/ui/empty-state/cmp.empty-state.svelte.d.ts +39 -0
- package/dist/ui/empty-state/index.d.ts +1 -0
- package/dist/ui/empty-state/index.js +1 -0
- package/dist/ui/empty-state/zero-content.svg +133 -0
- package/dist/ui/file-uploader/cmp.file-row.svelte +145 -0
- package/dist/ui/file-uploader/cmp.file-row.svelte.d.ts +31 -0
- package/dist/ui/file-uploader/cmp.file-upload-progress.svelte +141 -0
- package/dist/ui/file-uploader/cmp.file-upload-progress.svelte.d.ts +25 -0
- package/dist/ui/file-uploader/cmp.file-uploader.svelte +210 -0
- package/dist/ui/file-uploader/cmp.file-uploader.svelte.d.ts +56 -0
- package/dist/ui/file-uploader/file-type-colors.d.ts +3 -0
- package/dist/ui/file-uploader/file-type-colors.js +38 -0
- package/dist/ui/file-uploader/file-uploader-localization.d.ts +4 -0
- package/dist/ui/file-uploader/file-uploader-localization.js +19 -0
- package/dist/ui/file-uploader/index.d.ts +6 -0
- package/dist/ui/file-uploader/index.js +6 -0
- package/dist/ui/file-uploader/to-uploading-file.d.ts +7 -0
- package/dist/ui/file-uploader/to-uploading-file.js +12 -0
- package/dist/ui/form-field/cmp.form-field-validatable.svelte +42 -0
- package/dist/ui/form-field/cmp.form-field-validatable.svelte.d.ts +75 -0
- package/dist/ui/form-field/cmp.form-field.svelte +55 -0
- package/dist/ui/form-field/cmp.form-field.svelte.d.ts +24 -0
- package/dist/ui/form-field/index.d.ts +2 -0
- package/dist/ui/form-field/index.js +2 -0
- package/dist/ui/grid-card/cmp.grid-card-media.svelte +170 -0
- package/dist/ui/grid-card/cmp.grid-card-media.svelte.d.ts +30 -0
- package/dist/ui/grid-card/cmp.grid-card.svelte +111 -0
- package/dist/ui/grid-card/cmp.grid-card.svelte.d.ts +39 -0
- package/dist/ui/grid-card/cmp.video-player.svelte +196 -0
- package/dist/ui/grid-card/cmp.video-player.svelte.d.ts +26 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-actions-field.svelte +25 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-actions-field.svelte.d.ts +21 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte +28 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte.d.ts +20 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-button.svelte +28 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-button.svelte.d.ts +17 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-field.svelte +61 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-field.svelte.d.ts +23 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-fields.svelte +32 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-fields.svelte.d.ts +17 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-id-field.svelte +39 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-id-field.svelte.d.ts +13 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-progress-field.svelte +69 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-progress-field.svelte.d.ts +30 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-text-field.svelte +36 -0
- package/dist/ui/grid-card/fields/cmp.grid-card-text-field.svelte.d.ts +14 -0
- package/dist/ui/grid-card/fields/index.d.ts +8 -0
- package/dist/ui/grid-card/fields/index.js +8 -0
- package/dist/ui/grid-card/icon-checkbox-checked.svg +5 -0
- package/dist/ui/grid-card/icon-checkbox-unchecked.svg +4 -0
- package/dist/ui/grid-card/index.d.ts +4 -0
- package/dist/ui/grid-card/index.js +3 -0
- package/dist/ui/grid-card/types.d.ts +4 -0
- package/dist/ui/grouped-sidebar/cmp.grouped-sidebar-section.svelte +28 -23
- package/dist/ui/grouped-sidebar/cmp.grouped-sidebar-section.svelte.d.ts +7 -6
- package/dist/ui/grouped-sidebar/cmp.grouped-sidebar.svelte +27 -12
- package/dist/ui/grouped-sidebar/cmp.grouped-sidebar.svelte.d.ts +20 -4
- package/dist/ui/grouped-sidebar/types.svelte.js +3 -3
- package/dist/ui/handle-input/cmp.handle-input.svelte +125 -0
- package/dist/ui/handle-input/cmp.handle-input.svelte.d.ts +38 -0
- package/dist/ui/handle-input/handle-input-localization.d.ts +6 -0
- package/dist/ui/handle-input/handle-input-localization.js +33 -0
- package/dist/ui/handle-input/index.d.ts +2 -0
- package/dist/ui/handle-input/index.js +2 -0
- package/dist/ui/html-block/cmp.html-block.svelte +40 -22
- package/dist/ui/html-block/cmp.html-block.svelte.d.ts +13 -0
- package/dist/ui/icon/cmp.icon-slot.svelte +19 -0
- package/dist/ui/icon/cmp.icon-slot.svelte.d.ts +18 -0
- package/dist/ui/icon/cmp.icon.svelte +58 -34
- package/dist/ui/icon/cmp.icon.svelte.d.ts +19 -9
- package/dist/ui/icon/icon-utils.d.ts +9 -0
- package/dist/ui/icon/icon-utils.js +12 -0
- package/dist/ui/icon/index.d.ts +3 -1
- package/dist/ui/icon/index.js +2 -0
- package/dist/ui/icon/types.d.ts +8 -1
- package/dist/ui/icon-picker/cmp.icon-picker.svelte +137 -0
- package/dist/ui/icon-picker/cmp.icon-picker.svelte.d.ts +34 -0
- package/dist/ui/icon-picker/index.d.ts +2 -0
- package/dist/ui/icon-picker/index.js +1 -0
- package/dist/ui/icon-picker/types.d.ts +16 -0
- package/dist/ui/icon-picker/types.js +1 -0
- package/dist/ui/icon-text/cmp.icon-text.svelte +37 -34
- package/dist/ui/icon-text/cmp.icon-text.svelte.d.ts +18 -19
- package/dist/ui/image/cmp.image-rounded.svelte +10 -14
- package/dist/ui/image/cmp.image-rounded.svelte.d.ts +6 -4
- package/dist/ui/image/cmp.image-stub.svelte +2 -2
- package/dist/ui/image/cmp.image-stub.svelte.d.ts +1 -1
- package/dist/ui/image/cmp.image.svelte +6 -9
- package/dist/ui/image/cmp.image.svelte.d.ts +1 -1
- package/dist/ui/image/image-state.d.ts +1 -5
- package/dist/ui/image/image-state.js +3 -9
- package/dist/ui/image/index.d.ts +2 -1
- package/dist/ui/image/index.js +1 -1
- package/dist/ui/infinite-scroll/cmp.infinite-scroll.svelte +103 -0
- package/dist/ui/infinite-scroll/cmp.infinite-scroll.svelte.d.ts +27 -0
- package/dist/ui/infinite-scroll/index.d.ts +1 -0
- package/dist/ui/infinite-scroll/index.js +1 -0
- package/dist/ui/input/cmp.input.svelte +327 -0
- package/dist/ui/input/cmp.input.svelte.d.ts +38 -0
- package/dist/ui/input/index.d.ts +2 -0
- package/dist/ui/input/index.js +1 -0
- package/dist/ui/input/types.d.ts +77 -0
- package/dist/ui/input/types.js +1 -0
- package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte +12 -1
- package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte.d.ts +3 -1
- package/dist/ui/line-clamp/cmp.line-clamp.svelte +13 -1
- package/dist/ui/line-clamp/cmp.line-clamp.svelte.d.ts +4 -1
- package/dist/ui/link/cmp.link.svelte +72 -0
- package/dist/ui/link/cmp.link.svelte.d.ts +33 -0
- package/dist/ui/link/index.d.ts +1 -0
- package/dist/ui/link/index.js +1 -0
- package/dist/ui/listing-card/cmp.listing-card.svelte +170 -0
- package/dist/ui/listing-card/cmp.listing-card.svelte.d.ts +41 -0
- package/dist/ui/listing-card/index.d.ts +1 -0
- package/dist/ui/listing-card/index.js +1 -0
- package/dist/ui/logo/cmp.logo.svelte +77 -0
- package/dist/ui/logo/cmp.logo.svelte.d.ts +35 -0
- package/dist/ui/logo/index.d.ts +1 -0
- package/dist/ui/logo/index.js +1 -0
- package/dist/ui/media-playback/playback-manager.svelte.d.ts +3 -0
- package/dist/ui/media-playback/playback-manager.svelte.js +5 -0
- package/dist/ui/media-viewer-dialog/cmp.media-viewer-dialog.svelte +6 -5
- package/dist/ui/media-viewer-dialog/index.d.ts +2 -2
- package/dist/ui/media-viewer-dialog/index.js +3 -3
- package/dist/ui/navigation/cmp.nav-menu-account-row.svelte +146 -0
- package/dist/ui/navigation/cmp.nav-menu-account-row.svelte.d.ts +28 -0
- package/dist/ui/navigation/cmp.nav-menu-divider.svelte +14 -0
- package/dist/ui/navigation/cmp.nav-menu-divider.svelte.d.ts +22 -0
- package/dist/ui/navigation/cmp.nav-menu-group.svelte +17 -0
- package/dist/ui/{form-group/cmp.form-group.svelte.d.ts → navigation/cmp.nav-menu-group.svelte.d.ts} +4 -2
- package/dist/ui/navigation/cmp.nav-menu-header.svelte +17 -0
- package/dist/ui/navigation/cmp.nav-menu-header.svelte.d.ts +10 -0
- package/dist/ui/navigation/cmp.nav-menu-item.svelte +157 -0
- package/dist/ui/navigation/cmp.nav-menu-item.svelte.d.ts +43 -0
- package/dist/ui/navigation/cmp.nav-menu.svelte +96 -0
- package/dist/ui/navigation/cmp.nav-menu.svelte.d.ts +27 -0
- package/dist/ui/navigation/cmp.nav-rail-item.svelte +118 -0
- package/dist/ui/navigation/cmp.nav-rail-item.svelte.d.ts +38 -0
- package/dist/ui/navigation/cmp.nav-rail.svelte +216 -0
- package/dist/ui/navigation/cmp.nav-rail.svelte.d.ts +40 -0
- package/dist/ui/navigation/index.d.ts +8 -0
- package/dist/ui/navigation/index.js +8 -0
- package/dist/ui/navigation/nav-rail-localization.d.ts +4 -0
- package/dist/ui/navigation/nav-rail-localization.js +19 -0
- package/dist/ui/numeral-input/cmp.numeral-input.svelte +331 -0
- package/dist/ui/numeral-input/cmp.numeral-input.svelte.d.ts +97 -0
- package/dist/ui/numeral-input/index.d.ts +1 -0
- package/dist/ui/numeral-input/index.js +1 -0
- package/dist/ui/open-file-button/cmp.open-file-button.svelte +42 -0
- package/dist/ui/open-file-button/cmp.open-file-button.svelte.d.ts +45 -0
- package/dist/ui/open-file-button/index.d.ts +1 -0
- package/dist/ui/open-file-button/index.js +1 -0
- package/dist/ui/option-pill/cmp.option-pill.svelte +140 -0
- package/dist/ui/option-pill/cmp.option-pill.svelte.d.ts +73 -0
- package/dist/ui/option-pill/index.d.ts +2 -0
- package/dist/ui/option-pill/index.js +1 -0
- package/dist/ui/option-pill/types.d.ts +8 -0
- package/dist/ui/option-pill/types.js +1 -0
- package/dist/ui/page-header/cmp.page-header.svelte +75 -0
- package/dist/ui/page-header/cmp.page-header.svelte.d.ts +32 -0
- package/dist/ui/page-header/index.d.ts +1 -0
- package/dist/ui/page-header/index.js +1 -0
- package/dist/ui/page-layout/cmp.page-layout.svelte +171 -0
- package/dist/ui/page-layout/cmp.page-layout.svelte.d.ts +33 -0
- package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte +182 -0
- package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte.d.ts +37 -0
- package/dist/ui/page-layout/cmp.page-panel.svelte +379 -0
- package/dist/ui/page-layout/cmp.page-panel.svelte.d.ts +60 -0
- package/dist/ui/page-layout/cmp.page-panels.svelte +21 -0
- package/dist/ui/{form-group/cmp.form-group-label.svelte.d.ts → page-layout/cmp.page-panels.svelte.d.ts} +4 -2
- package/dist/ui/page-layout/cmp.panel-collapse-button.svelte +64 -0
- package/dist/ui/page-layout/cmp.panel-collapse-button.svelte.d.ts +23 -0
- package/dist/ui/page-layout/cmp.panel-content.svelte +21 -0
- package/dist/ui/{page-toolbar/cmp.toolbar-button-item.svelte.d.ts → page-layout/cmp.panel-content.svelte.d.ts} +2 -5
- package/dist/ui/page-layout/index.d.ts +8 -0
- package/dist/ui/page-layout/index.js +7 -0
- package/dist/ui/page-layout/page-layout-localization.d.ts +5 -0
- package/dist/ui/page-layout/page-layout-localization.js +26 -0
- package/dist/ui/page-layout/panel-state.svelte.d.ts +50 -0
- package/dist/ui/page-layout/panel-state.svelte.js +61 -0
- package/dist/ui/page-layout/types.d.ts +19 -0
- package/dist/ui/page-layout/types.js +1 -0
- package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte +20 -27
- package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte.d.ts +3 -3
- package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte +3 -5
- package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte +42 -0
- package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte.d.ts +20 -0
- package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte +17 -18
- package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte.d.ts +2 -2
- package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte +31 -0
- package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte.d.ts +23 -0
- package/dist/ui/page-toolbar/cmp.toolbar-search-input.svelte +21 -16
- package/dist/ui/page-toolbar/cmp.toolbar-search-input.svelte.d.ts +8 -1
- package/dist/ui/page-toolbar/cmp.toolbar-segmented-control.svelte +9 -15
- package/dist/ui/page-toolbar/cmp.toolbar-segmented-control.svelte.d.ts +10 -16
- package/dist/ui/page-toolbar/cmp.toolbar-switch-item.svelte +13 -16
- package/dist/ui/page-toolbar/cmp.toolbar-switch-item.svelte.d.ts +10 -12
- package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte +4 -33
- package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte.d.ts +2 -9
- package/dist/ui/page-toolbar/index.d.ts +2 -2
- package/dist/ui/page-toolbar/index.js +2 -2
- package/dist/ui/pagination/cmp.pagination.svelte +199 -0
- package/dist/ui/pagination/cmp.pagination.svelte.d.ts +35 -0
- package/dist/ui/pagination/index.d.ts +2 -0
- package/dist/ui/pagination/index.js +2 -0
- package/dist/ui/pagination/pagination-localization.d.ts +6 -0
- package/dist/ui/pagination/pagination-localization.js +33 -0
- package/dist/ui/pagination/pagination-state.svelte.d.ts +13 -0
- package/dist/ui/pagination/pagination-state.svelte.js +35 -0
- package/dist/ui/pin-input/cmp.pin-input.svelte +154 -0
- package/dist/ui/pin-input/cmp.pin-input.svelte.d.ts +44 -0
- package/dist/ui/player/buttons/cmp.mobile-player-buttons.svelte +4 -4
- package/dist/ui/player/buttons/cmp.player-buttons.svelte +11 -11
- package/dist/ui/player/buttons/types.d.ts +2 -3
- package/dist/ui/player/carousel/cmp.carousel.svelte +6 -4
- package/dist/ui/player/carousel/cmp.carousel.svelte.d.ts +2 -1
- package/dist/ui/popover/cmp.hover-popover.svelte +64 -0
- package/dist/ui/popover/cmp.hover-popover.svelte.d.ts +52 -0
- package/dist/ui/popover/cmp.popover-item.svelte +89 -0
- package/dist/ui/popover/cmp.popover-item.svelte.d.ts +35 -0
- package/dist/ui/popover/cmp.popover.svelte +369 -0
- package/dist/ui/popover/cmp.popover.svelte.d.ts +70 -0
- package/dist/ui/popover/index.d.ts +10 -0
- package/dist/ui/popover/index.js +4 -0
- package/dist/ui/{dropdown/dropdown-ignore.d.ts → popover/popover-ignore.d.ts} +1 -1
- package/dist/ui/{dropdown/dropdown-ignore.js → popover/popover-ignore.js} +2 -2
- package/dist/ui/progress/cmp.progress.svelte +90 -21
- package/dist/ui/progress/cmp.progress.svelte.d.ts +26 -6
- package/dist/ui/radio/cmp.radio-card.svelte +157 -0
- package/dist/ui/radio/cmp.radio-card.svelte.d.ts +43 -0
- package/dist/ui/radio/cmp.radio.svelte +115 -0
- package/dist/ui/radio/cmp.radio.svelte.d.ts +37 -0
- package/dist/ui/radio/index.d.ts +2 -0
- package/dist/ui/radio/index.js +2 -0
- package/dist/ui/rich-text-input/cmp.rich-text-input.svelte +283 -0
- package/dist/ui/rich-text-input/cmp.rich-text-input.svelte.d.ts +69 -0
- package/dist/ui/rich-text-input/hugerte.declarations.d.ts +10 -0
- package/dist/ui/{inputs/rich-text-input → rich-text-input}/rich-text-input-localization.js +1 -1
- package/dist/ui/rich-text-input/types.js +1 -0
- package/dist/ui/{inputs/rich-text-input → rich-text-input}/validated-link-button.d.ts +1 -1
- package/dist/ui/{inputs/rich-text-input → rich-text-input}/validated-link-button.js +1 -1
- package/dist/ui/seek-bar/cmp.seek-bar.svelte +15 -12
- package/dist/ui/seek-bar/cmp.seek-bar.svelte.d.ts +6 -5
- package/dist/ui/seek-bar/seek-bar-localization.d.ts +3 -0
- package/dist/ui/seek-bar/seek-bar-localization.js +12 -0
- package/dist/ui/segmented-control/cmp.segmented-control.svelte +137 -85
- package/dist/ui/segmented-control/cmp.segmented-control.svelte.d.ts +46 -27
- package/dist/ui/segmented-control/index.d.ts +1 -0
- package/dist/ui/select/_select-trigger.scss +199 -0
- package/dist/ui/select/cmp.multiselect-async.svelte +54 -0
- package/dist/ui/select/cmp.multiselect-async.svelte.d.ts +79 -0
- package/dist/ui/select/cmp.multiselect-tree.svelte +115 -0
- package/dist/ui/select/cmp.multiselect-tree.svelte.d.ts +152 -0
- package/dist/ui/select/cmp.multiselect.svelte +70 -0
- package/dist/ui/select/cmp.multiselect.svelte.d.ts +78 -0
- package/dist/ui/select/cmp.singleselect-async.svelte +343 -0
- package/dist/ui/select/cmp.singleselect-async.svelte.d.ts +105 -0
- package/dist/ui/select/cmp.singleselect.svelte +136 -0
- package/dist/ui/select/cmp.singleselect.svelte.d.ts +96 -0
- package/dist/ui/select/index.d.ts +11 -0
- package/dist/ui/select/index.js +5 -0
- package/dist/ui/select/multiselect-base.svelte +565 -0
- package/dist/ui/select/multiselect-base.svelte.d.ts +81 -0
- package/dist/ui/select/multiselect-localization.d.ts +11 -0
- package/dist/ui/select/multiselect-localization.js +47 -0
- package/dist/ui/select/select-chip.svelte +123 -0
- package/dist/ui/select/select-chip.svelte.d.ts +48 -0
- package/dist/ui/select/select-core.svelte.d.ts +87 -0
- package/dist/ui/select/select-core.svelte.js +380 -0
- package/dist/ui/select/select-internals.d.ts +33 -0
- package/dist/ui/select/select-internals.js +111 -0
- package/dist/ui/select/select-listbox-localization.d.ts +4 -0
- package/dist/ui/select/select-listbox-localization.js +16 -0
- package/dist/ui/select/select-listbox.svelte +366 -0
- package/dist/ui/select/select-listbox.svelte.d.ts +93 -0
- package/dist/ui/select/singleselect-localization.d.ts +4 -0
- package/dist/ui/select/singleselect-localization.js +13 -0
- package/dist/ui/select/types.d.ts +211 -0
- package/dist/ui/select/types.js +1 -0
- package/dist/ui/skeleton/cmp.skeleton.svelte +72 -0
- package/dist/ui/skeleton/cmp.skeleton.svelte.d.ts +25 -0
- package/dist/ui/skeleton/index.d.ts +1 -0
- package/dist/ui/skeleton/index.js +1 -0
- package/dist/ui/slider/cmp.slider.svelte +160 -0
- package/dist/ui/slider/cmp.slider.svelte.d.ts +40 -0
- package/dist/ui/slider/index.d.ts +1 -0
- package/dist/ui/slider/index.js +1 -0
- package/dist/ui/spinner/cmp.spinner.svelte +156 -0
- package/dist/ui/spinner/cmp.spinner.svelte.d.ts +47 -0
- package/dist/ui/spinner/index.d.ts +1 -0
- package/dist/ui/spinner/index.js +1 -0
- package/dist/ui/stack/cmp.stack.svelte +25 -0
- package/dist/ui/stack/cmp.stack.svelte.d.ts +22 -0
- package/dist/ui/stack/index.d.ts +1 -0
- package/dist/ui/stack/index.js +1 -0
- package/dist/ui/stat/cmp.stat.svelte +105 -0
- package/dist/ui/stat/cmp.stat.svelte.d.ts +34 -0
- package/dist/ui/stat/index.d.ts +1 -0
- package/dist/ui/stat/index.js +1 -0
- package/dist/ui/stepper/cmp.stepper.svelte +286 -0
- package/dist/ui/stepper/cmp.stepper.svelte.d.ts +59 -0
- package/dist/ui/stepper/index.d.ts +1 -0
- package/dist/ui/stepper/index.js +1 -0
- package/dist/ui/stepper-dialog/cmp.stepper-dialog.svelte +221 -0
- package/dist/ui/stepper-dialog/cmp.stepper-dialog.svelte.d.ts +17 -0
- package/dist/ui/stepper-dialog/index.d.ts +2 -0
- package/dist/ui/stepper-dialog/index.js +1 -0
- package/dist/ui/stepper-dialog/stepper-dialog-localization.d.ts +6 -0
- package/dist/ui/stepper-dialog/stepper-dialog-localization.js +33 -0
- package/dist/ui/stepper-dialog/stepper-dialog.d.ts +22 -0
- package/dist/ui/stepper-dialog/stepper-dialog.js +26 -0
- package/dist/ui/stepper-dialog/types.d.ts +34 -0
- package/dist/ui/stepper-dialog/types.js +1 -0
- package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte +68 -9
- package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte.d.ts +20 -4
- package/dist/ui/table/cmp.table.svelte +115 -59
- package/dist/ui/table/cmp.table.svelte.d.ts +24 -15
- package/dist/ui/table/table-cells/table-actions-cell.svelte +14 -21
- package/dist/ui/table/table-cells/table-actions-cell.svelte.d.ts +5 -5
- package/dist/ui/table/table-cells/table-badge-cell.svelte +2 -2
- package/dist/ui/table/table-cells/table-button-cell.svelte +3 -3
- package/dist/ui/table/table-cells/table-by-cell.svelte +12 -21
- package/dist/ui/table/table-cells/table-checkbox-cell.svelte +3 -0
- package/dist/ui/table/table-cells/table-icon-cell.svelte +6 -29
- package/dist/ui/table/table-cells/table-icon-cell.svelte.d.ts +1 -10
- package/dist/ui/table/table-cells/table-move-row-cell.svelte +3 -3
- package/dist/ui/table/table-cells/table-select-cell.svelte +18 -12
- package/dist/ui/table/table-cells/table-text-cell.svelte +2 -5
- package/dist/ui/table/table-cells/table-text-cell.svelte.d.ts +1 -1
- package/dist/ui/table/table-cells/table-text-input-cell.svelte +11 -25
- package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte +8 -11
- package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte.d.ts +2 -2
- package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte +14 -14
- package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte.d.ts +1 -1
- package/dist/ui/table/table-group-actions/types.svelte.d.ts +2 -3
- package/dist/ui/table/table-headers/table-header-sortable.svelte +5 -5
- package/dist/ui/table/table-headers/table-header.svelte +3 -3
- package/dist/ui/table/table-model.svelte.d.ts +2 -1
- package/dist/ui/table/table-model.svelte.js +4 -1
- package/dist/ui/table/types.d.ts +24 -13
- package/dist/ui/tabs/cmp.tabs.svelte +67 -0
- package/dist/ui/tabs/cmp.tabs.svelte.d.ts +73 -0
- package/dist/ui/tabs/index.d.ts +2 -0
- package/dist/ui/tabs/index.js +1 -0
- package/dist/ui/tabs/tab.svelte +169 -0
- package/dist/ui/tabs/tab.svelte.d.ts +34 -0
- package/dist/ui/tabs/tabs-localization.d.ts +3 -0
- package/dist/ui/tabs/tabs-localization.js +12 -0
- package/dist/ui/tabs/types.d.ts +8 -0
- package/dist/ui/tabs/types.js +1 -0
- package/dist/ui/textarea/cmp.textarea.svelte +254 -0
- package/dist/ui/textarea/cmp.textarea.svelte.d.ts +80 -0
- package/dist/ui/textarea/index.d.ts +1 -0
- package/dist/ui/textarea/index.js +1 -0
- package/dist/ui/time-ago/cmp.time-ago.svelte +6 -3
- package/dist/ui/time-ago/cmp.time-ago.svelte.d.ts +5 -2
- package/dist/ui/toast/cmp.toast-item.svelte +191 -0
- package/dist/ui/{form-group/cmp.form-group-note.svelte.d.ts → toast/cmp.toast-item.svelte.d.ts} +5 -2
- package/dist/ui/toast/cmp.toaster.svelte +112 -0
- package/dist/ui/toast/cmp.toaster.svelte.d.ts +29 -0
- package/dist/ui/toast/index.d.ts +3 -0
- package/dist/ui/toast/index.js +2 -0
- package/dist/ui/toast/toast-localization.d.ts +3 -0
- package/dist/ui/toast/toast-localization.js +12 -0
- package/dist/ui/toast/toast-store.svelte.d.ts +17 -0
- package/dist/ui/toast/toast-store.svelte.js +65 -0
- package/dist/ui/toast/toaster-host.svelte.d.ts +6 -0
- package/dist/ui/toast/toaster-host.svelte.js +18 -0
- package/dist/ui/toast/toastr.d.ts +17 -0
- package/dist/ui/toast/toastr.js +30 -0
- package/dist/ui/toast/types.d.ts +27 -0
- package/dist/ui/toast/types.js +1 -0
- package/dist/ui/toggle/cmp.toggle.svelte +169 -77
- package/dist/ui/toggle/cmp.toggle.svelte.d.ts +33 -11
- package/dist/ui/tooltip/cmp.tooltip.svelte +125 -155
- package/dist/ui/tooltip/cmp.tooltip.svelte.d.ts +23 -19
- package/dist/ui/tooltip/index.d.ts +0 -1
- package/dist/ui/tree/cmp.tree-node-view.svelte +342 -0
- package/dist/ui/tree/cmp.tree-node-view.svelte.d.ts +12 -0
- package/dist/ui/tree/cmp.tree.svelte +65 -0
- package/dist/ui/tree/cmp.tree.svelte.d.ts +32 -0
- package/dist/ui/tree/index.d.ts +4 -0
- package/dist/ui/tree/index.js +2 -0
- package/dist/ui/tree/tree-navigation.svelte.d.ts +14 -0
- package/dist/ui/tree/tree-navigation.svelte.js +99 -0
- package/dist/ui/tree/tree-node-action.d.ts +8 -0
- package/dist/ui/tree/tree-node-action.js +1 -0
- package/dist/ui/tree/tree-node-drag-config.svelte.d.ts +16 -0
- package/dist/ui/tree/tree-node-drag-config.svelte.js +4 -0
- package/dist/ui/tree/tree-node.svelte.d.ts +81 -0
- package/dist/ui/tree/tree-node.svelte.js +232 -0
- package/dist/ui/typography/cmp.heading.svelte +77 -0
- package/dist/ui/typography/cmp.heading.svelte.d.ts +29 -0
- package/dist/ui/typography/cmp.text.svelte +68 -0
- package/dist/ui/typography/cmp.text.svelte.d.ts +32 -0
- package/dist/ui/typography/index.d.ts +2 -0
- package/dist/ui/typography/index.js +2 -0
- package/dist/ui/usage/cmp.usage-row.svelte +85 -0
- package/dist/ui/usage/cmp.usage-row.svelte.d.ts +29 -0
- package/dist/ui/usage/cmp.usage.svelte +50 -0
- package/dist/ui/usage/cmp.usage.svelte.d.ts +23 -0
- package/dist/ui/usage/index.d.ts +2 -0
- package/dist/ui/usage/index.js +2 -0
- package/dist/ui/validatable/cmp.field-error.svelte +36 -0
- package/dist/ui/validatable/cmp.field-error.svelte.d.ts +17 -0
- package/dist/ui/validatable/cmp.validatable.svelte +86 -50
- package/dist/ui/validatable/cmp.validatable.svelte.d.ts +72 -28
- package/dist/ui/validatable/cmp.validation-error.svelte +8 -45
- package/dist/ui/validatable/cmp.validation-error.svelte.d.ts +3 -8
- package/dist/ui/validatable/index.d.ts +1 -0
- package/dist/ui/video/cmp.video.svelte +7 -7
- package/dist/ui/visual-select/cmp.visual-select.svelte +154 -0
- package/dist/ui/visual-select/cmp.visual-select.svelte.d.ts +78 -0
- package/dist/ui/visual-select/index.d.ts +1 -0
- package/dist/ui/visual-select/index.js +1 -0
- package/dist/ui/website-input/cmp.website-input.svelte +78 -0
- package/dist/ui/website-input/cmp.website-input.svelte.d.ts +25 -0
- package/dist/ui/website-input/index.d.ts +1 -0
- package/dist/ui/website-input/index.js +1 -0
- package/dist/ui/website-input/website-input-localization.d.ts +3 -0
- package/dist/ui/website-input/website-input-localization.js +12 -0
- package/package.json +243 -89
- package/dist/core/toastr/index.d.ts +0 -3
- package/dist/core/toastr/index.js +0 -2
- package/dist/core/toastr/toaster-host.svelte.d.ts +0 -7
- package/dist/core/toastr/toaster-host.svelte.js +0 -41
- package/dist/core/toastr/toastr.scss +0 -66
- package/dist/core/toastr/toastr.svelte.d.ts +0 -8
- package/dist/core/toastr/toastr.svelte.js +0 -30
- package/dist/core/toastr/types.d.ts +0 -16
- package/dist/styles/_colors.scss +0 -126
- package/dist/styles/_form-group.scss +0 -37
- package/dist/styles/_input.scss +0 -100
- package/dist/styles/_row.scss +0 -81
- package/dist/styles/_theme.scss +0 -68
- package/dist/ui/button/cmp.options-button.svelte +0 -214
- package/dist/ui/button/cmp.options-button.svelte.d.ts +0 -38
- package/dist/ui/button/resources/button-base.svelte +0 -81
- package/dist/ui/button/resources/button-base.svelte.d.ts +0 -13
- package/dist/ui/button/resources/button-theme.svelte +0 -335
- package/dist/ui/button/resources/button-theme.svelte.d.ts +0 -10
- package/dist/ui/button/resources/types.d.ts +0 -2
- package/dist/ui/checkbox/cmp.three-state-checkbox.svelte +0 -117
- package/dist/ui/checkbox/cmp.three-state-checkbox.svelte.d.ts +0 -37
- package/dist/ui/checkbox/types.d.ts +0 -1
- package/dist/ui/datetime-picker/cmp.datetime-picker.svelte +0 -292
- package/dist/ui/datetime-picker/cmp.datetime-picker.svelte.d.ts +0 -37
- package/dist/ui/datetime-picker/datetime-picker-localization.d.ts +0 -5
- package/dist/ui/datetime-picker/datetime-picker-localization.js +0 -26
- package/dist/ui/datetime-picker/flatpickr-theme.d.ts +0 -1
- package/dist/ui/datetime-picker/flatpickr-theme.js +0 -13
- package/dist/ui/datetime-picker/index.d.ts +0 -2
- package/dist/ui/datetime-picker/index.js +0 -1
- package/dist/ui/datetime-picker/types.d.ts +0 -16
- package/dist/ui/dialog/dialog-mount.d.ts +0 -3
- package/dist/ui/dialog/dialog-mount.js +0 -19
- package/dist/ui/dialog/dialogs.svelte.d.ts +0 -16
- package/dist/ui/dialog/dialogs.svelte.js +0 -86
- package/dist/ui/dropdown/cmp.dropdown-item.svelte +0 -93
- package/dist/ui/dropdown/cmp.dropdown-item.svelte.d.ts +0 -32
- package/dist/ui/dropdown/cmp.dropdown.svelte +0 -289
- package/dist/ui/dropdown/cmp.dropdown.svelte.d.ts +0 -48
- package/dist/ui/dropdown/index.d.ts +0 -4
- package/dist/ui/dropdown/index.js +0 -3
- package/dist/ui/form-group/cmp.form-group-label.svelte +0 -25
- package/dist/ui/form-group/cmp.form-group-note.svelte +0 -16
- package/dist/ui/form-group/cmp.form-group.svelte +0 -16
- package/dist/ui/form-group/index.d.ts +0 -3
- package/dist/ui/form-group/index.js +0 -3
- package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte +0 -101
- package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte.d.ts +0 -25
- package/dist/ui/infinite-scrolling/index.d.ts +0 -1
- package/dist/ui/infinite-scrolling/index.js +0 -1
- package/dist/ui/inputs/index.d.ts +0 -6
- package/dist/ui/inputs/index.js +0 -5
- package/dist/ui/inputs/input/cmp.input-validatable.svelte +0 -57
- package/dist/ui/inputs/input/cmp.input-validatable.svelte.d.ts +0 -57
- package/dist/ui/inputs/input/cmp.input.svelte +0 -241
- package/dist/ui/inputs/input/cmp.input.svelte.d.ts +0 -61
- package/dist/ui/inputs/input/index.d.ts +0 -2
- package/dist/ui/inputs/input/index.js +0 -2
- package/dist/ui/inputs/input-emoji-picker/cmp.input-emoji-picker.svelte +0 -44
- package/dist/ui/inputs/input-emoji-picker/cmp.input-emoji-picker.svelte.d.ts +0 -9
- package/dist/ui/inputs/input-emoji-picker/input-emoji-picker-container.d.ts +0 -2
- package/dist/ui/inputs/input-emoji-picker/input-emoji-picker-container.js +0 -16
- package/dist/ui/inputs/numeral-input/cmp.numeral-input-validatable.svelte +0 -55
- package/dist/ui/inputs/numeral-input/cmp.numeral-input-validatable.svelte.d.ts +0 -62
- package/dist/ui/inputs/numeral-input/cmp.numeral-input.svelte +0 -254
- package/dist/ui/inputs/numeral-input/cmp.numeral-input.svelte.d.ts +0 -66
- package/dist/ui/inputs/numeral-input/index.d.ts +0 -2
- package/dist/ui/inputs/numeral-input/index.js +0 -2
- package/dist/ui/inputs/pin-input/cmp.pin-input.svelte +0 -58
- package/dist/ui/inputs/pin-input/cmp.pin-input.svelte.d.ts +0 -23
- package/dist/ui/inputs/pin-input/pin-input-generator.d.ts +0 -27
- package/dist/ui/inputs/pin-input/pin-input-generator.js +0 -114
- package/dist/ui/inputs/rich-text-input/cmp.rich-text-input.svelte +0 -55
- package/dist/ui/inputs/rich-text-input/cmp.rich-text-input.svelte.d.ts +0 -43
- package/dist/ui/inputs/rich-text-input/tinymce-input.svelte +0 -252
- package/dist/ui/inputs/rich-text-input/tinymce-input.svelte.d.ts +0 -25
- package/dist/ui/inputs/rich-text-input/tinymce.declarations.d.ts +0 -7
- package/dist/ui/inputs/textarea/cmp.textarea-validatable.svelte +0 -35
- package/dist/ui/inputs/textarea/cmp.textarea-validatable.svelte.d.ts +0 -54
- package/dist/ui/inputs/textarea/cmp.textarea.svelte +0 -249
- package/dist/ui/inputs/textarea/cmp.textarea.svelte.d.ts +0 -58
- package/dist/ui/inputs/textarea/index.d.ts +0 -2
- package/dist/ui/inputs/textarea/index.js +0 -2
- package/dist/ui/loading/cmp.loading.svelte +0 -93
- package/dist/ui/loading/cmp.loading.svelte.d.ts +0 -22
- package/dist/ui/loading/index.d.ts +0 -1
- package/dist/ui/loading/index.js +0 -1
- package/dist/ui/multiselect-dropdown/cmp.checkbox-node.svelte +0 -76
- package/dist/ui/multiselect-dropdown/cmp.checkbox-node.svelte.d.ts +0 -14
- package/dist/ui/multiselect-dropdown/cmp.multiselect-dropdown.svelte +0 -276
- package/dist/ui/multiselect-dropdown/cmp.multiselect-dropdown.svelte.d.ts +0 -45
- package/dist/ui/multiselect-dropdown/index.d.ts +0 -3
- package/dist/ui/multiselect-dropdown/index.js +0 -2
- package/dist/ui/multiselect-dropdown/mapper.d.ts +0 -3
- package/dist/ui/multiselect-dropdown/mapper.js +0 -39
- package/dist/ui/multiselect-dropdown/multiselect-dropdown-localization.d.ts +0 -11
- package/dist/ui/multiselect-dropdown/multiselect-dropdown-localization.js +0 -41
- package/dist/ui/multiselect-dropdown/types.d.ts +0 -10
- package/dist/ui/page-toolbar/cmp.toolbar-button-item.svelte +0 -34
- package/dist/ui/page-toolbar/cmp.toolbar-dropdown.svelte +0 -29
- package/dist/ui/page-toolbar/cmp.toolbar-dropdown.svelte.d.ts +0 -17
- package/dist/ui/placeholder/cmp.placeholder.svelte +0 -65
- package/dist/ui/placeholder/cmp.placeholder.svelte.d.ts +0 -19
- package/dist/ui/placeholder/index.d.ts +0 -1
- package/dist/ui/placeholder/index.js +0 -1
- package/dist/ui/selects/_multiselect.scss +0 -282
- package/dist/ui/selects/_singleselect.scss +0 -176
- package/dist/ui/selects/cmp.multiselect.svelte +0 -531
- package/dist/ui/selects/cmp.multiselect.svelte.d.ts +0 -87
- package/dist/ui/selects/cmp.search-multiselect.svelte +0 -533
- package/dist/ui/selects/cmp.search-multiselect.svelte.d.ts +0 -69
- package/dist/ui/selects/cmp.singleselect.svelte +0 -386
- package/dist/ui/selects/cmp.singleselect.svelte.d.ts +0 -80
- package/dist/ui/selects/index.d.ts +0 -5
- package/dist/ui/selects/index.js +0 -4
- package/dist/ui/selects/select-localization.d.ts +0 -6
- package/dist/ui/selects/select-localization.js +0 -27
- package/dist/ui/selects/types.d.ts +0 -29
- package/dist/ui/tooltip/types.d.ts +0 -2
- package/dist/ui/validatable/_validatable.scss +0 -34
- /package/dist/core/{toastr/types.js → files/file-validation-types.js} +0 -0
- /package/dist/{ui/button/resources/types.js → core/files/upload-types.js} +0 -0
- /package/dist/ui/{checkbox → breadcrumb}/types.js +0 -0
- /package/dist/ui/{datetime-picker → button}/types.js +0 -0
- /package/dist/ui/{inputs/rich-text-input → chip-group}/types.js +0 -0
- /package/dist/ui/{multiselect-dropdown → date-picker}/types.js +0 -0
- /package/dist/ui/{selects → drag-and-drop}/types.js +0 -0
- /package/dist/ui/{tooltip → grid-card}/types.js +0 -0
- /package/dist/ui/{inputs/pin-input → pin-input}/index.d.ts +0 -0
- /package/dist/ui/{inputs/pin-input → pin-input}/index.js +0 -0
- /package/dist/ui/{inputs/rich-text-input → rich-text-input}/index.d.ts +0 -0
- /package/dist/ui/{inputs/rich-text-input → rich-text-input}/index.js +0 -0
- /package/dist/ui/{inputs/rich-text-input → rich-text-input}/rich-text-input-localization.d.ts +0 -0
- /package/dist/ui/{inputs/rich-text-input → rich-text-input}/types.d.ts +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<script lang="ts">import { Icon } from '../icon';
|
|
2
|
+
import { Image } from '../image';
|
|
3
|
+
import { PlaybackManager } from '../media-playback';
|
|
4
|
+
import { Carousel } from '../player/carousel';
|
|
5
|
+
import { ProportionalContainer } from '../proportional-container';
|
|
6
|
+
import { SeekBar } from '../seek-bar';
|
|
7
|
+
import { default as VideoPlayer } from './cmp.video-player.svelte';
|
|
8
|
+
import IconImageOff from '@fluentui/svg-icons/icons/image_off_20_regular.svg?raw';
|
|
9
|
+
const { items, aspectRatio = 'vertical', objectFit = 'contain', showSeekBar = true, duration } = $props();
|
|
10
|
+
let currentIndex = $state(0);
|
|
11
|
+
let currentTime = $state(0);
|
|
12
|
+
let mediaDuration = $state(NaN);
|
|
13
|
+
let activePlayerId = $state.raw(null);
|
|
14
|
+
const hasPlayable = $derived(items.some((item) => item.playable));
|
|
15
|
+
const isCurrentPlayable = $derived(items[currentIndex]?.playable === true);
|
|
16
|
+
const progress = $derived(mediaDuration ? currentTime / mediaDuration : 0);
|
|
17
|
+
const onPlayerTimeUpdate = (t) => (currentTime = t);
|
|
18
|
+
const onPlayerDurationChange = (d) => (mediaDuration = d);
|
|
19
|
+
const onPlayerActivate = (id) => (activePlayerId = id);
|
|
20
|
+
const normalizedRatio = $derived.by(() => {
|
|
21
|
+
switch (aspectRatio) {
|
|
22
|
+
case 'vertical':
|
|
23
|
+
return 9 / 16;
|
|
24
|
+
case 'square':
|
|
25
|
+
return 1;
|
|
26
|
+
case 'horizontal':
|
|
27
|
+
return 16 / 9;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const onSeek = (value) => {
|
|
31
|
+
if (isNaN(mediaDuration)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
currentTime = value * mediaDuration;
|
|
35
|
+
if (activePlayerId) {
|
|
36
|
+
PlaybackManager.seek(activePlayerId, currentTime);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const onCarouselIndexChanged = (index) => {
|
|
40
|
+
currentIndex = index;
|
|
41
|
+
activePlayerId = null;
|
|
42
|
+
};
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<div class="grid-card-media" class:grid-card-media--contain={objectFit === 'contain'} class:grid-card-media--cover={objectFit === 'cover'}>
|
|
46
|
+
<ProportionalContainer ratio={normalizedRatio}>
|
|
47
|
+
{#if items.length === 0}
|
|
48
|
+
<div class="grid-card-media__empty">
|
|
49
|
+
<Icon src={IconImageOff} color="on-accent" />
|
|
50
|
+
</div>
|
|
51
|
+
{:else if items.length === 1}
|
|
52
|
+
{#if items[0].playable}
|
|
53
|
+
<VideoPlayer
|
|
54
|
+
src={items[0].url}
|
|
55
|
+
active={true}
|
|
56
|
+
on={{ timeUpdate: onPlayerTimeUpdate, durationChange: onPlayerDurationChange, activate: onPlayerActivate }} />
|
|
57
|
+
{:else}
|
|
58
|
+
<Image src={items[0].url} showStubOnError={true} />
|
|
59
|
+
{/if}
|
|
60
|
+
{:else}
|
|
61
|
+
<div class="grid-card-media__carousel">
|
|
62
|
+
<Carousel items={items} mode="arrows-with-counts" initialIndex={0} on={{ indexChanged: onCarouselIndexChanged }}>
|
|
63
|
+
{#snippet children(item)}
|
|
64
|
+
<div class="grid-card-media__slide">
|
|
65
|
+
{#if item.playable}
|
|
66
|
+
<VideoPlayer
|
|
67
|
+
src={item.url}
|
|
68
|
+
active={item === items[currentIndex]}
|
|
69
|
+
on={{ timeUpdate: onPlayerTimeUpdate, durationChange: onPlayerDurationChange, activate: onPlayerActivate }} />
|
|
70
|
+
{:else}
|
|
71
|
+
<Image src={item.url} showStubOnError={true} />
|
|
72
|
+
{/if}
|
|
73
|
+
</div>
|
|
74
|
+
{/snippet}
|
|
75
|
+
</Carousel>
|
|
76
|
+
</div>
|
|
77
|
+
{/if}
|
|
78
|
+
|
|
79
|
+
{#if duration}
|
|
80
|
+
<span class="grid-card-media__duration">{duration}</span>
|
|
81
|
+
{/if}
|
|
82
|
+
</ProportionalContainer>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
{#if showSeekBar && hasPlayable}
|
|
86
|
+
<div class="seek-bar-section">
|
|
87
|
+
<div class="seek-bar-section__content">
|
|
88
|
+
<div class="seek-bar-section__bar" class:seek-bar-section__bar--hidden={!isCurrentPlayable}>
|
|
89
|
+
<SeekBar value={progress} on={{ seek: onSeek }} />
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
{/if}
|
|
94
|
+
|
|
95
|
+
<!--
|
|
96
|
+
@component
|
|
97
|
+
Media slot for `GridCard`. Renders an empty placeholder, a single `Image` / `VideoPlayer`, or
|
|
98
|
+
a `Carousel` of mixed image / video items. Seek-bar appears below the media when any item is
|
|
99
|
+
playable; in a carousel it's hidden via `visibility: hidden` when the current slide is an
|
|
100
|
+
image (preserves card height). Optional `duration` overlay renders bottom-right.
|
|
101
|
+
|
|
102
|
+
### CSS Custom Properties
|
|
103
|
+
| Property | Description | Default |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `--sc-kit--grid-card--media--object-fit` | Object-fit forwarded to image / video | `contain` (per `objectFit` prop) |
|
|
106
|
+
-->
|
|
107
|
+
|
|
108
|
+
<style>.grid-card-media {
|
|
109
|
+
width: 100%;
|
|
110
|
+
margin-bottom: 0.5rem;
|
|
111
|
+
}
|
|
112
|
+
.grid-card-media--contain {
|
|
113
|
+
--sc-kit--image--object-fit: contain;
|
|
114
|
+
--sc-kit--grid-card--media--object-fit: contain;
|
|
115
|
+
}
|
|
116
|
+
.grid-card-media--cover {
|
|
117
|
+
--sc-kit--image--object-fit: cover;
|
|
118
|
+
--sc-kit--grid-card--media--object-fit: cover;
|
|
119
|
+
}
|
|
120
|
+
.grid-card-media__empty {
|
|
121
|
+
width: 100%;
|
|
122
|
+
height: 100%;
|
|
123
|
+
display: flex;
|
|
124
|
+
justify-content: center;
|
|
125
|
+
align-items: center;
|
|
126
|
+
background: var(--sc-kit--color--bg--images);
|
|
127
|
+
--sc-kit--icon--size: 1.5rem;
|
|
128
|
+
}
|
|
129
|
+
.grid-card-media__carousel {
|
|
130
|
+
display: contents;
|
|
131
|
+
--sc-kit--carousel--button-color: light-dark(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2));
|
|
132
|
+
--sc-kit--carousel--text-color: var(--sc-kit--color--text--primary);
|
|
133
|
+
--sc-kit--carousel--navigation-button--size: 1.625rem;
|
|
134
|
+
--sc-kit--carousel--counts--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 2px rgba(0, 0, 0, 0.6);
|
|
135
|
+
--sc-kit--carousel--counts--font-size: 0.75rem;
|
|
136
|
+
--sc-kit--carousel--counts--width: 3.75rem;
|
|
137
|
+
}
|
|
138
|
+
.grid-card-media__slide {
|
|
139
|
+
width: 100%;
|
|
140
|
+
height: 100%;
|
|
141
|
+
background-color: light-dark(#ffffff, #000000);
|
|
142
|
+
}
|
|
143
|
+
.grid-card-media__duration {
|
|
144
|
+
position: absolute;
|
|
145
|
+
bottom: 0.5rem;
|
|
146
|
+
right: 0.5rem;
|
|
147
|
+
background: light-dark(rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.7));
|
|
148
|
+
color: var(--sc-kit--color--text--secondary);
|
|
149
|
+
padding: 0.125rem 0.375rem;
|
|
150
|
+
border-radius: 0.125rem;
|
|
151
|
+
font-size: 0.75rem;
|
|
152
|
+
font-weight: var(--sc-kit--font-weight--medium);
|
|
153
|
+
line-height: var(--sc-kit--leading--normal);
|
|
154
|
+
z-index: 1;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.seek-bar-section__content {
|
|
158
|
+
display: flex;
|
|
159
|
+
align-items: center;
|
|
160
|
+
width: 100%;
|
|
161
|
+
background: var(--sc-kit--color--bg--panel);
|
|
162
|
+
padding: 1px 0.5rem;
|
|
163
|
+
border-radius: 0.125rem;
|
|
164
|
+
}
|
|
165
|
+
.seek-bar-section__bar {
|
|
166
|
+
width: 100%;
|
|
167
|
+
}
|
|
168
|
+
.seek-bar-section__bar--hidden {
|
|
169
|
+
visibility: hidden;
|
|
170
|
+
}</style>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AspectRatio, ObjectFit } from './types';
|
|
2
|
+
export type MediaItem = {
|
|
3
|
+
url: string;
|
|
4
|
+
playable?: boolean;
|
|
5
|
+
};
|
|
6
|
+
type Props = {
|
|
7
|
+
items: MediaItem[];
|
|
8
|
+
/** @default 'vertical' */
|
|
9
|
+
aspectRatio?: AspectRatio;
|
|
10
|
+
/** @default 'contain' */
|
|
11
|
+
objectFit?: ObjectFit;
|
|
12
|
+
/** @default true */
|
|
13
|
+
showSeekBar?: boolean;
|
|
14
|
+
/** Optional duration badge rendered as an overlay at the bottom-right of the media. */
|
|
15
|
+
duration?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Media slot for `GridCard`. Renders an empty placeholder, a single `Image` / `VideoPlayer`, or
|
|
19
|
+
* a `Carousel` of mixed image / video items. Seek-bar appears below the media when any item is
|
|
20
|
+
* playable; in a carousel it's hidden via `visibility: hidden` when the current slide is an
|
|
21
|
+
* image (preserves card height). Optional `duration` overlay renders bottom-right.
|
|
22
|
+
*
|
|
23
|
+
* ### CSS Custom Properties
|
|
24
|
+
* | Property | Description | Default |
|
|
25
|
+
* |---|---|---|
|
|
26
|
+
* | `--sc-kit--grid-card--media--object-fit` | Object-fit forwarded to image / video | `contain` (per `objectFit` prop) |
|
|
27
|
+
*/
|
|
28
|
+
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
29
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
30
|
+
export default Cmp;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<script lang="ts">import { Icon } from '../icon';
|
|
2
|
+
import IconCheckboxChecked from './icon-checkbox-checked.svg?raw';
|
|
3
|
+
import IconCheckboxUnchecked from './icon-checkbox-unchecked.svg?raw';
|
|
4
|
+
const { selected, children, on } = $props();
|
|
5
|
+
const interactive = $derived(!!on?.activate);
|
|
6
|
+
const onCheckboxClick = (e) => {
|
|
7
|
+
e.stopPropagation();
|
|
8
|
+
on?.select?.(!selected);
|
|
9
|
+
};
|
|
10
|
+
const onCardKeydown = (e) => {
|
|
11
|
+
if (!on?.activate) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
on.activate();
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<div class="grid-card-container">
|
|
22
|
+
<!-- role="button" + onkeydown for Enter/Space make this interactive; the conditional confuses the lint, so we suppress. -->
|
|
23
|
+
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
|
24
|
+
<div
|
|
25
|
+
class="grid-card"
|
|
26
|
+
class:grid-card--interactive={interactive}
|
|
27
|
+
role={interactive ? 'button' : undefined}
|
|
28
|
+
tabindex={interactive ? 0 : undefined}
|
|
29
|
+
onclick={() => on?.activate?.()}
|
|
30
|
+
onkeydown={onCardKeydown}>
|
|
31
|
+
{@render children()}
|
|
32
|
+
{#if selected || on?.select}
|
|
33
|
+
<button type="button" class="grid-card__checkbox" class:grid-card__checkbox--checked={selected} onclick={onCheckboxClick} aria-pressed={selected}>
|
|
34
|
+
<Icon src={selected ? IconCheckboxChecked : IconCheckboxUnchecked} />
|
|
35
|
+
</button>
|
|
36
|
+
{/if}
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<!--
|
|
41
|
+
@component
|
|
42
|
+
Media-first grid card primitive for catalog / browser views (ads, products, content lists,
|
|
43
|
+
short-videos). Composable: media in the top slot via `<GridCardMedia>`, key-value rows via
|
|
44
|
+
`<GridCardFields>` containing `<GridCardField>` / `<GridCardTextField>` / `<GridCardIdField>` /
|
|
45
|
+
`<GridCardBadgeField>` / `<GridCardProgressField>` / `<GridCardActionsField>`.
|
|
46
|
+
|
|
47
|
+
Selection: pass `selected` (and `on.select`) to render a checkbox at top-left. Whole-card
|
|
48
|
+
activation: pass `on.activate` to make the root a keyboard-accessible button (Enter / Space).
|
|
49
|
+
Inner interactive elements stop event propagation so they don't double-fire activation.
|
|
50
|
+
|
|
51
|
+
### CSS Custom Properties
|
|
52
|
+
| Property | Description | Default |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `--sc-kit--grid-card--background` | Card background | `var(--sc-kit--color--bg--element)` |
|
|
55
|
+
| `--sc-kit--grid-card--padding` | Inner padding (container-query responsive) | `clamp(4px, 8cqi, 8px)` |
|
|
56
|
+
| `--sc-kit--grid-card--gap` | Gap between media and fields | `4px` |
|
|
57
|
+
| `--sc-kit--grid-card--border-radius` | Card border radius | `4px` |
|
|
58
|
+
| `--sc-kit--grid-card--checkbox--color` | Checkbox icon color (unchecked) | `var(--sc-kit--color--text--muted)` |
|
|
59
|
+
| `--sc-kit--grid-card--checkbox--color--checked` | Checkbox icon color (checked) | `var(--sc-kit--color--accent)` |
|
|
60
|
+
-->
|
|
61
|
+
|
|
62
|
+
<style>.grid-card-container {
|
|
63
|
+
container-type: inline-size;
|
|
64
|
+
width: 100%;
|
|
65
|
+
height: 100%;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.grid-card {
|
|
69
|
+
--_grid-card--background: var(--sc-kit--grid-card--background, var(--sc-kit--color--bg--element));
|
|
70
|
+
--_grid-card--padding: var(--sc-kit--grid-card--padding, clamp(0.25rem, 3.6cqi, 0.5rem));
|
|
71
|
+
--_grid-card--gap: var(--sc-kit--grid-card--gap, 0.25rem);
|
|
72
|
+
--_grid-card--border-radius: var(--sc-kit--grid-card--border-radius, 0.25rem);
|
|
73
|
+
--_grid-card--checkbox-color: var(--sc-kit--grid-card--checkbox--color, var(--sc-kit--color--text--muted));
|
|
74
|
+
--_grid-card--checkbox-color-checked: var(--sc-kit--grid-card--checkbox--color--checked, var(--sc-kit--color--accent));
|
|
75
|
+
position: relative;
|
|
76
|
+
width: 100%;
|
|
77
|
+
height: 100%;
|
|
78
|
+
border-radius: var(--_grid-card--border-radius);
|
|
79
|
+
background: var(--_grid-card--background);
|
|
80
|
+
padding: var(--_grid-card--padding);
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: column;
|
|
83
|
+
gap: var(--_grid-card--gap);
|
|
84
|
+
transition: box-shadow var(--sc-kit--duration--base) var(--sc-kit--ease--default);
|
|
85
|
+
}
|
|
86
|
+
.grid-card--interactive {
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
}
|
|
89
|
+
.grid-card--interactive:hover {
|
|
90
|
+
box-shadow: 0 4px 12px light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
|
|
91
|
+
}
|
|
92
|
+
.grid-card--interactive:focus-visible {
|
|
93
|
+
outline: 2px solid var(--sc-kit--color--border--focus);
|
|
94
|
+
outline-offset: 2px;
|
|
95
|
+
}
|
|
96
|
+
.grid-card__checkbox {
|
|
97
|
+
position: absolute;
|
|
98
|
+
top: 0.5rem;
|
|
99
|
+
left: 0.5rem;
|
|
100
|
+
z-index: 10;
|
|
101
|
+
padding: 0;
|
|
102
|
+
border: none;
|
|
103
|
+
background: none;
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
line-height: 0;
|
|
106
|
+
--sc-kit--icon--size: 1.5rem;
|
|
107
|
+
--sc-kit--icon--color: var(--_grid-card--checkbox-color);
|
|
108
|
+
}
|
|
109
|
+
.grid-card__checkbox--checked {
|
|
110
|
+
--sc-kit--icon--color: var(--_grid-card--checkbox-color-checked);
|
|
111
|
+
}</style>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
type Props = {
|
|
3
|
+
selected?: boolean;
|
|
4
|
+
children: Snippet;
|
|
5
|
+
on?: {
|
|
6
|
+
/** Fires on checkbox click. Render the checkbox by either setting `selected` or wiring `select`. */
|
|
7
|
+
select?: (value: boolean) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Fires on whole-card activation: click on the card surface OR Enter/Space when focused.
|
|
10
|
+
* When set, the card root becomes `role="button"` + `tabindex="0"` for keyboard a11y.
|
|
11
|
+
* Inner interactive elements (checkbox, buttons inside fields) stopPropagation so they
|
|
12
|
+
* don't double-fire `activate`.
|
|
13
|
+
*/
|
|
14
|
+
activate?: () => void;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Media-first grid card primitive for catalog / browser views (ads, products, content lists,
|
|
19
|
+
* short-videos). Composable: media in the top slot via `<GridCardMedia>`, key-value rows via
|
|
20
|
+
* `<GridCardFields>` containing `<GridCardField>` / `<GridCardTextField>` / `<GridCardIdField>` /
|
|
21
|
+
* `<GridCardBadgeField>` / `<GridCardProgressField>` / `<GridCardActionsField>`.
|
|
22
|
+
*
|
|
23
|
+
* Selection: pass `selected` (and `on.select`) to render a checkbox at top-left. Whole-card
|
|
24
|
+
* activation: pass `on.activate` to make the root a keyboard-accessible button (Enter / Space).
|
|
25
|
+
* Inner interactive elements stop event propagation so they don't double-fire activation.
|
|
26
|
+
*
|
|
27
|
+
* ### CSS Custom Properties
|
|
28
|
+
* | Property | Description | Default |
|
|
29
|
+
* |---|---|---|
|
|
30
|
+
* | `--sc-kit--grid-card--background` | Card background | `var(--sc-kit--color--bg--element)` |
|
|
31
|
+
* | `--sc-kit--grid-card--padding` | Inner padding (container-query responsive) | `clamp(4px, 8cqi, 8px)` |
|
|
32
|
+
* | `--sc-kit--grid-card--gap` | Gap between media and fields | `4px` |
|
|
33
|
+
* | `--sc-kit--grid-card--border-radius` | Card border radius | `4px` |
|
|
34
|
+
* | `--sc-kit--grid-card--checkbox--color` | Checkbox icon color (unchecked) | `var(--sc-kit--color--text--muted)` |
|
|
35
|
+
* | `--sc-kit--grid-card--checkbox--color--checked` | Checkbox icon color (checked) | `var(--sc-kit--color--accent)` |
|
|
36
|
+
*/
|
|
37
|
+
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
38
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
39
|
+
export default Cmp;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
<script lang="ts">import { randomNanoid } from '../../core/utils';
|
|
2
|
+
import { Icon } from '../icon';
|
|
3
|
+
import { PlaybackManager } from '../media-playback';
|
|
4
|
+
import IconPause from '@fluentui/svg-icons/icons/pause_20_regular.svg?raw';
|
|
5
|
+
import IconPlay from '@fluentui/svg-icons/icons/play_20_regular.svg?raw';
|
|
6
|
+
import { untrack } from 'svelte';
|
|
7
|
+
const { src, active, on } = $props();
|
|
8
|
+
const id = randomNanoid();
|
|
9
|
+
let videoEl = $state(null);
|
|
10
|
+
let currentTime = $state(0);
|
|
11
|
+
let duration = $state(NaN);
|
|
12
|
+
let isPlaying = $state(false);
|
|
13
|
+
// Seek requested before metadata loaded — applied on `loadedmetadata`. Some browsers
|
|
14
|
+
// silently drop currentTime writes before HAVE_METADATA (readyState < 1).
|
|
15
|
+
let pendingSeekTime = null;
|
|
16
|
+
// Register with the global PlaybackManager so only one player runs at a time.
|
|
17
|
+
$effect(() => untrack(() => {
|
|
18
|
+
PlaybackManager.registerMountedPlayer(id, {
|
|
19
|
+
onPlay: () => setPlaying(true),
|
|
20
|
+
onPause: () => setPlaying(false),
|
|
21
|
+
onStop: () => {
|
|
22
|
+
setPlaying(false);
|
|
23
|
+
currentTime = 0;
|
|
24
|
+
},
|
|
25
|
+
onSeek: (time) => seekTo(time)
|
|
26
|
+
});
|
|
27
|
+
return () => PlaybackManager.unregisterPlayer(id);
|
|
28
|
+
}));
|
|
29
|
+
$effect(() => {
|
|
30
|
+
if (isPlaying) {
|
|
31
|
+
PlaybackManager.setPlayingComponent(id);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// Re-publish state when the parent flips us to active (e.g. carousel slide change). Native
|
|
35
|
+
// `durationchange` only fires once on metadata load, so this is how a parent recovers the
|
|
36
|
+
// already-known duration after navigation.
|
|
37
|
+
$effect(() => {
|
|
38
|
+
if (active && videoEl) {
|
|
39
|
+
on?.activate?.(id);
|
|
40
|
+
if (!isNaN(videoEl.duration)) {
|
|
41
|
+
on?.durationChange?.(videoEl.duration);
|
|
42
|
+
}
|
|
43
|
+
on?.timeUpdate?.(videoEl.currentTime);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
$effect(() => {
|
|
47
|
+
if (!videoEl) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (isPlaying) {
|
|
51
|
+
const el = videoEl;
|
|
52
|
+
void (async () => {
|
|
53
|
+
try {
|
|
54
|
+
await el.play();
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
setPlaying(false);
|
|
58
|
+
}
|
|
59
|
+
})();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
videoEl.pause();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const setPlaying = (value) => {
|
|
66
|
+
isPlaying = value;
|
|
67
|
+
};
|
|
68
|
+
const formatTime = (seconds) => {
|
|
69
|
+
if (isNaN(seconds) || seconds < 0) {
|
|
70
|
+
return '00:00';
|
|
71
|
+
}
|
|
72
|
+
const minutes = Math.floor(seconds / 60);
|
|
73
|
+
const remainingSeconds = Math.floor(seconds % 60);
|
|
74
|
+
return `${minutes.toString().padStart(2, '0')}:${remainingSeconds.toString().padStart(2, '0')}`;
|
|
75
|
+
};
|
|
76
|
+
const togglePlay = () => setPlaying(!isPlaying);
|
|
77
|
+
const onTimeUpdate = () => {
|
|
78
|
+
if (!videoEl) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
currentTime = videoEl.currentTime;
|
|
82
|
+
on?.timeUpdate?.(currentTime);
|
|
83
|
+
};
|
|
84
|
+
const onDurationChange = () => {
|
|
85
|
+
if (!videoEl) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
duration = videoEl.duration;
|
|
89
|
+
on?.durationChange?.(duration);
|
|
90
|
+
};
|
|
91
|
+
const onLoadedMetadata = () => {
|
|
92
|
+
if (!videoEl) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (pendingSeekTime !== null) {
|
|
96
|
+
videoEl.currentTime = pendingSeekTime;
|
|
97
|
+
pendingSeekTime = null;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
export const seekTo = (time) => {
|
|
101
|
+
if (!videoEl) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// HAVE_METADATA = 1; before that, currentTime writes can be dropped silently.
|
|
105
|
+
if (videoEl.readyState >= 1) {
|
|
106
|
+
videoEl.currentTime = time;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
pendingSeekTime = time;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
</script>
|
|
113
|
+
|
|
114
|
+
<div class="video-player">
|
|
115
|
+
<video
|
|
116
|
+
bind:this={videoEl}
|
|
117
|
+
src={src}
|
|
118
|
+
controls={false}
|
|
119
|
+
preload="auto"
|
|
120
|
+
ontimeupdate={onTimeUpdate}
|
|
121
|
+
ondurationchange={onDurationChange}
|
|
122
|
+
onloadedmetadata={onLoadedMetadata}
|
|
123
|
+
onplay={() => setPlaying(true)}
|
|
124
|
+
onpause={() => setPlaying(false)}
|
|
125
|
+
onended={() => setPlaying(false)}
|
|
126
|
+
onclick={togglePlay}>
|
|
127
|
+
<track kind="captions" />
|
|
128
|
+
</video>
|
|
129
|
+
|
|
130
|
+
<button
|
|
131
|
+
type="button"
|
|
132
|
+
class="video-player__control-button"
|
|
133
|
+
class:is-playing={isPlaying}
|
|
134
|
+
onmousedown={(e) => e.preventDefault()}
|
|
135
|
+
onclick={(e) => {
|
|
136
|
+
e.stopPropagation();
|
|
137
|
+
togglePlay();
|
|
138
|
+
}}>
|
|
139
|
+
<Icon src={isPlaying ? IconPause : IconPlay} color="on-accent" />
|
|
140
|
+
</button>
|
|
141
|
+
|
|
142
|
+
<div class="video-player__duration">{formatTime(duration - currentTime)}</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<!--
|
|
146
|
+
@component
|
|
147
|
+
Internal video player used by `GridCardMedia` for a single playable media item. Integrates
|
|
148
|
+
with the global `PlaybackManager` so only one player can play at a time. Exposes `seekTo(t)`
|
|
149
|
+
via `bind:this` for parent seek-bar sync. Not exported standalone — use `GridCardMedia`.
|
|
150
|
+
-->
|
|
151
|
+
|
|
152
|
+
<style>.video-player {
|
|
153
|
+
--_video-player--object-fit: var(--sc-kit--grid-card--media--object-fit, contain);
|
|
154
|
+
position: relative;
|
|
155
|
+
width: 100%;
|
|
156
|
+
height: 100%;
|
|
157
|
+
overflow: hidden;
|
|
158
|
+
}
|
|
159
|
+
.video-player video {
|
|
160
|
+
width: 100%;
|
|
161
|
+
height: 100%;
|
|
162
|
+
object-fit: var(--_video-player--object-fit);
|
|
163
|
+
}
|
|
164
|
+
.video-player__control-button {
|
|
165
|
+
position: absolute;
|
|
166
|
+
top: 50%;
|
|
167
|
+
left: 50%;
|
|
168
|
+
transform: translate(-50%, -50%);
|
|
169
|
+
padding: 0;
|
|
170
|
+
border: none;
|
|
171
|
+
background: none;
|
|
172
|
+
cursor: pointer;
|
|
173
|
+
--sc-kit--icon--filter: drop-shadow(1px 1px black);
|
|
174
|
+
transition: opacity var(--sc-kit--duration--base) var(--sc-kit--ease--default);
|
|
175
|
+
}
|
|
176
|
+
.video-player__control-button.is-playing {
|
|
177
|
+
opacity: 0;
|
|
178
|
+
}
|
|
179
|
+
.video-player__control-button.is-playing:focus {
|
|
180
|
+
opacity: 1;
|
|
181
|
+
}
|
|
182
|
+
.video-player:hover .video-player__control-button.is-playing {
|
|
183
|
+
opacity: 1;
|
|
184
|
+
}
|
|
185
|
+
.video-player__duration {
|
|
186
|
+
position: absolute;
|
|
187
|
+
bottom: 0.5rem;
|
|
188
|
+
right: 0.5rem;
|
|
189
|
+
background: light-dark(rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.7));
|
|
190
|
+
color: var(--sc-kit--color--text--secondary);
|
|
191
|
+
padding: 0.125rem 0.375rem;
|
|
192
|
+
border-radius: 0.125rem;
|
|
193
|
+
font-size: 0.75rem;
|
|
194
|
+
font-weight: var(--sc-kit--font-weight--medium);
|
|
195
|
+
line-height: var(--sc-kit--leading--normal);
|
|
196
|
+
}</style>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
src: string;
|
|
3
|
+
/**
|
|
4
|
+
* When `true`, the player re-publishes its current `currentTime` / `duration` upward via
|
|
5
|
+
* `on.timeUpdate` / `on.durationChange` so the parent can read this slide's state on
|
|
6
|
+
* carousel navigation. Native HTML5 `durationchange` only fires once on metadata load,
|
|
7
|
+
* so the parent can't recover those values just from native events.
|
|
8
|
+
*/
|
|
9
|
+
active?: boolean;
|
|
10
|
+
on?: {
|
|
11
|
+
timeUpdate?: (currentTime: number) => void;
|
|
12
|
+
durationChange?: (duration: number) => void;
|
|
13
|
+
/** Fires when `active` flips true. Carries this player's stable id so parent can route seeks. */
|
|
14
|
+
activate?: (id: string) => void;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Internal video player used by `GridCardMedia` for a single playable media item. Integrates
|
|
19
|
+
* with the global `PlaybackManager` so only one player can play at a time. Exposes `seekTo(t)`
|
|
20
|
+
* via `bind:this` for parent seek-bar sync. Not exported standalone — use `GridCardMedia`.
|
|
21
|
+
*/
|
|
22
|
+
declare const Cmp: import("svelte").Component<Props, {
|
|
23
|
+
seekTo: (time: number) => void;
|
|
24
|
+
}, "">;
|
|
25
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
26
|
+
export default Cmp;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">import GridCardButton from './cmp.grid-card-button.svelte';
|
|
2
|
+
import GridCardField from './cmp.grid-card-field.svelte';
|
|
3
|
+
const { label, actions } = $props();
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<GridCardField label={label}>
|
|
7
|
+
<div class="grid-card-actions-field">
|
|
8
|
+
{#each actions as action (action)}
|
|
9
|
+
<GridCardButton icon={action.icon} text={action.text} on={action.on} />
|
|
10
|
+
{/each}
|
|
11
|
+
</div>
|
|
12
|
+
</GridCardField>
|
|
13
|
+
|
|
14
|
+
<!--
|
|
15
|
+
@component
|
|
16
|
+
Row of compact action buttons (edit, delete, etc.) for `GridCard`. Each `action` carries an
|
|
17
|
+
icon + optional text + click handler; buttons stop propagation so they don't fire whole-card
|
|
18
|
+
activation.
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
<style>.grid-card-actions-field {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-wrap: nowrap;
|
|
24
|
+
gap: 0.25rem;
|
|
25
|
+
}</style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IconProp } from '../../icon';
|
|
2
|
+
export type GridCardAction = {
|
|
3
|
+
/** Use the `{ src, color }` object form to tint the icon (e.g. `'danger'` for delete) without coloring the whole button. */
|
|
4
|
+
icon: IconProp;
|
|
5
|
+
text?: string;
|
|
6
|
+
on: {
|
|
7
|
+
click: (e: MouseEvent) => void;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
type Props = {
|
|
11
|
+
label: string;
|
|
12
|
+
actions: GridCardAction[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Row of compact action buttons (edit, delete, etc.) for `GridCard`. Each `action` carries an
|
|
16
|
+
* icon + optional text + click handler; buttons stop propagation so they don't fire whole-card
|
|
17
|
+
* activation.
|
|
18
|
+
*/
|
|
19
|
+
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
20
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
21
|
+
export default Cmp;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script lang="ts">import { Badge } from '../../badge';
|
|
2
|
+
import { IconSlot } from '../../icon';
|
|
3
|
+
import GridCardField from './cmp.grid-card-field.svelte';
|
|
4
|
+
const { label, text, variant = 'neutral', style = 'soft', icon } = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<GridCardField label={label}>
|
|
8
|
+
<Badge variant={variant} style={style} size="sm">
|
|
9
|
+
{#if icon}
|
|
10
|
+
<span class="grid-card-badge-field__icon" aria-hidden="true"><IconSlot icon={icon} /></span>
|
|
11
|
+
{/if}
|
|
12
|
+
{text}
|
|
13
|
+
</Badge>
|
|
14
|
+
</GridCardField>
|
|
15
|
+
|
|
16
|
+
<!--
|
|
17
|
+
@component
|
|
18
|
+
Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
|
|
19
|
+
inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
|
|
20
|
+
plan / tier indicators, etc.
|
|
21
|
+
-->
|
|
22
|
+
|
|
23
|
+
<style>.grid-card-badge-field__icon {
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
--sc-kit--icon--size: 0.875em;
|
|
27
|
+
--sc-kit--icon--color: currentColor;
|
|
28
|
+
}</style>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { BadgeVariant } from '../../badge';
|
|
2
|
+
import { type IconProp } from '../../icon';
|
|
3
|
+
type Props = {
|
|
4
|
+
label: string;
|
|
5
|
+
text: string;
|
|
6
|
+
/** Badge color variant. @default 'neutral' */
|
|
7
|
+
variant?: BadgeVariant;
|
|
8
|
+
/** @default 'soft' */
|
|
9
|
+
style?: 'soft' | 'solid';
|
|
10
|
+
/** Optional leading icon rendered inside the badge. */
|
|
11
|
+
icon?: IconProp;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
|
|
15
|
+
* inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
|
|
16
|
+
* plan / tier indicators, etc.
|
|
17
|
+
*/
|
|
18
|
+
declare const Cmp: import("svelte").Component<Props, {}, "">;
|
|
19
|
+
type Cmp = ReturnType<typeof Cmp>;
|
|
20
|
+
export default Cmp;
|