vueless 0.0.16 → 0.0.17
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/.browserslistrc +4 -0
- package/.editorconfig +12 -0
- package/.eslintignore +6 -0
- package/.eslintrc.cjs +66 -0
- package/.storybook/configs/main.config.js +20 -0
- package/.storybook/decorators/vue3SourceDecorator.js +119 -0
- package/.storybook/index.pcss +3 -0
- package/.storybook/main.js +20 -0
- package/.storybook/manager-head.html +10 -0
- package/.storybook/manager.js +6 -0
- package/.storybook/preview-head.html +72 -0
- package/.storybook/preview.js +42 -0
- package/.storybook/themes/vueless.docs.theme.js +41 -0
- package/.storybook/themes/vueless.theme.js +45 -0
- package/docs/README.md +64 -0
- package/docs/SUMMARY.md +5 -0
- package/docs/classes-autocompletion.md +67 -0
- package/docs/known-issues.md +14 -0
- package/index.pcss +3 -0
- package/jsconfig.json +11 -0
- package/package.json +8 -5
- package/postcss.config.js +9 -0
- package/public/images/logo.png +0 -0
- package/public/images/vueless-logo-git.png +0 -0
- package/src/gen.web-types/index.js +17 -0
- package/src/gen.web-types/lib/build.js +254 -0
- package/src/gen.web-types/lib/config.js +32 -0
- package/tailwind.config.js +11 -0
- package/vite.config.js +40 -0
- package/vueless.config.js +7 -0
- package/web-types.config.js +3 -0
- package/web-types.json +66 -66
- /package/{composable.ui → src/composable.ui}/index.js +0 -0
- /package/{preset.tailwind → src/preset.tailwind}/index.js +0 -0
- /package/{service.storybook → src/service.storybook}/index.js +0 -0
- /package/{service.ui → src/service.ui}/index.js +0 -0
- /package/{ui.button → src/ui.button}/Docs.mdx +0 -0
- /package/{ui.button → src/ui.button}/composables/attrs.composable.js +0 -0
- /package/{ui.button → src/ui.button}/configs/default.config.js +0 -0
- /package/{ui.button → src/ui.button}/constants/index.js +0 -0
- /package/{ui.button → src/ui.button}/index.stories.js +0 -0
- /package/{ui.button → src/ui.button}/index.vue +0 -0
- /package/{ui.button-link → src/ui.button-link}/Docs.mdx +0 -0
- /package/{ui.button-link → src/ui.button-link}/composables/attrs.composable.js +0 -0
- /package/{ui.button-link → src/ui.button-link}/configs/default.config.js +0 -0
- /package/{ui.button-link → src/ui.button-link}/constants/index.js +0 -0
- /package/{ui.button-link → src/ui.button-link}/index.stories.js +0 -0
- /package/{ui.button-link → src/ui.button-link}/index.vue +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/Docs.mdx +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/composables/attrs.composable.js +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/configs/default.config.js +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/constants/index.js +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/index.stories.js +0 -0
- /package/{ui.button-toggle → src/ui.button-toggle}/index.vue +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/Docs.mdx +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/composables/attrs.composable.js +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/configs/default.config.js +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/constants/index.js +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/index.stories.js +0 -0
- /package/{ui.button-toggle-item → src/ui.button-toggle-item}/index.vue +0 -0
- /package/{ui.container-accordion → src/ui.container-accordion}/composables/attrs.composable.js +0 -0
- /package/{ui.container-accordion → src/ui.container-accordion}/configs/default.config.js +0 -0
- /package/{ui.container-accordion → src/ui.container-accordion}/constants/index.js +0 -0
- /package/{ui.container-accordion → src/ui.container-accordion}/index.stories.js +0 -0
- /package/{ui.container-accordion → src/ui.container-accordion}/index.vue +0 -0
- /package/{ui.container-card → src/ui.container-card}/Docs.mdx +0 -0
- /package/{ui.container-card → src/ui.container-card}/composable/attrs.composable.js +0 -0
- /package/{ui.container-card → src/ui.container-card}/configs/default.config.js +0 -0
- /package/{ui.container-card → src/ui.container-card}/constants/index.js +0 -0
- /package/{ui.container-card → src/ui.container-card}/index.stories.js +0 -0
- /package/{ui.container-card → src/ui.container-card}/index.vue +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/Docs.mdx +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/composables/attrs.composable.js +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/configs/default.config.js +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/constants/index.js +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/index.stories.js +0 -0
- /package/{ui.container-divider → src/ui.container-divider}/index.vue +0 -0
- /package/{ui.container-group → src/ui.container-group}/Docs.mdx +0 -0
- /package/{ui.container-group → src/ui.container-group}/composables/attrs.composable.js +0 -0
- /package/{ui.container-group → src/ui.container-group}/configs/default.config.js +0 -0
- /package/{ui.container-group → src/ui.container-group}/constants/index.js +0 -0
- /package/{ui.container-group → src/ui.container-group}/index.stories.js +0 -0
- /package/{ui.container-group → src/ui.container-group}/index.vue +0 -0
- /package/{ui.container-groups → src/ui.container-groups}/Docs.mdx +0 -0
- /package/{ui.container-groups → src/ui.container-groups}/composables/attrs.composable.js +0 -0
- /package/{ui.container-groups → src/ui.container-groups}/configs/default.config.js +0 -0
- /package/{ui.container-groups → src/ui.container-groups}/index.stories.js +0 -0
- /package/{ui.container-groups → src/ui.container-groups}/index.vue +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/Docs.mdx +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/composables/attrs.composable.js +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/configs/default.config.js +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/constants/index.js +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/index.stories.js +0 -0
- /package/{ui.container-modal → src/ui.container-modal}/index.vue +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/Docs.mdx +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/composable/attrs.composable.js +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/configs/default.config.js +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/constants/index.js +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/index.stories.js +0 -0
- /package/{ui.container-modal-confirm → src/ui.container-modal-confirm}/index.vue +0 -0
- /package/{ui.container-page → src/ui.container-page}/Docs.mdx +0 -0
- /package/{ui.container-page → src/ui.container-page}/composables/attrs.composable.js +0 -0
- /package/{ui.container-page → src/ui.container-page}/configs/default.config.js +0 -0
- /package/{ui.container-page → src/ui.container-page}/constants/index.js +0 -0
- /package/{ui.container-page → src/ui.container-page}/index.stories.js +0 -0
- /package/{ui.container-page → src/ui.container-page}/index.vue +0 -0
- /package/{ui.container-row → src/ui.container-row}/Docs.mdx +0 -0
- /package/{ui.container-row → src/ui.container-row}/composables/attrs.composable.js +0 -0
- /package/{ui.container-row → src/ui.container-row}/configs/default.config.js +0 -0
- /package/{ui.container-row → src/ui.container-row}/constants/index.js +0 -0
- /package/{ui.container-row → src/ui.container-row}/index.stories.js +0 -0
- /package/{ui.container-row → src/ui.container-row}/index.vue +0 -0
- /package/{ui.data-list → src/ui.data-list}/composables/attrs.composable.js +0 -0
- /package/{ui.data-list → src/ui.data-list}/configs/default.config.js +0 -0
- /package/{ui.data-list → src/ui.data-list}/constants/index.js +0 -0
- /package/{ui.data-list → src/ui.data-list}/index.stories.js +0 -0
- /package/{ui.data-list → src/ui.data-list}/index.vue +0 -0
- /package/{ui.data-table → src/ui.data-table}/Docs.mdx +0 -0
- /package/{ui.data-table → src/ui.data-table}/composables/attrs.composable.js +0 -0
- /package/{ui.data-table → src/ui.data-table}/configs/default.config.js +0 -0
- /package/{ui.data-table → src/ui.data-table}/constants/index.js +0 -0
- /package/{ui.data-table → src/ui.data-table}/index.stories.js +0 -0
- /package/{ui.data-table → src/ui.data-table}/index.vue +0 -0
- /package/{ui.data-table → src/ui.data-table}/services/table.service.js +0 -0
- /package/{ui.data-table-cell → src/ui.data-table-cell}/composables/attrs.composable.js +0 -0
- /package/{ui.data-table-cell → src/ui.data-table-cell}/configs/default.config.js +0 -0
- /package/{ui.data-table-cell → src/ui.data-table-cell}/constants/index.js +0 -0
- /package/{ui.data-table-cell → src/ui.data-table-cell}/index.vue +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/Docs.mdx +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/composables/attrs.composable.js +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/configs/default.config.js +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/constants/index.js +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/index.stories.js +0 -0
- /package/{ui.dropdown-badge → src/ui.dropdown-badge}/index.vue +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/Docs.mdx +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/composables/attrs.composable.js +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/configs/default.config.js +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/constants/index.js +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/index.stories.js +0 -0
- /package/{ui.dropdown-button → src/ui.dropdown-button}/index.vue +0 -0
- /package/{ui.dropdown-item → src/ui.dropdown-item}/Docs.mdx +0 -0
- /package/{ui.dropdown-item → src/ui.dropdown-item}/composables/attrs.composable.js +0 -0
- /package/{ui.dropdown-item → src/ui.dropdown-item}/configs/default.config.js +0 -0
- /package/{ui.dropdown-item → src/ui.dropdown-item}/index.stories.js +0 -0
- /package/{ui.dropdown-item → src/ui.dropdown-item}/index.vue +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/Docs.mdx +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/composables/attrs.composable.js +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/configs/default.config.js +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/constants/index.js +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/index.stories.js +0 -0
- /package/{ui.dropdown-link → src/ui.dropdown-link}/index.vue +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/Docs.mdx +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/composables/attrs.composable.js +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/composables/usePointer.js +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/configs/default.config.js +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/constants/index.js +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/index.stories.js +0 -0
- /package/{ui.dropdown-list → src/ui.dropdown-list}/index.vue +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/Docs.mdx +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/components/DayView.vue +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/components/MonthView.vue +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/components/YearView.vue +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/composables/attrs.composable.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/configs/default.config.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/constants/index.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/index.stories.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/index.vue +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/services/calendar.service.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/services/date.service.js +0 -0
- /package/{ui.form-calendar → src/ui.form-calendar}/services/formatting.service.js +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/Docs.mdx +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/composables/attrs.composable.js +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/configs/default.config.js +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/constants/index.js +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/index.stories.js +0 -0
- /package/{ui.form-checkbox → src/ui.form-checkbox}/index.vue +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/Docs.mdx +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/composables/attrs.composable.js +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/configs/default.config.js +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/constants/index.js +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/index.stories.js +0 -0
- /package/{ui.form-checkbox-group → src/ui.form-checkbox-group}/index.vue +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/Docs.mdx +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/composables/attrs.composable.js +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/configs/default.config.js +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/constants/index.js +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/index.stories.js +0 -0
- /package/{ui.form-checkbox-multi-state → src/ui.form-checkbox-multi-state}/index.vue +0 -0
- /package/{ui.form-color-picker → src/ui.form-color-picker}/composables/attrs.composable.js +0 -0
- /package/{ui.form-color-picker → src/ui.form-color-picker}/configs/default.config.js +0 -0
- /package/{ui.form-color-picker → src/ui.form-color-picker}/constants/index.js +0 -0
- /package/{ui.form-color-picker → src/ui.form-color-picker}/index.stories.js +0 -0
- /package/{ui.form-color-picker → src/ui.form-color-picker}/index.vue +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/Docs.mdx +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/composables/attrs.composable.js +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/configs/default.config.js +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/constants/index.js +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/index.stories.js +0 -0
- /package/{ui.form-date-picker → src/ui.form-date-picker}/index.vue +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/composables/attrs.composable.js +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/configs/default.config.js +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/constants/index.js +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/index.stories.js +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/index.vue +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/services/dateRange.service.js +0 -0
- /package/{ui.form-date-picker-range → src/ui.form-date-picker-range}/services/validation.service.js +0 -0
- /package/{ui.form-input → src/ui.form-input}/Docs.mdx +0 -0
- /package/{ui.form-input → src/ui.form-input}/assets/fonts/text-security-disc.woff +0 -0
- /package/{ui.form-input → src/ui.form-input}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input → src/ui.form-input}/configs/default.config.js +0 -0
- /package/{ui.form-input → src/ui.form-input}/constants/index.js +0 -0
- /package/{ui.form-input → src/ui.form-input}/index.stories.js +0 -0
- /package/{ui.form-input → src/ui.form-input}/index.vue +0 -0
- /package/{ui.form-input-file → src/ui.form-input-file}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input-file → src/ui.form-input-file}/configs/default.config.js +0 -0
- /package/{ui.form-input-file → src/ui.form-input-file}/constants/index.js +0 -0
- /package/{ui.form-input-file → src/ui.form-input-file}/index.stories.js +0 -0
- /package/{ui.form-input-file → src/ui.form-input-file}/index.vue +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/Docs.mdx +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/composables/useFormatCurrency.js +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/configs/default.config.js +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/constants/index.js +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/index.stories.js +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/index.vue +0 -0
- /package/{ui.form-input-money → src/ui.form-input-money}/services/format.service.js +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/Docs.mdx +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/configs/default.config.js +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/constants/index.js +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/index.stories.js +0 -0
- /package/{ui.form-input-number → src/ui.form-input-number}/index.vue +0 -0
- /package/{ui.form-input-rating → src/ui.form-input-rating}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input-rating → src/ui.form-input-rating}/configs/default.config.js +0 -0
- /package/{ui.form-input-rating → src/ui.form-input-rating}/constants/index.js +0 -0
- /package/{ui.form-input-rating → src/ui.form-input-rating}/index.stories.js +0 -0
- /package/{ui.form-input-rating → src/ui.form-input-rating}/index.vue +0 -0
- /package/{ui.form-input-search → src/ui.form-input-search}/composables/attrs.composable.js +0 -0
- /package/{ui.form-input-search → src/ui.form-input-search}/configs/default.config.js +0 -0
- /package/{ui.form-input-search → src/ui.form-input-search}/constants/index.js +0 -0
- /package/{ui.form-input-search → src/ui.form-input-search}/index.stories.js +0 -0
- /package/{ui.form-input-search → src/ui.form-input-search}/index.vue +0 -0
- /package/{ui.form-label → src/ui.form-label}/Docs.mdx +0 -0
- /package/{ui.form-label → src/ui.form-label}/composables/attrs.composable.js +0 -0
- /package/{ui.form-label → src/ui.form-label}/configs/default.config.js +0 -0
- /package/{ui.form-label → src/ui.form-label}/constants/index.js +0 -0
- /package/{ui.form-label → src/ui.form-label}/index.stories.js +0 -0
- /package/{ui.form-label → src/ui.form-label}/index.vue +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/Docs.mdx +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/composables/attrs.composable.js +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/configs/default.config.js +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/constants/index.js +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/index.stories.js +0 -0
- /package/{ui.form-radio → src/ui.form-radio}/index.vue +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/Docs.mdx +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/composables/attrs.composable.js +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/configs/default.config.js +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/constants/index.js +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/index.stories.js +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/index.vue +0 -0
- /package/{ui.form-radio-card → src/ui.form-radio-card}/services/variant.service.js +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/Docs.mdx +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/composables/attrs.composable.js +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/configs/default.config.js +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/constants/index.js +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/index.stories.js +0 -0
- /package/{ui.form-radio-group → src/ui.form-radio-group}/index.vue +0 -0
- /package/{ui.form-select → src/ui.form-select}/Docs.mdx +0 -0
- /package/{ui.form-select → src/ui.form-select}/composables/attrs.composable.js +0 -0
- /package/{ui.form-select → src/ui.form-select}/configs/default.config.js +0 -0
- /package/{ui.form-select → src/ui.form-select}/constants/index.js +0 -0
- /package/{ui.form-select → src/ui.form-select}/index.stories.js +0 -0
- /package/{ui.form-select → src/ui.form-select}/index.vue +0 -0
- /package/{ui.form-select → src/ui.form-select}/services/select.service.js +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/composables/attrs.composable.js +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/configs/default.config.js +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/constants/index.js +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/index.stories.js +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/index.vue +0 -0
- /package/{ui.form-switch → src/ui.form-switch}/services/variant.service.js +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/Docs.mdx +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/composables/attrs.composable.js +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/configs/default.config.js +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/constants/index.js +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/index.stories.js +0 -0
- /package/{ui.form-textarea → src/ui.form-textarea}/index.vue +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/composables/attrs.composable.js +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/configs/default.config.js +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/constants/index.js +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/default-avatar.png +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/index.stories.js +0 -0
- /package/{ui.image-avatar → src/ui.image-avatar}/index.vue +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/Docs.mdx +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/composables/attrs.composable.js +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/configs/default.config.js +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/constants/index.js +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/index.stories.js +0 -0
- /package/{ui.image-icon → src/ui.image-icon}/index.vue +0 -0
- /package/{ui.image-logo → src/ui.image-logo}/composables/attrs.composable.js +0 -0
- /package/{ui.image-logo → src/ui.image-logo}/configs/default.config.js +0 -0
- /package/{ui.image-logo → src/ui.image-logo}/constants/index.js +0 -0
- /package/{ui.image-logo → src/ui.image-logo}/index.stories.js +0 -0
- /package/{ui.image-logo → src/ui.image-logo}/index.vue +0 -0
- /package/{ui.loader-rendering → src/ui.loader-rendering}/index.vue +0 -0
- /package/{ui.loader-rendering → src/ui.loader-rendering}/store/index.js +0 -0
- /package/{ui.navigation-pagination → src/ui.navigation-pagination}/composables/attrs.composable.js +0 -0
- /package/{ui.navigation-pagination → src/ui.navigation-pagination}/configs/default.config.js +0 -0
- /package/{ui.navigation-pagination → src/ui.navigation-pagination}/constants/index.js +0 -0
- /package/{ui.navigation-pagination → src/ui.navigation-pagination}/index.stories.js +0 -0
- /package/{ui.navigation-pagination → src/ui.navigation-pagination}/index.vue +0 -0
- /package/{ui.navigation-stepper → src/ui.navigation-stepper}/composables/attrs.composable.js +0 -0
- /package/{ui.navigation-stepper → src/ui.navigation-stepper}/configs/default.config.js +0 -0
- /package/{ui.navigation-stepper → src/ui.navigation-stepper}/constants/index.js +0 -0
- /package/{ui.navigation-stepper → src/ui.navigation-stepper}/index.stories.js +0 -0
- /package/{ui.navigation-stepper → src/ui.navigation-stepper}/index.vue +0 -0
- /package/{ui.navigation-tab → src/ui.navigation-tab}/composables/attrs.composable.js +0 -0
- /package/{ui.navigation-tab → src/ui.navigation-tab}/configs/default.config.js +0 -0
- /package/{ui.navigation-tab → src/ui.navigation-tab}/constants/index.js +0 -0
- /package/{ui.navigation-tab → src/ui.navigation-tab}/index.stories.js +0 -0
- /package/{ui.navigation-tab → src/ui.navigation-tab}/index.vue +0 -0
- /package/{ui.navigation-tabs → src/ui.navigation-tabs}/composables/attrs.composable.js +0 -0
- /package/{ui.navigation-tabs → src/ui.navigation-tabs}/configs/default.config.js +0 -0
- /package/{ui.navigation-tabs → src/ui.navigation-tabs}/constants/index.js +0 -0
- /package/{ui.navigation-tabs → src/ui.navigation-tabs}/index.stories.js +0 -0
- /package/{ui.navigation-tabs → src/ui.navigation-tabs}/index.vue +0 -0
- /package/{ui.notify → src/ui.notify}/index.sto_ries.js +0 -0
- /package/{ui.notify → src/ui.notify}/index.vue +0 -0
- /package/{ui.notify → src/ui.notify}/services/index.js +0 -0
- /package/{ui.other-dot → src/ui.other-dot}/composables/attrs.composable.js +0 -0
- /package/{ui.other-dot → src/ui.other-dot}/configs/default.config.js +0 -0
- /package/{ui.other-dot → src/ui.other-dot}/constants/index.js +0 -0
- /package/{ui.other-dot → src/ui.other-dot}/index.stories.js +0 -0
- /package/{ui.other-dot → src/ui.other-dot}/index.vue +0 -0
- /package/{ui.other-loader → src/ui.other-loader}/composables/attrs.composable.js +0 -0
- /package/{ui.other-loader → src/ui.other-loader}/configs/default.config.js +0 -0
- /package/{ui.other-loader → src/ui.other-loader}/constants/index.js +0 -0
- /package/{ui.other-loader → src/ui.other-loader}/index.stories.js +0 -0
- /package/{ui.other-loader → src/ui.other-loader}/index.vue +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/composables/attrs.composable.js +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/configs/default.config.js +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/constants/index.js +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/index.vue +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/services/loaderTop.service.js +0 -0
- /package/{ui.other-loader-top → src/ui.other-loader-top}/store/index.js +0 -0
- /package/{ui.text-alert → src/ui.text-alert}/composables/attrs.composable.js +0 -0
- /package/{ui.text-alert → src/ui.text-alert}/configs/default.config.js +0 -0
- /package/{ui.text-alert → src/ui.text-alert}/constatns/index.js +0 -0
- /package/{ui.text-alert → src/ui.text-alert}/index.stories.js +0 -0
- /package/{ui.text-alert → src/ui.text-alert}/index.vue +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/Docs.mdx +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/composables/attrs.composable.js +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/configs/default.config.js +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/constants/index.js +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/index.stories.js +0 -0
- /package/{ui.text-badge → src/ui.text-badge}/index.vue +0 -0
- /package/{ui.text-block → src/ui.text-block}/composables/attrs.composable.js +0 -0
- /package/{ui.text-block → src/ui.text-block}/configs/default.config.js +0 -0
- /package/{ui.text-block → src/ui.text-block}/constatns/index.js +0 -0
- /package/{ui.text-block → src/ui.text-block}/index.stories.js +0 -0
- /package/{ui.text-block → src/ui.text-block}/index.vue +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/Docs.mdx +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/composables/attrs.composable.js +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/configs/default.config.js +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/constants/index.js +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/index.stories.js +0 -0
- /package/{ui.text-empty → src/ui.text-empty}/index.vue +0 -0
- /package/{ui.text-file → src/ui.text-file}/composables/attrs.composable.js +0 -0
- /package/{ui.text-file → src/ui.text-file}/configs/default.config.js +0 -0
- /package/{ui.text-file → src/ui.text-file}/index.stories.js +0 -0
- /package/{ui.text-file → src/ui.text-file}/index.vue +0 -0
- /package/{ui.text-files → src/ui.text-files}/composables/attrs.composable.js +0 -0
- /package/{ui.text-files → src/ui.text-files}/configs/default.config.js +0 -0
- /package/{ui.text-files → src/ui.text-files}/constants/index.js +0 -0
- /package/{ui.text-files → src/ui.text-files}/index.stories.js +0 -0
- /package/{ui.text-files → src/ui.text-files}/index.vue +0 -0
- /package/{ui.text-header → src/ui.text-header}/Docs.mdx +0 -0
- /package/{ui.text-header → src/ui.text-header}/composables/attrs.composable.js +0 -0
- /package/{ui.text-header → src/ui.text-header}/configs/default.config.js +0 -0
- /package/{ui.text-header → src/ui.text-header}/constants/index.js +0 -0
- /package/{ui.text-header → src/ui.text-header}/index.stories.js +0 -0
- /package/{ui.text-header → src/ui.text-header}/index.vue +0 -0
- /package/{ui.text-money → src/ui.text-money}/Docs.mdx +0 -0
- /package/{ui.text-money → src/ui.text-money}/assets/credit.svg +0 -0
- /package/{ui.text-money → src/ui.text-money}/assets/debit.svg +0 -0
- /package/{ui.text-money → src/ui.text-money}/composables/attrs.composable.js +0 -0
- /package/{ui.text-money → src/ui.text-money}/configs/default.config.js +0 -0
- /package/{ui.text-money → src/ui.text-money}/constants/index.js +0 -0
- /package/{ui.text-money → src/ui.text-money}/index.stories.js +0 -0
- /package/{ui.text-money → src/ui.text-money}/index.vue +0 -0
- /package/{ui.text-money → src/ui.text-money}/services/money.services.js +0 -0
- /package/{ui.viewport → src/ui.viewport}/index.vue +0 -0
- /package/{ui.viewport → src/ui.viewport}/store/index.js +0 -0
package/.browserslistrc
ADDED
package/.editorconfig
ADDED
package/.eslintignore
ADDED
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
root: true,
|
|
3
|
+
env: {
|
|
4
|
+
node: true,
|
|
5
|
+
browser: true,
|
|
6
|
+
es2020: true,
|
|
7
|
+
},
|
|
8
|
+
plugins: ["tailwindcss"],
|
|
9
|
+
extends: [
|
|
10
|
+
"eslint:recommended",
|
|
11
|
+
"plugin:vue/vue3-recommended",
|
|
12
|
+
"@vue/prettier",
|
|
13
|
+
"plugin:prettier/recommended",
|
|
14
|
+
"plugin:tailwindcss/recommended",
|
|
15
|
+
],
|
|
16
|
+
rules: {
|
|
17
|
+
"no-console": process.env.PROD ? "error" : "warn",
|
|
18
|
+
"no-debugger": process.env.PROD ? "error" : "warn",
|
|
19
|
+
"arrow-parens": ["error", "always"],
|
|
20
|
+
curly: ["error", "multi-line"],
|
|
21
|
+
"padding-line-between-statements": [
|
|
22
|
+
"error",
|
|
23
|
+
{ blankLine: "always", prev: ["const", "let", "var"], next: "*" },
|
|
24
|
+
{ blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"] },
|
|
25
|
+
{ blankLine: "always", prev: "directive", next: "*" },
|
|
26
|
+
{ blankLine: "any", prev: "directive", next: "directive" },
|
|
27
|
+
{ blankLine: "always", prev: "block-like", next: "*" },
|
|
28
|
+
{ blankLine: "always", prev: "*", next: "block-like" },
|
|
29
|
+
{ blankLine: "always", prev: "*", next: "return" },
|
|
30
|
+
],
|
|
31
|
+
"vue/multi-word-component-names": [
|
|
32
|
+
"error",
|
|
33
|
+
{ ignores: ["index", "Component", "Modal", "Page"] },
|
|
34
|
+
],
|
|
35
|
+
"vue/max-len": ["error", { code: 120, template: 960, ignoreComments: true, ignoreUrls: true }],
|
|
36
|
+
"vue/padding-line-between-blocks": ["error", "always"],
|
|
37
|
+
"vue/v-on-event-hyphenation": ["error", "never"],
|
|
38
|
+
"vue/no-v-html": "off",
|
|
39
|
+
"tailwindcss/no-custom-classname": "off",
|
|
40
|
+
"prettier/prettier": ["warn", { printWidth: 100, tabWidth: 2 }],
|
|
41
|
+
},
|
|
42
|
+
overrides: [
|
|
43
|
+
{
|
|
44
|
+
files: ["src/**/default.config.{js,ts}"],
|
|
45
|
+
rules: {
|
|
46
|
+
"vue/max-len": ["error", { code: 140 }],
|
|
47
|
+
"prettier/prettier": ["warn", { printWidth: 120, tabWidth: 2 }],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
files: [".storybook/preview.{js,ts}"],
|
|
52
|
+
rules: {
|
|
53
|
+
"vue/max-len": ["error", { code: 280 }],
|
|
54
|
+
"prettier/prettier": ["warn", { printWidth: 280, tabWidth: 2 }],
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
files: ["**/*.{stories}.{js,ts,jsx,tsx}"],
|
|
59
|
+
extends: ["plugin:storybook/recommended"],
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
parserOptions: {
|
|
63
|
+
ecmaVersion: "latest",
|
|
64
|
+
module: "esnext",
|
|
65
|
+
},
|
|
66
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import vuelessDocsTheme from "../themes/vueless.docs.theme";
|
|
2
|
+
import colors from "tailwindcss/colors.js";
|
|
3
|
+
|
|
4
|
+
export const docs = {
|
|
5
|
+
theme: vuelessDocsTheme,
|
|
6
|
+
source: {
|
|
7
|
+
language: "html",
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const backgrounds = {
|
|
12
|
+
default: "white",
|
|
13
|
+
values: [
|
|
14
|
+
{ name: "white", value: colors.white },
|
|
15
|
+
{ name: "light", value: colors.gray[50] },
|
|
16
|
+
{ name: "dark", value: colors.gray[900] },
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const layout = "fullscreen";
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { addons, makeDecorator } from "@storybook/preview-api";
|
|
2
|
+
import { h, onMounted, watch } from "vue";
|
|
3
|
+
import { setBrandColor } from "vueless/service.ui";
|
|
4
|
+
|
|
5
|
+
export const vue3SourceDecorator = makeDecorator({
|
|
6
|
+
name: "vue3SourceDecorator",
|
|
7
|
+
wrapper: (storyFn, context) => {
|
|
8
|
+
const story = storyFn(context);
|
|
9
|
+
|
|
10
|
+
// this returns a new component that computes the source code when mounted
|
|
11
|
+
// and emits an events that is handled by addons-docs
|
|
12
|
+
// watch args and re-emit on change
|
|
13
|
+
return {
|
|
14
|
+
components: { story },
|
|
15
|
+
setup() {
|
|
16
|
+
onMounted(() => {
|
|
17
|
+
setSourceCode();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
watch(context.args, () => {
|
|
21
|
+
setSourceCode();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
setBrandColor();
|
|
25
|
+
|
|
26
|
+
function setSourceCode() {
|
|
27
|
+
try {
|
|
28
|
+
const src = context.originalStoryFn(context.args).template;
|
|
29
|
+
const code = templateSourceCode(src, context.args, context.argTypes);
|
|
30
|
+
const channel = addons.getChannel();
|
|
31
|
+
|
|
32
|
+
const emitFormattedTemplate = async () => {
|
|
33
|
+
const prettier = await import("prettier2");
|
|
34
|
+
const prettierHtml = await import("prettier2/parser-html");
|
|
35
|
+
|
|
36
|
+
const formattedCode = prettier.format(code, {
|
|
37
|
+
parser: "html",
|
|
38
|
+
plugins: [prettierHtml],
|
|
39
|
+
htmlWhitespaceSensitivity: "ignore",
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// emits an event when the transformation is completed
|
|
43
|
+
channel.emit("storybook/docs/snippet-rendered", {
|
|
44
|
+
id: context.id,
|
|
45
|
+
args: context.args,
|
|
46
|
+
source: formattedCode,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
emitFormattedTemplate();
|
|
51
|
+
} catch (e) {
|
|
52
|
+
// eslint-disable-next-line no-console
|
|
53
|
+
console.warn("Failed to render code", e);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return () => h("div", { style: `padding: 2rem 1.5rem 3rem 1.5rem;` }, [h(story)]);
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
function templateSourceCode(templateSource, args, argTypes) {
|
|
64
|
+
const componentArgs = {};
|
|
65
|
+
|
|
66
|
+
for (const [key, val] of Object.entries(argTypes)) {
|
|
67
|
+
const value = args[key];
|
|
68
|
+
|
|
69
|
+
if (
|
|
70
|
+
typeof val !== "undefined" &&
|
|
71
|
+
val.table &&
|
|
72
|
+
val.table.category === "props" &&
|
|
73
|
+
value !== val.defaultValue
|
|
74
|
+
) {
|
|
75
|
+
componentArgs[key] = val;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const slotTemplateCode =
|
|
80
|
+
// eslint-disable-next-line vue/max-len
|
|
81
|
+
'<template v-for="(slot, index) of slots" :key="index" v-slot:[slot]><template v-if="args[slot]">{{ args[slot] }}</template></template>';
|
|
82
|
+
const templateDefaultRegEx = /<template #default>([\s\S]*?)<\/template>/g;
|
|
83
|
+
|
|
84
|
+
return templateSource
|
|
85
|
+
.replace(/>[\s]+</g, "><")
|
|
86
|
+
.trim()
|
|
87
|
+
.replace(slotTemplateCode, "")
|
|
88
|
+
.replace(templateDefaultRegEx, "$1")
|
|
89
|
+
.replace(
|
|
90
|
+
'v-bind="args"',
|
|
91
|
+
Object.keys(componentArgs)
|
|
92
|
+
.map((key) => " " + propToSource(kebabCase(key), args[key]))
|
|
93
|
+
.join(""),
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function propToSource(key, val) {
|
|
98
|
+
const type = typeof val;
|
|
99
|
+
|
|
100
|
+
switch (type) {
|
|
101
|
+
case "boolean":
|
|
102
|
+
return val ? key : "";
|
|
103
|
+
case "string":
|
|
104
|
+
return `${key}="${val}"`;
|
|
105
|
+
default:
|
|
106
|
+
return `:${key}="${val}"`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function kebabCase(str) {
|
|
111
|
+
return str
|
|
112
|
+
.split("")
|
|
113
|
+
.map((letter, idx) => {
|
|
114
|
+
return letter.toUpperCase() === letter
|
|
115
|
+
? `${idx !== 0 ? "-" : ""}${letter.toLowerCase()}`
|
|
116
|
+
: letter;
|
|
117
|
+
})
|
|
118
|
+
.join("");
|
|
119
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @type { import('@storybook/vue3-vite').StorybookConfig } */
|
|
2
|
+
export default {
|
|
3
|
+
stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)", "../src/**/*.@(mdx)"],
|
|
4
|
+
addons: [
|
|
5
|
+
"@storybook/addon-links",
|
|
6
|
+
"@storybook/addon-essentials",
|
|
7
|
+
"@storybook/addon-interactions",
|
|
8
|
+
],
|
|
9
|
+
framework: {
|
|
10
|
+
name: "@storybook/vue3-vite",
|
|
11
|
+
options: {},
|
|
12
|
+
},
|
|
13
|
+
docs: {
|
|
14
|
+
autodocs: true,
|
|
15
|
+
},
|
|
16
|
+
env: (config) => ({
|
|
17
|
+
...config,
|
|
18
|
+
BASE_URL: "/",
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Overrides content of preview IFRAME HTML page's <head> tag,
|
|
3
|
+
affecting rendered component(s) below Canvas and Docs tabs.
|
|
4
|
+
-->
|
|
5
|
+
<!-- Fonts overriding -->
|
|
6
|
+
<link rel="dns-prefetch" href="https://fonts.googleapis.com">
|
|
7
|
+
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
|
|
8
|
+
<link rel="preconnect" crossorigin="anonymous" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" crossorigin="anonymous" href="https://fonts.gstatic.com">
|
|
10
|
+
<link rel="stylesheet" crossorigin="anonymous" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap">
|
|
11
|
+
|
|
12
|
+
<!-- Styles overriding -->
|
|
13
|
+
<style>
|
|
14
|
+
body {
|
|
15
|
+
font-family: Roboto, sans-serif;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#storybook-docs h2 {
|
|
19
|
+
margin-top: 32px !important;
|
|
20
|
+
margin-bottom: 24px !important;
|
|
21
|
+
padding-bottom: 8px !important;
|
|
22
|
+
font-weight: bold !important;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.docblock-argstable-body {
|
|
26
|
+
filter: none !important;
|
|
27
|
+
border-radius: 0.5rem !important;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.docblock-argstable-body tr:not([title]) > td {
|
|
31
|
+
background-color: white !important;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.docblock-argstable-body tr td {
|
|
35
|
+
border-radius: 0 !important;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.sbdocs-preview {
|
|
39
|
+
box-shadow: none !important;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.docblock-argstable [type='checkbox']:checked,
|
|
43
|
+
.docblock-argstable [type='radio']:checked {
|
|
44
|
+
background-color: rgb(17 24 39) !important;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.docblock-argstable [type='checkbox']:focus,
|
|
48
|
+
.docblock-argstable [type='radio']:focus {
|
|
49
|
+
@apply !ring-gray-300;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.markdown {
|
|
53
|
+
.docblock-source {
|
|
54
|
+
margin: 0px 0 24px !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
code {
|
|
58
|
+
background-color: #f3f4f6 !important;
|
|
59
|
+
border-color: #d1d5db !important;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.sbdocs-a {
|
|
63
|
+
border-bottom: dashed 1px #4b5563;
|
|
64
|
+
color: #4b5563;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.sbdocs-a:hover {
|
|
68
|
+
border-bottom: none;
|
|
69
|
+
color: #4b5563;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
</style>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { setup } from "@storybook/vue3";
|
|
2
|
+
import { backgrounds, docs, layout } from "./configs/main.config";
|
|
3
|
+
import { vue3SourceDecorator } from "./decorators/vue3SourceDecorator";
|
|
4
|
+
|
|
5
|
+
// Vue plugins
|
|
6
|
+
import { createStore } from "vuex";
|
|
7
|
+
import NotifyServiceDefault from "vueless/ui.notify/services";
|
|
8
|
+
|
|
9
|
+
// Tailwind styles
|
|
10
|
+
import "./index.pcss";
|
|
11
|
+
|
|
12
|
+
// Common stores
|
|
13
|
+
import loader from "vueless/ui.loader-rendering/store";
|
|
14
|
+
import loaderTop from "vueless/ui.other-loader-top/store";
|
|
15
|
+
import breakpoint from "vueless/ui.viewport/store";
|
|
16
|
+
|
|
17
|
+
// Create store instance
|
|
18
|
+
const store = createStore({
|
|
19
|
+
modules: { loader, loaderTop, breakpoint },
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Create storybook app instance
|
|
23
|
+
const storybookApp = (app) => {
|
|
24
|
+
app.use(store);
|
|
25
|
+
app.use(new NotifyServiceDefault().notifyInstance);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// Setup storybook
|
|
29
|
+
setup(storybookApp);
|
|
30
|
+
|
|
31
|
+
// Set storybook config
|
|
32
|
+
export default {
|
|
33
|
+
decorators: [vue3SourceDecorator],
|
|
34
|
+
parameters: {
|
|
35
|
+
layout,
|
|
36
|
+
docs,
|
|
37
|
+
backgrounds,
|
|
38
|
+
options: {
|
|
39
|
+
storySort: (a, b) => (a.id === b.id ? 0 : a.name === "Docs" && a.id.localeCompare(b.id, undefined, { numeric: true })),
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { create } from "@storybook/theming/create";
|
|
2
|
+
import colors from "tailwindcss/colors.js";
|
|
3
|
+
|
|
4
|
+
export default create({
|
|
5
|
+
base: "light",
|
|
6
|
+
// Typography
|
|
7
|
+
fontBase: '"Roboto", sans-serif',
|
|
8
|
+
fontCode: "monospace",
|
|
9
|
+
|
|
10
|
+
// Main colors
|
|
11
|
+
colorPrimary: colors.gray["900"],
|
|
12
|
+
colorSecondary: colors.gray["500"],
|
|
13
|
+
|
|
14
|
+
// UI
|
|
15
|
+
appBg: colors.gray["100"],
|
|
16
|
+
appPreviewBg: colors.gray["50"],
|
|
17
|
+
appBorderColor: colors.gray["200"],
|
|
18
|
+
appContentBg: colors.gray["50"],
|
|
19
|
+
appBorderRadius: 8,
|
|
20
|
+
|
|
21
|
+
// Text colors
|
|
22
|
+
textColor: colors.gray["900"],
|
|
23
|
+
textInverseColor: colors.gray["50"],
|
|
24
|
+
|
|
25
|
+
// Toolbar default and active colors
|
|
26
|
+
barTextColor: colors.gray["500"],
|
|
27
|
+
barHoverColor: colors.gray["600"],
|
|
28
|
+
barSelectedColor: colors.gray["700"],
|
|
29
|
+
barBg: colors.white,
|
|
30
|
+
|
|
31
|
+
// Form colors
|
|
32
|
+
inputBg: colors.white,
|
|
33
|
+
inputBorder: colors.gray["300"],
|
|
34
|
+
inputTextColor: colors.gray["900"],
|
|
35
|
+
inputBorderRadius: 4,
|
|
36
|
+
|
|
37
|
+
buttonBg: colors.gray["100"],
|
|
38
|
+
buttonBorder: colors.gray["200"],
|
|
39
|
+
booleanBg: colors.gray["50"],
|
|
40
|
+
booleanSelectedBg: colors.gray["200"],
|
|
41
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { create } from "@storybook/theming/create";
|
|
2
|
+
import colors from "tailwindcss/colors.js";
|
|
3
|
+
|
|
4
|
+
export default create({
|
|
5
|
+
base: "light",
|
|
6
|
+
// Typography
|
|
7
|
+
fontBase: '"Roboto", sans-serif',
|
|
8
|
+
fontCode: "monospace",
|
|
9
|
+
|
|
10
|
+
brandTitle: "Vueless UI",
|
|
11
|
+
brandUrl: "https://vueless.com",
|
|
12
|
+
brandImage: "/images/logo.png",
|
|
13
|
+
brandTarget: "_blank",
|
|
14
|
+
|
|
15
|
+
// Main colors
|
|
16
|
+
colorPrimary: colors.gray["900"],
|
|
17
|
+
colorSecondary: colors.gray["500"],
|
|
18
|
+
|
|
19
|
+
// UI
|
|
20
|
+
appBg: colors.white,
|
|
21
|
+
appPreviewBg: colors.gray["50"],
|
|
22
|
+
appBorderColor: colors.gray["300"],
|
|
23
|
+
appBorderRadius: 0,
|
|
24
|
+
|
|
25
|
+
// Text colors
|
|
26
|
+
textColor: colors.gray["900"],
|
|
27
|
+
textInverseColor: colors.gray["50"],
|
|
28
|
+
|
|
29
|
+
// Toolbar default and active colors
|
|
30
|
+
barTextColor: colors.gray["500"],
|
|
31
|
+
barHoverColor: colors.gray["600"],
|
|
32
|
+
barSelectedColor: colors.gray["700"],
|
|
33
|
+
barBg: colors.gray["50"],
|
|
34
|
+
|
|
35
|
+
// Form colors
|
|
36
|
+
inputBg: colors.white,
|
|
37
|
+
inputBorder: colors.gray["300"],
|
|
38
|
+
inputTextColor: colors.gray["900"],
|
|
39
|
+
inputBorderRadius: 4,
|
|
40
|
+
|
|
41
|
+
buttonBg: colors.gray["100"],
|
|
42
|
+
buttonBorder: colors.gray["100"],
|
|
43
|
+
booleanBg: colors.white,
|
|
44
|
+
booleanSelectedBg: colors.gray["100"],
|
|
45
|
+
});
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Quick Start
|
|
2
|
+
|
|
3
|
+
1\. Install `vueless` UI library packages.
|
|
4
|
+
|
|
5
|
+
{% tabs %}
|
|
6
|
+
{% tab title="npm" %}
|
|
7
|
+
```bash
|
|
8
|
+
npm install vueless @vueless/plugin-vite
|
|
9
|
+
```
|
|
10
|
+
{% endtab %}
|
|
11
|
+
|
|
12
|
+
{% tab title="yarn" %}
|
|
13
|
+
```bash
|
|
14
|
+
yarn add vueless @vueless/plugin-vite
|
|
15
|
+
```
|
|
16
|
+
{% endtab %}
|
|
17
|
+
|
|
18
|
+
{% tab title="pnpm" %}
|
|
19
|
+
```bash
|
|
20
|
+
pnpm add vueless @vueless/plugin-vite
|
|
21
|
+
```
|
|
22
|
+
{% endtab %}
|
|
23
|
+
{% endtabs %}
|
|
24
|
+
|
|
25
|
+
2\. Create `vueless.config.js` at the root of the project.
|
|
26
|
+
|
|
27
|
+
{% code title="vueless.config.js" %}
|
|
28
|
+
```javascript
|
|
29
|
+
export default {
|
|
30
|
+
color: {},
|
|
31
|
+
component: {},
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
{% endcode %}
|
|
35
|
+
|
|
36
|
+
3\. Add TailwindCSS preset.
|
|
37
|
+
|
|
38
|
+
<pre class="language-javascript" data-title="tailwind.config.js"><code class="lang-javascript"><strong>import { vuelessPreset } from "vueless/preset.tailwind";
|
|
39
|
+
</strong>
|
|
40
|
+
export default {
|
|
41
|
+
presets: [vuelessPreset],
|
|
42
|
+
...
|
|
43
|
+
};
|
|
44
|
+
</code></pre>
|
|
45
|
+
|
|
46
|
+
4\. Add Vite plugins.
|
|
47
|
+
|
|
48
|
+
{% code title="vite.config.js" overflow="wrap" %}
|
|
49
|
+
```javascript
|
|
50
|
+
import { Vueless, VuelessUnpluginComponents } from "@vueless/plugin-vite";
|
|
51
|
+
|
|
52
|
+
export default defineConfig({
|
|
53
|
+
plugins: [
|
|
54
|
+
...
|
|
55
|
+
Vueless(),
|
|
56
|
+
VuelessUnpluginComponents(),
|
|
57
|
+
],
|
|
58
|
+
...
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
{% endcode %}
|
|
62
|
+
|
|
63
|
+
That's it! You can use components in your app now ✨
|
|
64
|
+
|
package/docs/SUMMARY.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Classes Autocompletion
|
|
2
|
+
|
|
3
|
+
### IntelliSense
|
|
4
|
+
|
|
5
|
+
If you're using **VSCode** or **JetBrains** IDEs (WebStorm, PHPStorm, etc..) you can configure autocompletion for the classes.
|
|
6
|
+
|
|
7
|
+
**What you'll get:**
|
|
8
|
+
|
|
9
|
+
* Autocompletion on typing.
|
|
10
|
+
* Autocompletion on objects by prefixing them with `/*tw*/`
|
|
11
|
+
* Autocompletion when using the `config` prop.
|
|
12
|
+
|
|
13
|
+
**An example SFC using IntelliSense:**
|
|
14
|
+
|
|
15
|
+
```jsx
|
|
16
|
+
<template>
|
|
17
|
+
<UCard :config="config" />
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script setup>
|
|
21
|
+
const config = /*tw*/ {
|
|
22
|
+
background: 'bg-white dark:bg-slate-900'
|
|
23
|
+
}
|
|
24
|
+
</script>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### VSCode
|
|
28
|
+
|
|
29
|
+
* Install [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) extension.
|
|
30
|
+
* Set the plugin configuration below in the file `.vscode/settings.json`.
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"files.associations": {
|
|
35
|
+
"*.css": "tailwindcss"
|
|
36
|
+
},
|
|
37
|
+
"editor.quickSuggestions": {
|
|
38
|
+
"strings": true
|
|
39
|
+
},
|
|
40
|
+
"tailwindCSS.classAttributes": ["class", "config"],
|
|
41
|
+
"tailwindCSS.experimental.classRegex": [
|
|
42
|
+
["config:\\s*{([^)]*)\\s*}", "[\"'`]([^\"'`]*).*?[\"'`]"],
|
|
43
|
+
["/\\*tw\\*/\\s*{([^;]*)}", ":\\s*[\"'`]([^\"'`]*).*?[\"'`]"]
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### JetBrains IDEs
|
|
49
|
+
|
|
50
|
+
* Check if [Tailwind CSS IntelliSense](https://www.jetbrains.com/help/webstorm/tailwind-css.html) extension already installed in the IDE and install it if not.
|
|
51
|
+
* Set the plugin configuration below in `Settings` > `Languages & Frameworks` > `Style Sheets` > `Tailwind CSS`.
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"includeLanguages": {
|
|
56
|
+
"javascript": "javascript"
|
|
57
|
+
},
|
|
58
|
+
"suggestions": true,
|
|
59
|
+
"classAttributes": ["class", "config"],
|
|
60
|
+
"experimental": {
|
|
61
|
+
"classRegex": [
|
|
62
|
+
["config:\\s*{([^)]*)\\s*}", "[\"'`]([^\"'`]*).*?[\"'`]"],
|
|
63
|
+
["/\\*tw\\*/\\s*{([^;]*)}", ":\\s*[\"'`]([^\"'`]*).*?[\"'`]"]
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Known issues
|
|
2
|
+
|
|
3
|
+
### SyntaxError: Unexpected token 'export'
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
/[root dir path]/vueless.config.js:6
|
|
7
|
+
export default {
|
|
8
|
+
^^^^^^
|
|
9
|
+
|
|
10
|
+
SyntaxError: Unexpected token 'export'
|
|
11
|
+
...
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Solution:** add `"type": "module"` in your project `package.json`
|
package/index.pcss
ADDED
package/jsconfig.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// https://code.visualstudio.com/docs/languages/jsconfig#_what-is-jsconfigjson
|
|
2
|
+
{
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": ".",
|
|
5
|
+
"paths": {
|
|
6
|
+
"../web-types.json": ["../../web-types.json"],
|
|
7
|
+
"../../../vueless.config.js": ["../../vueless.config.js"],
|
|
8
|
+
"vueless": ["./src/*"]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|