hisonvue 1.1.21 → 1.1.23
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/LICENSE +21 -21
- package/README.md +260 -260
- package/dist/{HAccordion-Djhoj_2Q.mjs → HAccordion-BFl1mLFn.mjs} +2 -2
- package/dist/{HAccordion-a5UZil7t.js → HAccordion-D4VuY7dP.js} +1 -1
- package/dist/{HBaggie-CD26mD1p.js → HBaggie-B2-hUbeO.js} +1 -1
- package/dist/{HBaggie-YMHv54ny.mjs → HBaggie-Cu0cqy_0.mjs} +2 -2
- package/dist/{HBanner-DEcDBbAa.js → HBanner-Bbp_22he.js} +1 -1
- package/dist/{HBanner-Glkj36dA.mjs → HBanner-CJhgh8Av.mjs} +2 -2
- package/dist/{HButton-DlOQpSFM.mjs → HButton-BJy7qJxO.mjs} +2 -2
- package/dist/{HButton-zN47uq3g.js → HButton-CnI66WaY.js} +1 -1
- package/dist/{HCalendar-PxP8M1kE.js → HCalendar-Birc716P.js} +2 -2
- package/dist/{HCalendar-Cr2oVDTO.mjs → HCalendar-CkzhtP-a.mjs} +2 -2
- package/dist/{HCaption-BbrgZlbJ.mjs → HCaption-CvfOGjLH.mjs} +1 -1
- package/dist/{HCaption-DxOZcWcP.js → HCaption-o7zHNPFi.js} +1 -1
- package/dist/{HChart-BcslvuI8.mjs → HChart-9HpLcSAF.mjs} +1 -1
- package/dist/{HChart-D217Yxxq.js → HChart-CRNhurrL.js} +1 -1
- package/dist/HDrawer-C4C1soyr.js +1 -0
- package/dist/{HDrawer-DlMTX7M_.mjs → HDrawer-_GV5YZAt.mjs} +163 -163
- package/dist/{HDropdown-BhJOYbaN.js → HDropdown-CZOjJzGI.js} +1 -1
- package/dist/{HDropdown-CvV8k1qQ.mjs → HDropdown-rOSEF1le.mjs} +2 -2
- package/dist/{HFileset-C6dqnLa8.js → HFileset-BWdpsZxK.js} +1 -1
- package/dist/{HFileset-x00ZXjyE.mjs → HFileset-DEtMGoeG.mjs} +1 -1
- package/dist/{HGap-Do40sUXA.mjs → HGap-Bu7F233f.mjs} +1 -1
- package/dist/{HGap-BgzODoWp.js → HGap-DzddYH3m.js} +1 -1
- package/dist/{HGrid-Dp7v84g5.mjs → HGrid--_YRxc-I.mjs} +1 -1
- package/dist/{HGrid-CAU32_zq.js → HGrid-Bt_iy9Kt.js} +1 -1
- package/dist/{HImagebox-FYftlSK2.mjs → HImagebox-BOE4P4WI.mjs} +1 -1
- package/dist/{HImagebox-XTSKnoBD.js → HImagebox-BSjnoCEL.js} +1 -1
- package/dist/HInput-BPqc5Yki.js +1 -0
- package/dist/{HInput-CInEGmfe.mjs → HInput-WrTJ-7Za.mjs} +364 -451
- package/dist/HInputGroup-B9TLmdJA.mjs +320 -0
- package/dist/HInputGroup-CmYq67bE.js +1 -0
- package/dist/{HLabel-uSniKpDF.js → HLabel-BOD2RCZp.js} +1 -1
- package/dist/{HLabel-B4n5-mtx.mjs → HLabel-D5wM-IkN.mjs} +2 -2
- package/dist/{HLayout-BsPro3dN.mjs → HLayout-B5lrXA5M.mjs} +1 -1
- package/dist/{HLayout-wEq-lzHN.js → HLayout-ddBZkvt_.js} +1 -1
- package/dist/{HList-DcV0Ssb3.js → HList-CAsiBzwq.js} +1 -1
- package/dist/{HList-Dko7kLGO.mjs → HList-qvvMg1GY.mjs} +2 -2
- package/dist/{HModal-BkjH2wMJ.js → HModal-CK9wkc73.js} +1 -1
- package/dist/{HModal-D_vWZ5My.mjs → HModal-DxuxiUAp.mjs} +1 -1
- package/dist/{HNote-CbfXDxO2.mjs → HNote-8-eRuRxV.mjs} +2 -2
- package/dist/HNote-DAiqR0NK.js +1 -0
- package/dist/{HPagination-HDTloKdH.js → HPagination-D2EbHt09.js} +1 -1
- package/dist/{HPagination-Cq2OV1tY.mjs → HPagination-DSfxM1dp.mjs} +2 -2
- package/dist/{HParagraph-BUGeL78g.mjs → HParagraph-BwXjwyuQ.mjs} +1 -1
- package/dist/{HParagraph-Bg2lZxZR.js → HParagraph-CBsf7TXw.js} +1 -1
- package/dist/{HPopup-Lqxe1H-e.mjs → HPopup-CFt35psB.mjs} +1 -1
- package/dist/{HPopup-3KITyE24.js → HPopup-DF9ffRS8.js} +1 -1
- package/dist/{HSpinner-BqVl4t2n.js → HSpinner-CUBK5bDY.js} +1 -1
- package/dist/{HSpinner-VJJNUuXg.mjs → HSpinner-DYOnQbZ_.mjs} +1 -1
- package/dist/{HTable-6O4rYicc.mjs → HTable-CTqwvXER.mjs} +1 -1
- package/dist/{HTable-DzbCLDIn.js → HTable-Y-8ga-98.js} +1 -1
- package/dist/hisonvue.cjs.js +1 -1
- package/dist/hisonvue.css +1 -1
- package/dist/hisonvue.d.ts +97 -64
- package/dist/hisonvue.es.js +2 -2
- package/dist/{index-5k-aAQlJ.js → index-B6cKtmm6.js} +3 -3
- package/dist/{index-Cvhi7T4w.mjs → index-HfC1PNxb.mjs} +5 -7
- package/dist/{setButtonCssEvent-BScAn_gY.mjs → setButtonCssEvent-DKQg_9AF.mjs} +1 -1
- package/dist/{setButtonCssEvent-BI-R9EJt.js → setButtonCssEvent-fK8lE3Ve.js} +1 -1
- package/nuxt/module.mjs +40 -40
- package/nuxt/plugin.mjs +21 -21
- package/nuxt/warn-filter.mjs +41 -41
- package/package.json +56 -56
- package/dist/HDrawer-CtMgceI2.js +0 -1
- package/dist/HInput-DxhtO9q3.js +0 -1
- package/dist/HInputGroup-Cou5-12U.mjs +0 -281
- package/dist/HInputGroup-DrjZO_7J.js +0 -1
- package/dist/HNote-DQr6iUu0.js +0 -1
package/dist/hisonvue.d.ts
CHANGED
|
@@ -8245,6 +8245,10 @@ id: {
|
|
|
8245
8245
|
type: StringConstructor;
|
|
8246
8246
|
required: boolean;
|
|
8247
8247
|
};
|
|
8248
|
+
dataKey: {
|
|
8249
|
+
type: StringConstructor;
|
|
8250
|
+
required: boolean;
|
|
8251
|
+
};
|
|
8248
8252
|
name: {
|
|
8249
8253
|
type: StringConstructor;
|
|
8250
8254
|
required: boolean;
|
|
@@ -8360,11 +8364,6 @@ uncheckedText: {
|
|
|
8360
8364
|
type: StringConstructor;
|
|
8361
8365
|
default: string;
|
|
8362
8366
|
};
|
|
8363
|
-
tabIndex: {
|
|
8364
|
-
type: PropType<number | string | null>;
|
|
8365
|
-
default: null;
|
|
8366
|
-
validator: (v: any) => boolean;
|
|
8367
|
-
};
|
|
8368
8367
|
inputTextdHandler: {
|
|
8369
8368
|
type: PropType<(value: any) => string>;
|
|
8370
8369
|
default: undefined;
|
|
@@ -8374,6 +8373,11 @@ type: PropType<"default" | "switch">;
|
|
|
8374
8373
|
default: string;
|
|
8375
8374
|
validator: (v: any) => boolean;
|
|
8376
8375
|
};
|
|
8376
|
+
tabIndex: {
|
|
8377
|
+
type: PropType<number | string | null>;
|
|
8378
|
+
default: null;
|
|
8379
|
+
validator: (v: any) => boolean;
|
|
8380
|
+
};
|
|
8377
8381
|
}>, {
|
|
8378
8382
|
inputRef: Ref<HTMLTextAreaElement | HTMLSelectElement | HTMLInputElement | null, HTMLTextAreaElement | HTMLSelectElement | HTMLInputElement | null>;
|
|
8379
8383
|
inputTextRef: Ref<HTMLInputElement | null, HTMLInputElement | null>;
|
|
@@ -8381,6 +8385,8 @@ inputMethods: ComputedRef<HInputMethods | {
|
|
|
8381
8385
|
getType: () => "input";
|
|
8382
8386
|
getName: () => string;
|
|
8383
8387
|
setName: (name: string) => void;
|
|
8388
|
+
getDataKey: () => string;
|
|
8389
|
+
setDataKey: (dataKey: string) => void;
|
|
8384
8390
|
getText: () => string;
|
|
8385
8391
|
getValue: () => any;
|
|
8386
8392
|
setValue: (value: any) => void;
|
|
@@ -8442,6 +8448,10 @@ id: {
|
|
|
8442
8448
|
type: StringConstructor;
|
|
8443
8449
|
required: boolean;
|
|
8444
8450
|
};
|
|
8451
|
+
dataKey: {
|
|
8452
|
+
type: StringConstructor;
|
|
8453
|
+
required: boolean;
|
|
8454
|
+
};
|
|
8445
8455
|
name: {
|
|
8446
8456
|
type: StringConstructor;
|
|
8447
8457
|
required: boolean;
|
|
@@ -8557,11 +8567,6 @@ uncheckedText: {
|
|
|
8557
8567
|
type: StringConstructor;
|
|
8558
8568
|
default: string;
|
|
8559
8569
|
};
|
|
8560
|
-
tabIndex: {
|
|
8561
|
-
type: PropType<number | string | null>;
|
|
8562
|
-
default: null;
|
|
8563
|
-
validator: (v: any) => boolean;
|
|
8564
|
-
};
|
|
8565
8570
|
inputTextdHandler: {
|
|
8566
8571
|
type: PropType<(value: any) => string>;
|
|
8567
8572
|
default: undefined;
|
|
@@ -8571,6 +8576,11 @@ type: PropType<"default" | "switch">;
|
|
|
8571
8576
|
default: string;
|
|
8572
8577
|
validator: (v: any) => boolean;
|
|
8573
8578
|
};
|
|
8579
|
+
tabIndex: {
|
|
8580
|
+
type: PropType<number | string | null>;
|
|
8581
|
+
default: null;
|
|
8582
|
+
validator: (v: any) => boolean;
|
|
8583
|
+
};
|
|
8574
8584
|
}>> & Readonly<{
|
|
8575
8585
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
8576
8586
|
onInput?: ((...args: any[]) => any) | undefined;
|
|
@@ -8654,6 +8664,10 @@ id: {
|
|
|
8654
8664
|
type: StringConstructor;
|
|
8655
8665
|
required: boolean;
|
|
8656
8666
|
};
|
|
8667
|
+
dataKey: {
|
|
8668
|
+
type: StringConstructor;
|
|
8669
|
+
required: boolean;
|
|
8670
|
+
};
|
|
8657
8671
|
name: {
|
|
8658
8672
|
type: StringConstructor;
|
|
8659
8673
|
required: boolean;
|
|
@@ -8769,11 +8783,6 @@ uncheckedText: {
|
|
|
8769
8783
|
type: StringConstructor;
|
|
8770
8784
|
default: string;
|
|
8771
8785
|
};
|
|
8772
|
-
tabIndex: {
|
|
8773
|
-
type: PropType<number | string | null>;
|
|
8774
|
-
default: null;
|
|
8775
|
-
validator: (v: any) => boolean;
|
|
8776
|
-
};
|
|
8777
8786
|
inputTextdHandler: {
|
|
8778
8787
|
type: PropType<(value: any) => string>;
|
|
8779
8788
|
default: undefined;
|
|
@@ -8783,6 +8792,11 @@ type: PropType<"default" | "switch">;
|
|
|
8783
8792
|
default: string;
|
|
8784
8793
|
validator: (v: any) => boolean;
|
|
8785
8794
|
};
|
|
8795
|
+
tabIndex: {
|
|
8796
|
+
type: PropType<number | string | null>;
|
|
8797
|
+
default: null;
|
|
8798
|
+
validator: (v: any) => boolean;
|
|
8799
|
+
};
|
|
8786
8800
|
}>> & Readonly<{
|
|
8787
8801
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
8788
8802
|
onInput?: ((...args: any[]) => any) | undefined;
|
|
@@ -9133,6 +9147,18 @@ export declare interface HInputMethods extends ComponentMethods {
|
|
|
9133
9147
|
* - Does **not** toggle the radio’s checked state by itself.
|
|
9134
9148
|
*/
|
|
9135
9149
|
setName(name: string): void;
|
|
9150
|
+
/**
|
|
9151
|
+
* Gets the data extraction key for `HInputGroup`.
|
|
9152
|
+
* - Used as the key when `HInputGroup` extracts data.
|
|
9153
|
+
* - If empty, `HInput` falls back to `id`.
|
|
9154
|
+
*/
|
|
9155
|
+
getDataKey(): string;
|
|
9156
|
+
/**
|
|
9157
|
+
* Sets the data extraction key for `HInputGroup`.
|
|
9158
|
+
* - If empty, it falls back to `id`.
|
|
9159
|
+
* - This does not change the runtime identifier (`id`).
|
|
9160
|
+
*/
|
|
9161
|
+
setDataKey(dataKey: string): void;
|
|
9136
9162
|
/**
|
|
9137
9163
|
* Returns the formatted display text shown in the span layer.
|
|
9138
9164
|
* - Applies `format`, `nullText`, and masking logic based on `type`.
|
|
@@ -18965,12 +18991,13 @@ declare module 'vue' {
|
|
|
18965
18991
|
* - For `inputType="radio"`, the HTML `name` attribute **defines the group**.
|
|
18966
18992
|
* - `HInputGroup` aggregates radios by `name` and exposes/accepts values in the shape:
|
|
18967
18993
|
* ```ts
|
|
18968
|
-
* { [name: string]:
|
|
18994
|
+
* { [name: string]: selectedRadioKey | null }
|
|
18969
18995
|
* ```
|
|
18970
|
-
* where `
|
|
18996
|
+
* where `selectedRadioKey` is the `dataKey` of the checked `HInput`
|
|
18997
|
+
* (falls back to `id` when `dataKey` is omitted or empty).
|
|
18971
18998
|
* - When the user checks a radio:
|
|
18972
18999
|
* - The radio’s own `v-model` becomes `true` (others in the same group become `false`).
|
|
18973
|
-
* - The parent `HInputGroup` updates its mapping `{ [name]:
|
|
19000
|
+
* - The parent `HInputGroup` updates its mapping `{ [name]: dataKey | null }` (fallback to `id`).
|
|
18974
19001
|
* - If there is **no initial value** (no `v-model` provided), radios/checkboxes default to:
|
|
18975
19002
|
* - `getValue() === false`
|
|
18976
19003
|
* - `getText() === uncheckedText`
|
|
@@ -18983,13 +19010,13 @@ declare module 'vue' {
|
|
|
18983
19010
|
* <HInput id="r3" inputType="radio" name="theme" />
|
|
18984
19011
|
* </HInputGroup>
|
|
18985
19012
|
* ```
|
|
18986
|
-
* - Group `lang` → `{ lang: "r1" }`
|
|
19013
|
+
* - Group `lang` → `{ lang: "r1" }` (or the checked radio’s `dataKey` if provided)
|
|
18987
19014
|
* - Group `theme` → `{ theme: null }` (none selected)
|
|
18988
19015
|
*
|
|
18989
19016
|
* #### Dynamic re-grouping
|
|
18990
19017
|
* - Calling `setName('newGroup')` on a radio **moves** it to another group at runtime.
|
|
18991
19018
|
* - `HInputGroup` re-registers the membership and preserves the radio’s checked state,
|
|
18992
|
-
* updating its `{ [name]:
|
|
19019
|
+
* updating its `{ [name]: dataKey | null }` mapping accordingly (fallback to `id`).
|
|
18993
19020
|
*
|
|
18994
19021
|
* ---
|
|
18995
19022
|
*
|
|
@@ -19007,9 +19034,11 @@ declare module 'vue' {
|
|
|
19007
19034
|
*
|
|
19008
19035
|
* ---
|
|
19009
19036
|
*
|
|
19010
|
-
* ### 📛 About `id` and `
|
|
19037
|
+
* ### 📛 About `id`, `name`, and `dataKey`
|
|
19011
19038
|
* - `id` is applied to the **editable** input element and is used to access methods via
|
|
19012
19039
|
* `hison.component.getInput(id)`. If `name` is not provided, it **defaults to** `id`.
|
|
19040
|
+
* - `dataKey` is used by `HInputGroup` when extracting data (`getDataObject()` / `getDataModel()`).
|
|
19041
|
+
* If `dataKey` is omitted or empty, it falls back to `id`.
|
|
19013
19042
|
* - For the **readonly display** (span-text) that uses a hidden text input for layout consistency
|
|
19014
19043
|
* (i.e., for types other than `range`, `color`, `checkbox`, `radio`, `select`, `textarea`),
|
|
19015
19044
|
* the component renders:
|
|
@@ -19020,9 +19049,11 @@ declare module 'vue' {
|
|
|
19020
19049
|
* ---
|
|
19021
19050
|
*
|
|
19022
19051
|
* @prop {string} id - Unique input identifier. Enables runtime access via `hison.component.getInput(id)`.
|
|
19052
|
+
* @prop {string} [dataKey] - Data extraction key used by `HInputGroup`. Defaults to `id` when omitted/empty.
|
|
19023
19053
|
* @prop {string} [name] - HTML `name` attribute. Defaults to `id`.
|
|
19024
19054
|
* For `inputType="radio"`, this acts as the **group key**. `HInputGroup` will expose/accept the current
|
|
19025
|
-
* selection as `{ [name]:
|
|
19055
|
+
* selection as `{ [name]: selectedRadioKey | null }`, where `selectedRadioKey` is the checked radio’s `dataKey`
|
|
19056
|
+
* (fallback to `id`). When radios share the same `name`, only one can be `true`.
|
|
19026
19057
|
*
|
|
19027
19058
|
* @prop {string | string[] | Record<string, boolean>} [class] - Additional class string. Supports `hison-*` responsive system.
|
|
19028
19059
|
* @prop {string | CSSProperties | CSSProperties[]} [style] - Inline CSS style.
|
|
@@ -19082,9 +19113,8 @@ declare module 'vue' {
|
|
|
19082
19113
|
* and provides group-level runtime control such as loading data, resetting values,
|
|
19083
19114
|
* validating required fields, and checking modification state.
|
|
19084
19115
|
*
|
|
19085
|
-
* It is
|
|
19086
|
-
*
|
|
19087
|
-
* `hison.component.getInputGroup(id)` to expose runtime control methods like
|
|
19116
|
+
* It is designed to manage structured form data such as `Record<string, any>` and `DataModel`,
|
|
19117
|
+
* and integrates with `hison.component.getInputGroup(id)` to expose runtime control methods like
|
|
19088
19118
|
* `.load()`, `.clear()`, `.getDataObject()`, and more.
|
|
19089
19119
|
*
|
|
19090
19120
|
* ---
|
|
@@ -19093,7 +19123,6 @@ declare module 'vue' {
|
|
|
19093
19123
|
* - Automatically registers all child `<HInput>` components rendered inside its `<slot />`.
|
|
19094
19124
|
* - Supports loading data from:
|
|
19095
19125
|
* - `Record<string, any>`
|
|
19096
|
-
* - `InterfaceDataWrapper`
|
|
19097
19126
|
* - `InterfaceDataModel`
|
|
19098
19127
|
* - Two-way binding with `v-model` for entire form data as `Record<string, any>`.
|
|
19099
19128
|
* - Can reset all child inputs via `.clear()`.
|
|
@@ -19105,6 +19134,16 @@ declare module 'vue' {
|
|
|
19105
19134
|
*
|
|
19106
19135
|
* ---
|
|
19107
19136
|
*
|
|
19137
|
+
* ### 🧩 About `id` and `dataKey`
|
|
19138
|
+
* - Every child `HInput` must have a unique **`id`**. This `id` is used for runtime access
|
|
19139
|
+
* (e.g., `hison.component.getInput(id)`), focus control, and internal registration.
|
|
19140
|
+
* - For group-level data I/O (`v-model`, `getDataObject()`, `load()`, `setDataObject()`),
|
|
19141
|
+
* `HInputGroup` uses each child input’s **`dataKey`** (if provided). If `dataKey` is empty,
|
|
19142
|
+
* it falls back to the input’s `id`.
|
|
19143
|
+
* - If duplicate `dataKey` values exist within the same group, a `console.warn` is emitted.
|
|
19144
|
+
*
|
|
19145
|
+
* ---
|
|
19146
|
+
*
|
|
19108
19147
|
* ### 🔘 Radio Grouping by `name`
|
|
19109
19148
|
* - When a child `HInput` has `inputType="radio"`, its **HTML `name`** defines
|
|
19110
19149
|
* the radio **group key** within this `HInputGroup`.
|
|
@@ -19112,14 +19151,14 @@ declare module 'vue' {
|
|
|
19112
19151
|
* - **Data shape (I/O)** for radios is normalized to:
|
|
19113
19152
|
* ```ts
|
|
19114
19153
|
* // Used in getDataObject(), v-model emits, load(), setDataObject()
|
|
19115
|
-
* { [radioGroupName: string]:
|
|
19154
|
+
* { [radioGroupName: string]: selectedRadioDataKey | null }
|
|
19116
19155
|
* ```
|
|
19117
19156
|
* - `radioGroupName`: the `name` of the radio group
|
|
19118
|
-
* - `
|
|
19157
|
+
* - `selectedRadioDataKey`: the selected radio’s `dataKey` (fallback to `id`)
|
|
19119
19158
|
* - `null`: no selection in that group
|
|
19120
|
-
* - Non-radio fields use their **
|
|
19159
|
+
* - Non-radio fields use their **`dataKey` as key** (fallback to `id`):
|
|
19121
19160
|
* ```ts
|
|
19122
|
-
* { [
|
|
19161
|
+
* { [dataKey: string]: value }
|
|
19123
19162
|
* ```
|
|
19124
19163
|
* - If no initial value is provided, each radio’s local `v-model` is `false`,
|
|
19125
19164
|
* and the group entry becomes `{ [name]: null }` in the group-level object.
|
|
@@ -19128,32 +19167,27 @@ declare module 'vue' {
|
|
|
19128
19167
|
* ```vue
|
|
19129
19168
|
* <HInputGroup id="grp" v-model="form">
|
|
19130
19169
|
* <!-- group: 'lang' -->
|
|
19131
|
-
* <HInput id="r1" inputType="radio" name="lang" :modelValue="true" />
|
|
19132
|
-
* <HInput id="r2" inputType="radio" name="lang" />
|
|
19133
|
-
*
|
|
19134
|
-
* <!-- group: 'theme' -->
|
|
19135
|
-
* <HInput id="r3" inputType="radio" name="theme" />
|
|
19136
|
-
* <HInput id="r4" inputType="radio" name="theme" />
|
|
19170
|
+
* <HInput id="r1" inputType="radio" name="lang" dataKey="lang_ko" :modelValue="true" />
|
|
19171
|
+
* <HInput id="r2" inputType="radio" name="lang" dataKey="lang_en" />
|
|
19137
19172
|
*
|
|
19138
|
-
* <!-- normal
|
|
19139
|
-
* <HInput id="email" inputType="email" />
|
|
19173
|
+
* <!-- normal input -->
|
|
19174
|
+
* <HInput id="email" inputType="email" dataKey="user_email" />
|
|
19140
19175
|
* </HInputGroup>
|
|
19141
19176
|
* ```
|
|
19142
19177
|
* - Example result of `getDataObject()` (or v-model binding object):
|
|
19143
19178
|
* ```ts
|
|
19144
19179
|
* {
|
|
19145
19180
|
* // radios by group name
|
|
19146
|
-
* lang: "
|
|
19147
|
-
*
|
|
19148
|
-
*
|
|
19149
|
-
* email: "user@example.com"
|
|
19181
|
+
* lang: "lang_ko",
|
|
19182
|
+
* // non-radio by dataKey
|
|
19183
|
+
* user_email: "user@example.com"
|
|
19150
19184
|
* }
|
|
19151
19185
|
* ```
|
|
19152
19186
|
*
|
|
19153
19187
|
* #### Dynamic re-grouping
|
|
19154
19188
|
* - When `setName('newGroup')` is called on a radio, that radio moves
|
|
19155
19189
|
* **to the new group at runtime**. The `HInputGroup` re-registers membership
|
|
19156
|
-
* and immediately updates the `{ [name]:
|
|
19190
|
+
* and immediately updates the `{ [name]: dataKey | null }` mapping.
|
|
19157
19191
|
* - A previously checked radio will transfer to the new group,
|
|
19158
19192
|
* and the old group’s selection will be reset (leaving `null` if applicable).
|
|
19159
19193
|
*
|
|
@@ -19162,12 +19196,12 @@ declare module 'vue' {
|
|
|
19162
19196
|
* ### ⚙️ Usage
|
|
19163
19197
|
* ```vue
|
|
19164
19198
|
* <HInputGroup id="group1" v-model="formData" :editMode="'editable'">
|
|
19165
|
-
* <HInput id="userid" inputType="text" required />
|
|
19166
|
-
* <HInput id="email" inputType="email" />
|
|
19199
|
+
* <HInput id="userid" inputType="text" dataKey="user_id" required />
|
|
19200
|
+
* <HInput id="email" inputType="email" dataKey="email" />
|
|
19167
19201
|
*
|
|
19168
19202
|
* <!-- radio group 'agree' -->
|
|
19169
|
-
* <HInput id="agreeY" inputType="radio" name="agree" />
|
|
19170
|
-
* <HInput id="agreeN" inputType="radio" name="agree" />
|
|
19203
|
+
* <HInput id="agreeY" inputType="radio" name="agree" dataKey="Y" />
|
|
19204
|
+
* <HInput id="agreeN" inputType="radio" name="agree" dataKey="N" />
|
|
19171
19205
|
* </HInputGroup>
|
|
19172
19206
|
* ```
|
|
19173
19207
|
*
|
|
@@ -19176,30 +19210,29 @@ declare module 'vue' {
|
|
|
19176
19210
|
* ### 🛠 Runtime Usage
|
|
19177
19211
|
* Use `hison.component.getInputGroup(id)` to access and control the group:
|
|
19178
19212
|
* ```ts
|
|
19179
|
-
* const group = hison.component.getInputGroup('group1')
|
|
19213
|
+
* const group = hison.component.getInputGroup('group1')
|
|
19180
19214
|
* group.load({
|
|
19181
|
-
*
|
|
19215
|
+
* user_id: 'abc',
|
|
19182
19216
|
* email: 'test@example.com',
|
|
19183
|
-
* agree: '
|
|
19184
|
-
* })
|
|
19185
|
-
*
|
|
19186
|
-
* const data = group.getDataObject()
|
|
19187
|
-
* group.clear()
|
|
19188
|
-
* group.setStatus('U')
|
|
19189
|
-
* group.setEditMode('readonly')
|
|
19190
|
-
* const dataModel = group.getDataModel()
|
|
19191
|
-
* const changed = group.isModified()
|
|
19217
|
+
* agree: 'Y' // radio by group name → selected radio dataKey (fallback to id)
|
|
19218
|
+
* })
|
|
19219
|
+
*
|
|
19220
|
+
* const data = group.getDataObject() // { user_id, email, agree }
|
|
19221
|
+
* group.clear()
|
|
19222
|
+
* group.setStatus('U')
|
|
19223
|
+
* group.setEditMode('readonly')
|
|
19224
|
+
* const dataModel = group.getDataModel() // hison.data.DataModel
|
|
19225
|
+
* const changed = group.isModified()
|
|
19192
19226
|
* ```
|
|
19193
19227
|
*
|
|
19194
19228
|
* ---
|
|
19195
19229
|
*
|
|
19196
19230
|
* ### 🔒 Notes
|
|
19197
19231
|
* - `v-model` is fully supported and emits changes whenever any child `HInput` updates.
|
|
19198
|
-
* - Child `HInput`
|
|
19199
|
-
*
|
|
19200
|
-
* - Radios
|
|
19232
|
+
* - Child `HInput` **`id`** is always required for runtime control and registration.
|
|
19233
|
+
* - Group data keys use **`dataKey` first** (fallback to `id`) for non-radio fields.
|
|
19234
|
+
* - Radios are keyed by group `name`, and store **selected radio `dataKey`** (fallback to `id`) or `null`.
|
|
19201
19235
|
* - Inputs auto-sync their values from `v-model` on registration and emit changes upward.
|
|
19202
|
-
* - Modification tracking reflects only user-triggered changes.
|
|
19203
19236
|
* - Grouped `HInput` instances self-register via `provide('registerToInputGroup')`.
|
|
19204
19237
|
*
|
|
19205
19238
|
* ---
|
|
@@ -19208,8 +19241,8 @@ declare module 'vue' {
|
|
|
19208
19241
|
* @prop {('editable' | 'disable' | 'readonly')} [editMode='editable'] - Edit mode.
|
|
19209
19242
|
* @prop {('C' | 'R' | 'U' | 'D')} [status='R'] - Data status (`C`, `R`, `U`, `D`). Controlled via `.getStatus()` / `.setStatus()`.
|
|
19210
19243
|
* @prop {Record<string, any>} [modelValue] - Used with `v-model` for two-way binding.
|
|
19211
|
-
* - **Non-radio**: keyed by child input **`
|
|
19212
|
-
* - **Radio**: keyed by radio **`name`** → **selected radio `
|
|
19244
|
+
* - **Non-radio**: keyed by child input **`dataKey`** (fallback to `id`) → value
|
|
19245
|
+
* - **Radio**: keyed by radio **`name`** → **selected radio `dataKey`** (fallback to `id`) or `null`
|
|
19213
19246
|
*
|
|
19214
19247
|
* @event mounted - Fired after mount with `HInputGroupMethods` instance.
|
|
19215
19248
|
* @event update:modelValue - Fired whenever any child `HInput` changes, emitting the updated object.
|
package/dist/hisonvue.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Q as a, au as e, av as t } from "./index-
|
|
2
|
-
import { B as aa, Y as ta, Z as ea, X as oa, ax as na, az as sa, ay as la, f as ia, G as ra, aJ as Aa, aw as ca, V as _a, D as Ea, W as ma, aK as Ca, x as Sa, E as Da, y as Oa, aH as pa, L as La, K as ya, J as Ta, a4 as Va, a5 as Ha, a6 as Fa, a7 as ga, a8 as ua, aL as Ia, m as Ua, a9 as Ma, aa as Na, ab as da, ac as Ga, aI as Pa, ad as Ra, ae as ha, aF as fa, aG as Ba, af as ka, ag as Wa, ah as Ya, ai as Ka, aj as wa, ak as xa, al as ba, am as va, an as za, ao as Xa, ap as $a, aq as ja, ar as Ja, as as qa, k as Qa, H as Za, z as at, A as tt, N as et, O as ot, aA as nt, aB as st, $ as lt, S as it, M as rt, aC as At, i as ct, v as _t, aD as Et, T as mt, _ as Ct, w as St, a1 as Dt, a2 as Ot, a0 as pt, aE as Lt, at as yt, l as Tt, a3 as Vt, I as Ht } from "./index-
|
|
1
|
+
import { Q as a, au as e, av as t } from "./index-HfC1PNxb.mjs";
|
|
2
|
+
import { B as aa, Y as ta, Z as ea, X as oa, ax as na, az as sa, ay as la, f as ia, G as ra, aJ as Aa, aw as ca, V as _a, D as Ea, W as ma, aK as Ca, x as Sa, E as Da, y as Oa, aH as pa, L as La, K as ya, J as Ta, a4 as Va, a5 as Ha, a6 as Fa, a7 as ga, a8 as ua, aL as Ia, m as Ua, a9 as Ma, aa as Na, ab as da, ac as Ga, aI as Pa, ad as Ra, ae as ha, aF as fa, aG as Ba, af as ka, ag as Wa, ah as Ya, ai as Ka, aj as wa, ak as xa, al as ba, am as va, an as za, ao as Xa, ap as $a, aq as ja, ar as Ja, as as qa, k as Qa, H as Za, z as at, A as tt, N as et, O as ot, aA as nt, aB as st, $ as lt, S as it, M as rt, aC as At, i as ct, v as _t, aD as Et, T as mt, _ as Ct, w as St, a1 as Dt, a2 as Ot, a0 as pt, aE as Lt, at as yt, l as Tt, a3 as Vt, I as Ht } from "./index-HfC1PNxb.mjs";
|
|
3
3
|
const n = a.AllDateTimeFormat, s = a.ApiDelete, l = a.ApiDeleteUrl, i = a.ApiGet, r = a.ApiGetUrl, A = a.ApiPatch, c = a.ApiPatchUrl, _ = a.ApiPost, E = a.ApiPostUrl, m = a.ApiPut, C = a.ApiPutUrl, S = a.CachingModule, D = t.ColorSet, O = a.CountDateType, p = a.DataModel, L = a.DataWrapper, y = a.DateFormat, T = a.DateTimeFormat, V = a.DayFormat, H = a.DayOfWeekFormat, F = a.DayOfWeekFullName, g = a.DayOfWeekFullNameKR, u = a.DayOfWeekShortName, I = a.DayOfWeekShortNameKR, U = t.Align, M = t.BasicDataType, N = t.DateFormat, d = t.MonthFormat, G = t.RowStatus, P = t.VerticalAlign, R = a.HourFormat, h = a.HourMinuteFormat, f = a.MinuteFormat, B = a.MonthFormat, k = a.MonthFullName, W = a.MonthShortName, Y = e.NoteModeByDevice, K = e.ToolPosition, w = a.SecondFormat, x = t.SelectionPolicy, b = a.TimeFormat, v = a.YearFormat, z = a.YearMonthFormat, X = a.createHison, $ = t.getVanillagrid, j = t.getVanillagridConfig, J = e.getVanillanote, q = e.getVanillanoteConfig;
|
|
4
4
|
export {
|
|
5
5
|
n as AllDateTimeFormat,
|