@nuraly/lumenui 0.2.1 → 0.3.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/cdn.js +1 -0
- package/dist/nuralyui.bundle.js +3434 -2085
- 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 +1083 -491
- package/dist/src/components/canvas/bundle.js.gz +0 -0
- package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
- package/dist/src/components/canvas/canvas.constants.js +1 -1
- 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.d.ts +7 -0
- package/dist/src/components/canvas/workflow-canvas.component.js +52 -2
- package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
- package/dist/src/components/canvas/workflow-canvas.types.d.ts +8 -1
- package/dist/src/components/canvas/workflow-canvas.types.js +157 -0
- 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/chat-panel/bundle.js +216 -0
- package/dist/src/components/chat-panel/bundle.js.gz +0 -0
- package/dist/src/components/chat-panel/chat-panel.component.d.ts +85 -0
- package/dist/src/components/chat-panel/chat-panel.component.js +510 -0
- package/dist/src/components/chat-panel/chat-panel.style.d.ts +2 -0
- package/dist/src/components/chat-panel/chat-panel.style.js +127 -0
- package/dist/src/components/chat-panel/chat-panel.types.d.ts +54 -0
- package/dist/src/components/chat-panel/chat-panel.types.js +2 -0
- package/dist/src/components/chat-panel/index.d.ts +3 -0
- package/dist/src/components/chat-panel/index.js +2 -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 +555 -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 +55 -0
- package/dist/src/components/presence/presence-chat.component.js +238 -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 +95 -0
- package/dist/src/components/presence/presence.component.js +510 -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 +33 -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/bundle.js +11 -9
- package/dist/src/components/toast/bundle.js.gz +0 -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/toast/toast.component.d.ts +8 -0
- package/dist/src/components/toast/toast.component.js +17 -7
- 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/dist/src/components/video/bundle.js +13 -12
- package/dist/src/components/video/bundle.js.gz +0 -0
- package/dist/src/components/video/video.component.d.ts +15 -1
- package/dist/src/components/video/video.component.js +131 -3
- package/package.json +31 -10
- package/packages/common/dist/VERSIONS.md +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactiveControllerHost } from 'lit';
|
|
7
|
+
import type { NrMenuElement } from '../menu.component.js';
|
|
8
|
+
import type { MenuController } from '../interfaces/index.js';
|
|
9
|
+
import { BaseComponentController } from '@nuralyui/common/controllers';
|
|
10
|
+
/**
|
|
11
|
+
* Base controller class providing common functionality for all menu controllers
|
|
12
|
+
* Handles controller lifecycle, error handling, and event dispatching
|
|
13
|
+
*/
|
|
14
|
+
export declare class BaseMenuController extends BaseComponentController<NrMenuElement & ReactiveControllerHost> implements MenuController {
|
|
15
|
+
/**
|
|
16
|
+
* Dispatch a custom event from the host element
|
|
17
|
+
* @param eventName - Name of the event
|
|
18
|
+
* @param detail - Event detail object
|
|
19
|
+
* @param options - Additional event options
|
|
20
|
+
*/
|
|
21
|
+
protected dispatchMenuEvent(eventName: string, detail?: any, options?: Partial<CustomEventInit>): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Check if host element is disabled
|
|
24
|
+
*/
|
|
25
|
+
protected isDisabled(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Get element by path key
|
|
28
|
+
* @param pathKey - The path key to search for
|
|
29
|
+
*/
|
|
30
|
+
protected getElementByPath(pathKey: string): HTMLElement | null;
|
|
31
|
+
/**
|
|
32
|
+
* Get all menu link elements
|
|
33
|
+
*/
|
|
34
|
+
protected getAllMenuLinks(): HTMLElement[];
|
|
35
|
+
/**
|
|
36
|
+
* Check if element is visible and not disabled
|
|
37
|
+
* @param element - The element to check
|
|
38
|
+
*/
|
|
39
|
+
protected isElementInteractive(element: HTMLElement | null): boolean;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=base.controller.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseComponentController } from '@nuralyui/common/controllers';
|
|
7
|
+
/**
|
|
8
|
+
* Base controller class providing common functionality for all menu controllers
|
|
9
|
+
* Handles controller lifecycle, error handling, and event dispatching
|
|
10
|
+
*/
|
|
11
|
+
export class BaseMenuController extends BaseComponentController {
|
|
12
|
+
/**
|
|
13
|
+
* Dispatch a custom event from the host element
|
|
14
|
+
* @param eventName - Name of the event
|
|
15
|
+
* @param detail - Event detail object
|
|
16
|
+
* @param options - Additional event options
|
|
17
|
+
*/
|
|
18
|
+
dispatchMenuEvent(eventName, detail, options = {}) {
|
|
19
|
+
try {
|
|
20
|
+
const event = new CustomEvent(eventName, Object.assign({ detail, bubbles: true, composed: true, cancelable: true }, options));
|
|
21
|
+
return this._host.dispatchEvent(event);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
this.handleError(error, 'dispatchEvent');
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if host element is disabled
|
|
30
|
+
*/
|
|
31
|
+
isDisabled() {
|
|
32
|
+
return false; // Menu doesn't have a disabled property at component level
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get element by path key
|
|
36
|
+
* @param pathKey - The path key to search for
|
|
37
|
+
*/
|
|
38
|
+
getElementByPath(pathKey) {
|
|
39
|
+
var _a;
|
|
40
|
+
return ((_a = this._host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-path="${pathKey}"]`)) || null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get all menu link elements
|
|
44
|
+
*/
|
|
45
|
+
getAllMenuLinks() {
|
|
46
|
+
var _a;
|
|
47
|
+
return Array.from(((_a = this._host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.menu-link, .sub-menu')) || []);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if element is visible and not disabled
|
|
51
|
+
* @param element - The element to check
|
|
52
|
+
*/
|
|
53
|
+
isElementInteractive(element) {
|
|
54
|
+
if (!element)
|
|
55
|
+
return false;
|
|
56
|
+
const isDisabled = element.classList.contains('disabled');
|
|
57
|
+
const isVisible = element.offsetParent !== null;
|
|
58
|
+
return !isDisabled && isVisible;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=base.controller.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export * from './base.controller.js';
|
|
7
|
+
export * from './state.controller.js';
|
|
8
|
+
export * from './keyboard.controller.js';
|
|
9
|
+
export * from './accessibility.controller.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export * from './base.controller.js';
|
|
7
|
+
export * from './state.controller.js';
|
|
8
|
+
export * from './keyboard.controller.js';
|
|
9
|
+
export * from './accessibility.controller.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseMenuController } from './base.controller.js';
|
|
7
|
+
import type { MenuKeyboardController } from '../interfaces/index.js';
|
|
8
|
+
import type { StateController } from './state.controller.js';
|
|
9
|
+
/**
|
|
10
|
+
* Keyboard controller manages keyboard navigation for the menu component
|
|
11
|
+
* Handles arrow keys, Enter/Space, Escape, Home/End, and type-ahead search
|
|
12
|
+
*/
|
|
13
|
+
export declare class KeyboardController extends BaseMenuController implements MenuKeyboardController {
|
|
14
|
+
private stateController;
|
|
15
|
+
private typeAheadBuffer;
|
|
16
|
+
private typeAheadTimeout;
|
|
17
|
+
private currentFocusIndex;
|
|
18
|
+
constructor(host: any, stateController: StateController);
|
|
19
|
+
hostConnected(): void;
|
|
20
|
+
hostDisconnected(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Main keydown handler - routes to specific handlers
|
|
23
|
+
* @param event - The keyboard event
|
|
24
|
+
*/
|
|
25
|
+
handleKeydown(event: KeyboardEvent): void;
|
|
26
|
+
/**
|
|
27
|
+
* Handle arrow key navigation
|
|
28
|
+
* @param event - The keyboard event
|
|
29
|
+
*/
|
|
30
|
+
handleArrowNavigation(event: KeyboardEvent): void;
|
|
31
|
+
/**
|
|
32
|
+
* Navigate down to the next interactive item
|
|
33
|
+
* @param items - All menu items
|
|
34
|
+
* @param currentIndex - Current focused item index
|
|
35
|
+
*/
|
|
36
|
+
private navigateDown;
|
|
37
|
+
/**
|
|
38
|
+
* Navigate up to the previous interactive item
|
|
39
|
+
* @param items - All menu items
|
|
40
|
+
* @param currentIndex - Current focused item index
|
|
41
|
+
*/
|
|
42
|
+
private navigateUp;
|
|
43
|
+
/**
|
|
44
|
+
* Expand submenu or navigate into it (ArrowRight)
|
|
45
|
+
* @param element - The current element
|
|
46
|
+
*/
|
|
47
|
+
private expandOrNavigate;
|
|
48
|
+
/**
|
|
49
|
+
* Collapse submenu or navigate out of it (ArrowLeft)
|
|
50
|
+
* @param element - The current element
|
|
51
|
+
*/
|
|
52
|
+
private collapseOrNavigate;
|
|
53
|
+
/**
|
|
54
|
+
* Handle Enter or Space key activation
|
|
55
|
+
* @param event - The keyboard event
|
|
56
|
+
*/
|
|
57
|
+
handleActivation(event: KeyboardEvent): void;
|
|
58
|
+
/**
|
|
59
|
+
* Handle Escape key - close all submenus
|
|
60
|
+
* @param event - The keyboard event
|
|
61
|
+
*/
|
|
62
|
+
handleEscape(event: KeyboardEvent): void;
|
|
63
|
+
/**
|
|
64
|
+
* Handle Home/End keys - jump to first/last item
|
|
65
|
+
* @param event - The keyboard event
|
|
66
|
+
*/
|
|
67
|
+
private handleHomeEnd;
|
|
68
|
+
/**
|
|
69
|
+
* Handle type-ahead search - type letters to jump to items
|
|
70
|
+
* @param event - The keyboard event
|
|
71
|
+
*/
|
|
72
|
+
handleTypeAhead(event: KeyboardEvent): void;
|
|
73
|
+
/**
|
|
74
|
+
* Check if an element's text matches the type-ahead buffer
|
|
75
|
+
* @param element - The element to check
|
|
76
|
+
* @returns True if the element matches
|
|
77
|
+
*/
|
|
78
|
+
private matchesTypeAhead;
|
|
79
|
+
/**
|
|
80
|
+
* Reset the type-ahead buffer
|
|
81
|
+
*/
|
|
82
|
+
resetTypeAhead(): void;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=keyboard.controller.d.ts.map
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseMenuController } from './base.controller.js';
|
|
7
|
+
/**
|
|
8
|
+
* Keyboard controller manages keyboard navigation for the menu component
|
|
9
|
+
* Handles arrow keys, Enter/Space, Escape, Home/End, and type-ahead search
|
|
10
|
+
*/
|
|
11
|
+
export class KeyboardController extends BaseMenuController {
|
|
12
|
+
constructor(host, stateController) {
|
|
13
|
+
super(host);
|
|
14
|
+
this.typeAheadBuffer = '';
|
|
15
|
+
this.typeAheadTimeout = null;
|
|
16
|
+
this.currentFocusIndex = -1;
|
|
17
|
+
this.stateController = stateController;
|
|
18
|
+
}
|
|
19
|
+
hostConnected() {
|
|
20
|
+
this.host.addEventListener('keydown', this.handleKeydown.bind(this));
|
|
21
|
+
}
|
|
22
|
+
hostDisconnected() {
|
|
23
|
+
this.host.removeEventListener('keydown', this.handleKeydown.bind(this));
|
|
24
|
+
if (this.typeAheadTimeout) {
|
|
25
|
+
clearTimeout(this.typeAheadTimeout);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Main keydown handler - routes to specific handlers
|
|
30
|
+
* @param event - The keyboard event
|
|
31
|
+
*/
|
|
32
|
+
handleKeydown(event) {
|
|
33
|
+
try {
|
|
34
|
+
// Skip keyboard handling when editing (input or contenteditable is focused)
|
|
35
|
+
const target = event.target;
|
|
36
|
+
if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {
|
|
37
|
+
return; // Let the input handle the event
|
|
38
|
+
}
|
|
39
|
+
const key = event.key;
|
|
40
|
+
// Arrow navigation
|
|
41
|
+
if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) {
|
|
42
|
+
this.handleArrowNavigation(event);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Activation keys
|
|
46
|
+
if (key === 'Enter' || key === ' ') {
|
|
47
|
+
this.handleActivation(event);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Escape key
|
|
51
|
+
if (key === 'Escape') {
|
|
52
|
+
this.handleEscape(event);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Home/End keys
|
|
56
|
+
if (key === 'Home' || key === 'End') {
|
|
57
|
+
this.handleHomeEnd(event);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Type-ahead search
|
|
61
|
+
if (key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
62
|
+
this.handleTypeAhead(event);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
this.handleError(error, 'handleKeydown');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Handle arrow key navigation
|
|
72
|
+
* @param event - The keyboard event
|
|
73
|
+
*/
|
|
74
|
+
handleArrowNavigation(event) {
|
|
75
|
+
var _a;
|
|
76
|
+
try {
|
|
77
|
+
event.preventDefault();
|
|
78
|
+
const menuItems = this.getAllMenuLinks();
|
|
79
|
+
const activeElement = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
80
|
+
const currentIndex = menuItems.indexOf(activeElement);
|
|
81
|
+
switch (event.key) {
|
|
82
|
+
case 'ArrowDown':
|
|
83
|
+
this.navigateDown(menuItems, currentIndex);
|
|
84
|
+
break;
|
|
85
|
+
case 'ArrowUp':
|
|
86
|
+
this.navigateUp(menuItems, currentIndex);
|
|
87
|
+
break;
|
|
88
|
+
case 'ArrowRight':
|
|
89
|
+
this.expandOrNavigate(activeElement);
|
|
90
|
+
break;
|
|
91
|
+
case 'ArrowLeft':
|
|
92
|
+
this.collapseOrNavigate(activeElement);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
this.dispatchMenuEvent('keyboard-navigation', {
|
|
96
|
+
key: event.key,
|
|
97
|
+
currentIndex,
|
|
98
|
+
timestamp: Date.now(),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
this.handleError(error, 'handleArrowNavigation');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Navigate down to the next interactive item
|
|
107
|
+
* @param items - All menu items
|
|
108
|
+
* @param currentIndex - Current focused item index
|
|
109
|
+
*/
|
|
110
|
+
navigateDown(items, currentIndex) {
|
|
111
|
+
let nextIndex = currentIndex + 1;
|
|
112
|
+
while (nextIndex < items.length) {
|
|
113
|
+
const nextItem = items[nextIndex];
|
|
114
|
+
if (this.isElementInteractive(nextItem)) {
|
|
115
|
+
nextItem.focus();
|
|
116
|
+
this.currentFocusIndex = nextIndex;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
nextIndex++;
|
|
120
|
+
}
|
|
121
|
+
// Wrap to first item
|
|
122
|
+
if (currentIndex >= 0) {
|
|
123
|
+
for (let i = 0; i < items.length; i++) {
|
|
124
|
+
if (this.isElementInteractive(items[i])) {
|
|
125
|
+
items[i].focus();
|
|
126
|
+
this.currentFocusIndex = i;
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Navigate up to the previous interactive item
|
|
134
|
+
* @param items - All menu items
|
|
135
|
+
* @param currentIndex - Current focused item index
|
|
136
|
+
*/
|
|
137
|
+
navigateUp(items, currentIndex) {
|
|
138
|
+
let prevIndex = currentIndex - 1;
|
|
139
|
+
while (prevIndex >= 0) {
|
|
140
|
+
const prevItem = items[prevIndex];
|
|
141
|
+
if (this.isElementInteractive(prevItem)) {
|
|
142
|
+
prevItem.focus();
|
|
143
|
+
this.currentFocusIndex = prevIndex;
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
prevIndex--;
|
|
147
|
+
}
|
|
148
|
+
// Wrap to last item
|
|
149
|
+
if (currentIndex >= 0) {
|
|
150
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
151
|
+
if (this.isElementInteractive(items[i])) {
|
|
152
|
+
items[i].focus();
|
|
153
|
+
this.currentFocusIndex = i;
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Expand submenu or navigate into it (ArrowRight)
|
|
161
|
+
* @param element - The current element
|
|
162
|
+
*/
|
|
163
|
+
expandOrNavigate(element) {
|
|
164
|
+
if (!element)
|
|
165
|
+
return;
|
|
166
|
+
if (element.classList.contains('sub-menu')) {
|
|
167
|
+
const pathKey = element.getAttribute('data-path');
|
|
168
|
+
if (pathKey) {
|
|
169
|
+
const path = pathKey.split('-').map(Number);
|
|
170
|
+
this.stateController.openSubMenu(path);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Collapse submenu or navigate out of it (ArrowLeft)
|
|
176
|
+
* @param element - The current element
|
|
177
|
+
*/
|
|
178
|
+
collapseOrNavigate(element) {
|
|
179
|
+
if (!element)
|
|
180
|
+
return;
|
|
181
|
+
if (element.classList.contains('sub-menu')) {
|
|
182
|
+
const pathKey = element.getAttribute('data-path');
|
|
183
|
+
if (pathKey) {
|
|
184
|
+
const path = pathKey.split('-').map(Number);
|
|
185
|
+
this.stateController.closeSubMenu(path);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Handle Enter or Space key activation
|
|
191
|
+
* @param event - The keyboard event
|
|
192
|
+
*/
|
|
193
|
+
handleActivation(event) {
|
|
194
|
+
var _a;
|
|
195
|
+
try {
|
|
196
|
+
event.preventDefault();
|
|
197
|
+
const activeElement = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
|
|
198
|
+
if (!activeElement || !this.isElementInteractive(activeElement)) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Simulate click on the active element
|
|
202
|
+
activeElement.click();
|
|
203
|
+
this.dispatchMenuEvent('keyboard-activation', {
|
|
204
|
+
key: event.key,
|
|
205
|
+
element: activeElement,
|
|
206
|
+
timestamp: Date.now(),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
this.handleError(error, 'handleActivation');
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Handle Escape key - close all submenus
|
|
215
|
+
* @param event - The keyboard event
|
|
216
|
+
*/
|
|
217
|
+
handleEscape(event) {
|
|
218
|
+
try {
|
|
219
|
+
event.preventDefault();
|
|
220
|
+
this.stateController.closeAllSubMenus();
|
|
221
|
+
this.dispatchMenuEvent('keyboard-escape', {
|
|
222
|
+
timestamp: Date.now(),
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
this.handleError(error, 'handleEscape');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Handle Home/End keys - jump to first/last item
|
|
231
|
+
* @param event - The keyboard event
|
|
232
|
+
*/
|
|
233
|
+
handleHomeEnd(event) {
|
|
234
|
+
try {
|
|
235
|
+
event.preventDefault();
|
|
236
|
+
const menuItems = this.getAllMenuLinks();
|
|
237
|
+
const targetItems = menuItems.filter(item => this.isElementInteractive(item));
|
|
238
|
+
if (targetItems.length === 0)
|
|
239
|
+
return;
|
|
240
|
+
if (event.key === 'Home') {
|
|
241
|
+
targetItems[0].focus();
|
|
242
|
+
this.currentFocusIndex = menuItems.indexOf(targetItems[0]);
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
const lastItem = targetItems[targetItems.length - 1];
|
|
246
|
+
lastItem.focus();
|
|
247
|
+
this.currentFocusIndex = menuItems.indexOf(lastItem);
|
|
248
|
+
}
|
|
249
|
+
this.dispatchMenuEvent('keyboard-home-end', {
|
|
250
|
+
key: event.key,
|
|
251
|
+
timestamp: Date.now(),
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
this.handleError(error, 'handleHomeEnd');
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Handle type-ahead search - type letters to jump to items
|
|
260
|
+
* @param event - The keyboard event
|
|
261
|
+
*/
|
|
262
|
+
handleTypeAhead(event) {
|
|
263
|
+
try {
|
|
264
|
+
event.preventDefault();
|
|
265
|
+
// Clear previous timeout
|
|
266
|
+
if (this.typeAheadTimeout) {
|
|
267
|
+
clearTimeout(this.typeAheadTimeout);
|
|
268
|
+
}
|
|
269
|
+
// Add character to buffer
|
|
270
|
+
this.typeAheadBuffer += event.key.toLowerCase();
|
|
271
|
+
// Set timeout to clear buffer
|
|
272
|
+
this.typeAheadTimeout = window.setTimeout(() => {
|
|
273
|
+
this.typeAheadBuffer = '';
|
|
274
|
+
this.typeAheadTimeout = null;
|
|
275
|
+
}, 500);
|
|
276
|
+
// Find matching item
|
|
277
|
+
const menuItems = this.getAllMenuLinks();
|
|
278
|
+
const currentIndex = this.currentFocusIndex >= 0 ? this.currentFocusIndex : -1;
|
|
279
|
+
// Search from current position forward
|
|
280
|
+
for (let i = currentIndex + 1; i < menuItems.length; i++) {
|
|
281
|
+
if (this.matchesTypeAhead(menuItems[i])) {
|
|
282
|
+
menuItems[i].focus();
|
|
283
|
+
this.currentFocusIndex = i;
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// Wrap around and search from beginning
|
|
288
|
+
for (let i = 0; i <= currentIndex; i++) {
|
|
289
|
+
if (this.matchesTypeAhead(menuItems[i])) {
|
|
290
|
+
menuItems[i].focus();
|
|
291
|
+
this.currentFocusIndex = i;
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
this.dispatchMenuEvent('keyboard-typeahead', {
|
|
296
|
+
buffer: this.typeAheadBuffer,
|
|
297
|
+
timestamp: Date.now(),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
this.handleError(error, 'handleTypeAhead');
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Check if an element's text matches the type-ahead buffer
|
|
306
|
+
* @param element - The element to check
|
|
307
|
+
* @returns True if the element matches
|
|
308
|
+
*/
|
|
309
|
+
matchesTypeAhead(element) {
|
|
310
|
+
var _a;
|
|
311
|
+
if (!this.isElementInteractive(element)) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
const text = ((_a = element.textContent) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase()) || '';
|
|
315
|
+
return text.startsWith(this.typeAheadBuffer);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Reset the type-ahead buffer
|
|
319
|
+
*/
|
|
320
|
+
resetTypeAhead() {
|
|
321
|
+
this.typeAheadBuffer = '';
|
|
322
|
+
if (this.typeAheadTimeout) {
|
|
323
|
+
clearTimeout(this.typeAheadTimeout);
|
|
324
|
+
this.typeAheadTimeout = null;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=keyboard.controller.js.map
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { BaseMenuController } from './base.controller.js';
|
|
7
|
+
import type { MenuStateController } from '../interfaces/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* State controller manages all state for the menu component
|
|
10
|
+
* Centralizes state management for selection, submenus, hover, and highlight states
|
|
11
|
+
*/
|
|
12
|
+
export declare class StateController extends BaseMenuController implements MenuStateController {
|
|
13
|
+
private _selectedPath;
|
|
14
|
+
private _openSubMenus;
|
|
15
|
+
private _hoveredSubMenus;
|
|
16
|
+
private _highlightedSubMenus;
|
|
17
|
+
/**
|
|
18
|
+
* Get the currently selected path
|
|
19
|
+
*/
|
|
20
|
+
get selectedPath(): number[];
|
|
21
|
+
/**
|
|
22
|
+
* Set the currently selected path
|
|
23
|
+
*/
|
|
24
|
+
set selectedPath(path: number[]);
|
|
25
|
+
/**
|
|
26
|
+
* Get the set of open submenu paths
|
|
27
|
+
*/
|
|
28
|
+
get openSubMenus(): Set<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Get the set of hovered submenu paths
|
|
31
|
+
*/
|
|
32
|
+
get hoveredSubMenus(): Set<string>;
|
|
33
|
+
/**
|
|
34
|
+
* Get the set of highlighted submenu paths
|
|
35
|
+
*/
|
|
36
|
+
get highlightedSubMenus(): Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Set the selected path and trigger update
|
|
39
|
+
* @param path - The path to select
|
|
40
|
+
*/
|
|
41
|
+
setSelectedPath(path: number[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Toggle a submenu open/closed state
|
|
44
|
+
* @param path - The path to the submenu
|
|
45
|
+
*/
|
|
46
|
+
toggleSubMenu(path: number[]): void;
|
|
47
|
+
/**
|
|
48
|
+
* Open a submenu
|
|
49
|
+
* @param path - The path to the submenu
|
|
50
|
+
*/
|
|
51
|
+
openSubMenu(path: number[]): void;
|
|
52
|
+
/**
|
|
53
|
+
* Close a submenu
|
|
54
|
+
* @param path - The path to the submenu
|
|
55
|
+
*/
|
|
56
|
+
closeSubMenu(path: number[]): void;
|
|
57
|
+
/**
|
|
58
|
+
* Close all open submenus
|
|
59
|
+
*/
|
|
60
|
+
closeAllSubMenus(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Set the hovered state of a submenu
|
|
63
|
+
* @param path - The path to the submenu
|
|
64
|
+
* @param hovered - Whether the submenu is hovered
|
|
65
|
+
*/
|
|
66
|
+
setHovered(path: number[], hovered: boolean): void;
|
|
67
|
+
/**
|
|
68
|
+
* Set the highlighted state of a submenu
|
|
69
|
+
* @param path - The path to the submenu
|
|
70
|
+
* @param highlighted - Whether the submenu is highlighted
|
|
71
|
+
*/
|
|
72
|
+
setHighlighted(path: number[], highlighted: boolean): void;
|
|
73
|
+
/**
|
|
74
|
+
* Clear all highlighted states
|
|
75
|
+
*/
|
|
76
|
+
clearHighlights(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a path is currently selected
|
|
79
|
+
* @param path - The path to check
|
|
80
|
+
* @returns True if the path is selected
|
|
81
|
+
*/
|
|
82
|
+
isPathSelected(path: number[]): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Check if a submenu is open
|
|
85
|
+
* @param path - The path to check
|
|
86
|
+
* @returns True if the submenu is open
|
|
87
|
+
*/
|
|
88
|
+
isSubMenuOpen(path: number[]): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Check if a submenu is hovered
|
|
91
|
+
* @param path - The path to check
|
|
92
|
+
* @returns True if the submenu is hovered
|
|
93
|
+
*/
|
|
94
|
+
isSubMenuHovered(path: number[]): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Check if a submenu is highlighted
|
|
97
|
+
* @param path - The path to check
|
|
98
|
+
* @returns True if the submenu is highlighted
|
|
99
|
+
*/
|
|
100
|
+
isSubMenuHighlighted(path: number[]): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Reset all state to initial values
|
|
103
|
+
*/
|
|
104
|
+
reset(): void;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=state.controller.d.ts.map
|