@julianoczkowski/create-trimble-app 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +191 -0
- package/bin/create-trimble-app.js +9 -0
- package/package.json +67 -0
- package/src/cli.js +134 -0
- package/src/frameworks.js +28 -0
- package/src/scaffold.js +209 -0
- package/src/utils/file.js +47 -0
- package/src/utils/git.js +140 -0
- package/src/utils/install.js +25 -0
- package/src/utils/logger.js +124 -0
- package/templates/angular/.cursor/commands/remove-dev-content.md +394 -0
- package/templates/angular/.cursor/mcp.json +13 -0
- package/templates/angular/.cursor/rules/modus-angular-20.mdc +82 -0
- package/templates/angular/.cursor/rules/modus-angular-accordion-state-management-short.mdc +45 -0
- package/templates/angular/.cursor/rules/modus-angular-accordion-state-management.mdc +322 -0
- package/templates/angular/.cursor/rules/modus-angular-best-practices.mdc +472 -0
- package/templates/angular/.cursor/rules/modus-angular-border-usage-short.mdc +48 -0
- package/templates/angular/.cursor/rules/modus-angular-border-usage.mdc +286 -0
- package/templates/angular/.cursor/rules/modus-angular-button-group-usage-short.mdc +47 -0
- package/templates/angular/.cursor/rules/modus-angular-button-group-usage.mdc +263 -0
- package/templates/angular/.cursor/rules/modus-angular-checkbox-value-inversion-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-checkbox-value-inversion.mdc +92 -0
- package/templates/angular/.cursor/rules/modus-angular-chrome-devtools-testing-short.mdc +34 -0
- package/templates/angular/.cursor/rules/modus-angular-chrome-devtools-testing.mdc +185 -0
- package/templates/angular/.cursor/rules/modus-angular-color-usage-short.mdc +56 -0
- package/templates/angular/.cursor/rules/modus-angular-color-usage.mdc +208 -0
- package/templates/angular/.cursor/rules/modus-angular-components-reference.mdc +114 -0
- package/templates/angular/.cursor/rules/modus-angular-design-system.mdc +273 -0
- package/templates/angular/.cursor/rules/modus-angular-development-workflow-short.mdc +43 -0
- package/templates/angular/.cursor/rules/modus-angular-development-workflow.mdc +145 -0
- package/templates/angular/.cursor/rules/modus-angular-essentials.mdc +272 -0
- package/templates/angular/.cursor/rules/modus-angular-forms-validation-short.mdc +56 -0
- package/templates/angular/.cursor/rules/modus-angular-forms-validation.mdc +124 -0
- package/templates/angular/.cursor/rules/modus-angular-icon-names.mdc +70 -0
- package/templates/angular/.cursor/rules/modus-angular-icons-short.mdc +40 -0
- package/templates/angular/.cursor/rules/modus-angular-icons.mdc +137 -0
- package/templates/angular/.cursor/rules/modus-angular-implementation-guides-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-implementation-guides.mdc +301 -0
- package/templates/angular/.cursor/rules/modus-angular-integration-short.mdc +60 -0
- package/templates/angular/.cursor/rules/modus-angular-integration.mdc +1096 -0
- package/templates/angular/.cursor/rules/modus-angular-master.mdc +164 -0
- package/templates/angular/.cursor/rules/modus-angular-modal-usage-short.mdc +51 -0
- package/templates/angular/.cursor/rules/modus-angular-modal-usage.mdc +115 -0
- package/templates/angular/.cursor/rules/modus-angular-navbar-usage-short.mdc +49 -0
- package/templates/angular/.cursor/rules/modus-angular-navbar-usage.mdc +146 -0
- package/templates/angular/.cursor/rules/modus-angular-no-emojis.mdc +66 -0
- package/templates/angular/.cursor/rules/modus-angular-opacity-utilities-short.mdc +43 -0
- package/templates/angular/.cursor/rules/modus-angular-opacity-utilities.mdc +160 -0
- package/templates/angular/.cursor/rules/modus-angular-select-vs-dropdown-menu-short.mdc +51 -0
- package/templates/angular/.cursor/rules/modus-angular-select-vs-dropdown-menu.mdc +83 -0
- package/templates/angular/.cursor/rules/modus-angular-semantic-html-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-semantic-html.mdc +81 -0
- package/templates/angular/.cursor/rules/modus-angular-side-navigation-usage-short.mdc +50 -0
- package/templates/angular/.cursor/rules/modus-angular-side-navigation-usage.mdc +136 -0
- package/templates/angular/.cursor/rules/modus-angular-table-usage-short.mdc +52 -0
- package/templates/angular/.cursor/rules/modus-angular-table-usage.mdc +151 -0
- package/templates/angular/.cursor/rules/modus-angular-tailwind-usage-short.mdc +44 -0
- package/templates/angular/.cursor/rules/modus-angular-tailwind-usage.mdc +242 -0
- package/templates/angular/.cursor/rules/modus-angular-themes-short.mdc +54 -0
- package/templates/angular/.cursor/rules/modus-angular-themes.mdc +222 -0
- package/templates/angular/.cursor/rules/modus-angular-utility-panel-usage-short.mdc +52 -0
- package/templates/angular/.cursor/rules/modus-angular-utility-panel-usage.mdc +130 -0
- package/templates/angular/.cursor/rules/ux/gestalt-laws-detailed.mdc +514 -0
- package/templates/angular/.cursor/rules/ux/ux-ui-foundations.mdc +235 -0
- package/templates/angular/.cursor/skills/run-lint-checks/SKILL.md +169 -0
- package/templates/angular/.editorconfig +17 -0
- package/templates/angular/.github/dependabot.yml +19 -0
- package/templates/angular/.github/workflows/a11y-check.yml +135 -0
- package/templates/angular/.github/workflows/ci.yml +44 -0
- package/templates/angular/.husky/pre-commit +32 -0
- package/templates/angular/.postcssrc.json +5 -0
- package/templates/angular/.vscode/extensions.json +4 -0
- package/templates/angular/.vscode/launch.json +20 -0
- package/templates/angular/.vscode/tasks.json +42 -0
- package/templates/angular/CLAUDE.md +148 -0
- package/templates/angular/README.md +92 -0
- package/templates/angular/amplify.yml +25 -0
- package/templates/angular/angular.json +106 -0
- package/templates/angular/data/modusIcons.ts +861 -0
- package/templates/angular/package-lock.json +11030 -0
- package/templates/angular/package.json +66 -0
- package/templates/angular/public/angular-icon.svg +12 -0
- package/templates/angular/public/favicon.ico +0 -0
- package/templates/angular/public/modus-icons.css +49 -0
- package/templates/angular/public/vite.svg +1 -0
- package/templates/angular/scripts/README.md +410 -0
- package/templates/angular/scripts/check-border-violations.js +352 -0
- package/templates/angular/scripts/check-icon-names.js +402 -0
- package/templates/angular/scripts/check-inline-styles.js +292 -0
- package/templates/angular/scripts/check-modus-colors.js +282 -0
- package/templates/angular/scripts/check-modus-icons.js +263 -0
- package/templates/angular/scripts/check-opacity-utilities.js +426 -0
- package/templates/angular/scripts/check-semantic-html.js +452 -0
- package/templates/angular/scripts/check-typescript.js +109 -0
- package/templates/angular/src/app/app.config.ts +29 -0
- package/templates/angular/src/app/app.css +0 -0
- package/templates/angular/src/app/app.html +4 -0
- package/templates/angular/src/app/app.routes.ts +351 -0
- package/templates/angular/src/app/app.spec.ts +27 -0
- package/templates/angular/src/app/app.ts +47 -0
- package/templates/angular/src/app/components/README.md +77 -0
- package/templates/angular/src/app/components/index.ts +53 -0
- package/templates/angular/src/app/components/modus-accordion.component.ts +50 -0
- package/templates/angular/src/app/components/modus-alert.component.ts +133 -0
- package/templates/angular/src/app/components/modus-autocomplete.component.ts +262 -0
- package/templates/angular/src/app/components/modus-avatar.component.ts +75 -0
- package/templates/angular/src/app/components/modus-badge.component.ts +84 -0
- package/templates/angular/src/app/components/modus-breadcrumbs.component.ts +65 -0
- package/templates/angular/src/app/components/modus-button-group.component.ts +82 -0
- package/templates/angular/src/app/components/modus-button.component.ts +292 -0
- package/templates/angular/src/app/components/modus-card.component.ts +73 -0
- package/templates/angular/src/app/components/modus-checkbox.component.ts +117 -0
- package/templates/angular/src/app/components/modus-chip.component.ts +97 -0
- package/templates/angular/src/app/components/modus-collapse.component.ts +118 -0
- package/templates/angular/src/app/components/modus-date.component.ts +165 -0
- package/templates/angular/src/app/components/modus-dropdown-menu.component.ts +108 -0
- package/templates/angular/src/app/components/modus-file-dropzone.component.ts +121 -0
- package/templates/angular/src/app/components/modus-handle.component.ts +96 -0
- package/templates/angular/src/app/components/modus-icon.component.ts +81 -0
- package/templates/angular/src/app/components/modus-input-feedback.component.ts +54 -0
- package/templates/angular/src/app/components/modus-input-label.component.ts +62 -0
- package/templates/angular/src/app/components/modus-loader.component.ts +48 -0
- package/templates/angular/src/app/components/modus-logo.component.ts +115 -0
- package/templates/angular/src/app/components/modus-menu-item.component.ts +116 -0
- package/templates/angular/src/app/components/modus-menu.component.ts +58 -0
- package/templates/angular/src/app/components/modus-modal.component.ts +70 -0
- package/templates/angular/src/app/components/modus-navbar.component.ts +303 -0
- package/templates/angular/src/app/components/modus-number-input.component.ts +174 -0
- package/templates/angular/src/app/components/modus-pagination.component.ts +74 -0
- package/templates/angular/src/app/components/modus-panel.component.ts +61 -0
- package/templates/angular/src/app/components/modus-progress.component.ts +62 -0
- package/templates/angular/src/app/components/modus-radio.component.ts +102 -0
- package/templates/angular/src/app/components/modus-rating.component.ts +80 -0
- package/templates/angular/src/app/components/modus-select.component.ts +131 -0
- package/templates/angular/src/app/components/modus-side-navigation.component.ts +90 -0
- package/templates/angular/src/app/components/modus-skeleton.component.ts +54 -0
- package/templates/angular/src/app/components/modus-slider.component.ts +132 -0
- package/templates/angular/src/app/components/modus-stepper.component.ts +65 -0
- package/templates/angular/src/app/components/modus-switch.component.ts +118 -0
- package/templates/angular/src/app/components/modus-table.component.ts +204 -0
- package/templates/angular/src/app/components/modus-tabs.component.ts +82 -0
- package/templates/angular/src/app/components/modus-text-input.component.ts +221 -0
- package/templates/angular/src/app/components/modus-textarea.component.ts +168 -0
- package/templates/angular/src/app/components/modus-theme-switcher.component.ts +45 -0
- package/templates/angular/src/app/components/modus-time-input.component.ts +172 -0
- package/templates/angular/src/app/components/modus-toast.component.ts +63 -0
- package/templates/angular/src/app/components/modus-toolbar.component.ts +43 -0
- package/templates/angular/src/app/components/modus-tooltip.component.ts +83 -0
- package/templates/angular/src/app/components/modus-typography.component.ts +79 -0
- package/templates/angular/src/app/components/modus-utility-panel.component.ts +275 -0
- package/templates/angular/src/app/components/theme-demo.component.ts +1242 -0
- package/templates/angular/src/app/data/component-demos.ts +360 -0
- package/templates/angular/src/app/data/modus-icons.ts +806 -0
- package/templates/angular/src/app/demos/accordion/accordion-demo.component.ts +212 -0
- package/templates/angular/src/app/demos/alert/alert-demo.component.ts +108 -0
- package/templates/angular/src/app/demos/autocomplete/autocomplete-demo.component.ts +174 -0
- package/templates/angular/src/app/demos/avatar/avatar-demo.component.ts +149 -0
- package/templates/angular/src/app/demos/badge/badge-demo.component.ts +148 -0
- package/templates/angular/src/app/demos/breadcrumbs/breadcrumbs-demo.component.ts +96 -0
- package/templates/angular/src/app/demos/button/button-demo.component.ts +256 -0
- package/templates/angular/src/app/demos/button-group/button-group-demo.component.ts +215 -0
- package/templates/angular/src/app/demos/card/card-demo.component.ts +180 -0
- package/templates/angular/src/app/demos/checkbox/checkbox-demo.component.ts +71 -0
- package/templates/angular/src/app/demos/chip/chip-demo.component.ts +183 -0
- package/templates/angular/src/app/demos/date/date-demo.component.ts +193 -0
- package/templates/angular/src/app/demos/dropdown/dropdown-demo.component.ts +196 -0
- package/templates/angular/src/app/demos/file-dropzone/file-dropzone-demo.component.ts +176 -0
- package/templates/angular/src/app/demos/handle/handle-demo.component.ts +265 -0
- package/templates/angular/src/app/demos/icon/icon-demo.component.ts +65 -0
- package/templates/angular/src/app/demos/input-feedback/input-feedback-demo.component.ts +189 -0
- package/templates/angular/src/app/demos/input-label/input-label-demo.component.ts +330 -0
- package/templates/angular/src/app/demos/loader/loader-demo.component.ts +143 -0
- package/templates/angular/src/app/demos/logo/logo-demo.component.ts +191 -0
- package/templates/angular/src/app/demos/menu/menu-demo.component.ts +72 -0
- package/templates/angular/src/app/demos/modal/modal-demo.component.ts +278 -0
- package/templates/angular/src/app/demos/navbar/navbar-demo.component.ts +135 -0
- package/templates/angular/src/app/demos/number-input/number-input-demo.component.ts +175 -0
- package/templates/angular/src/app/demos/pagination/pagination-demo.component.ts +134 -0
- package/templates/angular/src/app/demos/panel/panel-demo.component.ts +235 -0
- package/templates/angular/src/app/demos/progress/progress-demo.component.ts +169 -0
- package/templates/angular/src/app/demos/radio/radio-demo.component.ts +161 -0
- package/templates/angular/src/app/demos/rating/rating-demo.component.ts +97 -0
- package/templates/angular/src/app/demos/select/select-demo.component.ts +107 -0
- package/templates/angular/src/app/demos/shared/demo-example-clean.component.ts +41 -0
- package/templates/angular/src/app/demos/shared/demo-example.component.ts +42 -0
- package/templates/angular/src/app/demos/shared/demo-page.component.ts +97 -0
- package/templates/angular/src/app/demos/shared/index.ts +3 -0
- package/templates/angular/src/app/demos/side-navigation/side-navigation-demo.component.ts +524 -0
- package/templates/angular/src/app/demos/skeleton/skeleton-demo.component.ts +112 -0
- package/templates/angular/src/app/demos/slider/slider-demo.component.ts +76 -0
- package/templates/angular/src/app/demos/stepper/stepper-demo.component.ts +79 -0
- package/templates/angular/src/app/demos/switch/switch-demo.component.ts +113 -0
- package/templates/angular/src/app/demos/table/table-demo.component.ts +405 -0
- package/templates/angular/src/app/demos/tabs/tabs-demo.component.ts +318 -0
- package/templates/angular/src/app/demos/text-input/text-input-demo.component.ts +160 -0
- package/templates/angular/src/app/demos/textarea/textarea-demo.component.ts +95 -0
- package/templates/angular/src/app/demos/theme-switcher/theme-switcher-demo.component.ts +38 -0
- package/templates/angular/src/app/demos/time-input/time-input-demo.component.ts +130 -0
- package/templates/angular/src/app/demos/toast/toast-demo.component.ts +258 -0
- package/templates/angular/src/app/demos/toolbar/toolbar-demo.component.ts +54 -0
- package/templates/angular/src/app/demos/tooltip/tooltip-demo.component.ts +163 -0
- package/templates/angular/src/app/demos/utility-panel/utility-panel-demo.component.ts +197 -0
- package/templates/angular/src/app/dev/dev-config.ts +119 -0
- package/templates/angular/src/app/dev/dev-panel/dev-panel.component.ts +215 -0
- package/templates/angular/src/app/dev/dev-panel.service.ts +63 -0
- package/templates/angular/src/app/dev/index.ts +8 -0
- package/templates/angular/src/app/dev/theme-switcher-dropdown/theme-switcher-dropdown.component.ts +134 -0
- package/templates/angular/src/app/dev-pages/color-palette/color-palette.component.ts +229 -0
- package/templates/angular/src/app/dev-pages/components-gallery/components-gallery.component.ts +486 -0
- package/templates/angular/src/app/dev-pages/icons/icons.component.ts +149 -0
- package/templates/angular/src/app/pages/home/home.component.ts +251 -0
- package/templates/angular/src/app/services/README.md +57 -0
- package/templates/angular/src/app/services/theme.service.ts +163 -0
- package/templates/angular/src/environments/environment.development.ts +8 -0
- package/templates/angular/src/environments/environment.ts +8 -0
- package/templates/angular/src/index.html +14 -0
- package/templates/angular/src/main.ts +6 -0
- package/templates/angular/src/styles.css +1328 -0
- package/templates/angular/tsconfig.app.json +15 -0
- package/templates/angular/tsconfig.json +35 -0
- package/templates/angular/tsconfig.spec.json +14 -0
- package/templates/config.json +23 -0
- package/templates/react/.cursor/commands/remove-dev-content.md +311 -0
- package/templates/react/.cursor/mcp.json +13 -0
- package/templates/react/.cursor/rules/README.md +240 -0
- package/templates/react/.cursor/rules/border-usage-guidelines-short.mdc +22 -0
- package/templates/react/.cursor/rules/border-usage-guidelines.mdc +380 -0
- package/templates/react/.cursor/rules/chrome-devtools-testing-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/development-workflow-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/development-workflow-react.mdc +292 -0
- package/templates/react/.cursor/rules/implementation-guides-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/implementation-guides-react.mdc +446 -0
- package/templates/react/.cursor/rules/modus-accordion-state-management-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-accordion-state-management-react.mdc +445 -0
- package/templates/react/.cursor/rules/modus-button-group-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-button-group-usage-react.mdc +117 -0
- package/templates/react/.cursor/rules/modus-checkbox-value-inversion-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-checkbox-value-inversion-react.mdc +492 -0
- package/templates/react/.cursor/rules/modus-color-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-color-usage-react.mdc +420 -0
- package/templates/react/.cursor/rules/modus-components-reference.mdc +366 -0
- package/templates/react/.cursor/rules/modus-icon-names.mdc +63 -0
- package/templates/react/.cursor/rules/modus-icons-react-short.mdc +24 -0
- package/templates/react/.cursor/rules/modus-icons-react.mdc +402 -0
- package/templates/react/.cursor/rules/modus-modal-implementation-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-modal-implementation-react.mdc +831 -0
- package/templates/react/.cursor/rules/modus-navbar-side-navigation-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-navbar-side-navigation-react.mdc +247 -0
- package/templates/react/.cursor/rules/modus-no-emojis-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-opacity-utilities-react-short.mdc +70 -0
- package/templates/react/.cursor/rules/modus-opacity-utilities-react.mdc +208 -0
- package/templates/react/.cursor/rules/modus-react-best-practices-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-best-practices.mdc +508 -0
- package/templates/react/.cursor/rules/modus-react-essentials.mdc +209 -0
- package/templates/react/.cursor/rules/modus-react-integration-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-integration.mdc +509 -0
- package/templates/react/.cursor/rules/modus-react-key-warnings-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-key-warnings.mdc +805 -0
- package/templates/react/.cursor/rules/modus-react-master.mdc +160 -0
- package/templates/react/.cursor/rules/modus-select-vs-dropdown-menu-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-select-vs-dropdown-menu-react.mdc +442 -0
- package/templates/react/.cursor/rules/modus-semantic-html-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-semantic-html-react.mdc +427 -0
- package/templates/react/.cursor/rules/modus-tailwind-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-tailwind-usage-react.mdc +642 -0
- package/templates/react/.cursor/rules/modus-themes-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-themes-react.mdc +506 -0
- package/templates/react/.cursor/rules/ux/gestalt-laws-detailed.mdc +456 -0
- package/templates/react/.cursor/rules/ux/ux-ui-foundations.mdc +211 -0
- package/templates/react/.cursor/skills/create-modus-form-component/SKILL.md +518 -0
- package/templates/react/.cursor/skills/create-modus-wrapper-component/SKILL.md +252 -0
- package/templates/react/.cursor/skills/fix-modus-component-event-issues/SKILL.md +345 -0
- package/templates/react/.cursor/skills/handle-modus-checkbox-value-bug/SKILL.md +202 -0
- package/templates/react/.cursor/skills/implement-modus-modal-with-refs/SKILL.md +386 -0
- package/templates/react/.cursor/skills/integrate-modus-icons/SKILL.md +300 -0
- package/templates/react/.cursor/skills/run-lint-checks/SKILL.md +235 -0
- package/templates/react/.cursor/skills/set-up-modus-event-listeners/SKILL.md +284 -0
- package/templates/react/.cursor/skills/style-modus-components-with-tailwind/SKILL.md +382 -0
- package/templates/react/.env.development +3 -0
- package/templates/react/.env.production +3 -0
- package/templates/react/.github/CODEOWNERS +28 -0
- package/templates/react/.github/ISSUE_TEMPLATE/bug_report.yml +176 -0
- package/templates/react/.github/ISSUE_TEMPLATE/config.yml +20 -0
- package/templates/react/.github/ISSUE_TEMPLATE/documentation.yml +115 -0
- package/templates/react/.github/ISSUE_TEMPLATE/feature_request.yml +171 -0
- package/templates/react/.github/ISSUE_TEMPLATE/question.yml +139 -0
- package/templates/react/.github/copilot-instructions.md +80 -0
- package/templates/react/.github/instructions/components.instructions.md +82 -0
- package/templates/react/.github/instructions/demos.instructions.md +82 -0
- package/templates/react/.github/instructions/pages.instructions.md +76 -0
- package/templates/react/.github/instructions/styles.instructions.md +77 -0
- package/templates/react/.github/instructions/typescript.instructions.md +101 -0
- package/templates/react/.github/pull_request_template.md +188 -0
- package/templates/react/.github/workflows/ci.yml +43 -0
- package/templates/react/.github/workflows/claude-code-review.yml +44 -0
- package/templates/react/.github/workflows/claude.yml +50 -0
- package/templates/react/.husky/pre-commit +28 -0
- package/templates/react/.vscode/extensions.json +8 -0
- package/templates/react/CLAUDE.md +119 -0
- package/templates/react/CODE_OF_CONDUCT.md +79 -0
- package/templates/react/CONTRIBUTING.md +65 -0
- package/templates/react/LICENSE +21 -0
- package/templates/react/README.md +728 -0
- package/templates/react/SECURITY.md +50 -0
- package/templates/react/eslint.config.js +23 -0
- package/templates/react/index.html +13 -0
- package/templates/react/package-lock.json +5209 -0
- package/templates/react/package.json +49 -0
- package/templates/react/postcss.config.js +6 -0
- package/templates/react/public/react.svg +1 -0
- package/templates/react/public/vite.svg +1 -0
- package/templates/react/readme_assets/getting_started_header.png +0 -0
- package/templates/react/readme_assets/hero.png +0 -0
- package/templates/react/readme_assets/modus_comp.png +0 -0
- package/templates/react/readme_assets/modus_figma_mcp.png +0 -0
- package/templates/react/readme_assets/teaser_comp.gif +0 -0
- package/templates/react/scripts/README.md +343 -0
- package/templates/react/scripts/check-border-violations.js +483 -0
- package/templates/react/scripts/check-icon-names.js +486 -0
- package/templates/react/scripts/check-inline-styles.js +364 -0
- package/templates/react/scripts/check-modus-colors.js +247 -0
- package/templates/react/scripts/check-modus-icons.js +256 -0
- package/templates/react/scripts/check-opacity-utilities.js +481 -0
- package/templates/react/scripts/check-semantic-html.js +476 -0
- package/templates/react/scripts/check-typescript.js +109 -0
- package/templates/react/src/App.css +42 -0
- package/templates/react/src/App.tsx +54 -0
- package/templates/react/src/assets/react.svg +1 -0
- package/templates/react/src/components/DemoExample.tsx +61 -0
- package/templates/react/src/components/DemoPage.tsx +81 -0
- package/templates/react/src/components/ModusAccordion.tsx +89 -0
- package/templates/react/src/components/ModusAlert.tsx +85 -0
- package/templates/react/src/components/ModusAutocomplete.tsx +207 -0
- package/templates/react/src/components/ModusAvatar.tsx +50 -0
- package/templates/react/src/components/ModusBadge.tsx +82 -0
- package/templates/react/src/components/ModusBreadcrumbs.tsx +75 -0
- package/templates/react/src/components/ModusButton.tsx +244 -0
- package/templates/react/src/components/ModusButtonGroup.tsx +91 -0
- package/templates/react/src/components/ModusCard.tsx +70 -0
- package/templates/react/src/components/ModusCheckbox.tsx +168 -0
- package/templates/react/src/components/ModusChip.tsx +93 -0
- package/templates/react/src/components/ModusDate.tsx +154 -0
- package/templates/react/src/components/ModusDropdownMenu.tsx +148 -0
- package/templates/react/src/components/ModusFileDropzone.tsx +140 -0
- package/templates/react/src/components/ModusHandle.tsx +101 -0
- package/templates/react/src/components/ModusIcon.tsx +49 -0
- package/templates/react/src/components/ModusInputFeedback.tsx +52 -0
- package/templates/react/src/components/ModusInputLabel.tsx +50 -0
- package/templates/react/src/components/ModusLoader.tsx +42 -0
- package/templates/react/src/components/ModusLogo.tsx +102 -0
- package/templates/react/src/components/ModusMenu.tsx +119 -0
- package/templates/react/src/components/ModusMenuItem.tsx +86 -0
- package/templates/react/src/components/ModusModal.tsx +145 -0
- package/templates/react/src/components/ModusNavbar.tsx +504 -0
- package/templates/react/src/components/ModusNumberInput.tsx +230 -0
- package/templates/react/src/components/ModusPagination.tsx +94 -0
- package/templates/react/src/components/ModusPanel.tsx +92 -0
- package/templates/react/src/components/ModusProgress.tsx +70 -0
- package/templates/react/src/components/ModusProvider.tsx +18 -0
- package/templates/react/src/components/ModusRadio.tsx +114 -0
- package/templates/react/src/components/ModusRating.tsx +108 -0
- package/templates/react/src/components/ModusSelect.tsx +171 -0
- package/templates/react/src/components/ModusSideNavigation.tsx +149 -0
- package/templates/react/src/components/ModusSkeleton.tsx +42 -0
- package/templates/react/src/components/ModusSlider.tsx +128 -0
- package/templates/react/src/components/ModusStepper.tsx +85 -0
- package/templates/react/src/components/ModusSwitch.tsx +130 -0
- package/templates/react/src/components/ModusTable.tsx +309 -0
- package/templates/react/src/components/ModusTabs.tsx +114 -0
- package/templates/react/src/components/ModusTextInput.tsx +179 -0
- package/templates/react/src/components/ModusTextarea.tsx +164 -0
- package/templates/react/src/components/ModusThemeSwitcher.tsx +58 -0
- package/templates/react/src/components/ModusTimeInput.tsx +176 -0
- package/templates/react/src/components/ModusToast.tsx +207 -0
- package/templates/react/src/components/ModusToolbar.tsx +70 -0
- package/templates/react/src/components/ModusTooltip.tsx +97 -0
- package/templates/react/src/components/ModusUtilityPanel.tsx +198 -0
- package/templates/react/src/components/ThemeSwitcherDropdown.tsx +117 -0
- package/templates/react/src/components/ThemeToggleSimple.tsx +157 -0
- package/templates/react/src/config/routes.ts +196 -0
- package/templates/react/src/contexts/ThemeContext.tsx +81 -0
- package/templates/react/src/contexts/ThemeContextData.tsx +89 -0
- package/templates/react/src/data/modusIcons.ts +865 -0
- package/templates/react/src/demos/accordion-demo/page.tsx +236 -0
- package/templates/react/src/demos/alert-demo/page.tsx +94 -0
- package/templates/react/src/demos/autocomplete-demo/page.tsx +166 -0
- package/templates/react/src/demos/avatar-demo/page.tsx +135 -0
- package/templates/react/src/demos/badge-demo/page.tsx +174 -0
- package/templates/react/src/demos/breadcrumbs-demo/page.tsx +88 -0
- package/templates/react/src/demos/button-demo/page.tsx +261 -0
- package/templates/react/src/demos/button-group-demo/page.tsx +231 -0
- package/templates/react/src/demos/card-demo/page.tsx +241 -0
- package/templates/react/src/demos/checkbox-demo/page.tsx +79 -0
- package/templates/react/src/demos/chip-demo/page.tsx +197 -0
- package/templates/react/src/demos/date-demo/page.tsx +179 -0
- package/templates/react/src/demos/dropdown-demo/page.tsx +150 -0
- package/templates/react/src/demos/file-dropzone-demo/page.tsx +186 -0
- package/templates/react/src/demos/handle-demo/page.tsx +313 -0
- package/templates/react/src/demos/icon-demo/page.tsx +72 -0
- package/templates/react/src/demos/input-feedback-demo/page.tsx +202 -0
- package/templates/react/src/demos/input-label-demo/page.tsx +392 -0
- package/templates/react/src/demos/loader-demo/page.tsx +138 -0
- package/templates/react/src/demos/logo-demo/page.tsx +292 -0
- package/templates/react/src/demos/menu-demo/page.tsx +70 -0
- package/templates/react/src/demos/modal-demo/page.tsx +332 -0
- package/templates/react/src/demos/navbar-demo/page.tsx +141 -0
- package/templates/react/src/demos/number-input-demo/page.tsx +180 -0
- package/templates/react/src/demos/pagination-demo/page.tsx +147 -0
- package/templates/react/src/demos/panel-demo/page.tsx +376 -0
- package/templates/react/src/demos/progress-demo/page.tsx +185 -0
- package/templates/react/src/demos/radio-demo/page.tsx +242 -0
- package/templates/react/src/demos/rating-demo/page.tsx +97 -0
- package/templates/react/src/demos/select-demo/page.tsx +111 -0
- package/templates/react/src/demos/side-navigation-demo/page.tsx +775 -0
- package/templates/react/src/demos/skeleton-demo/page.tsx +107 -0
- package/templates/react/src/demos/slider-demo/page.tsx +78 -0
- package/templates/react/src/demos/stepper-demo/page.tsx +86 -0
- package/templates/react/src/demos/switch-demo/page.tsx +146 -0
- package/templates/react/src/demos/table-demo/page.tsx +489 -0
- package/templates/react/src/demos/tabs-demo/page.tsx +187 -0
- package/templates/react/src/demos/text-input-demo/page.tsx +151 -0
- package/templates/react/src/demos/textarea-demo/page.tsx +73 -0
- package/templates/react/src/demos/theme-switcher-demo/page.tsx +26 -0
- package/templates/react/src/demos/time-input-demo/page.tsx +148 -0
- package/templates/react/src/demos/toast-demo/page.tsx +302 -0
- package/templates/react/src/demos/toolbar-demo/page.tsx +49 -0
- package/templates/react/src/demos/tooltip-demo/page.tsx +209 -0
- package/templates/react/src/demos/typography-test/page.tsx +28 -0
- package/templates/react/src/demos/utility-panel-demo/page.tsx +197 -0
- package/templates/react/src/dev/DevPanel.tsx +219 -0
- package/templates/react/src/dev/DevPanelContext.ts +14 -0
- package/templates/react/src/dev/DevPanelProvider.tsx +63 -0
- package/templates/react/src/dev/DevRoutes.tsx +98 -0
- package/templates/react/src/dev/config.ts +127 -0
- package/templates/react/src/dev/index.ts +8 -0
- package/templates/react/src/dev/useDevPanel.ts +17 -0
- package/templates/react/src/dev-pages/ColorPalettePage.tsx +347 -0
- package/templates/react/src/dev-pages/ComponentsGalleryPage.tsx +489 -0
- package/templates/react/src/dev-pages/IconsPage.tsx +137 -0
- package/templates/react/src/dev-pages/index.ts +3 -0
- package/templates/react/src/hooks/useTheme.ts +15 -0
- package/templates/react/src/index.css +635 -0
- package/templates/react/src/main.tsx +14 -0
- package/templates/react/src/pages/HomePage.tsx +283 -0
- package/templates/react/src/vite-env.d.ts +9 -0
- package/templates/react/tailwind.config.js +58 -0
- package/templates/react/tsconfig.app.json +27 -0
- package/templates/react/tsconfig.json +7 -0
- package/templates/react/tsconfig.node.json +25 -0
- package/templates/react/vite.config.ts +18 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DemoExample from "../../components/DemoExample";
|
|
4
|
+
import DemoPage from "../../components/DemoPage";
|
|
5
|
+
import ModusSkeleton from "../../components/ModusSkeleton";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Demo page showcasing the Modus Skeleton component.
|
|
9
|
+
*
|
|
10
|
+
* Demonstrates skeleton loading features including:
|
|
11
|
+
* - Basic skeleton
|
|
12
|
+
* - Different shapes
|
|
13
|
+
* - Custom sizes
|
|
14
|
+
* - Real-world examples
|
|
15
|
+
*/
|
|
16
|
+
export default function SkeletonDemoPage() {
|
|
17
|
+
return (
|
|
18
|
+
<DemoPage
|
|
19
|
+
title="Modus Skeleton"
|
|
20
|
+
description="Skeleton components provide loading placeholders that mimic the shape of content being loaded. Use skeletons to improve perceived performance and provide visual feedback during data loading."
|
|
21
|
+
>
|
|
22
|
+
<DemoExample
|
|
23
|
+
title="Basic Skeleton"
|
|
24
|
+
description="Simple skeleton with default rectangle shape."
|
|
25
|
+
>
|
|
26
|
+
<div className="flex flex-col gap-6">
|
|
27
|
+
<ModusSkeleton />
|
|
28
|
+
<ModusSkeleton />
|
|
29
|
+
<ModusSkeleton />
|
|
30
|
+
</div>
|
|
31
|
+
</DemoExample>
|
|
32
|
+
|
|
33
|
+
<DemoExample
|
|
34
|
+
title="Skeleton Shapes"
|
|
35
|
+
description="Skeletons in different shapes."
|
|
36
|
+
>
|
|
37
|
+
<div className="flex flex-wrap gap-6 items-center">
|
|
38
|
+
<div className="flex flex-col gap-2 items-center">
|
|
39
|
+
<ModusSkeleton shape="rectangle" width="200px" height="20px" />
|
|
40
|
+
<div className="text-sm text-muted-foreground">Rectangle</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div className="flex flex-col gap-2 items-center">
|
|
44
|
+
<ModusSkeleton shape="circle" width="64px" height="64px" />
|
|
45
|
+
<div className="text-sm text-muted-foreground">Circle</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</DemoExample>
|
|
49
|
+
|
|
50
|
+
<DemoExample
|
|
51
|
+
title="Custom Sizes"
|
|
52
|
+
description="Skeletons with custom width and height."
|
|
53
|
+
>
|
|
54
|
+
<div className="flex flex-col gap-6">
|
|
55
|
+
<div className="flex flex-col gap-2">
|
|
56
|
+
<div className="text-sm text-muted-foreground">Small</div>
|
|
57
|
+
<ModusSkeleton width="100px" height="12px" />
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div className="flex flex-col gap-2">
|
|
61
|
+
<div className="text-sm text-muted-foreground">Medium</div>
|
|
62
|
+
<ModusSkeleton width="200px" height="16px" />
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<div className="flex flex-col gap-2">
|
|
66
|
+
<div className="text-sm text-muted-foreground">Large</div>
|
|
67
|
+
<ModusSkeleton width="300px" height="24px" />
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</DemoExample>
|
|
71
|
+
|
|
72
|
+
<DemoExample
|
|
73
|
+
title="Real-World Example"
|
|
74
|
+
description="Skeleton loading states for common UI patterns."
|
|
75
|
+
>
|
|
76
|
+
<div className="flex flex-col gap-6">
|
|
77
|
+
{/* Card skeleton */}
|
|
78
|
+
<div className="p-6 rounded-lg bg-card border-default">
|
|
79
|
+
<div className="flex gap-4">
|
|
80
|
+
<ModusSkeleton shape="circle" width="64px" height="64px" />
|
|
81
|
+
<div className="flex flex-col gap-2 flex-1">
|
|
82
|
+
<ModusSkeleton width="60%" height="20px" />
|
|
83
|
+
<ModusSkeleton width="40%" height="16px" />
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
{/* List skeleton */}
|
|
89
|
+
<div className="flex flex-col gap-3">
|
|
90
|
+
<ModusSkeleton width="100%" height="16px" />
|
|
91
|
+
<ModusSkeleton width="90%" height="16px" />
|
|
92
|
+
<ModusSkeleton width="95%" height="16px" />
|
|
93
|
+
<ModusSkeleton width="85%" height="16px" />
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
{/* Form skeleton */}
|
|
97
|
+
<div className="flex flex-col gap-4">
|
|
98
|
+
<ModusSkeleton width="120px" height="14px" />
|
|
99
|
+
<ModusSkeleton width="100%" height="40px" />
|
|
100
|
+
<ModusSkeleton width="100px" height="14px" />
|
|
101
|
+
<ModusSkeleton width="100%" height="40px" />
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</DemoExample>
|
|
105
|
+
</DemoPage>
|
|
106
|
+
);
|
|
107
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DemoExample from "../../components/DemoExample";
|
|
4
|
+
import DemoPage from "../../components/DemoPage";
|
|
5
|
+
import ModusSlider from "../../components/ModusSlider";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Demo page showcasing the Modus Slider component.
|
|
9
|
+
*
|
|
10
|
+
* Demonstrates slider features including:
|
|
11
|
+
* - Basic slider
|
|
12
|
+
* - Sizes
|
|
13
|
+
*/
|
|
14
|
+
export default function SliderDemoPage() {
|
|
15
|
+
return (
|
|
16
|
+
<DemoPage
|
|
17
|
+
title="Modus Slider"
|
|
18
|
+
description="Slider components allow users to select a numeric value by dragging a handle along a track. Use sliders for volume, brightness, or any continuous numeric input."
|
|
19
|
+
>
|
|
20
|
+
<DemoExample
|
|
21
|
+
title="Basic Slider"
|
|
22
|
+
description="Simple slider with default range."
|
|
23
|
+
>
|
|
24
|
+
<div className="flex flex-col gap-6">
|
|
25
|
+
<div className="flex flex-col gap-2">
|
|
26
|
+
<ModusSlider
|
|
27
|
+
inputId="volume-slider"
|
|
28
|
+
label="Volume"
|
|
29
|
+
min={0}
|
|
30
|
+
max={100}
|
|
31
|
+
value={50}
|
|
32
|
+
/>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</DemoExample>
|
|
36
|
+
|
|
37
|
+
<DemoExample
|
|
38
|
+
title="Slider Sizes"
|
|
39
|
+
description="Sliders in different sizes."
|
|
40
|
+
>
|
|
41
|
+
<div className="flex flex-col gap-6">
|
|
42
|
+
<div className="flex flex-col gap-2">
|
|
43
|
+
<ModusSlider
|
|
44
|
+
inputId="small-slider"
|
|
45
|
+
label="Small"
|
|
46
|
+
min={0}
|
|
47
|
+
max={100}
|
|
48
|
+
value={50}
|
|
49
|
+
size="sm"
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div className="flex flex-col gap-2">
|
|
54
|
+
<ModusSlider
|
|
55
|
+
inputId="medium-slider"
|
|
56
|
+
label="Medium"
|
|
57
|
+
min={0}
|
|
58
|
+
max={100}
|
|
59
|
+
value={50}
|
|
60
|
+
size="md"
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div className="flex flex-col gap-2">
|
|
65
|
+
<ModusSlider
|
|
66
|
+
inputId="large-slider"
|
|
67
|
+
label="Large"
|
|
68
|
+
min={0}
|
|
69
|
+
max={100}
|
|
70
|
+
value={50}
|
|
71
|
+
size="lg"
|
|
72
|
+
/>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</DemoExample>
|
|
76
|
+
</DemoPage>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DemoExample from "../../components/DemoExample";
|
|
4
|
+
import DemoPage from "../../components/DemoPage";
|
|
5
|
+
import ModusStepper, {
|
|
6
|
+
type ModusStepperItem,
|
|
7
|
+
} from "../../components/ModusStepper";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Demo page showcasing the Modus Stepper component.
|
|
11
|
+
*
|
|
12
|
+
* Demonstrates stepper features including:
|
|
13
|
+
* - Horizontal stepper
|
|
14
|
+
* - Vertical stepper
|
|
15
|
+
* - Step colors
|
|
16
|
+
* - Custom content
|
|
17
|
+
*/
|
|
18
|
+
export default function StepperDemoPage() {
|
|
19
|
+
const horizontalSteps: ModusStepperItem[] = [
|
|
20
|
+
{ label: "Step 1", color: "primary" },
|
|
21
|
+
{ label: "Step 2", color: "info" },
|
|
22
|
+
{ label: "Step 3" },
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const verticalSteps: ModusStepperItem[] = [
|
|
26
|
+
{ label: "Setup", color: "success" },
|
|
27
|
+
{ label: "Configure", color: "warning" },
|
|
28
|
+
{ label: "Deploy", color: "error" },
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const coloredSteps: ModusStepperItem[] = [
|
|
32
|
+
{ label: "Primary", color: "primary" },
|
|
33
|
+
{ label: "Success", color: "success" },
|
|
34
|
+
{ label: "Warning", color: "warning" },
|
|
35
|
+
{ label: "Error", color: "error" },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const customContentSteps: ModusStepperItem[] = [
|
|
39
|
+
{ label: "Step 1", content: "1" },
|
|
40
|
+
{ label: "Step 2", content: "✓" },
|
|
41
|
+
{ label: "Step 3", content: "3" },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<DemoPage
|
|
46
|
+
title="Modus Stepper"
|
|
47
|
+
description="Stepper components display a list of steps in a process or workflow. Use steppers to guide users through multi-step forms, wizards, or sequential processes."
|
|
48
|
+
>
|
|
49
|
+
<DemoExample
|
|
50
|
+
title="Horizontal Stepper"
|
|
51
|
+
description="Stepper displayed horizontally."
|
|
52
|
+
>
|
|
53
|
+
<div className="flex flex-col gap-6">
|
|
54
|
+
<ModusStepper steps={horizontalSteps} orientation="horizontal" />
|
|
55
|
+
</div>
|
|
56
|
+
</DemoExample>
|
|
57
|
+
|
|
58
|
+
<DemoExample
|
|
59
|
+
title="Vertical Stepper"
|
|
60
|
+
description="Stepper displayed vertically."
|
|
61
|
+
>
|
|
62
|
+
<div className="flex flex-col gap-6">
|
|
63
|
+
<ModusStepper steps={verticalSteps} orientation="vertical" />
|
|
64
|
+
</div>
|
|
65
|
+
</DemoExample>
|
|
66
|
+
|
|
67
|
+
<DemoExample
|
|
68
|
+
title="Stepper with Colors"
|
|
69
|
+
description="Steps with different color themes."
|
|
70
|
+
>
|
|
71
|
+
<div className="flex flex-col gap-6">
|
|
72
|
+
<ModusStepper steps={coloredSteps} orientation="horizontal" />
|
|
73
|
+
</div>
|
|
74
|
+
</DemoExample>
|
|
75
|
+
|
|
76
|
+
<DemoExample
|
|
77
|
+
title="Stepper with Custom Content"
|
|
78
|
+
description="Steps with custom content in indicators."
|
|
79
|
+
>
|
|
80
|
+
<div className="flex flex-col gap-6">
|
|
81
|
+
<ModusStepper steps={customContentSteps} orientation="horizontal" />
|
|
82
|
+
</div>
|
|
83
|
+
</DemoExample>
|
|
84
|
+
</DemoPage>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DemoExample from "../../components/DemoExample";
|
|
4
|
+
import DemoPage from "../../components/DemoPage";
|
|
5
|
+
import ModusSwitch from "../../components/ModusSwitch";
|
|
6
|
+
import ModusInputLabel from "../../components/ModusInputLabel";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Demo page showcasing the Modus Switch component.
|
|
10
|
+
*
|
|
11
|
+
* Demonstrates switch features including:
|
|
12
|
+
* - Basic switch
|
|
13
|
+
* - Sizes
|
|
14
|
+
* - Required fields
|
|
15
|
+
* - Disabled state
|
|
16
|
+
*/
|
|
17
|
+
export default function SwitchDemoPage() {
|
|
18
|
+
return (
|
|
19
|
+
<DemoPage
|
|
20
|
+
title="Modus Switch"
|
|
21
|
+
description="Switch components allow users to toggle between on and off states. Use switches for binary settings like enabling/disabling features or turning notifications on/off."
|
|
22
|
+
>
|
|
23
|
+
<DemoExample
|
|
24
|
+
title="Basic Switch"
|
|
25
|
+
description="Simple switch toggle controls."
|
|
26
|
+
>
|
|
27
|
+
<div className="flex flex-col gap-6">
|
|
28
|
+
<div className="flex flex-col gap-2">
|
|
29
|
+
<ModusInputLabel
|
|
30
|
+
forId="notifications-switch"
|
|
31
|
+
labelText="Notifications"
|
|
32
|
+
/>
|
|
33
|
+
<ModusSwitch
|
|
34
|
+
inputId="notifications-switch"
|
|
35
|
+
label="Enable notifications"
|
|
36
|
+
value={true}
|
|
37
|
+
/>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div className="flex flex-col gap-2">
|
|
41
|
+
<ModusInputLabel forId="dark-mode-switch" labelText="Dark Mode" />
|
|
42
|
+
<ModusSwitch
|
|
43
|
+
inputId="dark-mode-switch"
|
|
44
|
+
label="Dark mode"
|
|
45
|
+
value={false}
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</DemoExample>
|
|
50
|
+
|
|
51
|
+
<DemoExample
|
|
52
|
+
title="Switch Sizes"
|
|
53
|
+
description="Switches in different sizes."
|
|
54
|
+
>
|
|
55
|
+
<div className="flex flex-col gap-6">
|
|
56
|
+
<div className="flex flex-col gap-2">
|
|
57
|
+
<ModusInputLabel forId="small-switch" labelText="Small" />
|
|
58
|
+
<ModusSwitch
|
|
59
|
+
inputId="small-switch"
|
|
60
|
+
label="Small switch"
|
|
61
|
+
size="sm"
|
|
62
|
+
value={true}
|
|
63
|
+
/>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<div className="flex flex-col gap-2">
|
|
67
|
+
<ModusInputLabel
|
|
68
|
+
forId="medium-switch"
|
|
69
|
+
labelText="Medium (Default)"
|
|
70
|
+
/>
|
|
71
|
+
<ModusSwitch
|
|
72
|
+
inputId="medium-switch"
|
|
73
|
+
label="Medium switch"
|
|
74
|
+
size="md"
|
|
75
|
+
value={true}
|
|
76
|
+
/>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<div className="flex flex-col gap-2">
|
|
80
|
+
<ModusInputLabel forId="large-switch" labelText="Large" />
|
|
81
|
+
<ModusSwitch
|
|
82
|
+
inputId="large-switch"
|
|
83
|
+
label="Large switch"
|
|
84
|
+
size="lg"
|
|
85
|
+
value={true}
|
|
86
|
+
/>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</DemoExample>
|
|
90
|
+
|
|
91
|
+
<DemoExample
|
|
92
|
+
title="Required Switch"
|
|
93
|
+
description="Switches marked as required fields."
|
|
94
|
+
>
|
|
95
|
+
<div className="flex flex-col gap-6">
|
|
96
|
+
<div className="flex flex-col gap-2">
|
|
97
|
+
<ModusInputLabel
|
|
98
|
+
forId="required-switch"
|
|
99
|
+
labelText="Terms Agreement"
|
|
100
|
+
required={true}
|
|
101
|
+
/>
|
|
102
|
+
<ModusSwitch
|
|
103
|
+
inputId="required-switch"
|
|
104
|
+
label="I agree to the terms and conditions"
|
|
105
|
+
required={true}
|
|
106
|
+
value={false}
|
|
107
|
+
/>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
</DemoExample>
|
|
111
|
+
|
|
112
|
+
<DemoExample
|
|
113
|
+
title="Disabled Switch"
|
|
114
|
+
description="Switches in disabled state."
|
|
115
|
+
>
|
|
116
|
+
<div className="flex flex-col gap-6">
|
|
117
|
+
<div className="flex flex-col gap-2">
|
|
118
|
+
<ModusInputLabel
|
|
119
|
+
forId="disabled-on-switch"
|
|
120
|
+
labelText="Disabled (On)"
|
|
121
|
+
/>
|
|
122
|
+
<ModusSwitch
|
|
123
|
+
inputId="disabled-on-switch"
|
|
124
|
+
label="Disabled switch (on)"
|
|
125
|
+
disabled={true}
|
|
126
|
+
value={true}
|
|
127
|
+
/>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<div className="flex flex-col gap-2">
|
|
131
|
+
<ModusInputLabel
|
|
132
|
+
forId="disabled-off-switch"
|
|
133
|
+
labelText="Disabled (Off)"
|
|
134
|
+
/>
|
|
135
|
+
<ModusSwitch
|
|
136
|
+
inputId="disabled-off-switch"
|
|
137
|
+
label="Disabled switch (off)"
|
|
138
|
+
disabled={true}
|
|
139
|
+
value={false}
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</DemoExample>
|
|
144
|
+
</DemoPage>
|
|
145
|
+
);
|
|
146
|
+
}
|