@sellmate/design-system 1.0.53 → 1.0.55

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 (86) hide show
  1. package/dist/cjs/{component.textinput-DIDZPtYE.js → component.textinput-BWW8c3OY.js} +10 -1
  2. package/dist/cjs/design-system.cjs.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  5. package/dist/cjs/{sd-button_5.cjs.entry.js → sd-button_4.cjs.entry.js} +2 -146
  6. package/dist/cjs/sd-ghost-button.cjs.entry.js +148 -0
  7. package/dist/cjs/sd-input_2.cjs.entry.js +9 -3
  8. package/dist/cjs/sd-textarea.cjs.entry.js +76 -37
  9. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  11. package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  13. package/dist/collection/components/sd-input/sd-input.js +124 -2
  14. package/dist/collection/components/sd-textarea/sd-textarea.config.js +16 -0
  15. package/dist/collection/components/sd-textarea/sd-textarea.css +13 -53
  16. package/dist/collection/components/sd-textarea/sd-textarea.js +445 -60
  17. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  18. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  19. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  20. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  21. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  22. package/dist/components/{p-hWm-Llzv.js → p-BM4qDFZj.js} +1 -1
  23. package/dist/components/p-BR0LWoJL.js +1 -0
  24. package/dist/components/p-C8kA64_1.js +1 -0
  25. package/dist/components/{p-CnUsbdL7.js → p-Cbtpfl9F.js} +1 -1
  26. package/dist/components/{p-UUxu2akd.js → p-CmXAKr-2.js} +1 -1
  27. package/dist/components/p-DSNs8RRn.js +1 -0
  28. package/dist/components/{p-CpGiSLY_.js → p-DxzIjbQJ.js} +1 -1
  29. package/dist/components/{p-eOGZo-WB.js → p-w3CsjVGg.js} +1 -1
  30. package/dist/components/sd-barcode-input.js +1 -1
  31. package/dist/components/sd-date-picker.js +1 -1
  32. package/dist/components/sd-date-range-picker.js +1 -1
  33. package/dist/components/sd-field.js +1 -1
  34. package/dist/components/sd-file-picker.js +1 -1
  35. package/dist/components/sd-input.js +1 -1
  36. package/dist/components/sd-number-input.js +1 -1
  37. package/dist/components/sd-select-dropdown.js +1 -1
  38. package/dist/components/sd-select-group.js +1 -1
  39. package/dist/components/sd-select-multiple-group.js +1 -1
  40. package/dist/components/sd-select-multiple.js +1 -1
  41. package/dist/components/sd-select-search-input.js +1 -1
  42. package/dist/components/sd-select-v2.js +1 -1
  43. package/dist/components/sd-select.js +1 -1
  44. package/dist/components/sd-table.js +1 -1
  45. package/dist/components/sd-textarea.js +1 -1
  46. package/dist/components/sd-toast-container.js +1 -1
  47. package/dist/components/sd-toast.js +1 -1
  48. package/dist/components/sd-toggle-button.js +1 -1
  49. package/dist/components/sd-toggle.js +1 -1
  50. package/dist/components/sd-tooltip.js +1 -1
  51. package/dist/design-system/design-system.esm.js +1 -1
  52. package/dist/design-system/{p-47931c26.entry.js → p-184649a9.entry.js} +1 -1
  53. package/dist/design-system/{p-64f2a188.entry.js → p-266ff86b.entry.js} +1 -1
  54. package/dist/design-system/{p-cebaca7c.entry.js → p-391cf704.entry.js} +1 -1
  55. package/dist/design-system/p-4e9413c0.entry.js +1 -0
  56. package/dist/design-system/p-5213773b.entry.js +1 -0
  57. package/dist/design-system/{p-4487b2ec.entry.js → p-99b6157f.entry.js} +1 -1
  58. package/dist/design-system/p-DSNs8RRn.js +1 -0
  59. package/dist/design-system/p-c2a0f10d.entry.js +1 -0
  60. package/dist/design-system/{p-c9af0fc9.entry.js → p-efe684e6.entry.js} +1 -1
  61. package/dist/design-system/{p-ea768c2e.entry.js → p-fdf7ed87.entry.js} +1 -1
  62. package/dist/esm/{component.textinput-BGovA1BG.js → component.textinput-DSNs8RRn.js} +10 -1
  63. package/dist/esm/design-system.js +1 -1
  64. package/dist/esm/loader.js +1 -1
  65. package/dist/esm/sd-barcode-input.entry.js +1 -1
  66. package/dist/esm/{sd-button_5.entry.js → sd-button_4.entry.js} +3 -146
  67. package/dist/esm/sd-ghost-button.entry.js +146 -0
  68. package/dist/esm/sd-input_2.entry.js +9 -3
  69. package/dist/esm/sd-textarea.entry.js +76 -37
  70. package/dist/esm/sd-toast-container.entry.js +1 -1
  71. package/dist/esm/sd-toast.entry.js +2 -2
  72. package/dist/esm/sd-toggle-button.entry.js +1 -1
  73. package/dist/esm/sd-toggle.entry.js +1 -1
  74. package/dist/types/components/sd-input/sd-input.d.ts +6 -0
  75. package/dist/types/components/sd-textarea/sd-textarea.config.d.ts +34 -0
  76. package/dist/types/components/sd-textarea/sd-textarea.d.ts +28 -9
  77. package/dist/types/components.d.ts +172 -8
  78. package/hydrate/index.js +128 -54
  79. package/hydrate/index.mjs +128 -54
  80. package/package.json +1 -1
  81. package/dist/components/p-BGovA1BG.js +0 -1
  82. package/dist/components/p-Ck-2jtzb.js +0 -1
  83. package/dist/components/p-Dx7R5s53.js +0 -1
  84. package/dist/design-system/p-52d6d7b5.entry.js +0 -1
  85. package/dist/design-system/p-BGovA1BG.js +0 -1
  86. package/dist/design-system/p-c9bc4fa6.entry.js +0 -1
@@ -672,6 +672,10 @@ export namespace Components {
672
672
  * @default false
673
673
  */
674
674
  "autoFocus": boolean;
675
+ /**
676
+ * @default ''
677
+ */
678
+ "autocomplete": string;
675
679
  /**
676
680
  * @default false
677
681
  */
@@ -680,6 +684,7 @@ export namespace Components {
680
684
  * @default false
681
685
  */
682
686
  "disabled": boolean;
687
+ "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
683
688
  /**
684
689
  * @default false
685
690
  */
@@ -712,6 +717,7 @@ export namespace Components {
712
717
  * @default {}
713
718
  */
714
719
  "inputStyle": { [key: string]: string };
720
+ "inputmode"?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
715
721
  /**
716
722
  * @default ''
717
723
  */
@@ -724,6 +730,8 @@ export namespace Components {
724
730
  * @default null
725
731
  */
726
732
  "labelTooltipProps": SdTooltipProps | null;
733
+ "maxlength"?: number;
734
+ "minlength"?: number;
727
735
  /**
728
736
  * @default '입력해 주세요.'
729
737
  */
@@ -745,6 +753,10 @@ export namespace Components {
745
753
  * @default 'sm'
746
754
  */
747
755
  "size": InputSize;
756
+ /**
757
+ * @default false
758
+ */
759
+ "spellcheck": boolean;
748
760
  "status"?: 'default' | 'pass' | 'error';
749
761
  /**
750
762
  * @default 'text'
@@ -1766,6 +1778,10 @@ export namespace Components {
1766
1778
  "useArrow": boolean;
1767
1779
  }
1768
1780
  interface SdTextarea {
1781
+ /**
1782
+ * @default ''
1783
+ */
1784
+ "addonLabel": string;
1769
1785
  /**
1770
1786
  * @default false
1771
1787
  */
@@ -1774,23 +1790,82 @@ export namespace Components {
1774
1790
  * @default false
1775
1791
  */
1776
1792
  "disabled": boolean;
1777
- "getNativeElement": () => Promise<HTMLTextAreaElement | null>;
1778
- "helpText"?: string;
1793
+ /**
1794
+ * @default false
1795
+ */
1796
+ "error": boolean;
1797
+ /**
1798
+ * @default ''
1799
+ */
1800
+ "errorMessage": string;
1801
+ /**
1802
+ * @default false
1803
+ */
1804
+ "focused": boolean;
1805
+ /**
1806
+ * @default ''
1807
+ */
1808
+ "hint": string;
1809
+ /**
1810
+ * @default false
1811
+ */
1812
+ "hovered": boolean;
1813
+ /**
1814
+ * @default undefined
1815
+ */
1816
+ "icon"?: IconProps;
1817
+ /**
1818
+ * @default ''
1819
+ */
1820
+ "label"?: string;
1821
+ /**
1822
+ * @default ''
1823
+ */
1824
+ "labelTooltip": string;
1825
+ /**
1826
+ * @default null
1827
+ */
1828
+ "labelTooltipProps": SdTooltipProps | null;
1779
1829
  "maxLength"?: number;
1780
- "name"?: string;
1781
1830
  /**
1782
1831
  * @default '입력해 주세요.'
1783
1832
  */
1784
1833
  "placeholder": string;
1834
+ /**
1835
+ * @default false
1836
+ */
1837
+ "readonly": boolean;
1838
+ "rows"?: number;
1839
+ /**
1840
+ * @default []
1841
+ */
1842
+ "rules"?: Rule[];
1785
1843
  "sdFocus": () => Promise<void>;
1844
+ "sdGetNativeElement": () => Promise<HTMLTextAreaElement | null>;
1845
+ "sdReset": () => Promise<void>;
1846
+ "sdResetValidate": () => Promise<void>;
1847
+ "sdValidate": () => Promise<void>;
1848
+ /**
1849
+ * @default false
1850
+ */
1851
+ "spellcheck": boolean;
1852
+ "status"?: 'default' | 'pass' | 'error';
1786
1853
  /**
1787
1854
  * @default ''
1788
1855
  */
1789
1856
  "textareaClass": string;
1857
+ /**
1858
+ * @default {}
1859
+ */
1860
+ "textareaStyle": { [key: string]: string };
1790
1861
  /**
1791
1862
  * @default null
1792
1863
  */
1793
1864
  "value"?: string | null;
1865
+ /**
1866
+ * @default ''
1867
+ */
1868
+ "width": string | number;
1794
1869
  }
1795
1870
  interface SdToast {
1796
1871
  "icon"?: IconName;
@@ -3598,6 +3673,10 @@ declare namespace LocalJSX {
3598
3673
  * @default false
3599
3674
  */
3600
3675
  "autoFocus"?: boolean;
3676
+ /**
3677
+ * @default ''
3678
+ */
3679
+ "autocomplete"?: string;
3601
3680
  /**
3602
3681
  * @default false
3603
3682
  */
@@ -3606,6 +3685,7 @@ declare namespace LocalJSX {
3606
3685
  * @default false
3607
3686
  */
3608
3687
  "disabled"?: boolean;
3688
+ "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
3609
3689
  /**
3610
3690
  * @default false
3611
3691
  */
@@ -3638,6 +3718,7 @@ declare namespace LocalJSX {
3638
3718
  * @default {}
3639
3719
  */
3640
3720
  "inputStyle"?: { [key: string]: string };
3721
+ "inputmode"?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
3641
3722
  /**
3642
3723
  * @default ''
3643
3724
  */
@@ -3650,6 +3731,8 @@ declare namespace LocalJSX {
3650
3731
  * @default null
3651
3732
  */
3652
3733
  "labelTooltipProps"?: SdTooltipProps | null;
3734
+ "maxlength"?: number;
3735
+ "minlength"?: number;
3653
3736
  "onSdBlur"?: (event: SdInputCustomEvent<Event>) => void;
3654
3737
  "onSdFocus"?: (event: SdInputCustomEvent<Event>) => void;
3655
3738
  "onSdUpdate"?: (event: SdInputCustomEvent<string | number | null>) => void;
@@ -3669,6 +3752,10 @@ declare namespace LocalJSX {
3669
3752
  * @default 'sm'
3670
3753
  */
3671
3754
  "size"?: InputSize;
3755
+ /**
3756
+ * @default false
3757
+ */
3758
+ "spellcheck"?: boolean;
3672
3759
  "status"?: 'default' | 'pass' | 'error';
3673
3760
  /**
3674
3761
  * @default 'text'
@@ -4705,6 +4792,10 @@ declare namespace LocalJSX {
4705
4792
  "useArrow"?: boolean;
4706
4793
  }
4707
4794
  interface SdTextarea {
4795
+ /**
4796
+ * @default ''
4797
+ */
4798
+ "addonLabel"?: string;
4708
4799
  /**
4709
4800
  * @default false
4710
4801
  */
@@ -4713,9 +4804,43 @@ declare namespace LocalJSX {
4713
4804
  * @default false
4714
4805
  */
4715
4806
  "disabled"?: boolean;
4716
- "helpText"?: string;
4807
+ /**
4808
+ * @default false
4809
+ */
4810
+ "error"?: boolean;
4811
+ /**
4812
+ * @default ''
4813
+ */
4814
+ "errorMessage"?: string;
4815
+ /**
4816
+ * @default false
4817
+ */
4818
+ "focused"?: boolean;
4819
+ /**
4820
+ * @default ''
4821
+ */
4822
+ "hint"?: string;
4823
+ /**
4824
+ * @default false
4825
+ */
4826
+ "hovered"?: boolean;
4827
+ /**
4828
+ * @default undefined
4829
+ */
4830
+ "icon"?: IconProps;
4831
+ /**
4832
+ * @default ''
4833
+ */
4834
+ "label"?: string;
4835
+ /**
4836
+ * @default ''
4837
+ */
4838
+ "labelTooltip"?: string;
4839
+ /**
4840
+ * @default null
4841
+ */
4842
+ "labelTooltipProps"?: SdTooltipProps | null;
4717
4843
  "maxLength"?: number;
4718
- "name"?: string;
4719
4844
  "onSdBlur"?: (event: SdTextareaCustomEvent<Event>) => void;
4720
4845
  "onSdFocus"?: (event: SdTextareaCustomEvent<Event>) => void;
4721
4846
  "onSdUpdate"?: (event: SdTextareaCustomEvent<string | null>) => void;
@@ -4723,14 +4848,36 @@ declare namespace LocalJSX {
4723
4848
  * @default '입력해 주세요.'
4724
4849
  */
4725
4850
  "placeholder"?: string;
4851
+ /**
4852
+ * @default false
4853
+ */
4854
+ "readonly"?: boolean;
4855
+ "rows"?: number;
4856
+ /**
4857
+ * @default []
4858
+ */
4859
+ "rules"?: Rule[];
4860
+ /**
4861
+ * @default false
4862
+ */
4863
+ "spellcheck"?: boolean;
4864
+ "status"?: 'default' | 'pass' | 'error';
4726
4865
  /**
4727
4866
  * @default ''
4728
4867
  */
4729
4868
  "textareaClass"?: string;
4869
+ /**
4870
+ * @default {}
4871
+ */
4872
+ "textareaStyle"?: { [key: string]: string };
4730
4873
  /**
4731
4874
  * @default null
4732
4875
  */
4733
4876
  "value"?: string | null;
4877
+ /**
4878
+ * @default ''
4879
+ */
4880
+ "width"?: string | number;
4734
4881
  }
4735
4882
  interface SdToast {
4736
4883
  "icon"?: IconName;
@@ -5021,6 +5168,12 @@ declare namespace LocalJSX {
5021
5168
  "clearable": boolean;
5022
5169
  "width": string;
5023
5170
  "autoFocus": boolean;
5171
+ "autocomplete": string;
5172
+ "maxlength": number;
5173
+ "minlength": number;
5174
+ "inputmode": 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
5175
+ "enterkeyhint": 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
5176
+ "spellcheck": boolean;
5024
5177
  "status": 'default' | 'pass' | 'error';
5025
5178
  "hint": string;
5026
5179
  "errorMessage": string;
@@ -5277,13 +5430,24 @@ declare namespace LocalJSX {
5277
5430
  }
5278
5431
  interface SdTextareaAttributes {
5279
5432
  "value": string | null;
5280
- "name": string;
5433
+ "placeholder": string;
5281
5434
  "disabled": boolean;
5435
+ "readonly": boolean;
5282
5436
  "autoFocus": boolean;
5283
5437
  "textareaClass": string;
5284
- "helpText": string;
5285
5438
  "maxLength": number;
5286
- "placeholder": string;
5439
+ "rows": number;
5440
+ "spellcheck": boolean;
5441
+ "width": string;
5442
+ "label": string;
5443
+ "addonLabel": string;
5444
+ "hint": string;
5445
+ "errorMessage": string;
5446
+ "labelTooltip": string;
5447
+ "error": boolean;
5448
+ "status": 'default' | 'pass' | 'error';
5449
+ "focused": boolean;
5450
+ "hovered": boolean;
5287
5451
  }
5288
5452
  interface SdToastAttributes {
5289
5453
  "icon": IconName;
package/hydrate/index.js CHANGED
@@ -4918,6 +4918,7 @@ const input = {
4918
4918
  sm: {
4919
4919
  height: "28",
4920
4920
  paddingX: "12",
4921
+ paddingY: "4",
4921
4922
  gap: "8",
4922
4923
  radius: "4",
4923
4924
  typography: {
@@ -4935,7 +4936,11 @@ const input = {
4935
4936
  fontSize: "16",
4936
4937
  lineHeight: "26"}
4937
4938
  },
4939
+ border: {
4940
+ "default": "#AAAAAA"},
4938
4941
  bg: {
4942
+ "default": "#FFFFFF",
4943
+ disabled: "#E1E1E1",
4939
4944
  barcode: "#FAFAA1"
4940
4945
  },
4941
4946
  text: {
@@ -4944,7 +4949,11 @@ const input = {
4944
4949
  disabled: "#888888"},
4945
4950
  icon: {
4946
4951
  "default": "#888888"
4947
- }};
4952
+ },
4953
+ resizer: {
4954
+ color: "#AAAAAA"
4955
+ }
4956
+ };
4948
4957
  var inputTokens = {
4949
4958
  input: input
4950
4959
  };
@@ -8685,6 +8694,12 @@ class SdInput {
8685
8694
  width = '';
8686
8695
  rules = [];
8687
8696
  autoFocus = false;
8697
+ autocomplete = '';
8698
+ maxlength;
8699
+ minlength;
8700
+ inputmode;
8701
+ enterkeyhint;
8702
+ spellcheck = false;
8688
8703
  status;
8689
8704
  hint = '';
8690
8705
  errorMessage = '';
@@ -8776,12 +8791,12 @@ class SdInput {
8776
8791
  '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
8777
8792
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
8778
8793
  };
8779
- return (hAsync("sd-field", { key: '942bba44bffb9c047ce07c07c9cefd02b6b50e62', name: this.name, label: this.label, addonLabel: this.addonLabel, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '67b37ad7d802c11f9fc1bb372371040a267b9fb9', class: "sd-input__content" }, hAsync("slot", { key: '0068eac35163a12efe74288eb7a0871bf1bbbf81', name: "prefix" }), hAsync("input", { key: '5c48d3c102ff8cb01a98a60a2128bdd5422aa032', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : this.type, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: 'faa652d843aaba6229961566590ea564604fd183', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && (hAsync("sd-ghost-button", { key: '2935121a60b1cdbb2d1fdfc83d29fdad5da796c3', icon: "close", ariaLabel: "close", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
8794
+ return (hAsync("sd-field", { key: 'd5f554784340cbb9246165fb15124098e4f7165b', name: this.name, label: this.label, addonLabel: this.addonLabel, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("label", { key: '02225d57c5bd17dbe78c680f243ad3a9a4ab3b5d', class: "sd-input__content" }, hAsync("slot", { key: '1011876ea9726e62a19047b28a82932e43762436', name: "prefix" }), hAsync("input", { key: '10f4c594382aa002ba09a0012979ff930154fc7a', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : this.type, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), hAsync("slot", { key: '007d15357a81f13ab4db5ddf237110b9d1f1728b', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && (hAsync("sd-ghost-button", { key: '92dfd40117cccdb48ebfc0056aa9e093546bbf6b', icon: "close", ariaLabel: "close", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
8780
8795
  if (this.disabled)
8781
8796
  return;
8782
8797
  this.internalValue = '';
8783
8798
  await this.formField?.sdValidate();
8784
- } })), this.type === 'password' && (hAsync("sd-ghost-button", { key: '800f789b3cff3b8b32fe2c048f8fabe332f69d66', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled, class: "sd-input__password-icon", onClick: () => {
8799
+ } })), this.type === 'password' && (hAsync("sd-ghost-button", { key: 'a4bef720b55a94a4a6ada002f4a2ffd1d0f8da24', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled, class: "sd-input__password-icon", onClick: () => {
8785
8800
  if (this.disabled)
8786
8801
  return;
8787
8802
  this.passwordVisible = !this.passwordVisible;
@@ -8810,6 +8825,12 @@ class SdInput {
8810
8825
  "width": [8],
8811
8826
  "rules": [16],
8812
8827
  "autoFocus": [4, "auto-focus"],
8828
+ "autocomplete": [1],
8829
+ "maxlength": [2],
8830
+ "minlength": [2],
8831
+ "inputmode": [1],
8832
+ "enterkeyhint": [1],
8833
+ "spellcheck": [4],
8813
8834
  "status": [1],
8814
8835
  "hint": [1],
8815
8836
  "errorMessage": [1, "error-message"],
@@ -14145,7 +14166,21 @@ class SdTextLink {
14145
14166
  }; }
14146
14167
  }
14147
14168
 
14148
- const sdTextareaCss = () => `sd-textarea{display:block}sd-textarea .sd-textarea{display:flex;flex-direction:column;color:#333333;font-size:12px;line-height:20px}sd-textarea .sd-textarea .sd-textarea__content{width:100%;display:flex;border:1px solid #AAAAAA;border-radius:4px;background:white}sd-textarea .sd-textarea .sd-textarea__content .sd-textarea__native{width:100%;min-height:100px;border:none;outline:none;background:transparent;padding:4px 8px;font-family:inherit;font-size:12px;line-height:20px;color:#333333;resize:vertical}sd-textarea .sd-textarea .sd-textarea__content .sd-textarea__native::placeholder{color:#AAAAAA}sd-textarea .sd-textarea--hovered .sd-textarea__content,sd-textarea .sd-textarea--focused .sd-textarea__content{border-color:#0075FF;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}sd-textarea .sd-textarea--disabled{cursor:not-allowed !important;box-shadow:none !important}sd-textarea .sd-textarea--disabled .sd-textarea__content{background:#EEEEEE !important;border:1px solid #CCCCCC !important;color:#888888 !important}sd-textarea .sd-textarea--disabled .sd-textarea__content .sd-textarea__native{cursor:not-allowed !important;color:#888888 !important}sd-textarea .sd-textarea .sd-textarea__footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;line-height:20px}sd-textarea .sd-textarea .sd-textarea__help-text{font-size:12px;line-height:20px;font-weight:400;color:#222222}sd-textarea .sd-textarea .sd-textarea__counter{color:#CCCCCC;margin-left:auto}`;
14169
+ const TEXTAREA_TOKENS = {
14170
+ paddingX: inputTokens.input.sm.paddingX,
14171
+ paddingY: inputTokens.input.sm.paddingY,
14172
+ radius: inputTokens.input.sm.radius,
14173
+ fontSize: inputTokens.input.sm.typography.fontSize,
14174
+ lineHeight: inputTokens.input.sm.typography.lineHeight,
14175
+ fontWeight: inputTokens.input.sm.typography.fontWeight};
14176
+ const TEXTAREA_COLORS = {
14177
+ text: inputTokens.input.text,
14178
+ bg: inputTokens.input.bg,
14179
+ border: inputTokens.input.border,
14180
+ resizer: inputTokens.input.resizer,
14181
+ };
14182
+
14183
+ const sdTextareaCss = () => `sd-textarea{display:inline-flex}sd-textarea .sd-textarea__content{width:100%;display:flex}sd-textarea .sd-textarea__content .sd-textarea__native{width:100%;min-height:100px;border:none;outline:none;background:transparent;padding:var(--sd-textarea-padding-y) var(--sd-textarea-padding-x);font-family:inherit;font-size:var(--sd-textarea-font-size);line-height:var(--sd-textarea-line-height);font-weight:var(--sd-textarea-font-weight);color:var(--sd-textarea-text-color);resize:vertical}sd-textarea .sd-textarea__content .sd-textarea__native::placeholder{color:var(--sd-textarea-placeholder-color)}sd-textarea .sd-textarea__content .sd-textarea__native:disabled{cursor:not-allowed;color:var(--sd-textarea-disabled-color)}`;
14149
14184
 
14150
14185
  class SdTextarea {
14151
14186
  constructor(hostRef) {
@@ -14156,17 +14191,33 @@ class SdTextarea {
14156
14191
  }
14157
14192
  get host() { return getElement(this); }
14158
14193
  value = null;
14159
- name;
14194
+ placeholder = '입력해 주세요.';
14160
14195
  disabled = false;
14196
+ readonly = false;
14161
14197
  autoFocus = false;
14162
14198
  textareaClass = '';
14163
- helpText;
14199
+ textareaStyle = {};
14164
14200
  maxLength;
14165
- placeholder = '입력해 주세요.';
14166
- internalValue = null;
14201
+ rows;
14202
+ spellcheck = false;
14203
+ width = '';
14204
+ // props - sd-field
14205
+ label = '';
14206
+ addonLabel = '';
14207
+ hint = '';
14208
+ errorMessage = '';
14209
+ icon = undefined;
14210
+ labelTooltip = '';
14211
+ labelTooltipProps = null;
14212
+ rules = [];
14213
+ error = false;
14214
+ status;
14167
14215
  focused = false;
14168
14216
  hovered = false;
14217
+ internalValue = null;
14169
14218
  nativeEl = undefined;
14219
+ formField;
14220
+ name = nanoid();
14170
14221
  input;
14171
14222
  focus;
14172
14223
  blur;
@@ -14179,12 +14230,21 @@ class SdTextarea {
14179
14230
  this.input?.emit(this.value);
14180
14231
  }
14181
14232
  }
14182
- async sdFocus() {
14183
- this.nativeEl?.focus();
14184
- }
14185
- async getNativeElement() {
14233
+ async sdGetNativeElement() {
14186
14234
  return this.nativeEl || null;
14187
14235
  }
14236
+ async sdValidate() {
14237
+ this.formField?.sdValidate();
14238
+ }
14239
+ async sdReset() {
14240
+ this.formField?.sdReset();
14241
+ }
14242
+ async sdResetValidate() {
14243
+ this.formField?.sdResetValidation();
14244
+ }
14245
+ async sdFocus() {
14246
+ this.formField?.sdFocus();
14247
+ }
14188
14248
  componentWillLoad() {
14189
14249
  if (this.value !== null && this.value !== undefined) {
14190
14250
  this.internalValue = this.value;
@@ -14195,44 +14255,42 @@ class SdTextarea {
14195
14255
  this.nativeEl?.focus();
14196
14256
  }
14197
14257
  }
14198
- handleInput(event) {
14258
+ handleInput = (event) => {
14199
14259
  const target = event.target;
14200
14260
  this.internalValue = target.value;
14201
- }
14202
- handleFocus(type, event) {
14261
+ };
14262
+ handleFocus = async (type, event) => {
14203
14263
  this.focused = type === 'focus';
14204
14264
  if (type === 'blur') {
14265
+ if (this.rules && this.rules.length > 0) {
14266
+ await this.formField?.sdValidate();
14267
+ }
14205
14268
  this.blur?.emit(event);
14206
14269
  }
14207
14270
  else {
14208
14271
  this.focus?.emit(event);
14209
14272
  }
14210
- }
14211
- getTextareaStatus() {
14212
- if (this.disabled)
14213
- return 'sd-textarea--disabled';
14214
- if (this.hovered)
14215
- return 'sd-textarea--hovered';
14216
- if (this.focused)
14217
- return 'sd-textarea--focused';
14218
- return '';
14219
- }
14220
- getMaxLengthCounter() {
14221
- if (this.maxLength === undefined) {
14222
- return null;
14223
- }
14224
- const currentLength = (this.internalValue || '').length;
14225
- return `${currentLength}/${this.maxLength}`;
14226
- }
14227
- hasFooter() {
14228
- return this.helpText !== undefined || this.maxLength !== undefined;
14229
- }
14273
+ };
14230
14274
  render() {
14231
- const maxLengthCounter = this.getMaxLengthCounter();
14232
- return (hAsync("div", { key: '05fa25ff5bc2a8a0927fbc5301c1404a92e26d5c', class: {
14233
- 'sd-textarea': true,
14234
- [this.getTextareaStatus()]: true,
14235
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, hAsync("div", { key: 'a15fabde4ef35369129cb638aa0a680f4c8e231c', class: "sd-textarea__content" }, hAsync("textarea", { key: '1967728740bfa9b749040eefbd813116f281db91', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, autofocus: this.autoFocus, maxLength: this.maxLength, onInput: this.handleInput.bind(this), onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) })), this.hasFooter() && (hAsync("div", { key: 'ad466295bab42461aeb7a29e81ca147cc473cbea', class: "sd-textarea__footer" }, this.helpText !== undefined && hAsync("span", { key: 'd3ad4c9ae5e16114b2b1216ae643c5a53b7bd02a', class: "sd-textarea__help-text" }, this.helpText), maxLengthCounter !== null && hAsync("span", { key: 'bd8ee146625f96e4b19b15247ca72a3b0816d2a9', class: "sd-textarea__counter" }, maxLengthCounter)))));
14275
+ const cssVars = {
14276
+ '--sd-textarea-font-size': `${TEXTAREA_TOKENS.fontSize}px`,
14277
+ '--sd-textarea-line-height': `${TEXTAREA_TOKENS.lineHeight}px`,
14278
+ '--sd-textarea-font-weight': TEXTAREA_TOKENS.fontWeight,
14279
+ '--sd-textarea-padding-x': `${TEXTAREA_TOKENS.paddingX}px`,
14280
+ '--sd-textarea-padding-y': `${TEXTAREA_TOKENS.paddingY}px`,
14281
+ '--sd-textarea-radius': `${TEXTAREA_TOKENS.radius}px`,
14282
+ '--sd-textarea-text-color': TEXTAREA_COLORS.text.default,
14283
+ '--sd-textarea-placeholder-color': TEXTAREA_COLORS.text.placeholder,
14284
+ '--sd-textarea-disabled-color': TEXTAREA_COLORS.text.disabled,
14285
+ '--sd-textarea-bg-color': TEXTAREA_COLORS.bg.default,
14286
+ '--sd-textarea-disabled-bg-color': TEXTAREA_COLORS.bg.disabled,
14287
+ '--sd-textarea-border-color': TEXTAREA_COLORS.border.default,
14288
+ '--sd-textarea-resizer-color': TEXTAREA_COLORS.resizer.color,
14289
+ // sd-field 시스템 변수 override (textarea는 고정 높이가 아닌 auto)
14290
+ '--sd-system-size-field-sm-height': 'auto',
14291
+ '--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
14292
+ };
14293
+ return (hAsync("sd-field", { key: '390028112d84c22766c6e00fa3625312b8096629', name: this.name, label: this.label, addonLabel: this.addonLabel, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, hAsync("div", { key: '026ec0293049da167e7dbab5d3a28593d5e6b291', class: "sd-textarea__content" }, hAsync("textarea", { key: 'd30b5e1bc61535c1c350f09bf2ea289f0b09001b', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
14236
14294
  }
14237
14295
  static get watchers() { return {
14238
14296
  "value": [{
@@ -14248,18 +14306,34 @@ class SdTextarea {
14248
14306
  "$tagName$": "sd-textarea",
14249
14307
  "$members$": {
14250
14308
  "value": [1025],
14251
- "name": [1],
14309
+ "placeholder": [1],
14252
14310
  "disabled": [4],
14311
+ "readonly": [4],
14253
14312
  "autoFocus": [4, "auto-focus"],
14254
14313
  "textareaClass": [1, "textarea-class"],
14255
- "helpText": [1, "help-text"],
14314
+ "textareaStyle": [16],
14256
14315
  "maxLength": [2, "max-length"],
14257
- "placeholder": [1],
14316
+ "rows": [2],
14317
+ "spellcheck": [4],
14318
+ "width": [8],
14319
+ "label": [1],
14320
+ "addonLabel": [1, "addon-label"],
14321
+ "hint": [1],
14322
+ "errorMessage": [1, "error-message"],
14323
+ "icon": [16],
14324
+ "labelTooltip": [1, "label-tooltip"],
14325
+ "labelTooltipProps": [16],
14326
+ "rules": [16],
14327
+ "error": [1028],
14328
+ "status": [1],
14329
+ "focused": [1028],
14330
+ "hovered": [1028],
14258
14331
  "internalValue": [32],
14259
- "focused": [32],
14260
- "hovered": [32],
14261
- "sdFocus": [64],
14262
- "getNativeElement": [64]
14332
+ "sdGetNativeElement": [64],
14333
+ "sdValidate": [64],
14334
+ "sdReset": [64],
14335
+ "sdResetValidate": [64],
14336
+ "sdFocus": [64]
14263
14337
  },
14264
14338
  "$listeners$": undefined,
14265
14339
  "$lazyBundleId$": "-",
@@ -14322,10 +14396,10 @@ class SdToast {
14322
14396
  render() {
14323
14397
  const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
14324
14398
  const iconSize = Number(TOAST_LAYOUT.iconSize);
14325
- return (hAsync("div", { key: '630fa227d71315f8e0e61bb19d0f37ca8363b856', style: {
14399
+ return (hAsync("div", { key: 'cb42937774233de10872edb8414db88f03868eb3', style: {
14326
14400
  '--sd-toast-bg': typeConfig.bg,
14327
14401
  '--sd-toast-text': typeConfig.content,
14328
- } }, hAsync("div", { key: '49fd9cb53f3c12aa372b44191ccd9f09cc159deb', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (hAsync("div", { key: 'c57ccceb89350863b19f00b7d725c20ddde33789', class: "sd-toast__icon" }, hAsync("sd-icon", { key: 'f17a78f7e326005117d69dddcb03e8c0a1443efe', name: this.icon, size: iconSize, color: typeConfig.content }))), hAsync("div", { key: '713c2c40003b17f29c6921826b4ef3a68d201761', class: "sd-toast__content" }, hAsync("span", { key: '50e48da188d6ab805d7cce55705be5da19207724', class: "sd-toast__message" }, this.message)), this.link && (hAsync("a", { key: 'f04fa2c7386cfb1655bfcfd76e6c1dcb1c5c1ea4', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (hAsync("sd-ghost-button", { key: '994248033b0d762693a9bacded1454ae1b66c770', class: "sd-toast__close", icon: "close", ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
14402
+ } }, hAsync("div", { key: 'e58b3335c4d7c450ef3686c53138636502c4e0f3', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (hAsync("div", { key: '62e42c814ab2f15d563b3f75c4e9dd3e559318a0', class: "sd-toast__icon" }, hAsync("sd-icon", { key: '3e346baecd3207ee817ba843427ed2076fd7cc7c', name: this.icon, size: iconSize, color: typeConfig.content }))), hAsync("div", { key: '700c7127a1d59409103b5ceb917e584020078736', class: "sd-toast__content" }, hAsync("span", { key: 'd4165f0e324048edcb2492f3050795d26ce1fc86', class: "sd-toast__message" }, this.message)), this.link && (hAsync("a", { key: 'f87089865b4e4fd5b488185478c453641920ac92', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.useClose && (hAsync("sd-ghost-button", { key: '33de3a35d1532cd15215751996827a462a7b8cad', class: "sd-toast__close", icon: "close", ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
14329
14403
  }
14330
14404
  static get style() { return sdToastCss(); }
14331
14405
  static get cmpMeta() { return {
@@ -14577,7 +14651,7 @@ class SdToastContainer {
14577
14651
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
14578
14652
  const indexMap = new Map();
14579
14653
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
14580
- return (hAsync("div", { key: '857b7a794e3dd945d706744519456ad033672760', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
14654
+ return (hAsync("div", { key: '7d2c4a095a0762710024c4c102ce49c7c7163368', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
14581
14655
  this.expanded = true;
14582
14656
  this.pauseTimers();
14583
14657
  }, onMouseLeave: () => {
@@ -14652,7 +14726,7 @@ class SdToggle {
14652
14726
  this.change.emit(newValue);
14653
14727
  };
14654
14728
  render() {
14655
- return (hAsync("label", { key: '2a50a4c8bd89f40db18b78ad5e5ed5885596f0d0', "aria-label": this.label || 'toggle', class: this.toggleClasses }, hAsync("input", { key: 'cfdea2ecd3d5946f3b4264d05da09af6e82ca4cd', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && hAsync("span", { key: 'f27cc85d92d47649f31e096ba09894c85a934c52', class: "sd-toggle__label" }, this.label), hAsync("div", { key: '4a19cae7fdc7e3b12e03281e31b8b3a2a4cfc88b', class: "sd-toggle__track" }, hAsync("div", { key: 'e99a72c39e20e8ea6b4d2df14e74c592b3b0eb22', class: "sd-toggle__thumb" }))));
14729
+ return (hAsync("label", { key: '9f4cf71a2aab588deb68d8e6908f0988ddbacb90', "aria-label": this.label || 'toggle', class: this.toggleClasses }, hAsync("input", { key: '6d1279761ea384a233bff234c549030709fd4ea3', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && hAsync("span", { key: '7ecd96f5e2c48fda17ed0086ab3cc8bc1caab458', class: "sd-toggle__label" }, this.label), hAsync("div", { key: '26f4d468e4ff0c4473e2ce00b7e69a855a249a96', class: "sd-toggle__track" }, hAsync("div", { key: '3a7f4019197cfa23dc268ee95308e60d7159ba28', class: "sd-toggle__thumb" }))));
14656
14730
  }
14657
14731
  static get style() { return sdToggleCss(); }
14658
14732
  static get cmpMeta() { return {
@@ -14708,7 +14782,7 @@ class SdToggleButton {
14708
14782
  this.change.emit(newValue);
14709
14783
  };
14710
14784
  render() {
14711
- return (hAsync("label", { key: '964590e261c212de41cae1cbb6e7e2054182d1f6', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, hAsync("input", { key: 'f1bfd190408a6e2899cdcd1d66688b94a8d2ecc0', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
14785
+ return (hAsync("label", { key: '9d98201d5ab361d0d2d5c8c61ce1e5b129f4d588', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, hAsync("input", { key: 'a745715a752bf99a94ab01d8c07c87d0f507a8ef', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
14712
14786
  }
14713
14787
  static get style() { return sdToggleButtonCss(); }
14714
14788
  static get cmpMeta() { return {
@@ -14836,14 +14910,14 @@ class SdTooltip {
14836
14910
  const toggleTooltip = () => (this.showTooltip = !this.showTooltip);
14837
14911
  const divTrigger = trigger === 'hover' ? hoverTrigger : this.label ? {} : { onClick: toggleTooltip };
14838
14912
  const buttonClickTrigger = trigger === 'click' && this.label ? { onSdClick: toggleTooltip } : {};
14839
- return (hAsync(Fragment, { key: '45662c35d1eb8cd1f23e0c62646a02fd244fee13' }, hAsync("div", { key: '7f04bfcc31aecad132ce95eeb1a6d936f79189ee', class: `sd-tooltip-trigger ${this.sdClass || ''}`, ...divTrigger }, this.label ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: icon, size: this.buttonSize ?? 'sm', color: color, variant: this.buttonVariant ?? 'primary', class: "sd-tooltip", ...buttonClickTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (hAsync("sd-floating-portal", { key: '95c16d600733dca5f40d06b222b422bd48ddb2dd', parentRef: this.buttonEl, onSdClose: this.handleClose.bind(this), placement: placement, offset: this.tooltipOffset }, hAsync("div", { key: '84b63cb44fbe9e7a81e033acde6be32b72ed24ba', ref: el => (this.menuEl = el), class: {
14913
+ return (hAsync(Fragment, { key: '2e854c5a056af93e65460500da199ddd763de777' }, hAsync("div", { key: 'aa5e250e4d371c4a54401d367fdf647cefb6aecc', class: `sd-tooltip-trigger ${this.sdClass || ''}`, ...divTrigger }, this.label ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: icon, size: this.buttonSize ?? 'sm', color: color, variant: this.buttonVariant ?? 'primary', class: "sd-tooltip", ...buttonClickTrigger })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (hAsync("sd-floating-portal", { key: 'f94aa0d5730b7f585f943b60bf39e4248d0b695e', parentRef: this.buttonEl, onSdClose: this.handleClose.bind(this), placement: placement, offset: this.tooltipOffset }, hAsync("div", { key: '76ece6c53c4daad54a13950b616bb7edd0827f81', ref: el => (this.menuEl = el), class: {
14840
14914
  'sd-floating-menu': true,
14841
14915
  [`sd-floating-menu--${tooltipType}`]: true,
14842
14916
  [`sd-floating-menu--${placement}`]: true,
14843
14917
  }, style: {
14844
14918
  '--sd-floating-bg': typeConfig.bg,
14845
14919
  '--sd-floating-content': typeConfig.content,
14846
- }, onMouseEnter: () => this.show(), onMouseLeave: () => this.startHideTimer() }, hAsync("i", { key: 'c05e9ecb128e780f3596e8e17b6796255e21b61e', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: 'fa56346eb836456d4a646cd2d3959e2c4c98c2d7' })), hAsync("div", { key: '926e918d55db0f79e5e776b341fe4d0d6b0bf574', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
14920
+ }, onMouseEnter: () => this.show(), onMouseLeave: () => this.startHideTimer() }, hAsync("i", { key: '4beed6bf9afbccd072c2c8ab9885d7a8bde99284', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, hAsync(TooltipArrow, { key: 'e73b4c9085c57f40410ecc0a7ec758019418899e' })), hAsync("div", { key: '8dcd58077836c846fafb948dbf0c77e149987818', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
14847
14921
  }
14848
14922
  static get style() { return sdTooltipCss(); }
14849
14923
  static get cmpMeta() { return {