@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.
- package/dist/cjs/{component.textinput-DIDZPtYE.js → component.textinput-BWW8c3OY.js} +10 -1
- package/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
- package/dist/cjs/{sd-button_5.cjs.entry.js → sd-button_4.cjs.entry.js} +2 -146
- package/dist/cjs/sd-ghost-button.cjs.entry.js +148 -0
- package/dist/cjs/sd-input_2.cjs.entry.js +9 -3
- package/dist/cjs/sd-textarea.cjs.entry.js +76 -37
- package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-toast.cjs.entry.js +2 -2
- package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
- package/dist/collection/components/sd-input/sd-input.js +124 -2
- package/dist/collection/components/sd-textarea/sd-textarea.config.js +16 -0
- package/dist/collection/components/sd-textarea/sd-textarea.css +13 -53
- package/dist/collection/components/sd-textarea/sd-textarea.js +445 -60
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
- package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
- package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/components/{p-hWm-Llzv.js → p-BM4qDFZj.js} +1 -1
- package/dist/components/p-BR0LWoJL.js +1 -0
- package/dist/components/p-C8kA64_1.js +1 -0
- package/dist/components/{p-CnUsbdL7.js → p-Cbtpfl9F.js} +1 -1
- package/dist/components/{p-UUxu2akd.js → p-CmXAKr-2.js} +1 -1
- package/dist/components/p-DSNs8RRn.js +1 -0
- package/dist/components/{p-CpGiSLY_.js → p-DxzIjbQJ.js} +1 -1
- package/dist/components/{p-eOGZo-WB.js → p-w3CsjVGg.js} +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-select-dropdown.js +1 -1
- package/dist/components/sd-select-group.js +1 -1
- package/dist/components/sd-select-multiple-group.js +1 -1
- package/dist/components/sd-select-multiple.js +1 -1
- package/dist/components/sd-select-search-input.js +1 -1
- package/dist/components/sd-select-v2.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle-button.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{p-47931c26.entry.js → p-184649a9.entry.js} +1 -1
- package/dist/design-system/{p-64f2a188.entry.js → p-266ff86b.entry.js} +1 -1
- package/dist/design-system/{p-cebaca7c.entry.js → p-391cf704.entry.js} +1 -1
- package/dist/design-system/p-4e9413c0.entry.js +1 -0
- package/dist/design-system/p-5213773b.entry.js +1 -0
- package/dist/design-system/{p-4487b2ec.entry.js → p-99b6157f.entry.js} +1 -1
- package/dist/design-system/p-DSNs8RRn.js +1 -0
- package/dist/design-system/p-c2a0f10d.entry.js +1 -0
- package/dist/design-system/{p-c9af0fc9.entry.js → p-efe684e6.entry.js} +1 -1
- package/dist/design-system/{p-ea768c2e.entry.js → p-fdf7ed87.entry.js} +1 -1
- package/dist/esm/{component.textinput-BGovA1BG.js → component.textinput-DSNs8RRn.js} +10 -1
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-barcode-input.entry.js +1 -1
- package/dist/esm/{sd-button_5.entry.js → sd-button_4.entry.js} +3 -146
- package/dist/esm/sd-ghost-button.entry.js +146 -0
- package/dist/esm/sd-input_2.entry.js +9 -3
- package/dist/esm/sd-textarea.entry.js +76 -37
- package/dist/esm/sd-toast-container.entry.js +1 -1
- package/dist/esm/sd-toast.entry.js +2 -2
- package/dist/esm/sd-toggle-button.entry.js +1 -1
- package/dist/esm/sd-toggle.entry.js +1 -1
- package/dist/types/components/sd-input/sd-input.d.ts +6 -0
- package/dist/types/components/sd-textarea/sd-textarea.config.d.ts +34 -0
- package/dist/types/components/sd-textarea/sd-textarea.d.ts +28 -9
- package/dist/types/components.d.ts +172 -8
- package/hydrate/index.js +128 -54
- package/hydrate/index.mjs +128 -54
- package/package.json +1 -1
- package/dist/components/p-BGovA1BG.js +0 -1
- package/dist/components/p-Ck-2jtzb.js +0 -1
- package/dist/components/p-Dx7R5s53.js +0 -1
- package/dist/design-system/p-52d6d7b5.entry.js +0 -1
- package/dist/design-system/p-BGovA1BG.js +0 -1
- 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
|
-
|
|
1778
|
-
|
|
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
|
-
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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: '
|
|
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: '
|
|
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
|
|
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
|
-
|
|
14194
|
+
placeholder = '입력해 주세요.';
|
|
14160
14195
|
disabled = false;
|
|
14196
|
+
readonly = false;
|
|
14161
14197
|
autoFocus = false;
|
|
14162
14198
|
textareaClass = '';
|
|
14163
|
-
|
|
14199
|
+
textareaStyle = {};
|
|
14164
14200
|
maxLength;
|
|
14165
|
-
|
|
14166
|
-
|
|
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
|
|
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
|
|
14232
|
-
|
|
14233
|
-
|
|
14234
|
-
|
|
14235
|
-
|
|
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
|
-
"
|
|
14309
|
+
"placeholder": [1],
|
|
14252
14310
|
"disabled": [4],
|
|
14311
|
+
"readonly": [4],
|
|
14253
14312
|
"autoFocus": [4, "auto-focus"],
|
|
14254
14313
|
"textareaClass": [1, "textarea-class"],
|
|
14255
|
-
"
|
|
14314
|
+
"textareaStyle": [16],
|
|
14256
14315
|
"maxLength": [2, "max-length"],
|
|
14257
|
-
"
|
|
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
|
-
"
|
|
14260
|
-
"
|
|
14261
|
-
"
|
|
14262
|
-
"
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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 {
|