@timus-networks/theme 2.0.0 → 2.0.1
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 +128 -0
- package/dist/module.cjs +5 -0
- package/dist/module.d.mts +11 -0
- package/dist/module.d.ts +11 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +159 -0
- package/dist/runtime/components/example.button.vue +237 -0
- package/dist/runtime/components/example.button.vue.d.ts +10 -0
- package/dist/runtime/components/example.checkbox.vue +190 -0
- package/dist/runtime/components/example.checkbox.vue.d.ts +24 -0
- package/dist/runtime/components/example.dialog.vue +82 -0
- package/dist/runtime/components/example.form.vue +494 -0
- package/dist/runtime/components/example.input.vue +286 -0
- package/dist/runtime/components/example.input.vue.d.ts +20 -0
- package/dist/runtime/components/example.popover.vue +161 -0
- package/dist/runtime/components/example.radio.vue +165 -0
- package/dist/runtime/components/example.radio.vue.d.ts +24 -0
- package/dist/runtime/components/example.select.vue +591 -0
- package/dist/runtime/components/example.select.vue.d.ts +69 -0
- package/dist/runtime/components/example.sidebar.vue +104 -0
- package/dist/runtime/components/example.table.vue +126 -0
- package/dist/runtime/components/example.tag.vue +279 -0
- package/dist/runtime/components/html-encode.vue +37 -0
- package/dist/runtime/pages/theme.vue +30 -0
- package/dist/runtime/plugins/element-extend-plugin.d.ts +38 -0
- package/dist/runtime/plugins/element-extend-plugin.js +39 -0
- package/dist/runtime/plugins/element-extend-plugin.mjs +39 -0
- package/dist/runtime/plugins/experimental-size-plugin.d.ts +2 -0
- package/dist/runtime/plugins/experimental-size-plugin.js +13 -0
- package/dist/runtime/plugins/experimental-size-plugin.mjs +13 -0
- package/dist/runtime/plugins/sample-plugin.d.ts +20 -0
- package/dist/runtime/plugins/sample-plugin.js +5 -0
- package/dist/runtime/plugins/sample-plugin.mjs +5 -0
- package/dist/runtime/plugins/theme-provider.d.ts +30 -0
- package/dist/runtime/plugins/theme-provider.js +46 -0
- package/dist/runtime/plugins/theme-provider.mjs +46 -0
- package/dist/runtime/public/scss/element-plus/affix.css +277 -0
- package/dist/runtime/public/scss/element-plus/alert.css +420 -0
- package/dist/runtime/public/scss/element-plus/anchor-link.css +304 -0
- package/dist/runtime/public/scss/element-plus/anchor.css +348 -0
- package/dist/runtime/public/scss/element-plus/aside.css +280 -0
- package/dist/runtime/public/scss/element-plus/autocomplete.css +383 -0
- package/dist/runtime/public/scss/element-plus/avatar.css +320 -0
- package/dist/runtime/public/scss/element-plus/backtop.css +298 -0
- package/dist/runtime/public/scss/element-plus/badge.css +348 -0
- package/dist/runtime/public/scss/element-plus/base.css +522 -0
- package/dist/runtime/public/scss/element-plus/breadcrumb-item.css +0 -0
- package/dist/runtime/public/scss/element-plus/breadcrumb.css +330 -0
- package/dist/runtime/public/scss/element-plus/button-group.css +413 -0
- package/dist/runtime/public/scss/element-plus/button.css +1043 -0
- package/dist/runtime/public/scss/element-plus/calendar.css +342 -0
- package/dist/runtime/public/scss/element-plus/card.css +312 -0
- package/dist/runtime/public/scss/element-plus/carousel-item.css +322 -0
- package/dist/runtime/public/scss/element-plus/carousel.css +447 -0
- package/dist/runtime/public/scss/element-plus/cascader-panel.css +400 -0
- package/dist/runtime/public/scss/element-plus/cascader.css +532 -0
- package/dist/runtime/public/scss/element-plus/check-tag.css +358 -0
- package/dist/runtime/public/scss/element-plus/checkbox-button.css +418 -0
- package/dist/runtime/public/scss/element-plus/checkbox-group.css +279 -0
- package/dist/runtime/public/scss/element-plus/checkbox.css +560 -0
- package/dist/runtime/public/scss/element-plus/col.css +3242 -0
- package/dist/runtime/public/scss/element-plus/collapse-item.css +0 -0
- package/dist/runtime/public/scss/element-plus/collapse-transition.css +0 -0
- package/dist/runtime/public/scss/element-plus/collapse.css +462 -0
- package/dist/runtime/public/scss/element-plus/color/index.css +0 -0
- package/dist/runtime/public/scss/element-plus/color-picker.css +622 -0
- package/dist/runtime/public/scss/element-plus/common/popup.css +310 -0
- package/dist/runtime/public/scss/element-plus/common/transition.css +392 -0
- package/dist/runtime/public/scss/element-plus/common/var.css +274 -0
- package/dist/runtime/public/scss/element-plus/config-provider.css +0 -0
- package/dist/runtime/public/scss/element-plus/container.css +285 -0
- package/dist/runtime/public/scss/element-plus/dark/css-vars.css +325 -0
- package/dist/runtime/public/scss/element-plus/dark/var.css +274 -0
- package/dist/runtime/public/scss/element-plus/date-picker/date-picker.css +496 -0
- package/dist/runtime/public/scss/element-plus/date-picker/date-range-picker.css +378 -0
- package/dist/runtime/public/scss/element-plus/date-picker/date-table.css +398 -0
- package/dist/runtime/public/scss/element-plus/date-picker/month-table.css +360 -0
- package/dist/runtime/public/scss/element-plus/date-picker/picker-panel.css +391 -0
- package/dist/runtime/public/scss/element-plus/date-picker/picker.css +634 -0
- package/dist/runtime/public/scss/element-plus/date-picker/time-picker.css +344 -0
- package/dist/runtime/public/scss/element-plus/date-picker/time-range-picker.css +303 -0
- package/dist/runtime/public/scss/element-plus/date-picker/time-spinner.css +362 -0
- package/dist/runtime/public/scss/element-plus/date-picker/year-table.css +356 -0
- package/dist/runtime/public/scss/element-plus/date-picker.css +1447 -0
- package/dist/runtime/public/scss/element-plus/descriptions-item.css +307 -0
- package/dist/runtime/public/scss/element-plus/descriptions.css +373 -0
- package/dist/runtime/public/scss/element-plus/dialog.css +484 -0
- package/dist/runtime/public/scss/element-plus/display.css +329 -0
- package/dist/runtime/public/scss/element-plus/divider.css +317 -0
- package/dist/runtime/public/scss/element-plus/drawer.css +391 -0
- package/dist/runtime/public/scss/element-plus/dropdown-item.css +0 -0
- package/dist/runtime/public/scss/element-plus/dropdown-menu.css +0 -0
- package/dist/runtime/public/scss/element-plus/dropdown.css +464 -0
- package/dist/runtime/public/scss/element-plus/empty.css +327 -0
- package/dist/runtime/public/scss/element-plus/footer.css +282 -0
- package/dist/runtime/public/scss/element-plus/form-item.css +0 -0
- package/dist/runtime/public/scss/element-plus/form.css +499 -0
- package/dist/runtime/public/scss/element-plus/header.css +282 -0
- package/dist/runtime/public/scss/element-plus/icon.css +315 -0
- package/dist/runtime/public/scss/element-plus/image-viewer.css +411 -0
- package/dist/runtime/public/scss/element-plus/image.css +315 -0
- package/dist/runtime/public/scss/element-plus/index.css +16702 -0
- package/dist/runtime/public/scss/element-plus/infinite-scroll.css +0 -0
- package/dist/runtime/public/scss/element-plus/input-number.css +450 -0
- package/dist/runtime/public/scss/element-plus/input.css +742 -0
- package/dist/runtime/public/scss/element-plus/link.css +422 -0
- package/dist/runtime/public/scss/element-plus/loading.css +363 -0
- package/dist/runtime/public/scss/element-plus/main.css +283 -0
- package/dist/runtime/public/scss/element-plus/mention.css +385 -0
- package/dist/runtime/public/scss/element-plus/menu-item-group.css +0 -0
- package/dist/runtime/public/scss/element-plus/menu-item.css +0 -0
- package/dist/runtime/public/scss/element-plus/menu.css +709 -0
- package/dist/runtime/public/scss/element-plus/message-box.css +501 -0
- package/dist/runtime/public/scss/element-plus/message.css +398 -0
- package/dist/runtime/public/scss/element-plus/mixins/config.css +0 -0
- package/dist/runtime/public/scss/element-plus/mixins/function.css +0 -0
- package/dist/runtime/public/scss/element-plus/mixins/mixins.css +274 -0
- package/dist/runtime/public/scss/element-plus/mixins/utils.css +0 -0
- package/dist/runtime/public/scss/element-plus/notification.css +381 -0
- package/dist/runtime/public/scss/element-plus/option-group.css +303 -0
- package/dist/runtime/public/scss/element-plus/option.css +325 -0
- package/dist/runtime/public/scss/element-plus/overlay.css +289 -0
- package/dist/runtime/public/scss/element-plus/page-header.css +323 -0
- package/dist/runtime/public/scss/element-plus/pagination.css +533 -0
- package/dist/runtime/public/scss/element-plus/popconfirm.css +287 -0
- package/dist/runtime/public/scss/element-plus/popover.css +324 -0
- package/dist/runtime/public/scss/element-plus/popper.css +372 -0
- package/dist/runtime/public/scss/element-plus/progress.css +421 -0
- package/dist/runtime/public/scss/element-plus/radio-button.css +402 -0
- package/dist/runtime/public/scss/element-plus/radio-group.css +280 -0
- package/dist/runtime/public/scss/element-plus/radio.css +533 -0
- package/dist/runtime/public/scss/element-plus/rate.css +356 -0
- package/dist/runtime/public/scss/element-plus/reset.css +371 -0
- package/dist/runtime/public/scss/element-plus/result.css +353 -0
- package/dist/runtime/public/scss/element-plus/row.css +311 -0
- package/dist/runtime/public/scss/element-plus/scrollbar.css +345 -0
- package/dist/runtime/public/scss/element-plus/segmented.css +432 -0
- package/dist/runtime/public/scss/element-plus/select-dropdown-v2.css +323 -0
- package/dist/runtime/public/scss/element-plus/select-dropdown.css +323 -0
- package/dist/runtime/public/scss/element-plus/select-v2.css +740 -0
- package/dist/runtime/public/scss/element-plus/select.css +740 -0
- package/dist/runtime/public/scss/element-plus/skeleton-item.css +344 -0
- package/dist/runtime/public/scss/element-plus/skeleton.css +307 -0
- package/dist/runtime/public/scss/element-plus/slider.css +452 -0
- package/dist/runtime/public/scss/element-plus/space.css +289 -0
- package/dist/runtime/public/scss/element-plus/spinner.css +314 -0
- package/dist/runtime/public/scss/element-plus/statistic.css +308 -0
- package/dist/runtime/public/scss/element-plus/step.css +558 -0
- package/dist/runtime/public/scss/element-plus/steps.css +291 -0
- package/dist/runtime/public/scss/element-plus/sub-menu.css +0 -0
- package/dist/runtime/public/scss/element-plus/switch.css +498 -0
- package/dist/runtime/public/scss/element-plus/tab-pane.css +0 -0
- package/dist/runtime/public/scss/element-plus/table-column.css +354 -0
- package/dist/runtime/public/scss/element-plus/table-v2.css +492 -0
- package/dist/runtime/public/scss/element-plus/table.css +865 -0
- package/dist/runtime/public/scss/element-plus/tabs.css +864 -0
- package/dist/runtime/public/scss/element-plus/tag.css +596 -0
- package/dist/runtime/public/scss/element-plus/text.css +344 -0
- package/dist/runtime/public/scss/element-plus/time-picker.css +942 -0
- package/dist/runtime/public/scss/element-plus/time-select.css +884 -0
- package/dist/runtime/public/scss/element-plus/timeline-item.css +387 -0
- package/dist/runtime/public/scss/element-plus/timeline.css +306 -0
- package/dist/runtime/public/scss/element-plus/tooltip-v2.css +382 -0
- package/dist/runtime/public/scss/element-plus/tooltip.css +0 -0
- package/dist/runtime/public/scss/element-plus/tour.css +433 -0
- package/dist/runtime/public/scss/element-plus/transfer.css +469 -0
- package/dist/runtime/public/scss/element-plus/tree-select.css +297 -0
- package/dist/runtime/public/scss/element-plus/tree.css +510 -0
- package/dist/runtime/public/scss/element-plus/upload.css +834 -0
- package/dist/runtime/public/scss/element-plus/var.css +361 -0
- package/dist/runtime/public/scss/element-plus/virtual-list.css +302 -0
- package/dist/runtime/public/scss/theme.css +1191 -0
- package/dist/runtime/server/tsconfig.json +6 -0
- package/dist/runtime/types.d.ts +40 -0
- package/dist/types.d.mts +7 -0
- package/dist/types.d.ts +7 -0
- package/package.json +29 -12
- package/components/TimusIcons.vue +0 -54
- package/generate-icon.js +0 -22
- package/module.ts +0 -84
- package/pages/icons.vue +0 -46
- package/plugins/sample-plugin.ts +0 -5
- package/public/isax/fonts/iconsax.svg +0 -927
- package/public/isax/fonts/iconsax.ttf +0 -0
- package/public/isax/fonts/iconsax.woff +0 -0
- package/public/isax/icons.json +0 -899
- package/public/isax/selection.json +0 -1
- package/public/isax/style.css +0 -1
- package/public/isax/style.scss +0 -5435
- package/public/isax/variables.scss +0 -900
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import '@timus-networks/element-plus';
|
|
2
|
+
import '@nuxt/schema';
|
|
3
|
+
|
|
4
|
+
declare module '@timus-networks/element-plus/es/constants' {
|
|
5
|
+
export const componentSizes: readonly string[];
|
|
6
|
+
export type ComponentSize = (typeof componentSizes)[number];
|
|
7
|
+
|
|
8
|
+
export const componentSizeMap: Readonly<
|
|
9
|
+
| componentSizes
|
|
10
|
+
| {
|
|
11
|
+
medium: number;
|
|
12
|
+
mini: number;
|
|
13
|
+
huge: number;
|
|
14
|
+
[key: string]: number;
|
|
15
|
+
}
|
|
16
|
+
>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare module '@timus-networks/element-plus' {
|
|
20
|
+
export type ThemeSize = typeof import('element-plus/es/constants').componentSizeMap;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare module '@timus-networks/element-plus/es/utils' {
|
|
24
|
+
export interface EpPropMergeType<T, U, V> extends T {}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare module '@timus-networks/element-plus' {
|
|
28
|
+
export type ButtonType = (typeof buttonTypes)[number];
|
|
29
|
+
export type ExtendedComponentSize = ComponentSize | 'medium' | 'mini' | 'huge';
|
|
30
|
+
export type ExtendedButtonType = ButtonType | 'secondary' | 'neutral';
|
|
31
|
+
|
|
32
|
+
export interface ButtonProps {
|
|
33
|
+
type: ExtendedButtonType;
|
|
34
|
+
size?: ExtendedComponentSize;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface InputProps {
|
|
38
|
+
size?: ExtendedComponentSize;
|
|
39
|
+
}
|
|
40
|
+
}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NuxtModule } from '@nuxt/schema'
|
|
2
|
+
|
|
3
|
+
import type { default as Module } from './module.js'
|
|
4
|
+
|
|
5
|
+
export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
|
6
|
+
|
|
7
|
+
export { type MyModuleOptions, default } from './module.js'
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NuxtModule } from '@nuxt/schema'
|
|
2
|
+
|
|
3
|
+
import type { default as Module } from './module'
|
|
4
|
+
|
|
5
|
+
export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
|
6
|
+
|
|
7
|
+
export { type MyModuleOptions, default } from './module'
|
package/package.json
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timus-networks/theme",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Nuxt module for
|
|
5
|
-
"
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "A comprehensive Nuxt.js module providing a tailored theme experience with integrated TailwindCSS support for applications.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/types.d.ts",
|
|
9
|
+
"import": "./dist/module.mjs",
|
|
10
|
+
"require": "./dist/module.cjs"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"main": "./dist/module.cjs",
|
|
14
|
+
"types": "./dist/types.d.ts",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
6
18
|
"scripts": {
|
|
7
|
-
"test": "
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"test:watch": "vitest watch",
|
|
21
|
+
"test:types": "vue-tsc --noEmit",
|
|
8
22
|
"lint:prettier": "npx prettier --write --list-different \"{**/*.js,**/*.vue,**/*.scss,!(node*)**/*.js}\"",
|
|
9
23
|
"lint:eslint": "eslint --ext \".js,.ts,.vue,.json\" .",
|
|
10
24
|
"lint:stylelint": "stylelint \"**/*.{scss,sass,html,vue}\"",
|
|
11
25
|
"fix": "npm run lint:prettier && npm run lint:eslint -- --fix && npm run lint:stylelint -- --fix",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
26
|
+
"pub": "npm publish",
|
|
27
|
+
"sass": "node generate-sass.js",
|
|
28
|
+
"prepack": "nuxt-module-build build",
|
|
29
|
+
"release": "npm run prepack && changelogen --release && npm run pub && git push --follow-tags"
|
|
14
30
|
},
|
|
15
31
|
"repository": {
|
|
16
32
|
"type": "git",
|
|
17
|
-
"url": "https://bitbucket.org/timus-networks/
|
|
33
|
+
"url": "https://bitbucket.org/timus-networks/timus.modules.git"
|
|
18
34
|
},
|
|
19
35
|
"keywords": [
|
|
20
36
|
"nuxt",
|
|
@@ -23,8 +39,8 @@
|
|
|
23
39
|
"component",
|
|
24
40
|
"vue",
|
|
25
41
|
"vue3",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
42
|
+
"theme",
|
|
43
|
+
"tailwind"
|
|
28
44
|
],
|
|
29
45
|
"peerDependencies": {
|
|
30
46
|
"vue": "^3.x"
|
|
@@ -32,11 +48,12 @@
|
|
|
32
48
|
"author": "Serkan Konakcı<serkan.konakci@timusnetworks.com>",
|
|
33
49
|
"license": "MIT",
|
|
34
50
|
"dependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"tailwindcss": "*"
|
|
51
|
+
"@nuxt/kit": "*",
|
|
52
|
+
"tailwindcss": "*",
|
|
53
|
+
"vue-tsc": "^2.0.29"
|
|
37
54
|
},
|
|
38
55
|
"devDependencies": {
|
|
39
|
-
"
|
|
56
|
+
"changelogen": "^0.5.5",
|
|
40
57
|
"sass": "*",
|
|
41
58
|
"sass-loader": "*"
|
|
42
59
|
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<el-input v-model="search" placeholder="Search..." clearable class="my-4" />
|
|
3
|
-
<div class="grid sm:grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-4">
|
|
4
|
-
<template v-for="(item, index) in filter" :key="index">
|
|
5
|
-
<div :class="`icon flex flex-col items-center justify-center !gap-4 bg-white border border-gray-200 rounded-md h-32 text-3xl [&::before]:!font-light [&::before]:text-gray-800 isax-${item}`">
|
|
6
|
-
<span class="text-xs">isax-{{ item }}</span>
|
|
7
|
-
</div>
|
|
8
|
-
</template>
|
|
9
|
-
</div>
|
|
10
|
-
</template>
|
|
11
|
-
|
|
12
|
-
<script>
|
|
13
|
-
export default defineComponent({
|
|
14
|
-
name: 'TimusIcons',
|
|
15
|
-
props: {
|
|
16
|
-
icons: {
|
|
17
|
-
default: () => [],
|
|
18
|
-
type: Array,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
data() {
|
|
22
|
-
return {
|
|
23
|
-
search: '',
|
|
24
|
-
class: 'container class',
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
computed: {
|
|
28
|
-
filter() {
|
|
29
|
-
return this.icons.filter((item) => item.includes(this.search));
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<style scoped>
|
|
36
|
-
.icon {
|
|
37
|
-
color: var(--gray-500);
|
|
38
|
-
|
|
39
|
-
&::before {
|
|
40
|
-
transition: all 0.4s;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
&:hover {
|
|
44
|
-
background-color: var(--primary-500);
|
|
45
|
-
color: #ffffff;
|
|
46
|
-
transition: all 0.4s;
|
|
47
|
-
|
|
48
|
-
&::before {
|
|
49
|
-
color: #ffffff;
|
|
50
|
-
transition: all 0.4s;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
</style>
|
package/generate-icon.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
// SVG dosyasının yolunu belirtin
|
|
3
|
-
const svgFilePath = './public/isax/fonts/iconsax.svg';
|
|
4
|
-
// SVG dosyasını oku
|
|
5
|
-
const svgContent = fs.readFileSync(svgFilePath, 'utf-8');
|
|
6
|
-
// `glyph-name` özelliklerini çıkar
|
|
7
|
-
const glyphNames = [];
|
|
8
|
-
const glyphNameRegex = /glyph-name="([^"]+)"/g;
|
|
9
|
-
let match;
|
|
10
|
-
|
|
11
|
-
while ((match = glyphNameRegex.exec(svgContent)) !== null) {
|
|
12
|
-
glyphNames.push(match[1]);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// JSON olarak dışa aktar
|
|
16
|
-
const outputFilePath = './public/isax/icons.json';
|
|
17
|
-
let outputContent = `{ "data": ${JSON.stringify(glyphNames, null, 2)}}\n`;
|
|
18
|
-
|
|
19
|
-
// Dışa aktarma dosyasını yaz
|
|
20
|
-
fs.writeFileSync(outputFilePath, outputContent, 'utf-8');
|
|
21
|
-
|
|
22
|
-
console.log('icon.json dosyası, glyph adlarının listesiyle oluşturuldu.');
|
package/module.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
// modules/my-module.ts
|
|
2
|
-
import { defineNuxtModule } from '@nuxt/kit';
|
|
3
|
-
import { readdirSync } from 'fs';
|
|
4
|
-
import { addComponent, addPlugin, createResolver } from 'nuxt/kit';
|
|
5
|
-
import { join, parse, resolve } from 'path';
|
|
6
|
-
|
|
7
|
-
import PackageJson from './package.json';
|
|
8
|
-
|
|
9
|
-
export default defineNuxtModule({
|
|
10
|
-
meta: {
|
|
11
|
-
name: PackageJson.name,
|
|
12
|
-
configKey: 'theme',
|
|
13
|
-
},
|
|
14
|
-
hooks: {
|
|
15
|
-
'pages:extend': (pages) => {
|
|
16
|
-
const resolver = createResolver(import.meta.url);
|
|
17
|
-
|
|
18
|
-
pages.push({
|
|
19
|
-
name: 'icons',
|
|
20
|
-
path: '/icons',
|
|
21
|
-
mode: 'client',
|
|
22
|
-
file: resolver.resolve('./pages/icons.vue'),
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
'nitro:config': async (nitroConfig) => {
|
|
26
|
-
nitroConfig.publicAssets ||= [];
|
|
27
|
-
nitroConfig.publicAssets.push({
|
|
28
|
-
dir: resolve(__dirname, './public'),
|
|
29
|
-
maxAge: 60 * 60 * 24 * 365, // 1 year
|
|
30
|
-
});
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
setup(options, nuxt) {
|
|
34
|
-
const resolver = createResolver(import.meta.url);
|
|
35
|
-
|
|
36
|
-
// Modülünüzün kurulumu burada yapılır
|
|
37
|
-
console.info(`'${PackageJson.name}' has been loaded with options:`, options);
|
|
38
|
-
|
|
39
|
-
options = {
|
|
40
|
-
...options,
|
|
41
|
-
module: PackageJson.name, // bu external olarak nuxt.config içerisinde tanımlanan değer '@timus-networks/table' olarak direk json'daki
|
|
42
|
-
version: PackageJson.version,
|
|
43
|
-
client: options.client ? 'client' : 'server',
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// Bileşenleri otomatik olarak dahil etme
|
|
47
|
-
const components_dir_list = ['components'];
|
|
48
|
-
const addComponentFromFolder = (folder: string, mode: 'client' | 'server' | 'all') => {
|
|
49
|
-
const path = resolve(__dirname, folder);
|
|
50
|
-
const files = readdirSync(path);
|
|
51
|
-
|
|
52
|
-
files.forEach((file) => {
|
|
53
|
-
const { name } = parse(file);
|
|
54
|
-
|
|
55
|
-
addComponent({
|
|
56
|
-
name: join(name),
|
|
57
|
-
filePath: resolve(path, file),
|
|
58
|
-
mode,
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
components_dir_list.forEach((folder) => {
|
|
64
|
-
addComponentFromFolder(folder, options.client);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
// Örnek olarak, bir plugin ekleyelim
|
|
68
|
-
addPlugin(resolver.resolve('./plugins/sample-plugin.ts'));
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
// Örnek olarak, bir page ekleyelim. Ama bunu hooks altına aldım. Orada olmasını tavsiye ediyor dokuman.
|
|
72
|
-
// https://nuxt.com/docs/guide/going-further/modules burada "However, we do not recommend" bunu arat
|
|
73
|
-
nuxt.hook('pages:extend', (pages) => {
|
|
74
|
-
pages.push({
|
|
75
|
-
name: 'icons',
|
|
76
|
-
path: '/icons',
|
|
77
|
-
file: resolver.resolve('./pages/icons.vue'),
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
nuxt.options.css.push(resolver.resolve('./public/isax/style.scss'));
|
|
83
|
-
},
|
|
84
|
-
});
|
package/pages/icons.vue
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex flex-col gap-4">
|
|
3
|
-
<div class="text-gray-800 text-4xl">{{ icons?.length }} icons</div>
|
|
4
|
-
<p class="text-gray-500 !text-lg font-light">Iconsax icons designed to make your website or app attractive, visually consistent and simply beautiful (https://vuesax.com/).</p>
|
|
5
|
-
<timus-icons ref="iconsRef" :icons="icons" />
|
|
6
|
-
</div>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script setup>
|
|
10
|
-
definePageMeta({
|
|
11
|
-
layout: 'modules',
|
|
12
|
-
validate: async (route) =>
|
|
13
|
-
// Check if the id is made up of digits
|
|
14
|
-
true || (typeof route.params.id === 'string' && /^\d+$/.test(route.params.id)),
|
|
15
|
-
});
|
|
16
|
-
useHead({
|
|
17
|
-
title: 'Timus Modules Manager',
|
|
18
|
-
meta: [{ name: 'description', content: 'My amazing site.' }],
|
|
19
|
-
bodyAttrs: { class: 'test' },
|
|
20
|
-
script: [{ innerHTML: "console.log('Hello world')" }],
|
|
21
|
-
});
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<script>
|
|
25
|
-
export default {
|
|
26
|
-
data() {
|
|
27
|
-
return {
|
|
28
|
-
icons: [],
|
|
29
|
-
};
|
|
30
|
-
},
|
|
31
|
-
mounted() {
|
|
32
|
-
this.getIcons();
|
|
33
|
-
},
|
|
34
|
-
methods: {
|
|
35
|
-
async getIcons() {
|
|
36
|
-
try {
|
|
37
|
-
const response = await $fetch('/isax/icons.json');
|
|
38
|
-
|
|
39
|
-
this.icons = response.data;
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error('Fetch Error:', error);
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
</script>
|