@katlux/toolkit 0.1.0-beta.5 → 0.1.0-beta.50

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 (137) hide show
  1. package/dist/compiled/composables/usePresetComponent.mjs +21 -16
  2. package/dist/module.cjs +52 -0
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +52 -0
  5. package/dist/runtime/components/KCalendar/KCalendar.global.d.vue.ts +11 -12
  6. package/dist/runtime/components/KCalendar/KCalendar.global.vue.d.ts +11 -12
  7. package/dist/runtime/components/KCalendar/KCalendar.logic.d.ts +1 -0
  8. package/dist/runtime/components/KCalendar/KCalendar.logic.js +25 -10
  9. package/dist/runtime/components/KCombobox/KCombobox.global.d.vue.ts +18 -10
  10. package/dist/runtime/components/KCombobox/KCombobox.global.vue +6 -2
  11. package/dist/runtime/components/KCombobox/KCombobox.global.vue.d.ts +18 -10
  12. package/dist/runtime/components/KCombobox/KCombobox.logic.d.ts +78 -0
  13. package/dist/runtime/components/KCombobox/KCombobox.logic.js +8 -3
  14. package/dist/runtime/components/KCompositeInput/KCompositeInput.global.d.vue.ts +149 -0
  15. package/dist/runtime/components/KCompositeInput/KCompositeInput.global.vue +65 -0
  16. package/dist/runtime/components/KCompositeInput/KCompositeInput.global.vue.d.ts +149 -0
  17. package/dist/runtime/components/KCompositeInput/KCompositeInput.logic.d.ts +116 -0
  18. package/dist/runtime/components/KCompositeInput/KCompositeInput.logic.js +149 -0
  19. package/dist/runtime/components/KDatePicker/KDatePicker.global.d.vue.ts +56 -8
  20. package/dist/runtime/components/KDatePicker/KDatePicker.global.vue +23 -3
  21. package/dist/runtime/components/KDatePicker/KDatePicker.global.vue.d.ts +56 -8
  22. package/dist/runtime/components/KDatePicker/KDatePicker.logic.d.ts +22 -1
  23. package/dist/runtime/components/KDatePicker/KDatePicker.logic.js +89 -7
  24. package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.d.vue.ts +54 -8
  25. package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.vue +23 -3
  26. package/dist/runtime/components/KDateTimePicker/KDateTimePicker.global.vue.d.ts +54 -8
  27. package/dist/runtime/components/KDateTimePicker/KDateTimePicker.logic.d.ts +22 -1
  28. package/dist/runtime/components/KDateTimePicker/KDateTimePicker.logic.js +148 -7
  29. package/dist/runtime/components/KDropdown/KDropdown.global.d.vue.ts +18 -0
  30. package/dist/runtime/components/KDropdown/KDropdown.global.vue +13 -4
  31. package/dist/runtime/components/KDropdown/KDropdown.global.vue.d.ts +18 -0
  32. package/dist/runtime/components/KDropdown/KDropdown.logic.d.ts +28 -1
  33. package/dist/runtime/components/KDropdown/KDropdown.logic.js +85 -4
  34. package/dist/runtime/components/KGrid/KGrid.global.d.vue.ts +7 -56
  35. package/dist/runtime/components/KGrid/KGrid.global.vue +9 -2
  36. package/dist/runtime/components/KGrid/KGrid.global.vue.d.ts +7 -56
  37. package/dist/runtime/components/KHourPicker/KHourPicker.global.d.vue.ts +20 -0
  38. package/dist/runtime/components/KHourPicker/KHourPicker.global.vue +25 -12
  39. package/dist/runtime/components/KHourPicker/KHourPicker.global.vue.d.ts +20 -0
  40. package/dist/runtime/components/KHourPicker/KHourPicker.logic.d.ts +14 -3
  41. package/dist/runtime/components/KHourPicker/KHourPicker.logic.js +25 -10
  42. package/dist/runtime/components/KHourSelect/KHourSelect.logic.js +4 -1
  43. package/dist/runtime/components/KIcon/KIcon.global.d.vue.ts +1 -1
  44. package/dist/runtime/components/KIcon/KIcon.global.vue.d.ts +1 -1
  45. package/dist/runtime/components/KIcon/KIcon.logic.d.ts +1 -1
  46. package/dist/runtime/components/KIcon/KIcon.logic.js +13 -8
  47. package/dist/runtime/components/KLoader/KLoader.global.d.vue.ts +3 -3
  48. package/dist/runtime/components/KLoader/KLoader.global.vue.d.ts +3 -3
  49. package/dist/runtime/components/KLoader/KLoader.logic.d.ts +8 -1
  50. package/dist/runtime/components/KLoader/KLoader.logic.js +1 -0
  51. package/dist/runtime/components/KMaskTextbox/KMaskTextbox.global.vue +1 -1
  52. package/dist/runtime/components/KModal/KModal.global.vue +4 -1
  53. package/dist/runtime/components/KModal/KModal.logic.d.ts +3 -1
  54. package/dist/runtime/components/KModal/KModal.logic.js +6 -2
  55. package/dist/runtime/components/KPanel/KPanel.global.d.vue.ts +5 -28
  56. package/dist/runtime/components/KPanel/KPanel.global.vue +12 -4
  57. package/dist/runtime/components/KPanel/KPanel.global.vue.d.ts +5 -28
  58. package/dist/runtime/components/KPanel/KPanel.logic.d.ts +10 -0
  59. package/dist/runtime/components/KPanel/KPanel.logic.js +8 -0
  60. package/dist/runtime/components/KTextbox/KTextbox.global.d.vue.ts +15 -2
  61. package/dist/runtime/components/KTextbox/KTextbox.global.vue +5 -4
  62. package/dist/runtime/components/KTextbox/KTextbox.global.vue.d.ts +15 -2
  63. package/dist/runtime/components/KTextbox/KTextbox.logic.d.ts +10 -4
  64. package/dist/runtime/components/KTextbox/KTextbox.logic.js +12 -5
  65. package/dist/runtime/components/KTree/KTree.global.d.vue.ts +1 -1
  66. package/dist/runtime/components/KTree/KTree.global.vue.d.ts +1 -1
  67. package/dist/runtime/components/KTreePicker/KTreePicker.global.d.vue.ts +2 -2
  68. package/dist/runtime/components/KTreePicker/KTreePicker.global.vue.d.ts +2 -2
  69. package/dist/runtime/components/KTreePicker/KTreePicker.logic.d.ts +77 -0
  70. package/dist/runtime/composables/usePresetComponent.d.ts +16 -0
  71. package/dist/runtime/composables/usePresetComponent.js +21 -16
  72. package/dist/runtime/presets/default/assets/scss/css-variables.css +64 -13
  73. package/dist/runtime/presets/default/assets/scss/css-variables.scss +286 -0
  74. package/dist/runtime/presets/default/assets/scss/docs.scss +52 -0
  75. package/dist/runtime/presets/default/assets/scss/index.css +72 -13
  76. package/dist/runtime/presets/default/assets/scss/index.scss +12 -0
  77. package/dist/runtime/presets/default/assets/scss/mixins.scss +94 -0
  78. package/dist/runtime/presets/default/assets/scss/reset.scss +16 -0
  79. package/dist/runtime/presets/default/components/KAccordion/KAccordion.vue +5 -2
  80. package/dist/runtime/presets/default/components/KAccordion/KAccordionItem.vue +40 -37
  81. package/dist/runtime/presets/default/components/KBulkActions/KBulkActions.vue +29 -22
  82. package/dist/runtime/presets/default/components/KButton/KButton.vue +147 -428
  83. package/dist/runtime/presets/default/components/KCalendar/KCalendar.vue +57 -53
  84. package/dist/runtime/presets/default/components/KCalendar/KCalendarMonth.vue +189 -161
  85. package/dist/runtime/presets/default/components/KCheckbox/KCheckbox.vue +46 -36
  86. package/dist/runtime/presets/default/components/KCombobox/KCombobox.d.vue.ts +3 -0
  87. package/dist/runtime/presets/default/components/KCombobox/KCombobox.vue +90 -70
  88. package/dist/runtime/presets/default/components/KCombobox/KCombobox.vue.d.ts +3 -0
  89. package/dist/runtime/presets/default/components/KCombobox/KComboboxList.vue +78 -60
  90. package/dist/runtime/presets/default/components/KCompositeInput/KCompositeInput.d.vue.ts +27 -0
  91. package/dist/runtime/presets/default/components/KCompositeInput/KCompositeInput.vue +190 -0
  92. package/dist/runtime/presets/default/components/KCompositeInput/KCompositeInput.vue.d.ts +27 -0
  93. package/dist/runtime/presets/default/components/KDataIterator/KDataIterator.vue +40 -31
  94. package/dist/runtime/presets/default/components/KDatatable/KDatatable.vue +110 -92
  95. package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.d.vue.ts +3 -0
  96. package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.vue +44 -25
  97. package/dist/runtime/presets/default/components/KDatePicker/KDatePicker.vue.d.ts +3 -0
  98. package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.d.vue.ts +3 -0
  99. package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.vue +68 -52
  100. package/dist/runtime/presets/default/components/KDateTimePicker/KDateTimePicker.vue.d.ts +3 -0
  101. package/dist/runtime/presets/default/components/KDropdown/KDropdown.d.vue.ts +8 -0
  102. package/dist/runtime/presets/default/components/KDropdown/KDropdown.vue +46 -25
  103. package/dist/runtime/presets/default/components/KDropdown/KDropdown.vue.d.ts +8 -0
  104. package/dist/runtime/presets/default/components/KGantt/KGantt.vue +337 -241
  105. package/dist/runtime/presets/default/components/KGantt/KGanttRuler.vue +40 -35
  106. package/dist/runtime/presets/default/components/KGantt/KGanttTimeline.vue +170 -140
  107. package/dist/runtime/presets/default/components/KGrid/KGrid.vue +62 -60
  108. package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.d.vue.ts +6 -2
  109. package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.vue +44 -28
  110. package/dist/runtime/presets/default/components/KHourPicker/KHourPicker.vue.d.ts +6 -2
  111. package/dist/runtime/presets/default/components/KHourSelect/KHourSelect.vue +34 -28
  112. package/dist/runtime/presets/default/components/KIcon/KIcon.d.vue.ts +1 -1
  113. package/dist/runtime/presets/default/components/KIcon/KIcon.vue +31 -22
  114. package/dist/runtime/presets/default/components/KIcon/KIcon.vue.d.ts +1 -1
  115. package/dist/runtime/presets/default/components/KLoader/KLoader.vue +53 -47
  116. package/dist/runtime/presets/default/components/KMaskTextbox/KMaskTextbox.vue +113 -84
  117. package/dist/runtime/presets/default/components/KModal/KModal.d.vue.ts +1 -0
  118. package/dist/runtime/presets/default/components/KModal/KModal.vue +64 -35
  119. package/dist/runtime/presets/default/components/KModal/KModal.vue.d.ts +1 -0
  120. package/dist/runtime/presets/default/components/KPagination/KPagination.vue +42 -40
  121. package/dist/runtime/presets/default/components/KPanel/KPanel.d.vue.ts +3 -0
  122. package/dist/runtime/presets/default/components/KPanel/KPanel.vue +95 -34
  123. package/dist/runtime/presets/default/components/KPanel/KPanel.vue.d.ts +3 -0
  124. package/dist/runtime/presets/default/components/KRadiobox/KRadiobox.vue +30 -29
  125. package/dist/runtime/presets/default/components/KRangeSlider/KRangeSlider.vue +158 -125
  126. package/dist/runtime/presets/default/components/KSlider/KSlider.vue +123 -100
  127. package/dist/runtime/presets/default/components/KTabs/KTabItem.vue +40 -37
  128. package/dist/runtime/presets/default/components/KTabs/KTabs.vue +9 -6
  129. package/dist/runtime/presets/default/components/KTextarea/KTextarea.vue +23 -20
  130. package/dist/runtime/presets/default/components/KTextbox/KTextbox.d.vue.ts +2 -1
  131. package/dist/runtime/presets/default/components/KTextbox/KTextbox.vue +49 -36
  132. package/dist/runtime/presets/default/components/KTextbox/KTextbox.vue.d.ts +2 -1
  133. package/dist/runtime/presets/default/components/KTree/KTree.vue +102 -80
  134. package/dist/runtime/presets/default/components/KTreePicker/KTreePicker.vue +55 -34
  135. package/dist/runtime/presets/default/components/KTreeView/KTreeCell.vue +31 -30
  136. package/dist/runtime/presets/default/components/KTreeView/KTreeView.vue +34 -27
  137. package/package.json +5 -5
@@ -1,8 +1,9 @@
1
1
  import { computed, defineAsyncComponent } from "vue";
2
2
  import { useAppConfig } from "#app";
3
- const componentCache = /* @__PURE__ */ new Map();
4
- const modernComponents = import.meta.glob("../../../../katlux-preset-modern/src/runtime/components/**/*.vue");
5
- const toolkitPresets = import.meta.glob("../presets/**/*.vue");
3
+ export const presetLoadersRegistry = /* @__PURE__ */ new Map();
4
+ export function registerPresetComponents(presetName, loaders) {
5
+ presetLoadersRegistry.set(presetName, loaders);
6
+ }
6
7
  export function usePresetComponent(componentBaseName, defaultComponent) {
7
8
  const appConfig = useAppConfig();
8
9
  const activePreset = computed(() => appConfig.katluxToolkit?.activePreset || "default");
@@ -10,27 +11,31 @@ export function usePresetComponent(componentBaseName, defaultComponent) {
10
11
  if (activePreset.value === "default") {
11
12
  return defaultComponent;
12
13
  }
13
- const cacheKey = `${activePreset.value}:${componentBaseName}`;
14
- if (componentCache.has(cacheKey)) {
15
- return componentCache.get(cacheKey);
16
- }
17
14
  let loader;
18
- if (activePreset.value === "modern") {
19
- const path = `../../../../katlux-preset-modern/src/runtime/components/${componentBaseName}/${componentBaseName}.vue`;
20
- loader = modernComponents[path];
21
- } else {
22
- const path = `../presets/${activePreset.value}/components/${componentBaseName}/${componentBaseName}.vue`;
23
- loader = toolkitPresets[path];
15
+ const externalLoaders = presetLoadersRegistry.get(activePreset.value);
16
+ if (externalLoaders) {
17
+ const key = `./components/${componentBaseName}/${componentBaseName}.vue`;
18
+ loader = externalLoaders[key];
19
+ }
20
+ if (!loader) {
21
+ const internalLoaders = import.meta.glob([
22
+ "../presets/**/*.vue",
23
+ "../../runtime/presets/**/*.vue"
24
+ ]);
25
+ const internalKey = `../presets/${activePreset.value}/components/${componentBaseName}/${componentBaseName}.vue`;
26
+ loader = internalLoaders[internalKey];
27
+ if (!loader) {
28
+ const altKey = `../../runtime/presets/${activePreset.value}/components/${componentBaseName}/${componentBaseName}.vue`;
29
+ loader = internalLoaders[altKey];
30
+ }
24
31
  }
25
32
  if (!loader) {
26
33
  console.warn(`[${componentBaseName}] Preset "${activePreset.value}" not found, falling back to default`);
27
34
  return defaultComponent;
28
35
  }
29
- const asyncComp = defineAsyncComponent({
36
+ return defineAsyncComponent({
30
37
  loader,
31
38
  errorComponent: defaultComponent
32
39
  });
33
- componentCache.set(cacheKey, asyncComp);
34
- return asyncComp;
35
40
  });
36
41
  }
package/dist/module.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const kit = require('@nuxt/kit');
4
+ const node_fs = require('node:fs');
4
5
 
5
6
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
7
  const module$1 = kit.defineNuxtModule({
@@ -10,6 +11,57 @@ const module$1 = kit.defineNuxtModule({
10
11
  },
11
12
  setup(options, nuxt) {
12
13
  const { resolve } = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('module.cjs', document.baseURI).href)));
14
+ const runtimePath = resolve("./runtime");
15
+ nuxt.options.build.transpile.push(runtimePath);
16
+ nuxt.options.build.transpile.push("@katlux/toolkit");
17
+ const scssPath = resolve("./runtime/presets/default/assets/scss/index.scss");
18
+ const cssPath = resolve("./runtime/presets/default/assets/scss/index.css");
19
+ const finalCssPath = node_fs.existsSync(scssPath) ? scssPath : cssPath;
20
+ nuxt.options.css.push(finalCssPath);
21
+ const sharedIgnored = [
22
+ "**/node_modules/**",
23
+ "**/.nuxt/**",
24
+ "**/.output/**",
25
+ "**/dist/**",
26
+ "**/.git/**",
27
+ "**/tmp/**",
28
+ "**/.firebase/**"
29
+ ];
30
+ nuxt.options.watchers = nuxt.options.watchers || {};
31
+ const chokidar = nuxt.options.watchers.chokidar = nuxt.options.watchers.chokidar || {};
32
+ const existingIgnored = chokidar.ignored ? Array.isArray(chokidar.ignored) ? chokidar.ignored : [chokidar.ignored] : [];
33
+ chokidar.ignored = [.../* @__PURE__ */ new Set([...existingIgnored, ...sharedIgnored])];
34
+ chokidar.usePolling = true;
35
+ chokidar.interval = 1e3;
36
+ nuxt.options.nitro = nuxt.options.nitro || {};
37
+ const watchOptions = nuxt.options.nitro.watchOptions = nuxt.options.nitro.watchOptions || {};
38
+ watchOptions.usePolling = true;
39
+ watchOptions.interval = 1e3;
40
+ watchOptions.ignored = sharedIgnored;
41
+ nuxt.hook("vite:extendConfig", (config) => {
42
+ const server = config.server || (config.server = {});
43
+ const watch = server.watch || (server.watch = {});
44
+ const currentIgnored = watch.ignored || [];
45
+ if (Array.isArray(currentIgnored)) {
46
+ watch.ignored = [.../* @__PURE__ */ new Set([...currentIgnored, ...sharedIgnored])];
47
+ } else if (currentIgnored) {
48
+ watch.ignored = [currentIgnored, ...sharedIgnored];
49
+ } else {
50
+ watch.ignored = sharedIgnored;
51
+ }
52
+ watch.usePolling = true;
53
+ watch.interval = 1e3;
54
+ const fs = server.fs || (server.fs = {});
55
+ const allow = fs.allow || (fs.allow = []);
56
+ if (!allow.includes(runtimePath)) {
57
+ allow.push(runtimePath);
58
+ }
59
+ const ssr = config.ssr || (config.ssr = {});
60
+ const noExternal = ssr.noExternal || (ssr.noExternal = []);
61
+ if (Array.isArray(noExternal) && !noExternal.includes("@katlux/toolkit")) {
62
+ noExternal.push("@katlux/toolkit");
63
+ }
64
+ });
13
65
  kit.addComponentsDir({
14
66
  path: resolve("./runtime/components"),
15
67
  pathPrefix: false,
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@katlux/toolkit",
3
3
  "configKey": "katluxToolkit",
4
- "version": "0.1.0-beta.5",
4
+ "version": "0.1.0-beta.50",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { defineNuxtModule, createResolver, addComponentsDir, addImportsDir, addPlugin } from '@nuxt/kit';
2
+ import { existsSync } from 'node:fs';
2
3
 
3
4
  const module$1 = defineNuxtModule({
4
5
  meta: {
@@ -7,6 +8,57 @@ const module$1 = defineNuxtModule({
7
8
  },
8
9
  setup(options, nuxt) {
9
10
  const { resolve } = createResolver(import.meta.url);
11
+ const runtimePath = resolve("./runtime");
12
+ nuxt.options.build.transpile.push(runtimePath);
13
+ nuxt.options.build.transpile.push("@katlux/toolkit");
14
+ const scssPath = resolve("./runtime/presets/default/assets/scss/index.scss");
15
+ const cssPath = resolve("./runtime/presets/default/assets/scss/index.css");
16
+ const finalCssPath = existsSync(scssPath) ? scssPath : cssPath;
17
+ nuxt.options.css.push(finalCssPath);
18
+ const sharedIgnored = [
19
+ "**/node_modules/**",
20
+ "**/.nuxt/**",
21
+ "**/.output/**",
22
+ "**/dist/**",
23
+ "**/.git/**",
24
+ "**/tmp/**",
25
+ "**/.firebase/**"
26
+ ];
27
+ nuxt.options.watchers = nuxt.options.watchers || {};
28
+ const chokidar = nuxt.options.watchers.chokidar = nuxt.options.watchers.chokidar || {};
29
+ const existingIgnored = chokidar.ignored ? Array.isArray(chokidar.ignored) ? chokidar.ignored : [chokidar.ignored] : [];
30
+ chokidar.ignored = [.../* @__PURE__ */ new Set([...existingIgnored, ...sharedIgnored])];
31
+ chokidar.usePolling = true;
32
+ chokidar.interval = 1e3;
33
+ nuxt.options.nitro = nuxt.options.nitro || {};
34
+ const watchOptions = nuxt.options.nitro.watchOptions = nuxt.options.nitro.watchOptions || {};
35
+ watchOptions.usePolling = true;
36
+ watchOptions.interval = 1e3;
37
+ watchOptions.ignored = sharedIgnored;
38
+ nuxt.hook("vite:extendConfig", (config) => {
39
+ const server = config.server || (config.server = {});
40
+ const watch = server.watch || (server.watch = {});
41
+ const currentIgnored = watch.ignored || [];
42
+ if (Array.isArray(currentIgnored)) {
43
+ watch.ignored = [.../* @__PURE__ */ new Set([...currentIgnored, ...sharedIgnored])];
44
+ } else if (currentIgnored) {
45
+ watch.ignored = [currentIgnored, ...sharedIgnored];
46
+ } else {
47
+ watch.ignored = sharedIgnored;
48
+ }
49
+ watch.usePolling = true;
50
+ watch.interval = 1e3;
51
+ const fs = server.fs || (server.fs = {});
52
+ const allow = fs.allow || (fs.allow = []);
53
+ if (!allow.includes(runtimePath)) {
54
+ allow.push(runtimePath);
55
+ }
56
+ const ssr = config.ssr || (config.ssr = {});
57
+ const noExternal = ssr.noExternal || (ssr.noExternal = []);
58
+ if (Array.isArray(noExternal) && !noExternal.includes("@katlux/toolkit")) {
59
+ noExternal.push("@katlux/toolkit");
60
+ }
61
+ });
10
62
  addComponentsDir({
11
63
  path: resolve("./runtime/components"),
12
64
  pathPrefix: false,
@@ -9,19 +9,19 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
9
9
  default: number;
10
10
  };
11
11
  definedDays: {
12
- type: PropType<import("./types.js").IDefinedDay[]>;
12
+ type: import("vue").PropType<import("./types.js").IDefinedDay[]>;
13
13
  default: () => never[];
14
14
  };
15
15
  markedDays: {
16
- type: PropType<import("./types.js").IMarkedDay[]>;
16
+ type: import("vue").PropType<import("./types.js").IMarkedDay[]>;
17
17
  default: () => never[];
18
18
  };
19
19
  day: {
20
- type: PropType<Date | String>;
20
+ type: import("vue").PropType<Date | String>;
21
21
  required: boolean;
22
22
  };
23
23
  selectedDay: {
24
- type: PropType<Date | String>;
24
+ type: import("vue").PropType<Date | String>;
25
25
  default: null;
26
26
  };
27
27
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
@@ -38,19 +38,19 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
38
38
  default: number;
39
39
  };
40
40
  definedDays: {
41
- type: PropType<import("./types.js").IDefinedDay[]>;
41
+ type: import("vue").PropType<import("./types.js").IDefinedDay[]>;
42
42
  default: () => never[];
43
43
  };
44
44
  markedDays: {
45
- type: PropType<import("./types.js").IMarkedDay[]>;
45
+ type: import("vue").PropType<import("./types.js").IMarkedDay[]>;
46
46
  default: () => never[];
47
47
  };
48
48
  day: {
49
- type: PropType<Date | String>;
49
+ type: import("vue").PropType<Date | String>;
50
50
  required: boolean;
51
51
  };
52
52
  selectedDay: {
53
- type: PropType<Date | String>;
53
+ type: import("vue").PropType<Date | String>;
54
54
  default: null;
55
55
  };
56
56
  }>> & Readonly<{
@@ -59,10 +59,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
59
59
  }>, {
60
60
  view: string;
61
61
  viewCount: number;
62
- definedDays: any;
63
- markedDays: any;
64
- day: any;
65
- selectedDay: any;
62
+ definedDays: import("./types.js").IDefinedDay[];
63
+ markedDays: import("./types.js").IMarkedDay[];
64
+ selectedDay: String | Date;
66
65
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
67
66
  declare const _default: typeof __VLS_export;
68
67
  export default _default;
@@ -9,19 +9,19 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
9
9
  default: number;
10
10
  };
11
11
  definedDays: {
12
- type: PropType<import("./types.js").IDefinedDay[]>;
12
+ type: import("vue").PropType<import("./types.js").IDefinedDay[]>;
13
13
  default: () => never[];
14
14
  };
15
15
  markedDays: {
16
- type: PropType<import("./types.js").IMarkedDay[]>;
16
+ type: import("vue").PropType<import("./types.js").IMarkedDay[]>;
17
17
  default: () => never[];
18
18
  };
19
19
  day: {
20
- type: PropType<Date | String>;
20
+ type: import("vue").PropType<Date | String>;
21
21
  required: boolean;
22
22
  };
23
23
  selectedDay: {
24
- type: PropType<Date | String>;
24
+ type: import("vue").PropType<Date | String>;
25
25
  default: null;
26
26
  };
27
27
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
@@ -38,19 +38,19 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
38
38
  default: number;
39
39
  };
40
40
  definedDays: {
41
- type: PropType<import("./types.js").IDefinedDay[]>;
41
+ type: import("vue").PropType<import("./types.js").IDefinedDay[]>;
42
42
  default: () => never[];
43
43
  };
44
44
  markedDays: {
45
- type: PropType<import("./types.js").IMarkedDay[]>;
45
+ type: import("vue").PropType<import("./types.js").IMarkedDay[]>;
46
46
  default: () => never[];
47
47
  };
48
48
  day: {
49
- type: PropType<Date | String>;
49
+ type: import("vue").PropType<Date | String>;
50
50
  required: boolean;
51
51
  };
52
52
  selectedDay: {
53
- type: PropType<Date | String>;
53
+ type: import("vue").PropType<Date | String>;
54
54
  default: null;
55
55
  };
56
56
  }>> & Readonly<{
@@ -59,10 +59,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
59
59
  }>, {
60
60
  view: string;
61
61
  viewCount: number;
62
- definedDays: any;
63
- markedDays: any;
64
- day: any;
65
- selectedDay: any;
62
+ definedDays: import("./types.js").IDefinedDay[];
63
+ markedDays: import("./types.js").IMarkedDay[];
64
+ selectedDay: String | Date;
66
65
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
67
66
  declare const _default: typeof __VLS_export;
68
67
  export default _default;
@@ -1,3 +1,4 @@
1
+ import { type PropType } from 'vue';
1
2
  import type { IMarkedDay, IDefinedDay } from './types.js';
2
3
  export interface KCalendarProps {
3
4
  view?: string;
@@ -33,14 +33,30 @@ export function useKCalendarLogic(props, emit) {
33
33
  const actualWeek = ref();
34
34
  const actualYear = ref();
35
35
  const currentView = computed(() => props.view ?? "month");
36
+ function initViewFromDate(dateInput) {
37
+ if (!dateInput) return false;
38
+ const date = typeof dateInput === "string" ? new Date(dateInput) : dateInput;
39
+ if (!isNaN(date.getTime())) {
40
+ actualMonth.value = date.getMonth() + 1;
41
+ actualYear.value = date.getFullYear();
42
+ return true;
43
+ }
44
+ return false;
45
+ }
36
46
  watch(
37
47
  () => props.day,
38
48
  (newVal) => {
39
49
  if (!newVal) return;
40
- const date = typeof newVal === "string" ? new Date(newVal) : newVal;
41
- if (!isNaN(date.getTime())) {
42
- actualMonth.value = date.getMonth() + 1;
43
- actualYear.value = date.getFullYear();
50
+ initViewFromDate(newVal);
51
+ },
52
+ { immediate: true }
53
+ );
54
+ watch(
55
+ () => props.selectedDay,
56
+ (newValue) => {
57
+ monthSelectedDay.value = newValue ?? "";
58
+ if (!props.day && actualYear.value === void 0) {
59
+ initViewFromDate(newValue);
44
60
  }
45
61
  },
46
62
  { immediate: true }
@@ -52,14 +68,13 @@ export function useKCalendarLogic(props, emit) {
52
68
  emit("update:selectedDay", newValue);
53
69
  }
54
70
  );
55
- watch(
56
- () => props.selectedDay,
57
- (newValue) => {
58
- monthSelectedDay.value = newValue;
59
- }
60
- );
61
71
  onMounted(() => {
62
72
  monthSelectedDay.value = props.selectedDay || "";
73
+ if (actualYear.value === void 0) {
74
+ const now = /* @__PURE__ */ new Date();
75
+ actualMonth.value = now.getMonth() + 1;
76
+ actualYear.value = now.getFullYear();
77
+ }
63
78
  });
64
79
  const months = [
65
80
  "January",
@@ -1,6 +1,6 @@
1
1
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  dataProvider: {
3
- type: PropType<import("@katlux/providers").ADataProvider>;
3
+ type: import("vue").PropType<import("@katlux/providers").ADataProvider>;
4
4
  required: boolean;
5
5
  };
6
6
  closeOnSelect: {
@@ -28,7 +28,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
28
28
  default: boolean;
29
29
  };
30
30
  visibleFields: {
31
- type: PropType<Array<String>>;
31
+ type: import("vue").PropType<Array<String>>;
32
32
  default: null;
33
33
  };
34
34
  labelField: {
@@ -36,14 +36,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
36
36
  required: boolean;
37
37
  };
38
38
  modelValue: {
39
- type: PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
39
+ type: import("vue").PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
40
40
  default: null;
41
41
  };
42
+ teleportTo: {
43
+ type: import("vue").PropType<string>;
44
+ default: undefined;
45
+ };
42
46
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
43
47
  "update:modelValue": (value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any;
44
48
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
45
49
  dataProvider: {
46
- type: PropType<import("@katlux/providers").ADataProvider>;
50
+ type: import("vue").PropType<import("@katlux/providers").ADataProvider>;
47
51
  required: boolean;
48
52
  };
49
53
  closeOnSelect: {
@@ -71,7 +75,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
75
  default: boolean;
72
76
  };
73
77
  visibleFields: {
74
- type: PropType<Array<String>>;
78
+ type: import("vue").PropType<Array<String>>;
75
79
  default: null;
76
80
  };
77
81
  labelField: {
@@ -79,21 +83,25 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
79
83
  required: boolean;
80
84
  };
81
85
  modelValue: {
82
- type: PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
86
+ type: import("vue").PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
83
87
  default: null;
84
88
  };
89
+ teleportTo: {
90
+ type: import("vue").PropType<string>;
91
+ default: undefined;
92
+ };
85
93
  }>> & Readonly<{
86
94
  "onUpdate:modelValue"?: ((value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any) | undefined;
87
95
  }>, {
88
96
  disabled: boolean;
89
- modelValue: any;
90
- searchbox: boolean;
97
+ modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
91
98
  placeholder: string;
92
- dataProvider: any;
99
+ searchbox: boolean;
100
+ teleportTo: string;
93
101
  closeOnSelect: boolean;
94
102
  multiSelect: boolean;
95
103
  maxSelectedDisplay: string | number | boolean;
96
- visibleFields: any;
104
+ visibleFields: String[];
97
105
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
106
  declare const _default: typeof __VLS_export;
99
107
  export default _default;
@@ -31,13 +31,17 @@ const templateProps = computed(() => ({
31
31
  closeDropdown,
32
32
  selectItem,
33
33
  isSelected,
34
- loading: loading.value
34
+ loading: loading.value,
35
+ teleportTo: props.teleportTo
35
36
  }));
36
37
  function updateSearchText(val) {
37
38
  searchtext.value = val;
38
39
  }
40
+ function updateIsOptionsOpen(val) {
41
+ isOptionsOpen.value = val;
42
+ }
39
43
  </script>
40
44
 
41
45
  <template lang="pug">
42
- component(:is="presetComponent" v-bind="templateProps" @update:searchtext="updateSearchText")
46
+ component(:is="presetComponent" v-bind="{...templateProps, ...$attrs}" @update:searchtext="updateSearchText" @update:isOptionsOpen="updateIsOptionsOpen")
43
47
  </template>
@@ -1,6 +1,6 @@
1
1
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  dataProvider: {
3
- type: PropType<import("@katlux/providers").ADataProvider>;
3
+ type: import("vue").PropType<import("@katlux/providers").ADataProvider>;
4
4
  required: boolean;
5
5
  };
6
6
  closeOnSelect: {
@@ -28,7 +28,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
28
28
  default: boolean;
29
29
  };
30
30
  visibleFields: {
31
- type: PropType<Array<String>>;
31
+ type: import("vue").PropType<Array<String>>;
32
32
  default: null;
33
33
  };
34
34
  labelField: {
@@ -36,14 +36,18 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
36
36
  required: boolean;
37
37
  };
38
38
  modelValue: {
39
- type: PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
39
+ type: import("vue").PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
40
40
  default: null;
41
41
  };
42
+ teleportTo: {
43
+ type: import("vue").PropType<string>;
44
+ default: undefined;
45
+ };
42
46
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
43
47
  "update:modelValue": (value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any;
44
48
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
45
49
  dataProvider: {
46
- type: PropType<import("@katlux/providers").ADataProvider>;
50
+ type: import("vue").PropType<import("@katlux/providers").ADataProvider>;
47
51
  required: boolean;
48
52
  };
49
53
  closeOnSelect: {
@@ -71,7 +75,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
71
75
  default: boolean;
72
76
  };
73
77
  visibleFields: {
74
- type: PropType<Array<String>>;
78
+ type: import("vue").PropType<Array<String>>;
75
79
  default: null;
76
80
  };
77
81
  labelField: {
@@ -79,21 +83,25 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
79
83
  required: boolean;
80
84
  };
81
85
  modelValue: {
82
- type: PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
86
+ type: import("vue").PropType<import("./KCombobox.logic.js").ComboboxItem | import("./KCombobox.logic.js").ComboboxItem[] | null>;
83
87
  default: null;
84
88
  };
89
+ teleportTo: {
90
+ type: import("vue").PropType<string>;
91
+ default: undefined;
92
+ };
85
93
  }>> & Readonly<{
86
94
  "onUpdate:modelValue"?: ((value: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null) => any) | undefined;
87
95
  }>, {
88
96
  disabled: boolean;
89
- modelValue: any;
90
- searchbox: boolean;
97
+ modelValue: import("@katlux/providers").TDataRow | import("@katlux/providers").TDataRow[] | null;
91
98
  placeholder: string;
92
- dataProvider: any;
99
+ searchbox: boolean;
100
+ teleportTo: string;
93
101
  closeOnSelect: boolean;
94
102
  multiSelect: boolean;
95
103
  maxSelectedDisplay: string | number | boolean;
96
- visibleFields: any;
104
+ visibleFields: String[];
97
105
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
106
  declare const _default: typeof __VLS_export;
99
107
  export default _default;
@@ -0,0 +1,78 @@
1
+ import type { ADataProvider } from '@katlux/providers';
2
+ import { type TDataRow } from '@katlux/providers';
3
+ import { type PropType } from 'vue';
4
+ export type ComboboxItem = TDataRow;
5
+ export interface KComboboxProps {
6
+ dataProvider: ADataProvider;
7
+ closeOnSelect?: boolean;
8
+ disabled?: boolean;
9
+ multiSelect?: boolean;
10
+ maxSelectedDisplay?: number | string | false;
11
+ placeholder?: string;
12
+ searchbox?: boolean;
13
+ visibleFields?: Array<String> | null;
14
+ labelField: string;
15
+ modelValue?: ComboboxItem | ComboboxItem[] | null;
16
+ teleportTo?: string;
17
+ }
18
+ export interface KComboboxEmits {
19
+ (e: 'update:modelValue', value: ComboboxItem | ComboboxItem[] | null): void;
20
+ }
21
+ export declare const KComboboxDefaultProps: {
22
+ dataProvider: {
23
+ type: PropType<ADataProvider>;
24
+ required: boolean;
25
+ };
26
+ closeOnSelect: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ disabled: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ multiSelect: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ maxSelectedDisplay: {
39
+ type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
40
+ default: boolean;
41
+ };
42
+ placeholder: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ searchbox: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ visibleFields: {
51
+ type: PropType<Array<String>>;
52
+ default: null;
53
+ };
54
+ labelField: {
55
+ type: StringConstructor;
56
+ required: boolean;
57
+ };
58
+ modelValue: {
59
+ type: PropType<ComboboxItem | ComboboxItem[] | null>;
60
+ default: null;
61
+ };
62
+ teleportTo: {
63
+ type: PropType<string>;
64
+ default: undefined;
65
+ };
66
+ };
67
+ export declare function useKComboboxLogic(props: KComboboxProps, emit: KComboboxEmits): {
68
+ selectedItems: import("vue").Ref<TDataRow[] | null, TDataRow[] | null>;
69
+ isOptionsOpen: import("vue").Ref<boolean, boolean>;
70
+ searchtext: import("vue").Ref<string, string>;
71
+ selectItem: (option: ComboboxItem) => void;
72
+ isSelected: (option: ComboboxItem) => boolean | undefined;
73
+ getSelectedContent: () => TDataRow[];
74
+ toggleDropdown: () => void;
75
+ closeDropdown: () => void;
76
+ filteredOptions: import("vue").ComputedRef<TDataRow[]>;
77
+ loading: import("vue").ComputedRef<Boolean>;
78
+ };