@nuraly/runtime 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +778 -0
- package/components/index.ts +13 -0
- package/components/ui/components/Event/EventAttribute/EventAttribute.style.ts +11 -0
- package/components/ui/components/Event/EventAttribute/EventAttribute.ts +28 -0
- package/components/ui/components/Event/EventLabel/EventLabel.ts +19 -0
- package/components/ui/components/Event/EventValue/EventValue.ts +79 -0
- package/components/ui/components/ToastContainer/ToastContainer.ts +126 -0
- package/components/ui/components/advanced/AIChat/AIChat.helper.ts +22 -0
- package/components/ui/components/advanced/AIChat/AIChat.style.ts +52 -0
- package/components/ui/components/advanced/AIChat/AIChat.ts +143 -0
- package/components/ui/components/advanced/CodeEditor/CodeEditor.ts +489 -0
- package/components/ui/components/advanced/Collapse/Collapse.ts +86 -0
- package/components/ui/components/advanced/Collections/Collections.style.ts +21 -0
- package/components/ui/components/advanced/Collections/Collections.ts +125 -0
- package/components/ui/components/advanced/MicroApp/MicroApp.ts +98 -0
- package/components/ui/components/advanced/RefComponent/RefComponent.ts +86 -0
- package/components/ui/components/advanced/RichText/RichText.ts +98 -0
- package/components/ui/components/advanced/RichText/RichTextEditor.ts +536 -0
- package/components/ui/components/base/BaseElement/base-change-detection.ts +18 -0
- package/components/ui/components/base/BaseElement/calculateStyles.ts +31 -0
- package/components/ui/components/base/BaseElement/drag-events.helpers.ts +71 -0
- package/components/ui/components/base/BaseElement/execute-event.helpers.ts +45 -0
- package/components/ui/components/base/BaseElement/handler-component-error.ts +28 -0
- package/components/ui/components/base/BaseElement/input-handler.helpers.ts +358 -0
- package/components/ui/components/base/BaseElement/interactions.helpers.ts +14 -0
- package/components/ui/components/base/BaseElement.ts +711 -0
- package/components/ui/components/display/Badge/Badge.ts +61 -0
- package/components/ui/components/display/BoxModel/BoxModel.ts +372 -0
- package/components/ui/components/display/Code/Code.ts +103 -0
- package/components/ui/components/display/Divider/Divider.ts +98 -0
- package/components/ui/components/display/Icon/Icon.ts +60 -0
- package/components/ui/components/display/Image/Image.ts +75 -0
- package/components/ui/components/display/Table/Table.style.ts +0 -0
- package/components/ui/components/display/Table/Table.ts +178 -0
- package/components/ui/components/display/Tag/Tag.ts +49 -0
- package/components/ui/components/display/TextLabel/TextLabel.style.ts +21 -0
- package/components/ui/components/display/TextLabel/TextLabel.ts +72 -0
- package/components/ui/components/display/Video/Video.ts +46 -0
- package/components/ui/components/inputs/Button/Button.style.ts +0 -0
- package/components/ui/components/inputs/Button/Button.ts +79 -0
- package/components/ui/components/inputs/Checkbox/Checkbox.ts +76 -0
- package/components/ui/components/inputs/ColorPicker/colorpicker.ts +65 -0
- package/components/ui/components/inputs/DatePicker/DatePicker.ts +60 -0
- package/components/ui/components/inputs/Dropdown/Dropdown.ts +128 -0
- package/components/ui/components/inputs/FileUpload/FileUpload.ts +43 -0
- package/components/ui/components/inputs/IconButton/iconbutton.ts +54 -0
- package/components/ui/components/inputs/IconPicker/IconPicker.style.ts +109 -0
- package/components/ui/components/inputs/IconPicker/IconPicker.ts +61 -0
- package/components/ui/components/inputs/InsertDropdown/InsertDropdown.ts +75 -0
- package/components/ui/components/inputs/NumberInput/NumberInput.ts +84 -0
- package/components/ui/components/inputs/RadioButton/Radio-button.ts +69 -0
- package/components/ui/components/inputs/Select/Select.ts +65 -0
- package/components/ui/components/inputs/Slider/Slider.ts +63 -0
- package/components/ui/components/inputs/TextInput/TextInput.style.ts +0 -0
- package/components/ui/components/inputs/TextInput/TextInput.ts +153 -0
- package/components/ui/components/inputs/Textarea/Textarea.ts +110 -0
- package/components/ui/components/inputs/UsersDropdown/UsersDropdown.ts +30 -0
- package/components/ui/components/layout/Card/Card.ts +46 -0
- package/components/ui/components/layout/Containers/Container.style.ts +34 -0
- package/components/ui/components/layout/Containers/Container.ts +127 -0
- package/components/ui/components/layout/Panel/Panel.ts +156 -0
- package/components/ui/components/layout/Panel/index.ts +1 -0
- package/components/ui/components/layout/Tabs/Tabs.style.ts +5 -0
- package/components/ui/components/layout/Tabs/Tabs.ts +120 -0
- package/components/ui/components/navigation/EmbedURL/EmbedURL.ts +108 -0
- package/components/ui/components/navigation/Link/Link.ts +83 -0
- package/components/ui/components/navigation/Menu/Menu.ts +92 -0
- package/components/ui/components/runtime/MicroApp/MicroApp.ts +485 -0
- package/components/ui/components/runtime/MicroApp/MicroAppDataLoader.ts +240 -0
- package/components/ui/components/utility/Border/Border.ts +643 -0
- package/components/ui/components/utility/BoxShadow/BoxShadow.ts +253 -0
- package/components/ui/components/utility/Document/Document.ts +47 -0
- package/components/ui/components/utility/Export-Import/Export-Import.ts +122 -0
- package/components/ui/components/utility/Function/InvokeFunction.ts +63 -0
- package/components/ui/components/utility/Handlers/Handlers.style.ts +0 -0
- package/components/ui/components/utility/Handlers/Handlers.ts +200 -0
- package/components/ui/components/wrappers/ComponentTitle/ComponentTitle.ts +95 -0
- package/components/ui/components/wrappers/GenerikWrapper/DragWrapper/DragWrapper.style.ts +17 -0
- package/components/ui/components/wrappers/GenerikWrapper/DragWrapper/DragWrapper.ts +230 -0
- package/components/ui/components/wrappers/GenerikWrapper/GenerikWrapper.style.ts +135 -0
- package/components/ui/components/wrappers/GenerikWrapper/GenerikWrapper.ts +230 -0
- package/components/ui/components/wrappers/GenerikWrapper/QuickActionWrapper/QuickActionWrapper.style.ts +99 -0
- package/components/ui/components/wrappers/GenerikWrapper/QuickActionWrapper/QuickActionWrapper.ts +94 -0
- package/components/ui/components/wrappers/GenerikWrapper/ResizeWrapper/ResizeWrapper.style.ts +102 -0
- package/components/ui/components/wrappers/GenerikWrapper/ResizeWrapper/ResizeWrapper.ts +258 -0
- package/components/ui/components/wrappers/PreviewWrapper.ts +28 -0
- package/components/ui/components/wrappers/RectangleSelection/RectangleSelection.ts +154 -0
- package/components/ui/nuraly-ui/.storybook/main.ts +31 -0
- package/components/ui/nuraly-ui/.storybook/manager.ts +17 -0
- package/components/ui/nuraly-ui/.storybook/preview.ts +94 -0
- package/components/ui/nuraly-ui/LICENSE +28 -0
- package/components/ui/nuraly-ui/README.md +248 -0
- package/components/ui/nuraly-ui/examples/README.md +413 -0
- package/components/ui/nuraly-ui/packages/common/README.md +137 -0
- package/components/ui/nuraly-ui/packages/common/dist/constants/index.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/constants.js +7 -0
- package/components/ui/nuraly-ui/packages/common/dist/controllers/index.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/controllers.js +22 -0
- package/components/ui/nuraly-ui/packages/common/dist/index.js +27 -0
- package/components/ui/nuraly-ui/packages/common/dist/mixins/index.js +3 -0
- package/components/ui/nuraly-ui/packages/common/dist/mixins.js +29 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/base-mixin.js +38 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/constants.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/controllers/dropdown.controller.js +341 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/controllers/dropdown.interface.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/controllers/index.js +4 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/controllers/theme.controller.js +133 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/dependency-mixin.js +141 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/event-handler-mixin.js +95 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/index.js +17 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/theme-mixin.js +194 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/themes.js +85 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/utils.js +85 -0
- package/components/ui/nuraly-ui/packages/common/dist/shared/validation.types.js +17 -0
- package/components/ui/nuraly-ui/packages/common/dist/themes/index.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/themes.js +23 -0
- package/components/ui/nuraly-ui/packages/common/dist/utils/index.js +2 -0
- package/components/ui/nuraly-ui/packages/common/dist/utils.js +22 -0
- package/components/ui/nuraly-ui/packages/forms/README.md +84 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/LICENSE +15 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/README.md +294 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/copy/copy-sync.js +171 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/copy/copy.js +175 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/copy/index.js +7 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/empty/index.js +39 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/file.js +66 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/link.js +64 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/ensure/symlink.js +67 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/fs/index.js +146 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/index.js +16 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/json/index.js +16 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/move/index.js +7 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/move/move-sync.js +55 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/move/move.js +59 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/output-file/index.js +31 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/remove/index.js +17 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/util/async.js +29 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/util/stat.js +159 -0
- package/components/ui/nuraly-ui/packages/forms/node_modules/fs-extra/lib/util/utimes.js +36 -0
- package/components/ui/nuraly-ui/packages/layout/README.md +77 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/LICENSE +15 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/README.md +294 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/copy/copy-sync.js +171 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/copy/copy.js +175 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/copy/index.js +7 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/empty/index.js +39 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/file.js +66 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/link.js +64 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/ensure/symlink.js +67 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/fs/index.js +146 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/index.js +16 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/json/index.js +16 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/move/index.js +7 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/move/move-sync.js +55 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/move/move.js +59 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/output-file/index.js +31 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/remove/index.js +17 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/util/async.js +29 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/util/stat.js +159 -0
- package/components/ui/nuraly-ui/packages/layout/node_modules/fs-extra/lib/util/utimes.js +36 -0
- package/components/ui/nuraly-ui/packages/themes/README.md +146 -0
- package/components/ui/nuraly-ui/packages/themes/scripts/build.js +444 -0
- package/components/ui/nuraly-ui/rollup.config.js +144 -0
- package/components/ui/nuraly-ui/src/components/alert/README.md +236 -0
- package/components/ui/nuraly-ui/src/components/alert/alert.component.ts +225 -0
- package/components/ui/nuraly-ui/src/components/alert/alert.stories.ts +466 -0
- package/components/ui/nuraly-ui/src/components/alert/alert.style.ts +192 -0
- package/components/ui/nuraly-ui/src/components/alert/alert.types.ts +57 -0
- package/components/ui/nuraly-ui/src/components/alert/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/alert/react.ts +17 -0
- package/components/ui/nuraly-ui/src/components/badge/README.md +319 -0
- package/components/ui/nuraly-ui/src/components/badge/badge.component.ts +314 -0
- package/components/ui/nuraly-ui/src/components/badge/badge.stories.ts +582 -0
- package/components/ui/nuraly-ui/src/components/badge/badge.style.ts +250 -0
- package/components/ui/nuraly-ui/src/components/badge/badge.types.ts +100 -0
- package/components/ui/nuraly-ui/src/components/badge/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/badge/react.ts +9 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/README.md +243 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/breadcrumb.component.ts +280 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/breadcrumb.stories.ts +389 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/breadcrumb.style.ts +154 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/breadcrumb.types.ts +66 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/breadcrumb/react.ts +11 -0
- package/components/ui/nuraly-ui/src/components/button/README.md +331 -0
- package/components/ui/nuraly-ui/src/components/button/button.component.ts +317 -0
- package/components/ui/nuraly-ui/src/components/button/button.stories.ts +861 -0
- package/components/ui/nuraly-ui/src/components/button/button.style.ts +520 -0
- package/components/ui/nuraly-ui/src/components/button/button.types.ts +68 -0
- package/components/ui/nuraly-ui/src/components/button/controllers/base.controller.ts +99 -0
- package/components/ui/nuraly-ui/src/components/button/controllers/index.ts +10 -0
- package/components/ui/nuraly-ui/src/components/button/controllers/keyboard.controller.ts +89 -0
- package/components/ui/nuraly-ui/src/components/button/controllers/link.controller.ts +86 -0
- package/components/ui/nuraly-ui/src/components/button/controllers/ripple.controller.ts +79 -0
- package/components/ui/nuraly-ui/src/components/button/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/button/interfaces/base-controller.interface.ts +67 -0
- package/components/ui/nuraly-ui/src/components/button/interfaces/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/button/react.ts +11 -0
- package/components/ui/nuraly-ui/src/components/button/test/nr-button_test.ts +90 -0
- package/components/ui/nuraly-ui/src/components/canvas/canvas.component.ts +306 -0
- package/components/ui/nuraly-ui/src/components/canvas/demo/canvas-demo.ts +18 -0
- package/components/ui/nuraly-ui/src/components/canvas/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/canvas/react.ts +13 -0
- package/components/ui/nuraly-ui/src/components/card/card.component.ts +50 -0
- package/components/ui/nuraly-ui/src/components/card/card.stories.ts +360 -0
- package/components/ui/nuraly-ui/src/components/card/card.style.ts +62 -0
- package/components/ui/nuraly-ui/src/components/card/card.types.ts +17 -0
- package/components/ui/nuraly-ui/src/components/card/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/card/react.ts +12 -0
- package/components/ui/nuraly-ui/src/components/carousel/carousel.component.ts +116 -0
- package/components/ui/nuraly-ui/src/components/carousel/carousel.style.ts +69 -0
- package/components/ui/nuraly-ui/src/components/carousel/demo/carousel-demo.ts +59 -0
- package/components/ui/nuraly-ui/src/components/carousel/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/carousel/react.ts +12 -0
- package/components/ui/nuraly-ui/src/components/chatbot/README.md +527 -0
- package/components/ui/nuraly-ui/src/components/chatbot/chatbot.component.ts +730 -0
- package/components/ui/nuraly-ui/src/components/chatbot/chatbot.stories.ts +2549 -0
- package/components/ui/nuraly-ui/src/components/chatbot/chatbot.style.ts +1272 -0
- package/components/ui/nuraly-ui/src/components/chatbot/chatbot.types.ts +269 -0
- package/components/ui/nuraly-ui/src/components/chatbot/controllers/index.ts +9 -0
- package/components/ui/nuraly-ui/src/components/chatbot/controllers/scroll.controller.ts +59 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/README.md +550 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/chatbot-core.controller.ts +918 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/event-bus.ts +104 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/file-handler.ts +79 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/index.ts +12 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/message-handler.ts +117 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/module-handler.ts +49 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/state-handler.ts +152 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/suggestion-handler.ts +38 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/handlers/thread-handler.ts +153 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/index.ts +47 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/localization.service.ts +20 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/plugin.service.ts +103 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/provider.service.ts +342 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/storage.service.ts +122 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/services/validation.service.ts +107 -0
- package/components/ui/nuraly-ui/src/components/chatbot/core/types.ts +456 -0
- package/components/ui/nuraly-ui/src/components/chatbot/file-upload-validation.stories.ts +278 -0
- package/components/ui/nuraly-ui/src/components/chatbot/index.ts +27 -0
- package/components/ui/nuraly-ui/src/components/chatbot/locales/generated/ar.ts +19 -0
- package/components/ui/nuraly-ui/src/components/chatbot/locales/generated/fr.ts +19 -0
- package/components/ui/nuraly-ui/src/components/chatbot/locales/locale-codes.ts +25 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/analytics-plugin.ts +63 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/chat-plugin.ts +76 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/flight-card-plugin.ts +636 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/flight-card.stories.ts +929 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/index.ts +14 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/markdown-plugin.stories.ts +155 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/markdown-plugin.ts +103 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/persistence-plugin.ts +97 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/print-job-card-plugin.ts +537 -0
- package/components/ui/nuraly-ui/src/components/chatbot/plugins/print-job-card.stories.ts +649 -0
- package/components/ui/nuraly-ui/src/components/chatbot/providers/custom-api-provider.ts +239 -0
- package/components/ui/nuraly-ui/src/components/chatbot/providers/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/chatbot/providers/mock-provider.ts +433 -0
- package/components/ui/nuraly-ui/src/components/chatbot/providers/openai-provider.ts +239 -0
- package/components/ui/nuraly-ui/src/components/chatbot/react.ts +57 -0
- package/components/ui/nuraly-ui/src/components/chatbot/storage/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/chatbot/storage/storage-implementations.ts +167 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/chatbot-main.template.ts +157 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/file-preview-modal.template.ts +90 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/file-upload-area.template.ts +43 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/index.ts +14 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/input-box.template.ts +267 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/message.template.ts +240 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/suggestion.template.ts +57 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/thread-sidebar.template.ts +67 -0
- package/components/ui/nuraly-ui/src/components/chatbot/templates/url-modal.template.ts +121 -0
- package/components/ui/nuraly-ui/src/components/checkbox/checkbox.component.ts +173 -0
- package/components/ui/nuraly-ui/src/components/checkbox/checkbox.stories.ts +521 -0
- package/components/ui/nuraly-ui/src/components/checkbox/checkbox.style.ts +324 -0
- package/components/ui/nuraly-ui/src/components/checkbox/checkbox.types.ts +5 -0
- package/components/ui/nuraly-ui/src/components/checkbox/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/checkbox/mixins/checkbox-event-mixin.ts +180 -0
- package/components/ui/nuraly-ui/src/components/checkbox/mixins/checkbox-focus-mixin.ts +99 -0
- package/components/ui/nuraly-ui/src/components/checkbox/mixins/index.ts +27 -0
- package/components/ui/nuraly-ui/src/components/checkbox/react.ts +12 -0
- package/components/ui/nuraly-ui/src/components/checkbox/test/checkbox_test.ts +97 -0
- package/components/ui/nuraly-ui/src/components/collapse/collapse.component.ts +315 -0
- package/components/ui/nuraly-ui/src/components/collapse/collapse.stories.ts +738 -0
- package/components/ui/nuraly-ui/src/components/collapse/collapse.style.ts +236 -0
- package/components/ui/nuraly-ui/src/components/collapse/collapse.type.ts +95 -0
- package/components/ui/nuraly-ui/src/components/collapse/controllers/accordion.controller.ts +169 -0
- package/components/ui/nuraly-ui/src/components/collapse/controllers/animation.controller.ts +129 -0
- package/components/ui/nuraly-ui/src/components/collapse/controllers/base.controller.ts +114 -0
- package/components/ui/nuraly-ui/src/components/collapse/controllers/index.ts +15 -0
- package/components/ui/nuraly-ui/src/components/collapse/controllers/keyboard.controller.ts +212 -0
- package/components/ui/nuraly-ui/src/components/collapse/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/collapse/react.ts +13 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-holder.component.ts +104 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-holder.style.ts +46 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-picker.component.ts +398 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-picker.stories.ts +888 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-picker.style.ts +86 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/color-picker.types.ts +64 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/controllers/base.controller.ts +64 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/controllers/dropdown.controller.ts +268 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/controllers/event.controller.ts +147 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/controllers/index.ts +3 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/default-color-sets.component.ts +119 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/default-color-sets.style.ts +35 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/interfaces/index.ts +67 -0
- package/components/ui/nuraly-ui/src/components/colorpicker/react.ts +13 -0
- package/components/ui/nuraly-ui/src/components/console/react.ts +12 -0
- package/components/ui/nuraly-ui/src/components/datepicker/README.md +60 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/calendar.controller.ts +252 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/keyboard.controller.ts +290 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/month-year-dropdown.controller.ts +108 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/positioning.controller.ts +278 -0
- package/components/ui/nuraly-ui/src/components/datepicker/controllers/selection.controller.ts +303 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.component.ts +659 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.constant.ts +81 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.stories.ts +461 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.style.ts +456 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.style.variables.ts +119 -0
- package/components/ui/nuraly-ui/src/components/datepicker/datepicker.types.ts +154 -0
- package/components/ui/nuraly-ui/src/components/datepicker/index.ts +3 -0
- package/components/ui/nuraly-ui/src/components/datepicker/interfaces/base-controller.interface.ts +42 -0
- package/components/ui/nuraly-ui/src/components/datepicker/interfaces/datepicker-controllers.interface.ts +128 -0
- package/components/ui/nuraly-ui/src/components/datepicker/interfaces/index.ts +15 -0
- package/components/ui/nuraly-ui/src/components/datepicker/react.ts +24 -0
- package/components/ui/nuraly-ui/src/components/datepicker/templates/days.template.ts +57 -0
- package/components/ui/nuraly-ui/src/components/datepicker/templates/dropdown.template.ts +61 -0
- package/components/ui/nuraly-ui/src/components/datepicker/templates/headers.template.ts +7 -0
- package/components/ui/nuraly-ui/src/components/datepicker/templates/months.template.ts +16 -0
- package/components/ui/nuraly-ui/src/components/datepicker/templates/years.template.ts +18 -0
- package/components/ui/nuraly-ui/src/components/datepicker/test/datepicker_test.ts +124 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/day.helper.ts +56 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/formatter.ts +8 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/locale.helper.ts +152 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/month.helper.ts +26 -0
- package/components/ui/nuraly-ui/src/components/datepicker/utils/string.helper.ts +3 -0
- package/components/ui/nuraly-ui/src/components/divider/divider.component.ts +172 -0
- package/components/ui/nuraly-ui/src/components/divider/divider.stories.ts +271 -0
- package/components/ui/nuraly-ui/src/components/divider/divider.style.ts +139 -0
- package/components/ui/nuraly-ui/src/components/divider/divider.types.ts +59 -0
- package/components/ui/nuraly-ui/src/components/divider/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/divider/react.ts +9 -0
- package/components/ui/nuraly-ui/src/components/document/demo/document-demo.ts +28 -0
- package/components/ui/nuraly-ui/src/components/document/document.component.ts +133 -0
- package/components/ui/nuraly-ui/src/components/document/document.stories.ts +266 -0
- package/components/ui/nuraly-ui/src/components/document/document.style.ts +210 -0
- package/components/ui/nuraly-ui/src/components/document/document.types.ts +83 -0
- package/components/ui/nuraly-ui/src/components/document/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/document/react.ts +15 -0
- package/components/ui/nuraly-ui/src/components/dropdown/controllers/base.controller.ts +85 -0
- package/components/ui/nuraly-ui/src/components/dropdown/controllers/dropdown.controller.ts +476 -0
- package/components/ui/nuraly-ui/src/components/dropdown/controllers/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/dropdown/dropdown.component.ts +348 -0
- package/components/ui/nuraly-ui/src/components/dropdown/dropdown.stories.ts +1271 -0
- package/components/ui/nuraly-ui/src/components/dropdown/dropdown.style.ts +462 -0
- package/components/ui/nuraly-ui/src/components/dropdown/dropdown.types.ts +109 -0
- package/components/ui/nuraly-ui/src/components/dropdown/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/dropdown/interfaces/controller-interfaces.ts +98 -0
- package/components/ui/nuraly-ui/src/components/dropdown/interfaces/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/dropdown/react.ts +14 -0
- package/components/ui/nuraly-ui/src/components/dropdown/templates/nr-dropdown-item.style.ts +35 -0
- package/components/ui/nuraly-ui/src/components/dropdown/templates/nr-dropdown-item.ts +47 -0
- package/components/ui/nuraly-ui/src/components/dropdown/templates/nr-dropdown-menu.style.ts +50 -0
- package/components/ui/nuraly-ui/src/components/dropdown/templates/nr-dropdown-menu.ts +52 -0
- package/components/ui/nuraly-ui/src/components/file-upload/demo/file-upload-demo.ts +151 -0
- package/components/ui/nuraly-ui/src/components/file-upload/file-upload.component.ts +371 -0
- package/components/ui/nuraly-ui/src/components/file-upload/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/file-upload/react.ts +14 -0
- package/components/ui/nuraly-ui/src/components/file-upload/readme.md +98 -0
- package/components/ui/nuraly-ui/src/components/file-upload/styles.ts +284 -0
- package/components/ui/nuraly-ui/src/components/file-upload/types.ts +10 -0
- package/components/ui/nuraly-ui/src/components/file-upload/utils.ts +23 -0
- package/components/ui/nuraly-ui/src/components/flex/README.md +235 -0
- package/components/ui/nuraly-ui/src/components/flex/flex.component.ts +186 -0
- package/components/ui/nuraly-ui/src/components/flex/flex.stories.ts +486 -0
- package/components/ui/nuraly-ui/src/components/flex/flex.style.ts +101 -0
- package/components/ui/nuraly-ui/src/components/flex/flex.types.ts +70 -0
- package/components/ui/nuraly-ui/src/components/flex/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/flex/react.ts +9 -0
- package/components/ui/nuraly-ui/src/components/form/README.md +152 -0
- package/components/ui/nuraly-ui/src/components/form/controllers/submission.controller.ts +243 -0
- package/components/ui/nuraly-ui/src/components/form/controllers/validation.controller.ts +268 -0
- package/components/ui/nuraly-ui/src/components/form/form.component.ts +699 -0
- package/components/ui/nuraly-ui/src/components/form/form.stories.ts +794 -0
- package/components/ui/nuraly-ui/src/components/form/form.style.ts +69 -0
- package/components/ui/nuraly-ui/src/components/form/form.types.ts +104 -0
- package/components/ui/nuraly-ui/src/components/form/index.ts +15 -0
- package/components/ui/nuraly-ui/src/components/form/interfaces/validation.interface.ts +139 -0
- package/components/ui/nuraly-ui/src/components/grid/README.md +196 -0
- package/components/ui/nuraly-ui/src/components/grid/col.component.ts +262 -0
- package/components/ui/nuraly-ui/src/components/grid/col.style.ts +117 -0
- package/components/ui/nuraly-ui/src/components/grid/grid.stories.ts +442 -0
- package/components/ui/nuraly-ui/src/components/grid/grid.types.ts +89 -0
- package/components/ui/nuraly-ui/src/components/grid/index.ts +3 -0
- package/components/ui/nuraly-ui/src/components/grid/react.ts +16 -0
- package/components/ui/nuraly-ui/src/components/grid/row.component.ts +203 -0
- package/components/ui/nuraly-ui/src/components/grid/row.style.ts +68 -0
- package/components/ui/nuraly-ui/src/components/icon/icon.component.ts +219 -0
- package/components/ui/nuraly-ui/src/components/icon/icon.stories.ts +160 -0
- package/components/ui/nuraly-ui/src/components/icon/icon.style.ts +214 -0
- package/components/ui/nuraly-ui/src/components/icon/icon.types.ts +4 -0
- package/components/ui/nuraly-ui/src/components/icon/icon.variables.ts +132 -0
- package/components/ui/nuraly-ui/src/components/icon/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/icon/mixins/clickable-mixin.ts +154 -0
- package/components/ui/nuraly-ui/src/components/icon/mixins/index.ts +7 -0
- package/components/ui/nuraly-ui/src/components/icon/react.ts +8 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/README.md +106 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/controllers/event.controller.ts +94 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/controllers/index.ts +9 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/controllers/search.controller.ts +76 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/controllers/selection.controller.ts +50 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/icon-picker.component.ts +324 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/icon-picker.constant.ts +33 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/icon-picker.stories.ts +255 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/icon-picker.style.ts +217 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/icon-picker.types.ts +56 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/index.ts +9 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/interfaces/icon-picker.interface.ts +14 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/interfaces/index.ts +7 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/react.ts +22 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/utils/icon-filter.utils.ts +119 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/utils/icon-loader.utils.ts +129 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/utils/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/iconpicker/utils/lucide-icons.ts +1624 -0
- package/components/ui/nuraly-ui/src/components/image/image.component.ts +136 -0
- package/components/ui/nuraly-ui/src/components/image/image.stories.ts +236 -0
- package/components/ui/nuraly-ui/src/components/image/image.style.ts +83 -0
- package/components/ui/nuraly-ui/src/components/image/image.types.ts +83 -0
- package/components/ui/nuraly-ui/src/components/image/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/image/react.ts +15 -0
- package/components/ui/nuraly-ui/src/components/input/README.md +432 -0
- package/components/ui/nuraly-ui/src/components/input/controllers/base.controller.ts +114 -0
- package/components/ui/nuraly-ui/src/components/input/controllers/event.controller.ts +421 -0
- package/components/ui/nuraly-ui/src/components/input/controllers/index.ts +32 -0
- package/components/ui/nuraly-ui/src/components/input/controllers/state.controller.ts +313 -0
- package/components/ui/nuraly-ui/src/components/input/controllers/validation.controller.ts +806 -0
- package/components/ui/nuraly-ui/src/components/input/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/input/input.component.ts +557 -0
- package/components/ui/nuraly-ui/src/components/input/input.stories.ts +1759 -0
- package/components/ui/nuraly-ui/src/components/input/input.style.ts +812 -0
- package/components/ui/nuraly-ui/src/components/input/input.types.ts +195 -0
- package/components/ui/nuraly-ui/src/components/input/mixins/focus-mixin.ts +112 -0
- package/components/ui/nuraly-ui/src/components/input/mixins/index.ts +14 -0
- package/components/ui/nuraly-ui/src/components/input/mixins/number-mixin.ts +167 -0
- package/components/ui/nuraly-ui/src/components/input/mixins/selection-mixin.ts +125 -0
- package/components/ui/nuraly-ui/src/components/input/react.ts +15 -0
- package/components/ui/nuraly-ui/src/components/input/test/nr-input_test.ts +163 -0
- package/components/ui/nuraly-ui/src/components/input/utils/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/input/utils/input-renderers.ts +217 -0
- package/components/ui/nuraly-ui/src/components/input/utils/input-validation.utils.ts +133 -0
- package/components/ui/nuraly-ui/src/components/input/validation.ts +3 -0
- package/components/ui/nuraly-ui/src/components/label/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/label/label.component.ts +52 -0
- package/components/ui/nuraly-ui/src/components/label/label.stories.ts +311 -0
- package/components/ui/nuraly-ui/src/components/label/label.style.ts +70 -0
- package/components/ui/nuraly-ui/src/components/label/label.style.variables.ts +35 -0
- package/components/ui/nuraly-ui/src/components/label/label.types.ts +48 -0
- package/components/ui/nuraly-ui/src/components/label/react.ts +11 -0
- package/components/ui/nuraly-ui/src/components/layout/README.md +200 -0
- package/components/ui/nuraly-ui/src/components/layout/content.component.ts +45 -0
- package/components/ui/nuraly-ui/src/components/layout/content.style.ts +17 -0
- package/components/ui/nuraly-ui/src/components/layout/footer.component.ts +54 -0
- package/components/ui/nuraly-ui/src/components/layout/footer.style.ts +17 -0
- package/components/ui/nuraly-ui/src/components/layout/header.component.ts +55 -0
- package/components/ui/nuraly-ui/src/components/layout/header.style.ts +19 -0
- package/components/ui/nuraly-ui/src/components/layout/index.ts +18 -0
- package/components/ui/nuraly-ui/src/components/layout/layout.component.ts +87 -0
- package/components/ui/nuraly-ui/src/components/layout/layout.stories.ts +616 -0
- package/components/ui/nuraly-ui/src/components/layout/layout.style.ts +23 -0
- package/components/ui/nuraly-ui/src/components/layout/layout.types.ts +90 -0
- package/components/ui/nuraly-ui/src/components/layout/react.ts +41 -0
- package/components/ui/nuraly-ui/src/components/layout/sider.component.ts +294 -0
- package/components/ui/nuraly-ui/src/components/layout/sider.style.ts +104 -0
- package/components/ui/nuraly-ui/src/components/menu/README.md +390 -0
- package/components/ui/nuraly-ui/src/components/menu/controllers/accessibility.controller.ts +257 -0
- package/components/ui/nuraly-ui/src/components/menu/controllers/base.controller.ts +123 -0
- package/components/ui/nuraly-ui/src/components/menu/controllers/index.ts +10 -0
- package/components/ui/nuraly-ui/src/components/menu/controllers/keyboard.controller.ts +360 -0
- package/components/ui/nuraly-ui/src/components/menu/controllers/state.controller.ts +268 -0
- package/components/ui/nuraly-ui/src/components/menu/index.ts +3 -0
- package/components/ui/nuraly-ui/src/components/menu/interfaces/controller.interface.ts +56 -0
- package/components/ui/nuraly-ui/src/components/menu/interfaces/index.ts +7 -0
- package/components/ui/nuraly-ui/src/components/menu/menu.component.ts +341 -0
- package/components/ui/nuraly-ui/src/components/menu/menu.constants.ts +12 -0
- package/components/ui/nuraly-ui/src/components/menu/menu.stories.ts +807 -0
- package/components/ui/nuraly-ui/src/components/menu/menu.style.ts +358 -0
- package/components/ui/nuraly-ui/src/components/menu/menu.types.ts +60 -0
- package/components/ui/nuraly-ui/src/components/menu/react.ts +11 -0
- package/components/ui/nuraly-ui/src/components/modal/controllers/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/modal/controllers/modal-drag-controller.ts +139 -0
- package/components/ui/nuraly-ui/src/components/modal/controllers/modal-keyboard-controller.ts +152 -0
- package/components/ui/nuraly-ui/src/components/modal/index.ts +10 -0
- package/components/ui/nuraly-ui/src/components/modal/modal-manager.ts +209 -0
- package/components/ui/nuraly-ui/src/components/modal/modal.component.ts +475 -0
- package/components/ui/nuraly-ui/src/components/modal/modal.stories.ts +823 -0
- package/components/ui/nuraly-ui/src/components/modal/modal.style.ts +369 -0
- package/components/ui/nuraly-ui/src/components/modal/modal.types.ts +148 -0
- package/components/ui/nuraly-ui/src/components/modal/react.ts +16 -0
- package/components/ui/nuraly-ui/src/components/panel/README.md +218 -0
- package/components/ui/nuraly-ui/src/components/panel/controllers/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/panel/controllers/panel-drag-controller.ts +151 -0
- package/components/ui/nuraly-ui/src/components/panel/controllers/panel-resize-controller.ts +153 -0
- package/components/ui/nuraly-ui/src/components/panel/index.ts +9 -0
- package/components/ui/nuraly-ui/src/components/panel/panel.component.ts +760 -0
- package/components/ui/nuraly-ui/src/components/panel/panel.stories.ts +978 -0
- package/components/ui/nuraly-ui/src/components/panel/panel.style.ts +499 -0
- package/components/ui/nuraly-ui/src/components/panel/panel.types.ts +89 -0
- package/components/ui/nuraly-ui/src/components/panel/react.ts +18 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/README.md +403 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/popconfirm.component.ts +336 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/popconfirm.stories.ts +491 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/popconfirm.style.ts +207 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/popconfirm.types.ts +66 -0
- package/components/ui/nuraly-ui/src/components/popconfirm/react.ts +14 -0
- package/components/ui/nuraly-ui/src/components/radio/README.md +95 -0
- package/components/ui/nuraly-ui/src/components/radio/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/radio/radio.component.ts +186 -0
- package/components/ui/nuraly-ui/src/components/radio/radio.stories.ts +317 -0
- package/components/ui/nuraly-ui/src/components/radio/radio.style.ts +150 -0
- package/components/ui/nuraly-ui/src/components/radio/radio.types.ts +14 -0
- package/components/ui/nuraly-ui/src/components/radio/react.ts +20 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/focus.controller.ts +251 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/group.controller.ts +198 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/keyboard.controller.ts +122 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/ripple.controller.ts +248 -0
- package/components/ui/nuraly-ui/src/components/radio-group/controllers/validation.controller.ts +189 -0
- package/components/ui/nuraly-ui/src/components/radio-group/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/base-controller.interface.ts +87 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/focus-controller.interface.ts +45 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/index.ts +14 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/ripple-controller.interface.ts +35 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/selection-controller.interface.ts +51 -0
- package/components/ui/nuraly-ui/src/components/radio-group/interfaces/validation-controller.interface.ts +53 -0
- package/components/ui/nuraly-ui/src/components/radio-group/radio-group.component.ts +426 -0
- package/components/ui/nuraly-ui/src/components/radio-group/radio-group.stories.ts +1334 -0
- package/components/ui/nuraly-ui/src/components/radio-group/radio-group.style.ts +248 -0
- package/components/ui/nuraly-ui/src/components/radio-group/radio-group.types.ts +43 -0
- package/components/ui/nuraly-ui/src/components/radio-group/radio.constant.ts +1 -0
- package/components/ui/nuraly-ui/src/components/radio-group/react.ts +18 -0
- package/components/ui/nuraly-ui/src/components/radio-group/test/radio_test.ts +87 -0
- package/components/ui/nuraly-ui/src/components/select/README.md +316 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/base.controller.ts +93 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/dropdown.controller.ts +415 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/event.controller.ts +118 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/focus.controller.ts +255 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/keyboard.controller.ts +407 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/search.controller.ts +187 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/selection.controller.ts +238 -0
- package/components/ui/nuraly-ui/src/components/select/controllers/validation.controller.ts +236 -0
- package/components/ui/nuraly-ui/src/components/select/index.ts +36 -0
- package/components/ui/nuraly-ui/src/components/select/interfaces/base-controller.interface.ts +155 -0
- package/components/ui/nuraly-ui/src/components/select/interfaces/controller-interfaces.ts +105 -0
- package/components/ui/nuraly-ui/src/components/select/interfaces/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/select/react.ts +30 -0
- package/components/ui/nuraly-ui/src/components/select/select.component.ts +804 -0
- package/components/ui/nuraly-ui/src/components/select/select.constant.ts +142 -0
- package/components/ui/nuraly-ui/src/components/select/select.stories.ts +1653 -0
- package/components/ui/nuraly-ui/src/components/select/select.style.ts +593 -0
- package/components/ui/nuraly-ui/src/components/select/select.types.ts +120 -0
- package/components/ui/nuraly-ui/src/components/skeleton/README.md +373 -0
- package/components/ui/nuraly-ui/src/components/skeleton/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/skeleton/react.ts +10 -0
- package/components/ui/nuraly-ui/src/components/skeleton/skeleton.component.ts +385 -0
- package/components/ui/nuraly-ui/src/components/skeleton/skeleton.stories.ts +425 -0
- package/components/ui/nuraly-ui/src/components/skeleton/skeleton.style.ts +224 -0
- package/components/ui/nuraly-ui/src/components/skeleton/skeleton.types.ts +90 -0
- package/components/ui/nuraly-ui/src/components/slider-input/README.md +145 -0
- package/components/ui/nuraly-ui/src/components/slider-input/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/slider-input/react.ts +12 -0
- package/components/ui/nuraly-ui/src/components/slider-input/slider-input.component.ts +184 -0
- package/components/ui/nuraly-ui/src/components/slider-input/slider-input.stories.ts +361 -0
- package/components/ui/nuraly-ui/src/components/slider-input/slider-input.style.ts +171 -0
- package/components/ui/nuraly-ui/src/components/slider-input/slider-input.style.variables.ts +59 -0
- package/components/ui/nuraly-ui/src/components/slider-input/slider-input.types.ts +24 -0
- package/components/ui/nuraly-ui/src/components/slider-input/utils/debounce.ts +7 -0
- package/components/ui/nuraly-ui/src/components/slider-input/utils/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/base.controller.ts +99 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/filter.controller.ts +163 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/pagination.controller.ts +83 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/selection.controller.ts +143 -0
- package/components/ui/nuraly-ui/src/components/table/controllers/sort.controller.ts +115 -0
- package/components/ui/nuraly-ui/src/components/table/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/table/interfaces/index.ts +7 -0
- package/components/ui/nuraly-ui/src/components/table/interfaces/table-host.interface.ts +53 -0
- package/components/ui/nuraly-ui/src/components/table/react.ts +14 -0
- package/components/ui/nuraly-ui/src/components/table/table.component.ts +344 -0
- package/components/ui/nuraly-ui/src/components/table/table.stories.ts +1072 -0
- package/components/ui/nuraly-ui/src/components/table/table.style.ts +689 -0
- package/components/ui/nuraly-ui/src/components/table/table.types.ts +91 -0
- package/components/ui/nuraly-ui/src/components/table/templates/actions.template.ts +22 -0
- package/components/ui/nuraly-ui/src/components/table/templates/column-filter.template.ts +88 -0
- package/components/ui/nuraly-ui/src/components/table/templates/content.template.ts +257 -0
- package/components/ui/nuraly-ui/src/components/table/templates/empty.template.ts +49 -0
- package/components/ui/nuraly-ui/src/components/table/templates/filter.template.ts +35 -0
- package/components/ui/nuraly-ui/src/components/table/templates/index.ts +7 -0
- package/components/ui/nuraly-ui/src/components/table/templates/loading.template.ts +56 -0
- package/components/ui/nuraly-ui/src/components/table/templates/pagination.template.ts +70 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/base.controller.ts +136 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/dragdrop.controller.ts +251 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/editable.controller.ts +292 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/event.controller.ts +294 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/index.ts +42 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/keyboard.controller.ts +276 -0
- package/components/ui/nuraly-ui/src/components/tabs/controllers/popout.controller.ts +516 -0
- package/components/ui/nuraly-ui/src/components/tabs/index.ts +11 -0
- package/components/ui/nuraly-ui/src/components/tabs/react.ts +52 -0
- package/components/ui/nuraly-ui/src/components/tabs/tabs.component.ts +499 -0
- package/components/ui/nuraly-ui/src/components/tabs/tabs.constant.ts +30 -0
- package/components/ui/nuraly-ui/src/components/tabs/tabs.stories.ts +1334 -0
- package/components/ui/nuraly-ui/src/components/tabs/tabs.style.ts +569 -0
- package/components/ui/nuraly-ui/src/components/tabs/tabs.types.ts +261 -0
- package/components/ui/nuraly-ui/src/components/tag/README.md +22 -0
- package/components/ui/nuraly-ui/src/components/tag/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/tag/react.ts +13 -0
- package/components/ui/nuraly-ui/src/components/tag/tag.component.ts +167 -0
- package/components/ui/nuraly-ui/src/components/tag/tag.stories.ts +50 -0
- package/components/ui/nuraly-ui/src/components/tag/tag.style.ts +89 -0
- package/components/ui/nuraly-ui/src/components/tag/tag.types.ts +30 -0
- package/components/ui/nuraly-ui/src/components/textarea/README.md +314 -0
- package/components/ui/nuraly-ui/src/components/textarea/controllers/base.controller.ts +142 -0
- package/components/ui/nuraly-ui/src/components/textarea/controllers/event.controller.ts +484 -0
- package/components/ui/nuraly-ui/src/components/textarea/controllers/index.ts +16 -0
- package/components/ui/nuraly-ui/src/components/textarea/controllers/validation.controller.ts +347 -0
- package/components/ui/nuraly-ui/src/components/textarea/index.ts +19 -0
- package/components/ui/nuraly-ui/src/components/textarea/react.ts +16 -0
- package/components/ui/nuraly-ui/src/components/textarea/textarea.component.ts +716 -0
- package/components/ui/nuraly-ui/src/components/textarea/textarea.stories.ts +453 -0
- package/components/ui/nuraly-ui/src/components/textarea/textarea.style.ts +387 -0
- package/components/ui/nuraly-ui/src/components/textarea/textarea.types.ts +113 -0
- package/components/ui/nuraly-ui/src/components/timeline/README.md +340 -0
- package/components/ui/nuraly-ui/src/components/timeline/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/timeline/react.ts +9 -0
- package/components/ui/nuraly-ui/src/components/timeline/timeline.component.ts +235 -0
- package/components/ui/nuraly-ui/src/components/timeline/timeline.stories.ts +313 -0
- package/components/ui/nuraly-ui/src/components/timeline/timeline.style.ts +235 -0
- package/components/ui/nuraly-ui/src/components/timeline/timeline.types.ts +75 -0
- package/components/ui/nuraly-ui/src/components/timepicker/README.md +238 -0
- package/components/ui/nuraly-ui/src/components/timepicker/controllers/formatting.controller.ts +230 -0
- package/components/ui/nuraly-ui/src/components/timepicker/controllers/index.ts +9 -0
- package/components/ui/nuraly-ui/src/components/timepicker/controllers/selection.controller.ts +213 -0
- package/components/ui/nuraly-ui/src/components/timepicker/controllers/validation.controller.ts +240 -0
- package/components/ui/nuraly-ui/src/components/timepicker/index.ts +12 -0
- package/components/ui/nuraly-ui/src/components/timepicker/interfaces/timepicker.interface.ts +122 -0
- package/components/ui/nuraly-ui/src/components/timepicker/test/timepicker.test.ts +249 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.component.ts +786 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.constants.ts +94 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.stories.ts +643 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.style.ts +569 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.style.variables.ts +122 -0
- package/components/ui/nuraly-ui/src/components/timepicker/timepicker.types.ts +183 -0
- package/components/ui/nuraly-ui/src/components/timepicker/utils/time.utils.ts +288 -0
- package/components/ui/nuraly-ui/src/components/toast/README.md +535 -0
- package/components/ui/nuraly-ui/src/components/toast/controllers/base.controller.ts +105 -0
- package/components/ui/nuraly-ui/src/components/toast/controllers/index.ts +8 -0
- package/components/ui/nuraly-ui/src/components/toast/index.ts +10 -0
- package/components/ui/nuraly-ui/src/components/toast/react.ts +19 -0
- package/components/ui/nuraly-ui/src/components/toast/toast.component.ts +394 -0
- package/components/ui/nuraly-ui/src/components/toast/toast.stories.ts +895 -0
- package/components/ui/nuraly-ui/src/components/toast/toast.style.ts +339 -0
- package/components/ui/nuraly-ui/src/components/toast/toast.types.ts +155 -0
- package/components/ui/nuraly-ui/src/components/tooltips/demo/tooltips-demo.ts +128 -0
- package/components/ui/nuraly-ui/src/components/tooltips/index.ts +1 -0
- package/components/ui/nuraly-ui/src/components/tooltips/react.ts +0 -0
- package/components/ui/nuraly-ui/src/components/tooltips/test/tooltips_test.ts +175 -0
- package/components/ui/nuraly-ui/src/components/tooltips/tooltips.component.ts +282 -0
- package/components/ui/nuraly-ui/src/components/tooltips/tooltips.constant.ts +15 -0
- package/components/ui/nuraly-ui/src/components/tooltips/tooltips.style.ts +103 -0
- package/components/ui/nuraly-ui/src/components/tooltips/tooltips.variables.ts +14 -0
- package/components/ui/nuraly-ui/src/components/video/index.ts +2 -0
- package/components/ui/nuraly-ui/src/components/video/react.ts +17 -0
- package/components/ui/nuraly-ui/src/components/video/video.component.ts +179 -0
- package/components/ui/nuraly-ui/src/components/video/video.stories.ts +289 -0
- package/components/ui/nuraly-ui/src/components/video/video.style.ts +124 -0
- package/components/ui/nuraly-ui/src/components/video/video.types.ts +102 -0
- package/components/ui/nuraly-ui/src/helpers/ThemeHandler.ts +68 -0
- package/components/ui/nuraly-ui/src/helpers/test.ts +8 -0
- package/components/ui/nuraly-ui/src/introduction.stories.ts +161 -0
- package/components/ui/nuraly-ui/src/shared/README.md +87 -0
- package/components/ui/nuraly-ui/src/shared/base-mixin.ts +48 -0
- package/components/ui/nuraly-ui/src/shared/constants.ts +0 -0
- package/components/ui/nuraly-ui/src/shared/controllers/dropdown.controller.ts +393 -0
- package/components/ui/nuraly-ui/src/shared/controllers/dropdown.interface.ts +39 -0
- package/components/ui/nuraly-ui/src/shared/controllers/index.ts +3 -0
- package/components/ui/nuraly-ui/src/shared/controllers/theme.controller.ts +158 -0
- package/components/ui/nuraly-ui/src/shared/dependency-mixin.ts +174 -0
- package/components/ui/nuraly-ui/src/shared/event-handler-mixin.ts +190 -0
- package/components/ui/nuraly-ui/src/shared/index.ts +20 -0
- package/components/ui/nuraly-ui/src/shared/theme-mixin.ts +227 -0
- package/components/ui/nuraly-ui/src/shared/themes/README.md +135 -0
- package/components/ui/nuraly-ui/src/shared/themes/editor/README.md +202 -0
- package/components/ui/nuraly-ui/src/shared/themes/editor.stories.ts +366 -0
- package/components/ui/nuraly-ui/src/shared/themes/index.ts +132 -0
- package/components/ui/nuraly-ui/src/shared/utils.ts +94 -0
- package/components/ui/nuraly-ui/src/shared/validation.types.ts +118 -0
- package/components/ui/nuraly-ui/tools/bump-versions.js +83 -0
- package/components/ui/nuraly-ui/web-dev-server.config.js +25 -0
- package/components/ui/nuraly-ui/web-test-runner.config.js +124 -0
- package/dist/CodeEditor-Ch2tv9BE.js +106211 -0
- package/dist/SmartAttributeHandler-hoSLpm1Y.js +153 -0
- package/dist/abap-B2diVmjb.js +1314 -0
- package/dist/apex-3NuJ-nsI.js +315 -0
- package/dist/assets/editor.worker-vBWydyGC.js +11 -0
- package/dist/assets/html.worker-BSmGlhXp.js +458 -0
- package/dist/assets/json.worker-Dqnoedz4.js +42 -0
- package/dist/assets/ts.worker-DyHHPhrh.js +37021 -0
- package/dist/azcli-XGXuUsMB.js +74 -0
- package/dist/bat-B8Vhm634.js +95 -0
- package/dist/bicep-Cc8X5S_k.js +108 -0
- package/dist/cameligo-Bo3wBh9T.js +168 -0
- package/dist/clojure-CPoQlpIK.js +754 -0
- package/dist/coffee-BxvTGz39.js +228 -0
- package/dist/cpp-5RpEV7vC.js +390 -0
- package/dist/csharp-slXXP3fo.js +320 -0
- package/dist/csp-B98p6-gH.js +57 -0
- package/dist/css-BDsDSAin.js +186 -0
- package/dist/cssMode-Bt2uK8XM.js +1446 -0
- package/dist/cypher-Dc4IMouD.js +262 -0
- package/dist/dart-LhvE3yD2.js +270 -0
- package/dist/dockerfile-CwzplJeZ.js +132 -0
- package/dist/ecl-DxW3FiJi.js +454 -0
- package/dist/elixir-BI40g7TU.js +489 -0
- package/dist/flow9-tR2v0bGz.js +141 -0
- package/dist/freemarker2-DNc2IxPf.js +643 -0
- package/dist/fsharp-BLAma0OT.js +210 -0
- package/dist/go-nYcD3y4Z.js +208 -0
- package/dist/graphql-Dp1cHWmP.js +141 -0
- package/dist/handlebars-CIbFckEw.js +391 -0
- package/dist/hcl-6NT8Kbna.js +177 -0
- package/dist/html-nRs_fneU.js +281 -0
- package/dist/htmlMode-BjehA1YF.js +1456 -0
- package/dist/ini-BZCOLrEc.js +68 -0
- package/dist/java-DAMcfJbX.js +221 -0
- package/dist/javascript-Bn0HduZA.js +75 -0
- package/dist/jsonMode-CfGfcJRX.js +1866 -0
- package/dist/julia-CQ46G71H.js +496 -0
- package/dist/kotlin-CEjVo_6E.js +245 -0
- package/dist/less-DreV99nP.js +168 -0
- package/dist/lexon-DBVJhqLb.js +151 -0
- package/dist/liquid-m4D_LCnC.js +238 -0
- package/dist/lua-Dcc_j6L-.js +157 -0
- package/dist/m3-B9SlZL4n.js +210 -0
- package/dist/markdown-CuGw9_MP.js +202 -0
- package/dist/mdx-CakMRbCr.js +171 -0
- package/dist/micro-app-entry-CI1Rupdh.js +17479 -0
- package/dist/micro-app.bundle.js +8 -0
- package/dist/mips-BUWqP-OH.js +194 -0
- package/dist/msdax-DtkouYCg.js +377 -0
- package/dist/mysql-IkAsWSmF.js +876 -0
- package/dist/objective-c-B2-ronfg.js +188 -0
- package/dist/pascal-Bsnz2eJA.js +245 -0
- package/dist/pascaligo-D_sMUn0Q.js +158 -0
- package/dist/perl-BPzHt9SS.js +599 -0
- package/dist/pgsql-DlTJB0PD.js +847 -0
- package/dist/php-Dmq5OjwK.js +471 -0
- package/dist/pla-HJcccrBy.js +131 -0
- package/dist/postiats-OQn6DKv-.js +544 -0
- package/dist/powerquery-DKaMYC8w.js +890 -0
- package/dist/powershell-DWeJHik1.js +233 -0
- package/dist/protobuf-CBn_IseU.js +422 -0
- package/dist/pug-BoRpCINl.js +393 -0
- package/dist/python-oJwaiPUY.js +259 -0
- package/dist/qsharp-4rGyVZOw.js +282 -0
- package/dist/r-DsgLhBOb.js +245 -0
- package/dist/razor-u_dd4rqc.js +512 -0
- package/dist/redis-B2fdL4Bg.js +298 -0
- package/dist/redshift-DoaeyCkH.js +806 -0
- package/dist/restructuredtext-D-6OFBY9.js +162 -0
- package/dist/ruby-D1DD6baV.js +444 -0
- package/dist/rust-DssUV39M.js +337 -0
- package/dist/sb-Dmb6tAdv.js +110 -0
- package/dist/scala-Co3ETaym.js +353 -0
- package/dist/scheme-CMrqXTty.js +114 -0
- package/dist/scss-DkGudv8Q.js +244 -0
- package/dist/shell-BHN2BI4L.js +224 -0
- package/dist/solidity-b-R-raGB.js +1351 -0
- package/dist/sophia-Y4GjyxNB.js +190 -0
- package/dist/sparql-CDAPZb88.js +193 -0
- package/dist/sql-DkkpPiUq.js +818 -0
- package/dist/st-CSPV91Ej.js +415 -0
- package/dist/style.css +1 -0
- package/dist/swift-DdSC5O48.js +315 -0
- package/dist/systemverilog-CI03XpAv.js +556 -0
- package/dist/tcl-B8DayMSI.js +232 -0
- package/dist/tsMode-DlZ38d3D.js +813 -0
- package/dist/twig-B1AUPVB_.js +323 -0
- package/dist/typescript-Bjs2N5Be.js +328 -0
- package/dist/vb-BIC7ccdG.js +364 -0
- package/dist/wgsl-Bv2xeo60.js +420 -0
- package/dist/xml-BCveATLl.js +95 -0
- package/dist/yaml-BfWQPJQi.js +184 -0
- package/handlers/compiler.ts +362 -0
- package/handlers/context-setup.ts +349 -0
- package/handlers/handler-executor.ts +348 -0
- package/handlers/index.ts +184 -0
- package/handlers/runtime-api/applications.ts +18 -0
- package/handlers/runtime-api/component-properties.ts +78 -0
- package/handlers/runtime-api/components.ts +63 -0
- package/handlers/runtime-api/editor.ts +29 -0
- package/handlers/runtime-api/functions.ts +42 -0
- package/handlers/runtime-api/index.ts +221 -0
- package/handlers/runtime-api/navigation.ts +52 -0
- package/handlers/runtime-api/pages.ts +45 -0
- package/handlers/runtime-api/storage.ts +95 -0
- package/handlers/runtime-api/toast.ts +108 -0
- package/handlers/runtime-api/variables.ts +400 -0
- package/index.ts +188 -0
- package/micro-app/README.md +565 -0
- package/micro-app/index.ts +29 -0
- package/micro-app/messaging/MicroAppMessageBus.ts +246 -0
- package/micro-app/state/MicroAppPageManager.ts +275 -0
- package/micro-app/state/MicroAppRuntimeContext.ts +423 -0
- package/micro-app/state/MicroAppStoreContext.ts +441 -0
- package/micro-app/state/SharedVariableRegistry.ts +187 -0
- package/micro-app/state/VariableScopeManager.ts +310 -0
- package/micro-app/utils/ComponentNamespaceManager.ts +88 -0
- package/micro-app-entry.ts +34 -0
- package/package.json +119 -0
- package/redux/actions/aitchat.ts +17 -0
- package/redux/actions/application/addPageToApplicationAction.ts +14 -0
- package/redux/actions/application/addTempApplication.ts +8 -0
- package/redux/actions/application/closeShareApplicationModalAction.ts +5 -0
- package/redux/actions/application/index.ts +20 -0
- package/redux/actions/application/loadApplicationPermissionAction.ts +10 -0
- package/redux/actions/application/resetPermissionMessage.ts +8 -0
- package/redux/actions/application/setApplication.ts +5 -0
- package/redux/actions/application/setApplicationPermissionAction.ts +6 -0
- package/redux/actions/application/setDefaultApplicationPageIfNotSet.ts +12 -0
- package/redux/actions/application/setPermissionMessage.ts +8 -0
- package/redux/actions/application/showCreateApplicationModalAction.ts +5 -0
- package/redux/actions/application/showShareApplicationModalAction.ts +5 -0
- package/redux/actions/application/updateApplication.ts +16 -0
- package/redux/actions/component/addComponentAction.ts +90 -0
- package/redux/actions/component/addComponentAsChildOf.ts +29 -0
- package/redux/actions/component/addComponentToCurrentPageAction.ts +32 -0
- package/redux/actions/component/copyComponentAction.ts +12 -0
- package/redux/actions/component/deleteComponentAction.ts +52 -0
- package/redux/actions/component/index.ts +22 -0
- package/redux/actions/component/moveDraggedComponent.ts +130 -0
- package/redux/actions/component/moveDraggedComponentInside.ts +64 -0
- package/redux/actions/component/moveDraggedComponentIntoCurrentPageRoot.ts +50 -0
- package/redux/actions/component/setCurrentComponentIdAction.ts +6 -0
- package/redux/actions/component/setDraggingComponentInfo.ts +14 -0
- package/redux/actions/component/setHoveredComponentAction.ts +5 -0
- package/redux/actions/component/setHoveredComponentIdAction.ts +5 -0
- package/redux/actions/component/update-component-name.ts +63 -0
- package/redux/actions/component/updateComponentAttributes.ts +192 -0
- package/redux/actions/component.ts +25 -0
- package/redux/actions/debug/index.ts +1 -0
- package/redux/actions/debug/store.ts +72 -0
- package/redux/actions/editor/closeCreateApplicationModalAction.ts +5 -0
- package/redux/actions/editor/closeEditorTab.ts +9 -0
- package/redux/actions/editor/index.ts +12 -0
- package/redux/actions/editor/openEditorTab.ts +12 -0
- package/redux/actions/editor/setCurrentEditorTab.ts +8 -0
- package/redux/actions/editor/setEnvirementMode.ts +8 -0
- package/redux/actions/environment.ts +5 -0
- package/redux/actions/index.ts +28 -0
- package/redux/actions/kernel/index.ts +1 -0
- package/redux/actions/kernel/set-property.ts +0 -0
- package/redux/actions/page/addPageAction.ts +7 -0
- package/redux/actions/page/deletePageAction.ts +13 -0
- package/redux/actions/page/index.ts +12 -0
- package/redux/actions/page/removeComponentToCurrentPageAction.ts +32 -0
- package/redux/actions/page/setContextMenuEvent.ts +5 -0
- package/redux/actions/page/setCurrentPageAction.ts +6 -0
- package/redux/actions/page/setCurrentPageViewPort.ts +5 -0
- package/redux/actions/page/setResizing.ts +5 -0
- package/redux/actions/page/setShowBorder.ts +5 -0
- package/redux/actions/page/updatePageAction.ts +20 -0
- package/redux/actions/page/updatePageInfo.ts +5 -0
- package/redux/actions/page/updatePageStyleAttributes.ts +13 -0
- package/redux/actions/page/updatePageZoom.ts +5 -0
- package/redux/handlers/aichat/create-chat.handler.ts +22 -0
- package/redux/handlers/api-urls.ts +8 -0
- package/redux/handlers/applications/handler.ts +78 -0
- package/redux/handlers/applications/index.ts +1 -0
- package/redux/handlers/components/add-component.handler.ts +30 -0
- package/redux/handlers/components/delete-component.handler.ts +21 -0
- package/redux/handlers/components/index.ts +6 -0
- package/redux/handlers/components/interfaces/add-component.request.ts +4 -0
- package/redux/handlers/components/interfaces/index.ts +2 -0
- package/redux/handlers/components/interfaces/update-component.reques.ts +3 -0
- package/redux/handlers/components/refresh-component.ts +25 -0
- package/redux/handlers/components/update-component.handler.ts +32 -0
- package/redux/handlers/components/validation-handler.ts +45 -0
- package/redux/handlers/functions/build-function-handler.ts +10 -0
- package/redux/handlers/functions/deploy-function-handler.ts +10 -0
- package/redux/handlers/functions/index.ts +13 -0
- package/redux/handlers/functions/invoke-function-handler.ts +13 -0
- package/redux/handlers/functions/load-functions-handler.ts +10 -0
- package/redux/handlers/functions/update-function-handler.ts +13 -0
- package/redux/handlers/index.ts +10 -0
- package/redux/handlers/pages/deletePageHandler.ts +23 -0
- package/redux/handlers/pages/handler.ts +59 -0
- package/redux/handlers/pages/index.ts +4 -0
- package/redux/handlers/pages/page.interface.ts +14 -0
- package/redux/handlers/pages/refresh-pages.ts +26 -0
- package/redux/handlers/providers/interface.ts +7 -0
- package/redux/index.ts +8 -0
- package/redux/store/actions/component.ts +9 -0
- package/redux/store/apps.ts +160 -0
- package/redux/store/component/component.interface.ts +90 -0
- package/redux/store/component/helper.ts +78 -0
- package/redux/store/component/index.ts +51 -0
- package/redux/store/component/runtime-store.ts +0 -0
- package/redux/store/component/store.ts +306 -0
- package/redux/store/context.ts +138 -0
- package/redux/store/debug.ts +28 -0
- package/redux/store/environment.ts +20 -0
- package/redux/store/index.ts +77 -0
- package/redux/store/interfaces/component.interfaces.ts +4 -0
- package/redux/store/page.ts +105 -0
- package/redux/store/provider.ts +24 -0
- package/redux/store/ssr/server-data.ts +4 -0
- package/redux/store/toast.ts +26 -0
- package/state/editor.ts +370 -0
- package/state/index.ts +27 -0
- package/state/runtime-context.ts +784 -0
- package/types/IRuntimeContext.ts +203 -0
- package/types/core.types.ts +28 -0
- package/types/database.types.ts +395 -0
- package/types/index.ts +7 -0
- package/utils/RuntimeContextHelpers.ts +454 -0
- package/utils/api-calls-utils.ts +9 -0
- package/utils/change-detection.ts +58 -0
- package/utils/clipboard-utils.ts +113 -0
- package/utils/constants.ts +2 -0
- package/utils/envirement.ts +2 -0
- package/utils/handler-security-rules.ts +153 -0
- package/utils/handler-validator.ts +447 -0
- package/utils/index.ts +67 -0
- package/utils/local-storage.ts +26 -0
- package/utils/logger.ts +90 -0
- package/utils/memoize.ts +15 -0
- package/utils/naming-generator.ts +6 -0
- package/utils/object.utils.ts +15 -0
- package/utils/performance-utils.ts +589 -0
- package/utils/randomness.ts +3 -0
- package/utils/register-components.ts +49 -0
- package/utils/render-util.ts +173 -0
- package/utils/runtime-helpers.ts +57 -0
- package/utils/styleUtil.ts +7 -0
- package/utils/time.ts +7 -0
- package/utils/validation-error-formatter.ts +11 -0
- package/vite.config.ts +83 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handler Function Compiler
|
|
3
|
+
* @module Runtime/Handlers/Compiler
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Compiles handler code strings into executable JavaScript functions with automatic caching.
|
|
7
|
+
*
|
|
8
|
+
* Handlers are JavaScript code snippets stored as strings in component properties
|
|
9
|
+
* (input, style, event) that are dynamically compiled and executed at runtime with
|
|
10
|
+
* access to the full Nuraly Runtime API and context.
|
|
11
|
+
*
|
|
12
|
+
* **Key Features:**
|
|
13
|
+
* - Function compilation using JavaScript's `Function` constructor
|
|
14
|
+
* - Automatic caching to avoid recompilation of identical handlers
|
|
15
|
+
* - Consistent parameter injection for runtime context access
|
|
16
|
+
* - Cache management utilities for memory optimization
|
|
17
|
+
*
|
|
18
|
+
* **Performance:**
|
|
19
|
+
* - First execution: ~1-5ms (compilation + caching)
|
|
20
|
+
* - Cached execution: ~0.1-0.5ms (cache lookup only)
|
|
21
|
+
* - Cache hit rate in production: typically >95%
|
|
22
|
+
*
|
|
23
|
+
* @example Basic Compilation
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { compileHandlerFunction } from './compiler';
|
|
26
|
+
*
|
|
27
|
+
* const code = "return GetVar('username') || 'Guest'";
|
|
28
|
+
* const fn = compileHandlerFunction(code);
|
|
29
|
+
*
|
|
30
|
+
* // Function is now cached and ready to execute
|
|
31
|
+
* const result = fn(...allParameters);
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example Cache Management
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import { clearHandlerCache, getHandlerCacheSize } from './compiler';
|
|
37
|
+
*
|
|
38
|
+
* console.log(`Cache size: ${getHandlerCacheSize()}`);
|
|
39
|
+
*
|
|
40
|
+
* // Clear cache when needed (e.g., memory pressure)
|
|
41
|
+
* clearHandlerCache();
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
import { validateHandlerCode } from '../utils/handler-validator';
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Cache storage for compiled handler functions.
|
|
49
|
+
*
|
|
50
|
+
* @description
|
|
51
|
+
* Maps handler code strings to their compiled Function objects.
|
|
52
|
+
* Cache is maintained for the lifetime of the application session.
|
|
53
|
+
*
|
|
54
|
+
* @type {Record<string, Function>}
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* - Key: Handler code string (exactly as written in component properties)
|
|
58
|
+
* - Value: Compiled JavaScript function with injected parameters
|
|
59
|
+
* - Thread-safe: Single-threaded JavaScript execution model
|
|
60
|
+
* - Memory impact: ~1-2KB per unique handler on average
|
|
61
|
+
*
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
const handlerFunctionCache: Record<string, Function> = {};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* List of all parameters passed to compiled handler functions.
|
|
68
|
+
*
|
|
69
|
+
* @description
|
|
70
|
+
* These parameters are injected into every handler function in this exact order.
|
|
71
|
+
* They provide access to the full Nuraly Runtime API and execution context.
|
|
72
|
+
*
|
|
73
|
+
* **CRITICAL:** This order must match the parameter passing order in `handler-executor.ts`.
|
|
74
|
+
* Any changes here must be synchronized with the `executeHandler` function.
|
|
75
|
+
*
|
|
76
|
+
* @constant
|
|
77
|
+
* @type {readonly string[]}
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* **Parameter Categories:**
|
|
81
|
+
*
|
|
82
|
+
* 1. **Core Services** (Database, eventHandler, Components, Editor)
|
|
83
|
+
* 2. **Context Data** (Event, Item, Current, currentPlatform, Values, Apps, Vars)
|
|
84
|
+
* 3. **Variable Functions** (SetVar, GetContextVar, GetVar, SetContextVar)
|
|
85
|
+
* 4. **Component Functions** (GetComponent, GetComponents, AddComponent)
|
|
86
|
+
* 5. **Application Functions** (UpdateApplication, Apps, applications)
|
|
87
|
+
* 6. **Page Functions** (AddPage, UpdatePage, deletePage)
|
|
88
|
+
* 7. **Navigation Functions** (NavigateToUrl, NavigateToHash, NavigateToPage)
|
|
89
|
+
* 8. **Property Update Functions** (updateInput, updateName, updateEvent, updateStyle, updateStyleHandlers, updateInputHandlers)
|
|
90
|
+
* 9. **Clipboard Functions** (CopyComponentToClipboard, PasteComponentFromClipboard, DeleteComponentAction)
|
|
91
|
+
* 10. **Editor Functions** (openEditorTab, setCurrentEditorTab, TraitCompoentFromSchema)
|
|
92
|
+
* 11. **Function Invocation** (InvokeFunction)
|
|
93
|
+
* 12. **Storage Functions** (UploadFile, BrowseFiles)
|
|
94
|
+
* 13. **Utilities** (Utils, console)
|
|
95
|
+
*
|
|
96
|
+
* @example Accessing Parameters in Handler Code
|
|
97
|
+
* ```javascript
|
|
98
|
+
* // Handler code can directly use any of these parameters:
|
|
99
|
+
*
|
|
100
|
+
* // Access current component
|
|
101
|
+
* const componentName = Current.name;
|
|
102
|
+
*
|
|
103
|
+
* // Use variable functions
|
|
104
|
+
* const count = GetVar('count') || 0;
|
|
105
|
+
* SetVar('count', count + 1);
|
|
106
|
+
*
|
|
107
|
+
* // Navigate
|
|
108
|
+
* NavigateToPage('Dashboard');
|
|
109
|
+
*
|
|
110
|
+
* // Update component
|
|
111
|
+
* updateInput(Current, 'text', 'static', 'Hello World');
|
|
112
|
+
*
|
|
113
|
+
* // Access event data
|
|
114
|
+
* const clickX = Event.clientX;
|
|
115
|
+
*
|
|
116
|
+
* // Use utilities
|
|
117
|
+
* console.log('Handler executed');
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export const HANDLER_PARAMETERS = [
|
|
121
|
+
"Database",
|
|
122
|
+
"eventHandler",
|
|
123
|
+
"Components",
|
|
124
|
+
"Editor",
|
|
125
|
+
"Event",
|
|
126
|
+
"Item",
|
|
127
|
+
"Current",
|
|
128
|
+
"currentPlatform",
|
|
129
|
+
"Values",
|
|
130
|
+
"Apps",
|
|
131
|
+
"Vars",
|
|
132
|
+
"SetVar",
|
|
133
|
+
"GetContextVar",
|
|
134
|
+
"UpdateApplication",
|
|
135
|
+
"GetVar",
|
|
136
|
+
"GetComponent",
|
|
137
|
+
"GetComponents",
|
|
138
|
+
"AddComponent",
|
|
139
|
+
"SetContextVar",
|
|
140
|
+
"AddPage",
|
|
141
|
+
"TraitCompoentFromSchema",
|
|
142
|
+
"NavigateToUrl",
|
|
143
|
+
"NavigateToHash",
|
|
144
|
+
"NavigateToPage",
|
|
145
|
+
"UpdatePage",
|
|
146
|
+
"context",
|
|
147
|
+
"applications",
|
|
148
|
+
"updateInput",
|
|
149
|
+
"updateInputHandlers",
|
|
150
|
+
"deletePage",
|
|
151
|
+
"CopyComponentToClipboard",
|
|
152
|
+
"PasteComponentFromClipboard",
|
|
153
|
+
"DeleteComponentAction",
|
|
154
|
+
"updateName",
|
|
155
|
+
"updateEvent",
|
|
156
|
+
"updateStyleHandlers",
|
|
157
|
+
"EventData",
|
|
158
|
+
"updateStyle",
|
|
159
|
+
"openEditorTab",
|
|
160
|
+
"setCurrentEditorTab",
|
|
161
|
+
"InvokeFunction",
|
|
162
|
+
"Utils",
|
|
163
|
+
"console",
|
|
164
|
+
"UploadFile",
|
|
165
|
+
"BrowseFiles",
|
|
166
|
+
"Instance",
|
|
167
|
+
"ShowToast",
|
|
168
|
+
"ShowSuccessToast",
|
|
169
|
+
"ShowErrorToast",
|
|
170
|
+
"ShowWarningToast",
|
|
171
|
+
"ShowInfoToast",
|
|
172
|
+
"HideToast",
|
|
173
|
+
"ClearAllToasts",
|
|
174
|
+
] as const;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Compiles a handler code string into an executable function with automatic caching.
|
|
178
|
+
*
|
|
179
|
+
* @description
|
|
180
|
+
* This function is the core of the handler execution system. It takes JavaScript code
|
|
181
|
+
* as a string and compiles it into a function that can be called with runtime context.
|
|
182
|
+
*
|
|
183
|
+
* **Compilation Process:**
|
|
184
|
+
* 1. Check if function is already cached
|
|
185
|
+
* 2. If not cached, create new Function with all HANDLER_PARAMETERS
|
|
186
|
+
* 3. Wrap handler code in IIFE (Immediately Invoked Function Expression)
|
|
187
|
+
* 4. Store in cache for future use
|
|
188
|
+
* 5. Return compiled function
|
|
189
|
+
*
|
|
190
|
+
* **Caching Strategy:**
|
|
191
|
+
* - Cache key: Exact handler code string (including whitespace)
|
|
192
|
+
* - Cache lifetime: Application session (until page reload)
|
|
193
|
+
* - Cache invalidation: Manual via `clearHandlerCache()` or automatic on page reload
|
|
194
|
+
*
|
|
195
|
+
* @param {string} code - The handler code string to compile (JavaScript)
|
|
196
|
+
*
|
|
197
|
+
* @returns {Function} The compiled handler function ready for execution
|
|
198
|
+
*
|
|
199
|
+
* @throws {SyntaxError} If the handler code contains invalid JavaScript syntax
|
|
200
|
+
*
|
|
201
|
+
* @example Simple Handler Compilation
|
|
202
|
+
* ```typescript
|
|
203
|
+
* import { compileHandlerFunction } from './compiler';
|
|
204
|
+
*
|
|
205
|
+
* const code = "return GetVar('username') || 'Guest'";
|
|
206
|
+
* const fn = compileHandlerFunction(code);
|
|
207
|
+
*
|
|
208
|
+
* // Execute with all required parameters
|
|
209
|
+
* const username = fn(...allParameters);
|
|
210
|
+
* console.log(username); // 'Guest' (if variable not set)
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* @example Complex Handler with Multiple Operations
|
|
214
|
+
* ```typescript
|
|
215
|
+
* const complexHandler = `
|
|
216
|
+
* const currentCount = GetVar('count') || 0;
|
|
217
|
+
* const newCount = currentCount + 1;
|
|
218
|
+
*
|
|
219
|
+
* SetVar('count', newCount);
|
|
220
|
+
* updateInput(Current, 'text', 'static', \`Count: \${newCount}\`);
|
|
221
|
+
*
|
|
222
|
+
* if (newCount >= 10) {
|
|
223
|
+
* NavigateToPage('Congratulations');
|
|
224
|
+
* }
|
|
225
|
+
*
|
|
226
|
+
* return newCount;
|
|
227
|
+
* `;
|
|
228
|
+
*
|
|
229
|
+
* const fn = compileHandlerFunction(complexHandler);
|
|
230
|
+
* const result = fn(...allParameters);
|
|
231
|
+
* ```
|
|
232
|
+
*
|
|
233
|
+
* @example Async Handler
|
|
234
|
+
* ```typescript
|
|
235
|
+
* const asyncHandler = `
|
|
236
|
+
* const userId = GetVar('currentUserId');
|
|
237
|
+
* const userData = await InvokeFunction('fetchUser', { id: userId });
|
|
238
|
+
*
|
|
239
|
+
* SetVar('currentUser', userData);
|
|
240
|
+
* updateInput(Current, 'userName', 'static', userData.name);
|
|
241
|
+
*
|
|
242
|
+
* return userData;
|
|
243
|
+
* `;
|
|
244
|
+
*
|
|
245
|
+
* const fn = compileHandlerFunction(asyncHandler);
|
|
246
|
+
* const userData = await fn(...allParameters); // Note: await needed for async handlers
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @performance
|
|
250
|
+
* - First call (cache miss): ~1-5ms compilation time
|
|
251
|
+
* - Subsequent calls (cache hit): ~0.01ms lookup time
|
|
252
|
+
* - Memory: ~1-2KB per unique handler
|
|
253
|
+
*
|
|
254
|
+
* @see {@link executeHandler} for the execution wrapper that calls compiled functions
|
|
255
|
+
* @see {@link HANDLER_PARAMETERS} for the list of available parameters in handler code
|
|
256
|
+
*/
|
|
257
|
+
export function compileHandlerFunction(code: string): Function {
|
|
258
|
+
// Check cache first for performance
|
|
259
|
+
if (!handlerFunctionCache[code]) {
|
|
260
|
+
// Validate handler code before compilation
|
|
261
|
+
// This is a safety layer in case validation was bypassed at save time
|
|
262
|
+
const validationResult = validateHandlerCode(code);
|
|
263
|
+
if (!validationResult.valid) {
|
|
264
|
+
throw new Error(`Handler validation failed: ${validationResult.errors[0]?.message || 'Unknown error'}`);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Create new Function with all runtime parameters
|
|
268
|
+
// The code is wrapped in an IIFE to provide proper scoping
|
|
269
|
+
handlerFunctionCache[code] = new Function(
|
|
270
|
+
...HANDLER_PARAMETERS,
|
|
271
|
+
`return (function() { ${code} }).apply(this);`
|
|
272
|
+
);
|
|
273
|
+
}
|
|
274
|
+
return handlerFunctionCache[code];
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Clears the entire handler function cache.
|
|
279
|
+
*
|
|
280
|
+
* @description
|
|
281
|
+
* Removes all cached compiled functions from memory. Use this when:
|
|
282
|
+
* - Memory optimization is needed
|
|
283
|
+
* - Testing and you want to ensure fresh compilation
|
|
284
|
+
* - Debugging compilation issues
|
|
285
|
+
* - Switching between different applications/contexts
|
|
286
|
+
*
|
|
287
|
+
* **Warning:** Clearing cache will cause all subsequent handler executions
|
|
288
|
+
* to incur compilation overhead until cache is rebuilt.
|
|
289
|
+
*
|
|
290
|
+
* @returns {void}
|
|
291
|
+
*
|
|
292
|
+
* @example Testing Scenario
|
|
293
|
+
* ```typescript
|
|
294
|
+
* import { clearHandlerCache, getHandlerCacheSize } from './compiler';
|
|
295
|
+
*
|
|
296
|
+
* // Before test
|
|
297
|
+
* clearHandlerCache();
|
|
298
|
+
* console.log(getHandlerCacheSize()); // 0
|
|
299
|
+
*
|
|
300
|
+
* // Run test with clean cache state
|
|
301
|
+
* runHandlerTests();
|
|
302
|
+
* ```
|
|
303
|
+
*
|
|
304
|
+
* @example Memory Optimization
|
|
305
|
+
* ```typescript
|
|
306
|
+
* // Clear cache when switching applications to free memory
|
|
307
|
+
* eventDispatcher.on('application:unload', () => {
|
|
308
|
+
* clearHandlerCache();
|
|
309
|
+
* console.log('Handler cache cleared for memory optimization');
|
|
310
|
+
* });
|
|
311
|
+
* ```
|
|
312
|
+
*
|
|
313
|
+
* @performance
|
|
314
|
+
* Time complexity: O(n) where n is number of cached handlers
|
|
315
|
+
* Typical execution: <1ms for ~1000 cached handlers
|
|
316
|
+
*/
|
|
317
|
+
export function clearHandlerCache(): void {
|
|
318
|
+
Object.keys(handlerFunctionCache).forEach(key => delete handlerFunctionCache[key]);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Gets the current number of cached handler functions.
|
|
323
|
+
*
|
|
324
|
+
* @description
|
|
325
|
+
* Returns the count of unique handler code strings that have been compiled
|
|
326
|
+
* and cached. Useful for monitoring, debugging, and performance analysis.
|
|
327
|
+
*
|
|
328
|
+
* @returns {number} The number of cached handler functions
|
|
329
|
+
*
|
|
330
|
+
* @example Monitoring Cache Size
|
|
331
|
+
* ```typescript
|
|
332
|
+
* import { getHandlerCacheSize } from './compiler';
|
|
333
|
+
*
|
|
334
|
+
* console.log(`Cached handlers: ${getHandlerCacheSize()}`);
|
|
335
|
+
*
|
|
336
|
+
* // Monitor cache growth over time
|
|
337
|
+
* setInterval(() => {
|
|
338
|
+
* const size = getHandlerCacheSize();
|
|
339
|
+
* if (size > 1000) {
|
|
340
|
+
* console.warn(`Large cache size detected: ${size} handlers`);
|
|
341
|
+
* }
|
|
342
|
+
* }, 60000); // Check every minute
|
|
343
|
+
* ```
|
|
344
|
+
*
|
|
345
|
+
* @example Performance Dashboard
|
|
346
|
+
* ```typescript
|
|
347
|
+
* function getPerformanceMetrics() {
|
|
348
|
+
* return {
|
|
349
|
+
* cachedHandlers: getHandlerCacheSize(),
|
|
350
|
+
* estimatedMemoryKB: getHandlerCacheSize() * 2, // ~2KB per handler
|
|
351
|
+
* cacheHitRate: calculateCacheHitRate(), // Custom implementation
|
|
352
|
+
* };
|
|
353
|
+
* }
|
|
354
|
+
* ```
|
|
355
|
+
*
|
|
356
|
+
* @performance
|
|
357
|
+
* Time complexity: O(n) where n is number of cached handlers
|
|
358
|
+
* Typical execution: <0.1ms
|
|
359
|
+
*/
|
|
360
|
+
export function getHandlerCacheSize(): number {
|
|
361
|
+
return Object.keys(handlerFunctionCache).length;
|
|
362
|
+
}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Runtime Context Setup
|
|
3
|
+
* @module Runtime/Handlers/ContextSetup
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Initializes and prepares the runtime execution context for handler execution.
|
|
7
|
+
*
|
|
8
|
+
* This module is responsible for setting up the component's runtime environment
|
|
9
|
+
* before a handler is executed. It ensures that all necessary state, proxies,
|
|
10
|
+
* and relationships are in place for the handler to access and manipulate.
|
|
11
|
+
*
|
|
12
|
+
* **Key Responsibilities:**
|
|
13
|
+
* - Set the current component context
|
|
14
|
+
* - Initialize component children array
|
|
15
|
+
* - Attach reactive values property to components
|
|
16
|
+
* - Create or retrieve style proxies for reactive style updates
|
|
17
|
+
* - Set event data for handler access
|
|
18
|
+
* - Propagate values properties to parent components
|
|
19
|
+
*
|
|
20
|
+
* **Why This Is Needed:**
|
|
21
|
+
* Handlers execute in an isolated context and need access to:
|
|
22
|
+
* - The component they're running on (`Current`)
|
|
23
|
+
* - The component's reactive values (`Instance`)
|
|
24
|
+
* - Style properties with change detection (style proxy)
|
|
25
|
+
* - Event information (`Event`)
|
|
26
|
+
* - Parent component chain with values attached
|
|
27
|
+
*
|
|
28
|
+
* @example Context Setup Flow
|
|
29
|
+
* ```
|
|
30
|
+
* Handler Triggered (e.g., onClick)
|
|
31
|
+
* │
|
|
32
|
+
* ▼
|
|
33
|
+
* setupRuntimeContext(component, { event: clickEvent })
|
|
34
|
+
* │
|
|
35
|
+
* ├─▶ Set ExecuteInstance.Current = component
|
|
36
|
+
* │ (Handler can access via "Current" parameter)
|
|
37
|
+
* │
|
|
38
|
+
* ├─▶ Initialize children array if needed
|
|
39
|
+
* │ component.children = []
|
|
40
|
+
* │
|
|
41
|
+
* ├─▶ Attach values property (component.Instance)
|
|
42
|
+
* │ Creates reactive proxy for component state
|
|
43
|
+
* │
|
|
44
|
+
* ├─▶ Propagate to parent components
|
|
45
|
+
* │ Ensure parent.Instance exists recursively
|
|
46
|
+
* │
|
|
47
|
+
* ├─▶ Set event data
|
|
48
|
+
* │ ExecuteInstance.Event = clickEvent
|
|
49
|
+
* │
|
|
50
|
+
* └─▶ Create/get style proxy
|
|
51
|
+
* Reactive style updates with change detection
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see {@link ExecuteInstance} for the runtime context singleton
|
|
55
|
+
* @see {@link executeHandler} for the full execution flow
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
import type { IRuntimeContext } from '../types/IRuntimeContext';
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Helper function to create observable proxies for style objects.
|
|
62
|
+
*
|
|
63
|
+
* @description
|
|
64
|
+
* Creates a Proxy that intercepts property assignments on style objects
|
|
65
|
+
* and calls a callback function whenever a style property is changed.
|
|
66
|
+
*
|
|
67
|
+
* This enables reactive style updates where changes to component styles
|
|
68
|
+
* automatically trigger re-renders or other side effects.
|
|
69
|
+
*
|
|
70
|
+
* @param {any} o - The object to observe (typically a style object)
|
|
71
|
+
* @param {Function} f - Callback function called on property set
|
|
72
|
+
* Receives: (target, property, newValue)
|
|
73
|
+
*
|
|
74
|
+
* @returns {Proxy} A proxy that wraps the object with set interception
|
|
75
|
+
*
|
|
76
|
+
* @example Usage
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const style = { color: 'red' };
|
|
79
|
+
* const observedStyle = observe(style, (target, prop, value) => {
|
|
80
|
+
* console.log(`Style changed: ${prop} = ${value}`);
|
|
81
|
+
* // Trigger component update
|
|
82
|
+
* component.requestUpdate();
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* observedStyle.color = 'blue'; // Logs: "Style changed: color = blue"
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
const observe = (o: any, f: (target: any, prop: string, value: any) => void) => new Proxy(o, {
|
|
91
|
+
set: (target: any, prop: string | symbol, value: any) => {
|
|
92
|
+
// Only process string properties (not Symbols)
|
|
93
|
+
let result = Reflect.set(target, prop, value);
|
|
94
|
+
if (typeof prop === 'string') {
|
|
95
|
+
f(target, prop, value);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Initializes the runtime context for a component handler execution.
|
|
103
|
+
*
|
|
104
|
+
* @description
|
|
105
|
+
* This function prepares the runtime environment before executing a handler.
|
|
106
|
+
* It sets up all necessary component state, relationships, and proxies that
|
|
107
|
+
* the handler will need to access and manipulate.
|
|
108
|
+
*
|
|
109
|
+
* **Setup Process:**
|
|
110
|
+
* 1. **Set Current Component**: Makes component accessible as `Current` in handlers
|
|
111
|
+
* 2. **Initialize Children**: Creates empty children array if component has childrenIds
|
|
112
|
+
* 3. **Attach Values Property**: Creates reactive `Instance` proxy for component state
|
|
113
|
+
* 4. **Propagate to Parents**: Ensures all parent components also have values attached
|
|
114
|
+
* 5. **Set Event Data**: Makes event information accessible as `Event` in handlers
|
|
115
|
+
* 6. **Create Style Proxy**: Sets up reactive style object with change detection
|
|
116
|
+
*
|
|
117
|
+
* **Component Values (Instance):**
|
|
118
|
+
* Each component gets an `Instance` property that acts as a persistent state store.
|
|
119
|
+
* This is backed by the global `$runtimeValues` store and provides:
|
|
120
|
+
* - Component-scoped persistent state
|
|
121
|
+
* - Reactive updates (changes trigger events)
|
|
122
|
+
* - Survives component re-renders
|
|
123
|
+
* - Accessible in handlers as `Current.Instance`
|
|
124
|
+
*
|
|
125
|
+
* **Style Proxy:**
|
|
126
|
+
* Component styles are wrapped in a Proxy that:
|
|
127
|
+
* - Detects style property changes
|
|
128
|
+
* - Calls `setcomponentRuntimeStyleAttribute` to update store
|
|
129
|
+
* - Triggers component re-renders
|
|
130
|
+
* - Cached to avoid duplicate proxy creation
|
|
131
|
+
*
|
|
132
|
+
* @param {any} component - The component to execute the handler for
|
|
133
|
+
* Must have: uuid, uniqueUUID, application_id, childrenIds (optional)
|
|
134
|
+
*
|
|
135
|
+
* @param {any} [EventData={}] - Event data to be available in the handler
|
|
136
|
+
* Typically: { event: DOMEvent, ...customData }
|
|
137
|
+
* Accessible as "Event" parameter in handler code
|
|
138
|
+
*
|
|
139
|
+
* @returns {void}
|
|
140
|
+
*
|
|
141
|
+
* @example Basic Setup
|
|
142
|
+
* ```typescript
|
|
143
|
+
* import { setupRuntimeContext } from './context-setup';
|
|
144
|
+
*
|
|
145
|
+
* const component = {
|
|
146
|
+
* uuid: 'comp-123',
|
|
147
|
+
* uniqueUUID: 'comp-123-unique',
|
|
148
|
+
* application_id: 'app-1',
|
|
149
|
+
* name: 'MyButton',
|
|
150
|
+
* style: { backgroundColor: '#3b82f6' },
|
|
151
|
+
* parent: parentComponent
|
|
152
|
+
* };
|
|
153
|
+
*
|
|
154
|
+
* const clickEvent = new MouseEvent('click');
|
|
155
|
+
* setupRuntimeContext(component, { event: clickEvent });
|
|
156
|
+
*
|
|
157
|
+
* // Now the handler can access:
|
|
158
|
+
* // - Current (the component)
|
|
159
|
+
* // - Current.Instance (component state)
|
|
160
|
+
* // - Event (the click event)
|
|
161
|
+
* // - Current.style (reactive style proxy)
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* @example Handler Accessing Setup Context
|
|
165
|
+
* ```typescript
|
|
166
|
+
* // After setupRuntimeContext, handler can do:
|
|
167
|
+
* const handlerCode = `
|
|
168
|
+
* // Access current component
|
|
169
|
+
* console.log('Component:', Current.name);
|
|
170
|
+
*
|
|
171
|
+
* // Access component state
|
|
172
|
+
* Current.Instance.clickCount = (Current.Instance.clickCount || 0) + 1;
|
|
173
|
+
*
|
|
174
|
+
* // Access event data
|
|
175
|
+
* console.log('Clicked at:', Event.clientX, Event.clientY);
|
|
176
|
+
*
|
|
177
|
+
* // Update style (triggers proxy)
|
|
178
|
+
* Current.style.backgroundColor = '#f59e0b';
|
|
179
|
+
*
|
|
180
|
+
* // Access parent component
|
|
181
|
+
* if (Current.parent) {
|
|
182
|
+
* console.log('Parent:', Current.parent.name);
|
|
183
|
+
* Current.parent.Instance.childClicked = true;
|
|
184
|
+
* }
|
|
185
|
+
* `;
|
|
186
|
+
* ```
|
|
187
|
+
*
|
|
188
|
+
* @example Parent Chain Values
|
|
189
|
+
* ```typescript
|
|
190
|
+
* // Component hierarchy:
|
|
191
|
+
* // Container (parent)
|
|
192
|
+
* // └─ Button (current)
|
|
193
|
+
*
|
|
194
|
+
* setupRuntimeContext(buttonComponent, { event: clickEvent });
|
|
195
|
+
*
|
|
196
|
+
* // Both components now have Instance property:
|
|
197
|
+
* buttonComponent.Instance.timesClicked = 1;
|
|
198
|
+
* buttonComponent.parent.Instance.activeChildId = buttonComponent.uuid;
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @see {@link ExecuteInstance.attachValuesProperty} for values proxy creation
|
|
202
|
+
* @see {@link ExecuteInstance.styleProxyCache} for style proxy caching
|
|
203
|
+
*/
|
|
204
|
+
export function setupRuntimeContext(context: IRuntimeContext, component: any, EventData: any = {}): void {
|
|
205
|
+
context.Current = component;
|
|
206
|
+
|
|
207
|
+
// Initialize children array if needed
|
|
208
|
+
if (!component.children && component.childrenIds && Array.isArray(component.childrenIds)) {
|
|
209
|
+
component.children = [];
|
|
210
|
+
// Children will be populated in registerApplications
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Ensure the values property is attached to the component
|
|
214
|
+
if (component.uniqueUUID) {
|
|
215
|
+
context.attachValuesProperty(component);
|
|
216
|
+
|
|
217
|
+
// Also attach values to parent components recursively
|
|
218
|
+
let parentComponent = component.parent;
|
|
219
|
+
while (parentComponent) {
|
|
220
|
+
if (parentComponent.uniqueUUID) {
|
|
221
|
+
context.attachValuesProperty(parentComponent);
|
|
222
|
+
}
|
|
223
|
+
parentComponent = parentComponent.parent;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Set event data
|
|
228
|
+
context.Event = EventData.event;
|
|
229
|
+
context.Current.style = context.Current.style ?? {};
|
|
230
|
+
|
|
231
|
+
// Create or retrieve style proxy for reactive style updates
|
|
232
|
+
if (!context.styleProxyCache.has(context.Current.style)) {
|
|
233
|
+
const newProxy = observe(context.Current.style, (target, prop, value) => {
|
|
234
|
+
context.setComponentRuntimeStyleAttribute(
|
|
235
|
+
context.Current.uniqueUUID,
|
|
236
|
+
prop,
|
|
237
|
+
value
|
|
238
|
+
);
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
context.Current.style = newProxy;
|
|
242
|
+
context.styleProxyCache.set(context.Current.style, newProxy);
|
|
243
|
+
} else {
|
|
244
|
+
context.Current.style = context.styleProxyCache.get(context.Current.style);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Extracts runtime context values needed for handler execution.
|
|
250
|
+
*
|
|
251
|
+
* @description
|
|
252
|
+
* Gathers all runtime state from ExecuteInstance into a single object
|
|
253
|
+
* that will be passed to global function creators and the handler itself.
|
|
254
|
+
*
|
|
255
|
+
* This provides a snapshot of the current runtime state including:
|
|
256
|
+
* - **context**: Global and application-scoped context variables
|
|
257
|
+
* - **applications**: All loaded applications by ID
|
|
258
|
+
* - **Apps**: All loaded applications by name
|
|
259
|
+
* - **Values**: Component values registry
|
|
260
|
+
* - **PropertiesProxy**: Reactive proxy for component properties
|
|
261
|
+
* - **VarsProxy**: Reactive proxy for variables (GetVar/SetVar)
|
|
262
|
+
* - **Current**: The currently executing component
|
|
263
|
+
* - **currentPlatform**: Platform info (mobile, tablet, desktop)
|
|
264
|
+
* - **Event**: Current event data (if any)
|
|
265
|
+
*
|
|
266
|
+
* **Why Extract Context:**
|
|
267
|
+
* Instead of accessing ExecuteInstance directly in handlers, we extract
|
|
268
|
+
* the context to:
|
|
269
|
+
* 1. Provide a clean, immutable snapshot of runtime state
|
|
270
|
+
* 2. Make it easier to pass to function creators
|
|
271
|
+
* 3. Improve testability (can mock the extracted context)
|
|
272
|
+
* 4. Prevent accidental mutations of ExecuteInstance internals
|
|
273
|
+
*
|
|
274
|
+
* @returns {Object} Object containing all runtime context values
|
|
275
|
+
* @returns {Record<string, any>} .context - Global and app-scoped variables
|
|
276
|
+
* @returns {Record<string, any>} .applications - Applications by ID
|
|
277
|
+
* @returns {Record<string, any>} .Apps - Applications by name
|
|
278
|
+
* @returns {Record<string, any>} .Values - Component values
|
|
279
|
+
* @returns {Record<string, any>} .PropertiesProxy - Reactive component properties
|
|
280
|
+
* @returns {Record<string, any>} .VarsProxy - Reactive variables proxy
|
|
281
|
+
* @returns {any} .Current - Currently executing component
|
|
282
|
+
* @returns {any} .currentPlatform - Platform information
|
|
283
|
+
* @returns {Event} .Event - Current event object
|
|
284
|
+
*
|
|
285
|
+
* @example Extracting Context
|
|
286
|
+
* ```typescript
|
|
287
|
+
* import { extractRuntimeContext } from './context-setup';
|
|
288
|
+
*
|
|
289
|
+
* const runtimeContext = extractRuntimeContext();
|
|
290
|
+
*
|
|
291
|
+
* console.log('Current component:', runtimeContext.Current.name);
|
|
292
|
+
* console.log('Platform:', runtimeContext.currentPlatform.platform);
|
|
293
|
+
* console.log('Apps:', Object.keys(runtimeContext.Apps));
|
|
294
|
+
* ```
|
|
295
|
+
*
|
|
296
|
+
* @example Using Extracted Context
|
|
297
|
+
* ```typescript
|
|
298
|
+
* import { extractRuntimeContext } from './context-setup';
|
|
299
|
+
* import { createGlobalHandlerFunctions } from './runtime-api';
|
|
300
|
+
*
|
|
301
|
+
* // Extract context
|
|
302
|
+
* const runtimeContext = extractRuntimeContext();
|
|
303
|
+
*
|
|
304
|
+
* // Create global functions with this context
|
|
305
|
+
* const globalFunctions = createGlobalHandlerFunctions(runtimeContext);
|
|
306
|
+
*
|
|
307
|
+
* // Now functions like GetVar, SetVar have access to the context
|
|
308
|
+
* const username = globalFunctions.GetVar('username');
|
|
309
|
+
* ```
|
|
310
|
+
*
|
|
311
|
+
* @example Testing with Mocked Context
|
|
312
|
+
* ```typescript
|
|
313
|
+
* // Instead of extracting real context, provide mock
|
|
314
|
+
* const mockContext = {
|
|
315
|
+
* context: { global: {} },
|
|
316
|
+
* applications: {},
|
|
317
|
+
* Apps: { TestApp: {} },
|
|
318
|
+
* Values: {},
|
|
319
|
+
* PropertiesProxy: {},
|
|
320
|
+
* VarsProxy: {},
|
|
321
|
+
* Current: { name: 'TestComponent' },
|
|
322
|
+
* currentPlatform: { platform: 'desktop' },
|
|
323
|
+
* Event: null,
|
|
324
|
+
* };
|
|
325
|
+
*
|
|
326
|
+
* const functions = createGlobalHandlerFunctions(mockContext);
|
|
327
|
+
* // Test functions with controlled context
|
|
328
|
+
* ```
|
|
329
|
+
*
|
|
330
|
+
* @performance
|
|
331
|
+
* Time complexity: O(1) - just object property access
|
|
332
|
+
* Execution time: <0.1ms
|
|
333
|
+
*
|
|
334
|
+
* @see {@link ExecuteInstance} for the source of these values
|
|
335
|
+
* @see {@link createGlobalHandlerFunctions} for how this context is used
|
|
336
|
+
*/
|
|
337
|
+
export function extractRuntimeContext(context: IRuntimeContext) {
|
|
338
|
+
return {
|
|
339
|
+
context: context.context,
|
|
340
|
+
applications: context.applications,
|
|
341
|
+
Apps: context.Apps,
|
|
342
|
+
Values: context.Values,
|
|
343
|
+
PropertiesProxy: context.PropertiesProxy,
|
|
344
|
+
VarsProxy: context.VarsProxy,
|
|
345
|
+
Current: context.Current,
|
|
346
|
+
currentPlatform: context.currentPlatform,
|
|
347
|
+
Event: context.Event,
|
|
348
|
+
};
|
|
349
|
+
}
|