@timus-networks/theme 2.0.16 → 2.1.3

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.
Files changed (214) hide show
  1. package/README.md +113 -0
  2. package/dist/module.cjs +5 -0
  3. package/dist/module.d.mts +11 -0
  4. package/dist/module.d.ts +11 -0
  5. package/dist/module.json +9 -0
  6. package/dist/module.mjs +187 -0
  7. package/dist/runtime/components/development/example.alert.vue +29 -0
  8. package/dist/runtime/components/development/example.avatar.vue +85 -0
  9. package/dist/runtime/components/development/example.badge.vue +93 -0
  10. package/dist/runtime/components/development/example.breadcrumb.vue +54 -0
  11. package/dist/runtime/components/development/example.button.vue +235 -0
  12. package/dist/runtime/components/development/example.button.vue.d.ts +11 -0
  13. package/dist/runtime/components/development/example.card.vue +68 -0
  14. package/dist/runtime/components/development/example.checkbox.vue +176 -0
  15. package/dist/runtime/components/development/example.checkbox.vue.d.ts +24 -0
  16. package/dist/runtime/components/development/example.collapse.vue +38 -0
  17. package/dist/runtime/components/development/example.datepicker.vue +193 -0
  18. package/dist/runtime/components/development/example.description.vue +94 -0
  19. package/dist/runtime/components/development/example.dialog.vue +79 -0
  20. package/dist/runtime/components/development/example.dropdown.vue +166 -0
  21. package/dist/runtime/components/development/example.form.vue +488 -0
  22. package/dist/runtime/components/development/example.input.vue +270 -0
  23. package/dist/runtime/components/development/example.input.vue.d.ts +23 -0
  24. package/dist/runtime/components/development/example.link.vue +68 -0
  25. package/dist/runtime/components/development/example.message.vue +64 -0
  26. package/dist/runtime/components/development/example.notification.vue +75 -0
  27. package/dist/runtime/components/development/example.number.vue +70 -0
  28. package/dist/runtime/components/development/example.pagination.vue +89 -0
  29. package/dist/runtime/components/development/example.popover.vue +151 -0
  30. package/dist/runtime/components/development/example.radio.vue +163 -0
  31. package/dist/runtime/components/development/example.radio.vue.d.ts +25 -0
  32. package/dist/runtime/components/development/example.select.vue +588 -0
  33. package/dist/runtime/components/development/example.select.vue.d.ts +70 -0
  34. package/dist/runtime/components/development/example.sidebar.vue +101 -0
  35. package/dist/runtime/components/development/example.static.vue +50 -0
  36. package/dist/runtime/components/development/example.switch.vue +101 -0
  37. package/dist/runtime/components/development/example.table.vue +112 -0
  38. package/dist/runtime/components/development/example.tag.vue +255 -0
  39. package/dist/runtime/components/development/example.timepicker.vue +89 -0
  40. package/dist/runtime/components/development/example.tooltip.vue +104 -0
  41. package/dist/runtime/components/development/example.upload.vue +84 -0
  42. package/dist/runtime/components/production/html-encode.vue +96 -0
  43. package/dist/runtime/components/production/timus-breadcrumb.d.ts +36 -0
  44. package/dist/runtime/components/production/timus-breadcrumb.js +224 -0
  45. package/dist/runtime/components/production/timus-breadcrumb.mjs +224 -0
  46. package/dist/runtime/components/production/timus-breadcrumb.vue +83 -0
  47. package/dist/runtime/components/production/timus-breadcrumb.vue.d.ts +340 -0
  48. package/dist/runtime/composables/useBreadcrumb.d.ts +8 -0
  49. package/dist/runtime/composables/useBreadcrumb.js +53 -0
  50. package/dist/runtime/composables/useBreadcrumb.mjs +53 -0
  51. package/dist/runtime/pages/theme.vue +61 -0
  52. package/dist/runtime/plugins/disable-warnings-plugin.d.ts +2 -0
  53. package/dist/runtime/plugins/disable-warnings-plugin.js +18 -0
  54. package/dist/runtime/plugins/disable-warnings-plugin.mjs +18 -0
  55. package/dist/runtime/plugins/sample-plugin.d.ts +20 -0
  56. package/dist/runtime/plugins/sample-plugin.js +5 -0
  57. package/dist/runtime/plugins/sample-plugin.mjs +5 -0
  58. package/dist/runtime/plugins/theme-provider-plugin.d.ts +30 -0
  59. package/dist/runtime/plugins/theme-provider-plugin.js +46 -0
  60. package/dist/runtime/plugins/theme-provider-plugin.mjs +46 -0
  61. package/dist/runtime/public/scss/element-plus/affix.css +305 -0
  62. package/dist/runtime/public/scss/element-plus/alert.css +516 -0
  63. package/dist/runtime/public/scss/element-plus/anchor-link.css +332 -0
  64. package/dist/runtime/public/scss/element-plus/anchor.css +376 -0
  65. package/dist/runtime/public/scss/element-plus/aside.css +308 -0
  66. package/dist/runtime/public/scss/element-plus/autocomplete.css +411 -0
  67. package/dist/runtime/public/scss/element-plus/avatar.css +370 -0
  68. package/dist/runtime/public/scss/element-plus/backtop.css +326 -0
  69. package/dist/runtime/public/scss/element-plus/badge.css +376 -0
  70. package/dist/runtime/public/scss/element-plus/base.css +550 -0
  71. package/dist/runtime/public/scss/element-plus/breadcrumb-item.css +0 -0
  72. package/dist/runtime/public/scss/element-plus/breadcrumb.css +370 -0
  73. package/dist/runtime/public/scss/element-plus/button-group.css +535 -0
  74. package/dist/runtime/public/scss/element-plus/button.css +1089 -0
  75. package/dist/runtime/public/scss/element-plus/calendar.css +370 -0
  76. package/dist/runtime/public/scss/element-plus/card.css +347 -0
  77. package/dist/runtime/public/scss/element-plus/carousel-item.css +350 -0
  78. package/dist/runtime/public/scss/element-plus/carousel.css +475 -0
  79. package/dist/runtime/public/scss/element-plus/cascader-panel.css +428 -0
  80. package/dist/runtime/public/scss/element-plus/cascader.css +560 -0
  81. package/dist/runtime/public/scss/element-plus/check-tag.css +386 -0
  82. package/dist/runtime/public/scss/element-plus/checkbox-button.css +451 -0
  83. package/dist/runtime/public/scss/element-plus/checkbox-group.css +307 -0
  84. package/dist/runtime/public/scss/element-plus/checkbox.css +588 -0
  85. package/dist/runtime/public/scss/element-plus/col.css +3270 -0
  86. package/dist/runtime/public/scss/element-plus/collapse-item.css +0 -0
  87. package/dist/runtime/public/scss/element-plus/collapse-transition.css +0 -0
  88. package/dist/runtime/public/scss/element-plus/collapse.css +490 -0
  89. package/dist/runtime/public/scss/element-plus/color/index.css +0 -0
  90. package/dist/runtime/public/scss/element-plus/color-picker.css +650 -0
  91. package/dist/runtime/public/scss/element-plus/common/popup.css +338 -0
  92. package/dist/runtime/public/scss/element-plus/common/transition.css +420 -0
  93. package/dist/runtime/public/scss/element-plus/common/var.css +302 -0
  94. package/dist/runtime/public/scss/element-plus/config-provider.css +0 -0
  95. package/dist/runtime/public/scss/element-plus/container.css +313 -0
  96. package/dist/runtime/public/scss/element-plus/dark/css-vars.css +353 -0
  97. package/dist/runtime/public/scss/element-plus/dark/var.css +302 -0
  98. package/dist/runtime/public/scss/element-plus/date-picker/date-picker.css +558 -0
  99. package/dist/runtime/public/scss/element-plus/date-picker/date-range-picker.css +410 -0
  100. package/dist/runtime/public/scss/element-plus/date-picker/date-table.css +426 -0
  101. package/dist/runtime/public/scss/element-plus/date-picker/month-table.css +388 -0
  102. package/dist/runtime/public/scss/element-plus/date-picker/picker-panel.css +454 -0
  103. package/dist/runtime/public/scss/element-plus/date-picker/picker.css +662 -0
  104. package/dist/runtime/public/scss/element-plus/date-picker/time-picker.css +384 -0
  105. package/dist/runtime/public/scss/element-plus/date-picker/time-range-picker.css +338 -0
  106. package/dist/runtime/public/scss/element-plus/date-picker/time-spinner.css +389 -0
  107. package/dist/runtime/public/scss/element-plus/date-picker/year-table.css +384 -0
  108. package/dist/runtime/public/scss/element-plus/date-picker.css +1531 -0
  109. package/dist/runtime/public/scss/element-plus/descriptions-item.css +347 -0
  110. package/dist/runtime/public/scss/element-plus/descriptions.css +435 -0
  111. package/dist/runtime/public/scss/element-plus/dialog.css +512 -0
  112. package/dist/runtime/public/scss/element-plus/display.css +357 -0
  113. package/dist/runtime/public/scss/element-plus/divider.css +345 -0
  114. package/dist/runtime/public/scss/element-plus/drawer.css +419 -0
  115. package/dist/runtime/public/scss/element-plus/dropdown-item.css +0 -0
  116. package/dist/runtime/public/scss/element-plus/dropdown-menu.css +0 -0
  117. package/dist/runtime/public/scss/element-plus/dropdown.css +495 -0
  118. package/dist/runtime/public/scss/element-plus/empty.css +355 -0
  119. package/dist/runtime/public/scss/element-plus/footer.css +310 -0
  120. package/dist/runtime/public/scss/element-plus/form-item.css +0 -0
  121. package/dist/runtime/public/scss/element-plus/form.css +527 -0
  122. package/dist/runtime/public/scss/element-plus/header.css +310 -0
  123. package/dist/runtime/public/scss/element-plus/icon.css +343 -0
  124. package/dist/runtime/public/scss/element-plus/image-viewer.css +439 -0
  125. package/dist/runtime/public/scss/element-plus/image.css +343 -0
  126. package/dist/runtime/public/scss/element-plus/index.css +17293 -0
  127. package/dist/runtime/public/scss/element-plus/infinite-scroll.css +0 -0
  128. package/dist/runtime/public/scss/element-plus/input-number.css +494 -0
  129. package/dist/runtime/public/scss/element-plus/input.css +770 -0
  130. package/dist/runtime/public/scss/element-plus/link.css +453 -0
  131. package/dist/runtime/public/scss/element-plus/loading.css +391 -0
  132. package/dist/runtime/public/scss/element-plus/main.css +311 -0
  133. package/dist/runtime/public/scss/element-plus/mention.css +413 -0
  134. package/dist/runtime/public/scss/element-plus/menu-item-group.css +0 -0
  135. package/dist/runtime/public/scss/element-plus/menu-item.css +0 -0
  136. package/dist/runtime/public/scss/element-plus/menu.css +737 -0
  137. package/dist/runtime/public/scss/element-plus/message-box.css +533 -0
  138. package/dist/runtime/public/scss/element-plus/message.css +528 -0
  139. package/dist/runtime/public/scss/element-plus/mixins/config.css +0 -0
  140. package/dist/runtime/public/scss/element-plus/mixins/function.css +0 -0
  141. package/dist/runtime/public/scss/element-plus/mixins/mixins.css +302 -0
  142. package/dist/runtime/public/scss/element-plus/mixins/utils.css +0 -0
  143. package/dist/runtime/public/scss/element-plus/notification.css +413 -0
  144. package/dist/runtime/public/scss/element-plus/option-group.css +331 -0
  145. package/dist/runtime/public/scss/element-plus/option.css +354 -0
  146. package/dist/runtime/public/scss/element-plus/overlay.css +317 -0
  147. package/dist/runtime/public/scss/element-plus/page-header.css +351 -0
  148. package/dist/runtime/public/scss/element-plus/pagination.css +586 -0
  149. package/dist/runtime/public/scss/element-plus/popconfirm.css +315 -0
  150. package/dist/runtime/public/scss/element-plus/popover.css +352 -0
  151. package/dist/runtime/public/scss/element-plus/popper.css +400 -0
  152. package/dist/runtime/public/scss/element-plus/progress.css +449 -0
  153. package/dist/runtime/public/scss/element-plus/radio-button.css +436 -0
  154. package/dist/runtime/public/scss/element-plus/radio-group.css +308 -0
  155. package/dist/runtime/public/scss/element-plus/radio.css +561 -0
  156. package/dist/runtime/public/scss/element-plus/rate.css +384 -0
  157. package/dist/runtime/public/scss/element-plus/reset.css +399 -0
  158. package/dist/runtime/public/scss/element-plus/result.css +381 -0
  159. package/dist/runtime/public/scss/element-plus/row.css +339 -0
  160. package/dist/runtime/public/scss/element-plus/scrollbar.css +373 -0
  161. package/dist/runtime/public/scss/element-plus/segmented.css +460 -0
  162. package/dist/runtime/public/scss/element-plus/select-dropdown-v2.css +351 -0
  163. package/dist/runtime/public/scss/element-plus/select-dropdown.css +351 -0
  164. package/dist/runtime/public/scss/element-plus/select-v2.css +765 -0
  165. package/dist/runtime/public/scss/element-plus/select.css +765 -0
  166. package/dist/runtime/public/scss/element-plus/skeleton-item.css +372 -0
  167. package/dist/runtime/public/scss/element-plus/skeleton.css +335 -0
  168. package/dist/runtime/public/scss/element-plus/slider.css +480 -0
  169. package/dist/runtime/public/scss/element-plus/space.css +317 -0
  170. package/dist/runtime/public/scss/element-plus/spinner.css +342 -0
  171. package/dist/runtime/public/scss/element-plus/statistic.css +336 -0
  172. package/dist/runtime/public/scss/element-plus/step.css +586 -0
  173. package/dist/runtime/public/scss/element-plus/steps.css +319 -0
  174. package/dist/runtime/public/scss/element-plus/sub-menu.css +0 -0
  175. package/dist/runtime/public/scss/element-plus/switch.css +594 -0
  176. package/dist/runtime/public/scss/element-plus/tab-pane.css +0 -0
  177. package/dist/runtime/public/scss/element-plus/table-column.css +382 -0
  178. package/dist/runtime/public/scss/element-plus/table-v2.css +520 -0
  179. package/dist/runtime/public/scss/element-plus/table.css +893 -0
  180. package/dist/runtime/public/scss/element-plus/tabs.css +892 -0
  181. package/dist/runtime/public/scss/element-plus/tag.css +624 -0
  182. package/dist/runtime/public/scss/element-plus/text.css +378 -0
  183. package/dist/runtime/public/scss/element-plus/time-picker.css +1023 -0
  184. package/dist/runtime/public/scss/element-plus/time-select.css +946 -0
  185. package/dist/runtime/public/scss/element-plus/timeline-item.css +415 -0
  186. package/dist/runtime/public/scss/element-plus/timeline.css +334 -0
  187. package/dist/runtime/public/scss/element-plus/tooltip-v2.css +410 -0
  188. package/dist/runtime/public/scss/element-plus/tooltip.css +0 -0
  189. package/dist/runtime/public/scss/element-plus/tour.css +461 -0
  190. package/dist/runtime/public/scss/element-plus/transfer.css +497 -0
  191. package/dist/runtime/public/scss/element-plus/tree-select.css +325 -0
  192. package/dist/runtime/public/scss/element-plus/tree.css +538 -0
  193. package/dist/runtime/public/scss/element-plus/upload.css +862 -0
  194. package/dist/runtime/public/scss/element-plus/var.css +389 -0
  195. package/dist/runtime/public/scss/element-plus/virtual-list.css +330 -0
  196. package/dist/runtime/public/scss/theme.css +1268 -0
  197. package/dist/runtime/server/tsconfig.json +6 -0
  198. package/dist/runtime/types.d.ts +31 -0
  199. package/dist/types.d.mts +7 -0
  200. package/dist/types.d.ts +7 -0
  201. package/package.json +35 -12
  202. package/components/TimusIcons.vue +0 -54
  203. package/generate-icon.js +0 -22
  204. package/module.ts +0 -84
  205. package/pages/icons.vue +0 -37
  206. package/plugins/sample-plugin.ts +0 -5
  207. package/public/isax/fonts/iconsax.svg +0 -927
  208. package/public/isax/fonts/iconsax.ttf +0 -0
  209. package/public/isax/fonts/iconsax.woff +0 -0
  210. package/public/isax/icons.json +0 -899
  211. package/public/isax/selection.json +0 -1
  212. package/public/isax/style.css +0 -1
  213. package/public/isax/style.scss +0 -5435
  214. package/public/isax/variables.scss +0 -900
package/README.md ADDED
@@ -0,0 +1,113 @@
1
+ # @timus-networks/fonts
2
+
3
+ Nuxt module for Theme Installation.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Installation](#installation)
8
+ - [Usage](#usage)
9
+ - [Scripts](#scripts)
10
+ - [Contributing](#contributing)
11
+ - [License](#license)
12
+
13
+ ## Installation
14
+
15
+ To install this module, you can use npm or yarn:
16
+
17
+ ### npm
18
+
19
+ ```sh
20
+ npm install @timus-networks/theme
21
+ ```
22
+
23
+ ### yarn
24
+
25
+ ```sh
26
+ yarn add @timus-networks/theme
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ 1. To use this module in your Nuxt 3 project, add it to your `nuxt.config.ts`:
32
+
33
+ ```typescript
34
+ export default defineNuxtConfig({
35
+ modules: ['@timus-networks/theme'],
36
+ });
37
+ ```
38
+
39
+ 2. Add below code to your **tailwind.config.js** file
40
+
41
+ ```js
42
+ // tint & shade color generator
43
+ function generateColors(baseName, start = 1, end = 9, step = 1) {
44
+ const colors = {};
45
+
46
+ for (let i = start; i <= end; i += step) {
47
+ colors[i] = `var(--el-color-${baseName}-light-${i})`;
48
+ }
49
+
50
+ return colors;
51
+ }
52
+
53
+ const colorNames = ['primary', 'secondary', 'neutral', 'danger', 'success', 'warning', 'info'];
54
+ const colorShades = [1, 2, 3, 4, 5, 6, 7, 8, 9];
55
+ const classPrefixes = ['bg', 'text', 'border'];
56
+ const colors = colorNames.reduce((acc, color) => ({ ...acc, [`${color}`]: generateColors(color, 1, 9) }), {});
57
+
58
+ module.exports = {
59
+ // content: ['./pages/**/*.{vue,html}', './components/**/*.{vue,html}', './layouts/**/*.{vue,html}', './modules/**/*.{vue,html}'],
60
+ content: ['./modules/**/*.{vue,html}'],
61
+ theme: {
62
+ extend: {
63
+ colors,
64
+ spacing: {
65
+ default: '30px',
66
+ 7.5: '30px', // 30px için özel bir sınıf ekliyoruz
67
+ },
68
+ },
69
+ },
70
+ plugins: [
71
+ function ({ addUtilities, theme, e }) {
72
+ const gridCols = theme('gridTemplateColumns');
73
+ const utilities = Object.entries(gridCols).map(([key, value]) => ({
74
+ [`.${e(`grid-cols-${key}`)}`]: {
75
+ 'grid-template-columns': value,
76
+ gap: '30px', // Burada varsayılan boşluğu ayarlıyoruz
77
+ },
78
+ }));
79
+
80
+ addUtilities(utilities);
81
+ },
82
+ ],
83
+ safelist: classPrefixes.flatMap((prefix) => colorNames.flatMap((color) => colorShades.map((i) => `${prefix}-${color}-${i}`))),
84
+ };
85
+ ```
86
+
87
+ ## Scripts
88
+
89
+ The following npm scripts are available:
90
+
91
+ - `test`: Run tests using Vitest.
92
+ - `test:watch`: Run tests in watch mode.
93
+ - `test:types`: Check TypeScript types.
94
+ - `lint:prettier`: Lint code using Prettier.
95
+ - `lint:eslint`: Lint code using ESLint.
96
+ - `lint:stylelint`: Lint styles using Stylelint.
97
+ - `fix`: Fix linting errors.
98
+ - `prepack`: Run the prepack script.
99
+ - `pub`: Publish the module.
100
+ - `release`: Release a new version.
101
+
102
+ ## Contributing
103
+
104
+ If you would like to contribute, please follow these guidelines:
105
+
106
+ 1. Fork the repository.
107
+ 2. Create a new branch for your feature or bug fix.
108
+ 3. Commit your changes.
109
+ 4. Push your branch and create a pull request.
110
+
111
+ ## License
112
+
113
+ This project is licensed under the MIT License.
@@ -0,0 +1,5 @@
1
+ module.exports = function(...args) {
2
+ return import('./module.mjs').then(m => m.default.call(this, ...args))
3
+ }
4
+ const _meta = module.exports.meta = require('./module.json')
5
+ module.exports.getMeta = () => Promise.resolve(_meta)
@@ -0,0 +1,11 @@
1
+ import * as _nuxt_schema from '@nuxt/schema';
2
+ import { ModuleOptions } from 'nuxt/schema';
3
+
4
+ interface MyModuleOptions extends ModuleOptions {
5
+ moduleName: string;
6
+ version: string;
7
+ description: string;
8
+ }
9
+ declare const _default: _nuxt_schema.NuxtModule<MyModuleOptions, MyModuleOptions, false>;
10
+
11
+ export { type MyModuleOptions, _default as default };
@@ -0,0 +1,11 @@
1
+ import * as _nuxt_schema from '@nuxt/schema';
2
+ import { ModuleOptions } from 'nuxt/schema';
3
+
4
+ interface MyModuleOptions extends ModuleOptions {
5
+ moduleName: string;
6
+ version: string;
7
+ description: string;
8
+ }
9
+ declare const _default: _nuxt_schema.NuxtModule<MyModuleOptions, MyModuleOptions, false>;
10
+
11
+ export { type MyModuleOptions, _default as default };
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@timus-networks/theme",
3
+ "configKey": "themeOptions",
4
+ "version": "2.1.3",
5
+ "builder": {
6
+ "@nuxt/module-builder": "0.8.4",
7
+ "unbuild": "2.0.0"
8
+ }
9
+ }
@@ -0,0 +1,187 @@
1
+ import { readdirSync } from 'node:fs';
2
+ import { resolve, parse, join } from 'node:path';
3
+ import { defineNuxtModule, createResolver, useNuxt, addImports, addPlugin, addComponent } from 'nuxt/kit';
4
+
5
+
6
+
7
+ // -- Unbuild CommonJS Shims --
8
+ import __cjs_url__ from 'url';
9
+ import __cjs_path__ from 'path';
10
+ import __cjs_mod__ from 'module';
11
+ const __filename = __cjs_url__.fileURLToPath(import.meta.url);
12
+ const __dirname = __cjs_path__.dirname(__filename);
13
+ const require = __cjs_mod__.createRequire(import.meta.url);
14
+ const name = "@timus-networks/theme";
15
+ const version = "2.1.3";
16
+ const description = "A comprehensive Nuxt.js module providing a tailored theme experience with integrated TailwindCSS support for applications.";
17
+ const type = "module";
18
+ const exports = {
19
+ ".": {
20
+ types: "./dist/types.d.ts",
21
+ "import": "./dist/module.mjs",
22
+ require: "./dist/module.cjs"
23
+ }
24
+ };
25
+ const main = "./dist/module.cjs";
26
+ const types = "./dist/types.d.ts";
27
+ const files = [
28
+ "dist"
29
+ ];
30
+ const scripts = {
31
+ test: "vitest run",
32
+ "test:watch": "vitest watch",
33
+ "test:types": "vue-tsc --noEmit",
34
+ "lint:prettier": "npx prettier --write --list-different \"{**/*.js,**/*.vue,**/*.scss,!(node*)**/*.js}\"",
35
+ "lint:eslint": "eslint --ext \".js,.ts,.vue,.json\" .",
36
+ "lint:stylelint": "stylelint \"**/*.{scss,sass,html,vue}\"",
37
+ fix: "npm run lint:prettier && npm run lint:eslint -- --fix && npm run lint:stylelint -- --fix",
38
+ pub: "npm publish",
39
+ sass: "node generate-sass.js",
40
+ prepack: "nuxt-module-build build",
41
+ "release-old": "npm run prepack && changelogen --release && npm run pub && git push --follow-tags",
42
+ version: "standard-version",
43
+ release: "npm run prepack && standard-version && npm run pub && git push --follow-tags origin main"
44
+ };
45
+ const repository = {
46
+ type: "git",
47
+ url: "https://bitbucket.org/timus-networks/timus.modules.git"
48
+ };
49
+ const keywords = [
50
+ "nuxt",
51
+ "nuxt3",
52
+ "module",
53
+ "component",
54
+ "vue",
55
+ "vue3",
56
+ "theme",
57
+ "tailwind"
58
+ ];
59
+ const peerDependencies = {
60
+ vue: "^3.x"
61
+ };
62
+ const author = "Serkan Konakcı<serkan.konakci@timusnetworks.com>";
63
+ const license = "MIT";
64
+ const dependencies = {
65
+ "@nuxt/kit": "*",
66
+ tailwindcss: "*",
67
+ "vue-tsc": "^2.0.29"
68
+ };
69
+ const devDependencies = {
70
+ changelogen: "^0.5.5",
71
+ sass: "*",
72
+ "sass-loader": "*"
73
+ };
74
+ const PackageJson = {
75
+ name: name,
76
+ version: version,
77
+ description: description,
78
+ type: type,
79
+ exports: exports,
80
+ main: main,
81
+ types: types,
82
+ files: files,
83
+ scripts: scripts,
84
+ "standard-version": {
85
+ tagPrefix: "theme-v",
86
+ releaseCommitMessageFormat: "chore(release): @timus-networks/theme {{currentTag}}"
87
+ },
88
+ repository: repository,
89
+ keywords: keywords,
90
+ peerDependencies: peerDependencies,
91
+ author: author,
92
+ license: license,
93
+ dependencies: dependencies,
94
+ devDependencies: devDependencies
95
+ };
96
+
97
+ const folderPath = "./runtime";
98
+ const module = defineNuxtModule({
99
+ meta: {
100
+ name: PackageJson.name,
101
+ configKey: "themeOptions"
102
+ },
103
+ defaults: {
104
+ moduleName: PackageJson.name,
105
+ version: PackageJson.version,
106
+ description: PackageJson.description
107
+ },
108
+ hooks: {
109
+ "pages:extend": (pages) => {
110
+ const resolver = createResolver(import.meta.url);
111
+ const nuxt = useNuxt();
112
+ const isDev = nuxt.options.dev;
113
+ if (isDev) {
114
+ pages.push({
115
+ name: "theme",
116
+ path: "/theme",
117
+ mode: "client",
118
+ file: resolver.resolve(`${folderPath}/pages/theme.vue`)
119
+ });
120
+ }
121
+ },
122
+ "nitro:config": async (nitroConfig) => {
123
+ nitroConfig.publicAssets ||= [];
124
+ nitroConfig.publicAssets.push({
125
+ dir: resolve(__dirname, `${folderPath}/public`),
126
+ maxAge: 60 * 60 * 24 * 365
127
+ // 1 year
128
+ });
129
+ nitroConfig.prerender = {
130
+ ...nitroConfig.prerender,
131
+ ...{ failOnError: false }
132
+ };
133
+ }
134
+ },
135
+ setup(options, nuxt) {
136
+ const resolver = createResolver(import.meta.url);
137
+ const isDev = nuxt.options.dev;
138
+ console.info(`'${PackageJson.name}' loaded. Version:${options.version}`);
139
+ const composablesDir = resolver.resolve(`${folderPath}/composables`);
140
+ const composableFiles = readdirSync(composablesDir).filter((file) => file.endsWith(".ts") && !file.startsWith("index"));
141
+ composableFiles.forEach((file) => {
142
+ const { name } = parse(file);
143
+ addImports({
144
+ name,
145
+ as: name,
146
+ from: `${composablesDir}/${file}`
147
+ });
148
+ });
149
+ const components_dir_list = [
150
+ { env: "development", path: "runtime/components/development" },
151
+ { env: "production", path: "runtime/components/production" }
152
+ ];
153
+ const comp = [];
154
+ const addComponentFromFolder = (folder) => {
155
+ const path = resolve(__dirname, folder);
156
+ const files = readdirSync(path).filter((file) => file.endsWith(".vue"));
157
+ files.forEach((file) => {
158
+ const { name } = parse(file);
159
+ const isExit = comp.find((item) => item.name === name);
160
+ !isExit ? comp.push({ name, path: resolve(path, file) }) : console.log("#BU COMPONENT VAR name:", name, resolve(path, file), "\xD6nceki: ", isExit);
161
+ nuxt.options.build.transpile.push(resolve(path, file));
162
+ addComponent({
163
+ name: join(name),
164
+ filePath: resolve(path, file),
165
+ mode: "client"
166
+ });
167
+ });
168
+ };
169
+ nuxt.hook("components:dirs", (dirs) => {
170
+ components_dir_list.forEach(({ env, path }) => {
171
+ if (isDev || !isDev && env === "production") {
172
+ addComponentFromFolder(path);
173
+ }
174
+ });
175
+ });
176
+ addPlugin(resolver.resolve(`${folderPath}/plugins/sample-plugin`));
177
+ addPlugin(resolver.resolve(`${folderPath}/plugins/disable-warnings-plugin`));
178
+ addPlugin(resolver.resolve(`${folderPath}/plugins/theme-provider-plugin`));
179
+ nuxt.options.css.push(resolver.resolve(`${folderPath}/public/scss/theme.scss`));
180
+ nuxt.options.css.push(resolver.resolve(`${folderPath}/public/scss/element-plus/index.scss`));
181
+ nuxt.hook("prepare:types", ({ references }) => {
182
+ references.push({ path: resolver.resolve(`${folderPath}/types.d.ts`) });
183
+ });
184
+ }
185
+ });
186
+
187
+ export { module as default };
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Alert</h1>
4
+ <p>Displays important alert messages.</p>
5
+
6
+ <el-card>
7
+ <template #header> Basic usage </template>
8
+ <div class="flex flex-col gap-7.5">
9
+ <p>
10
+ Alert components are non-overlay elements in the page that does not disappear automatically. Alert provides 4 types of themes defined by
11
+ <el-text tag="mark">type</el-text>, whose default value is <el-text tag="mark">info</el-text>.
12
+ </p>
13
+ <div class="flex gap-4 items-start flex-col">
14
+ <el-alert :title="`default`" />
15
+ <el-alert v-for="color of colors" :key="color" :title="`${color} alert`" :type="color" show-icon />
16
+ <el-alert v-for="color of colors" :key="color" :title="`${color} alert`" :type="color" description="This is a description." show-icon />
17
+ </div>
18
+ </div>
19
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
20
+ </el-card>
21
+ </div>
22
+ </template>
23
+
24
+ <script lang="ts" setup>
25
+ const colors = ref(['success', 'warning', 'info', 'error', 'danger']);
26
+ const snippets = ref({
27
+ basic: `<el-alert title="Title Text Goes Here" type="danger" description="This is a description." show-icon :closable="false" />`,
28
+ });
29
+ </script>
@@ -0,0 +1,85 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Avatar</h1>
4
+ <p>Avatars can be used to represent people or objects. It supports images, Icons, or characters.</p>
5
+
6
+ <el-card>
7
+ <template #header> With Image </template>
8
+ <section class="flex flex-col gap-7.5">
9
+ <p>Add <el-text tag="mark">src</el-text> attribute for display an image</p>
10
+ <div class="flex gap-7.5">
11
+ <div v-for="(size, index) of sizes" :key="size" class="flex flex-col gap-2 border rounded-md p-2 w-28 items-center">
12
+ <h5 class="font-normal text-neutral-7 grow">{{ String(size).toUpperCase() }}</h5>
13
+ <el-avatar :size="size" src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png" />
14
+ <small class="text-neutral-4 flex items-end grow p-mini">{{ infos[index] }}px</small>
15
+ </div>
16
+ </div>
17
+ </section>
18
+ <template #footer> <html-encode :tag="snippets.image" /> </template>
19
+ </el-card>
20
+
21
+ <el-card>
22
+ <template #header> With Text </template>
23
+ <section class="flex flex-col gap-7.5">
24
+ <p>Insert text into tag brackets</p>
25
+ <div class="flex gap-7.5">
26
+ <div v-for="(size, index) of sizes" :key="size" class="flex flex-col gap-2 border rounded-md p-2 w-28 items-center">
27
+ <h5 class="font-normal text-neutral-7 grow">{{ String(size).toUpperCase() }}</h5>
28
+ <el-avatar :size="size">SK</el-avatar>
29
+ <small class="text-neutral-4 flex items-end grow p-mini">{{ infos[index] }}px</small>
30
+ </div>
31
+ </div>
32
+ </section>
33
+ <template #footer> <html-encode :tag="snippets.text" /> </template>
34
+ </el-card>
35
+
36
+ <el-card>
37
+ <template #header> With Isax </template>
38
+ <section class="flex flex-col gap-7.5">
39
+ <p>Add <el-text tag="mark">class="isax-*"</el-text> attribute for display to isax icon</p>
40
+ <div class="flex gap-7.5">
41
+ <div v-for="(size, index) of sizes" :key="size" class="flex flex-col gap-2 border rounded-md p-2 w-28 items-center">
42
+ <h5 class="font-normal text-neutral-7 grow">{{ String(size).toUpperCase() }}</h5>
43
+ <el-avatar :size="size" class="isax-notification" />
44
+ <small class="text-neutral-4 flex items-end grow p-mini">{{ infos[index] }}px</small>
45
+ </div>
46
+ </div>
47
+ </section>
48
+ <template #footer> <html-encode :tag="snippets.isax" /> </template>
49
+ </el-card>
50
+
51
+ <el-card>
52
+ <template #header> With Element Icon </template>
53
+ <section class="flex flex-col gap-7.5">
54
+ <p>Add <el-text tag="mark">icon</el-text> attribute for display an icon</p>
55
+ <div class="flex gap-7.5">
56
+ <div v-for="(size, index) of sizes" :key="size" class="flex flex-col gap-2 border rounded-md p-2 w-28 items-center">
57
+ <h5 class="font-normal text-neutral-7 grow">{{ String(size).toUpperCase() }}</h5>
58
+ <el-avatar :size="size" :icon="ElIconBell" />
59
+ <small class="text-neutral-4 flex items-end grow p-mini">{{ infos[index] }}px</small>
60
+ </div>
61
+ </div>
62
+ </section>
63
+ <template #footer> <html-encode :tag="snippets.icon" /> </template>
64
+ </el-card>
65
+ </div>
66
+ </template>
67
+
68
+ <script lang="ts" setup>
69
+ import { ref } from 'vue';
70
+ import { reactive, toRefs } from 'vue';
71
+
72
+ const state = reactive({
73
+ circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
74
+ squareUrl: 'https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a54940382568c9dpng.png',
75
+ sizes: [50, 'default', 'large', 'medium', 'small', 'mini'] as const,
76
+ infos: [50, '32', '56', '44', '32', '16'] as const,
77
+ });
78
+ const { sizes, infos, circleUrl, squareUrl, sizeList } = toRefs(state);
79
+ const snippets = ref({
80
+ isax: `<el-avatar class="isax-notification" />`,
81
+ icon: `<el-avatar :icon="ElIconEdit" />`,
82
+ text: `<el-avatar>SK</el-avatar>`,
83
+ image: `<el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png" />`,
84
+ });
85
+ </script>
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Badge</h1>
4
+ <p>A number or status mark on buttons and icons.</p>
5
+
6
+ <el-card>
7
+ <template #header> Basic usage </template>
8
+ <div class="flex flex-col gap-4">
9
+ <p>Displays the amount of new messages. Add <el-text tag="mark">type</el-text> to colorize it. The amount is defined with value which accepts Number or String.</p>
10
+ <div class="flex gap-7.5">
11
+ <el-badge v-for="color of colors" :key="color" :value="12" :type="color">
12
+ <el-button size="small">{{ color }}</el-button>
13
+ </el-badge>
14
+ </div>
15
+ </div>
16
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
17
+ </el-card>
18
+
19
+ <el-card>
20
+ <template #header> Max Value </template>
21
+ <div class="flex flex-col gap-4">
22
+ <p>
23
+ You can customize the <el-text tag="mark">max</el-text> value. The max value is defined by property max which is a Number. Note that it only works when value is also a
24
+ Number.
25
+ </p>
26
+ <div class="flex gap-7.5">
27
+ <el-badge :value="200" :max="99" class="item">
28
+ <el-button>comments</el-button>
29
+ </el-badge>
30
+ <el-badge :value="100" :max="10" class="item">
31
+ <el-button>replies</el-button>
32
+ </el-badge>
33
+ </div>
34
+ </div>
35
+ <template #footer> <html-encode :tag="snippets.max" /> </template>
36
+ </el-card>
37
+
38
+ <el-card>
39
+ <template #header> Red Dot </template>
40
+ <div class="flex flex-col gap-4">
41
+ <p>Use a red dot to mark content that needs to be noticed. Use the attribute <el-text tag="mark">is-dot</el-text>. It is a Boolean.</p>
42
+ <div class="flex gap-7.5">
43
+ <el-badge is-dot class="item">query</el-badge>
44
+ <el-badge is-dot class="item">
45
+ <el-button class="share-button" :icon="ElIconShare" type="primary" />
46
+ </el-badge>
47
+ </div>
48
+ </div>
49
+
50
+ <template #footer> <html-encode :tag="snippets.dot" /> </template>
51
+ </el-card>
52
+
53
+ <el-card>
54
+ <template #header> Offset </template>
55
+ <div class="flex flex-col gap-3">
56
+ <p>
57
+ Set <el-text tag="mark">offset</el-text> of the badge dot, the format is <el-text tag="mark">[left, top]</el-text>, which represents the offset of the status dot from the
58
+ left and top of the default position.
59
+ </p>
60
+ <div class="flex gap-4">
61
+ <el-badge class="item" :value="1" :offset="[10, 5]">
62
+ <el-button> offset</el-button>
63
+ </el-badge>
64
+ </div>
65
+ </div>
66
+ <template #footer> <html-encode :tag="snippets.offset" /> </template>
67
+ </el-card>
68
+ </div>
69
+ </template>
70
+
71
+ <script lang="ts" setup>
72
+ import { ref } from 'vue';
73
+
74
+ const colors = ref(['default', 'primary', 'secondary', 'neutral', 'success', 'warning', 'info', 'danger']);
75
+ const snippets = ref({
76
+ basic: `
77
+ <el-badge :value="12" type="primary">
78
+ <el-button>comments</el-button>
79
+ </el-badge>
80
+ `,
81
+ max: `
82
+ <el-badge :value="200" :max="99" class="item">
83
+ <el-button>comments</el-button>
84
+ </el-badge>
85
+ `,
86
+ dot: `<el-badge is-dot class="item">query</el-badge>`,
87
+ offset: `
88
+ <el-badge class="item" :value="1" :offset="[10, 5]">
89
+ <el-button> offset</el-button>
90
+ </el-badge>
91
+ `,
92
+ });
93
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Breadcrumb</h1>
4
+ <p>Display prompt information for mouse hover.</p>
5
+
6
+ <el-card>
7
+ <template #header> Basic usage </template>
8
+ <section class="flex flex-col gap-7.5">
9
+ <p>Add the <el-text tag="mark">timus-breadcrumb</el-text> component to the desired place. It will automatically grab the path and convert it into a breadcrumb.</p>
10
+ <timus-breadcrumb :paths="sample_path" />
11
+ </section>
12
+ <template #footer>
13
+ <div class="flex flex-col gap-7.5">
14
+ <html-encode :tag="snippets.basic" />
15
+ <div class="flex flex-col gap-3">
16
+ <h3>Usage On Tabbed Page Example:</h3>
17
+ <p class="p-medium">
18
+ This code will automatically redirect to the first tab, and the page will have a query parameter like
19
+ <span class="comment">http://localhost:3000/about?tab=alert</span>. Additionally, if another tab's name is manually provided in the URL, that tab will be selected by
20
+ default.
21
+ </p>
22
+ <html-encode :tag="snippets.composable" />
23
+ </div>
24
+ </div>
25
+ </template>
26
+ </el-card>
27
+ </div>
28
+ </template>
29
+
30
+ <script lang="ts" setup>
31
+ import { ref } from 'vue';
32
+
33
+ const sample_path = ref([{ regex: /^\/about$/, label: 'header.about.text' }]);
34
+ const snippets = ref({
35
+ basic: `<timus-breadcrumb :paths="[ { regex: /^\/about$/, label: 'header.about.text' } ]" />`,
36
+ composable: `
37
+ <template>
38
+ <el-tabs v-model="activeTab" @tab-click="tabChanged">
39
+ <el-tab-pane label="Alert" name="alert" lazy><example-alert /></el-tab-pane>
40
+ <el-tab-pane label="Avatar" name="avatar" lazy><example-avatar /></el-tab-pane>
41
+ </el-tabs>
42
+ </template>
43
+
44
+ <script setup lang="ts">
45
+ const { activeTab, tabChanged, setActiveTab, setupBreadcrumbs } = useBreadcrumb();
46
+ const tabs = ['avatar', 'alert'];
47
+
48
+ onMounted(() => {
49
+ setupBreadcrumbs(tabs);
50
+ });
51
+ <\/script>
52
+ `,
53
+ });
54
+ </script>