@kosdev-code/kos-nx-plugin 2.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/README.md +11 -0
- package/generators.json +70 -0
- package/migrations.json +81 -0
- package/package.json +25 -0
- package/src/generators/kos-companion-model/files/types/index.d.ts.template +11 -0
- package/src/generators/kos-companion-model/generator.d.ts +5 -0
- package/src/generators/kos-companion-model/generator.d.ts.map +1 -0
- package/src/generators/kos-companion-model/generator.js +45 -0
- package/src/generators/kos-companion-model/generator.js.map +1 -0
- package/src/generators/kos-companion-model/schema.d.ts +6 -0
- package/src/generators/kos-companion-model/schema.json +36 -0
- package/src/generators/kos-component/cui/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/cui/__nameDashCase__.tsx__template__ +35 -0
- package/src/generators/kos-component/cui/index.ts__template__ +1 -0
- package/src/generators/kos-component/files/__nameDashCase__.css__template__ +2 -0
- package/src/generators/kos-component/files/__nameDashCase__.tsx__template__ +20 -0
- package/src/generators/kos-component/files/index.ts__template__ +1 -0
- package/src/generators/kos-component/generator.d.ts +5 -0
- package/src/generators/kos-component/generator.d.ts.map +1 -0
- package/src/generators/kos-component/generator.js +270 -0
- package/src/generators/kos-component/generator.js.map +1 -0
- package/src/generators/kos-component/nav/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/nav/__nameDashCase__.tsx__template__ +25 -0
- package/src/generators/kos-component/nav/index.ts__template__ +1 -0
- package/src/generators/kos-component/schema.d.ts +18 -0
- package/src/generators/kos-component/schema.json +88 -0
- package/src/generators/kos-component/setting/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/setting/__nameDashCase__.tsx__template__ +25 -0
- package/src/generators/kos-component/setting/index.ts__template__ +1 -0
- package/src/generators/kos-component/setup/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/setup/__nameDashCase__.tsx__template__ +32 -0
- package/src/generators/kos-component/setup/index.ts__template__ +1 -0
- package/src/generators/kos-component/trouble-action/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/trouble-action/__nameDashCase__.tsx__template__ +58 -0
- package/src/generators/kos-component/trouble-action/index.ts__template__ +1 -0
- package/src/generators/kos-component/utility/__nameDashCase__.stories.tsx__template__ +30 -0
- package/src/generators/kos-component/utility/__nameDashCase__.tsx__template__ +45 -0
- package/src/generators/kos-component/utility/index.ts__template__ +1 -0
- package/src/generators/kos-container-model/files/model/__nameDashCase__-model.ts.template +80 -0
- package/src/generators/kos-container-model/files/model/__nameDashCase__-registration.ts.template +113 -0
- package/src/generators/kos-container-model/files/model/index.ts.template +6 -0
- package/src/generators/kos-container-model/files/model/types/index.d.ts.template +24 -0
- package/src/generators/kos-container-model/files/services/__modelNameDashCase__-services.ts.template +28 -0
- package/src/generators/kos-container-model/files/services/index.ts.template +1 -0
- package/src/generators/kos-container-model/generator.d.ts +5 -0
- package/src/generators/kos-container-model/generator.d.ts.map +1 -0
- package/src/generators/kos-container-model/generator.js +74 -0
- package/src/generators/kos-container-model/generator.js.map +1 -0
- package/src/generators/kos-container-model/lib/normalize-options.d.ts +4 -0
- package/src/generators/kos-container-model/lib/normalize-options.d.ts.map +1 -0
- package/src/generators/kos-container-model/lib/normalize-options.js +32 -0
- package/src/generators/kos-container-model/lib/normalize-options.js.map +1 -0
- package/src/generators/kos-container-model/lib/normalize-value.d.ts +7 -0
- package/src/generators/kos-container-model/lib/normalize-value.d.ts.map +1 -0
- package/src/generators/kos-container-model/lib/normalize-value.js +28 -0
- package/src/generators/kos-container-model/lib/normalize-value.js.map +1 -0
- package/src/generators/kos-container-model/lib/utils/name-utils.d.ts +6 -0
- package/src/generators/kos-container-model/lib/utils/name-utils.d.ts.map +1 -0
- package/src/generators/kos-container-model/lib/utils/name-utils.js +53 -0
- package/src/generators/kos-container-model/lib/utils/name-utils.js.map +1 -0
- package/src/generators/kos-container-model/lib/utils/ts-visitor.d.ts +8 -0
- package/src/generators/kos-container-model/lib/utils/ts-visitor.d.ts.map +1 -0
- package/src/generators/kos-container-model/lib/utils/ts-visitor.js +122 -0
- package/src/generators/kos-container-model/lib/utils/ts-visitor.js.map +1 -0
- package/src/generators/kos-container-model/schema.d.ts +35 -0
- package/src/generators/kos-container-model/schema.json +50 -0
- package/src/generators/kos-context/files/__nameDashCase__-provider.tsx.template +40 -0
- package/src/generators/kos-context/files/index.ts.template +1 -0
- package/src/generators/kos-context/generator.d.ts +5 -0
- package/src/generators/kos-context/generator.d.ts.map +1 -0
- package/src/generators/kos-context/generator.js +56 -0
- package/src/generators/kos-context/generator.js.map +1 -0
- package/src/generators/kos-context/schema.d.ts +14 -0
- package/src/generators/kos-context/schema.json +36 -0
- package/src/generators/kos-hook/files/index.ts.template +2 -0
- package/src/generators/kos-hook/files/use-__nameDashCase__.ts.template +13 -0
- package/src/generators/kos-hook/files/with-__nameDashCase__.tsx.template +28 -0
- package/src/generators/kos-hook/generator.d.ts +5 -0
- package/src/generators/kos-hook/generator.d.ts.map +1 -0
- package/src/generators/kos-hook/generator.js +56 -0
- package/src/generators/kos-hook/generator.js.map +1 -0
- package/src/generators/kos-hook/schema.d.ts +21 -0
- package/src/generators/kos-hook/schema.json +36 -0
- package/src/generators/kos-i18n-project/files/.kos.json.template +5 -0
- package/src/generators/kos-i18n-project/files/src/assets/locales/en/__nameDashCase__.json.template +3 -0
- package/src/generators/kos-i18n-project/generator.d.ts +5 -0
- package/src/generators/kos-i18n-project/generator.d.ts.map +1 -0
- package/src/generators/kos-i18n-project/generator.js +82 -0
- package/src/generators/kos-i18n-project/generator.js.map +1 -0
- package/src/generators/kos-i18n-project/schema.d.ts +3 -0
- package/src/generators/kos-i18n-project/schema.json +18 -0
- package/src/generators/kos-init/generator.d.ts +5 -0
- package/src/generators/kos-init/generator.d.ts.map +1 -0
- package/src/generators/kos-init/generator.js +43 -0
- package/src/generators/kos-init/generator.js.map +1 -0
- package/src/generators/kos-init/schema.d.ts +5 -0
- package/src/generators/kos-init/schema.json +29 -0
- package/src/generators/kos-model/files/model/__nameDashCase__-model.ts.template +57 -0
- package/src/generators/kos-model/files/model/__nameDashCase__-registration.ts.template +110 -0
- package/src/generators/kos-model/files/model/index.ts__template__ +4 -0
- package/src/generators/kos-model/files/model/types/index.d.ts.template +7 -0
- package/src/generators/kos-model/files/services/__nameDashCase__-services.ts.template +28 -0
- package/src/generators/kos-model/files/services/index.ts.template +1 -0
- package/src/generators/kos-model/generator.d.ts +5 -0
- package/src/generators/kos-model/generator.d.ts.map +1 -0
- package/src/generators/kos-model/generator.js +115 -0
- package/src/generators/kos-model/generator.js.map +1 -0
- package/src/generators/kos-model/lib/normalize-options.d.ts +4 -0
- package/src/generators/kos-model/lib/normalize-options.d.ts.map +1 -0
- package/src/generators/kos-model/lib/normalize-options.js +35 -0
- package/src/generators/kos-model/lib/normalize-options.js.map +1 -0
- package/src/generators/kos-model/lib/normalize-value.d.ts +7 -0
- package/src/generators/kos-model/lib/normalize-value.d.ts.map +1 -0
- package/src/generators/kos-model/lib/normalize-value.js +28 -0
- package/src/generators/kos-model/lib/normalize-value.js.map +1 -0
- package/src/generators/kos-model/lib/utils/name-utils.d.ts +6 -0
- package/src/generators/kos-model/lib/utils/name-utils.d.ts.map +1 -0
- package/src/generators/kos-model/lib/utils/name-utils.js +42 -0
- package/src/generators/kos-model/lib/utils/name-utils.js.map +1 -0
- package/src/generators/kos-model/lib/utils/ts-visitor.d.ts +8 -0
- package/src/generators/kos-model/lib/utils/ts-visitor.d.ts.map +1 -0
- package/src/generators/kos-model/lib/utils/ts-visitor.js +126 -0
- package/src/generators/kos-model/lib/utils/ts-visitor.js.map +1 -0
- package/src/generators/kos-model/schema.d.ts +41 -0
- package/src/generators/kos-model/schema.json +91 -0
- package/src/generators/kos-plugin-project/files/.env.template +7 -0
- package/src/generators/kos-plugin-project/files/.kos.json.template +40 -0
- package/src/generators/kos-plugin-project/files/.storybook/main.ts.template +45 -0
- package/src/generators/kos-plugin-project/files/.storybook/preview.tsx.template +82 -0
- package/src/generators/kos-plugin-project/files/.storybook/registration.ts.template +40 -0
- package/src/generators/kos-plugin-project/files/index.html.template +15 -0
- package/src/generators/kos-plugin-project/files/module-federation.config.ts.template +1 -0
- package/src/generators/kos-plugin-project/files/src/app/app.css.template +2 -0
- package/src/generators/kos-plugin-project/files/src/app/app.tsx.template +54 -0
- package/src/generators/kos-plugin-project/files/src/app/components/main-view/index.ts.template +1 -0
- package/src/generators/kos-plugin-project/files/src/app/components/main-view/main-view.tsx.template +14 -0
- package/src/generators/kos-plugin-project/files/src/app/tools/experience-resolver.ts.template +10 -0
- package/src/generators/kos-plugin-project/files/src/app/tools/index.ts.template +2 -0
- package/src/generators/kos-plugin-project/files/src/app/tools/kOSJSON.ts.template +1 -0
- package/src/generators/kos-plugin-project/files/src/assets/kos-logo.svg.template +4 -0
- package/src/generators/kos-plugin-project/files/src/assets/locales/en/__nameDashCase__.json.template +3 -0
- package/src/generators/kos-plugin-project/files/src/registration.ts.template +13 -0
- package/src/generators/kos-plugin-project/files/webpack.config.prod.ts.template +24 -0
- package/src/generators/kos-plugin-project/files/webpack.config.ts.template +7 -0
- package/src/generators/kos-plugin-project/generator.d.ts +5 -0
- package/src/generators/kos-plugin-project/generator.d.ts.map +1 -0
- package/src/generators/kos-plugin-project/generator.js +108 -0
- package/src/generators/kos-plugin-project/generator.js.map +1 -0
- package/src/generators/kos-plugin-project/schema.d.ts +5 -0
- package/src/generators/kos-plugin-project/schema.json +33 -0
- package/src/generators/kos-splash-project/files/project/project.json.template +17 -0
- package/src/generators/kos-splash-project/files/project/src/start.html.template +13 -0
- package/src/generators/kos-splash-project/files/tools/splashtool.mjs.template +247 -0
- package/src/generators/kos-splash-project/generator.d.ts +5 -0
- package/src/generators/kos-splash-project/generator.d.ts.map +1 -0
- package/src/generators/kos-splash-project/generator.js +17 -0
- package/src/generators/kos-splash-project/generator.js.map +1 -0
- package/src/generators/kos-splash-project/schema.d.ts +3 -0
- package/src/generators/kos-splash-project/schema.json +18 -0
- package/src/generators/kos-theme-project/files/.kos.json.template +5 -0
- package/src/generators/kos-theme-project/files/theme/component.css.template +2 -0
- package/src/generators/kos-theme-project/files/theme/generic.css.template +2 -0
- package/src/generators/kos-theme-project/files/theme/semantic.css.template +2 -0
- package/src/generators/kos-theme-project/files/theme/theme-overlay.css.template +7 -0
- package/src/generators/kos-theme-project/files/vite.config.ts.template +48 -0
- package/src/generators/kos-theme-project/generator.d.ts +5 -0
- package/src/generators/kos-theme-project/generator.d.ts.map +1 -0
- package/src/generators/kos-theme-project/generator.js +54 -0
- package/src/generators/kos-theme-project/generator.js.map +1 -0
- package/src/generators/kos-theme-project/schema.d.ts +3 -0
- package/src/generators/kos-theme-project/schema.json +18 -0
- package/src/generators/kos-ui-project/files/.env.template +7 -0
- package/src/generators/kos-ui-project/files/.kos.json.template +5 -0
- package/src/generators/kos-ui-project/files/bootstrap.tsx.template +13 -0
- package/src/generators/kos-ui-project/files/main.ts.template +18 -0
- package/src/generators/kos-ui-project/files/src/app/app.css.template +38 -0
- package/src/generators/kos-ui-project/files/src/app/app.tsx.template +45 -0
- package/src/generators/kos-ui-project/files/src/app/components/main-view/index.ts.template +1 -0
- package/src/generators/kos-ui-project/files/src/app/components/main-view/main-view.tsx.template +31 -0
- package/src/generators/kos-ui-project/files/src/app/registration.ts.template +13 -0
- package/src/generators/kos-ui-project/files/src/assets/kos-logo.svg.template +4 -0
- package/src/generators/kos-ui-project/files/src/assets/locales/en/__nameDashCase__.json.template +4 -0
- package/src/generators/kos-ui-project/files/src/bootstrap.tsx.template +13 -0
- package/src/generators/kos-ui-project/files/src/index.html.template +14 -0
- package/src/generators/kos-ui-project/files/webpack.config.ts.template +45 -0
- package/src/generators/kos-ui-project/generator.d.ts +5 -0
- package/src/generators/kos-ui-project/generator.d.ts.map +1 -0
- package/src/generators/kos-ui-project/generator.js +135 -0
- package/src/generators/kos-ui-project/generator.js.map +1 -0
- package/src/generators/kos-ui-project/internal/vite.config.ts.template +49 -0
- package/src/generators/kos-ui-project/schema.d.ts +7 -0
- package/src/generators/kos-ui-project/schema.json +34 -0
- package/src/generators/preset/api/utils/service.ts.template +15 -0
- package/src/generators/preset/files/.env.template +7 -0
- package/src/generators/preset/files/.kos.json.template +5 -0
- package/src/generators/preset/files/src/app/app.css.template +38 -0
- package/src/generators/preset/files/src/app/app.tsx.template +38 -0
- package/src/generators/preset/files/src/app/components/main-view/index.ts.template +1 -0
- package/src/generators/preset/files/src/app/components/main-view/main-view.tsx.template +32 -0
- package/src/generators/preset/files/src/app/registration.ts.template +20 -0
- package/src/generators/preset/files/src/assets/kos-logo.svg.template +4 -0
- package/src/generators/preset/files/src/assets/locales/en/__nameDashCase__.json.template +4 -0
- package/src/generators/preset/files/src/bootstrap.tsx.template +13 -0
- package/src/generators/preset/files/src/index.html.template +15 -0
- package/src/generators/preset/files/src/main.ts.template +6 -0
- package/src/generators/preset/files/webpack.config.ts.template +45 -0
- package/src/generators/preset/generator.d.ts +5 -0
- package/src/generators/preset/generator.d.ts.map +1 -0
- package/src/generators/preset/generator.js +252 -0
- package/src/generators/preset/generator.js.map +1 -0
- package/src/generators/preset/local/.env.local.template +5 -0
- package/src/generators/preset/schema.d.ts +8 -0
- package/src/generators/preset/schema.json +14 -0
- package/src/generators/preset/tools/tools/scripts/archiver.js.template +79 -0
- package/src/generators/preset/tools/tools/scripts/descriptor.mjs.template +114 -0
- package/src/generators/preset/tools/tools/scripts/generate-api-types.mjs.template +25 -0
- package/src/generators/preset/tools/tools/scripts/kabtool.mjs.template +87 -0
- package/src/generators/preset/tools/tools/scripts/update.mjs.template +67 -0
- package/src/generators/preset/tools/tools/tsconfig.tools.json.template +12 -0
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/src/migrations/add-overrides/add-overrides.d.ts +3 -0
- package/src/migrations/add-overrides/add-overrides.d.ts.map +1 -0
- package/src/migrations/add-overrides/add-overrides.js +85 -0
- package/src/migrations/add-overrides/add-overrides.js.map +1 -0
- package/src/migrations/add-overrides/files/.env.local__template__ +5 -0
- package/src/migrations/add-overrides/files/tools/scripts/archiver.js__template__ +79 -0
- package/src/migrations/add-overrides/files/tools/scripts/kabtool.mjs__template__ +85 -0
- package/src/migrations/add-overrides/projectFiles/.kos.json__template__ +5 -0
- package/src/migrations/add-update-tool/files/tools/scripts/update.mjs.template +67 -0
- package/src/migrations/add-update-tool/migrate.d.ts +3 -0
- package/src/migrations/add-update-tool/migrate.d.ts.map +1 -0
- package/src/migrations/add-update-tool/migrate.js +24 -0
- package/src/migrations/add-update-tool/migrate.js.map +1 -0
- package/src/migrations/cms-sdk/cms-sdk.d.ts +3 -0
- package/src/migrations/cms-sdk/cms-sdk.d.ts.map +1 -0
- package/src/migrations/cms-sdk/cms-sdk.js +22 -0
- package/src/migrations/cms-sdk/cms-sdk.js.map +1 -0
- package/src/migrations/consolidate-sdk/api/utils/service.ts.template +15 -0
- package/src/migrations/consolidate-sdk/consolidate-sdk.d.ts +3 -0
- package/src/migrations/consolidate-sdk/consolidate-sdk.d.ts.map +1 -0
- package/src/migrations/consolidate-sdk/consolidate-sdk.js +100 -0
- package/src/migrations/consolidate-sdk/consolidate-sdk.js.map +1 -0
- package/src/migrations/consolidate-sdk/files/tools/scripts/generate-api-types.mjs.template +25 -0
- package/src/migrations/default-projects/default-projects.d.ts +3 -0
- package/src/migrations/default-projects/default-projects.d.ts.map +1 -0
- package/src/migrations/default-projects/default-projects.js +45 -0
- package/src/migrations/default-projects/default-projects.js.map +1 -0
- package/src/migrations/default-projects/files/index.ts__template__ +2 -0
- package/src/migrations/freestyle-sdk/freestyle-sdk.d.ts +3 -0
- package/src/migrations/freestyle-sdk/freestyle-sdk.d.ts.map +1 -0
- package/src/migrations/freestyle-sdk/freestyle-sdk.js +18 -0
- package/src/migrations/freestyle-sdk/freestyle-sdk.js.map +1 -0
- package/src/migrations/kabtool-env/migrate.d.ts +3 -0
- package/src/migrations/kabtool-env/migrate.d.ts.map +1 -0
- package/src/migrations/kabtool-env/migrate.js +11 -0
- package/src/migrations/kabtool-env/migrate.js.map +1 -0
- package/src/migrations/migrate-extensions/migrate-extensions.d.ts +3 -0
- package/src/migrations/migrate-extensions/migrate-extensions.d.ts.map +1 -0
- package/src/migrations/migrate-extensions/migrate-extensions.js +77 -0
- package/src/migrations/migrate-extensions/migrate-extensions.js.map +1 -0
- package/src/migrations/translation-format/translation-format.d.ts +3 -0
- package/src/migrations/translation-format/translation-format.d.ts.map +1 -0
- package/src/migrations/translation-format/translation-format.js +56 -0
- package/src/migrations/translation-format/translation-format.js.map +1 -0
- package/src/migrations/translations/add-descriptor.d.ts +3 -0
- package/src/migrations/translations/add-descriptor.d.ts.map +1 -0
- package/src/migrations/translations/add-descriptor.js +48 -0
- package/src/migrations/translations/add-descriptor.js.map +1 -0
- package/src/migrations/translations/files/tools/scripts/descriptor.mjs.template +114 -0
- package/src/migrations/update-kabtool/files/tools/scripts/kabtool.mjs.template +87 -0
- package/src/migrations/update-kabtool/update-kabtool.d.ts +3 -0
- package/src/migrations/update-kabtool/update-kabtool.d.ts.map +1 -0
- package/src/migrations/update-kabtool/update-kabtool.js +11 -0
- package/src/migrations/update-kabtool/update-kabtool.js.map +1 -0
- package/src/migrations/update-sdk/update-sdk.d.ts +3 -0
- package/src/migrations/update-sdk/update-sdk.d.ts.map +1 -0
- package/src/migrations/update-sdk/update-sdk.js +17 -0
- package/src/migrations/update-sdk/update-sdk.js.map +1 -0
- package/src/utils/java-home.d.ts +2 -0
- package/src/utils/java-home.d.ts.map +1 -0
- package/src/utils/java-home.js +44 -0
- package/src/utils/java-home.js.map +1 -0
- package/src/utils/logger.d.ts +9 -0
- package/src/utils/logger.d.ts.map +1 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/logger.js.map +1 -0
- package/src/utils/name-utils.d.ts +6 -0
- package/src/utils/name-utils.d.ts.map +1 -0
- package/src/utils/name-utils.js +60 -0
- package/src/utils/name-utils.js.map +1 -0
- package/src/utils/normalize-value.d.ts +7 -0
- package/src/utils/normalize-value.d.ts.map +1 -0
- package/src/utils/normalize-value.js +33 -0
- package/src/utils/normalize-value.js.map +1 -0
- package/src/utils/project-utils.d.ts +36 -0
- package/src/utils/project-utils.d.ts.map +1 -0
- package/src/utils/project-utils.js +102 -0
- package/src/utils/project-utils.js.map +1 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kosComponentGenerator = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const project_utils_1 = require("../../utils/project-utils");
|
|
7
|
+
const normalize_options_1 = require("../kos-model/lib/normalize-options");
|
|
8
|
+
const PLUGIN_CUI = "cui";
|
|
9
|
+
const PLUGIN_UTILITY = "utility";
|
|
10
|
+
const PLUGIN_TROUBLE_ACTION = "troubleAction";
|
|
11
|
+
const PLUGIN_SETUP = "setup";
|
|
12
|
+
const PLUGIN_SETTING = "setting";
|
|
13
|
+
const PLUGIN_NAV = "nav";
|
|
14
|
+
const contributionMap = {
|
|
15
|
+
[PLUGIN_SETUP]: "setup",
|
|
16
|
+
[PLUGIN_CUI]: "cui",
|
|
17
|
+
[PLUGIN_UTILITY]: "utility",
|
|
18
|
+
[PLUGIN_SETTING]: "setting",
|
|
19
|
+
[PLUGIN_NAV]: "nav",
|
|
20
|
+
[PLUGIN_TROUBLE_ACTION]: "trouble-action",
|
|
21
|
+
};
|
|
22
|
+
async function kosComponentGenerator(tree, options) {
|
|
23
|
+
const normalized = (0, normalize_options_1.normalizeOptions)(tree, {
|
|
24
|
+
...options,
|
|
25
|
+
modelProject: "__NONE__",
|
|
26
|
+
});
|
|
27
|
+
const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, normalized.appProject);
|
|
28
|
+
const kosConfig = (0, project_utils_1.getKosProjectConfiguration)(tree, projectConfiguration.name);
|
|
29
|
+
const componentLocation = kosConfig?.generator?.defaults?.component?.folder || "";
|
|
30
|
+
options.appDirectory = options.appDirectory || componentLocation;
|
|
31
|
+
options.type = contributionMap[options.pluginType || ""] || options.type;
|
|
32
|
+
const projectRoot = projectConfiguration.sourceRoot;
|
|
33
|
+
const isCuiConfig = options.pluginType === "cui";
|
|
34
|
+
const isUtilityConfig = options.pluginType === "utility";
|
|
35
|
+
const isSetupConfig = options.pluginType === "setup";
|
|
36
|
+
const isSettingConfig = options.pluginType === "setting";
|
|
37
|
+
const isTroubleActionConfig = options.pluginType === "troubleAction";
|
|
38
|
+
const isNav = options.pluginType === "nav";
|
|
39
|
+
const requiresLocalization = isCuiConfig ||
|
|
40
|
+
isUtilityConfig ||
|
|
41
|
+
isSetupConfig ||
|
|
42
|
+
isSettingConfig ||
|
|
43
|
+
isNav ||
|
|
44
|
+
isTroubleActionConfig;
|
|
45
|
+
const sourcePath = contributionMap[options.pluginType || ""] ?? "files";
|
|
46
|
+
if (projectRoot) {
|
|
47
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, sourcePath), path.join(projectRoot, options.appDirectory, options.type, normalized.nameDashCase), normalized);
|
|
48
|
+
if (options.useEmotionCss) {
|
|
49
|
+
const cssPath = path.join(projectRoot, options.appDirectory, options.type, normalized.nameDashCase, `${normalized.nameDashCase}.css`);
|
|
50
|
+
tree.delete(cssPath);
|
|
51
|
+
}
|
|
52
|
+
if (options.pluginType) {
|
|
53
|
+
const kosConfigPath = path.join(projectConfiguration.root, ".kos.json");
|
|
54
|
+
const kosConfig = {
|
|
55
|
+
cui: [],
|
|
56
|
+
};
|
|
57
|
+
const tabViewConfig = [];
|
|
58
|
+
const utilityViewConfig = {
|
|
59
|
+
utilities: [],
|
|
60
|
+
};
|
|
61
|
+
const troubleActionConfig = {
|
|
62
|
+
troubleActions: [],
|
|
63
|
+
};
|
|
64
|
+
const setupViewConfig = {
|
|
65
|
+
setupStep: [],
|
|
66
|
+
};
|
|
67
|
+
const settingViewConfig = {
|
|
68
|
+
settings: [],
|
|
69
|
+
};
|
|
70
|
+
const navViewConfig = {
|
|
71
|
+
navViews: [],
|
|
72
|
+
};
|
|
73
|
+
const experiences = {};
|
|
74
|
+
const compPath = path.join(options.appDirectory, options.type, normalized.nameDashCase, `${normalized.nameDashCase}.tsx`);
|
|
75
|
+
if (isCuiConfig) {
|
|
76
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
77
|
+
const experienceId = `${configPrefix}.cui.experience`;
|
|
78
|
+
kosConfig.cui = [
|
|
79
|
+
{
|
|
80
|
+
id: `${configPrefix}`,
|
|
81
|
+
title: `${configPrefix}.cui.title`,
|
|
82
|
+
namespace: normalized.appProject,
|
|
83
|
+
experienceId,
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
experiences[experienceId] = {
|
|
87
|
+
id: experienceId,
|
|
88
|
+
component: normalized.namePascalCase,
|
|
89
|
+
location: `./src/${compPath}`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else if (isUtilityConfig) {
|
|
93
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
94
|
+
const experienceId = `${configPrefix}.util.experience`;
|
|
95
|
+
utilityViewConfig.utilities = [
|
|
96
|
+
{
|
|
97
|
+
id: `${configPrefix}.util`,
|
|
98
|
+
title: `${configPrefix}.utility.title`,
|
|
99
|
+
namespace: normalized.appProject,
|
|
100
|
+
utilDescriptor: normalized.nameCamelCase,
|
|
101
|
+
experienceId,
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
experiences[experienceId] = {
|
|
105
|
+
id: experienceId,
|
|
106
|
+
component: normalized.namePascalCase,
|
|
107
|
+
location: `./src/${compPath}`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
else if (isTroubleActionConfig) {
|
|
111
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
112
|
+
const experienceId = `${configPrefix}.troubleAction.experience`;
|
|
113
|
+
troubleActionConfig.troubleActions = [
|
|
114
|
+
{
|
|
115
|
+
id: `${configPrefix}.troubleAction`,
|
|
116
|
+
title: `${configPrefix}.troubleAction.title`,
|
|
117
|
+
namespace: normalized.appProject,
|
|
118
|
+
troubleType: normalized.nameCamelCase,
|
|
119
|
+
experienceId,
|
|
120
|
+
},
|
|
121
|
+
];
|
|
122
|
+
experiences[experienceId] = {
|
|
123
|
+
id: experienceId,
|
|
124
|
+
component: normalized.namePascalCase,
|
|
125
|
+
location: `./src/${compPath}`,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
else if (isSetupConfig) {
|
|
129
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
130
|
+
const experienceId = `${configPrefix}.setup.experience`;
|
|
131
|
+
setupViewConfig.setupStep = [
|
|
132
|
+
{
|
|
133
|
+
id: `${configPrefix}.setup`,
|
|
134
|
+
title: `${configPrefix}.setup.title`,
|
|
135
|
+
namespace: normalized.appProject,
|
|
136
|
+
setupDescriptor: normalized.nameCamelCase,
|
|
137
|
+
experienceId,
|
|
138
|
+
},
|
|
139
|
+
];
|
|
140
|
+
experiences[experienceId] = {
|
|
141
|
+
id: experienceId,
|
|
142
|
+
component: normalized.namePascalCase,
|
|
143
|
+
location: `./src/${compPath}`,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
else if (isSettingConfig) {
|
|
147
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
148
|
+
const experienceId = `${configPrefix}.settings.experience`;
|
|
149
|
+
settingViewConfig.settings = [
|
|
150
|
+
{
|
|
151
|
+
id: `${configPrefix}.setting`,
|
|
152
|
+
title: `${configPrefix}.setting.title`,
|
|
153
|
+
namespace: normalized.appProject,
|
|
154
|
+
settingsGroup: normalized.group,
|
|
155
|
+
experienceId,
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
experiences[experienceId] = {
|
|
159
|
+
id: experienceId,
|
|
160
|
+
component: normalized.namePascalCase,
|
|
161
|
+
location: `./src/${compPath}`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
else if (isNav) {
|
|
165
|
+
const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
|
|
166
|
+
const experienceId = `${configPrefix}.nav.experience`;
|
|
167
|
+
navViewConfig.navViews = [
|
|
168
|
+
{
|
|
169
|
+
id: `${configPrefix}.nav`,
|
|
170
|
+
title: `${configPrefix}.nav.title`,
|
|
171
|
+
namespace: normalized.appProject,
|
|
172
|
+
navDescriptor: normalized.nameLowerCase,
|
|
173
|
+
experienceId,
|
|
174
|
+
},
|
|
175
|
+
];
|
|
176
|
+
experiences[experienceId] = {
|
|
177
|
+
id: experienceId,
|
|
178
|
+
component: normalized.namePascalCase,
|
|
179
|
+
location: `./src/${compPath}`,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
tabViewConfig.push({
|
|
184
|
+
id: `${normalized.appProject}.${normalized.nameCamelCase}`,
|
|
185
|
+
title: "ddk.ncui.config.title",
|
|
186
|
+
namespace: normalized.appProject,
|
|
187
|
+
component: normalized.namePascalCase,
|
|
188
|
+
location: `./src/${compPath}`,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
const localePath = path.join(projectRoot, "assets", "locales", "en", `${normalized.appProject}.json`);
|
|
192
|
+
(0, devkit_1.updateJson)(tree, localePath, (json) => {
|
|
193
|
+
if (requiresLocalization) {
|
|
194
|
+
json[normalized.appProject] = json[normalized.appProject] || {};
|
|
195
|
+
json[normalized.appProject][normalized.nameCamelCase] =
|
|
196
|
+
json[normalized.appProject][normalized.nameCamelCase] || {};
|
|
197
|
+
json[normalized.appProject][normalized.nameCamelCase][sourcePath] = {
|
|
198
|
+
...json[normalized.appProject][normalized.nameCamelCase][sourcePath],
|
|
199
|
+
title: `${normalized.nameCamelCase}`,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
return json;
|
|
203
|
+
});
|
|
204
|
+
(0, devkit_1.updateJson)(tree, kosConfigPath, (json) => {
|
|
205
|
+
json.kosdev = {
|
|
206
|
+
...json?.kosdev,
|
|
207
|
+
ddk: {
|
|
208
|
+
...json?.kosdev?.ddk,
|
|
209
|
+
ncui: {
|
|
210
|
+
...json?.kosdev?.ddk?.ncui,
|
|
211
|
+
plugin: {
|
|
212
|
+
...json?.kosdev?.ddk?.ncui?.plugin,
|
|
213
|
+
contributes: {
|
|
214
|
+
...json?.kosdev?.ddk?.ncui?.plugin?.contributes,
|
|
215
|
+
setupStep: [
|
|
216
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
217
|
+
?.setupStep || []),
|
|
218
|
+
...setupViewConfig.setupStep,
|
|
219
|
+
],
|
|
220
|
+
cui: [
|
|
221
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes?.cui ||
|
|
222
|
+
[]),
|
|
223
|
+
...kosConfig.cui,
|
|
224
|
+
],
|
|
225
|
+
utilities: [
|
|
226
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
227
|
+
?.utilities || []),
|
|
228
|
+
...utilityViewConfig.utilities,
|
|
229
|
+
],
|
|
230
|
+
troubleActions: [
|
|
231
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
232
|
+
?.troubleActions || []),
|
|
233
|
+
...troubleActionConfig.troubleActions,
|
|
234
|
+
],
|
|
235
|
+
settings: [
|
|
236
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
237
|
+
?.settings || []),
|
|
238
|
+
...settingViewConfig.settings,
|
|
239
|
+
],
|
|
240
|
+
navViews: [
|
|
241
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
242
|
+
?.navViews || []),
|
|
243
|
+
...navViewConfig.navViews,
|
|
244
|
+
],
|
|
245
|
+
experiences: {
|
|
246
|
+
...json?.kosdev?.ddk?.ncui?.plugin?.contributes
|
|
247
|
+
?.experiences,
|
|
248
|
+
...experiences,
|
|
249
|
+
},
|
|
250
|
+
views: {
|
|
251
|
+
...json?.kosdev?.ddk?.ncui?.plugin?.contributes?.views,
|
|
252
|
+
"ddk.ncui.settings.tabView": [
|
|
253
|
+
...(json?.kosdev?.ddk?.ncui?.plugin?.contributes?.views["ddk.ncui.settings.tabView"] || []),
|
|
254
|
+
...tabViewConfig,
|
|
255
|
+
],
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
},
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
};
|
|
262
|
+
return json;
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
await (0, devkit_1.formatFiles)(tree);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.kosComponentGenerator = kosComponentGenerator;
|
|
269
|
+
exports.default = kosComponentGenerator;
|
|
270
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Note: The plugin project Storybook configuration requires that the Studio
|
|
3
|
+
* Simulator is running in order to retrieve model data...
|
|
4
|
+
*/
|
|
5
|
+
import { NavStoryContainer } from "@kosdev-code/kos-ui-plugin/dev";
|
|
6
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
7
|
+
import { <%= namePascalCase %> } from "./<%= nameDashCase %>";
|
|
8
|
+
|
|
9
|
+
const meta: Meta<typeof <%= namePascalCase %>> = {
|
|
10
|
+
args: {},
|
|
11
|
+
component: <%= namePascalCase %>,
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story, context) => (
|
|
14
|
+
<NavStoryContainer>
|
|
15
|
+
<Story args={{ ...context.args }} />
|
|
16
|
+
</NavStoryContainer>
|
|
17
|
+
),
|
|
18
|
+
],
|
|
19
|
+
tags: ["!autodocs"],
|
|
20
|
+
title: "nav/<%= namePascalCase %>",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default meta;
|
|
24
|
+
|
|
25
|
+
type Story = StoryObj<typeof <%= namePascalCase %>>;
|
|
26
|
+
|
|
27
|
+
export const Default: Story = {
|
|
28
|
+
render: (props) => <<%= namePascalCase %> {...props} />,
|
|
29
|
+
};
|
|
30
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { type Experience } from '@kosdev-code/kos-ddk-components';
|
|
3
|
+
import {
|
|
4
|
+
KosLog,
|
|
5
|
+
kosComponent,
|
|
6
|
+
useKosTranslation,
|
|
7
|
+
} from '@kosdev-code/kos-ui-sdk';
|
|
8
|
+
|
|
9
|
+
const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
|
|
10
|
+
log.debug("<%= nameDashCase %> component loaded");
|
|
11
|
+
|
|
12
|
+
const <%= namePascalCase %>Container = styled.div`
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
width: 100%;
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export const <%= namePascalCase %>: Experience = kosComponent(({}) => {
|
|
19
|
+
const { t } = useKosTranslation('<%= appProject %>');
|
|
20
|
+
return (
|
|
21
|
+
<<%= namePascalCase %>Container>Hello from <%= namePascalCase %> Navigation View</<%= namePascalCase %>Container>
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export default <%= namePascalCase %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./<%= nameDashCase %>";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KosBaseGeneratorSchema } from "../kos-model/schema";
|
|
2
|
+
|
|
3
|
+
export interface KosComponentGeneratorSchema
|
|
4
|
+
extends Omit<KosBaseGeneratorSchema, "modelProject"> {
|
|
5
|
+
type: "components" | "features";
|
|
6
|
+
useEmotionCss: boolean;
|
|
7
|
+
appProject: string;
|
|
8
|
+
appDirectory: string;
|
|
9
|
+
group?: string;
|
|
10
|
+
pluginType?:
|
|
11
|
+
| "cui"
|
|
12
|
+
| "settings"
|
|
13
|
+
| "utility"
|
|
14
|
+
| "setup"
|
|
15
|
+
| "setting"
|
|
16
|
+
| "nav"
|
|
17
|
+
| "troubleAction";
|
|
18
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "KosComponent",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Component name",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
},
|
|
14
|
+
"x-prompt": "What name would you like to use?"
|
|
15
|
+
},
|
|
16
|
+
"type": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Provide the component type",
|
|
19
|
+
"x-prompt": {
|
|
20
|
+
"message": "Which type of component would you like to generate?",
|
|
21
|
+
"type": "list",
|
|
22
|
+
"items": [
|
|
23
|
+
{
|
|
24
|
+
"value": "components",
|
|
25
|
+
"label": "Component"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"value": "features",
|
|
29
|
+
"label": "Feature"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"appProject": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "The project where the ui components will be located.",
|
|
37
|
+
"x-prompt": "Which project will this model put UI components?",
|
|
38
|
+
"x-dropdown": "projects",
|
|
39
|
+
"default": ""
|
|
40
|
+
},
|
|
41
|
+
"appDirectory": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "The directory where the ui components will be located.",
|
|
44
|
+
"default": ""
|
|
45
|
+
},
|
|
46
|
+
"useEmotionCss": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"description": "Use emotion css",
|
|
49
|
+
"default": true
|
|
50
|
+
},
|
|
51
|
+
"pluginType": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "The plugin type",
|
|
54
|
+
"x-prompt": {
|
|
55
|
+
"message": "Choose the plugin type.",
|
|
56
|
+
"type": "list",
|
|
57
|
+
"items": [
|
|
58
|
+
{
|
|
59
|
+
"value": "setup",
|
|
60
|
+
"label": "Setup"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"value": "cui",
|
|
64
|
+
"label": "CUI"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"value": "utility",
|
|
68
|
+
"label": "Utility"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"value": "setting",
|
|
72
|
+
"label": "Setting"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"value": "nav",
|
|
76
|
+
"label": "NAV"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"group": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "The settings group",
|
|
84
|
+
"default": ""
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": ["name", "appProject"]
|
|
88
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Note: The plugin project Storybook configuration requires that the Studio
|
|
3
|
+
* Simulator is running in order to retrieve model data...
|
|
4
|
+
*/
|
|
5
|
+
import { SettingStoryContainer } from "@kosdev-code/kos-ui-plugin/dev";
|
|
6
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
7
|
+
import { <%= namePascalCase %> } from "./<%= nameDashCase %>";
|
|
8
|
+
|
|
9
|
+
const meta: Meta<typeof <%= namePascalCase %>> = {
|
|
10
|
+
args: {},
|
|
11
|
+
component: <%= namePascalCase %>,
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story, context) => (
|
|
14
|
+
<SettingStoryContainer>
|
|
15
|
+
<Story args={{ ...context.args }} />
|
|
16
|
+
</SettingStoryContainer>
|
|
17
|
+
),
|
|
18
|
+
],
|
|
19
|
+
tags: ["!autodocs"],
|
|
20
|
+
title: "setting/<%= namePascalCase %>",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default meta;
|
|
24
|
+
|
|
25
|
+
type Story = StoryObj<typeof <%= namePascalCase %>>;
|
|
26
|
+
|
|
27
|
+
export const Default: Story = {
|
|
28
|
+
render: (props) => <<%= namePascalCase %> {...props} />,
|
|
29
|
+
};
|
|
30
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { type Experience } from '@kosdev-code/kos-ddk-components';
|
|
3
|
+
import {
|
|
4
|
+
KosLog,
|
|
5
|
+
kosComponent,
|
|
6
|
+
useKosTranslation,
|
|
7
|
+
} from '@kosdev-code/kos-ui-sdk';
|
|
8
|
+
|
|
9
|
+
const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
|
|
10
|
+
log.debug("<%= nameDashCase %> component loaded");
|
|
11
|
+
|
|
12
|
+
const <%= namePascalCase %>Container = styled.div`
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
width: 100%;
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export const <%= namePascalCase %>: Experience = kosComponent(({}) => {
|
|
19
|
+
const { t } = useKosTranslation('<%= appProject %>');
|
|
20
|
+
return (
|
|
21
|
+
<<%= namePascalCase %>Container>Hello from <%= namePascalCase %> Setting</<%= namePascalCase %>Container>
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export default <%= namePascalCase %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./<%= nameDashCase %>";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Note: The plugin project Storybook configuration requires that the Studio
|
|
3
|
+
* Simulator is running in order to retrieve model data...
|
|
4
|
+
*/
|
|
5
|
+
import { SetupStepStoryContainer } from "@kosdev-code/kos-ui-plugin/dev";
|
|
6
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
7
|
+
import { <%= namePascalCase %> } from "./<%= nameDashCase %>";
|
|
8
|
+
|
|
9
|
+
const meta: Meta<typeof <%= namePascalCase %>> = {
|
|
10
|
+
args: {},
|
|
11
|
+
component: <%= namePascalCase %>,
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story, context) => (
|
|
14
|
+
<SetupStepStoryContainer>
|
|
15
|
+
<Story args={{ ...context.args }} />
|
|
16
|
+
</SetupStepStoryContainer>
|
|
17
|
+
),
|
|
18
|
+
],
|
|
19
|
+
tags: ["!autodocs"],
|
|
20
|
+
title: "setup/<%= namePascalCase %>",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default meta;
|
|
24
|
+
|
|
25
|
+
type Story = StoryObj<typeof <%= namePascalCase %>>;
|
|
26
|
+
|
|
27
|
+
export const Default: Story = {
|
|
28
|
+
render: (props) => <<%= namePascalCase %> {...props} />,
|
|
29
|
+
};
|
|
30
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import {
|
|
3
|
+
Button,
|
|
4
|
+
Footer,
|
|
5
|
+
type Experience,
|
|
6
|
+
} from '@kosdev-code/kos-ddk-components';
|
|
7
|
+
import {
|
|
8
|
+
KosLog,
|
|
9
|
+
kosComponent,
|
|
10
|
+
useKosTranslation,
|
|
11
|
+
} from '@kosdev-code/kos-ui-sdk';
|
|
12
|
+
|
|
13
|
+
const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
|
|
14
|
+
log.debug("<%= nameDashCase %> component loaded");
|
|
15
|
+
|
|
16
|
+
const <%= namePascalCase %>Container = styled.div`
|
|
17
|
+
height: 100%;
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
export const <%= namePascalCase %>: Experience = kosComponent(({ onComplete }) => {
|
|
21
|
+
const { t } = useKosTranslation('<%= appProject %>');
|
|
22
|
+
return (
|
|
23
|
+
<<%= namePascalCase %>Container onClick={onComplete}>
|
|
24
|
+
Hello from <%= namePascalCase %> Setup Step
|
|
25
|
+
<Footer>
|
|
26
|
+
<Button onClick={onComplete}>{t('proceed')}</Button>
|
|
27
|
+
</Footer>
|
|
28
|
+
</<%= namePascalCase %>Container>
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export default <%= namePascalCase %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./<%= nameDashCase %>";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Note: The plugin project Storybook configuration requires that the Studio
|
|
3
|
+
* Simulator is running in order to retrieve model data...
|
|
4
|
+
*/
|
|
5
|
+
import { UtilityStoryContainer } from "@kosdev-code/kos-ui-plugin/dev";
|
|
6
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
7
|
+
import { <%= namePascalCase %> } from "./<%= nameDashCase %>";
|
|
8
|
+
|
|
9
|
+
const meta: Meta<typeof <%= namePascalCase %>> = {
|
|
10
|
+
args: {},
|
|
11
|
+
component: <%= namePascalCase %>,
|
|
12
|
+
decorators: [
|
|
13
|
+
(Story, context) => (
|
|
14
|
+
<UtilityStoryContainer>
|
|
15
|
+
<Story args={{ ...context.args }} />
|
|
16
|
+
</UtilityStoryContainer>
|
|
17
|
+
),
|
|
18
|
+
],
|
|
19
|
+
tags: ["!autodocs"],
|
|
20
|
+
title: "troubleAction/<%= namePascalCase %>",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default meta;
|
|
24
|
+
|
|
25
|
+
type Story = StoryObj<typeof <%= namePascalCase %>>;
|
|
26
|
+
|
|
27
|
+
export const Default: Story = {
|
|
28
|
+
render: (props) => <<%= namePascalCase %> {...props} />,
|
|
29
|
+
};
|
|
30
|
+
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import {
|
|
3
|
+
Button,
|
|
4
|
+
Footer,
|
|
5
|
+
type Experience,
|
|
6
|
+
} from '@kosdev-code/kos-ddk-components';
|
|
7
|
+
import {
|
|
8
|
+
KosLog,
|
|
9
|
+
kosComponent,
|
|
10
|
+
useKosTranslation,
|
|
11
|
+
type TroubleModel,
|
|
12
|
+
} from '@kosdev-code/kos-ui-sdk';
|
|
13
|
+
import { useCallback } from "react";
|
|
14
|
+
|
|
15
|
+
const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
|
|
16
|
+
log.debug("<%= nameDashCase %> component loaded");
|
|
17
|
+
|
|
18
|
+
const <%= namePascalCase %>Container = styled.div`
|
|
19
|
+
align-items: center;
|
|
20
|
+
background-color: white;
|
|
21
|
+
bottom: 0;
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
font-size: 40px;
|
|
25
|
+
height: 100vh;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
left: 0;
|
|
28
|
+
position: fixed;
|
|
29
|
+
right: 0;
|
|
30
|
+
top: 0;
|
|
31
|
+
width: 100vw;
|
|
32
|
+
z-index: 999;
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
interface Props {
|
|
36
|
+
trouble: TroubleModel;
|
|
37
|
+
onComplete: () => void;
|
|
38
|
+
onSkip?: () => void;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const <%= namePascalCase %> = kosComponent(({ onComplete, trouble }: Props) => {
|
|
42
|
+
const { t } = useKosTranslation('<%= appProject %>');
|
|
43
|
+
const handleComplete = useCallback(() => {
|
|
44
|
+
trouble?.resolve();
|
|
45
|
+
onComplete();
|
|
46
|
+
}, [trouble]);
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<<%= namePascalCase %>Container onClick={onComplete}>
|
|
50
|
+
Hello from <%= namePascalCase %> Utility
|
|
51
|
+
<Footer>
|
|
52
|
+
<Button onClick={onComplete}>{t('proceed')}</Button>
|
|
53
|
+
</Footer>
|
|
54
|
+
</<%= namePascalCase %>Container>
|
|
55
|
+
);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
export default <%= namePascalCase %>
|