@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,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { FocusController } from '../interfaces/focus-controller.interface.js';
|
|
7
|
+
/**
|
|
8
|
+
* Controller that manages focus state and focus handling for radio groups
|
|
9
|
+
* Implements proper focus management with accessibility compliance
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Tracks focused radio option index
|
|
13
|
+
* - Manages focus state transitions
|
|
14
|
+
* - Provides focus/blur methods for programmatic control
|
|
15
|
+
* - Handles roving tabindex for accessibility
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const controller = new RadioFocusController(hostElement);
|
|
20
|
+
* controller.setFocusedOption(1); // Focus second option
|
|
21
|
+
* controller.focus(); // Programmatically focus the group
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare class RadioFocusController implements FocusController {
|
|
25
|
+
private host;
|
|
26
|
+
private _focusedIndex;
|
|
27
|
+
private _hasFocus;
|
|
28
|
+
private boundFocusInHandler;
|
|
29
|
+
private boundFocusOutHandler;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new RadioFocusController instance
|
|
32
|
+
* Sets up event handlers for focus management
|
|
33
|
+
*
|
|
34
|
+
* @param host - The host radio element
|
|
35
|
+
*/
|
|
36
|
+
constructor(host: any);
|
|
37
|
+
/**
|
|
38
|
+
* Called when the host element is connected to the DOM
|
|
39
|
+
* Sets up focus event listeners for the radio group
|
|
40
|
+
*/
|
|
41
|
+
hostConnected(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Called when the host element is disconnected from the DOM
|
|
44
|
+
* Removes focus event listeners to prevent memory leaks
|
|
45
|
+
*/
|
|
46
|
+
hostDisconnected(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Gets the index of the currently focused radio option
|
|
49
|
+
*
|
|
50
|
+
* @returns The focused option index, -1 if none focused
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const index = controller.focusedIndex;
|
|
55
|
+
* console.log(`Option ${index} is focused`);
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
get focusedIndex(): number;
|
|
59
|
+
/**
|
|
60
|
+
* Checks if the radio group currently has focus
|
|
61
|
+
*
|
|
62
|
+
* @returns True if any option in the group has focus, false otherwise
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* if (controller.hasFocus) {
|
|
67
|
+
* console.log('Radio group is focused');
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
get hasFocus(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Sets the focused option by index
|
|
74
|
+
* Updates internal state and triggers re-render if needed
|
|
75
|
+
*
|
|
76
|
+
* @param index - The index of the option to focus
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* controller.setFocusedOption(2); // Focus third option
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
setFocusedOption(index: number): void;
|
|
84
|
+
/**
|
|
85
|
+
* Get the currently focused option index (method version for interface compliance)
|
|
86
|
+
* @returns The focused option index or -1 if none focused
|
|
87
|
+
*/
|
|
88
|
+
getFocusedIndex(): number;
|
|
89
|
+
clearFocus(): void;
|
|
90
|
+
private handleFocusIn;
|
|
91
|
+
private handleFocusOut;
|
|
92
|
+
focus(): void;
|
|
93
|
+
blur(): void;
|
|
94
|
+
private focusOptionAtIndex;
|
|
95
|
+
updateTabIndices(focusedIndex?: number): void;
|
|
96
|
+
hostUpdated(): void;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=focus.controller.d.ts.map
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Controller that manages focus state and focus handling for radio groups
|
|
8
|
+
* Implements proper focus management with accessibility compliance
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Tracks focused radio option index
|
|
12
|
+
* - Manages focus state transitions
|
|
13
|
+
* - Provides focus/blur methods for programmatic control
|
|
14
|
+
* - Handles roving tabindex for accessibility
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const controller = new RadioFocusController(hostElement);
|
|
19
|
+
* controller.setFocusedOption(1); // Focus second option
|
|
20
|
+
* controller.focus(); // Programmatically focus the group
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class RadioFocusController {
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new RadioFocusController instance
|
|
26
|
+
* Sets up event handlers for focus management
|
|
27
|
+
*
|
|
28
|
+
* @param host - The host radio element
|
|
29
|
+
*/
|
|
30
|
+
constructor(host) {
|
|
31
|
+
this._focusedIndex = -1;
|
|
32
|
+
this._hasFocus = false;
|
|
33
|
+
this.host = host;
|
|
34
|
+
this.boundFocusInHandler = this.handleFocusIn.bind(this);
|
|
35
|
+
this.boundFocusOutHandler = this.handleFocusOut.bind(this);
|
|
36
|
+
host.addController(this);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Called when the host element is connected to the DOM
|
|
40
|
+
* Sets up focus event listeners for the radio group
|
|
41
|
+
*/
|
|
42
|
+
hostConnected() {
|
|
43
|
+
this.host.addEventListener('focusin', this.boundFocusInHandler);
|
|
44
|
+
this.host.addEventListener('focusout', this.boundFocusOutHandler);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Called when the host element is disconnected from the DOM
|
|
48
|
+
* Removes focus event listeners to prevent memory leaks
|
|
49
|
+
*/
|
|
50
|
+
hostDisconnected() {
|
|
51
|
+
this.host.removeEventListener('focusin', this.boundFocusInHandler);
|
|
52
|
+
this.host.removeEventListener('focusout', this.boundFocusOutHandler);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets the index of the currently focused radio option
|
|
56
|
+
*
|
|
57
|
+
* @returns The focused option index, -1 if none focused
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const index = controller.focusedIndex;
|
|
62
|
+
* console.log(`Option ${index} is focused`);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
get focusedIndex() {
|
|
66
|
+
return this._focusedIndex;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Checks if the radio group currently has focus
|
|
70
|
+
*
|
|
71
|
+
* @returns True if any option in the group has focus, false otherwise
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* if (controller.hasFocus) {
|
|
76
|
+
* console.log('Radio group is focused');
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
get hasFocus() {
|
|
81
|
+
return this._hasFocus;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Sets the focused option by index
|
|
85
|
+
* Updates internal state and triggers re-render if needed
|
|
86
|
+
*
|
|
87
|
+
* @param index - The index of the option to focus
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* controller.setFocusedOption(2); // Focus third option
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
setFocusedOption(index) {
|
|
95
|
+
const oldIndex = this._focusedIndex;
|
|
96
|
+
this._focusedIndex = index;
|
|
97
|
+
if (oldIndex !== index) {
|
|
98
|
+
this.host.requestUpdate();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get the currently focused option index (method version for interface compliance)
|
|
103
|
+
* @returns The focused option index or -1 if none focused
|
|
104
|
+
*/
|
|
105
|
+
getFocusedIndex() {
|
|
106
|
+
return this._focusedIndex;
|
|
107
|
+
}
|
|
108
|
+
clearFocus() {
|
|
109
|
+
this._focusedIndex = -1;
|
|
110
|
+
this._hasFocus = false;
|
|
111
|
+
this.host.requestUpdate();
|
|
112
|
+
}
|
|
113
|
+
// Event handlers
|
|
114
|
+
handleFocusIn(event) {
|
|
115
|
+
var _a;
|
|
116
|
+
this._hasFocus = true;
|
|
117
|
+
// Determine which option received focus
|
|
118
|
+
const target = event.target;
|
|
119
|
+
if (target && target.matches('input[type="radio"], nr-button[role="radio"]')) {
|
|
120
|
+
const inputs = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('input[type="radio"], nr-button[role="radio"]');
|
|
121
|
+
if (inputs) {
|
|
122
|
+
const index = Array.from(inputs).indexOf(target);
|
|
123
|
+
if (index !== -1) {
|
|
124
|
+
this.setFocusedOption(index);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
this.host.requestUpdate();
|
|
129
|
+
}
|
|
130
|
+
handleFocusOut(event) {
|
|
131
|
+
const relatedTarget = event.relatedTarget;
|
|
132
|
+
const host = this.host;
|
|
133
|
+
// Check if focus is moving outside the radio group
|
|
134
|
+
if (!relatedTarget || !host.contains(relatedTarget)) {
|
|
135
|
+
this._hasFocus = false;
|
|
136
|
+
this.host.requestUpdate();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Programmatic focus methods
|
|
140
|
+
focus() {
|
|
141
|
+
const options = this.host.options;
|
|
142
|
+
const selectedValue = this.host.value;
|
|
143
|
+
// Focus the selected option if one exists
|
|
144
|
+
const selectedIndex = options.findIndex((option) => option.value === selectedValue);
|
|
145
|
+
if (selectedIndex !== -1) {
|
|
146
|
+
this.focusOptionAtIndex(selectedIndex);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Otherwise focus the first non-disabled option
|
|
150
|
+
const firstEnabledIndex = options.findIndex((option) => !option.disabled);
|
|
151
|
+
if (firstEnabledIndex !== -1) {
|
|
152
|
+
this.focusOptionAtIndex(firstEnabledIndex);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
blur() {
|
|
156
|
+
const host = this.host;
|
|
157
|
+
const shadowRoot = host.shadowRoot;
|
|
158
|
+
if (!shadowRoot)
|
|
159
|
+
return;
|
|
160
|
+
// Find and blur any focused radio input or button
|
|
161
|
+
const focusedElement = shadowRoot.querySelector('input[type="radio"]:focus, nr-button[role="radio"]:focus');
|
|
162
|
+
if (focusedElement && typeof focusedElement.blur === 'function') {
|
|
163
|
+
focusedElement.blur();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
focusOptionAtIndex(index) {
|
|
167
|
+
const host = this.host;
|
|
168
|
+
const shadowRoot = host.shadowRoot;
|
|
169
|
+
if (!shadowRoot)
|
|
170
|
+
return;
|
|
171
|
+
// Update tab indices first
|
|
172
|
+
this.updateTabIndices(index);
|
|
173
|
+
// Focus the element at the specified index
|
|
174
|
+
const radioInputs = shadowRoot.querySelectorAll('input[type="radio"]');
|
|
175
|
+
if (radioInputs[index]) {
|
|
176
|
+
radioInputs[index].focus();
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const buttons = shadowRoot.querySelectorAll('nr-button[role="radio"]');
|
|
180
|
+
if (buttons[index]) {
|
|
181
|
+
buttons[index].focus();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Tab index management for proper keyboard navigation
|
|
186
|
+
updateTabIndices(focusedIndex) {
|
|
187
|
+
const host = this.host;
|
|
188
|
+
const shadowRoot = host.shadowRoot;
|
|
189
|
+
if (!shadowRoot)
|
|
190
|
+
return;
|
|
191
|
+
const options = this.host.options;
|
|
192
|
+
const selectedValue = this.host.value;
|
|
193
|
+
// Determine which option should be tabbable
|
|
194
|
+
let tabbableIndex = focusedIndex;
|
|
195
|
+
if (tabbableIndex === undefined) {
|
|
196
|
+
// If no specific index, use selected option or first enabled option
|
|
197
|
+
const selectedIndex = options.findIndex((option) => option.value === selectedValue);
|
|
198
|
+
tabbableIndex = selectedIndex !== -1 ? selectedIndex : options.findIndex((option) => !option.disabled);
|
|
199
|
+
}
|
|
200
|
+
// Update radio inputs
|
|
201
|
+
const radioInputs = shadowRoot.querySelectorAll('input[type="radio"]');
|
|
202
|
+
radioInputs.forEach((input, index) => {
|
|
203
|
+
input.tabIndex = index === tabbableIndex ? 0 : -1;
|
|
204
|
+
});
|
|
205
|
+
// Update buttons (for button-style radio)
|
|
206
|
+
const buttons = shadowRoot.querySelectorAll('nr-button[role="radio"]');
|
|
207
|
+
buttons.forEach((button, index) => {
|
|
208
|
+
button.tabIndex = index === tabbableIndex ? 0 : -1;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
// Method to be called after rendering to update tab indices
|
|
212
|
+
hostUpdated() {
|
|
213
|
+
this.updateTabIndices();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=focus.controller.js.map
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { RadioButtonOption } from '../radio-group.types.js';
|
|
7
|
+
import { SelectionController, RadioHost } from '../interfaces/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Controller that manages radio group state and selection logic
|
|
10
|
+
* Implements type-safe selection operations with proper error handling
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const controller = new RadioGroupController(hostElement);
|
|
15
|
+
* controller.selectOption(option); // Type-safe selection
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class RadioGroupController implements SelectionController {
|
|
19
|
+
readonly host: RadioHost;
|
|
20
|
+
constructor(host: RadioHost & {
|
|
21
|
+
dispatchEvent: (event: Event) => void;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Called when the host element is connected to the DOM
|
|
25
|
+
* Initializes the default selection if provided
|
|
26
|
+
*
|
|
27
|
+
* @fires change - When default value is set automatically
|
|
28
|
+
*/
|
|
29
|
+
hostConnected(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Called when the host element is disconnected from the DOM
|
|
32
|
+
* Performs cleanup operations
|
|
33
|
+
*/
|
|
34
|
+
hostDisconnected(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Selects a radio option and dispatches change events
|
|
37
|
+
* Implements proper error handling for disabled options
|
|
38
|
+
*
|
|
39
|
+
* @param option - The radio option to select
|
|
40
|
+
* @throws {Error} When option is disabled or invalid
|
|
41
|
+
* @fires change - When selection changes successfully
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* controller.selectOption({ value: 'option1', label: 'Option 1' });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
selectOption(option: RadioButtonOption): void;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the currently selected radio option
|
|
51
|
+
*
|
|
52
|
+
* @returns The selected option object or undefined if none selected
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const selected = controller.getSelectedOption();
|
|
57
|
+
* console.log(selected?.label); // "Option 1"
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
getSelectedOption(): RadioButtonOption | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if a specific option is currently selected
|
|
63
|
+
*
|
|
64
|
+
* @param option - The option to check
|
|
65
|
+
* @returns True if the option is selected, false otherwise
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const isSelected = controller.isOptionSelected(option);
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
isOptionSelected(option: RadioButtonOption): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Checks if a specific option is disabled
|
|
75
|
+
* Takes into account both global disabled state and option-specific disabled state
|
|
76
|
+
*
|
|
77
|
+
* @param option - The option to check
|
|
78
|
+
* @returns True if the option is disabled, false otherwise
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* if (!controller.isOptionDisabled(option)) {
|
|
83
|
+
* controller.selectOption(option);
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
isOptionDisabled(option: RadioButtonOption): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Gets form data for native form submission
|
|
90
|
+
* Returns key-value pair suitable for FormData
|
|
91
|
+
*
|
|
92
|
+
* @returns Object with form field name and selected value
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const formData = controller.getFormData();
|
|
97
|
+
* // { "radioGroup": "selectedValue" }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
getFormData(): {
|
|
101
|
+
[key: string]: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Resets the radio group to its default value
|
|
105
|
+
* Triggers re-render to update the UI
|
|
106
|
+
*
|
|
107
|
+
* @fires change - When reset changes the selected value
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* controller.reset(); // Resets to defaultValue or empty
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
reset(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Gets the currently selected value as a string
|
|
117
|
+
* Convenience method for accessing the raw value
|
|
118
|
+
*
|
|
119
|
+
* @returns The selected value string, empty string if none selected
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const value = controller.getSelectedValue();
|
|
124
|
+
* console.log(value); // "option1"
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
getSelectedValue(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Dispatches a change event when selection changes
|
|
130
|
+
* Creates a custom event with detailed information about the change
|
|
131
|
+
*
|
|
132
|
+
* @param option - The newly selected option
|
|
133
|
+
* @param oldValue - The previously selected value
|
|
134
|
+
* @fires change - Custom event with selection details
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
private dispatchChangeEvent;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=group.controller.d.ts.map
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Controller that manages radio group state and selection logic
|
|
8
|
+
* Implements type-safe selection operations with proper error handling
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const controller = new RadioGroupController(hostElement);
|
|
13
|
+
* controller.selectOption(option); // Type-safe selection
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export class RadioGroupController {
|
|
17
|
+
constructor(host) {
|
|
18
|
+
this.host = host;
|
|
19
|
+
host.addController(this);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Called when the host element is connected to the DOM
|
|
23
|
+
* Initializes the default selection if provided
|
|
24
|
+
*
|
|
25
|
+
* @fires change - When default value is set automatically
|
|
26
|
+
*/
|
|
27
|
+
hostConnected() {
|
|
28
|
+
// Initialize default selection if provided
|
|
29
|
+
if (this.host.defaultValue && !this.host.value) {
|
|
30
|
+
const defaultOption = this.host.options.find((opt) => opt.value === this.host.defaultValue);
|
|
31
|
+
if (defaultOption && !this.isOptionDisabled(defaultOption)) {
|
|
32
|
+
this.selectOption(defaultOption);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Called when the host element is disconnected from the DOM
|
|
38
|
+
* Performs cleanup operations
|
|
39
|
+
*/
|
|
40
|
+
hostDisconnected() {
|
|
41
|
+
// Cleanup if needed
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Selects a radio option and dispatches change events
|
|
45
|
+
* Implements proper error handling for disabled options
|
|
46
|
+
*
|
|
47
|
+
* @param option - The radio option to select
|
|
48
|
+
* @throws {Error} When option is disabled or invalid
|
|
49
|
+
* @fires change - When selection changes successfully
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* controller.selectOption({ value: 'option1', label: 'Option 1' });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
selectOption(option) {
|
|
57
|
+
if (this.isOptionDisabled(option)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const oldValue = this.host.value;
|
|
61
|
+
this.host.value = option.value;
|
|
62
|
+
// Dispatch change event
|
|
63
|
+
this.dispatchChangeEvent(option, oldValue);
|
|
64
|
+
this.host.requestUpdate();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Gets the currently selected radio option
|
|
68
|
+
*
|
|
69
|
+
* @returns The selected option object or undefined if none selected
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const selected = controller.getSelectedOption();
|
|
74
|
+
* console.log(selected?.label); // "Option 1"
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
getSelectedOption() {
|
|
78
|
+
return this.host.options.find((option) => option.value === this.host.value);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Checks if a specific option is currently selected
|
|
82
|
+
*
|
|
83
|
+
* @param option - The option to check
|
|
84
|
+
* @returns True if the option is selected, false otherwise
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const isSelected = controller.isOptionSelected(option);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
isOptionSelected(option) {
|
|
92
|
+
return option.value === this.host.value;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Checks if a specific option is disabled
|
|
96
|
+
* Takes into account both global disabled state and option-specific disabled state
|
|
97
|
+
*
|
|
98
|
+
* @param option - The option to check
|
|
99
|
+
* @returns True if the option is disabled, false otherwise
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* if (!controller.isOptionDisabled(option)) {
|
|
104
|
+
* controller.selectOption(option);
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
isOptionDisabled(option) {
|
|
109
|
+
return this.host.disabled || Boolean(option.disabled);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Gets form data for native form submission
|
|
113
|
+
* Returns key-value pair suitable for FormData
|
|
114
|
+
*
|
|
115
|
+
* @returns Object with form field name and selected value
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const formData = controller.getFormData();
|
|
120
|
+
* // { "radioGroup": "selectedValue" }
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
getFormData() {
|
|
124
|
+
return this.host.name ? { [this.host.name]: this.host.value } : {};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Resets the radio group to its default value
|
|
128
|
+
* Triggers re-render to update the UI
|
|
129
|
+
*
|
|
130
|
+
* @fires change - When reset changes the selected value
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* controller.reset(); // Resets to defaultValue or empty
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
reset() {
|
|
138
|
+
this.host.value = this.host.defaultValue || '';
|
|
139
|
+
this.host.requestUpdate();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Gets the currently selected value as a string
|
|
143
|
+
* Convenience method for accessing the raw value
|
|
144
|
+
*
|
|
145
|
+
* @returns The selected value string, empty string if none selected
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* const value = controller.getSelectedValue();
|
|
150
|
+
* console.log(value); // "option1"
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
getSelectedValue() {
|
|
154
|
+
return this.host.value;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Dispatches a change event when selection changes
|
|
158
|
+
* Creates a custom event with detailed information about the change
|
|
159
|
+
*
|
|
160
|
+
* @param option - The newly selected option
|
|
161
|
+
* @param oldValue - The previously selected value
|
|
162
|
+
* @fires change - Custom event with selection details
|
|
163
|
+
*
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
dispatchChangeEvent(option, oldValue) {
|
|
167
|
+
const changeEvent = new CustomEvent('nr-change', {
|
|
168
|
+
detail: {
|
|
169
|
+
value: option.value,
|
|
170
|
+
option: option,
|
|
171
|
+
oldValue: oldValue
|
|
172
|
+
},
|
|
173
|
+
bubbles: true,
|
|
174
|
+
composed: true
|
|
175
|
+
});
|
|
176
|
+
this.host.dispatchEvent(changeEvent);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=group.controller.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export { RadioGroupController } from './group.controller.js';
|
|
7
|
+
export { RadioKeyboardController } from './keyboard.controller.js';
|
|
8
|
+
export { RadioFocusController } from './focus.controller.js';
|
|
9
|
+
export { RadioValidationController } from './validation.controller.js';
|
|
10
|
+
export { RadioRippleController } from './ripple.controller.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
export { RadioGroupController } from './group.controller.js';
|
|
7
|
+
export { RadioKeyboardController } from './keyboard.controller.js';
|
|
8
|
+
export { RadioFocusController } from './focus.controller.js';
|
|
9
|
+
export { RadioValidationController } from './validation.controller.js';
|
|
10
|
+
export { RadioRippleController } from './ripple.controller.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Nuraly, Laabidi Aymen
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { KeyboardController } from '../interfaces/focus-controller.interface.js';
|
|
7
|
+
/**
|
|
8
|
+
* Controller that manages keyboard navigation for radio groups
|
|
9
|
+
* This controller ACTUALLY handles keyboard events instead of being a fake controller
|
|
10
|
+
*/
|
|
11
|
+
export declare class RadioKeyboardController implements KeyboardController {
|
|
12
|
+
private groupController;
|
|
13
|
+
private host;
|
|
14
|
+
private boundKeyDownHandler;
|
|
15
|
+
constructor(host: any, groupController: any);
|
|
16
|
+
hostConnected(): void;
|
|
17
|
+
hostDisconnected(): void;
|
|
18
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
19
|
+
private selectNextOption;
|
|
20
|
+
private selectPreviousOption;
|
|
21
|
+
private selectFirstEnabledOption;
|
|
22
|
+
private selectLastEnabledOption;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=keyboard.controller.d.ts.map
|