@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 +34 -0
- package/dist/components/Autocomplete.vue.d.ts.map +1 -1
- package/dist/components/DatePicker.vue.d.ts.map +1 -1
- package/dist/components/Pagination.vue.d.ts.map +1 -1
- package/dist/components/Select.vue.d.ts.map +1 -1
- package/dist/components/TagInput.vue.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/package.json +3 -3
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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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(_, () =>
|
|
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
|
+
"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.
|
|
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.
|
|
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",
|