@kungal/ui-vue 1.9.3 → 1.9.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @kungal/ui-vue
2
2
 
3
+ ## 1.9.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 770b77b: fix(vue): DatePicker trigger — gap + truncation between text and calendar icon
8
+
9
+ The trigger only had `justify-between` (no gap), so in a narrow field the
10
+ placeholder/value text butted right against the calendar icon with no spacing
11
+ (and looked vertically off). Adopted the Select trigger's pattern: `gap-2` on the
12
+ button, `min-w-0 flex-1 truncate` on the text, and `shrink-0` on the icon group —
13
+ so there's always an 8px gap, the text truncates gracefully, and the icon stays
14
+ put. (Audited Select, Autocomplete and the input family — they already do this;
15
+ DatePicker was the only one missing it.)
16
+
17
+ - @kungal/ui-core@1.9.5
18
+
19
+ ## 1.9.4
20
+
21
+ ### Patch Changes
22
+
23
+ - 92d0ff4: fix: DatePicker month/year nav closing on mobile; Enter key hijacked to "Next"
24
+
25
+ - **DatePicker**: the calendar panel is teleported to `<body>`, so its month/year
26
+ nav buttons were treated as outside-clicks and closed the picker (felt on mobile,
27
+ where you must tap the nav). Added the same `dropdownRef.contains` guard that
28
+ Select/Autocomplete already use; outside clicks still close it.
29
+ - **Mobile "Next" key**: on a page with several fields the virtual keyboard shows a
30
+ "Next" action that jumps to the next field instead of firing Enter — breaking
31
+ inputs whose Enter does an in-component action. Declared `enterkeyhint` on those:
32
+ TagInput (`enter`, add tag), Autocomplete & searchable Select (`done`, pick the
33
+ active option), Pagination jump field (`go`). Plain Input/Textarea/NumberInput/
34
+ PinInput are unchanged (field-to-field "Next" is correct there).
35
+ - @kungal/ui-core@1.9.4
36
+
3
37
  ## 1.9.3
4
38
 
5
39
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.vue.d.ts","sourceRoot":"","sources":["../../src/components/Autocomplete.vue"],"names":[],"mappings":"AAyWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQ1E,KAAK,WAAW,GAAG,oBAAoB,CAAC;AA6MxC,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAuBF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAkRxD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Autocomplete.vue.d.ts","sourceRoot":"","sources":["../../src/components/Autocomplete.vue"],"names":[],"mappings":"AA0WA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQ1E,KAAK,WAAW,GAAG,oBAAoB,CAAC;AA6MxC,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAuBF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAmRxD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.vue.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.vue"],"names":[],"mappings":"AAkWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAstBjD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"DatePicker.vue.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.vue"],"names":[],"mappings":"AAwWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AA+tBjD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;6EAIhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.vue.d.ts","sourceRoot":"","sources":["../../src/components/Pagination.vue"],"names":[],"mappings":"AAyLA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAuWjD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Pagination.vue.d.ts","sourceRoot":"","sources":["../../src/components/Pagination.vue"],"names":[],"mappings":"AA0LA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAwWjD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue.d.ts","sourceRoot":"","sources":["../../src/components/Select.vue"],"names":[],"mappings":"AA2eA,OAAO,KAAK,EAAmB,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE9E,QAAA,MAAM,YAAY,GAAK,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAisBO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;oBA5a5C,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;;;;KA4aiE,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;WACH,EAAE;UACH,+GAAoC;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"Select.vue.d.ts","sourceRoot":"","sources":["../../src/components/Select.vue"],"names":[],"mappings":"AA4eA,OAAO,KAAK,EAAmB,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE9E,QAAA,MAAM,YAAY,GAAK,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAksBO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;oBA7a5C,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;;;;KA6aiE,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;WACH,EAAE;UACH,+GAAoC;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagInput.vue.d.ts","sourceRoot":"","sources":["../../src/components/TagInput.vue"],"names":[],"mappings":"AA2ZA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAIzE,KAAK,WAAW,GAAG,gBAAgB,CAAC;AA+SpC,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAgCF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AA6KxD,QAAA,IAAI,OAAO;;;;CAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAO3C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAId,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"TagInput.vue.d.ts","sourceRoot":"","sources":["../../src/components/TagInput.vue"],"names":[],"mappings":"AA4ZA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAIzE,KAAK,WAAW,GAAG,gBAAgB,CAAC;AA+SpC,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAgCF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AA8KxD,QAAA,IAAI,OAAO;;;;CAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAO3C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAId,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
package/dist/index.js CHANGED
@@ -684,7 +684,8 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
684
684
  }, [u("input", _({
685
685
  id: P(x),
686
686
  ref_key: "inputRef",
687
- ref: A
687
+ ref: A,
688
+ enterkeyhint: "done"
688
689
  }, r.$attrs, {
689
690
  value: p.value,
690
691
  type: "text",
@@ -2300,7 +2301,7 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
2300
2301
  }, ii = {
2301
2302
  key: 0,
2302
2303
  class: "text-default-700 mb-1 block text-sm font-medium"
2303
- }, ai = { class: "relative" }, oi = ["disabled"], si = { class: "flex items-center" }, ci = { class: "flex items-center justify-between" }, li = { class: "flex items-center gap-2" }, ui = { class: "font-semibold" }, di = { class: "flex items-center gap-2" }, fi = { class: "text-default-600 mt-3 grid grid-cols-7 text-center text-xs" }, pi = {
2304
+ }, ai = { class: "relative" }, oi = ["disabled"], si = { class: "flex shrink-0 items-center" }, ci = { class: "flex items-center justify-between" }, li = { class: "flex items-center gap-2" }, ui = { class: "font-semibold" }, di = { class: "flex items-center gap-2" }, fi = { class: "text-default-600 mt-3 grid grid-cols-7 text-center text-xs" }, pi = {
2304
2305
  class: "mt-1 grid grid-cols-7",
2305
2306
  role: "grid"
2306
2307
  }, mi = [
@@ -2349,7 +2350,9 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
2349
2350
  emits: ["update:modelValue"],
2350
2351
  setup(e, { emit: r }) {
2351
2352
  let a = e, p = Q(() => a.rounded), m = o(() => X[p.value]), h = r, g = D(!1), _ = D(null), x = D(null), S = D(null);
2352
- be(_, () => g.value = !1);
2353
+ be(_, (e) => {
2354
+ x.value?.contains(e.target) || (g.value = !1);
2355
+ });
2353
2356
  let { floatingStyles: C, placement: T } = Ne(_, x, {
2354
2357
  placement: "bottom-start",
2355
2358
  open: g,
@@ -2421,9 +2424,9 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
2421
2424
  u("div", ai, [u("button", {
2422
2425
  type: "button",
2423
2426
  disabled: e.disabled,
2424
- class: y(P(q)("flex w-full cursor-pointer items-center justify-between text-left transition-[color,box-shadow]", P(ce)[a.size], m.value, "bg-content1 shadow-kun-sm border", e.error ? P(q)("border-danger-300", P(Y).danger) : P(q)("border-kun", P(Y)[e.color]), e.disabled && "cursor-not-allowed opacity-60")),
2427
+ class: y(P(q)("flex w-full cursor-pointer items-center justify-between gap-2 text-left transition-[color,box-shadow]", P(ce)[a.size], m.value, "bg-content1 shadow-kun-sm border", e.error ? P(q)("border-danger-300", P(Y).danger) : P(q)("border-kun", P(Y)[e.color]), e.disabled && "cursor-not-allowed opacity-60")),
2425
2428
  onClick: le
2426
- }, [u("span", { class: y(["block truncate", { "text-default-400": !se.value }]) }, j(se.value || e.placeholder), 3), u("div", si, [e.clearable && se.value ? (w(), l("button", {
2429
+ }, [u("span", { class: y(["block min-w-0 flex-1 truncate", { "text-default-400": !se.value }]) }, j(se.value || e.placeholder), 3), u("div", si, [e.clearable && se.value ? (w(), l("button", {
2427
2430
  key: 0,
2428
2431
  class: "text-default-500 hover:text-default-800 mr-2 p-1",
2429
2432
  "aria-label": "Clear date",
@@ -4270,6 +4273,7 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
4270
4273
  id: P(c),
4271
4274
  "onUpdate:modelValue": r[2] ||= (e) => a.value = e,
4272
4275
  type: "number",
4276
+ enterkeyhint: "go",
4273
4277
  disabled: e.isLoading,
4274
4278
  min: "1",
4275
4279
  max: e.totalPage,
@@ -5073,6 +5077,7 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
5073
5077
  ref: A,
5074
5078
  "onUpdate:modelValue": o[2] ||= (e) => S.value = e,
5075
5079
  type: "text",
5080
+ enterkeyhint: "done",
5076
5081
  placeholder: e.searchPlaceholder,
5077
5082
  role: "combobox",
5078
5083
  "aria-controls": _.value,
@@ -6143,6 +6148,7 @@ var tt = Symbol("kun-accordion"), nt = /* @__PURE__ */ p({
6143
6148
  ref: m,
6144
6149
  "onUpdate:modelValue": r[1] ||= (e) => g.value = e,
6145
6150
  type: "text",
6151
+ enterkeyhint: "enter",
6146
6152
  placeholder: d.value.length === 0 ? e.placeholder : "",
6147
6153
  disabled: e.disabled,
6148
6154
  readonly: re.value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungal/ui-vue",
3
- "version": "1.9.3",
3
+ "version": "1.9.5",
4
4
  "description": "KunUI Vue 3 component layer — Nuxt-decoupled. Works in any Vue app; pairs with @kungal/ui-nuxt for Nuxt sugar.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -50,7 +50,7 @@
50
50
  "date-fns": "^4.1.0",
51
51
  "focus-trap": "^8.2.1",
52
52
  "vue-advanced-cropper": "^2.8.9",
53
- "@kungal/ui-core": "1.9.3"
53
+ "@kungal/ui-core": "1.9.5"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "vue": "^3.5.0"
@@ -62,7 +62,7 @@
62
62
  "vite": "^8.0.16",
63
63
  "vue": "^3.5.35",
64
64
  "vue-tsc": "^3.3.3",
65
- "@kungal/ui-tokens": "1.9.3"
65
+ "@kungal/ui-tokens": "1.9.5"
66
66
  },
67
67
  "scripts": {
68
68
  "build": "vite build && cp src/prose.css dist/prose.css && vue-tsc -p tsconfig.build.json",