@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
|
@@ -17,12 +17,18 @@ export var WorkflowNodeType;
|
|
|
17
17
|
WorkflowNodeType["HTTP_END"] = "HTTP_END";
|
|
18
18
|
WorkflowNodeType["CHAT_START"] = "CHAT_START";
|
|
19
19
|
WorkflowNodeType["CHAT_OUTPUT"] = "CHAT_OUTPUT";
|
|
20
|
+
WorkflowNodeType["SOCIAL_POST"] = "SOCIAL_POST";
|
|
20
21
|
WorkflowNodeType["FUNCTION"] = "FUNCTION";
|
|
21
22
|
WorkflowNodeType["HTTP"] = "HTTP";
|
|
22
23
|
WorkflowNodeType["CONDITION"] = "CONDITION";
|
|
24
|
+
WorkflowNodeType["SWITCH"] = "SWITCH";
|
|
23
25
|
WorkflowNodeType["DELAY"] = "DELAY";
|
|
24
26
|
WorkflowNodeType["PARALLEL"] = "PARALLEL";
|
|
27
|
+
WorkflowNodeType["MERGE"] = "MERGE";
|
|
25
28
|
WorkflowNodeType["LOOP"] = "LOOP";
|
|
29
|
+
WorkflowNodeType["BREAK"] = "BREAK";
|
|
30
|
+
WorkflowNodeType["WAIT"] = "WAIT";
|
|
31
|
+
WorkflowNodeType["TRY_CATCH"] = "TRY_CATCH";
|
|
26
32
|
WorkflowNodeType["TRANSFORM"] = "TRANSFORM";
|
|
27
33
|
WorkflowNodeType["SUB_WORKFLOW"] = "SUB_WORKFLOW";
|
|
28
34
|
WorkflowNodeType["EMAIL"] = "EMAIL";
|
|
@@ -104,6 +110,8 @@ export var WorkflowNodeType;
|
|
|
104
110
|
// Annotation nodes
|
|
105
111
|
WorkflowNodeType["NOTE"] = "NOTE";
|
|
106
112
|
WorkflowNodeType["FRAME"] = "FRAME";
|
|
113
|
+
// Cron/scheduled trigger
|
|
114
|
+
WorkflowNodeType["CRON"] = "CRON";
|
|
107
115
|
})(WorkflowNodeType || (WorkflowNodeType = {}));
|
|
108
116
|
/**
|
|
109
117
|
* Node types for agent-based workflows
|
|
@@ -231,12 +239,18 @@ export const NODE_COLORS = {
|
|
|
231
239
|
[WorkflowNodeType.HTTP_END]: '#dc2626',
|
|
232
240
|
[WorkflowNodeType.CHAT_START]: '#0ea5e9',
|
|
233
241
|
[WorkflowNodeType.CHAT_OUTPUT]: '#06b6d4',
|
|
242
|
+
[WorkflowNodeType.SOCIAL_POST]: '#7c3aed',
|
|
234
243
|
[WorkflowNodeType.FUNCTION]: '#3b82f6',
|
|
235
244
|
[WorkflowNodeType.HTTP]: '#8b5cf6',
|
|
236
245
|
[WorkflowNodeType.CONDITION]: '#f59e0b',
|
|
246
|
+
[WorkflowNodeType.SWITCH]: '#eab308',
|
|
237
247
|
[WorkflowNodeType.DELAY]: '#6b7280',
|
|
238
248
|
[WorkflowNodeType.PARALLEL]: '#06b6d4',
|
|
249
|
+
[WorkflowNodeType.MERGE]: '#0891b2',
|
|
239
250
|
[WorkflowNodeType.LOOP]: '#ec4899',
|
|
251
|
+
[WorkflowNodeType.BREAK]: '#991b1b',
|
|
252
|
+
[WorkflowNodeType.WAIT]: '#a78bfa',
|
|
253
|
+
[WorkflowNodeType.TRY_CATCH]: '#f43f5e',
|
|
240
254
|
[WorkflowNodeType.TRANSFORM]: '#14b8a6',
|
|
241
255
|
[WorkflowNodeType.SUB_WORKFLOW]: '#6366f1',
|
|
242
256
|
[WorkflowNodeType.EMAIL]: '#f97316',
|
|
@@ -318,6 +332,8 @@ export const NODE_COLORS = {
|
|
|
318
332
|
// Annotation nodes
|
|
319
333
|
[WorkflowNodeType.NOTE]: '#fef08a',
|
|
320
334
|
[WorkflowNodeType.FRAME]: '#6366f1',
|
|
335
|
+
// Cron/scheduled trigger
|
|
336
|
+
[WorkflowNodeType.CRON]: '#d97706',
|
|
321
337
|
// Agent nodes
|
|
322
338
|
[AgentNodeType.AGENT]: '#10b981',
|
|
323
339
|
[AgentNodeType.TOOL]: '#0ea5e9',
|
|
@@ -369,12 +385,18 @@ export const NODE_ICONS = {
|
|
|
369
385
|
[WorkflowNodeType.HTTP_END]: 'upload',
|
|
370
386
|
[WorkflowNodeType.CHAT_START]: 'message-circle',
|
|
371
387
|
[WorkflowNodeType.CHAT_OUTPUT]: 'message-square',
|
|
388
|
+
[WorkflowNodeType.SOCIAL_POST]: 'send',
|
|
372
389
|
[WorkflowNodeType.FUNCTION]: 'code',
|
|
373
390
|
[WorkflowNodeType.HTTP]: 'globe',
|
|
374
391
|
[WorkflowNodeType.CONDITION]: 'git-branch',
|
|
392
|
+
[WorkflowNodeType.SWITCH]: 'git-fork',
|
|
375
393
|
[WorkflowNodeType.DELAY]: 'clock',
|
|
376
394
|
[WorkflowNodeType.PARALLEL]: 'git-merge',
|
|
395
|
+
[WorkflowNodeType.MERGE]: 'merge',
|
|
377
396
|
[WorkflowNodeType.LOOP]: 'repeat',
|
|
397
|
+
[WorkflowNodeType.BREAK]: 'circle-stop',
|
|
398
|
+
[WorkflowNodeType.WAIT]: 'hourglass',
|
|
399
|
+
[WorkflowNodeType.TRY_CATCH]: 'shield-alert',
|
|
378
400
|
[WorkflowNodeType.TRANSFORM]: 'shuffle',
|
|
379
401
|
[WorkflowNodeType.SUB_WORKFLOW]: 'layers',
|
|
380
402
|
[WorkflowNodeType.EMAIL]: 'mail',
|
|
@@ -456,6 +478,8 @@ export const NODE_ICONS = {
|
|
|
456
478
|
// Annotation nodes
|
|
457
479
|
[WorkflowNodeType.NOTE]: 'sticky-note',
|
|
458
480
|
[WorkflowNodeType.FRAME]: 'square',
|
|
481
|
+
// Cron/scheduled trigger
|
|
482
|
+
[WorkflowNodeType.CRON]: 'timer',
|
|
459
483
|
// Agent nodes
|
|
460
484
|
[AgentNodeType.AGENT]: 'cpu',
|
|
461
485
|
[AgentNodeType.TOOL]: 'tool',
|
|
@@ -612,6 +636,24 @@ export const NODE_TEMPLATES = [
|
|
|
612
636
|
outputs: [{ id: 'out', type: PortType.OUTPUT, label: 'Output' }],
|
|
613
637
|
},
|
|
614
638
|
},
|
|
639
|
+
{
|
|
640
|
+
type: WorkflowNodeType.SOCIAL_POST,
|
|
641
|
+
name: 'Social Post',
|
|
642
|
+
description: 'Post to social feed on behalf of an agent',
|
|
643
|
+
icon: NODE_ICONS[WorkflowNodeType.SOCIAL_POST],
|
|
644
|
+
color: NODE_COLORS[WorkflowNodeType.SOCIAL_POST],
|
|
645
|
+
category: 'action',
|
|
646
|
+
defaultConfig: {
|
|
647
|
+
agentId: '',
|
|
648
|
+
content: '${variables.response}',
|
|
649
|
+
mediaUrl: '',
|
|
650
|
+
mediaType: '',
|
|
651
|
+
},
|
|
652
|
+
defaultPorts: {
|
|
653
|
+
inputs: [{ id: 'in', type: PortType.INPUT, label: 'Input' }],
|
|
654
|
+
outputs: [{ id: 'out', type: PortType.OUTPUT, label: 'Output' }],
|
|
655
|
+
},
|
|
656
|
+
},
|
|
615
657
|
{
|
|
616
658
|
type: WorkflowNodeType.LLM,
|
|
617
659
|
name: 'LLM',
|
|
@@ -772,6 +814,92 @@ export const NODE_TEMPLATES = [
|
|
|
772
814
|
],
|
|
773
815
|
},
|
|
774
816
|
},
|
|
817
|
+
{
|
|
818
|
+
type: WorkflowNodeType.SWITCH,
|
|
819
|
+
name: 'Switch',
|
|
820
|
+
description: 'Route to a branch based on a value',
|
|
821
|
+
icon: NODE_ICONS[WorkflowNodeType.SWITCH],
|
|
822
|
+
color: NODE_COLORS[WorkflowNodeType.SWITCH],
|
|
823
|
+
category: 'control',
|
|
824
|
+
defaultConfig: {
|
|
825
|
+
expression: '',
|
|
826
|
+
language: 'javascript',
|
|
827
|
+
cases: [
|
|
828
|
+
{ value: 'case1', label: 'Case 1' },
|
|
829
|
+
{ value: 'case2', label: 'Case 2' },
|
|
830
|
+
],
|
|
831
|
+
includeDefault: true,
|
|
832
|
+
},
|
|
833
|
+
defaultPorts: {
|
|
834
|
+
inputs: [{ id: 'in', type: PortType.INPUT, label: 'Input' }],
|
|
835
|
+
outputs: [
|
|
836
|
+
{ id: 'case1', type: PortType.OUTPUT, label: 'Case 1' },
|
|
837
|
+
{ id: 'case2', type: PortType.OUTPUT, label: 'Case 2' },
|
|
838
|
+
{ id: 'default', type: PortType.CONDITIONAL_DEFAULT, label: 'Default' },
|
|
839
|
+
],
|
|
840
|
+
},
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
type: WorkflowNodeType.MERGE,
|
|
844
|
+
name: 'Merge',
|
|
845
|
+
description: 'Join multiple branches into one',
|
|
846
|
+
icon: NODE_ICONS[WorkflowNodeType.MERGE],
|
|
847
|
+
color: NODE_COLORS[WorkflowNodeType.MERGE],
|
|
848
|
+
category: 'control',
|
|
849
|
+
defaultConfig: { mode: 'waitAll' },
|
|
850
|
+
defaultPorts: {
|
|
851
|
+
inputs: [
|
|
852
|
+
{ id: 'in1', type: PortType.INPUT, label: 'Input 1', multiple: true },
|
|
853
|
+
{ id: 'in2', type: PortType.INPUT, label: 'Input 2', multiple: true },
|
|
854
|
+
],
|
|
855
|
+
outputs: [{ id: 'out', type: PortType.OUTPUT, label: 'Output' }],
|
|
856
|
+
},
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
type: WorkflowNodeType.WAIT,
|
|
860
|
+
name: 'Wait',
|
|
861
|
+
description: 'Pause until a signal or event is received',
|
|
862
|
+
icon: NODE_ICONS[WorkflowNodeType.WAIT],
|
|
863
|
+
color: NODE_COLORS[WorkflowNodeType.WAIT],
|
|
864
|
+
category: 'control',
|
|
865
|
+
defaultConfig: { signalName: '', timeout: 300000 },
|
|
866
|
+
defaultPorts: {
|
|
867
|
+
inputs: [{ id: 'in', type: PortType.INPUT, label: 'Input' }],
|
|
868
|
+
outputs: [
|
|
869
|
+
{ id: 'out', type: PortType.OUTPUT, label: 'Signal' },
|
|
870
|
+
{ id: 'timeout', type: PortType.OUTPUT, label: 'Timeout' },
|
|
871
|
+
],
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
type: WorkflowNodeType.TRY_CATCH,
|
|
876
|
+
name: 'Try / Catch',
|
|
877
|
+
description: 'Catch errors from the connected branch',
|
|
878
|
+
icon: NODE_ICONS[WorkflowNodeType.TRY_CATCH],
|
|
879
|
+
color: NODE_COLORS[WorkflowNodeType.TRY_CATCH],
|
|
880
|
+
category: 'control',
|
|
881
|
+
defaultConfig: { catchTypes: ['*'], errorVariable: 'error' },
|
|
882
|
+
defaultPorts: {
|
|
883
|
+
inputs: [{ id: 'in', type: PortType.INPUT, label: 'Input' }],
|
|
884
|
+
outputs: [
|
|
885
|
+
{ id: 'try', type: PortType.OUTPUT, label: 'Try' },
|
|
886
|
+
{ id: 'catch', type: PortType.ERROR, label: 'Catch' },
|
|
887
|
+
],
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
type: WorkflowNodeType.BREAK,
|
|
892
|
+
name: 'Break',
|
|
893
|
+
description: 'Exit the enclosing loop',
|
|
894
|
+
icon: NODE_ICONS[WorkflowNodeType.BREAK],
|
|
895
|
+
color: NODE_COLORS[WorkflowNodeType.BREAK],
|
|
896
|
+
category: 'control',
|
|
897
|
+
defaultConfig: {},
|
|
898
|
+
defaultPorts: {
|
|
899
|
+
inputs: [{ id: 'in', type: PortType.INPUT, label: 'Input' }],
|
|
900
|
+
outputs: [],
|
|
901
|
+
},
|
|
902
|
+
},
|
|
775
903
|
{
|
|
776
904
|
type: WorkflowNodeType.TRANSFORM,
|
|
777
905
|
name: 'Transform',
|
|
@@ -1748,6 +1876,26 @@ export const NODE_TEMPLATES = [
|
|
|
1748
1876
|
],
|
|
1749
1877
|
},
|
|
1750
1878
|
},
|
|
1879
|
+
// Cron/scheduled trigger
|
|
1880
|
+
{
|
|
1881
|
+
type: WorkflowNodeType.CRON,
|
|
1882
|
+
name: 'Cron Trigger',
|
|
1883
|
+
description: 'Triggers workflow on a scheduled cron expression',
|
|
1884
|
+
icon: NODE_ICONS[WorkflowNodeType.CRON],
|
|
1885
|
+
color: NODE_COLORS[WorkflowNodeType.CRON],
|
|
1886
|
+
category: 'trigger',
|
|
1887
|
+
defaultConfig: {
|
|
1888
|
+
cronExpression: '0 * * * *',
|
|
1889
|
+
timezone: 'UTC',
|
|
1890
|
+
},
|
|
1891
|
+
defaultPorts: {
|
|
1892
|
+
inputs: [],
|
|
1893
|
+
outputs: [
|
|
1894
|
+
{ id: 'out', type: PortType.OUTPUT, label: 'Tick' },
|
|
1895
|
+
{ id: 'error', type: PortType.ERROR, label: 'Error' },
|
|
1896
|
+
],
|
|
1897
|
+
},
|
|
1898
|
+
},
|
|
1751
1899
|
// MCP integration
|
|
1752
1900
|
{
|
|
1753
1901
|
type: WorkflowNodeType.MCP,
|
|
@@ -2509,6 +2657,7 @@ export const NODE_CATEGORIES = [
|
|
|
2509
2657
|
WorkflowNodeType.START,
|
|
2510
2658
|
WorkflowNodeType.HTTP_START,
|
|
2511
2659
|
WorkflowNodeType.CHAT_START,
|
|
2660
|
+
WorkflowNodeType.CRON,
|
|
2512
2661
|
WorkflowNodeType.TELEGRAM_BOT,
|
|
2513
2662
|
WorkflowNodeType.SLACK_SOCKET,
|
|
2514
2663
|
WorkflowNodeType.DISCORD_BOT,
|
|
@@ -2527,9 +2676,14 @@ export const NODE_CATEGORIES = [
|
|
|
2527
2676
|
WorkflowNodeType.END,
|
|
2528
2677
|
WorkflowNodeType.HTTP_END,
|
|
2529
2678
|
WorkflowNodeType.CONDITION,
|
|
2679
|
+
WorkflowNodeType.SWITCH,
|
|
2530
2680
|
WorkflowNodeType.DELAY,
|
|
2681
|
+
WorkflowNodeType.WAIT,
|
|
2531
2682
|
WorkflowNodeType.PARALLEL,
|
|
2683
|
+
WorkflowNodeType.MERGE,
|
|
2532
2684
|
WorkflowNodeType.LOOP,
|
|
2685
|
+
WorkflowNodeType.BREAK,
|
|
2686
|
+
WorkflowNodeType.TRY_CATCH,
|
|
2533
2687
|
],
|
|
2534
2688
|
canvasType: CanvasType.WORKFLOW,
|
|
2535
2689
|
},
|
|
@@ -2543,6 +2697,7 @@ export const NODE_CATEGORIES = [
|
|
|
2543
2697
|
WorkflowNodeType.INFORMATION_EXTRACTOR,
|
|
2544
2698
|
WorkflowNodeType.OCR,
|
|
2545
2699
|
WorkflowNodeType.CHAT_OUTPUT,
|
|
2700
|
+
WorkflowNodeType.SOCIAL_POST,
|
|
2546
2701
|
WorkflowNodeType.SUB_WORKFLOW,
|
|
2547
2702
|
WorkflowNodeType.EMAIL,
|
|
2548
2703
|
WorkflowNodeType.EMAIL_READER,
|
|
@@ -2939,8 +3094,10 @@ export const PERSISTENT_TRIGGER_TYPES = new Set([
|
|
|
2939
3094
|
WorkflowNodeType.DISCORD_BOT,
|
|
2940
3095
|
WorkflowNodeType.WHATSAPP_WEBHOOK,
|
|
2941
3096
|
WorkflowNodeType.CUSTOM_WEBSOCKET,
|
|
3097
|
+
WorkflowNodeType.RABBITMQ_TRIGGER,
|
|
2942
3098
|
WorkflowNodeType.CALENDLY_TRIGGER,
|
|
2943
3099
|
WorkflowNodeType.KAFKA_TRIGGER,
|
|
3100
|
+
WorkflowNodeType.CRON,
|
|
2944
3101
|
]);
|
|
2945
3102
|
export function isPersistentTriggerNode(type) {
|
|
2946
3103
|
return PERSISTENT_TRIGGER_TYPES.has(type);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, LitElement } from 'lit';
|
|
8
|
+
import '../carousel.component';
|
|
9
|
+
import { customElement } from 'lit/decorators.js';
|
|
10
|
+
let CarouselDemo = class CarouselDemo extends LitElement {
|
|
11
|
+
render() {
|
|
12
|
+
return html `
|
|
13
|
+
AUTOPLAY
|
|
14
|
+
<hy-carousel ?autoplay=${true}>
|
|
15
|
+
<div>
|
|
16
|
+
<h3>Slide 1</h3>
|
|
17
|
+
<p>Content for Slide 1</p>
|
|
18
|
+
</div>
|
|
19
|
+
<div>
|
|
20
|
+
<h3>Slide 2</h3>
|
|
21
|
+
<p>Content for Slide 2</p>
|
|
22
|
+
</div>
|
|
23
|
+
<div>
|
|
24
|
+
<h3>Slide 3</h3>
|
|
25
|
+
<p>Content for Slide 3</p>
|
|
26
|
+
</div>
|
|
27
|
+
</hy-carousel>
|
|
28
|
+
<hr />
|
|
29
|
+
|
|
30
|
+
WITH CONTROLS
|
|
31
|
+
<hy-carousel>
|
|
32
|
+
<div>
|
|
33
|
+
<h3>Slide 1</h3>
|
|
34
|
+
<p>Content for Slide 1</p>
|
|
35
|
+
</div>
|
|
36
|
+
<div>
|
|
37
|
+
<h3>Slide 2</h3>
|
|
38
|
+
<p>Content for Slide 2</p>
|
|
39
|
+
</div>
|
|
40
|
+
<div>
|
|
41
|
+
<h3>Slide 3</h3>
|
|
42
|
+
<p>Content for Slide 3</p>
|
|
43
|
+
</div>
|
|
44
|
+
</hy-carousel>
|
|
45
|
+
<hr />
|
|
46
|
+
<hy-carousel>
|
|
47
|
+
<div>
|
|
48
|
+
<img src="https://via.placeholder.com/150" alt="Image 1" />
|
|
49
|
+
</div>
|
|
50
|
+
<div>
|
|
51
|
+
<img src="https://via.placeholder.com/150" alt="Image 2" />
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div>
|
|
55
|
+
<img src="https://via.placeholder.com/150" alt="Image 4" />
|
|
56
|
+
</div>
|
|
57
|
+
<div>
|
|
58
|
+
<img src="https://via.placeholder.com/150" alt="Image 6" />
|
|
59
|
+
</div>
|
|
60
|
+
</hy-carousel>
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
CarouselDemo = __decorate([
|
|
65
|
+
customElement('hy-carousel-demo')
|
|
66
|
+
], CarouselDemo);
|
|
67
|
+
export { CarouselDemo };
|
|
68
|
+
//# sourceMappingURL=carousel-demo.js.map
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import{css as t,html as e,LitElement as i,nothing as o}from"lit";import{property as s,state as n,customElement as a}from"lit/decorators.js";const r=t`
|
|
2
|
+
:host { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
|
|
3
|
+
|
|
4
|
+
/* Messages */
|
|
5
|
+
.chat-messages { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 2px; }
|
|
6
|
+
.chat-messages::before { content: ''; flex: 1; }
|
|
7
|
+
.date-sep { align-self: center; font-size: 11px; color: var(--text-secondary, #536471); background: var(--input-bg, #f2f2f7); padding: 3px 10px; border-radius: 9999px; margin: 8px 0; }
|
|
8
|
+
.msg-row { display: flex; gap: 6px; align-items: flex-end; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
|
|
9
|
+
.msg-row .msg { -webkit-user-select: text; user-select: text; }
|
|
10
|
+
.msg-row.me { flex-direction: row-reverse; }
|
|
11
|
+
.msg-avatar { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 600; color: #fff; flex-shrink: 0; margin-bottom: 16px; }
|
|
12
|
+
.msg-sender-name { font-size: 10px; font-weight: 600; padding: 0 4px; margin-bottom: 1px; }
|
|
13
|
+
.msg-bubble { max-width: 75%; }
|
|
14
|
+
.msg { padding: 7px 12px; border-radius: 16px; font-size: 13px; line-height: 1.4; word-wrap: break-word; }
|
|
15
|
+
.msg.me { background: var(--accent, #7c3aed); color: #fff; border-bottom-right-radius: 4px; }
|
|
16
|
+
.msg.them { background: var(--input-bg, #f2f2f7); color: var(--text, #1d1d1f); border-bottom-left-radius: 4px; }
|
|
17
|
+
.msg-footer { display: flex; align-items: center; gap: 4px; margin-top: 1px; padding: 0 4px; }
|
|
18
|
+
.msg-footer.me { justify-content: flex-end; }
|
|
19
|
+
.msg-time { font-size: 10px; color: var(--text-secondary, #536471); }
|
|
20
|
+
.msg-read { display: flex; align-items: center; }
|
|
21
|
+
.msg-read svg { width: 14px; height: 14px; }
|
|
22
|
+
|
|
23
|
+
/* Attachments */
|
|
24
|
+
.msg-attachment { margin-top: 4px; }
|
|
25
|
+
.msg-attachment img { max-width: 200px; border-radius: 8px; cursor: pointer; display: block; }
|
|
26
|
+
.msg-attachment .file-card { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--input-bg, #f2f2f7); border-radius: 10px; font-size: 12px; text-decoration: none; color: var(--text); cursor: pointer; min-width: 160px; }
|
|
27
|
+
.msg-attachment .file-card:hover { background: var(--border, #e5e7eb); }
|
|
28
|
+
|
|
29
|
+
/* Audio player */
|
|
30
|
+
.audio-msg { display: flex; align-items: center; gap: 6px; padding: 6px 10px; background: var(--input-bg, #f2f2f7); border-radius: 16px; min-width: 180px; }
|
|
31
|
+
.audio-play-btn { width: 28px; height: 28px; border-radius: 50%; border: none; background: var(--accent, #7c3aed); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
|
|
32
|
+
.audio-bars { flex: 1; display: flex; align-items: center; gap: 1.5px; height: 24px; }
|
|
33
|
+
.a-bar { width: 2.5px; min-height: 3px; border-radius: 1.5px; background: rgba(0,0,0,0.2); transition: background 0.1s; }
|
|
34
|
+
.a-bar.played { background: var(--accent, #7c3aed); }
|
|
35
|
+
.audio-dur { font-size: 10px; color: var(--text-secondary); font-variant-numeric: tabular-nums; flex-shrink: 0; min-width: 28px; text-align: right; }
|
|
36
|
+
.audio-msg audio { display: none; }
|
|
37
|
+
.me .audio-msg { background: rgba(255,255,255,0.15); }
|
|
38
|
+
.me .audio-play-btn { background: #fff; color: var(--accent, #7c3aed); }
|
|
39
|
+
.me .a-bar { background: rgba(255,255,255,0.3); }
|
|
40
|
+
.me .a-bar.played { background: #fff; }
|
|
41
|
+
.me .audio-dur { color: rgba(255,255,255,0.7); }
|
|
42
|
+
|
|
43
|
+
/* Call logs */
|
|
44
|
+
.msg-call-log { display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: var(--input-bg, #f2f2f7); border-radius: 10px; min-width: 160px; }
|
|
45
|
+
.msg-call-info { flex: 1; }
|
|
46
|
+
.msg-call-type { font-size: 12px; font-weight: 600; }
|
|
47
|
+
.msg-call-status { font-size: 10px; color: var(--text-secondary); }
|
|
48
|
+
.msg-call-status.missed, .msg-call-status.declined { color: #ef4444; }
|
|
49
|
+
.msg-call-status.completed { color: #22c55e; }
|
|
50
|
+
|
|
51
|
+
/* Reactions */
|
|
52
|
+
.msg-reactions { display: flex; gap: 3px; margin-top: 2px; padding: 0 4px; flex-wrap: wrap; }
|
|
53
|
+
.msg-reactions .reaction { display: inline-flex; align-items: center; gap: 2px; padding: 1px 6px; border-radius: 10px; background: var(--input-bg, #f2f2f7); font-size: 11px; cursor: pointer; border: 1px solid transparent; transition: transform 0.12s; }
|
|
54
|
+
.msg-reactions .reaction:hover { border-color: var(--accent, #7c3aed); transform: scale(1.05); }
|
|
55
|
+
.msg-reactions .reaction.mine { background: color-mix(in srgb, var(--accent, #7c3aed) 15%, transparent); border-color: var(--accent, #7c3aed); }
|
|
56
|
+
.msg-reactions .reaction svg { width: 12px; height: 12px; }
|
|
57
|
+
.msg-reactions .reaction .count { font-size: 10px; color: var(--text-secondary); }
|
|
58
|
+
|
|
59
|
+
/* Reply quote */
|
|
60
|
+
.msg-reply-quote { font-size: 10px; color: var(--text-secondary); padding: 3px 6px; margin-bottom: 2px; border-left: 2px solid var(--accent, #7c3aed); border-radius: 2px; background: rgba(124,58,237,0.05); }
|
|
61
|
+
.reply-bar { display: flex; align-items: center; gap: 6px; padding: 4px 12px; background: var(--input-bg, #f2f2f7); border-left: 3px solid var(--accent, #7c3aed); font-size: 11px; color: var(--text-secondary); }
|
|
62
|
+
.reply-bar .reply-text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
63
|
+
.reply-bar button { border: none; background: none; cursor: pointer; color: var(--text-secondary); font-size: 14px; padding: 2px; }
|
|
64
|
+
|
|
65
|
+
/* Edited/deleted/encrypted */
|
|
66
|
+
.msg-edited { font-size: 9px; color: var(--text-secondary); font-style: italic; }
|
|
67
|
+
.msg-deleted { font-style: italic; color: var(--text-secondary); }
|
|
68
|
+
.msg-e2e { font-size: 9px; margin-left: 3px; opacity: 0.6; }
|
|
69
|
+
|
|
70
|
+
/* Inline edit */
|
|
71
|
+
.edit-inline { display: flex; align-items: center; gap: 3px; }
|
|
72
|
+
.edit-input { flex: 1; border: 1px solid var(--accent, #7c3aed); border-radius: 6px; padding: 3px 6px; font-size: 12px; outline: none; background: var(--bg, #fff); color: var(--text); min-width: 80px; }
|
|
73
|
+
.edit-confirm, .edit-cancel { border: none; background: none; cursor: pointer; font-size: 13px; padding: 2px 3px; border-radius: 3px; }
|
|
74
|
+
.edit-confirm { color: #16a34a; }
|
|
75
|
+
.edit-cancel { color: #dc2626; }
|
|
76
|
+
|
|
77
|
+
/* Context menu */
|
|
78
|
+
.ctx-menu { position: fixed; background: var(--bg, #fff); border: 1px solid var(--border, #e5e7eb); border-radius: 12px; padding: 3px 0; box-shadow: 0 6px 24px rgba(0,0,0,0.12); z-index: 20; min-width: 120px; backdrop-filter: blur(12px); }
|
|
79
|
+
.ctx-menu button { display: flex; align-items: center; gap: 6px; width: 100%; padding: 6px 12px; border: none; background: none; font-size: 12px; color: var(--text); cursor: pointer; text-align: left; }
|
|
80
|
+
.ctx-menu button:hover { background: var(--input-bg); }
|
|
81
|
+
.ctx-menu button.danger { color: #dc2626; }
|
|
82
|
+
.ctx-reactions { display: flex; gap: 3px; padding: 6px 8px; border-bottom: 1px solid var(--border); }
|
|
83
|
+
.ctx-reactions button { width: 30px; height: 30px; padding: 0; min-width: auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform 0.12s, background 0.12s; }
|
|
84
|
+
.ctx-reactions button:hover { background: var(--input-bg); transform: scale(1.2); }
|
|
85
|
+
.ctx-reactions button svg { width: 16px; height: 16px; }
|
|
86
|
+
|
|
87
|
+
/* Emoji picker */
|
|
88
|
+
.emoji-picker { position: absolute; bottom: 50px; left: 8px; background: var(--bg, #fff); border: 1px solid var(--border); border-radius: 12px; padding: 5px; box-shadow: 0 6px 24px rgba(0,0,0,0.12); z-index: 10; max-height: 200px; overflow-y: auto; }
|
|
89
|
+
.emoji-picker .emoji-quick { display: flex; gap: 3px; padding: 3px 2px 5px; border-bottom: 1px solid var(--border); margin-bottom: 3px; }
|
|
90
|
+
.emoji-picker .emoji-quick button { width: 30px; height: 30px; border: none; background: none; cursor: pointer; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; }
|
|
91
|
+
.emoji-picker .emoji-quick button:hover { background: var(--input-bg); transform: scale(1.2); }
|
|
92
|
+
.emoji-picker .emoji-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 1px; }
|
|
93
|
+
.emoji-picker .emoji-grid button { width: 28px; height: 28px; border: none; background: none; font-size: 16px; cursor: pointer; border-radius: 5px; display: flex; align-items: center; justify-content: center; }
|
|
94
|
+
.emoji-picker .emoji-grid button:hover { background: var(--input-bg); transform: scale(1.1); }
|
|
95
|
+
|
|
96
|
+
/* Typing indicator */
|
|
97
|
+
.typing-indicator { padding: 3px 12px; font-size: 11px; color: var(--text-secondary); font-style: italic; }
|
|
98
|
+
|
|
99
|
+
/* Input bar */
|
|
100
|
+
.chat-input { display: flex; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--border, #e5e7eb); align-items: center; flex-shrink: 0; position: relative; }
|
|
101
|
+
.chat-input textarea { flex: 1; padding: 8px 12px; border: 1px solid var(--border, #e5e7eb); border-radius: 18px; font-size: 13px; outline: none; background: var(--input-bg, #f2f2f7); resize: none; font-family: inherit; line-height: 1.4; max-height: 80px; overflow-y: auto; }
|
|
102
|
+
.chat-input textarea:focus { border-color: var(--accent, #7c3aed); background: var(--bg, #fff); }
|
|
103
|
+
.input-tools { display: flex; gap: 1px; }
|
|
104
|
+
.input-tools button { width: 30px; height: 30px; border: none; background: none; color: var(--text-secondary); cursor: pointer; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
|
|
105
|
+
.input-tools button:hover { background: var(--input-bg); color: var(--accent); }
|
|
106
|
+
.send-btn { width: 32px; height: 32px; border: none; background: var(--accent, #7c3aed); color: #fff; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
|
|
107
|
+
.send-btn:hover { background: var(--accent-hover, #6d28d9); }
|
|
108
|
+
|
|
109
|
+
/* Empty state */
|
|
110
|
+
.empty-state { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-secondary); gap: 6px; padding: 24px; }
|
|
111
|
+
.empty-state svg { width: 36px; height: 36px; opacity: 0.4; }
|
|
112
|
+
.empty-state span { font-size: 12px; }
|
|
113
|
+
|
|
114
|
+
/* Loading */
|
|
115
|
+
.loading { flex: 1; display: flex; align-items: center; justify-content: center; color: var(--text-secondary); font-size: 12px; }
|
|
116
|
+
|
|
117
|
+
/* Full-size mode overrides */
|
|
118
|
+
:host(:not([compact])) .msg { font-size: 14px; padding: 8px 14px; border-radius: 18px; }
|
|
119
|
+
:host(:not([compact])) .msg-bubble { max-width: 65%; }
|
|
120
|
+
:host(:not([compact])) .msg-avatar { width: 24px; height: 24px; font-size: 10px; }
|
|
121
|
+
:host(:not([compact])) .chat-messages { padding: 16px; }
|
|
122
|
+
:host(:not([compact])) .chat-input textarea { font-size: 14px; padding: 10px 16px; }
|
|
123
|
+
:host(:not([compact])) .chat-input { padding: 10px 16px; }
|
|
124
|
+
:host(:not([compact])) .send-btn { width: 38px; height: 38px; }
|
|
125
|
+
`
|
|
126
|
+
/**
|
|
127
|
+
* @license
|
|
128
|
+
* Copyright 2024 Nuraly, Laabidi Aymen
|
|
129
|
+
* SPDX-License-Identifier: MIT
|
|
130
|
+
*/;var d=function(t,e,i,o){for(var s,n=arguments.length,a=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,r=t.length-1;r>=0;r--)(s=t[r])&&(a=(n<3?s(a):n>3?s(e,i,a):s(e,i))||a);return n>3&&a&&Object.defineProperty(e,i,a),a};const l=[{key:"👍",label:"Like"},{key:"❤️",label:"Love"},{key:"😂",label:"Haha"},{key:"😮",label:"Wow"},{key:"😢",label:"Sad"},{key:"🔥",label:"Fire"}],c=["😀","😂","🥰","😎","🤔","🎉","✨","🙏","💯","🚀","👏","😍","🤣","💪","😊","🥳","😤","💀","🫡","👀","💜","🤝","⭐","🙌"],p=e`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"/></svg>`,g=e`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="18 6 7 17 2 12"/><polyline points="23 6 12 17" opacity="0.5"/></svg>`,u=e`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#7c3aed" stroke-width="2"><polyline points="18 6 7 17 2 12"/><polyline points="23 6 12 17"/></svg>`,h=e`<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/></svg>`,x=e`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><line x1="9" y1="9" x2="9.01" y2="9"/><line x1="15" y1="9" x2="15.01" y2="9"/></svg>`,m=e`<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><polygon points="5 3 19 12 5 21 5 3"/></svg>`,v=e`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>`,b=e`<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,f=e`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>`,y=e`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/></svg>`,w=e`<svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>`,k=e`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48"/></svg>`,$=e`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>`;let j=class extends i{constructor(){super(...arguments),this.messages=[],this.currentUser=null,this.conversationId="",this.isGroup=!1,this.loading=!1,this.compact=!1,this.emptyText="No messages yet",this.hideInput=!1,this._showEmoji=!1,this._contextMenu=null,this._replyTo=null,this._editingIdx=null,this._typing=[],this._typingTimer=null,this._longPressTimer=null,this._touchMoved=!1}updated(t){t.has("messages")&&requestAnimationFrame(()=>{var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".chat-messages");e&&(e.scrollTop=e.scrollHeight)})}addTyping(t){this._typing.includes(t)||(this._typing=[...this._typing,t])}removeTyping(t){this._typing=this._typing.filter(e=>e!==t)}_sendMessage(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".chat-input textarea");if(!(null==e?void 0:e.value.trim()))return;const i=e.value.trim();e.value="",e.focus(),this.dispatchEvent(new CustomEvent("message-send",{detail:{text:i,replyTo:this._replyTo||void 0},bubbles:!0,composed:!0})),this._replyTo=null,this._showEmoji=!1,this._playSound()}_onInputKeydown(t){if("Enter"===t.key&&!t.shiftKey)return t.preventDefault(),void this._sendMessage();this.dispatchEvent(new CustomEvent("typing-start",{bubbles:!0,composed:!0})),clearTimeout(this._typingTimer),this._typingTimer=setTimeout(()=>{this.dispatchEvent(new CustomEvent("typing-stop",{bubbles:!0,composed:!0}))},2e3)}_toggleEmoji(){this._showEmoji=!this._showEmoji}_insertEmoji(t){var e;const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(".chat-input textarea");i&&(i.value+=t,i.focus()),this._showEmoji=!1}_menuPos(t){const e=t.closest(".msg-bubble")||t.closest(".msg-row");if(!e)return{y:0,left:0};const i=e.getBoundingClientRect(),o=!!t.closest(".msg-row.me"),s=o?140:80,n=i.top>s+12?i.top-s-4:i.bottom+4;return o?{y:n,right:Math.max(8,window.innerWidth-i.right)}:{y:n,left:Math.max(8,i.left)}}_showContextMenuHandler(t,e){t.preventDefault(),this._contextMenu=Object.assign({msgIdx:e},this._menuPos(t.target))}_onTouchStart(t,e){this._touchMoved=!1,this._longPressTimer=setTimeout(()=>{var i;t.preventDefault(),null===(i=window.getSelection())||void 0===i||i.removeAllRanges(),this._contextMenu=Object.assign({msgIdx:e},this._menuPos(t.target)),this._touchMoved=!0},500)}_onTouchEnd(){clearTimeout(this._longPressTimer)}_onTouchMove(){this._touchMoved=!0,clearTimeout(this._longPressTimer)}_onMsgTap(t,e){if(!window.matchMedia("(max-width: 640px)").matches)return;if(this._touchMoved)return;const i=t.target;i.closest(".reaction")||i.closest(".audio-play-btn")||i.closest(".file-card")||i.closest(".edit-inline")||(t.stopPropagation(),this._contextMenu=Object.assign({msgIdx:e},this._menuPos(i)))}_hideContextMenu(){this._contextMenu=null}_deleteMsg(t){const e=this.messages[t];(null==e?void 0:e.id)&&this.dispatchEvent(new CustomEvent("message-delete",{detail:{messageId:e.id},bubbles:!0,composed:!0})),this._contextMenu=null}_replyMsg(t){var e,i;const o=this.messages[t];o&&(this._replyTo={text:o.text,from:o.from},null===(i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(".chat-input textarea"))||void 0===i||i.focus()),this._contextMenu=null}_editMsg(t){this._editingIdx=t,this._contextMenu=null,requestAnimationFrame(()=>{var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".edit-input");e&&(e.focus(),e.select())})}_confirmEdit(t){var e;const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(".edit-input"),o=null==i?void 0:i.value.trim();if(!o)return void(this._editingIdx=null);const s=this.messages[t];(null==s?void 0:s.id)&&this.dispatchEvent(new CustomEvent("message-edit",{detail:{messageId:s.id,content:o},bubbles:!0,composed:!0})),this._editingIdx=null}_onEditKeydown(t,e){"Enter"!==t.key||t.shiftKey?"Escape"===t.key&&(this._editingIdx=null):(t.preventDefault(),this._confirmEdit(e))}_reactMsg(t,e){const i=this.messages[t];(null==i?void 0:i.id)&&this.dispatchEvent(new CustomEvent("message-react",{detail:{messageId:i.id,emoji:e},bubbles:!0,composed:!0})),this._contextMenu=null}_toggleAudioPlay(t){var e;const i=t.currentTarget.closest(".audio-msg"),o=null==i?void 0:i.querySelector("audio");o&&(o.paused?(null===(e=this.shadowRoot)||void 0===e||e.querySelectorAll(".audio-msg audio").forEach(t=>{t===o||t.paused||(t.pause(),t.currentTime=0)}),o.play().catch(()=>{})):o.pause())}_onAudioTimeUpdate(t){const e=t.target,i=e.closest(".audio-msg");if(!i||!e.duration)return;const o=i.querySelectorAll(".a-bar"),s=e.currentTime/e.duration,n=Math.floor(s*o.length);o.forEach((t,e)=>t.classList.toggle("played",e<=n))}_onAudioEnded(t){const e=t.target.closest(".audio-msg");null==e||e.querySelectorAll(".a-bar").forEach(t=>t.classList.remove("played"))}_pickFile(t=!1){const e=document.createElement("input");e.type="file",t&&(e.accept="image/jpeg,image/png,image/gif,image/webp,image/heic,image/heif"),e.style.cssText="position:fixed;top:-9999px;left:-9999px;opacity:0",document.body.appendChild(e),e.onchange=()=>{var i;const o=null===(i=e.files)||void 0===i?void 0:i[0];o&&this.dispatchEvent(new CustomEvent("file-select",{detail:{file:o,imageOnly:t},bubbles:!0,composed:!0}));try{document.body.removeChild(e)}catch(t){}},e.click()}_playSound(){try{const t=new AudioContext,e=t.createGain();e.connect(t.destination),e.gain.value=.12;const i=t.createOscillator();i.connect(e),i.type="sine",i.frequency.setValueAtTime(600,t.currentTime),i.frequency.setValueAtTime(900,t.currentTime+.08),e.gain.exponentialRampToValueAtTime(.001,t.currentTime+.15),i.start(t.currentTime),i.stop(t.currentTime+.15),setTimeout(()=>t.close(),500)}catch(t){}}render(){return this.loading?e`<div class="loading">Loading...</div>`:e`
|
|
131
|
+
${0===this.messages.length?e`<div class="empty-state">${w}<span>${this.emptyText}</span></div>`:e`
|
|
132
|
+
<div class="chat-messages" @click=${()=>this._hideContextMenu()} @touchstart=${()=>{this._contextMenu&&this._hideContextMenu()}}>
|
|
133
|
+
${this.messages.map((t,e,i)=>this._renderMessage(t,e,i))}
|
|
134
|
+
</div>
|
|
135
|
+
`}
|
|
136
|
+
|
|
137
|
+
${this._contextMenu?this._renderContextMenu():o}
|
|
138
|
+
${this._typing.length>0?e`<div class="typing-indicator">${this._typing.join(", ")} typing...</div>`:o}
|
|
139
|
+
${this._replyTo?e`
|
|
140
|
+
<div class="reply-bar">
|
|
141
|
+
<span class="reply-text">Replying to: ${this._replyTo.text}</span>
|
|
142
|
+
<button @click=${()=>{this._replyTo=null}}>✕</button>
|
|
143
|
+
</div>
|
|
144
|
+
`:o}
|
|
145
|
+
${this._showEmoji?this._renderEmojiPicker():o}
|
|
146
|
+
${this.hideInput?o:this._renderInputBar()}
|
|
147
|
+
`}_renderMessage(t,i,s){var n;if("date"===t.from)return e`<div class="date-sep">${t.text}</div>`;if(t.deleted)return e`<div class="msg-row system"><div class="msg-bubble"><div class="msg them msg-deleted">This message was deleted</div></div></div>`;const a=i>0?s[i-1]:null,r=this.isGroup&&"them"===t.from&&(!a||"them"!==a.from||a.senderId!==t.senderId);return e`
|
|
148
|
+
<div class="msg-row ${t.from}"
|
|
149
|
+
@contextmenu=${t=>this._showContextMenuHandler(t,i)}
|
|
150
|
+
@touchstart=${t=>this._onTouchStart(t,i)}
|
|
151
|
+
@touchend=${()=>this._onTouchEnd()}
|
|
152
|
+
@touchmove=${()=>this._onTouchMove()}
|
|
153
|
+
@click=${t=>this._onMsgTap(t,i)}>
|
|
154
|
+
${"them"===t.from?e`<div class="msg-avatar" style="background:${t.senderColor||"#7c3aed"}">${(t.senderInitials||"?").charAt(0)}</div>`:o}
|
|
155
|
+
<div class="msg-bubble" @dblclick=${"me"!==t.from||t.deleted?void 0:()=>this._editMsg(i)}>
|
|
156
|
+
${r?e`<div class="msg-sender-name" style="color:${t.senderColor||"#7c3aed"}">${t.senderName}</div>`:o}
|
|
157
|
+
${t.replyTo?e`<div class="msg-reply-quote">${t.replyTo.text}</div>`:o}
|
|
158
|
+
${this._renderAttachment(t)}
|
|
159
|
+
${this._editingIdx===i?e`<div class="edit-inline"><input class="edit-input" type="text" .value=${t.text||""} @keydown=${t=>this._onEditKeydown(t,i)}><button class="edit-confirm" @click=${()=>this._confirmEdit(i)}>✓</button><button class="edit-cancel" @click=${()=>{this._editingIdx=null}}>✕</button></div>`:t.text?e`<div class="msg ${t.from}">${t.text}${t.edited?e` <span class="msg-edited">(edited)</span>`:o}${t.encrypted?e`<span class="msg-e2e" title="End-to-end encrypted">🔒</span>`:o}</div>`:o}
|
|
160
|
+
<div class="msg-footer ${t.from}">
|
|
161
|
+
<span class="msg-time">${t.time||""}</span>
|
|
162
|
+
${"me"===t.from?e`<span class="msg-read">${"read"===t.status?u:"delivered"===t.status?g:p}</span>`:o}
|
|
163
|
+
</div>
|
|
164
|
+
${(null===(n=t.reactions)||void 0===n?void 0:n.length)?e`
|
|
165
|
+
<div class="msg-reactions">
|
|
166
|
+
${t.reactions.map(t=>{var o;return e`
|
|
167
|
+
<span class="reaction ${(null===(o=t.users)||void 0===o?void 0:o.includes("me"))?"mine":""}" @click=${()=>this._reactMsg(i,t.emoji)}>${t.emoji} <span class="count">${t.count}</span></span>
|
|
168
|
+
`})}
|
|
169
|
+
</div>
|
|
170
|
+
`:o}
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
`}_renderAttachment(t){var i;const s=t.attachment;if(!s)return o;if("call"===s.type){const t="video"===s.callType?y:f,i="missed"===s.callStatus||"declined"===s.callStatus?"#ef4444":"#22c55e";return e`<div class="msg-call-log">
|
|
174
|
+
<span style="color:${i}">${t}</span>
|
|
175
|
+
<div class="msg-call-info">
|
|
176
|
+
<div class="msg-call-type">${"video"===s.callType?"Video call":"Voice call"}</div>
|
|
177
|
+
<div class="msg-call-status ${s.callStatus}">${"completed"===s.callStatus?s.duration||"Ended":"declined"===s.callStatus?"Declined":"Missed"}</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>`}if("image"===s.type)return e`<div class="msg-attachment"><img src="${s.decryptedUrl||s.url}" alt="${s.name||"Image"}"></div>`;if("audio"===s.type){const t=(null===(i=s.waveform)||void 0===i?void 0:i.length)?s.waveform:Array(36).fill(.15);return e`<div class="msg-attachment"><div class="audio-msg">
|
|
180
|
+
<button class="audio-play-btn" @click=${t=>this._toggleAudioPlay(t)}>${m}</button>
|
|
181
|
+
<div class="audio-bars">${t.map(t=>e`<div class="a-bar" style="height:${Math.round(22*t+3)}px"></div>`)}</div>
|
|
182
|
+
<span class="audio-dur">${s.duration||"0:00"}</span>
|
|
183
|
+
<audio src="${s.decryptedUrl||s.url}" preload="metadata" @timeupdate=${t=>this._onAudioTimeUpdate(t)} @ended=${t=>this._onAudioEnded(t)}></audio>
|
|
184
|
+
</div></div>`}return e`<div class="msg-attachment"><a class="file-card" href="${s.decryptedUrl||s.url}" target="_blank" download="${s.name||"file"}">
|
|
185
|
+
${v}
|
|
186
|
+
<div style="flex:1;min-width:0"><div style="font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">${s.name||"File"}</div>${s.fileSize?e`<div style="font-size:10px;color:var(--text-secondary);margin-top:1px">${(s.fileSize/1024).toFixed(0)} KB</div>`:o}</div>
|
|
187
|
+
${b}
|
|
188
|
+
</a></div>`}_renderContextMenu(){const t=this._contextMenu,i=this.messages[t.msgIdx],s="me"===(null==i?void 0:i.from);return e`
|
|
189
|
+
<div class="ctx-menu" @mousedown=${t=>t.preventDefault()} @touchstart=${t=>t.stopPropagation()} style="top:${t.y}px;${null!=t.right?`right:${t.right}px`:`left:${t.left}px`}">
|
|
190
|
+
<div class="ctx-reactions">
|
|
191
|
+
${l.map(i=>e`<button @click=${()=>this._reactMsg(t.msgIdx,i.key)} title=${i.label}>${i.key}</button>`)}
|
|
192
|
+
</div>
|
|
193
|
+
<button @click=${()=>this._replyMsg(t.msgIdx)}>↩ Reply</button>
|
|
194
|
+
${s&&!(null==i?void 0:i.deleted)?e`<button @click=${()=>this._editMsg(t.msgIdx)}>✏️ Edit</button>`:o}
|
|
195
|
+
${s&&!(null==i?void 0:i.deleted)?e`<button class="danger" @click=${()=>this._deleteMsg(t.msgIdx)}>🗑 Delete</button>`:o}
|
|
196
|
+
</div>
|
|
197
|
+
`}_renderEmojiPicker(){return e`
|
|
198
|
+
<div class="emoji-picker" @mousedown=${t=>t.preventDefault()}>
|
|
199
|
+
<div class="emoji-quick">
|
|
200
|
+
${l.map(t=>e`<button @click=${()=>this._insertEmoji(t.key)} title=${t.label}>${t.key}</button>`)}
|
|
201
|
+
</div>
|
|
202
|
+
<div class="emoji-grid">
|
|
203
|
+
${c.map(t=>e`<button @click=${()=>this._insertEmoji(t)}>${t}</button>`)}
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
`}_renderInputBar(){return e`
|
|
207
|
+
<div class="chat-input">
|
|
208
|
+
<div class="input-tools">
|
|
209
|
+
<button @click=${()=>this._pickFile()} title="Attach file">${k}</button>
|
|
210
|
+
<button @click=${()=>this._pickFile(!0)} title="Send image">${$}</button>
|
|
211
|
+
<button @click=${()=>this._toggleEmoji()} title="Emoji">${x}</button>
|
|
212
|
+
</div>
|
|
213
|
+
<textarea rows="1" placeholder="Type a message..." @keydown=${t=>this._onInputKeydown(t)}></textarea>
|
|
214
|
+
<button class="send-btn" @mousedown=${t=>t.preventDefault()} @click=${()=>this._sendMessage()} title="Send">${h}</button>
|
|
215
|
+
</div>
|
|
216
|
+
`}};j.styles=r,d([s({type:Array})],j.prototype,"messages",void 0),d([s({type:Object})],j.prototype,"currentUser",void 0),d([s({type:String,attribute:"conversation-id"})],j.prototype,"conversationId",void 0),d([s({type:Boolean})],j.prototype,"isGroup",void 0),d([s({type:Boolean})],j.prototype,"loading",void 0),d([s({type:Boolean,reflect:!0})],j.prototype,"compact",void 0),d([s({type:String,attribute:"empty-text"})],j.prototype,"emptyText",void 0),d([s({type:Boolean,attribute:"hide-input"})],j.prototype,"hideInput",void 0),d([n()],j.prototype,"_showEmoji",void 0),d([n()],j.prototype,"_contextMenu",void 0),d([n()],j.prototype,"_replyTo",void 0),d([n()],j.prototype,"_editingIdx",void 0),d([n()],j.prototype,"_typing",void 0),j=d([a("nr-chat-panel")],j);export{j as NrChatPanelElement};
|
|
Binary file
|