From cc7f0aa360800d7c785521796717809a36295e8a Mon Sep 17 00:00:00 2001 From: Zaheer <52087831+zahmo@users.noreply.github.com> Date: Sat, 31 Aug 2024 15:51:50 +0200 Subject: [PATCH] Initial commit --- .browserslistrc | 9 + .editorconfig | 13 + .github/ISSUE_TEMPLATE/bug_report.md | 59 + .github/workflows/ci.yml | 39 + .github/workflows/codeql-analysis.yml | 54 + .github/workflows/createdist.yml | 113 + .github/workflows/dependabot.yml | 46 + .github/workflows/deploy-branch.yml | 28 + .github/workflows/deploy.yml | 24 + .github/workflows/stale.yml | 19 + .gitignore | 40 + .nvmrc | 1 + CONTRIBUTING.md | 162 + LICENSE | 21 + README.md | 836 + angular.json | 329 + cp.cmd | 9 + demo/app/ace-editor.directive.ts | 86 + demo/app/demo-root.component.ts | 16 + demo/app/demo.component.html | 165 + demo/app/demo.component.ts | 315 + demo/app/demo.module.ts | 54 + demo/app/demo.routes.ts | 8 + demo/app/example-schemas.model.ts | 171 + demo/assets/example-schemas/asf-array.json | 65 + .../asf-basic-json-schema-type.json | 24 + .../example-schemas/asf-bootstrap-grid.json | 65 + .../asf-complex-key-support.json | 53 + .../asf-hack-conditional-required.json | 41 + .../example-schemas/asf-kitchen-sink.json | 207 + demo/assets/example-schemas/asf-simple.json | 43 + .../assets/example-schemas/asf-tab-array.json | 53 + .../asf-titlemap-examples.json | 91 + demo/assets/example-schemas/jsf-events.json | 22 + .../example-schemas/jsf-factory-sleek.json | 70 + .../example-schemas/jsf-fields-ace.json | 16 + .../example-schemas/jsf-fields-actions.json | 21 + .../jsf-fields-advancedfieldset.json | 21 + .../jsf-fields-array-simple.json | 39 + .../example-schemas/jsf-fields-array.json | 62 + .../jsf-fields-authfieldset.json | 21 + .../jsf-fields-autocomplete.json | 40 + .../example-schemas/jsf-fields-checkbox.json | 37 + .../jsf-fields-checkboxbuttons.json | 21 + .../jsf-fields-checkboxes.json | 75 + .../example-schemas/jsf-fields-color.json | 9 + .../example-schemas/jsf-fields-common.json | 28 + .../example-schemas/jsf-fields-fieldset.json | 28 + .../example-schemas/jsf-fields-help.json | 30 + .../example-schemas/jsf-fields-hidden.json | 22 + .../jsf-fields-iconselect.json | 41 + .../jsf-fields-imageselect.json | 24 + .../example-schemas/jsf-fields-password.json | 12 + .../example-schemas/jsf-fields-questions.json | 42 + .../jsf-fields-radiobuttons.json | 30 + .../example-schemas/jsf-fields-radios.json | 48 + .../example-schemas/jsf-fields-range.json | 18 + .../example-schemas/jsf-fields-section.json | 27 + .../example-schemas/jsf-fields-select.json | 54 + .../jsf-fields-selectfieldset-key.json | 31 + .../jsf-fields-selectfieldset.json | 28 + .../example-schemas/jsf-fields-submit.json | 22 + .../jsf-fields-tabarray-maxitems.json | 41 + .../jsf-fields-tabarray-value.json | 23 + .../example-schemas/jsf-fields-tabarray.json | 39 + .../example-schemas/jsf-fields-textarea.json | 12 + .../example-schemas/jsf-gettingstarted.json | 14 + .../jsf-previousvalues-multidimensional.json | 22 + .../example-schemas/jsf-previousvalues.json | 34 + .../example-schemas/jsf-schema-array.json | 27 + .../example-schemas/jsf-schema-basic.json | 15 + .../example-schemas/jsf-schema-default.json | 47 + .../example-schemas/jsf-schema-inlineref.json | 29 + .../jsf-schema-morecomplex.json | 28 + .../example-schemas/jsf-schema-required.json | 68 + .../example-schemas/jsf-templating-idx.json | 18 + .../jsf-templating-tpldata.json | 15 + .../example-schemas/jsf-templating-value.json | 25 + .../jsf-templating-values.json | 19 + .../example-schemas/json-schema-draft01.json | 81 + .../example-schemas/json-schema-draft02.json | 95 + .../example-schemas/json-schema-draft03.json | 84 + .../example-schemas/json-schema-draft04.json | 88 + .../example-schemas/json-schema-draft06.json | 77 + .../example-schemas/ng-jsf-data-only.json | 20 + .../example-schemas/ng-jsf-deep-ref.json | 53 + .../example-schemas/ng-jsf-flex-layout.json | 120 + .../example-schemas/ng-jsf-layout-only.json | 25 + .../example-schemas/ng-jsf-nested-arrays.json | 38 + .../ng-jsf-select-list-examples.json | 132 + .../ng-jsf-select-widget-examples.json | 139 + .../example-schemas/ng-jsf-simple-array.json | 18 + .../example-schemas/rjsf-alternatives.json | 45 + demo/assets/example-schemas/rjsf-arrays.json | 112 + .../example-schemas/rjsf-custom-array.json | 54 + demo/assets/example-schemas/rjsf-custom.json | 13 + .../example-schemas/rjsf-date-and-time.json | 33 + demo/assets/example-schemas/rjsf-errors.json | 42 + demo/assets/example-schemas/rjsf-files.json | 23 + demo/assets/example-schemas/rjsf-large.json | 47 + demo/assets/example-schemas/rjsf-nested.json | 53 + demo/assets/example-schemas/rjsf-numbers.json | 58 + .../assets/example-schemas/rjsf-ordering.json | 27 + .../example-schemas/rjsf-references.json | 59 + demo/assets/example-schemas/rjsf-simple.json | 47 + demo/assets/example-schemas/rjsf-single.json | 8 + .../example-schemas/rjsf-validation.json | 46 + demo/assets/example-schemas/rjsf-widgets.json | 151 + demo/assets/example-schemas/sources.md | 15 + demo/environments/environment.prod.ts | 3 + demo/environments/environment.ts | 3 + demo/favicon.ico | Bin 0 -> 5430 bytes demo/index.html | 15 + demo/karma.conf.js | 46 + demo/main.ts | 9 + demo/polyfills.ts | 48 + demo/styles.scss | 127 + demo/test.ts | 29 + demo/tsconfig.app.json | 14 + demo/tsconfig.spec.json | 18 + demo/tslint.json | 17 + docs/issue_template.md | 48 + e2e/protractor.conf.js | 28 + e2e/src/app.e2e-spec.ts | 14 + e2e/src/app.po.ts | 12 + e2e/tsconfig.e2e.json | 13 + package-lock.json | 16166 ++++++++++++++++ package.json | 138 + projects/zajsf-bootstrap3/README.md | 244 + .../assets/cssframework/assets.json | 13 + .../assets/cssframework/assets_cdn.json | 12 + projects/zajsf-bootstrap3/karma.conf.js | 47 + projects/zajsf-bootstrap3/ng-package.json | 13 + projects/zajsf-bootstrap3/package.json | 51 + .../src/lib/bootstrap3-cssframework.ts | 109 + .../lib/bootstrap3-framework.component.html | 62 + .../lib/bootstrap3-framework.component.scss | 31 + .../bootstrap3-framework.component.spec.ts | 39 + .../src/lib/bootstrap3-framework.component.ts | 57 + .../src/lib/bootstrap3-framework.module.ts | 37 + .../src/lib/bootstrap3.framework.ts | 18 + projects/zajsf-bootstrap3/src/public_api.ts | 8 + projects/zajsf-bootstrap3/src/test.ts | 17 + projects/zajsf-bootstrap3/tsconfig.lib.json | 25 + .../zajsf-bootstrap3/tsconfig.lib.prod.json | 9 + projects/zajsf-bootstrap3/tsconfig.spec.json | 17 + projects/zajsf-bootstrap3/tslint.json | 11 + projects/zajsf-bootstrap4/README.md | 233 + .../assets/cssframework/assets.json | 8 + .../assets/cssframework/assets_cdn.json | 11 + projects/zajsf-bootstrap4/karma.conf.js | 46 + projects/zajsf-bootstrap4/ng-package.json | 13 + projects/zajsf-bootstrap4/package.json | 51 + .../src/lib/bootstrap4-cssframework.scss | 37 + .../src/lib/bootstrap4-cssframework.ts | 105 + .../lib/bootstrap4-framework.component.scss | 28 + .../bootstrap4-framework.component.spec.ts | 39 + .../src/lib/bootstrap4-framework.component.ts | 66 + .../src/lib/bootstrap4-framework.module.ts | 37 + .../src/lib/bootstrap4.framework.ts | 17 + projects/zajsf-bootstrap4/src/public_api.ts | 8 + projects/zajsf-bootstrap4/src/test.ts | 17 + projects/zajsf-bootstrap4/tsconfig.lib.json | 26 + .../zajsf-bootstrap4/tsconfig.lib.prod.json | 9 + projects/zajsf-bootstrap4/tsconfig.spec.json | 17 + projects/zajsf-bootstrap4/tslint.json | 11 + projects/zajsf-bootstrap5/README.md | 228 + .../assets/cssframework/assets.json | 6 + .../assets/cssframework/assets_cdn.json | 10 + projects/zajsf-bootstrap5/ng-package.json | 13 + projects/zajsf-bootstrap5/package.json | 51 + .../src/lib/bootstrap5-cssframework.scss | 41 + .../src/lib/bootstrap5-cssframework.ts | 107 + .../lib/bootstrap5-framework.component.scss | 28 + .../bootstrap5-framework.component.spec.ts | 39 + .../src/lib/bootstrap5-framework.component.ts | 66 + .../src/lib/bootstrap5-framework.module.ts | 37 + .../src/lib/bootstrap5.framework.ts | 17 + projects/zajsf-bootstrap5/src/public_api.ts | 8 + projects/zajsf-bootstrap5/src/test.ts | 17 + projects/zajsf-bootstrap5/tsconfig.lib.json | 14 + .../zajsf-bootstrap5/tsconfig.lib.prod.json | 10 + projects/zajsf-bootstrap5/tsconfig.spec.json | 14 + projects/zajsf-core/karma.conf.js | 46 + projects/zajsf-core/ng-package.json | 11 + projects/zajsf-core/package.json | 51 + .../framework-library.service.ts | 195 + .../src/lib/framework-library/framework.ts | 11 + .../no-framework.component.html | 2 + .../no-framework.component.ts | 11 + .../framework-library/no-framework.module.ts | 18 + .../src/lib/framework-library/no.framework.ts | 11 + .../src/lib/json-schema-form.component.html | 7 + .../src/lib/json-schema-form.component.ts | 809 + .../src/lib/json-schema-form.module.ts | 17 + .../src/lib/json-schema-form.service.ts | 907 + .../zajsf-core/src/lib/locale-dates/en-US.ts | 5 + .../src/lib/locale/de-validation-messages.ts | 58 + .../src/lib/locale/en-validation-messages.ts | 58 + .../src/lib/locale/es-validation-messages.ts | 55 + .../src/lib/locale/fr-validation-messages.ts | 58 + projects/zajsf-core/src/lib/locale/index.ts | 7 + .../src/lib/locale/it-validation-messages.ts | 58 + .../src/lib/locale/pt-validation-messages.ts | 58 + .../src/lib/locale/zh-validation-messages.ts | 58 + .../convert-schema-to-draft6.function.ts | 321 + .../src/lib/shared/form-group.functions.ts | 522 + .../src/lib/shared/format-regex.constants.ts | 73 + projects/zajsf-core/src/lib/shared/index.ts | 40 + .../src/lib/shared/json-schema.functions.ts | 788 + .../src/lib/shared/json.validators.ts | 878 + .../src/lib/shared/jsonpointer.functions.ts | 1012 + .../shared/jspointer.functions.json.spec.ts | 103 + .../src/lib/shared/layout.functions.ts | 1233 ++ .../src/lib/shared/merge-schemas.function.ts | 329 + .../src/lib/shared/utility.functions.ts | 373 + .../lib/shared/validator.functions.spec.ts | 55 + .../src/lib/shared/validator.functions.ts | 601 + .../widget-library/add-reference.component.ts | 59 + .../lib/widget-library/button.component.ts | 54 + .../lib/widget-library/checkbox.component.ts | 74 + .../widget-library/checkboxes.component.ts | 104 + .../src/lib/widget-library/file.component.ts | 36 + .../lib/widget-library/hidden.component.ts | 39 + .../src/lib/widget-library/index.ts | 56 + .../src/lib/widget-library/input.component.ts | 76 + .../lib/widget-library/message.component.ts | 29 + .../src/lib/widget-library/none.component.ts | 12 + .../lib/widget-library/number.component.ts | 79 + .../lib/widget-library/one-of.component.ts | 36 + .../lib/widget-library/orderable.directive.ts | 130 + .../lib/widget-library/radios.component.ts | 101 + .../src/lib/widget-library/root.component.ts | 78 + .../lib/widget-library/section.component.ts | 133 + .../select-framework.component.ts | 50 + .../widget-library/select-widget.component.ts | 46 + .../lib/widget-library/select.component.ts | 96 + .../lib/widget-library/submit.component.ts | 68 + .../src/lib/widget-library/tab.component.ts | 29 + .../src/lib/widget-library/tabs.component.ts | 83 + .../lib/widget-library/template.component.ts | 52 + .../lib/widget-library/textarea.component.ts | 68 + .../widget-library/widget-library.module.ts | 13 + .../widget-library/widget-library.service.ts | 234 + projects/zajsf-core/src/public_api.ts | 21 + projects/zajsf-core/src/test.ts | 18 + projects/zajsf-core/tsconfig.lib.json | 25 + projects/zajsf-core/tsconfig.lib.prod.json | 9 + projects/zajsf-core/tsconfig.spec.json | 17 + projects/zajsf-core/tslint.json | 11 + projects/zajsf-cssframework/README.md | 28 + projects/zajsf-cssframework/ng-package.json | 12 + projects/zajsf-cssframework/package.json | 48 + .../src/lib/css-framework.component.html | 67 + .../src/lib/css-framework.component.scss | 45 + .../src/lib/css-framework.component.spec.ts | 21 + .../src/lib/css-framework.component.ts | 304 + .../src/lib/css-framework.defs.ts | 78 + .../src/lib/css-framework.module.ts | 29 + .../src/lib/css-framework.service.spec.ts | 16 + .../src/lib/css-framework.service.ts | 33 + .../src/lib/css.framework.ts | 99 + projects/zajsf-cssframework/src/public-api.ts | 10 + projects/zajsf-cssframework/tsconfig.lib.json | 14 + .../zajsf-cssframework/tsconfig.lib.prod.json | 10 + .../zajsf-cssframework/tsconfig.spec.json | 14 + projects/zajsf-daisyui/.gitignore | 5 + projects/zajsf-daisyui/README.md | 176 + projects/zajsf-daisyui/css_names_extractor.js | 133 + projects/zajsf-daisyui/ng-package.json | 14 + projects/zajsf-daisyui/package-lock.json | 992 + projects/zajsf-daisyui/package.json | 56 + .../zajsf-daisyui/src/daisyui_class_names.css | 1 + .../src/daisyui_class_names_prefixed_tw.css | 1 + .../daisyui_class_names_prefixed_tw_dui.css | 1 + .../src/lib/daisui-cssframework.ts | 237 + .../src/lib/daisyui-framework.component.scss | 48 + .../lib/daisyui-framework.component.spec.ts | 21 + .../src/lib/daisyui-framework.component.ts | 70 + .../src/lib/daisyui-framework.module.ts | 39 + .../daisyui-framework.prefixed.component.scss | 48 + .../daisyui-framework.prefixed.component.ts | 70 + .../src/lib/daisyui-framework.service.spec.ts | 16 + .../src/lib/daisyui-framework.service.ts | 9 + .../lib/daisyui-zajsf-themes-prefixed.scss | 61 + .../src/lib/daisyui-zajsf-themes.scss | 61 + .../src/lib/daisyui.framework.ts | 36 + .../src/lib/tailwind-output-prefixed.scss | 11656 +++++++++++ .../src/lib/tailwind-output.scss | 11286 +++++++++++ projects/zajsf-daisyui/src/lib/tokens.defs.ts | 10 + .../src/lib/widgets/daisyui-tabs.component.ts | 92 + projects/zajsf-daisyui/src/public-api.ts | 12 + projects/zajsf-daisyui/tailwind-input.css | 3 + projects/zajsf-daisyui/tailwind.config.js | 24 + .../zajsf-daisyui/tailwind.prefixed.config.js | 26 + projects/zajsf-daisyui/tsconfig.lib.json | 21 + projects/zajsf-daisyui/tsconfig.lib.prod.json | 10 + projects/zajsf-daisyui/tsconfig.spec.json | 14 + projects/zajsf-material/README.md | 133 + .../assets/material-design-themes.scss | 71 + projects/zajsf-material/karma.conf.js | 46 + projects/zajsf-material/ng-package.json | 13 + projects/zajsf-material/package.json | 49 + .../lib/flexlayout-replacement-styles.scss | 95 + .../src/lib/material-design-cssframework.ts | 20 + .../material-design-framework.component.html | 13 + .../material-design-framework.component.scss | 58 + ...aterial-design-framework.component.spec.ts | 39 + .../material-design-framework.component.ts | 143 + .../lib/material-design-framework.module.ts | 81 + .../src/lib/material-design-themes.scss | 71 + .../src/lib/material-design.framework.ts | 83 + .../src/lib/tailwind-output.scss | 612 + .../widgets/flex-layout-root.component.html | 4 + .../lib/widgets/flex-layout-root.component.ts | 52 + .../widgets/flex-layout-section.component.ts | 216 + .../material-add-reference.component.ts | 56 + .../material-button-group.component.ts | 68 + .../lib/widgets/material-button.component.ts | 66 + .../widgets/material-checkbox.component.ts | 112 + .../widgets/material-checkboxes.component.ts | 108 + .../widgets/material-chip-list.component.ts | 35 + .../widgets/material-datepicker.component.ts | 89 + .../lib/widgets/material-file.component.ts | 35 + .../lib/widgets/material-input.component.ts | 97 + .../lib/widgets/material-number.component.ts | 95 + .../lib/widgets/material-one-of.component.ts | 35 + .../lib/widgets/material-radios.component.ts | 91 + .../lib/widgets/material-select.component.ts | 118 + .../lib/widgets/material-slider.component.ts | 65 + .../lib/widgets/material-stepper.component.ts | 35 + .../lib/widgets/material-tabs.component.ts | 72 + .../widgets/material-textarea.component.ts | 88 + .../src/lib/widgets/public_api.ts | 54 + projects/zajsf-material/src/public_api.ts | 9 + projects/zajsf-material/src/test.ts | 17 + projects/zajsf-material/tailwind-input.css | 3 + projects/zajsf-material/tailwind.config.js | 12 + projects/zajsf-material/tsconfig.lib.json | 25 + .../zajsf-material/tsconfig.lib.prod.json | 9 + projects/zajsf-material/tsconfig.spec.json | 17 + projects/zajsf-material/tslint.json | 11 + tailwind.config.js | 13 + tsconfig.json | 80 + tslint.json | 130 + update_env.js | 81 + 346 files changed, 65907 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .github/workflows/createdist.yml create mode 100644 .github/workflows/dependabot.yml create mode 100644 .github/workflows/deploy-branch.yml create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/stale.yml create mode 100644 .gitignore create mode 100644 .nvmrc create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 angular.json create mode 100644 cp.cmd create mode 100755 demo/app/ace-editor.directive.ts create mode 100755 demo/app/demo-root.component.ts create mode 100755 demo/app/demo.component.html create mode 100755 demo/app/demo.component.ts create mode 100755 demo/app/demo.module.ts create mode 100755 demo/app/demo.routes.ts create mode 100755 demo/app/example-schemas.model.ts create mode 100755 demo/assets/example-schemas/asf-array.json create mode 100755 demo/assets/example-schemas/asf-basic-json-schema-type.json create mode 100755 demo/assets/example-schemas/asf-bootstrap-grid.json create mode 100755 demo/assets/example-schemas/asf-complex-key-support.json create mode 100755 demo/assets/example-schemas/asf-hack-conditional-required.json create mode 100755 demo/assets/example-schemas/asf-kitchen-sink.json create mode 100755 demo/assets/example-schemas/asf-simple.json create mode 100755 demo/assets/example-schemas/asf-tab-array.json create mode 100755 demo/assets/example-schemas/asf-titlemap-examples.json create mode 100755 demo/assets/example-schemas/jsf-events.json create mode 100755 demo/assets/example-schemas/jsf-factory-sleek.json create mode 100755 demo/assets/example-schemas/jsf-fields-ace.json create mode 100755 demo/assets/example-schemas/jsf-fields-actions.json create mode 100755 demo/assets/example-schemas/jsf-fields-advancedfieldset.json create mode 100755 demo/assets/example-schemas/jsf-fields-array-simple.json create mode 100755 demo/assets/example-schemas/jsf-fields-array.json create mode 100755 demo/assets/example-schemas/jsf-fields-authfieldset.json create mode 100755 demo/assets/example-schemas/jsf-fields-autocomplete.json create mode 100755 demo/assets/example-schemas/jsf-fields-checkbox.json create mode 100755 demo/assets/example-schemas/jsf-fields-checkboxbuttons.json create mode 100755 demo/assets/example-schemas/jsf-fields-checkboxes.json create mode 100755 demo/assets/example-schemas/jsf-fields-color.json create mode 100755 demo/assets/example-schemas/jsf-fields-common.json create mode 100755 demo/assets/example-schemas/jsf-fields-fieldset.json create mode 100755 demo/assets/example-schemas/jsf-fields-help.json create mode 100755 demo/assets/example-schemas/jsf-fields-hidden.json create mode 100755 demo/assets/example-schemas/jsf-fields-iconselect.json create mode 100755 demo/assets/example-schemas/jsf-fields-imageselect.json create mode 100755 demo/assets/example-schemas/jsf-fields-password.json create mode 100755 demo/assets/example-schemas/jsf-fields-questions.json create mode 100755 demo/assets/example-schemas/jsf-fields-radiobuttons.json create mode 100755 demo/assets/example-schemas/jsf-fields-radios.json create mode 100755 demo/assets/example-schemas/jsf-fields-range.json create mode 100755 demo/assets/example-schemas/jsf-fields-section.json create mode 100755 demo/assets/example-schemas/jsf-fields-select.json create mode 100755 demo/assets/example-schemas/jsf-fields-selectfieldset-key.json create mode 100755 demo/assets/example-schemas/jsf-fields-selectfieldset.json create mode 100755 demo/assets/example-schemas/jsf-fields-submit.json create mode 100755 demo/assets/example-schemas/jsf-fields-tabarray-maxitems.json create mode 100755 demo/assets/example-schemas/jsf-fields-tabarray-value.json create mode 100755 demo/assets/example-schemas/jsf-fields-tabarray.json create mode 100755 demo/assets/example-schemas/jsf-fields-textarea.json create mode 100755 demo/assets/example-schemas/jsf-gettingstarted.json create mode 100755 demo/assets/example-schemas/jsf-previousvalues-multidimensional.json create mode 100755 demo/assets/example-schemas/jsf-previousvalues.json create mode 100755 demo/assets/example-schemas/jsf-schema-array.json create mode 100755 demo/assets/example-schemas/jsf-schema-basic.json create mode 100755 demo/assets/example-schemas/jsf-schema-default.json create mode 100755 demo/assets/example-schemas/jsf-schema-inlineref.json create mode 100755 demo/assets/example-schemas/jsf-schema-morecomplex.json create mode 100755 demo/assets/example-schemas/jsf-schema-required.json create mode 100755 demo/assets/example-schemas/jsf-templating-idx.json create mode 100755 demo/assets/example-schemas/jsf-templating-tpldata.json create mode 100755 demo/assets/example-schemas/jsf-templating-value.json create mode 100755 demo/assets/example-schemas/jsf-templating-values.json create mode 100644 demo/assets/example-schemas/json-schema-draft01.json create mode 100644 demo/assets/example-schemas/json-schema-draft02.json create mode 100755 demo/assets/example-schemas/json-schema-draft03.json create mode 100755 demo/assets/example-schemas/json-schema-draft04.json create mode 100755 demo/assets/example-schemas/json-schema-draft06.json create mode 100755 demo/assets/example-schemas/ng-jsf-data-only.json create mode 100644 demo/assets/example-schemas/ng-jsf-deep-ref.json create mode 100755 demo/assets/example-schemas/ng-jsf-flex-layout.json create mode 100755 demo/assets/example-schemas/ng-jsf-layout-only.json create mode 100644 demo/assets/example-schemas/ng-jsf-nested-arrays.json create mode 100644 demo/assets/example-schemas/ng-jsf-select-list-examples.json create mode 100644 demo/assets/example-schemas/ng-jsf-select-widget-examples.json create mode 100755 demo/assets/example-schemas/ng-jsf-simple-array.json create mode 100644 demo/assets/example-schemas/rjsf-alternatives.json create mode 100755 demo/assets/example-schemas/rjsf-arrays.json create mode 100644 demo/assets/example-schemas/rjsf-custom-array.json create mode 100755 demo/assets/example-schemas/rjsf-custom.json create mode 100755 demo/assets/example-schemas/rjsf-date-and-time.json create mode 100755 demo/assets/example-schemas/rjsf-errors.json create mode 100755 demo/assets/example-schemas/rjsf-files.json create mode 100755 demo/assets/example-schemas/rjsf-large.json create mode 100755 demo/assets/example-schemas/rjsf-nested.json create mode 100755 demo/assets/example-schemas/rjsf-numbers.json create mode 100755 demo/assets/example-schemas/rjsf-ordering.json create mode 100755 demo/assets/example-schemas/rjsf-references.json create mode 100755 demo/assets/example-schemas/rjsf-simple.json create mode 100644 demo/assets/example-schemas/rjsf-single.json create mode 100755 demo/assets/example-schemas/rjsf-validation.json create mode 100755 demo/assets/example-schemas/rjsf-widgets.json create mode 100755 demo/assets/example-schemas/sources.md create mode 100755 demo/environments/environment.prod.ts create mode 100755 demo/environments/environment.ts create mode 100644 demo/favicon.ico create mode 100755 demo/index.html create mode 100644 demo/karma.conf.js create mode 100755 demo/main.ts create mode 100755 demo/polyfills.ts create mode 100755 demo/styles.scss create mode 100755 demo/test.ts create mode 100755 demo/tsconfig.app.json create mode 100644 demo/tsconfig.spec.json create mode 100644 demo/tslint.json create mode 100644 docs/issue_template.md create mode 100644 e2e/protractor.conf.js create mode 100644 e2e/src/app.e2e-spec.ts create mode 100644 e2e/src/app.po.ts create mode 100644 e2e/tsconfig.e2e.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 projects/zajsf-bootstrap3/README.md create mode 100644 projects/zajsf-bootstrap3/assets/cssframework/assets.json create mode 100644 projects/zajsf-bootstrap3/assets/cssframework/assets_cdn.json create mode 100644 projects/zajsf-bootstrap3/karma.conf.js create mode 100644 projects/zajsf-bootstrap3/ng-package.json create mode 100644 projects/zajsf-bootstrap3/package.json create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-cssframework.ts create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-framework.component.html create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-framework.component.scss create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-framework.component.spec.ts create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-framework.component.ts create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3-framework.module.ts create mode 100644 projects/zajsf-bootstrap3/src/lib/bootstrap3.framework.ts create mode 100644 projects/zajsf-bootstrap3/src/public_api.ts create mode 100644 projects/zajsf-bootstrap3/src/test.ts create mode 100644 projects/zajsf-bootstrap3/tsconfig.lib.json create mode 100644 projects/zajsf-bootstrap3/tsconfig.lib.prod.json create mode 100644 projects/zajsf-bootstrap3/tsconfig.spec.json create mode 100644 projects/zajsf-bootstrap3/tslint.json create mode 100644 projects/zajsf-bootstrap4/README.md create mode 100644 projects/zajsf-bootstrap4/assets/cssframework/assets.json create mode 100644 projects/zajsf-bootstrap4/assets/cssframework/assets_cdn.json create mode 100644 projects/zajsf-bootstrap4/karma.conf.js create mode 100644 projects/zajsf-bootstrap4/ng-package.json create mode 100644 projects/zajsf-bootstrap4/package.json create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-cssframework.scss create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-cssframework.ts create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-framework.component.scss create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-framework.component.spec.ts create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-framework.component.ts create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4-framework.module.ts create mode 100644 projects/zajsf-bootstrap4/src/lib/bootstrap4.framework.ts create mode 100644 projects/zajsf-bootstrap4/src/public_api.ts create mode 100644 projects/zajsf-bootstrap4/src/test.ts create mode 100644 projects/zajsf-bootstrap4/tsconfig.lib.json create mode 100644 projects/zajsf-bootstrap4/tsconfig.lib.prod.json create mode 100644 projects/zajsf-bootstrap4/tsconfig.spec.json create mode 100644 projects/zajsf-bootstrap4/tslint.json create mode 100644 projects/zajsf-bootstrap5/README.md create mode 100644 projects/zajsf-bootstrap5/assets/cssframework/assets.json create mode 100644 projects/zajsf-bootstrap5/assets/cssframework/assets_cdn.json create mode 100644 projects/zajsf-bootstrap5/ng-package.json create mode 100644 projects/zajsf-bootstrap5/package.json create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-cssframework.scss create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-cssframework.ts create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-framework.component.scss create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-framework.component.spec.ts create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-framework.component.ts create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5-framework.module.ts create mode 100644 projects/zajsf-bootstrap5/src/lib/bootstrap5.framework.ts create mode 100644 projects/zajsf-bootstrap5/src/public_api.ts create mode 100644 projects/zajsf-bootstrap5/src/test.ts create mode 100644 projects/zajsf-bootstrap5/tsconfig.lib.json create mode 100644 projects/zajsf-bootstrap5/tsconfig.lib.prod.json create mode 100644 projects/zajsf-bootstrap5/tsconfig.spec.json create mode 100644 projects/zajsf-core/karma.conf.js create mode 100644 projects/zajsf-core/ng-package.json create mode 100644 projects/zajsf-core/package.json create mode 100644 projects/zajsf-core/src/lib/framework-library/framework-library.service.ts create mode 100644 projects/zajsf-core/src/lib/framework-library/framework.ts create mode 100644 projects/zajsf-core/src/lib/framework-library/no-framework.component.html create mode 100644 projects/zajsf-core/src/lib/framework-library/no-framework.component.ts create mode 100644 projects/zajsf-core/src/lib/framework-library/no-framework.module.ts create mode 100644 projects/zajsf-core/src/lib/framework-library/no.framework.ts create mode 100644 projects/zajsf-core/src/lib/json-schema-form.component.html create mode 100644 projects/zajsf-core/src/lib/json-schema-form.component.ts create mode 100644 projects/zajsf-core/src/lib/json-schema-form.module.ts create mode 100644 projects/zajsf-core/src/lib/json-schema-form.service.ts create mode 100644 projects/zajsf-core/src/lib/locale-dates/en-US.ts create mode 100644 projects/zajsf-core/src/lib/locale/de-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/en-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/es-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/fr-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/index.ts create mode 100644 projects/zajsf-core/src/lib/locale/it-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/pt-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/locale/zh-validation-messages.ts create mode 100644 projects/zajsf-core/src/lib/shared/convert-schema-to-draft6.function.ts create mode 100644 projects/zajsf-core/src/lib/shared/form-group.functions.ts create mode 100644 projects/zajsf-core/src/lib/shared/format-regex.constants.ts create mode 100644 projects/zajsf-core/src/lib/shared/index.ts create mode 100644 projects/zajsf-core/src/lib/shared/json-schema.functions.ts create mode 100644 projects/zajsf-core/src/lib/shared/json.validators.ts create mode 100644 projects/zajsf-core/src/lib/shared/jsonpointer.functions.ts create mode 100644 projects/zajsf-core/src/lib/shared/jspointer.functions.json.spec.ts create mode 100644 projects/zajsf-core/src/lib/shared/layout.functions.ts create mode 100644 projects/zajsf-core/src/lib/shared/merge-schemas.function.ts create mode 100644 projects/zajsf-core/src/lib/shared/utility.functions.ts create mode 100644 projects/zajsf-core/src/lib/shared/validator.functions.spec.ts create mode 100644 projects/zajsf-core/src/lib/shared/validator.functions.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/add-reference.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/button.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/checkbox.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/checkboxes.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/file.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/hidden.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/index.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/input.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/message.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/none.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/number.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/one-of.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/orderable.directive.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/radios.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/root.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/section.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/select-framework.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/select-widget.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/select.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/submit.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/tab.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/tabs.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/template.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/textarea.component.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/widget-library.module.ts create mode 100644 projects/zajsf-core/src/lib/widget-library/widget-library.service.ts create mode 100644 projects/zajsf-core/src/public_api.ts create mode 100644 projects/zajsf-core/src/test.ts create mode 100644 projects/zajsf-core/tsconfig.lib.json create mode 100644 projects/zajsf-core/tsconfig.lib.prod.json create mode 100644 projects/zajsf-core/tsconfig.spec.json create mode 100644 projects/zajsf-core/tslint.json create mode 100644 projects/zajsf-cssframework/README.md create mode 100644 projects/zajsf-cssframework/ng-package.json create mode 100644 projects/zajsf-cssframework/package.json create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.component.html create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.component.scss create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.component.spec.ts create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.component.ts create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.defs.ts create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.module.ts create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.service.spec.ts create mode 100644 projects/zajsf-cssframework/src/lib/css-framework.service.ts create mode 100644 projects/zajsf-cssframework/src/lib/css.framework.ts create mode 100644 projects/zajsf-cssframework/src/public-api.ts create mode 100644 projects/zajsf-cssframework/tsconfig.lib.json create mode 100644 projects/zajsf-cssframework/tsconfig.lib.prod.json create mode 100644 projects/zajsf-cssframework/tsconfig.spec.json create mode 100644 projects/zajsf-daisyui/.gitignore create mode 100644 projects/zajsf-daisyui/README.md create mode 100644 projects/zajsf-daisyui/css_names_extractor.js create mode 100644 projects/zajsf-daisyui/ng-package.json create mode 100644 projects/zajsf-daisyui/package-lock.json create mode 100644 projects/zajsf-daisyui/package.json create mode 100644 projects/zajsf-daisyui/src/daisyui_class_names.css create mode 100644 projects/zajsf-daisyui/src/daisyui_class_names_prefixed_tw.css create mode 100644 projects/zajsf-daisyui/src/daisyui_class_names_prefixed_tw_dui.css create mode 100644 projects/zajsf-daisyui/src/lib/daisui-cssframework.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.component.scss create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.component.spec.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.component.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.module.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.prefixed.component.scss create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.prefixed.component.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.service.spec.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-framework.service.ts create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-zajsf-themes-prefixed.scss create mode 100644 projects/zajsf-daisyui/src/lib/daisyui-zajsf-themes.scss create mode 100644 projects/zajsf-daisyui/src/lib/daisyui.framework.ts create mode 100644 projects/zajsf-daisyui/src/lib/tailwind-output-prefixed.scss create mode 100644 projects/zajsf-daisyui/src/lib/tailwind-output.scss create mode 100644 projects/zajsf-daisyui/src/lib/tokens.defs.ts create mode 100644 projects/zajsf-daisyui/src/lib/widgets/daisyui-tabs.component.ts create mode 100644 projects/zajsf-daisyui/src/public-api.ts create mode 100644 projects/zajsf-daisyui/tailwind-input.css create mode 100644 projects/zajsf-daisyui/tailwind.config.js create mode 100644 projects/zajsf-daisyui/tailwind.prefixed.config.js create mode 100644 projects/zajsf-daisyui/tsconfig.lib.json create mode 100644 projects/zajsf-daisyui/tsconfig.lib.prod.json create mode 100644 projects/zajsf-daisyui/tsconfig.spec.json create mode 100644 projects/zajsf-material/README.md create mode 100644 projects/zajsf-material/assets/material-design-themes.scss create mode 100644 projects/zajsf-material/karma.conf.js create mode 100644 projects/zajsf-material/ng-package.json create mode 100644 projects/zajsf-material/package.json create mode 100644 projects/zajsf-material/src/lib/flexlayout-replacement-styles.scss create mode 100644 projects/zajsf-material/src/lib/material-design-cssframework.ts create mode 100644 projects/zajsf-material/src/lib/material-design-framework.component.html create mode 100644 projects/zajsf-material/src/lib/material-design-framework.component.scss create mode 100644 projects/zajsf-material/src/lib/material-design-framework.component.spec.ts create mode 100644 projects/zajsf-material/src/lib/material-design-framework.component.ts create mode 100644 projects/zajsf-material/src/lib/material-design-framework.module.ts create mode 100644 projects/zajsf-material/src/lib/material-design-themes.scss create mode 100644 projects/zajsf-material/src/lib/material-design.framework.ts create mode 100644 projects/zajsf-material/src/lib/tailwind-output.scss create mode 100644 projects/zajsf-material/src/lib/widgets/flex-layout-root.component.html create mode 100644 projects/zajsf-material/src/lib/widgets/flex-layout-root.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/flex-layout-section.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-add-reference.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-button-group.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-button.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-checkbox.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-checkboxes.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-chip-list.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-datepicker.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-file.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-input.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-number.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-one-of.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-radios.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-select.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-slider.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-stepper.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-tabs.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/material-textarea.component.ts create mode 100644 projects/zajsf-material/src/lib/widgets/public_api.ts create mode 100644 projects/zajsf-material/src/public_api.ts create mode 100644 projects/zajsf-material/src/test.ts create mode 100644 projects/zajsf-material/tailwind-input.css create mode 100644 projects/zajsf-material/tailwind.config.js create mode 100644 projects/zajsf-material/tsconfig.lib.json create mode 100644 projects/zajsf-material/tsconfig.lib.prod.json create mode 100644 projects/zajsf-material/tsconfig.spec.json create mode 100644 projects/zajsf-material/tslint.json create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 tslint.json create mode 100644 update_env.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..8e09ab4 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,9 @@ +# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries +# For IE 9-11 support, please uncomment the last line of the file and adjust as needed +> 0.5% +last 2 versions +Firefox ESR +not dead +# IE 9-11 \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..6595022 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,59 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +which template: + +* [ ] MaterialDesignFrameworkModule — Material Design +* [ ] Bootstrap3FrameworkModule — Bootstrap 3 +* [ ] Bootstrap4FrameworkModule — Bootstrap 4 +* [ ] Bootstrap5FrameworkModule — Bootstrap 5 +* [ ] DaisyUIFrameworkModule — DaisyUI +* [ ] NoFrameworkModule — plain HTML +* [ ] Other (please specify below) + +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: + +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] + +**Log output covering before error and any error statements** + +```logs +Insert log hereCopy +``` + +**Additional context** +Add any other context about the problem here. + + + +**Detailed Description** + + +**Context** + + + +**Possible Implementation** + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6f6b0dd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI + +on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + ci: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x, lts/*] + + steps: + - uses: actions/checkout@v3 + - name: Setup Node ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - name: Build libs and demo + run: npm run build:demo + - name: Test libs + run: | + npm run test:core -- --code-coverage --no-watch --no-progress --browsers=ChromeHeadlessCI + npm run test:bs3 -- --code-coverage --no-watch --no-progress --browsers=ChromeHeadlessCI + npm run test:bs4 -- --code-coverage --no-watch --no-progress --browsers=ChromeHeadlessCI + npm run test:material -- --code-coverage --no-watch --no-progress --browsers=ChromeHeadlessCI + - name: Publish code coverage + run: npm run publish:coverage diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..db55795 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,54 @@ +name: "CodeQL" + +on: + push: + branches: [main, angular6-json-schema-form] + pull_request: + # The branches below must be a subset of the branches above + branches: [main, angular6-json-schema-form] + schedule: + - cron: '0 18 * * 3' + +jobs: + analyse: + name: Analyse + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + # Override language selection by uncommenting this and choosing your languages + # with: + # languages: go, javascript, csharp, python, cpp, java + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/createdist.yml b/.github/workflows/createdist.yml new file mode 100644 index 0000000..1f9feb0 --- /dev/null +++ b/.github/workflows/createdist.yml @@ -0,0 +1,113 @@ +#workflow creates a dist branch for each library, based on its package version +#should create the following 2 dist branches per lib project +#for example the material library project with package version x.x.x will create branches: +#dist_material +#dist_material_vx.x.x + +name: CreateDist + +on: + push: + branches: [ main ] + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: setup Node + uses: actions/setup-node@v3 + - run: npm ci + - run: npm run build:libs + + - name: version core + uses: nyaa8/package-version@v1 + with: + path: './dist/@zajsf/core/package.json' + + - name: dist core versioned + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_core_v${{ env.PACKAGE_VERSION }} + FOLDER: ./dist/@zajsf/core + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: dist core + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_core + FOLDER: ./dist/@zajsf/core + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: version bootstrap3 + uses: nyaa8/package-version@v1 + with: + path: './dist/@zajsf/bootstrap3/package.json' + + - name: dist bootstrap3 versioned + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_bootstrap3_v${{ env.PACKAGE_VERSION }} + FOLDER: ./dist/@zajsf/bootstrap3 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: dist bootstrap3 + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_bootstrap3 + FOLDER: ./dist/@zajsf/bootstrap3 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: version bootstrap4 + uses: nyaa8/package-version@v1 + with: + path: './dist/@zajsf/bootstrap4/package.json' + + + - name: dist_bootstrap4 versioned + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_bootstrap4_v${{ env.PACKAGE_VERSION }} + FOLDER: ./dist/@zajsf/bootstrap4 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: dist_bootstrap4 + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_bootstrap4 + FOLDER: ./dist/@zajsf/bootstrap4 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + + - name: version material + uses: nyaa8/package-version@v1 + with: + path: './dist/@zajsf/material/package.json' + + - name: dist material versioned + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_material_v${{ env.PACKAGE_VERSION }} + FOLDER: ./dist/@zajsf/material + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: dist material + uses: s0/git-publish-subdir-action@develop + env: + REPO: self + BRANCH: dist_material + FOLDER: ./dist/@zajsf/material + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + + + diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml new file mode 100644 index 0000000..b9eec68 --- /dev/null +++ b/.github/workflows/dependabot.yml @@ -0,0 +1,46 @@ +version: 2 +updates: + # npm dependencies + - package-ecosystem: "npm" + # package.json directory + directory: "/" + # Check for dependencies update every week on Sunday so owners are not spammed during the week + schedule: + interval: "monthly" + # 10 PRs created per week max seems managable? + open-pull-requests-limit: 5 + commit-message: + # Prefix all commit messages with "build" + prefix: "build" + - package-ecosystem: "npm" + directory: "/projects/zajsf-core" + schedule: + interval: "weekly" + day: "sunday" + open-pull-requests-limit: 5 + commit-message: + prefix: "build" + - package-ecosystem: "npm" + directory: "/projects/zajsf-material" + schedule: + interval: "weekly" + day: "sunday" + open-pull-requests-limit: 5 + commit-message: + prefix: "build" + - package-ecosystem: "npm" + directory: "/projects/zajsf-bootstrap3" + schedule: + interval: "weekly" + day: "sunday" + open-pull-requests-limit: 5 + commit-message: + prefix: "build" + - package-ecosystem: "npm" + directory: "/projects/zajsf-bootstrap4" + schedule: + interval: "weekly" + day: "sunday" + open-pull-requests-limit: 5 + commit-message: + prefix: "build" diff --git a/.github/workflows/deploy-branch.yml b/.github/workflows/deploy-branch.yml new file mode 100644 index 0000000..adddaba --- /dev/null +++ b/.github/workflows/deploy-branch.yml @@ -0,0 +1,28 @@ +name: DeployBranch + +on: + workflow_dispatch: + inputs: + branch: + description: 'Define branch name' + required: true + default: 'main' + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.inputs.branch }} + - name: setup Node + uses: actions/setup-node@v3 + - run: npm ci + - run: npm run build:demo + + - name: deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./dist/demo + exclude_assets: '' diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..fc315b4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,24 @@ +name: Deploy + +on: + push: + branches: [ main ] + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: setup Node + uses: actions/setup-node@v3 + - run: npm ci + - run: npm run build:demo + + - name: deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./dist/demo + exclude_assets: '' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..a89070a --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,19 @@ +name: Mark stale issues and pull requests + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + stale: + + runs-on: ubuntu-latest + + steps: + - uses: actions/stale@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'Stale issue' + stale-pr-message: 'Stale pull request' + stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84c8d4f --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.angular/cache +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..23d9c36 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +16.13.2 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e2bd3df --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,162 @@ +# Contributing to zajsf + +zajsf is an open project and welcomes contributions. These guidelines are provided to help you understand how the project works and to make contributing smooth and fun for everybody involved. + +There are two main forms of contribution: reporting issues and performing code changes. + +## Reporting Issues + +If you find a problem with zajsf, report it using [GitHub issues](https://github.com/zahmo/zajsf/issues/new). + +Before reporting a new issue, please take a moment to check whether it has already been reported +[here](https://github.com/zahmo/zajsf/issues). If this is the case, please: + +- Read all the comments to confirm that it's the same issue you're having. +- Refrain from adding "same thing here" or "+1" comments. Just hit the + "subscribe" button to get notifications for this issue. +- Add a comment only if you can provide helpful information that has not been + provided in the discussion yet. + +When creating a new issue, make sure you include: + +1. As much detail as possible about your setup/environment +1. Steps to reproduce the issue/bug +1. What you expected to happen +1. What happened instead + +This information will help to determine the cause and prepare a fix as fast as possible. + +## Code Changes + +Code contributions come in various forms and sizes, from simple bug fixes to implementation +of new features. + +To send your code change, use GitHub pull requests. The workflow is as follows: + + 1. Fork the project. + + 1. Create a branch based on `main`. + + 1. Implement your change, including tests and documentation. + + 1. Run tests to make sure your change didn't break anything. + + 1. Publish the branch and create a pull request. + + 1. zajsf developers will review your change and possibly point out issues. + Adapt the code under their guidance until all issues are resolved. + + 1. Finally, the pull request will get merged or rejected. + +See also [GitHub's guide on contributing](https://help.github.com/articles/fork-a-repo). + +If you want to do multiple unrelated changes, use separate branches and pull +requests. + +### Start the development environment + +Let's first generate all the bundles we need to start the demo: + +```bash +$ cd zajsf +$ yarn install or npm install +$ yarn start +``` + +You can stop the demo application. +The tricky part now is to run concurrently both the demo application & the library in watch mode. +So, first choose which library you want to change then run `$ ng build @zajsf/core --watch` for example +to build in watch mode the `@zajsf/core`. +Now let's start the demo application in watch mode too. So, open a new terminal and run `$ ng serve` and there you go. +This method is tricky but it works perfectly in all environments (I tried other methods like npm-run-all +or concurrently packages but angular-cli build doesn't restart after a failed build). +If you have a better method please send a PR. + +### Commits + +Each commit in the pull request should do only one thing, which is clearly +described by its commit message. Especially avoid mixing formatting changes and +functional changes into one commit. When writing commit messages, adhere to +[Angular Conventional Commit](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines). + +#### Commit Message Format +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +format that includes a **type**, a **scope** and a **subject**: + +``` +(): + + + +