@widgetic/design-system 0.3.68
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 +730 -0
- package/dist/components/CopyableHeader.svelte +456 -0
- package/dist/components/CopyableHeader.svelte.d.ts +40 -0
- package/dist/components/EmptyState.svelte +145 -0
- package/dist/components/EmptyState.svelte.d.ts +36 -0
- package/dist/components/PasswordInput.svelte +46 -0
- package/dist/components/PasswordInput.svelte.d.ts +26 -0
- package/dist/components/ThumbHashImage.svelte +124 -0
- package/dist/components/ThumbHashImage.svelte.d.ts +26 -0
- package/dist/components/WScrollArea.svelte +47 -0
- package/dist/components/WScrollArea.svelte.d.ts +38 -0
- package/dist/components/debug-grid/DebugGrid.svelte +207 -0
- package/dist/components/debug-grid/DebugGrid.svelte.d.ts +32 -0
- package/dist/components/ic/browser/BrowserInputController.svelte +481 -0
- package/dist/components/ic/browser/BrowserInputController.svelte.d.ts +34 -0
- package/dist/components/ic/browser/icons/audio.svg +7 -0
- package/dist/components/ic/browser/icons/document.svg +11 -0
- package/dist/components/ic/browser/icons/error.svg +5 -0
- package/dist/components/ic/browser/icons/folder.svg +28 -0
- package/dist/components/ic/browser/icons/info-icon.svg +3 -0
- package/dist/components/ic/browser/icons/player-pause.svg +12 -0
- package/dist/components/ic/browser/icons/player-play.svg +1 -0
- package/dist/components/ic/types.d.ts +14 -0
- package/dist/components/ic/types.js +18 -0
- package/dist/components/index.d.ts +51 -0
- package/dist/components/index.js +52 -0
- package/dist/components/modals/ActionModal.svelte +189 -0
- package/dist/components/modals/ActionModal.svelte.d.ts +49 -0
- package/dist/components/modals/BaseModal.svelte +409 -0
- package/dist/components/modals/BaseModal.svelte.d.ts +38 -0
- package/dist/components/modals/NewItemDialog.svelte +189 -0
- package/dist/components/modals/NewItemDialog.svelte.d.ts +39 -0
- package/dist/components/modals/Portal.svelte +104 -0
- package/dist/components/modals/Portal.svelte.d.ts +34 -0
- package/dist/components/modals/README.md +99 -0
- package/dist/components/modals/RenameDialog.svelte +316 -0
- package/dist/components/modals/RenameDialog.svelte.d.ts +39 -0
- package/dist/components/modals/modalStore.d.ts +10 -0
- package/dist/components/modals/modalStore.js +45 -0
- package/dist/components/navigation/Breadcrumbs.svelte +348 -0
- package/dist/components/navigation/Breadcrumbs.svelte.d.ts +35 -0
- package/dist/components/navigation/index.d.ts +2 -0
- package/dist/components/navigation/index.js +2 -0
- package/dist/components/navigation/types.d.ts +12 -0
- package/dist/components/navigation/types.js +1 -0
- package/dist/components/pdf/PDFViewer.svelte +608 -0
- package/dist/components/pdf/PDFViewer.svelte.d.ts +32 -0
- package/dist/components/search-input/SearchInput.svelte +115 -0
- package/dist/components/search-input/SearchInput.svelte.d.ts +46 -0
- package/dist/components/search-input/index.d.ts +14 -0
- package/dist/components/search-input/index.js +4 -0
- package/dist/components/shad-editor/colorpicker.svelte +17 -0
- package/dist/components/shad-editor/colorpicker.svelte.d.ts +6 -0
- package/dist/components/shad-editor/custom/Extentions/ColorHighlighter.d.ts +2 -0
- package/dist/components/shad-editor/custom/Extentions/ColorHighlighter.js +25 -0
- package/dist/components/shad-editor/custom/Extentions/ImageExtention.d.ts +1 -0
- package/dist/components/shad-editor/custom/Extentions/ImageExtention.js +30 -0
- package/dist/components/shad-editor/custom/Extentions/SearchAndReplace.d.ts +57 -0
- package/dist/components/shad-editor/custom/Extentions/SearchAndReplace.js +232 -0
- package/dist/components/shad-editor/custom/Extentions/SmilieReplacer.d.ts +2 -0
- package/dist/components/shad-editor/custom/Extentions/SmilieReplacer.js +131 -0
- package/dist/components/shad-editor/custom/code-extended.svelte +78 -0
- package/dist/components/shad-editor/custom/code-extended.svelte.d.ts +4 -0
- package/dist/components/shad-editor/custom/image-extended-component.svelte +251 -0
- package/dist/components/shad-editor/custom/image-extended-component.svelte.d.ts +4 -0
- package/dist/components/shad-editor/custom/utils.d.ts +5 -0
- package/dist/components/shad-editor/custom/utils.js +35 -0
- package/dist/components/shad-editor/editor-toolbar.svelte +59 -0
- package/dist/components/shad-editor/editor-toolbar.svelte.d.ts +8 -0
- package/dist/components/shad-editor/editor.css +179 -0
- package/dist/components/shad-editor/icons/block-quote.svelte +26 -0
- package/dist/components/shad-editor/icons/block-quote.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/bold.svelte +26 -0
- package/dist/components/shad-editor/icons/bold.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/buttle-list.svelte +27 -0
- package/dist/components/shad-editor/icons/buttle-list.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/code.svelte +27 -0
- package/dist/components/shad-editor/icons/code.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/highlighter.svelte +75 -0
- package/dist/components/shad-editor/icons/highlighter.svelte.d.ts +9 -0
- package/dist/components/shad-editor/icons/image.svelte +73 -0
- package/dist/components/shad-editor/icons/image.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/index.d.ts +22 -0
- package/dist/components/shad-editor/icons/index.js +24 -0
- package/dist/components/shad-editor/icons/italic.svelte +26 -0
- package/dist/components/shad-editor/icons/italic.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/link.svelte +72 -0
- package/dist/components/shad-editor/icons/link.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/ordered-list.svelte +26 -0
- package/dist/components/shad-editor/icons/ordered-list.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/quickcolor.svelte +95 -0
- package/dist/components/shad-editor/icons/quickcolor.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/redo.svelte +26 -0
- package/dist/components/shad-editor/icons/redo.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/search-replace.svelte +146 -0
- package/dist/components/shad-editor/icons/search-replace.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/strikethrough.svelte +26 -0
- package/dist/components/shad-editor/icons/strikethrough.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/subscript.svelte +26 -0
- package/dist/components/shad-editor/icons/subscript.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/superscript.svelte +26 -0
- package/dist/components/shad-editor/icons/superscript.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/table.svelte +111 -0
- package/dist/components/shad-editor/icons/table.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/task-list.svelte +26 -0
- package/dist/components/shad-editor/icons/task-list.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/text.svelte +95 -0
- package/dist/components/shad-editor/icons/text.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/textalign.svelte +82 -0
- package/dist/components/shad-editor/icons/textalign.svelte.d.ts +7 -0
- package/dist/components/shad-editor/icons/textcolor.svelte +75 -0
- package/dist/components/shad-editor/icons/textcolor.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/underline.svelte +26 -0
- package/dist/components/shad-editor/icons/underline.svelte.d.ts +8 -0
- package/dist/components/shad-editor/icons/undo.svelte +26 -0
- package/dist/components/shad-editor/icons/undo.svelte.d.ts +8 -0
- package/dist/components/shad-editor/index.d.ts +4 -0
- package/dist/components/shad-editor/index.js +5 -0
- package/dist/components/shad-editor/onedark.css +87 -0
- package/dist/components/shad-editor/shad-editor.svelte +153 -0
- package/dist/components/shad-editor/shad-editor.svelte.d.ts +34 -0
- package/dist/components/toast/ToasterModal.svelte +128 -0
- package/dist/components/toast/ToasterModal.svelte.d.ts +30 -0
- package/dist/components/toast/index.d.ts +2 -0
- package/dist/components/toast/index.js +2 -0
- package/dist/components/ui/accordion/accordion-content.svelte +24 -0
- package/dist/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
- package/dist/components/ui/accordion/accordion-item.svelte +12 -0
- package/dist/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
- package/dist/components/ui/accordion/accordion-trigger.svelte +29 -0
- package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +7 -0
- package/dist/components/ui/accordion/index.d.ts +6 -0
- package/dist/components/ui/accordion/index.js +6 -0
- package/dist/components/ui/alert/alert-description.svelte +13 -0
- package/dist/components/ui/alert/alert-description.svelte.d.ts +28 -0
- package/dist/components/ui/alert/alert-title.svelte +21 -0
- package/dist/components/ui/alert/alert-title.svelte.d.ts +31 -0
- package/dist/components/ui/alert/alert.svelte +17 -0
- package/dist/components/ui/alert/alert.svelte.d.ts +31 -0
- package/dist/components/ui/alert/index.d.ts +43 -0
- package/dist/components/ui/alert/index.js +19 -0
- package/dist/components/ui/badge/badge.svelte +50 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +60 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/badge/index.js +2 -0
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +16 -0
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +15 -0
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/index.d.ts +8 -0
- package/dist/components/ui/breadcrumb/index.js +10 -0
- package/dist/components/ui/button/button.svelte +74 -0
- package/dist/components/ui/button/button.svelte.d.ts +118 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/calendar/calendar-cell.svelte +19 -0
- package/dist/components/ui/calendar/calendar-cell.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-day.svelte +30 -0
- package/dist/components/ui/calendar/calendar-day.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-grid-body.svelte +12 -0
- package/dist/components/ui/calendar/calendar-grid-body.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-grid-head.svelte +12 -0
- package/dist/components/ui/calendar/calendar-grid-head.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-grid-row.svelte +12 -0
- package/dist/components/ui/calendar/calendar-grid-row.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-grid.svelte +16 -0
- package/dist/components/ui/calendar/calendar-grid.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-head-cell.svelte +16 -0
- package/dist/components/ui/calendar/calendar-head-cell.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-header.svelte +16 -0
- package/dist/components/ui/calendar/calendar-header.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-heading.svelte +12 -0
- package/dist/components/ui/calendar/calendar-heading.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-months.svelte +20 -0
- package/dist/components/ui/calendar/calendar-months.svelte.d.ts +5 -0
- package/dist/components/ui/calendar/calendar-next-button.svelte +28 -0
- package/dist/components/ui/calendar/calendar-next-button.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar-prev-button.svelte +28 -0
- package/dist/components/ui/calendar/calendar-prev-button.svelte.d.ts +4 -0
- package/dist/components/ui/calendar/calendar.svelte +61 -0
- package/dist/components/ui/calendar/calendar.svelte.d.ts +5 -0
- package/dist/components/ui/calendar/index.d.ts +14 -0
- package/dist/components/ui/calendar/index.js +16 -0
- package/dist/components/ui/card/card-content.svelte +16 -0
- package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-description.svelte +16 -0
- package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-footer.svelte +16 -0
- package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-header.svelte +16 -0
- package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-title.svelte +25 -0
- package/dist/components/ui/card/card-title.svelte.d.ts +8 -0
- package/dist/components/ui/card/card.svelte +20 -0
- package/dist/components/ui/card/card.svelte.d.ts +5 -0
- package/dist/components/ui/card/index.d.ts +7 -0
- package/dist/components/ui/card/index.js +7 -0
- package/dist/components/ui/checkbox/checkbox.svelte +35 -0
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.js +4 -0
- package/dist/components/ui/collapsible/index.d.ts +16 -0
- package/dist/components/ui/collapsible/index.js +7 -0
- package/dist/components/ui/command/command-dialog.svelte +35 -0
- package/dist/components/ui/command/command-dialog.svelte.d.ts +9 -0
- package/dist/components/ui/command/command-empty.svelte +12 -0
- package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-group.svelte +29 -0
- package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
- package/dist/components/ui/command/command-input.svelte +25 -0
- package/dist/components/ui/command/command-input.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-item.svelte +19 -0
- package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-link-item.svelte +19 -0
- package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-list.svelte +16 -0
- package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-separator.svelte +12 -0
- package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-shortcut.svelte +20 -0
- package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
- package/dist/components/ui/command/command.svelte +21 -0
- package/dist/components/ui/command/command.svelte.d.ts +4 -0
- package/dist/components/ui/command/index.d.ts +13 -0
- package/dist/components/ui/command/index.js +15 -0
- package/dist/components/ui/dialog/dialog-content.svelte +38 -0
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +9 -0
- package/dist/components/ui/dialog/dialog-description.svelte +16 -0
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
- package/dist/components/ui/dialog/dialog-header.svelte +20 -0
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte +19 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-title.svelte +16 -0
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/index.d.ts +12 -0
- package/dist/components/ui/dialog/index.js +14 -0
- package/dist/components/ui/drawer/drawer-content.svelte +30 -0
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +7 -0
- package/dist/components/ui/drawer/drawer-description.svelte +16 -0
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-footer.svelte +16 -0
- package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
- package/dist/components/ui/drawer/drawer-header.svelte +20 -0
- package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
- package/dist/components/ui/drawer/drawer-nested.svelte +12 -0
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
- package/dist/components/ui/drawer/drawer-overlay.svelte +16 -0
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-title.svelte +16 -0
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer.svelte +12 -0
- package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
- package/dist/components/ui/drawer/index.d.ts +13 -0
- package/dist/components/ui/drawer/index.js +15 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +40 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +26 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +23 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +23 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +30 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +16 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +19 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +28 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +25 -0
- package/dist/components/ui/dropdown-menu/index.js +17 -0
- package/dist/components/ui/hover-card/hover-card-content.svelte +28 -0
- package/dist/components/ui/hover-card/hover-card-content.svelte.d.ts +7 -0
- package/dist/components/ui/hover-card/index.d.ts +5 -0
- package/dist/components/ui/hover-card/index.js +5 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.js +4 -0
- package/dist/components/ui/input/input.svelte +22 -0
- package/dist/components/ui/input/input.svelte.d.ts +5 -0
- package/dist/components/ui/input-otp/index.d.ts +5 -0
- package/dist/components/ui/input-otp/index.js +7 -0
- package/dist/components/ui/input-otp/input-otp-group.svelte +16 -0
- package/dist/components/ui/input-otp/input-otp-group.svelte.d.ts +5 -0
- package/dist/components/ui/input-otp/input-otp-separator.svelte +19 -0
- package/dist/components/ui/input-otp/input-otp-separator.svelte.d.ts +5 -0
- package/dist/components/ui/input-otp/input-otp-slot.svelte +30 -0
- package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +12 -0
- package/dist/components/ui/input-otp/input-otp.svelte +22 -0
- package/dist/components/ui/input-otp/input-otp.svelte.d.ts +3 -0
- package/dist/components/ui/label/index.d.ts +2 -0
- package/dist/components/ui/label/index.js +4 -0
- package/dist/components/ui/label/label.svelte +19 -0
- package/dist/components/ui/label/label.svelte.d.ts +4 -0
- package/dist/components/ui/popover/index.d.ts +6 -0
- package/dist/components/ui/popover/index.js +6 -0
- package/dist/components/ui/popover/popover-content.svelte +28 -0
- package/dist/components/ui/popover/popover-content.svelte.d.ts +7 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/progress/index.js +4 -0
- package/dist/components/ui/progress/progress.svelte +25 -0
- package/dist/components/ui/progress/progress.svelte.d.ts +4 -0
- package/dist/components/ui/radio-group/index.d.ts +3 -0
- package/dist/components/ui/radio-group/index.js +5 -0
- package/dist/components/ui/radio-group/radio-group-item.svelte +28 -0
- package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +4 -0
- package/dist/components/ui/radio-group/radio-group.svelte +13 -0
- package/dist/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/index.d.ts +15 -0
- package/dist/components/ui/range-calendar/index.js +17 -0
- package/dist/components/ui/range-calendar/range-calendar-cell.svelte +19 -0
- package/dist/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-day.svelte +34 -0
- package/dist/components/ui/range-calendar/range-calendar-day.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte +12 -0
- package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-grid.svelte +16 -0
- package/dist/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +16 -0
- package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-header.svelte +16 -0
- package/dist/components/ui/range-calendar/range-calendar-header.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-heading.svelte +16 -0
- package/dist/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-months.svelte +20 -0
- package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +5 -0
- package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +28 -0
- package/dist/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +28 -0
- package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +4 -0
- package/dist/components/ui/range-calendar/range-calendar.svelte +57 -0
- package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +5 -0
- package/dist/components/ui/scroll-area/index.d.ts +3 -0
- package/dist/components/ui/scroll-area/index.js +6 -0
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +29 -0
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
- package/dist/components/ui/scroll-area/scroll-area.svelte +32 -0
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +9 -0
- package/dist/components/ui/select/index.d.ts +11 -0
- package/dist/components/ui/select/index.js +13 -0
- package/dist/components/ui/select/select-content.svelte +39 -0
- package/dist/components/ui/select/select-content.svelte.d.ts +7 -0
- package/dist/components/ui/select/select-group-heading.svelte +16 -0
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-item.svelte +37 -0
- package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte +19 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte +19 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-separator.svelte +13 -0
- package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-trigger.svelte +24 -0
- package/dist/components/ui/select/select-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.js +4 -0
- package/dist/components/ui/separator/separator.svelte +22 -0
- package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
- package/dist/components/ui/slider/index.d.ts +3 -0
- package/dist/components/ui/slider/index.js +5 -0
- package/dist/components/ui/slider/slider.svelte +34 -0
- package/dist/components/ui/slider/slider.svelte.d.ts +4 -0
- package/dist/components/ui/sonner/index.d.ts +2 -0
- package/dist/components/ui/sonner/index.js +2 -0
- package/dist/components/ui/sonner/sonner.svelte +20 -0
- package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
- package/dist/components/ui/switch/index.d.ts +2 -0
- package/dist/components/ui/switch/index.js +4 -0
- package/dist/components/ui/switch/switch.svelte +27 -0
- package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
- package/dist/components/ui/table/index.d.ts +9 -0
- package/dist/components/ui/table/index.js +11 -0
- package/dist/components/ui/table/table-body.svelte +16 -0
- package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-caption.svelte +16 -0
- package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-cell.svelte +20 -0
- package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-footer.svelte +16 -0
- package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-head.svelte +23 -0
- package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-header.svelte +16 -0
- package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-row.svelte +23 -0
- package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
- package/dist/components/ui/table/table.svelte +18 -0
- package/dist/components/ui/table/table.svelte.d.ts +5 -0
- package/dist/components/ui/tabs/index.d.ts +6 -0
- package/dist/components/ui/tabs/index.js +8 -0
- package/dist/components/ui/tabs/tabs-content.svelte +19 -0
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-list.svelte +19 -0
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte +19 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/textarea/index.d.ts +19 -0
- package/dist/components/ui/textarea/index.js +4 -0
- package/dist/components/ui/textarea/textarea.svelte +22 -0
- package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
- package/dist/components/ui/toggle/index.d.ts +3 -0
- package/dist/components/ui/toggle/index.js +5 -0
- package/dist/components/ui/toggle/toggle.svelte +51 -0
- package/dist/components/ui/toggle/toggle.svelte.d.ts +83 -0
- package/dist/components/ui/toggle-group/index.d.ts +3 -0
- package/dist/components/ui/toggle-group/index.js +5 -0
- package/dist/components/ui/toggle-group/toggle-group-item.svelte +30 -0
- package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +6 -0
- package/dist/components/ui/toggle-group/toggle-group.svelte +41 -0
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +8 -0
- package/dist/components/ui/tooltip/index.d.ts +6 -0
- package/dist/components/ui/tooltip/index.js +8 -0
- package/dist/components/ui/tooltip/tooltip-content.svelte +21 -0
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -0
- package/dist/components/widget-system/EditableWidget.svelte +106 -0
- package/dist/components/widget-system/EditableWidget.svelte.d.ts +44 -0
- package/dist/components/widget-system/Moveable.svelte +661 -0
- package/dist/components/widget-system/Moveable.svelte.d.ts +56 -0
- package/dist/components/widget-system/index.d.ts +2 -0
- package/dist/components/widget-system/index.js +3 -0
- package/dist/fonts/BLMelody/BLMelody-Bold.woff2 +0 -0
- package/dist/fonts/BLMelody/BLMelody-Medium.woff2 +0 -0
- package/dist/fonts/BLMelody/BLMelody-SemiBold.woff2 +0 -0
- package/dist/fonts/Riegla/Riegla-Bold Italic.otf +0 -0
- package/dist/fonts/Riegla/Riegla-Bold.otf +0 -0
- package/dist/fonts/Riegla/Riegla-Italic.otf +0 -0
- package/dist/fonts/Riegla/Riegla-Regular.otf +0 -0
- package/dist/fonts/Riegla/RieglaMedium-Regular.otf +0 -0
- package/dist/fonts/index.d.ts +0 -0
- package/dist/fonts/index.js +1 -0
- package/dist/hooks/is-mobile.svelte.d.ts +5 -0
- package/dist/hooks/is-mobile.svelte.js +23 -0
- package/dist/icons/Checked.svelte +19 -0
- package/dist/icons/Checked.svelte.d.ts +20 -0
- package/dist/icons/CheckerBoardBackground.svelte +16 -0
- package/dist/icons/CheckerBoardBackground.svelte.d.ts +3 -0
- package/dist/icons/Close.svelte +22 -0
- package/dist/icons/Close.svelte.d.ts +20 -0
- package/dist/icons/Close.svg +8 -0
- package/dist/icons/Error.svg +5 -0
- package/dist/icons/Exclamation.svelte +5 -0
- package/dist/icons/Exclamation.svelte.d.ts +26 -0
- package/dist/icons/FileBrowser.svelte +38 -0
- package/dist/icons/FileBrowser.svelte.d.ts +20 -0
- package/dist/icons/FileBrowser.svg +28 -0
- package/dist/icons/LogoWidgetic.svelte +24 -0
- package/dist/icons/LogoWidgetic.svelte.d.ts +20 -0
- package/dist/icons/LogoWidgeticType.svelte +12 -0
- package/dist/icons/LogoWidgeticType.svelte.d.ts +20 -0
- package/dist/icons/LogoWidgeticType.svg +4 -0
- package/dist/icons/OpacitySliderArrows.svelte +46 -0
- package/dist/icons/OpacitySliderArrows.svelte.d.ts +3 -0
- package/dist/icons/TestIcon.svelte +1 -0
- package/dist/icons/TestIcon.svelte.d.ts +26 -0
- package/dist/icons/checked.svg +4 -0
- package/dist/icons/index.d.ts +11 -0
- package/dist/icons/index.js +15 -0
- package/dist/icons/lucide.d.ts +1 -0
- package/dist/icons/lucide.js +1 -0
- package/dist/icons/tabler.d.ts +1 -0
- package/dist/icons/tabler.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.js +1 -0
- package/dist/stores/pdfCache.d.ts +16 -0
- package/dist/stores/pdfCache.js +101 -0
- package/dist/styles/fonts.css +172 -0
- package/dist/styles/global.css +893 -0
- package/dist/utils/MediaManager.d.ts +35 -0
- package/dist/utils/MediaManager.js +59 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +5 -0
- package/package.json +183 -0
- package/tailwind.config.ts +97 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* BrowserInputController Component
|
|
4
|
+
* A specialized input controller for file browsing and media preview functionality.
|
|
5
|
+
* Handles various file types (image, video, audio, document) with appropriate previews
|
|
6
|
+
* and playback controls.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// Svelte imports
|
|
10
|
+
import { onDestroy } from 'svelte';
|
|
11
|
+
|
|
12
|
+
// Shadcn UI Components
|
|
13
|
+
import * as Tooltip from '../../ui/tooltip';
|
|
14
|
+
|
|
15
|
+
// Tabler Icons imports
|
|
16
|
+
import { IconPlayerPlayFilled, IconPlayerPauseFilled } from '@tabler/icons-svelte';
|
|
17
|
+
|
|
18
|
+
// Import the icons from the local folder
|
|
19
|
+
// const iconsPath = '../icons/';
|
|
20
|
+
import documentIcon from './icons/document.svg';
|
|
21
|
+
import playerPlayIcon from './icons/player-play.svg';
|
|
22
|
+
import playerPauseIcon from './icons/player-pause.svg';
|
|
23
|
+
import folderIcon from './icons/folder.svg';
|
|
24
|
+
import audioIcon from './icons/audio.svg';
|
|
25
|
+
import errorIcon from './icons/error.svg';
|
|
26
|
+
import infoIcon from './icons/info-icon.svg';
|
|
27
|
+
|
|
28
|
+
const icons = {
|
|
29
|
+
playerPlay: playerPlayIcon,
|
|
30
|
+
playerPause: playerPauseIcon,
|
|
31
|
+
folder: folderIcon,
|
|
32
|
+
document: documentIcon,
|
|
33
|
+
audio: audioIcon,
|
|
34
|
+
error: errorIcon,
|
|
35
|
+
info: infoIcon
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// utils imports
|
|
39
|
+
import MediaManager from '../../../utils/MediaManager';
|
|
40
|
+
|
|
41
|
+
// Type Definitions
|
|
42
|
+
interface FileValue {
|
|
43
|
+
id: string;
|
|
44
|
+
file: string;
|
|
45
|
+
url: string;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Component props with default values
|
|
49
|
+
export let header: { label: string; helpText?: string } | undefined = undefined;
|
|
50
|
+
export let label: string = '';
|
|
51
|
+
export let value: string | FileValue = '';
|
|
52
|
+
export const onChange: (newValue: string) => void = () => {};
|
|
53
|
+
|
|
54
|
+
// Config setup: extract allowed file types from config or default to all files
|
|
55
|
+
import type { InputControllerConfig } from '../types';
|
|
56
|
+
export let config: InputControllerConfig = {};
|
|
57
|
+
const fileTypes = config.fileTypes || ['*'];
|
|
58
|
+
|
|
59
|
+
// Media element references for audio/video playback
|
|
60
|
+
let audioElement: HTMLAudioElement | null = null;
|
|
61
|
+
let videoElement: HTMLVideoElement | null = null;
|
|
62
|
+
let isPlaying = false;
|
|
63
|
+
|
|
64
|
+
// Add loading state
|
|
65
|
+
let isChecking = true;
|
|
66
|
+
let hasError = false;
|
|
67
|
+
|
|
68
|
+
let mouseX = 0;
|
|
69
|
+
let mouseY = 0;
|
|
70
|
+
let showHelp = false;
|
|
71
|
+
let showHelpTimeout: ReturnType<typeof setTimeout>;
|
|
72
|
+
|
|
73
|
+
function handleMouseEnter(event: MouseEvent) {
|
|
74
|
+
mouseX = event.clientX;
|
|
75
|
+
mouseY = event.clientY;
|
|
76
|
+
showHelpTimeout = setTimeout(() => {
|
|
77
|
+
showHelp = true;
|
|
78
|
+
}, 250);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function handleMouseMove(event: MouseEvent) {
|
|
82
|
+
mouseX = event.clientX;
|
|
83
|
+
mouseY = event.clientY;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function handleMouseLeave() {
|
|
87
|
+
clearTimeout(showHelpTimeout);
|
|
88
|
+
showHelp = false;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
onDestroy(() => {
|
|
92
|
+
clearTimeout(showHelpTimeout);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Extracts filename from file value
|
|
97
|
+
* @param value - String path or FileValue object
|
|
98
|
+
* @returns Filename or empty string if invalid
|
|
99
|
+
*/
|
|
100
|
+
function getFileName(value: string | FileValue | null | undefined): string {
|
|
101
|
+
if (!value) return '';
|
|
102
|
+
if (typeof value === 'object' && value.file) {
|
|
103
|
+
return value.file;
|
|
104
|
+
}
|
|
105
|
+
if (typeof value === 'string') {
|
|
106
|
+
try {
|
|
107
|
+
const parts = value.split('/');
|
|
108
|
+
return parts[parts.length - 1] || '';
|
|
109
|
+
} catch (error) {
|
|
110
|
+
console.error('Error extracting filename:', error);
|
|
111
|
+
return '';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return '';
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Gets the URL for preview from the value
|
|
119
|
+
* @param value - String path or FileValue object
|
|
120
|
+
* @returns URL for preview
|
|
121
|
+
*/
|
|
122
|
+
function getPreviewUrl(value: string | FileValue | null | undefined): string {
|
|
123
|
+
if (!value) return '';
|
|
124
|
+
if (typeof value === 'object' && value.url) {
|
|
125
|
+
return value.url;
|
|
126
|
+
}
|
|
127
|
+
return typeof value === 'string' ? value : '';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Determines the type of file based on its extension
|
|
132
|
+
* @param path - File path to analyze
|
|
133
|
+
* @returns File type category or 'unknown'
|
|
134
|
+
*/
|
|
135
|
+
function getFileType(path: string | null | undefined): 'image' | 'video' | 'audio' | 'document' | 'unknown' {
|
|
136
|
+
if (!path || typeof path !== 'string') return 'unknown';
|
|
137
|
+
|
|
138
|
+
const ext = path.split('.').pop()?.toLowerCase() || '';
|
|
139
|
+
if (['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(ext)) return 'image';
|
|
140
|
+
if (['mp4', 'webm', 'ogg'].includes(ext)) return 'video';
|
|
141
|
+
if (['mp3', 'wav', 'ogg'].includes(ext)) return 'audio';
|
|
142
|
+
if (['pdf', 'doc', 'docx', 'txt'].includes(ext)) return 'document';
|
|
143
|
+
return 'unknown';
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Opens the file browser using UI SDK
|
|
148
|
+
* Handles file selection and updates the value
|
|
149
|
+
*/
|
|
150
|
+
async function openFileBrowser() {
|
|
151
|
+
try {
|
|
152
|
+
console.log('Opening file browser with config:', {
|
|
153
|
+
fileTypes,
|
|
154
|
+
id: typeof value === 'object' ? value.id : undefined,
|
|
155
|
+
batch: 1
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// TODO: When UI SDK is available, replace with actual implementation
|
|
159
|
+
// const result = await window.uiSDK.mountComponent('file-browser', {
|
|
160
|
+
// container: '#file-browser',
|
|
161
|
+
// config: {
|
|
162
|
+
// fileTypes,
|
|
163
|
+
// selectedFileId: typeof value === 'object' ? value.id : undefined,
|
|
164
|
+
// batch: 1
|
|
165
|
+
// },
|
|
166
|
+
// callbacks: {
|
|
167
|
+
// onSelect: (file) => {
|
|
168
|
+
// if (file) {
|
|
169
|
+
// onChange({
|
|
170
|
+
// id: file.id,
|
|
171
|
+
// file: file.name,
|
|
172
|
+
// url: file.url
|
|
173
|
+
// });
|
|
174
|
+
// }
|
|
175
|
+
// },
|
|
176
|
+
// onError: (error) => {
|
|
177
|
+
// console.error('File Browser error:', error);
|
|
178
|
+
// }
|
|
179
|
+
// }
|
|
180
|
+
// });
|
|
181
|
+
|
|
182
|
+
} catch (error) {
|
|
183
|
+
console.error('Error opening file browser:', error);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Toggles playback for audio/video elements
|
|
189
|
+
* Uses MediaManager to ensure only one plays at a time
|
|
190
|
+
*/
|
|
191
|
+
function togglePlayback() {
|
|
192
|
+
if (audioElement) {
|
|
193
|
+
if (isPlaying) {
|
|
194
|
+
MediaManager.pause(audioElement);
|
|
195
|
+
} else {
|
|
196
|
+
MediaManager.play(audioElement);
|
|
197
|
+
}
|
|
198
|
+
isPlaying = !isPlaying;
|
|
199
|
+
} else if (videoElement) {
|
|
200
|
+
if (isPlaying) {
|
|
201
|
+
MediaManager.pause(videoElement);
|
|
202
|
+
} else {
|
|
203
|
+
MediaManager.play(videoElement);
|
|
204
|
+
}
|
|
205
|
+
isPlaying = !isPlaying;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Update cleanup to use MediaManager
|
|
210
|
+
onDestroy(() => {
|
|
211
|
+
if (audioElement) {
|
|
212
|
+
MediaManager.cleanup(audioElement);
|
|
213
|
+
audioElement = null;
|
|
214
|
+
}
|
|
215
|
+
if (videoElement) {
|
|
216
|
+
MediaManager.cleanup(videoElement);
|
|
217
|
+
videoElement = null;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Checks if a file exists and is accessible
|
|
223
|
+
* @param url - URL to check
|
|
224
|
+
* @returns Promise that resolves to boolean
|
|
225
|
+
*/
|
|
226
|
+
async function checkFileExists(url: string): Promise<boolean> {
|
|
227
|
+
try {
|
|
228
|
+
const response = await fetch(url, { method: 'HEAD' });
|
|
229
|
+
return response.ok;
|
|
230
|
+
} catch {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Update error state handling
|
|
236
|
+
async function updateErrorState(url: string) {
|
|
237
|
+
isChecking = true;
|
|
238
|
+
if (!url) {
|
|
239
|
+
hasError = true;
|
|
240
|
+
isChecking = false;
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
hasError = !(await checkFileExists(url));
|
|
244
|
+
isChecking = false;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Watch previewUrl changes
|
|
248
|
+
$: if (previewUrl) {
|
|
249
|
+
updateErrorState(previewUrl);
|
|
250
|
+
} else {
|
|
251
|
+
hasError = false;
|
|
252
|
+
isChecking = false;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Trims a string to a maximum length and adds ellipsis if needed
|
|
257
|
+
* @param str - String to trim
|
|
258
|
+
* @param maxLength - Maximum length before trimming
|
|
259
|
+
* @returns Trimmed string with ellipsis if needed
|
|
260
|
+
*/
|
|
261
|
+
function trimString(str: string, maxLength: number = 30): string {
|
|
262
|
+
if (str.length <= maxLength) return str;
|
|
263
|
+
return str.substring(0, maxLength - 3) + '...';
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Update the reactive statement to use trimString
|
|
267
|
+
$: displayLabel = value ? trimString(getFileName(value)) : (header?.label || label);
|
|
268
|
+
$: previewUrl = getPreviewUrl(value);
|
|
269
|
+
|
|
270
|
+
// Add event listeners for media elements
|
|
271
|
+
function setupMediaElement(element: HTMLMediaElement) {
|
|
272
|
+
if (!element) return;
|
|
273
|
+
|
|
274
|
+
element.addEventListener('play', () => {
|
|
275
|
+
console.log('Media started playing');
|
|
276
|
+
isPlaying = true;
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
element.addEventListener('pause', () => {
|
|
280
|
+
console.log('Media paused');
|
|
281
|
+
isPlaying = false;
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
element.addEventListener('ended', () => {
|
|
285
|
+
console.log('Media ended');
|
|
286
|
+
isPlaying = false;
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
// Add listener for when the media is stopped externally
|
|
290
|
+
element.addEventListener('timeupdate', () => {
|
|
291
|
+
if (element.paused && isPlaying) {
|
|
292
|
+
isPlaying = false;
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Update bindings to setup media elements
|
|
298
|
+
$: if (audioElement) setupMediaElement(audioElement);
|
|
299
|
+
$: if (videoElement) setupMediaElement(videoElement);
|
|
300
|
+
</script>
|
|
301
|
+
|
|
302
|
+
<!-- Main container with flex layout for title and preview -->
|
|
303
|
+
<div class="browser-input-container flex items-center justify-between min-h-[54px] gap-4 border">
|
|
304
|
+
<!-- Title container with help text -->
|
|
305
|
+
<div class="flex items-center gap-1.5 flex-1 min-w-0">
|
|
306
|
+
<span
|
|
307
|
+
class="text-sm font-medium transition-all browser-input-label truncate underline decoration-gray-400"
|
|
308
|
+
role="button"
|
|
309
|
+
tabindex="0"
|
|
310
|
+
on:click={openFileBrowser}
|
|
311
|
+
on:keydown={(e) => e.key === 'Enter' && openFileBrowser()}
|
|
312
|
+
aria-label={`Select ${value ? getFileName(value) : (header?.label || label)}`}
|
|
313
|
+
title={value ? getFileName(value) : (header?.label || label)}>
|
|
314
|
+
{displayLabel}
|
|
315
|
+
</span>
|
|
316
|
+
|
|
317
|
+
{#if header?.helpText}
|
|
318
|
+
<div class="flex items-center opacity-0 group-hover:opacity-60 transition-opacity duration-200" style="z-index: 99999;">
|
|
319
|
+
<Tooltip.Provider>
|
|
320
|
+
<Tooltip.Root open={showHelp}>
|
|
321
|
+
<Tooltip.Trigger>
|
|
322
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
323
|
+
<span
|
|
324
|
+
class="info-icon-container inline-flex cursor-help"
|
|
325
|
+
on:mouseenter={handleMouseEnter}
|
|
326
|
+
on:mousemove={handleMouseMove}
|
|
327
|
+
on:mouseleave={handleMouseLeave}
|
|
328
|
+
>
|
|
329
|
+
<img src={icons.info} alt="Help" class="w-[15px] h-[15px] translate-y-[1px]" />
|
|
330
|
+
<!-- <IconInfoCircle class="w-[15px] h-[15px] translate-y-[1px]" /> -->
|
|
331
|
+
</span>
|
|
332
|
+
</Tooltip.Trigger>
|
|
333
|
+
<Tooltip.Content
|
|
334
|
+
side="right"
|
|
335
|
+
sideOffset={5}
|
|
336
|
+
class="bg-gray-900 text-white z-[99999] overflow-hidden rounded-md px-3 py-1.5 text-sm shadow-md"
|
|
337
|
+
style="position: fixed; left: {mouseX + 20}px; top: {mouseY}px; z-index: 999999;"
|
|
338
|
+
>
|
|
339
|
+
<p class="text-sm">{header.helpText}</p>
|
|
340
|
+
</Tooltip.Content>
|
|
341
|
+
</Tooltip.Root>
|
|
342
|
+
</Tooltip.Provider>
|
|
343
|
+
</div>
|
|
344
|
+
{/if}
|
|
345
|
+
</div>
|
|
346
|
+
|
|
347
|
+
<!-- Preview area with loading and error handling -->
|
|
348
|
+
<div
|
|
349
|
+
class="flex-none cursor-pointer w-[62px]"
|
|
350
|
+
role="button"
|
|
351
|
+
tabindex="0"
|
|
352
|
+
on:click={(e) => {
|
|
353
|
+
// If it's an image or document preview that's being clicked
|
|
354
|
+
if (previewUrl && !hasError && ['image', 'document'].includes(getFileType(previewUrl))) {
|
|
355
|
+
e.stopPropagation(); // Prevent opening the file browser
|
|
356
|
+
window.open(previewUrl, '_blank');
|
|
357
|
+
} else {
|
|
358
|
+
openFileBrowser();
|
|
359
|
+
}
|
|
360
|
+
}}
|
|
361
|
+
on:keydown={(e) => e.key === 'Enter' && openFileBrowser()}
|
|
362
|
+
aria-label="Select file">
|
|
363
|
+
{#if isChecking}
|
|
364
|
+
<!-- Loading state - show nothing or a loading indicator -->
|
|
365
|
+
<div class="w-[62px] h-[54px] bg-gray-100 rounded-lg"></div>
|
|
366
|
+
{:else if previewUrl && !hasError}
|
|
367
|
+
<!-- File preview content -->
|
|
368
|
+
{#if getFileType(previewUrl) === 'image'}
|
|
369
|
+
<!-- Image preview with proper sizing and masking -->
|
|
370
|
+
<div class="w-[62px] h-[54px] overflow-hidden rounded-[15px] bg-gray-100 hover:opacity-80 transition-opacity">
|
|
371
|
+
<img
|
|
372
|
+
src={previewUrl}
|
|
373
|
+
alt={displayLabel}
|
|
374
|
+
class="w-full h-full object-cover"
|
|
375
|
+
on:error={() => hasError = true}
|
|
376
|
+
/>
|
|
377
|
+
</div>
|
|
378
|
+
{:else if getFileType(previewUrl) === 'video'}
|
|
379
|
+
<!-- Video preview with play/pause controls -->
|
|
380
|
+
<div class="relative w-[62px] h-[54px] overflow-hidden rounded-[15px]">
|
|
381
|
+
<!-- Video element first -->
|
|
382
|
+
<!-- svelte-ignore a11y-media-has-caption -->
|
|
383
|
+
<video
|
|
384
|
+
bind:this={videoElement}
|
|
385
|
+
src={previewUrl}
|
|
386
|
+
class="w-full h-full object-cover"
|
|
387
|
+
on:error={() => hasError = true}
|
|
388
|
+
>
|
|
389
|
+
<track kind="captions" />
|
|
390
|
+
</video>
|
|
391
|
+
|
|
392
|
+
<!-- Controls overlay only when needed -->
|
|
393
|
+
{#if !isPlaying}
|
|
394
|
+
<div
|
|
395
|
+
role="button"
|
|
396
|
+
tabindex="0"
|
|
397
|
+
class="absolute inset-0 flex items-center justify-center bg-black bg-opacity-30 transition-opacity hover:bg-opacity-50"
|
|
398
|
+
on:click|stopPropagation={togglePlayback}
|
|
399
|
+
on:keydown|stopPropagation={(e) => e.key === 'Enter' && togglePlayback()}
|
|
400
|
+
aria-label="Play video">
|
|
401
|
+
<img src={icons.playerPlay} alt="Play" class="w-8 h-8 text-white" />
|
|
402
|
+
</div>
|
|
403
|
+
{:else}
|
|
404
|
+
<div
|
|
405
|
+
role="button"
|
|
406
|
+
tabindex="0"
|
|
407
|
+
class="absolute inset-0 flex items-center justify-center bg-transparent hover:bg-black hover:bg-opacity-30 transition-all"
|
|
408
|
+
on:click|stopPropagation={togglePlayback}
|
|
409
|
+
on:keydown|stopPropagation={(e) => e.key === 'Enter' && togglePlayback()}
|
|
410
|
+
aria-label="Pause video">
|
|
411
|
+
<img src={icons.playerPause} alt="Pause" class="w-8 h-8 text-white opacity-0 hover:opacity-100 transition-opacity" />
|
|
412
|
+
</div>
|
|
413
|
+
{/if}
|
|
414
|
+
</div>
|
|
415
|
+
{:else if getFileType(previewUrl) === 'audio'}
|
|
416
|
+
<!-- Audio preview with play/pause controls -->
|
|
417
|
+
<div class="relative w-[62px] h-[54px]">
|
|
418
|
+
<!-- svelte-ignore a11y-media-has-caption -->
|
|
419
|
+
<audio
|
|
420
|
+
bind:this={audioElement}
|
|
421
|
+
src={previewUrl}
|
|
422
|
+
on:error={() => hasError = true}
|
|
423
|
+
>
|
|
424
|
+
<track kind="captions" />
|
|
425
|
+
</audio>
|
|
426
|
+
<img src={icons.audio} alt={displayLabel} class="w-full h-full" />
|
|
427
|
+
<!-- <IconFileMusicFilled class="w-full h-full" /> -->
|
|
428
|
+
<div
|
|
429
|
+
role="button"
|
|
430
|
+
tabindex="0"
|
|
431
|
+
class="absolute inset-0 flex items-center justify-center"
|
|
432
|
+
on:click|stopPropagation={togglePlayback}
|
|
433
|
+
on:keydown|stopPropagation={(e) => e.key === 'Enter' && togglePlayback()}
|
|
434
|
+
aria-label={isPlaying ? "Pause audio" : "Play audio"}>
|
|
435
|
+
{#if isPlaying}
|
|
436
|
+
<!-- <img src={icons.playerPause} alt ="Pause" class="w-8 h-8 text-primary" /> -->
|
|
437
|
+
<IconPlayerPauseFilled class="w-8 h-8 text-primary" />
|
|
438
|
+
{:else}
|
|
439
|
+
<!-- <img src={icons.playerPlay} alt="Play" class="w-8 h-8 text-primary" /> -->
|
|
440
|
+
<IconPlayerPlayFilled class="w-8 h-8 text-primary" />
|
|
441
|
+
{/if}
|
|
442
|
+
</div>
|
|
443
|
+
</div>
|
|
444
|
+
{:else if getFileType(previewUrl) === 'document'}
|
|
445
|
+
<!-- Document preview with hover effect -->
|
|
446
|
+
<div class="w-[62px] h-[54px] hover:opacity-80 transition-opacity">
|
|
447
|
+
<img src={icons.document} alt={displayLabel} class="w-full h-full" />
|
|
448
|
+
<!-- <IconFileDocumentFilled class="w-full h-full" /> -->
|
|
449
|
+
</div>
|
|
450
|
+
{:else}
|
|
451
|
+
<img src={icons.folder} alt={displayLabel} class="w-[62px] h-[54px]" />
|
|
452
|
+
<!-- <IconFileFolderFilled class="w-[62px] h-[54px]" /> -->
|
|
453
|
+
{/if}
|
|
454
|
+
{:else if previewUrl}
|
|
455
|
+
<!-- Error state -->
|
|
456
|
+
<img src={icons.error} alt="File not found" class="w-[62px] h-[54px]" />
|
|
457
|
+
<!-- <IconFileOffFilled class="w-[62px] h-[54px]" /> -->
|
|
458
|
+
{:else}
|
|
459
|
+
<!-- Empty state -->
|
|
460
|
+
<img src={icons.folder} alt="Empty folder" class="w-[62px] h-[54px]" />
|
|
461
|
+
<!-- <IconFileFolderFilled class="w-[62px] h-[54px]" /> -->
|
|
462
|
+
{/if}
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
|
|
466
|
+
<style>
|
|
467
|
+
/* Remove hover effect since underline is now permanent */
|
|
468
|
+
.browser-input-container .flex-none {
|
|
469
|
+
transition: opacity 150ms ease-in-out;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/* Add hover effect for the container */
|
|
473
|
+
.browser-input-container:hover :global(.opacity-0) {
|
|
474
|
+
opacity: 0.6 !important;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/* Add hover effect for the info icon */
|
|
478
|
+
.browser-input-container :global(.opacity-0:hover) {
|
|
479
|
+
opacity: 1 !important;
|
|
480
|
+
}
|
|
481
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { InputControllerConfig } from '../types';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const BrowserInputController: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
header?: {
|
|
17
|
+
label: string;
|
|
18
|
+
helpText?: string;
|
|
19
|
+
} | undefined;
|
|
20
|
+
label?: string;
|
|
21
|
+
value?: string | {
|
|
22
|
+
id: string;
|
|
23
|
+
file: string;
|
|
24
|
+
url: string;
|
|
25
|
+
};
|
|
26
|
+
onChange?: (newValue: string) => void;
|
|
27
|
+
config?: InputControllerConfig;
|
|
28
|
+
}, {
|
|
29
|
+
[evt: string]: CustomEvent<any>;
|
|
30
|
+
}, {}, {
|
|
31
|
+
onChange: (newValue: string) => void;
|
|
32
|
+
}, string>;
|
|
33
|
+
type BrowserInputController = InstanceType<typeof BrowserInputController>;
|
|
34
|
+
export default BrowserInputController;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg width="63" height="55" viewBox="0 0 63 55" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0.155518" y="0.736923" width="62" height="54" rx="15" fill="#A7FF68"/>
|
|
3
|
+
<g opacity="0.1">
|
|
4
|
+
<path d="M58.734 26.3555C57.281 25.3053 57.0378 18.7466 56.2021 21.5913C55.582 23.7034 55.3673 26.9532 53.0974 25.9665C51.5323 25.2875 51.5568 19.2978 50.9505 17.9635C50.3457 16.6291 49.7042 24.2231 48.3146 25.5328C47.0427 26.7293 45.5856 25.6079 44.8767 21.3523C44.1756 17.1406 43.5764 12.9982 42.9579 15.4942C42.057 19.1245 41.4804 27.4745 39.4848 26.3351C38.1828 25.5927 37.894 19.9621 37.0963 23.4194C36.4815 26.0744 35.5943 26.8088 34.5451 26.1181C33.5864 25.4878 33.0507 20.5325 32.456 19.5734C31.8135 18.5335 30.9832 23.8614 29.9824 25.5341C29.673 26.0528 29.2778 26.1892 28.9414 26.0688C28.5661 25.9354 28.2743 25.6337 28.0975 25.2738C27.0048 23.0387 26.0166 16.5679 25.9583 16.1491C25.8719 15.5266 25.4777 14.8635 25.1752 16.1491C24.8729 17.4271 23.4319 25.7742 21.8844 25.7524C20.7339 25.7374 19.7319 22.1589 19.3945 19.9976C18.9193 16.9565 18.3721 19.0181 18.3721 19.0181C18.3721 19.0181 17.6053 23.0145 15.4595 24.6815C14.3308 25.5604 13.3449 24.2395 12.6157 22.2392C12.0877 20.5583 11.7016 17.546 11.7016 17.546C11.4976 15.8347 11.1627 13.8568 10.7077 13.9087C10.705 13.9087 10.7023 13.9087 10.6995 13.9087C10.6942 13.9087 10.6873 13.9101 10.6821 13.9114C10.5861 13.9317 10.4984 14.0516 10.4282 14.22C10.2391 14.5894 9.91774 15.4437 9.53149 17.3741C9.52194 17.415 9.51259 17.4588 9.50454 17.5076C9.50314 17.5157 9.50185 17.5226 9.50046 17.531C9.47758 17.6469 9.4545 17.7682 9.43153 17.8924C9.11163 19.4259 8.38917 21.4847 8.3081 21.7143C7.65189 23.163 6.76739 24.5426 5.55344 25.5084C4.47318 26.3666 1.28374 27.4484 0.261475 27.7813H62.1554C61.0969 27.537 59.7681 27.1035 58.734 26.3555Z" fill="black"/>
|
|
5
|
+
<path d="M58.6279 29.1183C57.1749 30.1686 56.9317 36.7272 56.0962 33.8826C55.4759 31.7705 55.2615 28.5206 52.9915 29.5072C51.4266 30.1866 51.4509 36.1764 50.8443 37.5103C50.2396 38.8447 49.5984 31.2507 48.2086 29.941C46.9368 28.7446 45.4795 29.8658 44.7708 34.1217C44.0698 38.3332 43.4703 42.4755 42.8518 39.9797C41.9511 36.3493 41.3746 27.9994 39.3789 29.1386C38.0769 29.881 37.7879 35.5119 36.9901 32.0543C36.3757 29.3995 35.4885 28.665 34.4391 29.3556C33.4806 29.9861 32.9445 34.9413 32.3502 35.9004C31.7075 36.9404 30.8771 31.6124 29.8763 29.9397C29.5669 29.4211 29.1717 29.2846 28.8354 29.4051C28.4599 29.5384 28.1681 29.8401 27.9914 30.1999C26.8987 32.4351 25.9107 38.906 25.8521 39.3248C25.7658 39.9472 25.3716 40.6103 25.0691 39.3248C24.7668 38.0468 23.3257 29.6998 21.7786 29.7214C20.6278 29.7364 19.626 33.315 19.2884 35.4762C18.8132 38.5172 18.2662 36.4556 18.2662 36.4556C18.2662 36.4556 17.4992 32.4593 15.3534 30.7923C14.2247 29.9135 13.239 31.2342 12.5096 33.2346C11.9817 34.9156 11.5955 37.9278 11.5955 37.9278C11.3916 39.6391 11.0567 41.6173 10.6018 41.5651C10.5989 41.5651 10.5962 41.5651 10.5934 41.5651C10.5883 41.5651 10.5814 41.5638 10.576 41.5625C10.4801 41.5421 10.3924 41.4221 10.3222 41.254C10.1332 40.8845 9.81168 40.0301 9.42554 38.0997C9.41599 38.0588 9.40654 38.0151 9.39848 37.9664C9.39709 37.9582 9.39579 37.9512 9.3944 37.943C9.37152 37.8269 9.34845 37.7057 9.32557 37.5813C9.00557 36.0479 8.28321 33.9891 8.20204 33.7595C7.54593 32.3107 6.66133 30.9313 5.44748 29.9655C4.36713 29.1075 1.17768 28.0253 0.155518 27.6925H62.0496C60.9908 27.9368 59.6623 28.3703 58.6279 29.1183Z" fill="black"/>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="63" height="54" viewBox="0 0 63 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0.42334" width="62" height="54" rx="15" fill="#FFDC68"/>
|
|
3
|
+
<g opacity="0.1">
|
|
4
|
+
<path d="M21.4233 32.0543H46.4233" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M46.4233 38.7935H21.4233" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M36.4233 25.3152H46.4233" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
<path d="M46.4233 18.5761H36.4233" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
8
|
+
<path d="M26.4233 21.9456H28.09C28.4196 21.9456 28.7419 22.0444 29.016 22.2296C29.29 22.4147 29.5037 22.6778 29.6298 22.9857C29.756 23.2935 29.789 23.6323 29.7246 23.9591C29.6603 24.2859 29.5016 24.5861 29.2685 24.8217C29.0354 25.0574 28.7385 25.2178 28.4152 25.2828C28.0919 25.3478 27.7567 25.3145 27.4522 25.1869C27.1477 25.0594 26.8874 24.8435 26.7042 24.5664C26.5211 24.2894 26.4233 23.9636 26.4233 23.6304V19.4185C26.4233 18.5248 26.7745 17.6677 27.3997 17.0358C28.0248 16.4039 28.8726 16.0489 29.7567 16.0489" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
9
|
+
<path d="M16.4233 21.9456H18.09C18.4196 21.9456 18.7419 22.0444 19.016 22.2296C19.29 22.4147 19.5037 22.6778 19.6298 22.9857C19.756 23.2935 19.789 23.6323 19.7246 23.9591C19.6603 24.2859 19.5016 24.5861 19.2685 24.8217C19.0354 25.0574 18.7385 25.2178 18.4152 25.2828C18.0919 25.3478 17.7567 25.3145 17.4522 25.1869C17.1477 25.0594 16.8874 24.8435 16.7042 24.5664C16.5211 24.2894 16.4233 23.9636 16.4233 23.6304V19.4185C16.4233 18.5248 16.7745 17.6677 17.3997 17.0358C18.0248 16.4039 18.8726 16.0489 19.7567 16.0489" stroke="black" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="63" height="54" viewBox="0 0 63 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect x="0.423828" width="62" height="54" rx="15" fill="#FF4848"/>
|
|
3
|
+
<path d="M31.4238 20.9348V29.0217" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M31.4238 35.087V35.107" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<svg width="63" height="54" viewBox="0 0 63 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M48.2133 0H14.6343C6.78609 0 0.423828 6.36226 0.423828 14.2105V39.7894C0.423828 47.6377 6.78609 53.9999 14.6343 53.9999H48.2133C56.0615 53.9999 62.4238 47.6377 62.4238 39.7894V14.2105C62.4238 6.36226 56.0615 0 48.2133 0Z" fill="url(#paint0_linear_48_184)"/>
|
|
3
|
+
<rect x="7.42383" y="11" width="48" height="36" rx="1" fill="white"/>
|
|
4
|
+
<rect x="7.42383" y="19" width="48" height="0.5" fill="#BFBFBF"/>
|
|
5
|
+
<rect x="7.42383" y="15" width="48" height="0.5" fill="#BFBFBF"/>
|
|
6
|
+
<rect x="7.42383" y="23" width="48" height="0.5" fill="#BFBFBF"/>
|
|
7
|
+
<g filter="url(#filter0_bi_48_184)">
|
|
8
|
+
<path d="M15.1839 15C16.7544 15 18.2112 15.8187 19.0278 17.1602L23.2371 24.0756C23.9248 25.2053 25.1516 25.8947 26.4741 25.8947H57.6865C60.2918 25.8947 62.4233 28.0263 62.4233 30.6316V39.7856C62.4233 47.6338 56.0611 53.9961 48.2128 53.9961H14.6339C6.78567 53.9961 0.42334 47.6338 0.42334 39.7856V19.6962C0.445386 17.1094 2.56855 15 5.16024 15H15.1839Z" fill="#45BCFE" fill-opacity="0.9"/>
|
|
9
|
+
</g>
|
|
10
|
+
<defs>
|
|
11
|
+
<filter id="filter0_bi_48_184" x="-1.94508" y="12.6316" width="66.7368" height="43.7329" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
12
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
13
|
+
<feGaussianBlur in="BackgroundImageFix" stdDeviation="1.18421"/>
|
|
14
|
+
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_48_184"/>
|
|
15
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_48_184" result="shape"/>
|
|
16
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
17
|
+
<feOffset dy="0.236842"/>
|
|
18
|
+
<feGaussianBlur stdDeviation="0.236842"/>
|
|
19
|
+
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
|
20
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0.478431 0 0 0 0 0.94902 0 0 0 0 1 0 0 0 1 0"/>
|
|
21
|
+
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_48_184"/>
|
|
22
|
+
</filter>
|
|
23
|
+
<linearGradient id="paint0_linear_48_184" x1="27.4238" y1="0" x2="27.4238" y2="53.9999" gradientUnits="userSpaceOnUse">
|
|
24
|
+
<stop stop-color="#0699FF"/>
|
|
25
|
+
<stop offset="1" stop-color="#0171EF"/>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
</defs>
|
|
28
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M7.62311 5.07223C7.62311 4.96573 7.70936 4.88024 7.8151 4.88024H9.03156C9.1373 4.88024 9.22355 4.96573 9.22355 5.07223V6.28794C9.22355 6.39368 9.1373 6.47993 9.03156 6.47993H7.8151C7.70936 6.47993 7.62311 6.39368 7.62311 6.28794V5.07223ZM7.62311 8.27162C7.62311 8.16587 7.70936 8.07962 7.8151 8.07962H9.03156C9.1373 8.07962 9.22355 8.16587 9.22355 8.27162V12.6875C9.22355 12.794 9.1373 12.8795 9.03156 12.8795H7.8151C7.70936 12.8795 7.62311 12.794 7.62311 12.6875V8.27162ZM8.42334 0.879852C4.00748 0.879852 0.42334 4.46399 0.42334 8.87985C0.42334 13.2957 4.00748 16.8799 8.42334 16.8799C12.8392 16.8799 16.4233 13.2957 16.4233 8.87985C16.4233 4.46399 12.8392 0.879852 8.42334 0.879852ZM8.42334 15.2794C4.89545 15.2794 2.0238 12.4077 2.0238 8.87985C2.0238 5.35197 4.89545 2.48031 8.42334 2.48031C11.9512 2.48031 14.8229 5.35197 14.8229 8.87985C14.8229 12.4077 11.9512 15.2794 8.42334 15.2794Z" fill="#757575"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="currentColor"
|
|
7
|
+
class="icon icon-tabler icons-tabler-filled icon-tabler-player-pause"
|
|
8
|
+
>
|
|
9
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
|
10
|
+
<path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z"/>
|
|
11
|
+
<path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z"/>
|
|
12
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-player-play"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" /></svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface InputControllerConfig {
|
|
2
|
+
placeholder?: string;
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
step?: number;
|
|
6
|
+
options?: Array<{
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
}>;
|
|
10
|
+
fileTypes?: string[];
|
|
11
|
+
showOpacityControls?: boolean;
|
|
12
|
+
defaultTransparency?: number;
|
|
13
|
+
textColor?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Input Controllers
|
|
2
|
+
// export { default as BrowserInputController } from './BrowserInputController.svelte';
|
|
3
|
+
// export { default as DropdownInputController } from './DropdownInputController.svelte';
|
|
4
|
+
// export { default as DatePickerInputController } from './DatePickerInputController.svelte';
|
|
5
|
+
// export { default as SliderInputController } from './SliderInputController.svelte';
|
|
6
|
+
// export { default as FontInputController } from './FontInputController.svelte';
|
|
7
|
+
// export { default as SwitchInputController } from './SwitchInputController.svelte';
|
|
8
|
+
// export { default as TextInputController } from './TextInputController.svelte';
|
|
9
|
+
// export { default as TextAreaInputController } from './TextAreaInputController.svelte';
|
|
10
|
+
// export { default as RangeCalendarInputController } from './RangeCalendarInputController.svelte';
|
|
11
|
+
// export { default as NumberInputController } from './NumberInputController.svelte';
|
|
12
|
+
// export { default as PositionInputController } from './PositionInputController.svelte';
|
|
13
|
+
// export { default as ColorPickerInputController } from './ColorPickerInputController.svelte';
|
|
14
|
+
// export { default as SliderRangeInputController } from './SliderRangeInputController.svelte';
|
|
15
|
+
// export { default as FixedPositionInputController } from './FixedPositionInputController.svelte';
|
|
16
|
+
// export { default as VectorInputController } from './VectorInputController.svelte';
|
|
17
|
+
// export { default as InputControllerHeader } from './InputControllerHeader.svelte';
|
|
18
|
+
export {};
|