hisonvue 1.1.1 → 1.1.3

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 (65) hide show
  1. package/dist/{HAccordion-yaZ0sBWj.js → HAccordion-Bc8LHllz.js} +1 -1
  2. package/dist/{HAccordion-ClPgc3MA.mjs → HAccordion-CYdLZCoO.mjs} +2 -2
  3. package/dist/{HBaggie-DhMiL1-B.js → HBaggie-XgHTnkp2.js} +1 -1
  4. package/dist/{HBaggie-BOcwzfs2.mjs → HBaggie-Ywgz5nvV.mjs} +2 -2
  5. package/dist/{HBanner-CkIr-lzQ.js → HBanner-BcDU3AwV.js} +1 -1
  6. package/dist/{HBanner-dQdDEjcq.mjs → HBanner-CidWbYwG.mjs} +2 -2
  7. package/dist/{HButton-CT0Az7ea.js → HButton-B6af0nzb.js} +1 -1
  8. package/dist/{HButton-CQA9AHfR.mjs → HButton-Bf1WiQNr.mjs} +2 -2
  9. package/dist/{HCalendar-C7RbTZT9.js → HCalendar-BiiLjDq7.js} +1 -1
  10. package/dist/{HCalendar-LYKfuBRk.mjs → HCalendar-CQs3-lsy.mjs} +1 -1
  11. package/dist/{HCaption-hIaWtt1A.mjs → HCaption-CJD8YqTy.mjs} +1 -1
  12. package/dist/{HCaption-DslrgN-4.js → HCaption-DxXZw4pH.js} +1 -1
  13. package/dist/{HChart-C_Np6dyj.mjs → HChart-Br_mONmh.mjs} +1 -1
  14. package/dist/{HChart-Dw1BMCJS.js → HChart-CLxSeQfB.js} +1 -1
  15. package/dist/{HDrawer-Z7npMmnm.mjs → HDrawer-C_zCEAoj.mjs} +1 -1
  16. package/dist/{HDrawer-C8dvmJDK.js → HDrawer-QSVck31B.js} +1 -1
  17. package/dist/{HDropdown-50SbH5xE.mjs → HDropdown-CzKF2cyh.mjs} +128 -119
  18. package/dist/HDropdown-l_g96ufU.js +1 -0
  19. package/dist/{HFileset-C8m3Fs_v.mjs → HFileset-B6ezY9_O.mjs} +1 -1
  20. package/dist/{HFileset-Bu2-UdKj.js → HFileset-CnM1z10l.js} +1 -1
  21. package/dist/{HGap-D8Iaf-5T.mjs → HGap--qHusiKo.mjs} +1 -1
  22. package/dist/{HGap-DsJy_QnE.js → HGap-D9TgBL0P.js} +1 -1
  23. package/dist/{HGrid-GnXheGEH.mjs → HGrid-DWFs2PVH.mjs} +1 -1
  24. package/dist/{HGrid-1YUZ2y6u.js → HGrid-DZT6UYsc.js} +1 -1
  25. package/dist/{HImagebox-BxTUweOq.mjs → HImagebox-B6DkNa0s.mjs} +1 -1
  26. package/dist/{HImagebox-r9i5w5WN.js → HImagebox-C-kUyV2a.js} +1 -1
  27. package/dist/HInput-DF_oPvVG.js +1 -0
  28. package/dist/HInput-Dih14jAK.mjs +1217 -0
  29. package/dist/{HInputGroup-lVdHU36z.js → HInputGroup-CxiRFkpV.js} +1 -1
  30. package/dist/{HInputGroup-D47YfrUp.mjs → HInputGroup-Czqo_DBM.mjs} +1 -1
  31. package/dist/HLabel-BFuX1v46.js +1 -0
  32. package/dist/HLabel-x3QyAn-P.mjs +400 -0
  33. package/dist/{HLayout-VCGeEX_T.js → HLayout-DHwcSj6Y.js} +1 -1
  34. package/dist/{HLayout-62BFnvbF.mjs → HLayout-DbIW32b3.mjs} +1 -1
  35. package/dist/{HList-C7mRWu55.mjs → HList-B0_bqe2X.mjs} +2 -2
  36. package/dist/{HList-T55xOKTU.js → HList-CGt8QYPb.js} +1 -1
  37. package/dist/{HModal-C4C4J9GA.js → HModal-Bbq2SffE.js} +1 -1
  38. package/dist/{HModal-28_wsn_-.mjs → HModal-DaQTId_h.mjs} +1 -1
  39. package/dist/{HNote-BqW_J3tq.mjs → HNote-BxjGgGT6.mjs} +1 -1
  40. package/dist/{HNote-RUUsRTzx.js → HNote-CHa35R5J.js} +1 -1
  41. package/dist/{HPagination-2Qlqr_ZS.mjs → HPagination-BZpSWEEW.mjs} +2 -2
  42. package/dist/{HPagination-BxRAk9Pi.js → HPagination-OwLtKBDy.js} +1 -1
  43. package/dist/{HParagraph-DG0-Th1k.mjs → HParagraph-BiOV9AaX.mjs} +112 -104
  44. package/dist/HParagraph-DA30mUOK.js +1 -0
  45. package/dist/{HPopup-CMHfS31s.mjs → HPopup-CSWCs1bC.mjs} +1 -1
  46. package/dist/{HPopup-Cnt1__JS.js → HPopup-CXsLCjT7.js} +1 -1
  47. package/dist/{HSpinner-CMZ2W-GY.js → HSpinner-B6mWhGkj.js} +1 -1
  48. package/dist/{HSpinner-C4FmAya2.mjs → HSpinner-DEHdIFhp.mjs} +1 -1
  49. package/dist/{HTable-Dx5l45_-.js → HTable-BoUCH2Zf.js} +1 -1
  50. package/dist/{HTable-Bd3ErPRn.mjs → HTable-By0pF5zV.mjs} +1 -1
  51. package/dist/hisonvue.cjs.js +1 -1
  52. package/dist/hisonvue.css +1 -1
  53. package/dist/hisonvue.d.ts +363 -107
  54. package/dist/hisonvue.es.js +2 -2
  55. package/dist/{index-CrciHSGg.mjs → index-BC8m9ivd.mjs} +9 -9
  56. package/dist/{index-CPFyQIpi.js → index-CyZluKOE.js} +3 -3
  57. package/dist/{setButtonCssEvent-BOWM7Rfs.mjs → setButtonCssEvent-DzPansSE.mjs} +1 -1
  58. package/dist/{setButtonCssEvent-Dv_zDL0C.js → setButtonCssEvent-fXHkzhY1.js} +1 -1
  59. package/package.json +1 -1
  60. package/dist/HDropdown-mSEm-0ZC.js +0 -1
  61. package/dist/HInput-CcWTYayE.js +0 -1
  62. package/dist/HInput-DT2SixiY.mjs +0 -1103
  63. package/dist/HLabel-BlczHNCh.mjs +0 -369
  64. package/dist/HLabel-vkRYvApC.js +0 -1
  65. package/dist/HParagraph-B3VkXyh7.js +0 -1
@@ -8429,6 +8429,11 @@ inputTextdHandler: {
8429
8429
  type: PropType<(value: any) => string>;
8430
8430
  default: undefined;
8431
8431
  };
8432
+ toggleStyle: {
8433
+ type: PropType<"default" | "switch">;
8434
+ default: string;
8435
+ validator: (v: any) => boolean;
8436
+ };
8432
8437
  }>, {
8433
8438
  inputRef: Ref<HTMLTextAreaElement | HTMLSelectElement | HTMLInputElement | null, HTMLTextAreaElement | HTMLSelectElement | HTMLInputElement | null>;
8434
8439
  inputTextRef: Ref<HTMLInputElement | null, HTMLInputElement | null>;
@@ -8477,6 +8482,8 @@ isBorder: () => boolean;
8477
8482
  setBorder: (border: boolean) => void;
8478
8483
  isModified: () => boolean;
8479
8484
  setModified: (modified: boolean) => void;
8485
+ getToggleStyle: () => "default" | "switch";
8486
+ setToggleStyle: (style: "default" | "switch") => void;
8480
8487
  getTabIndex: () => number | null;
8481
8488
  setTabIndex: (v: number | null) => void;
8482
8489
  focus: () => void;
@@ -8613,6 +8620,11 @@ inputTextdHandler: {
8613
8620
  type: PropType<(value: any) => string>;
8614
8621
  default: undefined;
8615
8622
  };
8623
+ toggleStyle: {
8624
+ type: PropType<"default" | "switch">;
8625
+ default: string;
8626
+ validator: (v: any) => boolean;
8627
+ };
8616
8628
  }>> & Readonly<{
8617
8629
  onClick?: ((...args: any[]) => any) | undefined;
8618
8630
  onInput?: ((...args: any[]) => any) | undefined;
@@ -8678,6 +8690,7 @@ placeholder: Ref<string, string>;
8678
8690
  maxNumber: Ref<number | null, number | null>;
8679
8691
  minNumber: Ref<number | null, number | null>;
8680
8692
  spanText: Ref<string, string>;
8693
+ toggleStyle: Ref<"default" | "switch", "default" | "switch">;
8681
8694
  tabIndex: Ref<number | null, number | null>;
8682
8695
  onInput: (e: Event) => void;
8683
8696
  onTextInputFocus: (e: Event) => void;
@@ -8814,6 +8827,11 @@ inputTextdHandler: {
8814
8827
  type: PropType<(value: any) => string>;
8815
8828
  default: undefined;
8816
8829
  };
8830
+ toggleStyle: {
8831
+ type: PropType<"default" | "switch">;
8832
+ default: string;
8833
+ validator: (v: any) => boolean;
8834
+ };
8817
8835
  }>> & Readonly<{
8818
8836
  onClick?: ((...args: any[]) => any) | undefined;
8819
8837
  onInput?: ((...args: any[]) => any) | undefined;
@@ -8869,6 +8887,7 @@ options: {
8869
8887
  text: string;
8870
8888
  value: any;
8871
8889
  }[];
8890
+ toggleStyle: "default" | "switch";
8872
8891
  editMode: "editable" | "disable" | "readonly" | EditMode;
8873
8892
  nullText: string;
8874
8893
  checkedText: string;
@@ -9351,6 +9370,16 @@ export declare interface HInputMethods extends ComponentMethods {
9351
9370
  * @param modified A boolean indicating whether the input should be marked as modified.
9352
9371
  */
9353
9372
  setModified(modified: boolean): void;
9373
+ /**
9374
+ * Returns the current toggle style of the input (`checkbox` or `radio`).
9375
+ * @returns `'default'` for standard style, or `'switch'` for switch-type toggle.
9376
+ */
9377
+ getToggleStyle(): 'default' | 'switch';
9378
+ /**
9379
+ * Sets the toggle style for the input (`checkbox` or `radio`).
9380
+ * @param style - `'default'` for standard style, or `'switch'` for switch-type toggle.
9381
+ */
9382
+ setToggleStyle(style: 'default' | 'switch'): void;
9354
9383
  /**
9355
9384
  * Gets the current `tabIndex` applied to element.
9356
9385
  * - `null`: no `tabindex` attribute (items not focusable).
@@ -9369,237 +9398,433 @@ export declare interface HInputMethods extends ComponentMethods {
9369
9398
  }
9370
9399
 
9371
9400
  /**
9372
- * Extended `Hison` interface for `hisonvue`.
9373
- *
9374
- * This interface expands the base `Hison` object provided by `hisonjs`
9375
- * by adding the `vue` namespace, which contains frontend-specific modules
9376
- * such as editors, grids, and other UI-related components.
9377
- *
9378
- * ---
9379
- *
9380
- * ### Core Structure
9381
- *
9382
- * - Inherits all core functionalities from `hisonjs`, including:
9383
- * - **Configuration Management** (date formats, character encoding, API settings)
9384
- * - **Security Features** (shield module for devtool blocking, IP restrictions)
9385
- * - **Utility Functions** (string, number, date manipulation)
9386
- * - **Structured Data Handling** (DataWrapper, DataModel)
9387
- * - **API Communication** (promise-based API modules, WebSocket caching)
9401
+ * Global runtime facade for the `hisonvue` ecosystem.
9388
9402
  *
9389
- * - Adds a new `vue` namespace for managing **frontend UI components**.
9403
+ * The `Hison` object in `hisonvue` acts as the **frontend counterpart** to the core `Hison` from `hisonjs`.
9404
+ * While `hisonjs` focuses on configuration, data handling, and communication logic,
9405
+ * `hisonvue` extends this foundation into the **UI runtime layer**—managing
9406
+ * event hooks, component lifecycles, and theme styling in real time.
9390
9407
  *
9391
9408
  * ---
9409
+ * ### Relation to `hisonjs`
9410
+ * This object extends {@link Hisonjs}, inheriting:
9411
+ * - **Configuration and Utility Layers**: Formatting, type conversion, validation, and constants.
9412
+ * - **Security Controls (`hison.shield`)**: Access, freezing, and developer tool restrictions.
9413
+ * - **Data Models (`hison.data`)**: `DataWrapper`, `DataModel`, and related data transformation tools.
9414
+ * - **API Communication (`hison.link`)**: Promise-based REST and WebSocket interfaces.
9392
9415
  *
9393
- * ### `vue` Namespace
9394
- *
9395
- * The `vue` property groups together client-side objects
9396
- * tightly coupled with DOM-based operations in Vue/Nuxt applications.
9397
- *
9398
- * | Key | Type | Description |
9399
- * |:----|:-----|:-------------|
9400
- * | `note` | `Vanillanote` | Singleton object for handling rich-text editors (Vanillanote). |
9401
- * | `grid` | `Vanillagrid` | Singleton object for managing lightweight, customizable grids (Vanillagrid). |
9402
- *
9416
+ * On top of these, `hisonvue` introduces **UI-centric runtime systems**:
9403
9417
  *
9404
- * #### `vue.note: Vanillanote`
9405
- * - Manages the lifecycle of WYSIWYG editor instances.
9406
- * - Provides methods like `init()`, `mountNote()`, `getNote()`, `unmountNote()`, and `destroy()`.
9407
- * - Ensures consistent styling, event binding, and editor state management across SPA environments.
9418
+ * - **Global Event Hooks (`cssEvent`)**
9419
+ * Intercept and modify component interactions (click, focus, blur, mouse/touch events)
9420
+ * across the entire app, before or after they occur.
9408
9421
  *
9409
- * Example:
9410
- * ```typescript
9411
- * const editor = hison.note.getNote("editor-id");
9412
- * editor.setNoteData({ html: "<p>Hello</p>" });
9413
- * ```
9414
- *
9415
- *
9416
- * #### `vue.grid: Vanillagrid`
9417
- * - Provides a flexible, dependency-free table/grid system.
9418
- * - Supports features like sorting, filtering, undo/redo, customizable headers and footers.
9419
- *
9420
- * Example:
9421
- * ```typescript
9422
- * const grid = hison.grid.getGrid("grid-id");
9423
- * grid.load([{ id: "001", name: "Alice" }]);
9424
- * ```
9422
+ * - **Component Registry (`component`)**
9423
+ * Provides runtime access to all mounted hisonvue components via `id`.
9424
+ * Developers can programmatically control or query components even outside Vue scopes,
9425
+ * enabling reactive orchestration between views and data.
9425
9426
  *
9427
+ * - **Dynamic Theming & Size Control (`style`)**
9428
+ * Manages global CSS variable states for colors, text, and layout sizes.
9429
+ * Changing these values automatically updates all mounted components without reloading the page.
9426
9430
  *
9427
9431
  * ---
9432
+ * ### Internal Architecture
9433
+ * The entire hisonvue runtime is built around a **shared internal state container** known as `hisonCloser`.
9434
+ * This closure encapsulates mutable runtime data and exposes only safe API methods through this public interface.
9428
9435
  *
9429
- * ### Encapsulation and Usage
9430
- *
9431
- * - The `hison` object is a **singleton** created internally by `hisonvue`.
9432
- * - It is globally available after installing `Hisonvue` into your Vue application.
9433
- * - It consolidates backend communication, frontend rendering, and utility logic into a unified, type-safe API.
9434
- *
9436
+ * - **Public Setters/Getters** → update the internal `hisonCloser` fields.
9437
+ * - **CSS Variable Management** → uses `applyCssVariables()` to re-apply computed styles to the document root.
9438
+ * - **Component Reload** triggers `reloadAllHisonComponents()` to refresh visual themes non-destructively.
9439
+ * - **SSR-Safe Operation** browser-only side effects are guarded by runtime environment checks.
9435
9440
  *
9436
- * ### Example Usage
9441
+ * This separation ensures:
9442
+ * - Consistent theme and event propagation across all components.
9443
+ * - Isolation of mutable UI state from the immutable base hisonjs core.
9444
+ * - Full TypeScript typing and IntelliSense coverage for both logic and UI.
9437
9445
  *
9446
+ * ---
9447
+ * ### Runtime Flow Example
9438
9448
  * ```typescript
9439
- * import { hison } from "hisonvue";
9440
- *
9441
- * // Using core utilities
9442
- * const isAlpha = hison.utils.isAlpha("Hello");
9449
+ * // Customize global button behavior
9450
+ * hison.cssEvent.setButtonOnBefoerClick((e) => {
9451
+ * console.log("Before click:", e.target);
9452
+ * return true; // returning false cancels the event
9453
+ * });
9443
9454
  *
9444
- * // Accessing Vanillanote editor
9445
- * const note = hison.note.getNote("note1");
9446
- * note.setNoteData({ html: "<p>World</p>" });
9455
+ * // Dynamically recolor the theme
9456
+ * hison.style.setPrimaryColor("#4E79FF");
9457
+ * hison.style.setInvertColor(true);
9447
9458
  *
9448
- * // Accessing Vanillagrid
9449
- * const grid = hison.grid.getGrid("grid1");
9450
- * grid.load([{ id: "001", name: "Alice" }]);
9459
+ * // Access and control a mounted component by id
9460
+ * const modal = hison.component.getModal("userInfoModal");
9461
+ * modal?.open();
9451
9462
  * ```
9452
9463
  *
9453
- *
9454
9464
  * ---
9465
+ * ### Design Philosophy
9466
+ * - **Unified Runtime Bridge** — Integrates logic (hisonjs) and UI (hisonvue) through a single global object.
9467
+ * - **Declarative yet Controllable** — All Vue components are reactive but remain controllable imperatively.
9468
+ * - **Theme Reactivity** — Any visual property (color, size, typography) can be updated at runtime.
9469
+ * - **Extensible Hooks** — Developers can globally override or extend behavior without touching component internals.
9470
+ * - **SSR Compatibility** — Designed to be safe for use with Nuxt 3 or Vue SSR environments.
9455
9471
  *
9456
- * ### Future Expansion
9457
- *
9458
- * The `vue` namespace is designed to be **modular and extensible**.
9459
- *
9460
- * Planned or possible additions under `vue` may include:
9461
- *
9462
- * - `form`: Form validation and input components
9463
- * - `chart`: Chart rendering components (e.g., Chart.js integration)
9464
- * - `modal`, `toast`, `notification`, etc.
9465
- *
9472
+ * ---
9473
+ * ### Usage Scenarios
9474
+ * - Injecting custom UX logic globally (e.g., analytics before button clicks).
9475
+ * - Building dynamic dashboards that manipulate component layouts in runtime.
9476
+ * - Re-theming enterprise applications without recompilation.
9477
+ * - Providing consistent interaction feedback across all hisonvue elements.
9466
9478
  *
9467
9479
  * ---
9480
+ * ### Notes
9481
+ * - **SSR-Safe**: CSS variable application runs only in client environments (`typeof window !== 'undefined'`).
9482
+ * - **Component Safety**: Each `getXxx(id)` returns `null` if no component is registered under that id—no runtime throw.
9483
+ * - **Naming Consistency**: Certain method names contain legacy typos (e.g., `Befoer` instead of `Before`);
9484
+ * they are preserved for backward compatibility but may be formally deprecated in a future release.
9468
9485
  *
9486
+ * ---
9469
9487
  * ### Summary
9488
+ * The `Hison` object in `hisonvue` represents the **bridge between data-driven logic and UI runtime control**.
9489
+ * It inherits all configuration, data, and communication capabilities from `hisonjs`,
9490
+ * while providing unified control over visual, behavioral, and interactive elements in Vue-based applications.
9470
9491
  *
9471
- * The extended `Hison` for `hisonvue` provides a **fullstack bridge**:
9472
- *
9473
- * - Core system management via `hisonjs`
9474
- * - Frontend visual components via `hison .note .grid .button ..`
9475
- *
9476
- * allowing you to develop robust, scalable, and highly modular applications.
9492
+ * By consolidating configuration, runtime state, and UI event orchestration into a single
9493
+ * globally accessible object, it ensures both **developer productivity** and **runtime consistency**
9494
+ * across large-scale, enterprise-grade applications built with the hisondev ecosystem.
9477
9495
  */
9478
9496
  export declare interface Hison extends Hison_2 {
9497
+ /**
9498
+ * Sets the **maximum total upload size (bytes)** allowed across an entire HFileSet component.
9499
+ * This guards the *sum* of all selected files in a single widget.
9500
+ *
9501
+ * @param fileSize - Maximum total size in bytes. Use `Infinity` for no global limit.
9502
+ * @example
9503
+ * hison.setMaxFilesetTotalSize(20 * 1024 * 1024) // 20 MB across all files
9504
+ */
9479
9505
  setMaxFilesetTotalSize(fileSize: number): void;
9506
+ /**
9507
+ * Sets the **maximum per-file upload size (bytes)** for HFileSet.
9508
+ * This guards the size of **each individual** file that a user selects.
9509
+ *
9510
+ * @param fileTotalSize - Maximum bytes allowed per file. Use `Infinity` to remove this cap.
9511
+ * @example
9512
+ * hison.setMaxFilesetSize(5 * 1024 * 1024) // 5 MB per file
9513
+ */
9480
9514
  setMaxFilesetSize(fileTotalSize: number): void;
9515
+ /**
9516
+ * Returns the currently effective **maximum total upload size** (bytes) across the entire HFileSet.
9517
+ * @returns The configured limit in bytes (or `Infinity` if unlimited).
9518
+ */
9481
9519
  getMaxFilesetTotalSize(): number;
9520
+ /**
9521
+ * Returns the currently effective **maximum per-file upload size** (bytes) for HFileSet.
9522
+ * @returns The configured limit in bytes (or `Infinity` if unlimited).
9523
+ */
9482
9524
  getMaxFilesetSize(): number;
9525
+ /**
9526
+ * Global UI interaction hooks for hisonvue components.
9527
+ *
9528
+ * Each setter replaces the active handler for the given event “slot”.
9529
+ * - **Button** series targets `<HButton>` UI events.
9530
+ * - **Input** series targets text-input-like components (e.g., `<HInput>`, `<HInputGroup>`).
9531
+ *
9532
+ * @remarks
9533
+ * - “Before” handlers (`...OnBefore...`) may return `false` to cancel the action.
9534
+ * - “After” handlers (`...OnAfter...`) run after the component processes the event.
9535
+ * - Handlers are invoked by components that integrate with the hisonvue event system.
9536
+ * - Method names include a typo (`Befoer` → *Before*). Kept for compatibility.
9537
+ * - If you need **multiple** handlers per event, compose them manually in your setter or
9538
+ * consider introducing an internal add/remove pipeline in a future version.
9539
+ *
9540
+ * @example
9541
+ * // Cancel every HButton click unless a condition passes
9542
+ * hison.cssEvent.setButtonOnBefoerClick((e) => {
9543
+ * const allow = someGuard();
9544
+ * if (!allow) e.preventDefault();
9545
+ * return allow;
9546
+ * });
9547
+ *
9548
+ * @example
9549
+ * // Add a visual cue after any HInput focus
9550
+ * hison.cssEvent.setInputOnAfterFocus(() => highlightInputs());
9551
+ */
9483
9552
  cssEvent: {
9484
- setButtonOnBefoerFocus(func: ((e: FocusEvent) => boolean)): void;
9485
- setButtonOnAfterFocus(func: ((e: FocusEvent) => void)): void;
9486
- setButtonOnBefoerBlur(func: ((e: FocusEvent) => boolean)): void;
9487
- setButtonOnAfterBlur(func: ((e: FocusEvent) => void)): void;
9488
- setButtonOnBefoerClick(func: ((e: MouseEvent) => boolean)): void;
9489
- setButtonOnAfterClick(func: ((e: MouseEvent) => void)): void;
9490
- setButtonOnBeforeMouseover(func: ((e: MouseEvent) => boolean)): void;
9491
- setButtonOnAfterMouseover(func: ((e: MouseEvent) => void)): void;
9492
- setButtonOnBeforeMouseout(func: ((e: MouseEvent) => boolean)): void;
9493
- setButtonOnAfterMouseout(func: ((e: MouseEvent) => void)): void;
9494
- setButtonOnBeforeTouchstart(func: ((e: TouchEvent) => boolean)): void;
9495
- setButtonOnAfterTouchstart(func: ((e: TouchEvent) => void)): void;
9496
- setButtonOnBeforeTouchend(func: ((e: TouchEvent) => boolean)): void;
9497
- setButtonOnAfterTouchend(func: ((e: TouchEvent) => void)): void;
9498
- setInputOnBefoerFocus(func: ((e: FocusEvent) => boolean)): void;
9499
- setInputOnAfterFocus(func: ((e: FocusEvent) => void)): void;
9500
- setInputOnBefoerBlur(func: ((e: FocusEvent) => boolean)): void;
9501
- setInputOnAfterBlur(func: ((e: FocusEvent) => void)): void;
9502
- setInputOnBeforeMouseover(func: ((e: MouseEvent) => boolean)): void;
9503
- setInputOnAfterMouseover(func: ((e: MouseEvent) => void)): void;
9504
- setInputOnBeforeMouseout(func: ((e: MouseEvent) => boolean)): void;
9505
- setInputOnAfterMouseout(func: ((e: MouseEvent) => void)): void;
9506
- setInputOnBeforeTouchstart(func: ((e: TouchEvent) => boolean)): void;
9507
- setInputOnAfterTouchstart(func: ((e: TouchEvent) => void)): void;
9508
- setInputOnBeforeTouchend(func: ((e: TouchEvent) => boolean)): void;
9509
- setInputOnAfterTouchend(func: ((e: TouchEvent) => void)): void;
9553
+ /** Registers a global BEFORE-focus handler for HButton (return `false` to cancel). (typo: Befoer) */
9554
+ setButtonOnBefoerFocus(func: (e: FocusEvent) => boolean): void;
9555
+ /** Registers a global AFTER-focus handler for HButton. */
9556
+ setButtonOnAfterFocus(func: (e: FocusEvent) => void): void;
9557
+ /** Registers a global BEFORE-blur handler for HButton (return `false` to cancel). (typo: Befoer) */
9558
+ setButtonOnBefoerBlur(func: (e: FocusEvent) => boolean): void;
9559
+ /** Registers a global AFTER-blur handler for HButton. */
9560
+ setButtonOnAfterBlur(func: (e: FocusEvent) => void): void;
9561
+ /** Registers a global BEFORE-click handler for HButton (return `false` to cancel). (typo: Befoer) */
9562
+ setButtonOnBefoerClick(func: (e: MouseEvent) => boolean): void;
9563
+ /** Registers a global AFTER-click handler for HButton. */
9564
+ setButtonOnAfterClick(func: (e: MouseEvent) => void): void;
9565
+ /** Registers a global BEFORE-mouseover handler for HButton (return `false` to cancel). */
9566
+ setButtonOnBeforeMouseover(func: (e: MouseEvent) => boolean): void;
9567
+ /** Registers a global AFTER-mouseover handler for HButton. */
9568
+ setButtonOnAfterMouseover(func: (e: MouseEvent) => void): void;
9569
+ /** Registers a global BEFORE-mouseout handler for HButton (return `false` to cancel). */
9570
+ setButtonOnBeforeMouseout(func: (e: MouseEvent) => boolean): void;
9571
+ /** Registers a global AFTER-mouseout handler for HButton. */
9572
+ setButtonOnAfterMouseout(func: (e: MouseEvent) => void): void;
9573
+ /** Registers a global BEFORE-touchstart handler for HButton (return `false` to cancel). */
9574
+ setButtonOnBeforeTouchstart(func: (e: TouchEvent) => boolean): void;
9575
+ /** Registers a global AFTER-touchstart handler for HButton. */
9576
+ setButtonOnAfterTouchstart(func: (e: TouchEvent) => void): void;
9577
+ /** Registers a global BEFORE-touchend handler for HButton (return `false` to cancel). */
9578
+ setButtonOnBeforeTouchend(func: (e: TouchEvent) => boolean): void;
9579
+ /** Registers a global AFTER-touchend handler for HButton. */
9580
+ setButtonOnAfterTouchend(func: (e: TouchEvent) => void): void;
9581
+ /** Registers a global BEFORE-focus handler for Input-like components (return `false` to cancel). (typo: Befoer) */
9582
+ setInputOnBefoerFocus(func: (e: FocusEvent) => boolean): void;
9583
+ /** Registers a global AFTER-focus handler for Input-like components. */
9584
+ setInputOnAfterFocus(func: (e: FocusEvent) => void): void;
9585
+ /** Registers a global BEFORE-blur handler for Input-like components (return `false` to cancel). (typo: Befoer) */
9586
+ setInputOnBefoerBlur(func: (e: FocusEvent) => boolean): void;
9587
+ /** Registers a global AFTER-blur handler for Input-like components. */
9588
+ setInputOnAfterBlur(func: (e: FocusEvent) => void): void;
9589
+ /** Registers a global BEFORE-mouseover handler for Input-like components (return `false` to cancel). */
9590
+ setInputOnBeforeMouseover(func: (e: MouseEvent) => boolean): void;
9591
+ /** Registers a global AFTER-mouseover handler for Input-like components. */
9592
+ setInputOnAfterMouseover(func: (e: MouseEvent) => void): void;
9593
+ /** Registers a global BEFORE-mouseout handler for Input-like components (return `false` to cancel). */
9594
+ setInputOnBeforeMouseout(func: (e: MouseEvent) => boolean): void;
9595
+ /** Registers a global AFTER-mouseout handler for Input-like components. */
9596
+ setInputOnAfterMouseout(func: (e: MouseEvent) => void): void;
9597
+ /** Registers a global BEFORE-touchstart handler for Input-like components (return `false` to cancel). */
9598
+ setInputOnBeforeTouchstart(func: (e: TouchEvent) => boolean): void;
9599
+ /** Registers a global AFTER-touchstart handler for Input-like components. */
9600
+ setInputOnAfterTouchstart(func: (e: TouchEvent) => void): void;
9601
+ /** Registers a global BEFORE-touchend handler for Input-like components (return `false` to cancel). */
9602
+ setInputOnBeforeTouchend(func: (e: TouchEvent) => boolean): void;
9603
+ /** Registers a global AFTER-touchend handler for Input-like components. */
9604
+ setInputOnAfterTouchend(func: (e: TouchEvent) => void): void;
9510
9605
  };
9606
+ /**
9607
+ * Runtime accessors for **mounted component instances** by their `id`.
9608
+ *
9609
+ * Components register/unregister themselves to an internal registry during mount/unmount.
9610
+ * Each getter returns the type-specific method interface for imperative control,
9611
+ * or `null` if no component is registered under that id.
9612
+ *
9613
+ * @remarks
9614
+ * - Use these accessors to orchestrate UI from outside component scopes (e.g., from services or stores).
9615
+ * - Prefer stable, unique `id` assignments to avoid collisions.
9616
+ * - If you need strict behavior, wrap calls with your own `requireXxx(id)` helper that throws on `null`.
9617
+ *
9618
+ * @example
9619
+ * const btn = hison.component.getButton('primarySubmit');
9620
+ * btn?.setLoading(true);
9621
+ * btn?.setDisabled(true);
9622
+ */
9511
9623
  component: {
9624
+ /** Returns the runtime methods for an HAccordion, or `null` if not found. */
9512
9625
  getAccordion(accordionId: string): HAccordionMethods | null;
9626
+ /** Returns the runtime methods for an HBaggie, or `null` if not found. */
9513
9627
  getBaggie(baggieId: string): HBaggieMethods | null;
9628
+ /** Returns the runtime methods for an HBanner, or `null` if not found. */
9514
9629
  getBanner(bannerId: string): HBannerMethods | null;
9630
+ /** Returns the runtime methods for an HButton, or `null` if not found. */
9515
9631
  getButton(buttonId: string): HButtonMethods | null;
9632
+ /** Returns the runtime methods for an HCalendar, or `null` if not found. */
9516
9633
  getCalendar(calendarId: string): HCalendarMethods | null;
9634
+ /** Returns the runtime methods for an HCaption, or `null` if not found. */
9517
9635
  getCaption(calendarId: string): HCaptionMethods | null;
9636
+ /** Returns the chart instance handle, or `null` if not found. */
9518
9637
  getChart(chartId: string): HChartInstance | null;
9638
+ /** Returns the runtime methods for an HDrawer, or `null` if not found. */
9519
9639
  getDrawer(drawerId: string): HDrawerMethods | null;
9640
+ /** Returns the runtime methods for an HDropdown, or `null` if not found. */
9520
9641
  getDropdown(dropdownId: string): HDropdownMethods | null;
9642
+ /** Returns the runtime methods for an HFileSet, or `null` if not found. */
9521
9643
  getFileset(filesetId: string): HFilesetMethods | null;
9644
+ /** Returns the runtime methods for an HGap, or `null` if not found. */
9522
9645
  getGap(gapId: string): HGapMethods | null;
9646
+ /** Returns the runtime methods for an HGrid, or `null` if not found. */
9523
9647
  getGrid(gridId: string): HGridMethods | null;
9648
+ /** Returns the runtime methods for an HImageBox, or `null` if not found. */
9524
9649
  getImagebox(imageboxId: string): HImageboxMethods | null;
9650
+ /** Returns the runtime methods for an HInput, or `null` if not found. */
9525
9651
  getInput(inputId: string): HInputMethods | null;
9652
+ /** Returns the runtime methods for an HInputGroup, or `null` if not found. */
9526
9653
  getInputGroup(inputGroupId: string): HInputGroupMethods | null;
9654
+ /** Returns the runtime methods for an HLabel, or `null` if not found. */
9527
9655
  getLabel(labelId: string): HLabelMethods | null;
9656
+ /** Returns the runtime methods for an HLayout, or `null` if not found. */
9528
9657
  getLayout(layoutId: string): HLayoutMethods | null;
9658
+ /** Returns the runtime methods for an HList, or `null` if not found. (param name has a typo: listtId) */
9529
9659
  getList(listtId: string): HListMethods | null;
9660
+ /** Returns the runtime methods for an HModal, or `null` if not found. (param name has a typo: listtId) */
9530
9661
  getModal(listtId: string): HModalMethods | null;
9662
+ /** Returns the DOM-like note element handle, or `null` if not found. */
9531
9663
  getNote(noteId: string): HNoteElement | null;
9664
+ /** Returns the runtime methods for an HPagination, or `null` if not found. */
9532
9665
  getPagination(paginationId: string): HPaginationMethods | null;
9666
+ /** Returns the runtime methods for an HParagraph, or `null` if not found. */
9533
9667
  getParagraph(paragraphId: string): HParagraphMethods | null;
9668
+ /** Returns the runtime methods for an HPopup, or `null` if not found. */
9534
9669
  getPopup(popupId: string): HPopupMethods | null;
9670
+ /** Returns the runtime methods for an HSpinner, or `null` if not found. */
9535
9671
  getSpinner(spinnerId: string): HSpinnerMethods | null;
9672
+ /** Returns the runtime methods for an HTable, or `null` if not found. */
9536
9673
  getTable(tableId: string): HTableMethods | null;
9537
9674
  };
9675
+ /**
9676
+ * Global theme & sizing controller. Mutators update the runtime theme state and
9677
+ * re-apply CSS variables to the document, then softly reload mounted components
9678
+ * so visual changes take effect immediately.
9679
+ *
9680
+ * Colors accept any valid CSS color string (hex, rgb(a), hsl(a), named colors).
9681
+ * Size uses the predefined scale from {@link Size}.
9682
+ *
9683
+ * @remarks
9684
+ * - Some “derived” getters (e.g., button/border/hover colors) return computed values
9685
+ * from the base palette; implementations typically cache or derive them from the
9686
+ * current theme and inversion state.
9687
+ * - `invertColor` flips foreground/background contrast for dark/light schemes.
9688
+ *
9689
+ * @example
9690
+ * // Switch to a medium size scale and update the primary palette:
9691
+ * hison.style.setSize(Size.m);
9692
+ * hison.style.setPrimaryColor('#4e79ff');
9693
+ * hison.style.setInvertColor(true);
9694
+ */
9538
9695
  style: {
9696
+ /** Sets the global size scale. Affects paddings, radii, and control heights. */
9539
9697
  setSize(size: Size.s | Size.m | Size.l | Size.xl): void;
9698
+ /** Sets the base “filled” surface color used by components. */
9540
9699
  setFilledColor(filledColor: string): void;
9700
+ /** Sets the base “empty/outline” surface color used by components. */
9541
9701
  setEmptyColor(emptyColor: string): void;
9702
+ /** Sets the default text color on filled surfaces. */
9542
9703
  setFilledTextColor(filledTextColor: string): void;
9704
+ /** Sets the default text color on empty/outline surfaces. */
9543
9705
  setEmptyTextColor(emptyTextColor: string): void;
9706
+ /** Sets the primary accent color (brand color). */
9544
9707
  setPrimaryColor(primaryColor: string): void;
9708
+ /** Sets the muted/neutral color. */
9545
9709
  setMutedColor(mutedColor: string): void;
9710
+ /** Sets the informational color (status). */
9546
9711
  setInfoColor(infoColor: string): void;
9712
+ /** Sets the success color (status). */
9547
9713
  setSuccessColor(successColor: string): void;
9714
+ /** Sets the danger color (status). */
9548
9715
  setDangerColor(dangerColor: string): void;
9716
+ /** Sets the warning color (status). */
9549
9717
  setWarningColor(warningColor: string): void;
9718
+ /**
9719
+ * Enables or disables **color inversion** (dark/light intent).
9720
+ * When enabled, derived text/background pairs flip to preserve contrast.
9721
+ */
9550
9722
  setInvertColor(invert: boolean): void;
9723
+ /** Returns the base filled surface color. */
9551
9724
  getFilledColor(): string;
9725
+ /** Returns the base empty/outline surface color. */
9552
9726
  getEmptyColor(): string;
9727
+ /** Returns the default text color on filled surfaces. */
9553
9728
  getFilledTextColor(): string;
9729
+ /** Returns the default text color on empty/outline surfaces. */
9554
9730
  getEmptyTextColor(): string;
9731
+ /** Returns the primary base color. */
9555
9732
  getPrimaryColor(): string;
9733
+ /** Returns the computed button color for the primary palette. */
9556
9734
  getPrimaryButtonColor(): string;
9735
+ /** Returns the computed border color for the primary palette. */
9557
9736
  getPrimaryBorderColor(): string;
9737
+ /** Returns the computed shadow color for the primary palette. */
9558
9738
  getPrimaryShadowColor(): string;
9739
+ /** Returns the computed hover color for the primary palette. */
9559
9740
  getPrimaryHoverColor(): string;
9741
+ /** Returns the computed active color for the primary palette. */
9560
9742
  getPrimaryActiveColor(): string;
9743
+ /** Returns the computed row hover color for the primary palette (e.g., tables). */
9561
9744
  getPrimaryRowHoverColor(): string;
9745
+ /** Returns the computed stripe color for the primary palette (e.g., zebra rows). */
9562
9746
  getPrimaryStripeColor(): string;
9747
+ /** Returns the muted base color. */
9563
9748
  getMutedColor(): string;
9749
+ /** Returns the computed button color for the muted palette. */
9564
9750
  getMutedButtonColor(): string;
9751
+ /** Returns the computed border color for the muted palette. */
9565
9752
  getMutedBorderColor(): string;
9753
+ /** Returns the computed shadow color for the muted palette. */
9566
9754
  getMutedShadowColor(): string;
9755
+ /** Returns the computed hover color for the muted palette. */
9567
9756
  getMutedHoverColor(): string;
9757
+ /** Returns the computed active color for the muted palette. */
9568
9758
  getMutedActiveColor(): string;
9759
+ /** Returns the computed row hover color for the muted palette. */
9569
9760
  getMutedRowHoverColor(): string;
9761
+ /** Returns the computed stripe color for the muted palette. */
9570
9762
  getMutedStripeColor(): string;
9763
+ /** Returns the info base color. */
9571
9764
  getInfoColor(): string;
9765
+ /** Returns the computed button color for the info palette. */
9572
9766
  getInfoButtonColor(): string;
9767
+ /** Returns the computed border color for the info palette. */
9573
9768
  getInfoBorderColor(): string;
9769
+ /** Returns the computed shadow color for the info palette. */
9574
9770
  getInfoShadowColor(): string;
9771
+ /** Returns the computed hover color for the info palette. */
9575
9772
  getInfoHoverColor(): string;
9773
+ /** Returns the computed active color for the info palette. */
9576
9774
  getInfoActiveColor(): string;
9775
+ /** Returns the computed row hover color for the info palette. */
9577
9776
  getInfoRowHoverColor(): string;
9777
+ /** Returns the computed stripe color for the info palette. */
9578
9778
  getInfoStripeColor(): string;
9779
+ /** Returns the success base color. */
9579
9780
  getSuccessColor(): string;
9781
+ /** Returns the computed button color for the success palette. */
9580
9782
  getSuccessButtonColor(): string;
9783
+ /** Returns the computed border color for the success palette. */
9581
9784
  getSuccessBorderColor(): string;
9785
+ /** Returns the computed shadow color for the success palette. */
9582
9786
  getSuccessShadowColor(): string;
9787
+ /** Returns the computed hover color for the success palette. */
9583
9788
  getSuccessHoverColor(): string;
9789
+ /** Returns the computed active color for the success palette. */
9584
9790
  getSuccessActiveColor(): string;
9791
+ /** Returns the computed row hover color for the success palette. */
9585
9792
  getSuccessRowHoverColor(): string;
9793
+ /** Returns the computed stripe color for the success palette. */
9586
9794
  getSuccessStripeColor(): string;
9795
+ /** Returns the danger base color. */
9587
9796
  getDangerColor(): string;
9797
+ /** Returns the computed button color for the danger palette. */
9588
9798
  getDangerButtonColor(): string;
9799
+ /** Returns the computed border color for the danger palette. */
9589
9800
  getDangerBorderColor(): string;
9801
+ /** Returns the computed shadow color for the danger palette. */
9590
9802
  getDangerShadowColor(): string;
9803
+ /** Returns the computed hover color for the danger palette. */
9591
9804
  getDangerHoverColor(): string;
9805
+ /** Returns the computed active color for the danger palette. */
9592
9806
  getDangerActiveColor(): string;
9807
+ /** Returns the computed row hover color for the danger palette. */
9593
9808
  getDangerRowHoverColor(): string;
9809
+ /** Returns the computed stripe color for the danger palette. */
9594
9810
  getDangerStripeColor(): string;
9811
+ /** Returns the warning base color. */
9595
9812
  getWarningColor(): string;
9813
+ /** Returns the computed button color for the warning palette. */
9596
9814
  getWarningButtonColor(): string;
9815
+ /** Returns the computed border color for the warning palette. */
9597
9816
  getWarningBorderColor(): string;
9817
+ /** Returns the computed shadow color for the warning palette. */
9598
9818
  getWarningShadowColor(): string;
9819
+ /** Returns the computed hover color for the warning palette. */
9599
9820
  getWarningHoverColor(): string;
9821
+ /** Returns the computed active color for the warning palette. */
9600
9822
  getWarningActiveColor(): string;
9823
+ /** Returns the computed row hover color for the warning palette. */
9601
9824
  getWarningRowHoverColor(): string;
9825
+ /** Returns the computed stripe color for the warning palette. */
9602
9826
  getWarningStripeColor(): string;
9827
+ /** Returns whether theme inversion (dark/light intent) is currently enabled. */
9603
9828
  isInvertColor(): boolean;
9604
9829
  };
9605
9830
  }
@@ -9725,6 +9950,10 @@ type: PropType<BackgroundType | BackgroundTypeValue>;
9725
9950
  default: BackgroundType;
9726
9951
  validator: (v: any) => boolean;
9727
9952
  };
9953
+ toggleTarget: {
9954
+ type: PropType<string | null>;
9955
+ default: null;
9956
+ };
9728
9957
  tabIndex: {
9729
9958
  type: PropType<number | string | null>;
9730
9959
  default: null;
@@ -9761,6 +9990,8 @@ isBorder: () => boolean;
9761
9990
  setBorder: (border: boolean) => void;
9762
9991
  getBackgroundType: () => BackgroundTypeValue;
9763
9992
  setBackgroundType: (type: BackgroundType | BackgroundTypeValue) => void;
9993
+ getToggleTarget: () => string | null;
9994
+ setToggleTarget: (id: string | null) => void;
9764
9995
  getTabIndex: () => number | null;
9765
9996
  setTabIndex: (v: number | null) => void;
9766
9997
  focus: () => void;
@@ -9831,6 +10062,10 @@ type: PropType<BackgroundType | BackgroundTypeValue>;
9831
10062
  default: BackgroundType;
9832
10063
  validator: (v: any) => boolean;
9833
10064
  };
10065
+ toggleTarget: {
10066
+ type: PropType<string | null>;
10067
+ default: null;
10068
+ };
9834
10069
  tabIndex: {
9835
10070
  type: PropType<number | string | null>;
9836
10071
  default: null;
@@ -9847,6 +10082,7 @@ onMounted?: ((...args: any[]) => any) | undefined;
9847
10082
  }> & {}>;
9848
10083
  title: Ref<string, string>;
9849
10084
  hasHref: ComputedRef<boolean>;
10085
+ hasToggleTarget: ComputedRef<boolean>;
9850
10086
  hasElementSlot: ComputedRef<boolean>;
9851
10087
  renderTag: ComputedRef<"a" | "div" | "span">;
9852
10088
  internalText: Ref<string, string>;
@@ -9928,6 +10164,10 @@ type: PropType<BackgroundType | BackgroundTypeValue>;
9928
10164
  default: BackgroundType;
9929
10165
  validator: (v: any) => boolean;
9930
10166
  };
10167
+ toggleTarget: {
10168
+ type: PropType<string | null>;
10169
+ default: null;
10170
+ };
9931
10171
  tabIndex: {
9932
10172
  type: PropType<number | string | null>;
9933
10173
  default: null;
@@ -9953,6 +10193,7 @@ tabIndex: string | number | null;
9953
10193
  backgroundType: BackgroundTypeValue | BackgroundType;
9954
10194
  href: string | null;
9955
10195
  anchorAttrs: Record<string, unknown> | Partial<HLabelAnchorAttrs>;
10196
+ toggleTarget: string | null;
9956
10197
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
9957
10198
 
9958
10199
  /**
@@ -10157,6 +10398,17 @@ export declare interface HLabelMethods extends ComponentMethods {
10157
10398
  * - Accepts 'filled' | 'empty' | 'transparent'.
10158
10399
  */
10159
10400
  setBackgroundType(type: BackgroundType | BackgroundTypeValue): void;
10401
+ /**
10402
+ * Gets the current toggle target id.
10403
+ * - Returns the id of the `HInput` (checkbox/radio) linked to this label, or `null` if none.
10404
+ */
10405
+ getToggleTarget(): string | null;
10406
+ /**
10407
+ * Sets or changes the toggle target id.
10408
+ * - When assigned, clicking the label (or pressing Enter/Space) will toggle the specified `HInput`.
10409
+ * - Accepts `null` to remove toggle linkage.
10410
+ */
10411
+ setToggleTarget(id: string | null): void;
10160
10412
  /**
10161
10413
  * Gets the current `tabIndex` applied to element.
10162
10414
  * - `null`: no `tabindex` attribute (items not focusable).
@@ -16962,6 +17214,9 @@ export { }
16962
17214
 
16963
17215
  declare module 'vue' {
16964
17216
  interface GlobalComponents {
17217
+ /**
17218
+ * label과 연동? label속성? label slot?? label클릭 시 checkbox, radio 토글 제공???
17219
+ */
16965
17220
  /**
16966
17221
  * Hisonvue custom accordion component.
16967
17222
  *
@@ -18658,6 +18913,7 @@ declare module 'vue' {
18658
18913
  * @prop {string} [checkedText='Y'] - Display text for `true` value in checkbox/radio (span-text).
18659
18914
  * @prop {string} [uncheckedText='N'] - Display text for `false` value in checkbox/radio (span-text).
18660
18915
  * @prop {(value: any) => string} [inputTextdHandler] - Custom formatter for display text (span).
18916
+ * @prop {('default' | 'switch')} [toggleStyle='default'] - Visual style for `checkbox`/`radio`.
18661
18917
  *
18662
18918
  * ---
18663
18919
  *