@adaas/are-html 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conf/tsconfig.base.json +87 -0
- package/.conf/tsconfig.browser.json +34 -0
- package/.conf/tsconfig.node.json +35 -0
- package/.nvmrc +1 -0
- package/LICENSE +13 -0
- package/README.md +678 -0
- package/dist/browser/index.d.mts +521 -0
- package/dist/browser/index.mjs +1782 -0
- package/dist/browser/index.mjs.map +1 -0
- package/dist/node/AreBinding.attribute-C6JasbJL.d.ts +110 -0
- package/dist/node/AreBinding.attribute-C6qrxN8K.d.mts +110 -0
- package/dist/node/attributes/AreBinding.attribute.d.mts +4 -0
- package/dist/node/attributes/AreBinding.attribute.d.ts +4 -0
- package/dist/node/attributes/AreBinding.attribute.js +15 -0
- package/dist/node/attributes/AreBinding.attribute.js.map +1 -0
- package/dist/node/attributes/AreBinding.attribute.mjs +14 -0
- package/dist/node/attributes/AreBinding.attribute.mjs.map +1 -0
- package/dist/node/attributes/AreDirective.attribute.d.mts +4 -0
- package/dist/node/attributes/AreDirective.attribute.d.ts +4 -0
- package/dist/node/attributes/AreDirective.attribute.js +20 -0
- package/dist/node/attributes/AreDirective.attribute.js.map +1 -0
- package/dist/node/attributes/AreDirective.attribute.mjs +19 -0
- package/dist/node/attributes/AreDirective.attribute.mjs.map +1 -0
- package/dist/node/attributes/AreEvent.attribute.d.mts +4 -0
- package/dist/node/attributes/AreEvent.attribute.d.ts +4 -0
- package/dist/node/attributes/AreEvent.attribute.js +10 -0
- package/dist/node/attributes/AreEvent.attribute.js.map +1 -0
- package/dist/node/attributes/AreEvent.attribute.mjs +9 -0
- package/dist/node/attributes/AreEvent.attribute.mjs.map +1 -0
- package/dist/node/attributes/AreStatic.attribute.d.mts +4 -0
- package/dist/node/attributes/AreStatic.attribute.d.ts +4 -0
- package/dist/node/attributes/AreStatic.attribute.js +10 -0
- package/dist/node/attributes/AreStatic.attribute.js.map +1 -0
- package/dist/node/attributes/AreStatic.attribute.mjs +9 -0
- package/dist/node/attributes/AreStatic.attribute.mjs.map +1 -0
- package/dist/node/chunk-EQQGB2QZ.mjs +15 -0
- package/dist/node/chunk-EQQGB2QZ.mjs.map +1 -0
- package/dist/node/directives/AreComponent.directive.d.mts +2 -0
- package/dist/node/directives/AreComponent.directive.d.ts +2 -0
- package/dist/node/directives/AreComponent.directive.js +4 -0
- package/dist/node/directives/AreComponent.directive.js.map +1 -0
- package/dist/node/directives/AreComponent.directive.mjs +3 -0
- package/dist/node/directives/AreComponent.directive.mjs.map +1 -0
- package/dist/node/directives/AreDirectiveFor.directive.d.mts +41 -0
- package/dist/node/directives/AreDirectiveFor.directive.d.ts +41 -0
- package/dist/node/directives/AreDirectiveFor.directive.js +206 -0
- package/dist/node/directives/AreDirectiveFor.directive.js.map +1 -0
- package/dist/node/directives/AreDirectiveFor.directive.mjs +196 -0
- package/dist/node/directives/AreDirectiveFor.directive.mjs.map +1 -0
- package/dist/node/directives/AreDirectiveIf.directive.d.mts +15 -0
- package/dist/node/directives/AreDirectiveIf.directive.d.ts +15 -0
- package/dist/node/directives/AreDirectiveIf.directive.js +91 -0
- package/dist/node/directives/AreDirectiveIf.directive.js.map +1 -0
- package/dist/node/directives/AreDirectiveIf.directive.mjs +81 -0
- package/dist/node/directives/AreDirectiveIf.directive.mjs.map +1 -0
- package/dist/node/engine/AreHTML.compiler.d.mts +27 -0
- package/dist/node/engine/AreHTML.compiler.d.ts +27 -0
- package/dist/node/engine/AreHTML.compiler.js +150 -0
- package/dist/node/engine/AreHTML.compiler.js.map +1 -0
- package/dist/node/engine/AreHTML.compiler.mjs +140 -0
- package/dist/node/engine/AreHTML.compiler.mjs.map +1 -0
- package/dist/node/engine/AreHTML.constants.d.mts +2 -0
- package/dist/node/engine/AreHTML.constants.d.ts +2 -0
- package/dist/node/engine/AreHTML.constants.js +4 -0
- package/dist/node/engine/AreHTML.constants.js.map +1 -0
- package/dist/node/engine/AreHTML.constants.mjs +3 -0
- package/dist/node/engine/AreHTML.constants.mjs.map +1 -0
- package/dist/node/engine/AreHTML.context.d.mts +108 -0
- package/dist/node/engine/AreHTML.context.d.ts +108 -0
- package/dist/node/engine/AreHTML.context.js +155 -0
- package/dist/node/engine/AreHTML.context.js.map +1 -0
- package/dist/node/engine/AreHTML.context.mjs +154 -0
- package/dist/node/engine/AreHTML.context.mjs.map +1 -0
- package/dist/node/engine/AreHTML.engine.d.mts +21 -0
- package/dist/node/engine/AreHTML.engine.d.ts +21 -0
- package/dist/node/engine/AreHTML.engine.js +191 -0
- package/dist/node/engine/AreHTML.engine.js.map +1 -0
- package/dist/node/engine/AreHTML.engine.mjs +181 -0
- package/dist/node/engine/AreHTML.engine.mjs.map +1 -0
- package/dist/node/engine/AreHTML.interpreter.d.mts +28 -0
- package/dist/node/engine/AreHTML.interpreter.d.ts +28 -0
- package/dist/node/engine/AreHTML.interpreter.js +340 -0
- package/dist/node/engine/AreHTML.interpreter.js.map +1 -0
- package/dist/node/engine/AreHTML.interpreter.mjs +330 -0
- package/dist/node/engine/AreHTML.interpreter.mjs.map +1 -0
- package/dist/node/engine/AreHTML.lifecycle.d.mts +17 -0
- package/dist/node/engine/AreHTML.lifecycle.d.ts +17 -0
- package/dist/node/engine/AreHTML.lifecycle.js +91 -0
- package/dist/node/engine/AreHTML.lifecycle.js.map +1 -0
- package/dist/node/engine/AreHTML.lifecycle.mjs +79 -0
- package/dist/node/engine/AreHTML.lifecycle.mjs.map +1 -0
- package/dist/node/engine/AreHTML.tokenizer.d.mts +13 -0
- package/dist/node/engine/AreHTML.tokenizer.d.ts +13 -0
- package/dist/node/engine/AreHTML.tokenizer.js +83 -0
- package/dist/node/engine/AreHTML.tokenizer.js.map +1 -0
- package/dist/node/engine/AreHTML.tokenizer.mjs +71 -0
- package/dist/node/engine/AreHTML.tokenizer.mjs.map +1 -0
- package/dist/node/engine/AreHTML.transformer.d.mts +11 -0
- package/dist/node/engine/AreHTML.transformer.d.ts +11 -0
- package/dist/node/engine/AreHTML.transformer.js +44 -0
- package/dist/node/engine/AreHTML.transformer.js.map +1 -0
- package/dist/node/engine/AreHTML.transformer.mjs +32 -0
- package/dist/node/engine/AreHTML.transformer.mjs.map +1 -0
- package/dist/node/engine/AreHTML.types.d.mts +6 -0
- package/dist/node/engine/AreHTML.types.d.ts +6 -0
- package/dist/node/engine/AreHTML.types.js +4 -0
- package/dist/node/engine/AreHTML.types.js.map +1 -0
- package/dist/node/engine/AreHTML.types.mjs +3 -0
- package/dist/node/engine/AreHTML.types.mjs.map +1 -0
- package/dist/node/index.d.mts +39 -0
- package/dist/node/index.d.ts +39 -0
- package/dist/node/index.js +294 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/index.mjs +43 -0
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/instructions/AddAttribute.instruction.d.mts +9 -0
- package/dist/node/instructions/AddAttribute.instruction.d.ts +9 -0
- package/dist/node/instructions/AddAttribute.instruction.js +32 -0
- package/dist/node/instructions/AddAttribute.instruction.js.map +1 -0
- package/dist/node/instructions/AddAttribute.instruction.mjs +25 -0
- package/dist/node/instructions/AddAttribute.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddComment.instruction.d.mts +9 -0
- package/dist/node/instructions/AddComment.instruction.d.ts +9 -0
- package/dist/node/instructions/AddComment.instruction.js +35 -0
- package/dist/node/instructions/AddComment.instruction.js.map +1 -0
- package/dist/node/instructions/AddComment.instruction.mjs +28 -0
- package/dist/node/instructions/AddComment.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddElement.instruction.d.mts +8 -0
- package/dist/node/instructions/AddElement.instruction.d.ts +8 -0
- package/dist/node/instructions/AddElement.instruction.js +32 -0
- package/dist/node/instructions/AddElement.instruction.js.map +1 -0
- package/dist/node/instructions/AddElement.instruction.mjs +25 -0
- package/dist/node/instructions/AddElement.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddInterpolation.instruction.d.mts +8 -0
- package/dist/node/instructions/AddInterpolation.instruction.d.ts +8 -0
- package/dist/node/instructions/AddInterpolation.instruction.js +32 -0
- package/dist/node/instructions/AddInterpolation.instruction.js.map +1 -0
- package/dist/node/instructions/AddInterpolation.instruction.mjs +25 -0
- package/dist/node/instructions/AddInterpolation.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddListener.instruction.d.mts +8 -0
- package/dist/node/instructions/AddListener.instruction.d.ts +8 -0
- package/dist/node/instructions/AddListener.instruction.js +32 -0
- package/dist/node/instructions/AddListener.instruction.js.map +1 -0
- package/dist/node/instructions/AddListener.instruction.mjs +25 -0
- package/dist/node/instructions/AddListener.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddStyle.instruction.d.mts +8 -0
- package/dist/node/instructions/AddStyle.instruction.d.ts +8 -0
- package/dist/node/instructions/AddStyle.instruction.js +32 -0
- package/dist/node/instructions/AddStyle.instruction.js.map +1 -0
- package/dist/node/instructions/AddStyle.instruction.mjs +25 -0
- package/dist/node/instructions/AddStyle.instruction.mjs.map +1 -0
- package/dist/node/instructions/AddText.instruction.d.mts +8 -0
- package/dist/node/instructions/AddText.instruction.d.ts +8 -0
- package/dist/node/instructions/AddText.instruction.js +32 -0
- package/dist/node/instructions/AddText.instruction.js.map +1 -0
- package/dist/node/instructions/AddText.instruction.mjs +25 -0
- package/dist/node/instructions/AddText.instruction.mjs.map +1 -0
- package/dist/node/instructions/AreHTML.instructions.constants.d.mts +11 -0
- package/dist/node/instructions/AreHTML.instructions.constants.d.ts +11 -0
- package/dist/node/instructions/AreHTML.instructions.constants.js +15 -0
- package/dist/node/instructions/AreHTML.instructions.constants.js.map +1 -0
- package/dist/node/instructions/AreHTML.instructions.constants.mjs +15 -0
- package/dist/node/instructions/AreHTML.instructions.constants.mjs.map +1 -0
- package/dist/node/instructions/AreHTML.instructions.types.d.mts +46 -0
- package/dist/node/instructions/AreHTML.instructions.types.d.ts +46 -0
- package/dist/node/instructions/AreHTML.instructions.types.js +4 -0
- package/dist/node/instructions/AreHTML.instructions.types.js.map +1 -0
- package/dist/node/instructions/AreHTML.instructions.types.mjs +3 -0
- package/dist/node/instructions/AreHTML.instructions.types.mjs.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.component.d.mts +4 -0
- package/dist/node/lib/AreDirective/AreDirective.component.d.ts +4 -0
- package/dist/node/lib/AreDirective/AreDirective.component.js +117 -0
- package/dist/node/lib/AreDirective/AreDirective.component.js.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.component.mjs +107 -0
- package/dist/node/lib/AreDirective/AreDirective.component.mjs.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.d.mts +16 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.d.ts +16 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.js +20 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.js.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.mjs +20 -0
- package/dist/node/lib/AreDirective/AreDirective.constants.mjs.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.context.d.mts +9 -0
- package/dist/node/lib/AreDirective/AreDirective.context.d.ts +9 -0
- package/dist/node/lib/AreDirective/AreDirective.context.js +14 -0
- package/dist/node/lib/AreDirective/AreDirective.context.js.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.context.mjs +13 -0
- package/dist/node/lib/AreDirective/AreDirective.context.mjs.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.d.mts +7 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.d.ts +7 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.js +14 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.js.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.mjs +13 -0
- package/dist/node/lib/AreDirective/AreDirective.meta.mjs.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.types.d.mts +17 -0
- package/dist/node/lib/AreDirective/AreDirective.types.d.ts +17 -0
- package/dist/node/lib/AreDirective/AreDirective.types.js +4 -0
- package/dist/node/lib/AreDirective/AreDirective.types.js.map +1 -0
- package/dist/node/lib/AreDirective/AreDirective.types.mjs +3 -0
- package/dist/node/lib/AreDirective/AreDirective.types.mjs.map +1 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.d.mts +13 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.d.ts +13 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.js +82 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.js.map +1 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.mjs +70 -0
- package/dist/node/lib/AreHTML/AreHTML.tokenizer.mjs.map +1 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.d.mts +4 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.d.ts +4 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.js +13 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.js.map +1 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.mjs +12 -0
- package/dist/node/lib/AreHTMLAttribute/AreHTML.attribute.mjs.map +1 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.d.mts +4 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.d.ts +4 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.js +82 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.js.map +1 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.mjs +75 -0
- package/dist/node/lib/AreHTMLNode/AreHTMLNode.mjs.map +1 -0
- package/dist/node/lib/AreRoot/AreRoot.component.d.mts +13 -0
- package/dist/node/lib/AreRoot/AreRoot.component.d.ts +13 -0
- package/dist/node/lib/AreRoot/AreRoot.component.js +117 -0
- package/dist/node/lib/AreRoot/AreRoot.component.js.map +1 -0
- package/dist/node/lib/AreRoot/AreRoot.component.mjs +107 -0
- package/dist/node/lib/AreRoot/AreRoot.component.mjs.map +1 -0
- package/dist/node/lib/AreStyle/AreStyle.context.d.mts +8 -0
- package/dist/node/lib/AreStyle/AreStyle.context.d.ts +8 -0
- package/dist/node/lib/AreStyle/AreStyle.context.js +16 -0
- package/dist/node/lib/AreStyle/AreStyle.context.js.map +1 -0
- package/dist/node/lib/AreStyle/AreStyle.context.mjs +15 -0
- package/dist/node/lib/AreStyle/AreStyle.context.mjs.map +1 -0
- package/dist/node/lib/AreStyle/AreStyle.types.d.mts +2 -0
- package/dist/node/lib/AreStyle/AreStyle.types.d.ts +2 -0
- package/dist/node/lib/AreStyle/AreStyle.types.js +4 -0
- package/dist/node/lib/AreStyle/AreStyle.types.js.map +1 -0
- package/dist/node/lib/AreStyle/AreStyle.types.mjs +3 -0
- package/dist/node/lib/AreStyle/AreStyle.types.mjs.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.d.mts +18 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.d.ts +18 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.js +78 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.js.map +1 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.mjs +71 -0
- package/dist/node/lib/AreWatcher/AreWatcher.component.mjs.map +1 -0
- package/dist/node/nodes/AreComment.d.mts +10 -0
- package/dist/node/nodes/AreComment.d.ts +10 -0
- package/dist/node/nodes/AreComment.js +19 -0
- package/dist/node/nodes/AreComment.js.map +1 -0
- package/dist/node/nodes/AreComment.mjs +18 -0
- package/dist/node/nodes/AreComment.mjs.map +1 -0
- package/dist/node/nodes/AreComponent.d.mts +17 -0
- package/dist/node/nodes/AreComponent.d.ts +17 -0
- package/dist/node/nodes/AreComponent.js +35 -0
- package/dist/node/nodes/AreComponent.js.map +1 -0
- package/dist/node/nodes/AreComponent.mjs +28 -0
- package/dist/node/nodes/AreComponent.mjs.map +1 -0
- package/dist/node/nodes/AreInterpolation.d.mts +10 -0
- package/dist/node/nodes/AreInterpolation.d.ts +10 -0
- package/dist/node/nodes/AreInterpolation.js +19 -0
- package/dist/node/nodes/AreInterpolation.js.map +1 -0
- package/dist/node/nodes/AreInterpolation.mjs +18 -0
- package/dist/node/nodes/AreInterpolation.mjs.map +1 -0
- package/dist/node/nodes/AreRoot.d.mts +21 -0
- package/dist/node/nodes/AreRoot.d.ts +21 -0
- package/dist/node/nodes/AreRoot.js +41 -0
- package/dist/node/nodes/AreRoot.js.map +1 -0
- package/dist/node/nodes/AreRoot.mjs +34 -0
- package/dist/node/nodes/AreRoot.mjs.map +1 -0
- package/dist/node/nodes/AreText.d.mts +10 -0
- package/dist/node/nodes/AreText.d.ts +10 -0
- package/dist/node/nodes/AreText.js +19 -0
- package/dist/node/nodes/AreText.js.map +1 -0
- package/dist/node/nodes/AreText.mjs +18 -0
- package/dist/node/nodes/AreText.mjs.map +1 -0
- package/dist/node/signals/AreRoute.signal.d.mts +12 -0
- package/dist/node/signals/AreRoute.signal.d.ts +12 -0
- package/dist/node/signals/AreRoute.signal.js +25 -0
- package/dist/node/signals/AreRoute.signal.js.map +1 -0
- package/dist/node/signals/AreRoute.signal.mjs +24 -0
- package/dist/node/signals/AreRoute.signal.mjs.map +1 -0
- package/docs/a-logo-docs.png +0 -0
- package/examples/dashboard/concept.ts +60 -0
- package/examples/dashboard/containers/UI.container.ts +233 -0
- package/examples/dashboard/dist/index.html +22 -0
- package/examples/dashboard/dist/mnzfypsd-6zjt7w.js +11454 -0
- package/examples/dashboard/dist/styles.css +792 -0
- package/examples/dashboard/public/index.html +22 -0
- package/examples/dashboard/public/styles.css +792 -0
- package/examples/dashboard/src/components/DashboardApp.component.ts +31 -0
- package/examples/dashboard/src/components/DashboardHeader.component.ts +40 -0
- package/examples/dashboard/src/components/DashboardLogo.component.ts +29 -0
- package/examples/dashboard/src/components/DashboardMain.component.ts +57 -0
- package/examples/dashboard/src/components/DashboardMenu.component.ts +94 -0
- package/examples/dashboard/src/components/DashboardNav.component.ts +28 -0
- package/examples/dashboard/src/components/DashboardNavItem.component.ts +32 -0
- package/examples/dashboard/src/components/DashboardSidebar.component.ts +43 -0
- package/examples/dashboard/src/components/DashboardStatCard.component.ts +71 -0
- package/examples/dashboard/src/components/DashboardStats.component.ts +28 -0
- package/examples/dashboard/src/components/DashboardTable.component.ts +138 -0
- package/examples/dashboard/src/components/DashboardUserCard.component.ts +39 -0
- package/examples/dashboard/src/concept.ts +93 -0
- package/examples/jumpstart/concept.ts +60 -0
- package/examples/jumpstart/containers/UI.container.ts +233 -0
- package/examples/jumpstart/dist/index.html +104 -0
- package/examples/jumpstart/dist/mnpl1g4i-nobz9g.js +10882 -0
- package/examples/jumpstart/dist/static/css/main.css +40 -0
- package/examples/jumpstart/dist/static/img/test.png +0 -0
- package/examples/jumpstart/public/index.html +104 -0
- package/examples/jumpstart/public/static/css/main.css +40 -0
- package/examples/jumpstart/public/static/img/test.png +0 -0
- package/examples/jumpstart/src/components/A-Btn.component.ts +150 -0
- package/examples/jumpstart/src/components/A-Input.component.ts +78 -0
- package/examples/jumpstart/src/components/A-Navigation.component.ts +167 -0
- package/examples/jumpstart/src/components/List.component.ts +138 -0
- package/examples/jumpstart/src/components/PromptTextArea.component.ts +359 -0
- package/examples/jumpstart/src/components/SignInComponent.component.ts +127 -0
- package/examples/jumpstart/src/concept.ts +105 -0
- package/jest.config.ts +61 -0
- package/package.json +110 -0
- package/src/attributes/AreBinding.attribute.ts +19 -0
- package/src/attributes/AreDirective.attribute.ts +26 -0
- package/src/attributes/AreEvent.attribute.ts +5 -0
- package/src/attributes/AreStatic.attribute.ts +6 -0
- package/src/directives/AreComponent.directive.ts +0 -0
- package/src/directives/AreDirectiveFor.directive.ts +322 -0
- package/src/directives/AreDirectiveIf.directive.ts +130 -0
- package/src/engine/AreHTML.compiler.ts +226 -0
- package/src/engine/AreHTML.constants.ts +2 -0
- package/src/engine/AreHTML.context.ts +196 -0
- package/src/engine/AreHTML.engine.ts +210 -0
- package/src/engine/AreHTML.interpreter.ts +466 -0
- package/src/engine/AreHTML.lifecycle.ts +96 -0
- package/src/engine/AreHTML.tokenizer.ts +90 -0
- package/src/engine/AreHTML.transformer.ts +37 -0
- package/src/engine/AreHTML.types.ts +6 -0
- package/src/index.ts +80 -0
- package/src/instructions/AddAttribute.instruction.ts +25 -0
- package/src/instructions/AddComment.instruction.ts +27 -0
- package/src/instructions/AddElement.instruction.ts +22 -0
- package/src/instructions/AddInterpolation.instruction.ts +24 -0
- package/src/instructions/AddListener.instruction.ts +24 -0
- package/src/instructions/AddStyle.instruction.ts +24 -0
- package/src/instructions/AddText.instruction.ts +21 -0
- package/src/instructions/AreHTML.instructions.constants.ts +11 -0
- package/src/instructions/AreHTML.instructions.types.ts +51 -0
- package/src/lib/AreDirective/AreDirective.component.ts +124 -0
- package/src/lib/AreDirective/AreDirective.constants.ts +16 -0
- package/src/lib/AreDirective/AreDirective.context.ts +16 -0
- package/src/lib/AreDirective/AreDirective.meta.ts +9 -0
- package/src/lib/AreDirective/AreDirective.types.ts +14 -0
- package/src/lib/AreHTML/AreHTML.tokenizer.ts +86 -0
- package/src/lib/AreHTMLAttribute/AreHTML.attribute.ts +13 -0
- package/src/lib/AreHTMLNode/AreHTMLNode.ts +84 -0
- package/src/lib/AreRoot/AreRoot.component.ts +134 -0
- package/src/lib/AreStyle/AreStyle.context.ts +20 -0
- package/src/lib/AreStyle/AreStyle.types.ts +0 -0
- package/src/lib/AreWatcher/AreWatcher.component.ts +84 -0
- package/src/nodes/AreComment.ts +17 -0
- package/src/nodes/AreComponent.ts +25 -0
- package/src/nodes/AreInterpolation.ts +16 -0
- package/src/nodes/AreRoot.ts +29 -0
- package/src/nodes/AreText.ts +17 -0
- package/src/signals/AreRoute.signal.ts +27 -0
- package/tests/AreTokenizer.test.ts +260 -0
- package/tests/jest.setup.ts +30 -0
- package/tsconfig.json +60 -0
- package/tslint.json +98 -0
- package/tsup.config.ts +108 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: sans-serif;
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 100vh;
|
|
7
|
+
background: #f2f2f2;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.card {
|
|
12
|
+
background: white;
|
|
13
|
+
padding: 24px;
|
|
14
|
+
border-radius: 12px;
|
|
15
|
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
|
16
|
+
width: 300px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.card input {
|
|
20
|
+
width: 100%;
|
|
21
|
+
padding: 8px;
|
|
22
|
+
margin: 6px 0;
|
|
23
|
+
border: 1px solid #ccc;
|
|
24
|
+
border-radius: 6px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.card button {
|
|
28
|
+
width: 100%;
|
|
29
|
+
padding: 8px;
|
|
30
|
+
margin-top: 8px;
|
|
31
|
+
border: none;
|
|
32
|
+
background: #007bff;
|
|
33
|
+
color: white;
|
|
34
|
+
border-radius: 6px;
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.card button:hover {
|
|
39
|
+
background: #0056b3;
|
|
40
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>Sign In</title>
|
|
8
|
+
<link rel="stylesheet" href="/static/css/main.css" />
|
|
9
|
+
<style>
|
|
10
|
+
* {
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
body {
|
|
17
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
18
|
+
background: #f0f2f5;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
are-root {
|
|
22
|
+
display: flex;
|
|
23
|
+
min-height: 100vh;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
list-component {
|
|
27
|
+
display: block;
|
|
28
|
+
width: 240px;
|
|
29
|
+
background: #1e1e2e;
|
|
30
|
+
padding: 16px 0;
|
|
31
|
+
min-height: 100vh;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.menu-section {
|
|
35
|
+
padding: 12px 20px 6px;
|
|
36
|
+
font-size: 11px;
|
|
37
|
+
font-weight: 600;
|
|
38
|
+
text-transform: uppercase;
|
|
39
|
+
letter-spacing: 0.08em;
|
|
40
|
+
color: #6b7280;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.menu {
|
|
44
|
+
list-style: none;
|
|
45
|
+
margin-bottom: 8px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.menu-item {
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
gap: 10px;
|
|
52
|
+
padding: 9px 20px;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
color: #9ca3af;
|
|
55
|
+
font-size: 14px;
|
|
56
|
+
border-left: 3px solid transparent;
|
|
57
|
+
transition: background 0.15s, color 0.15s;
|
|
58
|
+
user-select: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.menu-item:hover {
|
|
62
|
+
background: #2a2a3e;
|
|
63
|
+
color: #e5e7eb;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.menu-item-active {
|
|
67
|
+
background: #2a2a3e;
|
|
68
|
+
color: #ffffff;
|
|
69
|
+
border-left-color: #6366f1;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.menu-icon {
|
|
73
|
+
font-size: 16px;
|
|
74
|
+
width: 20px;
|
|
75
|
+
text-align: center;
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.menu-text {
|
|
80
|
+
flex: 1;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.menu-badge {
|
|
84
|
+
background: #6366f1;
|
|
85
|
+
color: #fff;
|
|
86
|
+
font-size: 11px;
|
|
87
|
+
font-weight: 600;
|
|
88
|
+
padding: 2px 7px;
|
|
89
|
+
border-radius: 10px;
|
|
90
|
+
min-width: 20px;
|
|
91
|
+
text-align: center;
|
|
92
|
+
}
|
|
93
|
+
</style>
|
|
94
|
+
</head>
|
|
95
|
+
|
|
96
|
+
<body>
|
|
97
|
+
<are-root id="app">
|
|
98
|
+
<list-component></list-component>
|
|
99
|
+
</are-root>
|
|
100
|
+
|
|
101
|
+
<script type="module" src="./{{BUNDLE_ID}}.js"></script>
|
|
102
|
+
</body>
|
|
103
|
+
|
|
104
|
+
</html>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: sans-serif;
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 100vh;
|
|
7
|
+
background: #f2f2f2;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.card {
|
|
12
|
+
background: white;
|
|
13
|
+
padding: 24px;
|
|
14
|
+
border-radius: 12px;
|
|
15
|
+
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
|
16
|
+
width: 300px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.card input {
|
|
20
|
+
width: 100%;
|
|
21
|
+
padding: 8px;
|
|
22
|
+
margin: 6px 0;
|
|
23
|
+
border: 1px solid #ccc;
|
|
24
|
+
border-radius: 6px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.card button {
|
|
28
|
+
width: 100%;
|
|
29
|
+
padding: 8px;
|
|
30
|
+
margin-top: 8px;
|
|
31
|
+
border: none;
|
|
32
|
+
background: #007bff;
|
|
33
|
+
color: white;
|
|
34
|
+
border-radius: 6px;
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.card button:hover {
|
|
39
|
+
background: #0056b3;
|
|
40
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
|
|
2
|
+
import { A_Caller, A_Feature, A_FormatterHelper, A_Inject, A_Scope } from "@adaas/a-concept";
|
|
3
|
+
import { A_Logger } from "@adaas/a-utils/a-logger";
|
|
4
|
+
import { Are } from "@adaas/are";
|
|
5
|
+
import { AreEvent } from "@adaas/are";
|
|
6
|
+
import { AreNode } from "@adaas/are";
|
|
7
|
+
import { AreScene } from "@adaas/are";
|
|
8
|
+
import { AreStore } from "@adaas/are";
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// @Are.Condition([
|
|
14
|
+
// new AreRouteSignal('/home')
|
|
15
|
+
// ])
|
|
16
|
+
export class ABtn extends Are {
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
props: Record<string, any> = {
|
|
20
|
+
name: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
default: 'A_Button Element',
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@Are.Template
|
|
29
|
+
async template(
|
|
30
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
31
|
+
@A_Inject(AreStore) store: AreStore,
|
|
32
|
+
) {
|
|
33
|
+
node.setContent(`
|
|
34
|
+
<button class="a-btn" @click="handleClick"> Make it: {{name}} {{number}}</button>
|
|
35
|
+
`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@AreStore.Function
|
|
40
|
+
filter(test: string) {
|
|
41
|
+
/**
|
|
42
|
+
* NO THIS!!!! because this - is actually Are Component,
|
|
43
|
+
* if you need any parameter - you should pass it to the function, but you can't use this to access component's properties or methods, because this will be undefined, and you can't use this to access store's properties or methods, because this will be undefined as well. This function is just a pure function that can be used to manipulate data in the store, but it won't have access to the component's scope or other features, so we can keep the store's logic separate from the component's logic.
|
|
44
|
+
*/
|
|
45
|
+
console.log('test', test);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@Are.Styles
|
|
50
|
+
async styles(
|
|
51
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
52
|
+
): Promise<void> {
|
|
53
|
+
// node.setStyles(`
|
|
54
|
+
// .a-btn {
|
|
55
|
+
// padding: 10px 20px;
|
|
56
|
+
// background-color: {{bgColor}}!important;
|
|
57
|
+
// color: white;
|
|
58
|
+
// border: none;
|
|
59
|
+
// border-radius: 4px;
|
|
60
|
+
// cursor: pointer;
|
|
61
|
+
// font-size: 16px;
|
|
62
|
+
// }
|
|
63
|
+
// `);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@Are.Data
|
|
67
|
+
async data(
|
|
68
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
69
|
+
@A_Inject(AreStore) store: AreStore,
|
|
70
|
+
) {
|
|
71
|
+
store.set({
|
|
72
|
+
name: 'A_Button Element',
|
|
73
|
+
showInput: false,
|
|
74
|
+
bgColor: '#007BFF',
|
|
75
|
+
btn2: 'Button 2',
|
|
76
|
+
showInput2: false,
|
|
77
|
+
number: 0,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// @Are.onBeforeLoad
|
|
82
|
+
// async onLoad(
|
|
83
|
+
// @A_Inject(A_Caller) node: AreNode,
|
|
84
|
+
// @A_Inject(AreStore) store: AreStore,
|
|
85
|
+
// @A_Inject(A_Logger) logger: A_Logger,
|
|
86
|
+
// ) {
|
|
87
|
+
// logger.debug('red', `Before ABtn Component Load ... : <${node.aseid.entity}> : ${node.aseid.toString()}`);
|
|
88
|
+
// }
|
|
89
|
+
|
|
90
|
+
// @Are.onAfterLoad
|
|
91
|
+
// async onAfterLoad(
|
|
92
|
+
// @A_Inject(A_Caller) node: AreNode,
|
|
93
|
+
// @A_Inject(AreStore) store: AreStore,
|
|
94
|
+
// @A_Inject(A_Logger) logger: A_Logger,
|
|
95
|
+
// ) {
|
|
96
|
+
// logger.debug('red', `After ABtn Component Load ... : <${node.aseid.entity}> : ${node.aseid.toString()}`);
|
|
97
|
+
// }
|
|
98
|
+
|
|
99
|
+
@Are.EventHandler
|
|
100
|
+
async handleClick(
|
|
101
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
102
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
103
|
+
@A_Inject(AreStore) store: AreStore,
|
|
104
|
+
@A_Inject(A_Logger) logger: A_Logger,
|
|
105
|
+
@A_Inject(AreEvent) event: AreEvent,
|
|
106
|
+
@A_Inject(AreScene) scene: AreScene,
|
|
107
|
+
) {
|
|
108
|
+
|
|
109
|
+
// just set random Text
|
|
110
|
+
store.set('number', Math.floor(Math.random() * 1000));
|
|
111
|
+
store.set('name', `Clicked! `);
|
|
112
|
+
|
|
113
|
+
console.log('Changing ShowInput from ', store.get('showInput'));
|
|
114
|
+
store.set('showInput', !store.get('showInput'));
|
|
115
|
+
|
|
116
|
+
console.log('Changing ShowInput to ', store.get('showInput'), store);
|
|
117
|
+
|
|
118
|
+
store.set('bgColor', '#ff5733');
|
|
119
|
+
|
|
120
|
+
console.log('event data:', event);
|
|
121
|
+
|
|
122
|
+
await node.update();
|
|
123
|
+
|
|
124
|
+
// await new AreUpdateSignal(node).next(scope);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
@Are.EventHandler
|
|
129
|
+
async handleClick2(
|
|
130
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
131
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
132
|
+
@A_Inject(AreStore) store: AreStore,
|
|
133
|
+
@A_Inject(A_Logger) logger: A_Logger,
|
|
134
|
+
@A_Inject(AreEvent) event: AreEvent,
|
|
135
|
+
@A_Inject(AreScene) scene: AreScene,
|
|
136
|
+
) {
|
|
137
|
+
|
|
138
|
+
// just set random Text
|
|
139
|
+
store.set('btn2', `Button 2 Clicked! `);
|
|
140
|
+
|
|
141
|
+
store.set('showInput2', !store.get('showInput2'));
|
|
142
|
+
|
|
143
|
+
console.log('event data:', event);
|
|
144
|
+
|
|
145
|
+
await node.update();
|
|
146
|
+
|
|
147
|
+
// await new AreUpdateSignal(node).next(scope);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { A_Caller, A_Feature, A_Inject, A_Scope } from "@adaas/a-concept";
|
|
2
|
+
|
|
3
|
+
import { A_Logger } from "@adaas/a-utils/a-logger";
|
|
4
|
+
import { Are, AreEvent, AreNode, AreScene, AreStore } from "@adaas/are";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export class AInput extends Are {
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@Are.Template
|
|
11
|
+
async template(
|
|
12
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
13
|
+
@A_Inject(A_Logger) logger: A_Logger
|
|
14
|
+
) {
|
|
15
|
+
logger.info('blue', `AInput template called... : <${node.aseid.entity}> : `, node.aseid.toString());
|
|
16
|
+
|
|
17
|
+
node.setTemplate(`
|
|
18
|
+
<div><input $no-update @input="onChange" :value="inputValue" type="text" :placeholder="placeholder"> </input> {{inputValue}}</div>
|
|
19
|
+
`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@Are.Data
|
|
23
|
+
async data(
|
|
24
|
+
@A_Inject(AreStore) store: AreStore,
|
|
25
|
+
) {
|
|
26
|
+
store.set({
|
|
27
|
+
placeholder: 'A_Input Element',
|
|
28
|
+
inputValue: 'Test',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@Are.EventHandler
|
|
34
|
+
async A_UI_NODE_onBeforeLoad(
|
|
35
|
+
@A_Inject(AreNode) node: AreNode,
|
|
36
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
37
|
+
@A_Inject(AreStore) store: AreStore,
|
|
38
|
+
@A_Inject(A_Logger) logger: A_Logger,
|
|
39
|
+
): Promise<void> {
|
|
40
|
+
logger.log('green', `AInput is initializing... : <${node.aseid.entity}> : `, node.aseid.toString());
|
|
41
|
+
|
|
42
|
+
// store.data.set('btnName', 'Nope');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@Are.EventHandler
|
|
47
|
+
async onChange(
|
|
48
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
49
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
50
|
+
@A_Inject(AreStore) store: AreStore,
|
|
51
|
+
@A_Inject(A_Logger) logger: A_Logger,
|
|
52
|
+
@A_Inject(AreEvent) event: AreEvent<InputEvent>,
|
|
53
|
+
@A_Inject(AreScene) scene: AreScene,
|
|
54
|
+
) {
|
|
55
|
+
|
|
56
|
+
// const timeout = store.get('timeout');
|
|
57
|
+
|
|
58
|
+
// clearTimeout(timeout);
|
|
59
|
+
if (event.data.target === null
|
|
60
|
+
||
|
|
61
|
+
store.get('inputValue') === (event.data.target as HTMLInputElement).value
|
|
62
|
+
) return;
|
|
63
|
+
|
|
64
|
+
logger.log('green', `AInput onChange event triggered... : <${node.aseid.entity}> : `, node.aseid.toString(), (event.data.target as HTMLInputElement).value);
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
store.set('inputValue', (event.data.target as HTMLInputElement).value);
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
// store.set('timeout', setTimeout(async () => {
|
|
72
|
+
await node.update();
|
|
73
|
+
|
|
74
|
+
// }, 1000))
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { A_Caller, A_Dependency, A_Feature, A_FormatterHelper, A_Inject, A_Scope } from "@adaas/a-concept";
|
|
2
|
+
import { A_SignalBus } from "@adaas/a-utils/a-signal";
|
|
3
|
+
import { A_Logger } from "@adaas/a-utils/a-logger";
|
|
4
|
+
import { Are, AreCompiler, AreEvent, AreIndex, AreNode, AreRouteSignal, AreScene, AreStore } from "@adaas/are";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export class ANavigation extends Are {
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@Are.Template
|
|
11
|
+
async template(
|
|
12
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
13
|
+
@A_Inject(AreStore) store: AreStore,
|
|
14
|
+
) {
|
|
15
|
+
|
|
16
|
+
console.log('ANavigation template called... : ', store
|
|
17
|
+
.get('items'));
|
|
18
|
+
|
|
19
|
+
node.setTemplate(`
|
|
20
|
+
<div class="a-navigation">
|
|
21
|
+
<h2>{{title}}</h2>
|
|
22
|
+
|
|
23
|
+
<span> Navigate to: {{activeId}}</span>
|
|
24
|
+
<ul>
|
|
25
|
+
${store
|
|
26
|
+
.get('items')
|
|
27
|
+
.map((item: string) => `
|
|
28
|
+
<li @click="navigate" class=${store.get('activeId') == item ? 'active' : ''} >
|
|
29
|
+
<a href="#${item.toLowerCase()}">${item}
|
|
30
|
+
</a>
|
|
31
|
+
</li>
|
|
32
|
+
`).join('')
|
|
33
|
+
}
|
|
34
|
+
</ul>
|
|
35
|
+
</div>
|
|
36
|
+
`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@Are.Styles
|
|
41
|
+
async styles(
|
|
42
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
43
|
+
): Promise<void> {
|
|
44
|
+
node.setStyles(`
|
|
45
|
+
.a-navigation {
|
|
46
|
+
padding: 10px;
|
|
47
|
+
position: absolute;
|
|
48
|
+
top: 0;
|
|
49
|
+
width: 250px;
|
|
50
|
+
left: 0;
|
|
51
|
+
height: 100%;
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
align-items: center;
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.a-navigation ul {
|
|
60
|
+
list-style-type: none;
|
|
61
|
+
padding: 0;
|
|
62
|
+
width: 100%;
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
align-items: flex-start;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.a-navigation li {
|
|
69
|
+
padding: 10px 0;
|
|
70
|
+
text-align: center;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
width: 100%;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.a-navigation li:hover {
|
|
76
|
+
background-color: red;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.a-navigation li a {
|
|
80
|
+
text-decoration: none;
|
|
81
|
+
color: #333;
|
|
82
|
+
font-weight: bold;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.a-navigation li.active a {
|
|
86
|
+
color: #007BFF;
|
|
87
|
+
}
|
|
88
|
+
`);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@Are.Data
|
|
92
|
+
async data(
|
|
93
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
94
|
+
@A_Inject(AreStore) store: AreStore,
|
|
95
|
+
) {
|
|
96
|
+
store.set({
|
|
97
|
+
title: 'A_Navigation Component',
|
|
98
|
+
items: ['Home', 'About', 'Services', 'Contact'],
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@Are.EventHandler
|
|
104
|
+
async navigate(
|
|
105
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
106
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
107
|
+
@A_Inject(AreStore) store: AreStore,
|
|
108
|
+
@A_Inject(A_Logger) logger: A_Logger,
|
|
109
|
+
@A_Inject(AreEvent) event: AreEvent<{ target: HTMLElement }>,
|
|
110
|
+
@A_Inject(AreScene) scene: AreScene,
|
|
111
|
+
@A_Inject(AreIndex) index: AreIndex,
|
|
112
|
+
|
|
113
|
+
@A_Dependency.Parent()
|
|
114
|
+
@A_Inject(AreScene) parentScene: AreScene,
|
|
115
|
+
|
|
116
|
+
@A_Inject(A_SignalBus) bus: A_SignalBus,
|
|
117
|
+
@A_Inject(AreCompiler) compiler: AreCompiler,
|
|
118
|
+
) {
|
|
119
|
+
|
|
120
|
+
await bus.next(new AreRouteSignal('/home'))
|
|
121
|
+
|
|
122
|
+
const existingItems = store.get('items') as string[];
|
|
123
|
+
store.set('activeId', event.data.target.innerText);
|
|
124
|
+
|
|
125
|
+
existingItems.push('New Item ' + Math.floor(Math.random() * 100));
|
|
126
|
+
|
|
127
|
+
store.set('items', existingItems);
|
|
128
|
+
|
|
129
|
+
// drop all render plans related to this node
|
|
130
|
+
// node.unmount()
|
|
131
|
+
|
|
132
|
+
// // load node again
|
|
133
|
+
// scene.reset();
|
|
134
|
+
// node.scope.deregister(scene);
|
|
135
|
+
|
|
136
|
+
// node.scope.deregister(AreNode);
|
|
137
|
+
|
|
138
|
+
// const newNodeScene = new AreScene(node.aseid);
|
|
139
|
+
|
|
140
|
+
// node.scope.register(newNodeScene);
|
|
141
|
+
|
|
142
|
+
const newNodeScene = scene;
|
|
143
|
+
await this.template(node, store);
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
compiler.index(node);
|
|
149
|
+
|
|
150
|
+
logger?.debug(newNodeScene.debugPrefix + `Loaded component <${node.aseid.entity}> with ${this.constructor.name}`);
|
|
151
|
+
|
|
152
|
+
for (const sceneNode of newNodeScene.nodes()) {
|
|
153
|
+
if (!newNodeScene.isAttached(sceneNode)) {
|
|
154
|
+
newNodeScene.attach(sceneNode)
|
|
155
|
+
await sceneNode.load();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
console.log('Recompiled node:', node, node.scope);
|
|
160
|
+
|
|
161
|
+
// finally compile and render
|
|
162
|
+
await node.update();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
}
|