@nuraly/lumenui 0.2.1 → 0.2.2
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/nuralyui.bundle.js +2010 -1271
- package/dist/nuralyui.bundle.js.gz +0 -0
- package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
- package/dist/src/components/button/controllers/base.controller.js +13 -0
- package/dist/src/components/button/controllers/index.d.ts +10 -0
- package/dist/src/components/button/controllers/index.js +10 -0
- package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
- package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
- package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
- package/dist/src/components/button/controllers/link.controller.js +75 -0
- package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
- package/dist/src/components/button/controllers/ripple.controller.js +69 -0
- package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
- package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
- package/dist/src/components/button/interfaces/index.d.ts +2 -0
- package/dist/src/components/button/interfaces/index.js +2 -0
- package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
- package/dist/src/components/button/test/nr-button_test.js +91 -0
- package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
- package/dist/src/components/canvas/base-canvas.component.js +6 -0
- package/dist/src/components/canvas/bundle.js +702 -475
- package/dist/src/components/canvas/bundle.js.gz +0 -0
- package/dist/src/components/canvas/chatbot-panel.style.js +50 -59
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
- package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
- package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
- package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
- package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
- package/dist/src/components/canvas/controllers/base.controller.js +80 -0
- package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
- package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
- package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
- package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
- package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
- package/dist/src/components/canvas/controllers/config.controller.js +118 -0
- package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
- package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
- package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
- package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
- package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
- package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
- package/dist/src/components/canvas/controllers/index.d.ts +19 -0
- package/dist/src/components/canvas/controllers/index.js +32 -0
- package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
- package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
- package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
- package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
- package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
- package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
- package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
- package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
- package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
- package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
- package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
- package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
- package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
- package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
- package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
- package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
- package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
- package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
- package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
- package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
- package/dist/src/components/canvas/data-node/index.d.ts +9 -0
- package/dist/src/components/canvas/data-node/index.js +12 -0
- package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
- package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
- package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
- package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
- package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
- package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
- package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
- package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
- package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
- package/dist/src/components/canvas/interfaces/index.js +7 -0
- package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
- package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
- package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
- package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
- package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
- package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
- package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
- package/dist/src/components/canvas/templates/edges.template.js +243 -0
- package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
- package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
- package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
- package/dist/src/components/canvas/templates/frame.template.js +74 -0
- package/dist/src/components/canvas/templates/index.d.ts +18 -0
- package/dist/src/components/canvas/templates/index.js +30 -0
- package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
- package/dist/src/components/canvas/templates/palette.template.js +110 -0
- package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
- package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
- package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
- package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
- package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
- package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
- package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
- package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
- package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
- package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
- package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
- package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
- package/dist/src/components/canvas/workflow-canvas.component.js +6 -0
- package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
- package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
- package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
- package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
- package/dist/src/components/chatbot/audio-compress.js +84 -0
- package/dist/src/components/chatbot/bundle.js +388 -144
- package/dist/src/components/chatbot/bundle.js.gz +0 -0
- package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
- package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
- package/dist/src/components/chatbot/chatbot.component.d.ts +12 -0
- package/dist/src/components/chatbot/chatbot.component.js +41 -2
- package/dist/src/components/chatbot/chatbot.style.js +141 -0
- package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
- package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
- package/dist/src/components/chatbot/controllers/index.js +8 -0
- package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
- package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
- package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
- package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
- package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
- package/dist/src/components/chatbot/core/event-bus.js +102 -0
- package/dist/src/components/chatbot/core/index.d.ts +12 -0
- package/dist/src/components/chatbot/core/index.js +15 -0
- package/dist/src/components/chatbot/core/types.d.ts +403 -0
- package/dist/src/components/chatbot/core/types.js +16 -0
- package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
- package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
- package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
- package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
- package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
- package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
- package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
- package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
- package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
- package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
- package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
- package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
- package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
- package/dist/src/components/chatbot/plugins/index.js +17 -0
- package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
- package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
- package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
- package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
- package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
- package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
- package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
- package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
- package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
- package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
- package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
- package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
- package/dist/src/components/chatbot/providers/index.d.ts +16 -0
- package/dist/src/components/chatbot/providers/index.js +13 -0
- package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
- package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
- package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
- package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
- package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
- package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
- package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
- package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
- package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
- package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
- package/dist/src/components/chatbot/storage/index.d.ts +7 -0
- package/dist/src/components/chatbot/storage/index.js +8 -0
- package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
- package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
- package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
- package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
- package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
- package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
- package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
- package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
- package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
- package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
- package/dist/src/components/chatbot/templates/index.d.ts +15 -0
- package/dist/src/components/chatbot/templates/index.js +15 -0
- package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
- package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
- package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
- package/dist/src/components/chatbot/templates/message.template.js +214 -0
- package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
- package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
- package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
- package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
- package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
- package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
- package/dist/src/components/chatbot/utils/format.d.ts +23 -0
- package/dist/src/components/chatbot/utils/format.js +84 -0
- package/dist/src/components/chatbot/utils/index.d.ts +7 -0
- package/dist/src/components/chatbot/utils/index.js +7 -0
- package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
- package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
- package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
- package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
- package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
- package/dist/src/components/checkbox/mixins/index.js +8 -0
- package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
- package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
- package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
- package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
- package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
- package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
- package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
- package/dist/src/components/collapse/controllers/base.controller.js +69 -0
- package/dist/src/components/collapse/controllers/index.d.ts +12 -0
- package/dist/src/components/collapse/controllers/index.js +11 -0
- package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
- package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
- package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
- package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
- package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
- package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
- package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
- package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
- package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
- package/dist/src/components/colorpicker/controllers/index.js +4 -0
- package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
- package/dist/src/components/colorpicker/interfaces/index.js +2 -0
- package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
- package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
- package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
- package/dist/src/components/datepicker/controllers/index.js +11 -0
- package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
- package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
- package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
- package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
- package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
- package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
- package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
- package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
- package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
- package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
- package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
- package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
- package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
- package/dist/src/components/datepicker/interfaces/index.js +7 -0
- package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
- package/dist/src/components/datepicker/templates/days.template.js +40 -0
- package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
- package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
- package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
- package/dist/src/components/datepicker/templates/headers.template.js +5 -0
- package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
- package/dist/src/components/datepicker/templates/months.template.js +10 -0
- package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
- package/dist/src/components/datepicker/templates/years.template.js +11 -0
- package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
- package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
- package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
- package/dist/src/components/datepicker/utils/day.helper.js +53 -0
- package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
- package/dist/src/components/datepicker/utils/formatter.js +9 -0
- package/dist/src/components/datepicker/utils/index.d.ts +11 -0
- package/dist/src/components/datepicker/utils/index.js +11 -0
- package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
- package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
- package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
- package/dist/src/components/datepicker/utils/month.helper.js +24 -0
- package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
- package/dist/src/components/datepicker/utils/string.helper.js +4 -0
- package/dist/src/components/document/demo/document-demo.d.ts +12 -0
- package/dist/src/components/document/demo/document-demo.js +40 -0
- package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
- package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
- package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
- package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
- package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
- package/dist/src/components/dropdown/controllers/index.js +3 -0
- package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
- package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
- package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
- package/dist/src/components/dropdown/interfaces/index.js +2 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
- package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
- package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
- package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
- package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
- package/dist/src/components/form/controllers/submission.controller.js +220 -0
- package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
- package/dist/src/components/form/controllers/validation.controller.js +236 -0
- package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
- package/dist/src/components/form/interfaces/validation.interface.js +7 -0
- package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
- package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
- package/dist/src/components/icon/mixins/index.d.ts +7 -0
- package/dist/src/components/icon/mixins/index.js +7 -0
- package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
- package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
- package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
- package/dist/src/components/iconpicker/controllers/index.js +9 -0
- package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
- package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
- package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
- package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
- package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
- package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
- package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
- package/dist/src/components/iconpicker/interfaces/index.js +7 -0
- package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
- package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
- package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
- package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
- package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
- package/dist/src/components/iconpicker/utils/index.js +8 -0
- package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
- package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
- package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
- package/dist/src/components/input/controllers/base.controller.js +13 -0
- package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
- package/dist/src/components/input/controllers/event.controller.js +355 -0
- package/dist/src/components/input/controllers/index.d.ts +14 -0
- package/dist/src/components/input/controllers/index.js +10 -0
- package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
- package/dist/src/components/input/controllers/state.controller.js +245 -0
- package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
- package/dist/src/components/input/controllers/validation.controller.js +698 -0
- package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
- package/dist/src/components/input/mixins/focus-mixin.js +65 -0
- package/dist/src/components/input/mixins/index.d.ts +12 -0
- package/dist/src/components/input/mixins/index.js +9 -0
- package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
- package/dist/src/components/input/mixins/number-mixin.js +128 -0
- package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
- package/dist/src/components/input/mixins/selection-mixin.js +80 -0
- package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
- package/dist/src/components/input/test/nr-input_test.js +159 -0
- package/dist/src/components/input/utils/index.d.ts +8 -0
- package/dist/src/components/input/utils/index.js +8 -0
- package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
- package/dist/src/components/input/utils/input-renderers.js +178 -0
- package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
- package/dist/src/components/input/utils/input-validation.utils.js +103 -0
- package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
- package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
- package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
- package/dist/src/components/menu/controllers/base.controller.js +61 -0
- package/dist/src/components/menu/controllers/index.d.ts +10 -0
- package/dist/src/components/menu/controllers/index.js +10 -0
- package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
- package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
- package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
- package/dist/src/components/menu/controllers/state.controller.js +249 -0
- package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
- package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
- package/dist/src/components/menu/interfaces/index.d.ts +7 -0
- package/dist/src/components/menu/interfaces/index.js +7 -0
- package/dist/src/components/modal/controllers/index.d.ts +8 -0
- package/dist/src/components/modal/controllers/index.js +8 -0
- package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
- package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
- package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
- package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
- package/dist/src/components/panel/controllers/index.d.ts +8 -0
- package/dist/src/components/panel/controllers/index.js +8 -0
- package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
- package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
- package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
- package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
- package/dist/src/components/presence/bundle.js +528 -0
- package/dist/src/components/presence/bundle.js.gz +0 -0
- package/dist/src/components/presence/index.d.ts +10 -0
- package/dist/src/components/presence/index.js +10 -0
- package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
- package/dist/src/components/presence/presence-avatars.component.js +83 -0
- package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
- package/dist/src/components/presence/presence-avatars.style.js +105 -0
- package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
- package/dist/src/components/presence/presence-chat.component.js +228 -0
- package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
- package/dist/src/components/presence/presence-chat.style.js +248 -0
- package/dist/src/components/presence/presence.component.d.ts +71 -0
- package/dist/src/components/presence/presence.component.js +263 -0
- package/dist/src/components/presence/presence.style.d.ts +7 -0
- package/dist/src/components/presence/presence.style.js +12 -0
- package/dist/src/components/presence/presence.types.d.ts +31 -0
- package/dist/src/components/presence/presence.types.js +7 -0
- package/dist/src/components/presence/react.d.ts +24 -0
- package/dist/src/components/presence/react.js +41 -0
- package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
- package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
- package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
- package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
- package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
- package/dist/src/components/radio-group/controllers/index.js +11 -0
- package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
- package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
- package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
- package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
- package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
- package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
- package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
- package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
- package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
- package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
- package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
- package/dist/src/components/radio-group/interfaces/index.js +7 -0
- package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
- package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
- package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
- package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
- package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
- package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
- package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
- package/dist/src/components/radio-group/test/radio_test.js +79 -0
- package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
- package/dist/src/components/select/controllers/base.controller.js +8 -0
- package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
- package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
- package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
- package/dist/src/components/select/controllers/event.controller.js +113 -0
- package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
- package/dist/src/components/select/controllers/focus.controller.js +230 -0
- package/dist/src/components/select/controllers/index.d.ts +9 -0
- package/dist/src/components/select/controllers/index.js +9 -0
- package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
- package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
- package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
- package/dist/src/components/select/controllers/search.controller.js +167 -0
- package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
- package/dist/src/components/select/controllers/selection.controller.js +217 -0
- package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
- package/dist/src/components/select/controllers/validation.controller.js +189 -0
- package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
- package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
- package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
- package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
- package/dist/src/components/select/interfaces/index.d.ts +3 -0
- package/dist/src/components/select/interfaces/index.js +3 -0
- package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
- package/dist/src/components/slider-input/utils/debounce.js +8 -0
- package/dist/src/components/slider-input/utils/index.d.ts +2 -0
- package/dist/src/components/slider-input/utils/index.js +2 -0
- package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
- package/dist/src/components/table/controllers/base.controller.js +13 -0
- package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
- package/dist/src/components/table/controllers/filter.controller.js +152 -0
- package/dist/src/components/table/controllers/index.d.ts +11 -0
- package/dist/src/components/table/controllers/index.js +11 -0
- package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
- package/dist/src/components/table/controllers/pagination.controller.js +110 -0
- package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
- package/dist/src/components/table/controllers/selection.controller.js +120 -0
- package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
- package/dist/src/components/table/controllers/sort.controller.js +102 -0
- package/dist/src/components/table/interfaces/index.d.ts +7 -0
- package/dist/src/components/table/interfaces/index.js +7 -0
- package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
- package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
- package/dist/src/components/table/templates/actions.template.d.ts +14 -0
- package/dist/src/components/table/templates/actions.template.js +15 -0
- package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
- package/dist/src/components/table/templates/column-filter.template.js +76 -0
- package/dist/src/components/table/templates/content.template.d.ts +37 -0
- package/dist/src/components/table/templates/content.template.js +208 -0
- package/dist/src/components/table/templates/empty.template.d.ts +8 -0
- package/dist/src/components/table/templates/empty.template.js +47 -0
- package/dist/src/components/table/templates/filter.template.d.ts +14 -0
- package/dist/src/components/table/templates/filter.template.js +28 -0
- package/dist/src/components/table/templates/index.d.ts +8 -0
- package/dist/src/components/table/templates/index.js +8 -0
- package/dist/src/components/table/templates/loading.template.d.ts +21 -0
- package/dist/src/components/table/templates/loading.template.js +51 -0
- package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
- package/dist/src/components/table/templates/pagination.template.js +52 -0
- package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
- package/dist/src/components/tabs/controllers/base.controller.js +26 -0
- package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
- package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
- package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
- package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
- package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
- package/dist/src/components/tabs/controllers/event.controller.js +239 -0
- package/dist/src/components/tabs/controllers/index.d.ts +12 -0
- package/dist/src/components/tabs/controllers/index.js +18 -0
- package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
- package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
- package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
- package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
- package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
- package/dist/src/components/textarea/controllers/base.controller.js +19 -0
- package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
- package/dist/src/components/textarea/controllers/event.controller.js +408 -0
- package/dist/src/components/textarea/controllers/index.d.ts +9 -0
- package/dist/src/components/textarea/controllers/index.js +9 -0
- package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
- package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
- package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
- package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
- package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
- package/dist/src/components/timepicker/controllers/index.js +9 -0
- package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
- package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
- package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
- package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
- package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
- package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
- package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
- package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
- package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
- package/dist/src/components/timepicker/utils/time.utils.js +235 -0
- package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
- package/dist/src/components/toast/controllers/base.controller.js +12 -0
- package/dist/src/components/toast/controllers/index.d.ts +8 -0
- package/dist/src/components/toast/controllers/index.js +7 -0
- package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
- package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
- package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
- package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
- package/package.json +27 -1
- package/packages/common/dist/VERSIONS.md +1 -1
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
10
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
11
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
12
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
import { PanelMode } from '../../panel/panel.types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Controller for managing tab pop-out functionality
|
|
18
|
+
*/
|
|
19
|
+
export class TabsPopOutController {
|
|
20
|
+
constructor(host) {
|
|
21
|
+
this.poppedOutTabs = new Map();
|
|
22
|
+
this.popOutIdCounter = 0;
|
|
23
|
+
this.host = host;
|
|
24
|
+
host.addController(this);
|
|
25
|
+
}
|
|
26
|
+
hostConnected() {
|
|
27
|
+
// Initialize pop-out states for existing tabs
|
|
28
|
+
this.initializeTabStates();
|
|
29
|
+
}
|
|
30
|
+
hostDisconnected() {
|
|
31
|
+
// Clean up any popped-out panels
|
|
32
|
+
this.cleanupPoppedOutTabs();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Initialize pop-out states for all tabs
|
|
36
|
+
*/
|
|
37
|
+
initializeTabStates() {
|
|
38
|
+
this.host.tabs.forEach((tab) => {
|
|
39
|
+
if (!tab.popOutState) {
|
|
40
|
+
tab.popOutState = "normal" /* TabPopOutState.Normal */;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if pop-out functionality is enabled
|
|
46
|
+
*/
|
|
47
|
+
isPopOutEnabled() {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
return (_b = (_a = this.host.popOut) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : false;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if a specific tab can be popped out
|
|
53
|
+
*/
|
|
54
|
+
canPopOut(tab) {
|
|
55
|
+
var _a, _b, _c, _d;
|
|
56
|
+
if (!this.isPopOutEnabled())
|
|
57
|
+
return false;
|
|
58
|
+
// Check global config
|
|
59
|
+
const globalCanPopOut = (_b = (_a = this.host.popOut) === null || _a === void 0 ? void 0 : _a.canPopOut) !== null && _b !== void 0 ? _b : true;
|
|
60
|
+
// Check tab-specific config
|
|
61
|
+
const tabCanPopOut = (_d = (_c = tab.popOut) === null || _c === void 0 ? void 0 : _c.canPopOut) !== null && _d !== void 0 ? _d : globalCanPopOut;
|
|
62
|
+
// Can't pop out if already popped out or disabled
|
|
63
|
+
return tabCanPopOut &&
|
|
64
|
+
tab.popOutState === "normal" /* TabPopOutState.Normal */ &&
|
|
65
|
+
!tab.disabled;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if a specific tab can be popped back in
|
|
69
|
+
*/
|
|
70
|
+
canPopIn(tab) {
|
|
71
|
+
var _a, _b, _c, _d;
|
|
72
|
+
if (!this.isPopOutEnabled())
|
|
73
|
+
return false;
|
|
74
|
+
// Check global config
|
|
75
|
+
const globalCanPopIn = (_b = (_a = this.host.popOut) === null || _a === void 0 ? void 0 : _a.canPopIn) !== null && _b !== void 0 ? _b : true;
|
|
76
|
+
// Check tab-specific config
|
|
77
|
+
const tabCanPopIn = (_d = (_c = tab.popOut) === null || _c === void 0 ? void 0 : _c.canPopIn) !== null && _d !== void 0 ? _d : globalCanPopIn;
|
|
78
|
+
return tabCanPopIn && tab.popOutState === "popped-out" /* TabPopOutState.PoppedOut */;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Generate unique pop-out ID
|
|
82
|
+
*/
|
|
83
|
+
generatePopOutId() {
|
|
84
|
+
return `popout-${Date.now()}-${++this.popOutIdCounter}`;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Pop out a tab to a window panel
|
|
88
|
+
*/
|
|
89
|
+
popOutTab(tabIndex) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
var _a;
|
|
92
|
+
const tab = this.host.tabs[tabIndex];
|
|
93
|
+
if (!this.canPopOut(tab)) {
|
|
94
|
+
console.warn('[TabsPopOutController] Cannot pop out tab:', tab.label);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const popOutId = this.generatePopOutId();
|
|
98
|
+
// Store original content before any modifications
|
|
99
|
+
const originalContent = tab.content;
|
|
100
|
+
// Capture parent panel dimensions BEFORE popping out
|
|
101
|
+
let originalWidth;
|
|
102
|
+
let originalHeight;
|
|
103
|
+
console.log('[TabsPopOutController] === DIMENSION CAPTURE START ===');
|
|
104
|
+
const hostElement = this.host;
|
|
105
|
+
console.log('[TabsPopOutController] hostElement.tagName:', hostElement.tagName);
|
|
106
|
+
// First try to find a parent nr-panel
|
|
107
|
+
const parentPanel = (_a = hostElement.closest) === null || _a === void 0 ? void 0 : _a.call(hostElement, 'nr-panel');
|
|
108
|
+
console.log('[TabsPopOutController] parentPanel found:', !!parentPanel);
|
|
109
|
+
if (parentPanel) {
|
|
110
|
+
const panelRect = parentPanel.getBoundingClientRect();
|
|
111
|
+
console.log('[TabsPopOutController] Using parent panel dimensions');
|
|
112
|
+
console.log('[TabsPopOutController] panelRect:', panelRect.width, 'x', panelRect.height);
|
|
113
|
+
if (panelRect.width > 0 && panelRect.height > 0) {
|
|
114
|
+
originalWidth = `${panelRect.width}px`;
|
|
115
|
+
originalHeight = `${panelRect.height}px`;
|
|
116
|
+
console.log('[TabsPopOutController] ✓ Captured parent panel dimensions:', originalWidth, 'x', originalHeight);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// If no parent panel, use the tabs element's own dimensions
|
|
121
|
+
console.log('[TabsPopOutController] No parent panel found, using tabs element dimensions');
|
|
122
|
+
const tabsRect = hostElement.getBoundingClientRect();
|
|
123
|
+
console.log('[TabsPopOutController] tabsRect:', tabsRect.width, 'x', tabsRect.height);
|
|
124
|
+
if (tabsRect.width > 0 && tabsRect.height > 0) {
|
|
125
|
+
originalWidth = `${tabsRect.width}px`;
|
|
126
|
+
originalHeight = `${tabsRect.height}px`;
|
|
127
|
+
console.log('[TabsPopOutController] ✓ Captured tabs element dimensions:', originalWidth, 'x', originalHeight);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.warn('[TabsPopOutController] ✗ Tabs element has zero dimensions');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
console.log('[TabsPopOutController] === DIMENSION CAPTURE END ===');
|
|
134
|
+
// Create popped-out tab tracking object with a copy of the tab
|
|
135
|
+
const poppedOutTab = {
|
|
136
|
+
tab: Object.assign({}, tab),
|
|
137
|
+
originalIndex: tabIndex,
|
|
138
|
+
state: "popped-out" /* TabPopOutState.PoppedOut */,
|
|
139
|
+
popOutId,
|
|
140
|
+
originalWidth,
|
|
141
|
+
originalHeight
|
|
142
|
+
};
|
|
143
|
+
// Set the popped-out tab state and restore original content
|
|
144
|
+
poppedOutTab.tab.popOutState = "popped-out" /* TabPopOutState.PoppedOut */;
|
|
145
|
+
poppedOutTab.tab.content = originalContent;
|
|
146
|
+
// Remove the tab from the tabs array (no placeholder)
|
|
147
|
+
this.host.tabs.splice(tabIndex, 1);
|
|
148
|
+
// Store popped-out tab
|
|
149
|
+
this.poppedOutTabs.set(popOutId, poppedOutTab);
|
|
150
|
+
// Create window panel
|
|
151
|
+
yield this.createWindowPanel(poppedOutTab);
|
|
152
|
+
// Dispatch event
|
|
153
|
+
this.host.dispatchEventWithMetadata("nr-tab-pop-out" /* TabEvent.TabPopOut */, {
|
|
154
|
+
index: tabIndex,
|
|
155
|
+
tab: poppedOutTab.tab,
|
|
156
|
+
popOutId
|
|
157
|
+
});
|
|
158
|
+
this.host.requestUpdate();
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Pop a tab back into the tabs container
|
|
163
|
+
*/
|
|
164
|
+
popInTab(popOutId) {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
+
console.log('[TabsPopOutController] popInTab called with ID:', popOutId);
|
|
167
|
+
const poppedOutTab = this.poppedOutTabs.get(popOutId);
|
|
168
|
+
if (!poppedOutTab) {
|
|
169
|
+
console.warn('[TabsPopOutController] Popped-out tab not found:', popOutId);
|
|
170
|
+
console.log('[TabsPopOutController] Available pop-out IDs:', Array.from(this.poppedOutTabs.keys()));
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
console.log('[TabsPopOutController] Found popped-out tab:', poppedOutTab.tab.label);
|
|
174
|
+
if (!this.canPopIn(poppedOutTab.tab)) {
|
|
175
|
+
console.warn('[TabsPopOutController] Cannot pop in tab:', poppedOutTab.tab.label);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
// Find the placeholder tab in current tabs
|
|
179
|
+
const placeholderIndex = this.host.tabs.findIndex(tab => tab.popOutState === "placeholder" /* TabPopOutState.Placeholder */ &&
|
|
180
|
+
tab.id === poppedOutTab.tab.id);
|
|
181
|
+
console.log('[TabsPopOutController] Placeholder index:', placeholderIndex);
|
|
182
|
+
if (placeholderIndex !== -1) {
|
|
183
|
+
// Restore original tab with its original content
|
|
184
|
+
const originalTab = poppedOutTab.tab;
|
|
185
|
+
originalTab.popOutState = "normal" /* TabPopOutState.Normal */;
|
|
186
|
+
console.log('[TabsPopOutController] Restoring tab at placeholder index:', placeholderIndex);
|
|
187
|
+
console.log('[TabsPopOutController] Original tab content:', originalTab.content);
|
|
188
|
+
// Replace placeholder with original tab
|
|
189
|
+
this.host.tabs[placeholderIndex] = originalTab;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// If placeholder not found, insert at original position
|
|
193
|
+
const insertIndex = Math.min(poppedOutTab.originalIndex, this.host.tabs.length);
|
|
194
|
+
poppedOutTab.tab.popOutState = "normal" /* TabPopOutState.Normal */;
|
|
195
|
+
console.log('[TabsPopOutController] Placeholder not found, inserting at:', insertIndex);
|
|
196
|
+
this.host.tabs.splice(insertIndex, 0, poppedOutTab.tab);
|
|
197
|
+
}
|
|
198
|
+
// Clean up window panel
|
|
199
|
+
console.log('[TabsPopOutController] Destroying window panel');
|
|
200
|
+
this.destroyWindowPanel(poppedOutTab);
|
|
201
|
+
// Remove from tracking
|
|
202
|
+
this.poppedOutTabs.delete(popOutId);
|
|
203
|
+
// Dispatch event
|
|
204
|
+
console.log('[TabsPopOutController] Dispatching TabPopIn event');
|
|
205
|
+
this.host.dispatchEventWithMetadata("nr-tab-pop-in" /* TabEvent.TabPopIn */, {
|
|
206
|
+
tab: poppedOutTab.tab,
|
|
207
|
+
originalIndex: poppedOutTab.originalIndex,
|
|
208
|
+
popOutId
|
|
209
|
+
});
|
|
210
|
+
console.log('[TabsPopOutController] Requesting host update');
|
|
211
|
+
this.host.requestUpdate();
|
|
212
|
+
console.log('[TabsPopOutController] popInTab completed');
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Create window panel for popped-out tab
|
|
217
|
+
*/
|
|
218
|
+
createWindowPanel(poppedOutTab) {
|
|
219
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
221
|
+
if (!this.host.isComponentAvailable('nr-panel')) {
|
|
222
|
+
console.warn('[TabsPopOutController] Panel component not available');
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
// Check if required dependencies are available
|
|
226
|
+
if (!this.host.isComponentAvailable('nr-icon')) {
|
|
227
|
+
console.warn('[TabsPopOutController] Icon component not available - minimize button may not display correctly');
|
|
228
|
+
}
|
|
229
|
+
// Get panel config from global or tab-specific settings
|
|
230
|
+
const windowPanelConfig = ((_a = this.host.popOut) === null || _a === void 0 ? void 0 : _a.windowPanel) || {};
|
|
231
|
+
const tabPanelConfig = ((_b = poppedOutTab.tab.popOut) === null || _b === void 0 ? void 0 : _b.windowPanel) || {};
|
|
232
|
+
const config = Object.assign(Object.assign({}, windowPanelConfig), tabPanelConfig);
|
|
233
|
+
// Use stored dimensions from when we captured them, or fall back to config
|
|
234
|
+
const poppedTabData = poppedOutTab;
|
|
235
|
+
const originalWidth = poppedTabData.originalWidth || config.width || '600px';
|
|
236
|
+
const originalHeight = poppedTabData.originalHeight || config.height || '400px';
|
|
237
|
+
console.log('[TabsPopOutController] === DIMENSION FLOW START ===');
|
|
238
|
+
console.log('[TabsPopOutController] originalWidth from poppedTabData:', poppedTabData.originalWidth);
|
|
239
|
+
console.log('[TabsPopOutController] originalHeight from poppedTabData:', poppedTabData.originalHeight);
|
|
240
|
+
console.log('[TabsPopOutController] Final originalWidth:', originalWidth);
|
|
241
|
+
console.log('[TabsPopOutController] Final originalHeight:', originalHeight);
|
|
242
|
+
// Create panel element
|
|
243
|
+
const panel = document.createElement('nr-panel');
|
|
244
|
+
// Determine if the host tabs component is in embedded mode
|
|
245
|
+
const isHostEmbedded = ((_c = this.host.panelConfig) === null || _c === void 0 ? void 0 : _c.mode) === 'embedded';
|
|
246
|
+
console.log('[TabsPopOutController] isHostEmbedded:', isHostEmbedded);
|
|
247
|
+
// Add random offset for cascading effect (±80px for X, ±60px for Y)
|
|
248
|
+
const randomOffsetX = Math.floor(Math.random() * 560) - 80;
|
|
249
|
+
const randomOffsetY = Math.floor(Math.random() * 120) - 60;
|
|
250
|
+
console.log('[TabsPopOutController] Random offsets - X:', randomOffsetX, 'Y:', randomOffsetY);
|
|
251
|
+
// Set properties
|
|
252
|
+
// If host is embedded, start in embedded mode and maximize to window
|
|
253
|
+
panel.mode = isHostEmbedded ? 'embedded' : PanelMode.Window;
|
|
254
|
+
panel.title = ((_d = config.title) === null || _d === void 0 ? void 0 : _d.replace('{tabLabel}', poppedOutTab.tab.label)) || poppedOutTab.tab.label;
|
|
255
|
+
panel.icon = config.icon || poppedOutTab.tab.icon || '';
|
|
256
|
+
panel.width = originalWidth;
|
|
257
|
+
panel.height = originalHeight;
|
|
258
|
+
panel.isTabPopOut = true; // Mark this panel as a tab pop-out
|
|
259
|
+
// Apply random offset for non-embedded panels (direct window mode)
|
|
260
|
+
if (!isHostEmbedded) {
|
|
261
|
+
panel.offsetX = randomOffsetX;
|
|
262
|
+
// panel.offsetY = randomOffsetY;
|
|
263
|
+
console.log('[TabsPopOutController] Applied random offset to window panel');
|
|
264
|
+
}
|
|
265
|
+
console.log('[TabsPopOutController] Set panel.width:', panel.width);
|
|
266
|
+
console.log('[TabsPopOutController] Set panel.height:', panel.height);
|
|
267
|
+
// For embedded panels that will be maximized, set numeric dimensions BEFORE appending
|
|
268
|
+
if (isHostEmbedded) {
|
|
269
|
+
const widthNum = Number.parseInt(originalWidth);
|
|
270
|
+
const heightNum = Number.parseInt(originalHeight);
|
|
271
|
+
console.log('[TabsPopOutController] Parsed widthNum:', widthNum);
|
|
272
|
+
console.log('[TabsPopOutController] Parsed heightNum:', heightNum);
|
|
273
|
+
console.log('[TabsPopOutController] widthNum isNaN:', Number.isNaN(widthNum));
|
|
274
|
+
console.log('[TabsPopOutController] heightNum isNaN:', Number.isNaN(heightNum));
|
|
275
|
+
if (!Number.isNaN(widthNum) && !Number.isNaN(heightNum)) {
|
|
276
|
+
panel.panelWidth = widthNum;
|
|
277
|
+
panel.panelHeight = heightNum;
|
|
278
|
+
console.log('[TabsPopOutController] ✓ Set panel.panelWidth:', panel.panelWidth);
|
|
279
|
+
console.log('[TabsPopOutController] ✓ Set panel.panelHeight:', panel.panelHeight);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
console.warn('[TabsPopOutController] ✗ Could not set numeric dimensions - NaN detected');
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Set boolean properties via both property and attribute to ensure they take effect
|
|
286
|
+
const resizable = (_e = config.resizable) !== null && _e !== void 0 ? _e : true;
|
|
287
|
+
const draggable = (_f = config.draggable) !== null && _f !== void 0 ? _f : true;
|
|
288
|
+
const closable = (_g = config.closable) !== null && _g !== void 0 ? _g : true;
|
|
289
|
+
const minimizable = (_h = config.minimizable) !== null && _h !== void 0 ? _h : true;
|
|
290
|
+
panel.resizable = resizable;
|
|
291
|
+
panel.draggable = draggable;
|
|
292
|
+
panel.closable = closable;
|
|
293
|
+
panel.minimizable = minimizable;
|
|
294
|
+
// Also set as attributes for boolean properties
|
|
295
|
+
if (resizable)
|
|
296
|
+
panel.setAttribute('resizable', '');
|
|
297
|
+
if (draggable)
|
|
298
|
+
panel.setAttribute('draggable', '');
|
|
299
|
+
if (closable)
|
|
300
|
+
panel.setAttribute('closable', '');
|
|
301
|
+
if (minimizable)
|
|
302
|
+
panel.setAttribute('minimizable', '');
|
|
303
|
+
// Set content - handle both HTML strings and template results
|
|
304
|
+
if (poppedOutTab.tab.content) {
|
|
305
|
+
if (typeof poppedOutTab.tab.content === 'string') {
|
|
306
|
+
panel.innerHTML = poppedOutTab.tab.content;
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
// For Lit template results, create a container and render
|
|
310
|
+
const container = document.createElement('div');
|
|
311
|
+
container.style.height = '100%';
|
|
312
|
+
container.style.width = '100%';
|
|
313
|
+
panel.appendChild(container);
|
|
314
|
+
// Import render from lit-html for template results
|
|
315
|
+
try {
|
|
316
|
+
const { render } = yield import('lit');
|
|
317
|
+
render(poppedOutTab.tab.content, container);
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
console.warn('[TabsPopOutController] Could not render template content:', error);
|
|
321
|
+
container.textContent = 'Content could not be rendered';
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
// Add event listeners
|
|
326
|
+
panel.addEventListener('panel-close', () => {
|
|
327
|
+
this.popInTab(poppedOutTab.popOutId);
|
|
328
|
+
});
|
|
329
|
+
panel.addEventListener('panel-minimize', () => {
|
|
330
|
+
console.log('Pop-out panel minimized:', poppedOutTab.tab.label);
|
|
331
|
+
// For embedded panels that were maximized, minimize means restore to embedded
|
|
332
|
+
// which will pop the tab back in
|
|
333
|
+
if (isHostEmbedded) {
|
|
334
|
+
this.popInTab(poppedOutTab.popOutId);
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
// Listen for restore events (when user clicks "Restore to tabs" button)
|
|
338
|
+
panel.addEventListener('panel-restore', (e) => {
|
|
339
|
+
console.log('[TabsPopOutController] panel-restore event received for:', poppedOutTab.tab.label);
|
|
340
|
+
console.log('[TabsPopOutController] Event details:', e);
|
|
341
|
+
console.log('[TabsPopOutController] Pop-out ID:', poppedOutTab.popOutId);
|
|
342
|
+
this.popInTab(poppedOutTab.popOutId);
|
|
343
|
+
});
|
|
344
|
+
// Append to body or designated container
|
|
345
|
+
console.log('[TabsPopOutController] Before appendChild - panel.panelWidth:', panel.panelWidth, 'panel.panelHeight:', panel.panelHeight);
|
|
346
|
+
document.body.appendChild(panel);
|
|
347
|
+
console.log('[TabsPopOutController] After appendChild - panel.panelWidth:', panel.panelWidth, 'panel.panelHeight:', panel.panelHeight);
|
|
348
|
+
// Store panel reference
|
|
349
|
+
poppedOutTab.panelElement = panel;
|
|
350
|
+
// If the host is embedded, maximize the panel to window mode after it's been added to DOM
|
|
351
|
+
if (isHostEmbedded) {
|
|
352
|
+
// Wait for the panel to be fully initialized, then maximize it
|
|
353
|
+
setTimeout(() => {
|
|
354
|
+
console.log('[TabsPopOutController] Before maximizeEmbedded - panel.panelWidth:', panel.panelWidth, 'panel.panelHeight:', panel.panelHeight);
|
|
355
|
+
if (panel.maximizeEmbedded && typeof panel.maximizeEmbedded === 'function') {
|
|
356
|
+
panel.maximizeEmbedded();
|
|
357
|
+
console.log('[TabsPopOutController] After maximizeEmbedded called');
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
console.warn('[TabsPopOutController] maximizeEmbedded not available');
|
|
361
|
+
}
|
|
362
|
+
}, 100);
|
|
363
|
+
}
|
|
364
|
+
console.log('[TabsPopOutController] === DIMENSION FLOW END ===');
|
|
365
|
+
// Debug: Check panel properties after a short delay to ensure it's fully initialized
|
|
366
|
+
setTimeout(() => {
|
|
367
|
+
var _a;
|
|
368
|
+
console.log('Panel debug info:', {
|
|
369
|
+
label: poppedOutTab.tab.label,
|
|
370
|
+
mode: panel.mode,
|
|
371
|
+
minimizable: panel.minimizable,
|
|
372
|
+
isMaximizedFromEmbedded: panel.isMaximizedFromEmbedded,
|
|
373
|
+
hasMinimizeButton: !!((_a = panel.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button[title="Minimize"]')),
|
|
374
|
+
panelElement: panel
|
|
375
|
+
});
|
|
376
|
+
}, 200);
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Destroy window panel
|
|
381
|
+
*/
|
|
382
|
+
destroyWindowPanel(poppedOutTab) {
|
|
383
|
+
if (poppedOutTab.panelElement) {
|
|
384
|
+
poppedOutTab.panelElement.remove();
|
|
385
|
+
poppedOutTab.panelElement = undefined;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Clean up all popped-out tabs
|
|
390
|
+
*/
|
|
391
|
+
cleanupPoppedOutTabs() {
|
|
392
|
+
this.poppedOutTabs.forEach(poppedOutTab => {
|
|
393
|
+
this.destroyWindowPanel(poppedOutTab);
|
|
394
|
+
});
|
|
395
|
+
this.poppedOutTabs.clear();
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Get all currently popped-out tabs
|
|
399
|
+
*/
|
|
400
|
+
getPoppedOutTabs() {
|
|
401
|
+
return Array.from(this.poppedOutTabs.values());
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Check if any tabs are currently popped out
|
|
405
|
+
*/
|
|
406
|
+
hasPopppedOutTabs() {
|
|
407
|
+
return this.poppedOutTabs.size > 0;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Handle tab removal - clean up if tab is popped out
|
|
411
|
+
*/
|
|
412
|
+
handleTabRemoval(tabIndex) {
|
|
413
|
+
const tab = this.host.tabs[tabIndex];
|
|
414
|
+
if ((tab === null || tab === void 0 ? void 0 : tab.popOutState) === "placeholder" /* TabPopOutState.Placeholder */) {
|
|
415
|
+
// Find and clean up corresponding popped-out tab
|
|
416
|
+
const poppedOutTab = Array.from(this.poppedOutTabs.values())
|
|
417
|
+
.find(pot => pot.tab.id === tab.id);
|
|
418
|
+
if (poppedOutTab) {
|
|
419
|
+
this.destroyWindowPanel(poppedOutTab);
|
|
420
|
+
this.poppedOutTabs.delete(poppedOutTab.popOutId);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Public method to be called from tab component
|
|
426
|
+
*/
|
|
427
|
+
handlePopOutRequest(tabIndex) {
|
|
428
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
429
|
+
yield this.popOutTab(tabIndex);
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Public method to be called from panel or placeholder
|
|
434
|
+
*/
|
|
435
|
+
handlePopInRequest(popOutId) {
|
|
436
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
437
|
+
yield this.popInTab(popOutId);
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
//# sourceMappingURL=popout.controller.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { ReactiveControllerHost } from 'lit';
|
|
7
|
+
import { BaseComponentController } from '@nuralyui/common/controllers';
|
|
8
|
+
/**
|
|
9
|
+
* Base interface for textarea controllers
|
|
10
|
+
*/
|
|
11
|
+
export interface TextareaBaseController {
|
|
12
|
+
host: TextareaHost;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Textarea host interface - defines what the textarea component should provide
|
|
16
|
+
*/
|
|
17
|
+
export interface TextareaHost extends EventTarget {
|
|
18
|
+
value: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
readonly?: boolean;
|
|
21
|
+
required?: boolean;
|
|
22
|
+
name?: string;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
rows?: number;
|
|
25
|
+
cols?: number;
|
|
26
|
+
maxLength?: number;
|
|
27
|
+
resize?: string;
|
|
28
|
+
autoResize?: boolean;
|
|
29
|
+
minHeight?: number;
|
|
30
|
+
maxHeight?: number;
|
|
31
|
+
requestUpdate(): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Abstract base controller class that implements common functionality
|
|
35
|
+
* for all textarea component controllers
|
|
36
|
+
*/
|
|
37
|
+
export declare abstract class BaseTextareaController extends BaseComponentController<TextareaHost & ReactiveControllerHost> {
|
|
38
|
+
/**
|
|
39
|
+
* Request a host update safely (alias for requestUpdate)
|
|
40
|
+
*/
|
|
41
|
+
protected requestHostUpdate(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=base.controller.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseComponentController } from '@nuralyui/common/controllers';
|
|
7
|
+
/**
|
|
8
|
+
* Abstract base controller class that implements common functionality
|
|
9
|
+
* for all textarea component controllers
|
|
10
|
+
*/
|
|
11
|
+
export class BaseTextareaController extends BaseComponentController {
|
|
12
|
+
/**
|
|
13
|
+
* Request a host update safely (alias for requestUpdate)
|
|
14
|
+
*/
|
|
15
|
+
requestHostUpdate() {
|
|
16
|
+
this.requestUpdate();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=base.controller.js.map
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTextareaController, TextareaHost } from './base.controller.js';
|
|
7
|
+
import { ReactiveControllerHost } from 'lit';
|
|
8
|
+
/**
|
|
9
|
+
* Extended textarea host interface for event handling
|
|
10
|
+
*/
|
|
11
|
+
export interface TextareaEventHost extends TextareaHost {
|
|
12
|
+
readonly?: boolean;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
clearable?: boolean;
|
|
15
|
+
autoResize?: boolean;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
shadowRoot?: ShadowRoot | null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Event controller manages all event handling for textarea components
|
|
21
|
+
* This controller handles:
|
|
22
|
+
* - Input event handling with debouncing
|
|
23
|
+
* - Focus and blur state management
|
|
24
|
+
* - Keyboard interactions (Enter, Escape, etc.)
|
|
25
|
+
* - Clear functionality
|
|
26
|
+
* - Auto-resize functionality
|
|
27
|
+
* - Event dispatching and custom events
|
|
28
|
+
*/
|
|
29
|
+
export declare class TextareaEventController extends BaseTextareaController {
|
|
30
|
+
private _hasFocus;
|
|
31
|
+
private _inputDebounceMs;
|
|
32
|
+
private _inputTimeout?;
|
|
33
|
+
private _clearButtonElement?;
|
|
34
|
+
private _textareaElement?;
|
|
35
|
+
constructor(host: TextareaEventHost & ReactiveControllerHost);
|
|
36
|
+
/**
|
|
37
|
+
* Get the event host with extended interface
|
|
38
|
+
*/
|
|
39
|
+
get eventHost(): TextareaEventHost & ReactiveControllerHost;
|
|
40
|
+
/**
|
|
41
|
+
* Get focus state
|
|
42
|
+
*/
|
|
43
|
+
get hasFocus(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Set input debounce delay
|
|
46
|
+
*/
|
|
47
|
+
setInputDebounce(ms: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Initialize event controller after host is connected
|
|
50
|
+
*/
|
|
51
|
+
hostConnected(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Cleanup event listeners on disconnect
|
|
54
|
+
*/
|
|
55
|
+
hostDisconnected(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Setup event listeners for the textarea
|
|
58
|
+
*/
|
|
59
|
+
setupEventListeners(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Cleanup event listeners
|
|
62
|
+
*/
|
|
63
|
+
cleanupEventListeners(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Handle input event with debouncing
|
|
66
|
+
*/
|
|
67
|
+
handleInput(event: Event): void;
|
|
68
|
+
/**
|
|
69
|
+
* Handle focus event
|
|
70
|
+
*/
|
|
71
|
+
handleFocus(event: FocusEvent): void;
|
|
72
|
+
/**
|
|
73
|
+
* Handle blur event
|
|
74
|
+
*/
|
|
75
|
+
handleBlur(event: FocusEvent): void;
|
|
76
|
+
/**
|
|
77
|
+
* Handle keydown events
|
|
78
|
+
*/
|
|
79
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
80
|
+
/**
|
|
81
|
+
* Handle keyup events
|
|
82
|
+
*/
|
|
83
|
+
handleKeyUp(event: KeyboardEvent): void;
|
|
84
|
+
/**
|
|
85
|
+
* Handle paste events
|
|
86
|
+
*/
|
|
87
|
+
handlePaste(event: ClipboardEvent): void;
|
|
88
|
+
/**
|
|
89
|
+
* Handle clear button click
|
|
90
|
+
*/
|
|
91
|
+
handleClear(event?: Event): void;
|
|
92
|
+
/**
|
|
93
|
+
* Handle auto-resize functionality
|
|
94
|
+
*/
|
|
95
|
+
handleAutoResize(textareaElement?: HTMLTextAreaElement): void;
|
|
96
|
+
/**
|
|
97
|
+
* Focus the textarea programmatically
|
|
98
|
+
*/
|
|
99
|
+
focus(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Blur the textarea programmatically
|
|
102
|
+
*/
|
|
103
|
+
blur(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Select all text in the textarea
|
|
106
|
+
*/
|
|
107
|
+
selectAll(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Set cursor position
|
|
110
|
+
*/
|
|
111
|
+
setCursorPosition(position: number): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get cursor position
|
|
114
|
+
*/
|
|
115
|
+
getCursorPosition(): number;
|
|
116
|
+
/**
|
|
117
|
+
* Add textarea event listeners
|
|
118
|
+
*/
|
|
119
|
+
private addTextareaEventListeners;
|
|
120
|
+
/**
|
|
121
|
+
* Add clear button event listeners
|
|
122
|
+
*/
|
|
123
|
+
private addClearButtonEventListeners;
|
|
124
|
+
/**
|
|
125
|
+
* Handle Escape key press
|
|
126
|
+
*/
|
|
127
|
+
private handleEscape;
|
|
128
|
+
/**
|
|
129
|
+
* Handle submit (Ctrl/Cmd + Enter)
|
|
130
|
+
*/
|
|
131
|
+
private handleSubmit;
|
|
132
|
+
/**
|
|
133
|
+
* Dispatch input event
|
|
134
|
+
*/
|
|
135
|
+
private dispatchInputEvent;
|
|
136
|
+
/**
|
|
137
|
+
* Dispatch focus event
|
|
138
|
+
*/
|
|
139
|
+
private dispatchFocusEvent;
|
|
140
|
+
/**
|
|
141
|
+
* Dispatch blur event
|
|
142
|
+
*/
|
|
143
|
+
private dispatchBlurEvent;
|
|
144
|
+
/**
|
|
145
|
+
* Dispatch keydown event
|
|
146
|
+
*/
|
|
147
|
+
private dispatchKeydownEvent;
|
|
148
|
+
/**
|
|
149
|
+
* Dispatch keyup event
|
|
150
|
+
*/
|
|
151
|
+
private dispatchKeyupEvent;
|
|
152
|
+
/**
|
|
153
|
+
* Dispatch paste event
|
|
154
|
+
*/
|
|
155
|
+
private dispatchPasteEvent;
|
|
156
|
+
/**
|
|
157
|
+
* Dispatch clear event
|
|
158
|
+
*/
|
|
159
|
+
private dispatchClearEvent;
|
|
160
|
+
/**
|
|
161
|
+
* Dispatch escape event
|
|
162
|
+
*/
|
|
163
|
+
private dispatchEscapeEvent;
|
|
164
|
+
/**
|
|
165
|
+
* Dispatch submit event
|
|
166
|
+
*/
|
|
167
|
+
private dispatchSubmitEvent;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=event.controller.d.ts.map
|