ketekny-ui-kit 1.0.73 → 1.0.75

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 CHANGED
@@ -8,24 +8,28 @@ Vue 3 UI component library with Tailwind CSS styling and utility plugins.
8
8
  - Tailwind CSS 3 build pipeline in your app (`tailwindcss`, `postcss`, `autoprefixer`)
9
9
  - This package is built and tested against Tailwind CSS 3.x; Tailwind CSS 4 is not supported by the current setup
10
10
 
11
- ## Installation
11
+ ## Consumer Dependencies
12
12
 
13
- Needed packages (install what is missing)
13
+ Install these in the consuming app:
14
14
 
15
15
  ```bash
16
- # Required peer dependency:
17
- npm install vue
16
+ npm install vue @lucide/vue class-variance-authority clsx dayjs element-plus moment reka-ui simple-code-editor tailwind-merge vue-router vue3-easy-data-table
17
+ ```
18
18
 
19
- # If your app does not already use Tailwind CSS 3:
19
+ If the app does not already include Tailwind CSS 3:
20
+
21
+ ```bash
20
22
  npm install -D tailwindcss@^3 postcss autoprefixer
21
23
  ```
22
24
 
25
+ ## Installation
26
+
27
+ Needed packages (install what is missing)
28
+
23
29
  ```bash
24
30
  npm install ketekny-ui-kit
25
31
  ```
26
32
 
27
-
28
-
29
33
  ## Quick Start
30
34
 
31
35
  In your app entry (`main.js` / `main.ts`):
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ketekny-ui-kit",
3
3
  "type": "module",
4
- "version": "1.0.73",
4
+ "version": "1.0.75",
5
5
  "description": "A Vue 3 UI component library with Tailwind CSS styling",
6
6
  "main": "index.js",
7
7
  "files": [
@@ -20,7 +20,18 @@
20
20
  "library"
21
21
  ],
22
22
  "peerDependencies": {
23
- "vue": "^3.0.0"
23
+ "vue": "^3.0.0",
24
+ "@lucide/vue": "^1.17.0",
25
+ "class-variance-authority": "^0.7.1",
26
+ "clsx": "^2.1.1",
27
+ "dayjs": "1.11.19",
28
+ "element-plus": "^2.13.5",
29
+ "moment": "^2.30.1",
30
+ "reka-ui": "^2.8.2",
31
+ "simple-code-editor": "^2.0.9",
32
+ "tailwind-merge": "^3.5.0",
33
+ "vue-router": "^4.6.4",
34
+ "vue3-easy-data-table": "^1.5.47"
24
35
  },
25
36
  "scripts": {
26
37
  "dev": "vite",
@@ -37,21 +48,5 @@
37
48
  "tailwindcss": "^3.4.17",
38
49
  "vite": "^6.3.5"
39
50
  },
40
- "dependencies": {
41
- "@primeuix/themes": "^1.1.1",
42
- "@vuepic/vue-datepicker": "^11.0.2",
43
- "class-variance-authority": "^0.7.1",
44
- "clsx": "^2.1.1",
45
- "dayjs": "1.11.19",
46
- "element-plus": "^2.13.5",
47
- "lucide-vue-next": "^0.511.0",
48
- "moment": "^2.30.1",
49
- "primeicons": "^7.0.0",
50
- "primevue": "^4.3.4",
51
- "reka-ui": "^2.8.2",
52
- "simple-code-editor": "^2.0.9",
53
- "tailwind-merge": "^3.5.0",
54
- "vue-router": "^4.6.4",
55
- "vue3-easy-data-table": "^1.5.47"
56
- }
51
+ "dependencies": {}
57
52
  }
@@ -28,7 +28,7 @@
28
28
  </template>
29
29
 
30
30
  <script setup>
31
- import { Menu, X } from "lucide-vue-next";
31
+ import { Menu, X } from "@lucide/vue";
32
32
  </script>
33
33
 
34
34
  <script>
@@ -1,6 +1,3 @@
1
-
2
- @import "primeicons/primeicons.css";
3
-
4
1
  @tailwind base;
5
2
  @tailwind components;
6
3
  @tailwind utilities;
package/src/ui/kAlert.vue CHANGED
@@ -49,7 +49,7 @@
49
49
  <script setup>
50
50
  import { ref, computed } from "vue";
51
51
  import kButton from "./kButton.vue";
52
- import { Check, XCircleIcon, AlertTriangleIcon, Info } from "lucide-vue-next";
52
+ import { Check, XCircleIcon, AlertTriangleIcon, Info } from "@lucide/vue";
53
53
 
54
54
  const visible = ref(false);
55
55
  const title = ref("");
@@ -27,8 +27,8 @@
27
27
  </template>
28
28
 
29
29
  <script setup>
30
- import { Loader } from "lucide-vue-next";
31
- import * as icons from "lucide-vue-next";
30
+ import { Loader } from "@lucide/vue";
31
+ import * as icons from "@lucide/vue";
32
32
  </script>
33
33
 
34
34
  <script>
@@ -53,7 +53,7 @@
53
53
  </template>
54
54
 
55
55
  <script>
56
- import { X } from 'lucide-vue-next'
56
+ import { X } from '@lucide/vue'
57
57
 
58
58
  // 🔥 Global z-index tracker
59
59
  let dialogZIndexCounter = 1000
@@ -41,7 +41,7 @@
41
41
  </template>
42
42
 
43
43
  <script>
44
- import { X } from 'lucide-vue-next'
44
+ import { X } from '@lucide/vue'
45
45
 
46
46
  export default {
47
47
  name: 'KDrawer',
@@ -40,7 +40,7 @@
40
40
  </template>
41
41
 
42
42
  <script setup>
43
- import { Bold, Italic, Underline, List } from "lucide-vue-next";
43
+ import { Bold, Italic, Underline, List } from "@lucide/vue";
44
44
  </script>
45
45
 
46
46
  <script>
package/src/ui/kIcon.vue CHANGED
@@ -8,7 +8,7 @@
8
8
  </template>
9
9
 
10
10
  <script>
11
- import * as icons from 'lucide-vue-next';
11
+ import * as icons from '@lucide/vue';
12
12
 
13
13
  export default {
14
14
  props: {
package/src/ui/kInput.vue CHANGED
@@ -53,7 +53,7 @@
53
53
  </template>
54
54
 
55
55
  <script>
56
- import * as icons from "lucide-vue-next";
56
+ import * as icons from "@lucide/vue";
57
57
  import { K_INPUT_THEME } from "./themes/kInput.theme";
58
58
 
59
59
  export default {
@@ -116,7 +116,7 @@
116
116
 
117
117
  <script setup>
118
118
  import { computed, onBeforeUnmount, ref, useSlots, watch } from 'vue'
119
- import { X as CloseIcon, Info, CircleCheckBig, TriangleAlert, OctagonX, Clock3 } from 'lucide-vue-next'
119
+ import { X as CloseIcon, Info, CircleCheckBig, TriangleAlert, OctagonX, Clock3 } from '@lucide/vue'
120
120
 
121
121
  // ─── Color config ────────────────────────────────────────────────────────────
122
122
 
@@ -6,7 +6,7 @@
6
6
  </template>
7
7
 
8
8
  <script setup>
9
- import { Search } from "lucide-vue-next";
9
+ import { Search } from "@lucide/vue";
10
10
  </script>
11
11
 
12
12
  <script>
@@ -112,7 +112,7 @@ import {
112
112
  SelectValue,
113
113
  SelectViewport,
114
114
  } from "reka-ui";
115
- import { X, ChevronDown, Check, Search, SearchX } from "lucide-vue-next";
115
+ import { X, ChevronDown, Check, Search, SearchX } from "@lucide/vue";
116
116
 
117
117
  const props = defineProps({
118
118
  options: { type: Array, required: true },
@@ -1,19 +1,15 @@
1
1
  <template>
2
2
  <div class="flex items-center justify-center w-16 space-x-1" v-if="type == 'line'">
3
- <i class="ml-1 text-primary dark:text-sky-200 pi pi-wave-pulse" />
3
+ <span class="spinner-ring spinner-ring--sm ml-1 text-primary dark:text-sky-200" aria-hidden="true" />
4
4
  <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0s' }"></div>
5
5
  <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.15s' }"></div>
6
6
  <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.3s' }"></div>
7
7
  <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.45s' }"></div>
8
8
  </div>
9
9
 
10
- <Loader class="w-6 h-6 mr-2 animate-spin text-primary dark:text-sky-200" style="animation-duration: 1.5s" v-else-if="type == 'circle'" />
10
+ <span class="spinner-ring mr-2 text-primary dark:text-sky-200" aria-hidden="true" v-else-if="type == 'circle'" />
11
11
  </template>
12
12
 
13
- <script setup>
14
- import { Loader } from "lucide-vue-next";
15
- </script>
16
-
17
13
  <script>
18
14
  export default {
19
15
  name: "FourDotSpinner",
@@ -35,4 +31,25 @@ export default {
35
31
  .animate-fade {
36
32
  animation: fade 1s ease-in-out infinite;
37
33
  }
34
+
35
+ .spinner-ring {
36
+ width: 1.5rem;
37
+ height: 1.5rem;
38
+ border-radius: 9999px;
39
+ border: 2px solid currentColor;
40
+ border-top-color: transparent;
41
+ animation: spin 1s linear infinite;
42
+ display: inline-block;
43
+ }
44
+
45
+ .spinner-ring--sm {
46
+ width: 1rem;
47
+ height: 1rem;
48
+ }
49
+
50
+ @keyframes spin {
51
+ to {
52
+ transform: rotate(360deg);
53
+ }
54
+ }
38
55
  </style>
package/src/ui/kToast.vue CHANGED
@@ -48,7 +48,7 @@
48
48
  </template>
49
49
 
50
50
  <script>
51
- import { CheckCircleIcon, XCircleIcon, AlertCircleIcon, InfoIcon, X } from "lucide-vue-next";
51
+ import { CheckCircleIcon, XCircleIcon, AlertCircleIcon, InfoIcon, X } from "@lucide/vue";
52
52
 
53
53
  export default {
54
54
  name: "kToast",
@@ -53,7 +53,7 @@
53
53
  </template>
54
54
 
55
55
  <script>
56
- import { ChevronRight } from 'lucide-vue-next'
56
+ import { ChevronRight } from '@lucide/vue'
57
57
 
58
58
  export default {
59
59
  name: 'kTreeBranch',
@@ -77,7 +77,7 @@
77
77
  </template>
78
78
 
79
79
  <script>
80
- import { UploadCloudIcon, FileIcon, CheckCircleIcon, XIcon } from 'lucide-vue-next'
80
+ import { UploadCloudIcon, FileIcon, CheckCircleIcon, XIcon } from '@lucide/vue'
81
81
 
82
82
  export default {
83
83
  name: 'FileUpload',
@@ -11,10 +11,10 @@ export default {
11
11
  { pattern: /(bg|text|border)-semantic-(success|warning|error|info)-(bg|border|text|disabled|button)/ },
12
12
 
13
13
  // Intent-driven classes may not always be statically discoverable in downstream builds.
14
- { pattern: /(bg|text|border|ring)-(sky|slate|emerald|amber|rose)-(50|100|200|300|400|500|600|700|800|900)/ },
15
- { pattern: /hover:(bg|text|border|ring)-(sky|slate|emerald|amber|rose)-(50|100|200|300|400|500|600|700|800|900)/ },
16
- { pattern: /focus:(bg|text|border|ring)-(sky|slate|emerald|amber|rose)-(50|100|200|300|400|500|600|700|800|900)/ },
17
- { pattern: /focus-visible:(bg|text|border|ring)-(sky|slate|emerald|amber|rose)-(50|100|200|300|400|500|600|700|800|900)/ },
14
+ {
15
+ pattern: /(bg|text|border|ring)-(sky|slate|emerald|amber|rose)-(50|100|200|300|400|500|600|700|800|900)/,
16
+ variants: ["hover", "focus", "focus-visible"],
17
+ },
18
18
  ],
19
19
  theme: {
20
20
  extend: {