@sellmate/design-system 0.0.53 → 0.0.54

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 (118) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{sd-button_21.cjs.entry.js → sd-button_23.cjs.entry.js} +591 -80
  4. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  5. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  6. package/dist/cjs/sd-select-multiple.cjs.entry.js +266 -0
  7. package/dist/cjs/sd-tbody_3.cjs.entry.js +3 -3
  8. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  9. package/dist/collection/collection-manifest.json +1 -0
  10. package/dist/collection/components/sd-number-input/sd-number-input.css +128 -0
  11. package/dist/collection/components/sd-number-input/sd-number-input.js +744 -0
  12. package/dist/collection/components/sd-number-input/sd-number-input.js.map +1 -0
  13. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  14. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  15. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  16. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  17. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  18. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +2 -2
  19. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +5 -0
  20. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +91 -42
  21. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js.map +1 -1
  22. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  23. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +1 -1
  24. package/dist/collection/components/sd-table/sd-td/sd-td.js +2 -2
  25. package/dist/collection/components/sd-table/sd-th/sd-th.js +1 -1
  26. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +1 -1
  27. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  28. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  29. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  30. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  31. package/dist/components/{p-CYadUxId.js → p-BBNolp5g.js} +3 -3
  32. package/dist/components/{p-CYadUxId.js.map → p-BBNolp5g.js.map} +1 -1
  33. package/dist/components/{p-71Aop19u.js → p-BH3t01Im.js} +5 -5
  34. package/dist/components/{p-71Aop19u.js.map → p-BH3t01Im.js.map} +1 -1
  35. package/dist/components/{p-Be8w5kOo.js → p-BqxmCDlz.js} +7 -7
  36. package/dist/components/{p-Be8w5kOo.js.map → p-BqxmCDlz.js.map} +1 -1
  37. package/dist/components/{p-B13lOU0D.js → p-C5T02a4h.js} +4 -4
  38. package/dist/components/{p-B13lOU0D.js.map → p-C5T02a4h.js.map} +1 -1
  39. package/dist/components/{p-Cf-LyLYk.js → p-CEDtmtIo.js} +3 -3
  40. package/dist/components/{p-Cf-LyLYk.js.map → p-CEDtmtIo.js.map} +1 -1
  41. package/dist/components/{p-DP33nj_I.js → p-Cx3euWvk.js} +3 -3
  42. package/dist/components/{p-DP33nj_I.js.map → p-Cx3euWvk.js.map} +1 -1
  43. package/dist/components/{p-ChQIkICO.js → p-DdeknsBE.js} +3 -3
  44. package/dist/components/{p-ChQIkICO.js.map → p-DdeknsBE.js.map} +1 -1
  45. package/dist/components/{p-j-ZEdgz4.js → p-GHGGjwP3.js} +3 -3
  46. package/dist/components/{p-j-ZEdgz4.js.map → p-GHGGjwP3.js.map} +1 -1
  47. package/dist/components/{p-B4wWf5r8.js → p-XAhTfI7Q.js} +4 -4
  48. package/dist/components/{p-B4wWf5r8.js.map → p-XAhTfI7Q.js.map} +1 -1
  49. package/dist/components/{p-CVtij2QI.js → p-at_j60O8.js} +3 -3
  50. package/dist/components/{p-CVtij2QI.js.map → p-at_j60O8.js.map} +1 -1
  51. package/dist/components/sd-date-picker.js +1 -1
  52. package/dist/components/sd-date-range-picker.js +1 -1
  53. package/dist/components/sd-guide.js +1 -1
  54. package/dist/components/sd-number-input.d.ts +11 -0
  55. package/dist/components/sd-number-input.js +335 -0
  56. package/dist/components/sd-number-input.js.map +1 -0
  57. package/dist/components/sd-pagination.js +1 -1
  58. package/dist/components/sd-popover.js +3 -3
  59. package/dist/components/sd-portal.js +1 -1
  60. package/dist/components/sd-progress.js +2 -2
  61. package/dist/components/sd-select-multiple-group.js +74 -45
  62. package/dist/components/sd-select-multiple-group.js.map +1 -1
  63. package/dist/components/sd-select-multiple.js +4 -4
  64. package/dist/components/sd-select-option-group.js +1 -1
  65. package/dist/components/sd-select-option.js +1 -1
  66. package/dist/components/sd-select.js +1 -1
  67. package/dist/components/sd-table-backup.js +6 -6
  68. package/dist/components/sd-table.js +9 -9
  69. package/dist/components/sd-tbody.js +1 -1
  70. package/dist/components/sd-td.js +2 -2
  71. package/dist/components/sd-th.js +1 -1
  72. package/dist/components/sd-toggle-button.js +1 -1
  73. package/dist/components/sd-toggle.js +1 -1
  74. package/dist/components/sd-tooltip-portal.js +1 -1
  75. package/dist/components/sd-tooltip.js +1 -1
  76. package/dist/components/sd-tr.js +1 -1
  77. package/dist/design-system/design-system.esm.js +1 -1
  78. package/dist/design-system/p-26266f8c.entry.js +2 -0
  79. package/dist/design-system/p-2df41cc3.entry.js +2 -0
  80. package/dist/design-system/p-2df41cc3.entry.js.map +1 -0
  81. package/dist/design-system/p-3cc7957d.entry.js +2 -0
  82. package/dist/design-system/p-a18c202d.entry.js +2 -0
  83. package/dist/design-system/{p-0cbdb34f.entry.js → p-b0668ce9.entry.js} +2 -2
  84. package/dist/design-system/{p-d02b3369.entry.js → p-f9e04bf9.entry.js} +2 -2
  85. package/dist/design-system/p-f9e04bf9.entry.js.map +1 -0
  86. package/dist/esm/design-system.js +1 -1
  87. package/dist/esm/loader.js +1 -1
  88. package/dist/esm/{sd-button_21.entry.js → sd-button_23.entry.js} +589 -80
  89. package/dist/esm/sd-popover.entry.js +2 -2
  90. package/dist/esm/sd-progress.entry.js +2 -2
  91. package/dist/esm/sd-select-multiple.entry.js +264 -0
  92. package/dist/esm/sd-select-multiple.entry.js.map +1 -0
  93. package/dist/esm/sd-tbody_3.entry.js +3 -3
  94. package/dist/esm/sd-td.entry.js +2 -2
  95. package/dist/types/components/sd-number-input/sd-number-input.d.ts +58 -0
  96. package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +2 -0
  97. package/dist/types/components.d.ts +145 -0
  98. package/hydrate/index.js +407 -68
  99. package/hydrate/index.mjs +407 -68
  100. package/package.json +1 -1
  101. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +0 -406
  102. package/dist/cjs/sd-select-option-group.cjs.entry.js +0 -69
  103. package/dist/design-system/p-1e7a06ef.entry.js +0 -2
  104. package/dist/design-system/p-761882f5.entry.js +0 -2
  105. package/dist/design-system/p-790ae9ce.entry.js +0 -2
  106. package/dist/design-system/p-790ae9ce.entry.js.map +0 -1
  107. package/dist/design-system/p-a8e8fc17.entry.js +0 -2
  108. package/dist/design-system/p-d02b3369.entry.js.map +0 -1
  109. package/dist/design-system/p-e492d625.entry.js +0 -2
  110. package/dist/design-system/p-e492d625.entry.js.map +0 -1
  111. package/dist/esm/sd-select-multiple-group.entry.js +0 -404
  112. package/dist/esm/sd-select-multiple-group.entry.js.map +0 -1
  113. package/dist/esm/sd-select-option-group.entry.js +0 -67
  114. package/dist/esm/sd-select-option-group.entry.js.map +0 -1
  115. /package/dist/design-system/{p-1e7a06ef.entry.js.map → p-26266f8c.entry.js.map} +0 -0
  116. /package/dist/design-system/{p-761882f5.entry.js.map → p-3cc7957d.entry.js.map} +0 -0
  117. /package/dist/design-system/{p-a8e8fc17.entry.js.map → p-a18c202d.entry.js.map} +0 -0
  118. /package/dist/design-system/{p-0cbdb34f.entry.js.map → p-b0668ce9.entry.js.map} +0 -0
@@ -0,0 +1,744 @@
1
+ import { Host, h, } from "@stencil/core";
2
+ export class SdNumberInput {
3
+ el;
4
+ min = Number.NEGATIVE_INFINITY;
5
+ max = Number.POSITIVE_INFINITY;
6
+ step = 1;
7
+ useButton = false;
8
+ useDecimal = false;
9
+ value = null;
10
+ label;
11
+ placeholder = '입력해 주세요.';
12
+ disabled = false;
13
+ width;
14
+ rules;
15
+ autoFocus = false;
16
+ status;
17
+ inputClass = '';
18
+ readonly = false;
19
+ inputStyle = {};
20
+ internalValue = null;
21
+ displayValue = '';
22
+ hovered = false;
23
+ error = false;
24
+ nativeEl = undefined;
25
+ sdIncrement;
26
+ sdDecrement;
27
+ sdInput;
28
+ sdChange;
29
+ sdFocus;
30
+ sdBlur;
31
+ formatWithCommas(value) {
32
+ if (value === null || value === undefined)
33
+ return '';
34
+ const isNegative = value < 0;
35
+ const absValue = Math.abs(value);
36
+ const [intPart, decPart] = absValue.toString().split('.');
37
+ const formatted = (+intPart).toLocaleString();
38
+ const result = isNegative ? '-' + formatted : formatted;
39
+ return decPart ? result + '.' + decPart : String(result);
40
+ }
41
+ parseInput(input) {
42
+ if (!input || input.trim() === '')
43
+ return null;
44
+ const cleaned = input.replace(/,/g, '').trim();
45
+ // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n
46
+ if (!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(cleaned)) {
47
+ return null;
48
+ }
49
+ const parsed = parseFloat(cleaned);
50
+ if (isNaN(parsed))
51
+ return null;
52
+ // 소수점 사용 하지 않는데 . 이 있는 경우
53
+ if (!this.useDecimal && cleaned.includes('.')) {
54
+ return null;
55
+ }
56
+ return parsed;
57
+ }
58
+ clampMinMax(value) {
59
+ return Math.min(Math.max(value, this.min), this.max);
60
+ }
61
+ updateDisplay() {
62
+ this.displayValue = this.formatWithCommas(this.internalValue);
63
+ }
64
+ isIncrementDisabled() {
65
+ if (this.disabled || this.readonly)
66
+ return true;
67
+ if (this.internalValue !== null) {
68
+ return this.internalValue >= this.max;
69
+ }
70
+ return false;
71
+ }
72
+ isDecrementDisabled() {
73
+ if (this.disabled || this.readonly)
74
+ return true;
75
+ if (this.internalValue !== null) {
76
+ return this.internalValue <= this.min;
77
+ }
78
+ return false;
79
+ }
80
+ valueChanged(newValue) {
81
+ if (newValue === null || newValue === '') {
82
+ this.internalValue = null;
83
+ }
84
+ else {
85
+ const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;
86
+ if (parsed !== null) {
87
+ this.internalValue = this.clampMinMax(parsed);
88
+ }
89
+ }
90
+ this.updateDisplay();
91
+ }
92
+ internalValueChanged(newValue) {
93
+ this.updateDisplay();
94
+ if (newValue !== this.value) {
95
+ this.value = newValue;
96
+ this.sdInput?.emit(newValue);
97
+ }
98
+ if (!this.rules || this.rules.length === 0)
99
+ return;
100
+ this.error = false;
101
+ for (const rule of this.rules) {
102
+ const result = rule(newValue);
103
+ if (result !== true) {
104
+ this.error = true;
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ componentWillLoad() {
110
+ if (this.value !== null && this.value !== undefined) {
111
+ const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;
112
+ if (parsed !== null) {
113
+ this.internalValue = this.clampMinMax(parsed);
114
+ }
115
+ }
116
+ this.updateDisplay();
117
+ }
118
+ handleInput = (event) => {
119
+ const target = event.target;
120
+ const inputValue = target.value;
121
+ if (inputValue === '') {
122
+ this.internalValue = null;
123
+ this.displayValue = '';
124
+ return;
125
+ }
126
+ const commasRemoved = inputValue.replace(/,/g, '');
127
+ // 만약에 소수점 (.) 이 여러개 일 경우
128
+ const decimalCount = (commasRemoved.match(/\./g) || []).length;
129
+ if (decimalCount > 1) {
130
+ target.value = this.displayValue;
131
+ return;
132
+ }
133
+ // 가능: "-", ".", "-." (단순 기호만 있는 경우)
134
+ if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {
135
+ target.value = commasRemoved;
136
+ return;
137
+ }
138
+ // 숫자 뒤에 . 이 있는 경우 (예: "1000.") -> 콤마 포맷 적용 + . 유지
139
+ if (commasRemoved.endsWith('.') && decimalCount === 1) {
140
+ const numberPart = commasRemoved.slice(0, -1);
141
+ const parsed = this.parseInput(numberPart);
142
+ if (parsed !== null) {
143
+ const formatted = this.formatWithCommas(parsed);
144
+ target.value = formatted + '.';
145
+ return;
146
+ }
147
+ }
148
+ const parsed = this.parseInput(commasRemoved);
149
+ if (parsed !== null) {
150
+ if (parsed < this.min) {
151
+ target.value = this.displayValue;
152
+ return;
153
+ }
154
+ if (parsed > this.max) {
155
+ target.value = this.displayValue;
156
+ return;
157
+ }
158
+ this.internalValue = parsed;
159
+ this.displayValue = this.formatWithCommas(parsed);
160
+ target.value = this.displayValue;
161
+ }
162
+ else {
163
+ target.value = this.displayValue;
164
+ }
165
+ };
166
+ handleChange = (event) => {
167
+ const target = event.target;
168
+ const inputValue = target.value;
169
+ if (inputValue === '') {
170
+ this.internalValue = null;
171
+ }
172
+ else {
173
+ const parsed = this.parseInput(inputValue);
174
+ if (parsed !== null) {
175
+ this.internalValue = this.clampMinMax(parsed);
176
+ }
177
+ }
178
+ this.sdChange?.emit(this.internalValue);
179
+ };
180
+ handleFocus = (event) => {
181
+ this.sdFocus?.emit(event);
182
+ };
183
+ handleBlur = (event) => {
184
+ this.updateDisplay();
185
+ if (this.nativeEl) {
186
+ this.nativeEl.value = this.displayValue;
187
+ }
188
+ this.sdBlur?.emit(event);
189
+ };
190
+ handleKeyDown = (event) => {
191
+ if (event.key === 'ArrowUp') {
192
+ event.preventDefault();
193
+ this.handleIncrement();
194
+ }
195
+ else if (event.key === 'ArrowDown') {
196
+ event.preventDefault();
197
+ this.handleDecrement();
198
+ }
199
+ };
200
+ handleIncrement = () => {
201
+ if (this.isIncrementDisabled())
202
+ return;
203
+ const currentVal = this.internalValue ?? (this.min ?? 0);
204
+ let nextVal = currentVal + this.step;
205
+ if (nextVal > this.max) {
206
+ nextVal = this.max;
207
+ }
208
+ if (nextVal === currentVal)
209
+ return;
210
+ this.sdIncrement?.emit({ currentVal: nextVal, prevVal: currentVal });
211
+ this.internalValue = nextVal;
212
+ this.sdChange?.emit(nextVal);
213
+ };
214
+ handleDecrement = () => {
215
+ if (this.isDecrementDisabled())
216
+ return;
217
+ const currentVal = this.internalValue ?? (this.min ?? 0);
218
+ let nextVal = currentVal - this.step;
219
+ if (nextVal < this.min) {
220
+ nextVal = this.min;
221
+ }
222
+ if (nextVal === currentVal)
223
+ return;
224
+ this.sdDecrement?.emit({ currentVal: nextVal, prevVal: currentVal });
225
+ this.internalValue = nextVal;
226
+ this.sdChange?.emit(nextVal);
227
+ };
228
+ async getNativeElement() {
229
+ return this.nativeEl || null;
230
+ }
231
+ getInputStatus() {
232
+ if (this.disabled)
233
+ return 'sd-number-input--disabled';
234
+ if (this.hovered)
235
+ return 'sd-number-input--hovered';
236
+ if (this.status)
237
+ return `sd-number-input--${this.status}`;
238
+ if (this.error)
239
+ return 'sd-number-input--error';
240
+ return '';
241
+ }
242
+ render() {
243
+ const inputWidth = this.width
244
+ ? {
245
+ '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,
246
+ }
247
+ : {};
248
+ const inputStyles = {
249
+ textAlign: this.useButton ? 'center' : 'right',
250
+ };
251
+ return (h(Host, { key: '353b3f99bf5933d6f445a78c9cecd93fcbdd3a9c', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && h("div", { key: '95d9687fa5634fb53f6a2120d2125cf92e12ccdd', class: "sd-number-input__label" }, this.label), h("label", { key: '05ba4deb72261325788b25842c27d7a177fda58a', class: {
252
+ 'sd-number-input': true,
253
+ [this.getInputStatus()]: true,
254
+ 'sd-number-input--with-buttons': this.useButton,
255
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: 'e4c415d40c20f5e915765f4f7d68cd123517acc1', ref: el => (this.nativeEl = el), class: `sd-number-input__input ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onChange: this.handleChange, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '1b960a710170212032a8cd7c1c6ad002a3275d69', class: "sd-number-input__buttons" }, h("button", { key: 'c9a80bbdf96e4e191c2d43f581eba9c77f465464', type: "button", class: {
256
+ 'sd-number-input__button': true,
257
+ 'sd-number-input__button--decrement': true,
258
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'c4791c052f390013e7dfdf78ef42d987e9609da1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), h("button", { key: '769fb6ebcde814f1f8667eaadd35f97139869bf3', type: "button", class: {
259
+ 'sd-number-input__button': true,
260
+ 'sd-number-input__button--increment': true,
261
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '6a4d263152daaf8f4a565f6659f6bfa6c0acc814', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
262
+ }
263
+ static get is() { return "sd-number-input"; }
264
+ static get originalStyleUrls() {
265
+ return {
266
+ "$": ["sd-number-input.scss"]
267
+ };
268
+ }
269
+ static get styleUrls() {
270
+ return {
271
+ "$": ["sd-number-input.css"]
272
+ };
273
+ }
274
+ static get properties() {
275
+ return {
276
+ "min": {
277
+ "type": "number",
278
+ "mutable": false,
279
+ "complexType": {
280
+ "original": "number",
281
+ "resolved": "number",
282
+ "references": {}
283
+ },
284
+ "required": false,
285
+ "optional": false,
286
+ "docs": {
287
+ "tags": [],
288
+ "text": ""
289
+ },
290
+ "getter": false,
291
+ "setter": false,
292
+ "reflect": false,
293
+ "attribute": "min",
294
+ "defaultValue": "Number.NEGATIVE_INFINITY"
295
+ },
296
+ "max": {
297
+ "type": "number",
298
+ "mutable": false,
299
+ "complexType": {
300
+ "original": "number",
301
+ "resolved": "number",
302
+ "references": {}
303
+ },
304
+ "required": false,
305
+ "optional": false,
306
+ "docs": {
307
+ "tags": [],
308
+ "text": ""
309
+ },
310
+ "getter": false,
311
+ "setter": false,
312
+ "reflect": false,
313
+ "attribute": "max",
314
+ "defaultValue": "Number.POSITIVE_INFINITY"
315
+ },
316
+ "step": {
317
+ "type": "number",
318
+ "mutable": false,
319
+ "complexType": {
320
+ "original": "number",
321
+ "resolved": "number",
322
+ "references": {}
323
+ },
324
+ "required": false,
325
+ "optional": false,
326
+ "docs": {
327
+ "tags": [],
328
+ "text": ""
329
+ },
330
+ "getter": false,
331
+ "setter": false,
332
+ "reflect": false,
333
+ "attribute": "step",
334
+ "defaultValue": "1"
335
+ },
336
+ "useButton": {
337
+ "type": "boolean",
338
+ "mutable": false,
339
+ "complexType": {
340
+ "original": "boolean",
341
+ "resolved": "boolean",
342
+ "references": {}
343
+ },
344
+ "required": false,
345
+ "optional": false,
346
+ "docs": {
347
+ "tags": [],
348
+ "text": ""
349
+ },
350
+ "getter": false,
351
+ "setter": false,
352
+ "reflect": false,
353
+ "attribute": "use-button",
354
+ "defaultValue": "false"
355
+ },
356
+ "useDecimal": {
357
+ "type": "boolean",
358
+ "mutable": false,
359
+ "complexType": {
360
+ "original": "boolean",
361
+ "resolved": "boolean",
362
+ "references": {}
363
+ },
364
+ "required": false,
365
+ "optional": false,
366
+ "docs": {
367
+ "tags": [],
368
+ "text": ""
369
+ },
370
+ "getter": false,
371
+ "setter": false,
372
+ "reflect": false,
373
+ "attribute": "use-decimal",
374
+ "defaultValue": "false"
375
+ },
376
+ "value": {
377
+ "type": "any",
378
+ "mutable": true,
379
+ "complexType": {
380
+ "original": "string | number | null",
381
+ "resolved": "null | number | string | undefined",
382
+ "references": {}
383
+ },
384
+ "required": false,
385
+ "optional": true,
386
+ "docs": {
387
+ "tags": [],
388
+ "text": ""
389
+ },
390
+ "getter": false,
391
+ "setter": false,
392
+ "reflect": false,
393
+ "attribute": "value",
394
+ "defaultValue": "null"
395
+ },
396
+ "label": {
397
+ "type": "string",
398
+ "mutable": false,
399
+ "complexType": {
400
+ "original": "string",
401
+ "resolved": "string | undefined",
402
+ "references": {}
403
+ },
404
+ "required": false,
405
+ "optional": true,
406
+ "docs": {
407
+ "tags": [],
408
+ "text": ""
409
+ },
410
+ "getter": false,
411
+ "setter": false,
412
+ "reflect": false,
413
+ "attribute": "label"
414
+ },
415
+ "placeholder": {
416
+ "type": "string",
417
+ "mutable": false,
418
+ "complexType": {
419
+ "original": "string",
420
+ "resolved": "string",
421
+ "references": {}
422
+ },
423
+ "required": false,
424
+ "optional": false,
425
+ "docs": {
426
+ "tags": [],
427
+ "text": ""
428
+ },
429
+ "getter": false,
430
+ "setter": false,
431
+ "reflect": false,
432
+ "attribute": "placeholder",
433
+ "defaultValue": "'\uC785\uB825\uD574 \uC8FC\uC138\uC694.'"
434
+ },
435
+ "disabled": {
436
+ "type": "boolean",
437
+ "mutable": false,
438
+ "complexType": {
439
+ "original": "boolean",
440
+ "resolved": "boolean",
441
+ "references": {}
442
+ },
443
+ "required": false,
444
+ "optional": false,
445
+ "docs": {
446
+ "tags": [],
447
+ "text": ""
448
+ },
449
+ "getter": false,
450
+ "setter": false,
451
+ "reflect": false,
452
+ "attribute": "disabled",
453
+ "defaultValue": "false"
454
+ },
455
+ "width": {
456
+ "type": "any",
457
+ "mutable": false,
458
+ "complexType": {
459
+ "original": "number | string",
460
+ "resolved": "number | string | undefined",
461
+ "references": {}
462
+ },
463
+ "required": false,
464
+ "optional": true,
465
+ "docs": {
466
+ "tags": [],
467
+ "text": ""
468
+ },
469
+ "getter": false,
470
+ "setter": false,
471
+ "reflect": false,
472
+ "attribute": "width"
473
+ },
474
+ "rules": {
475
+ "type": "unknown",
476
+ "mutable": false,
477
+ "complexType": {
478
+ "original": "Array<(value: string | number | null) => boolean | string>",
479
+ "resolved": "(((value: string | number | null) => string | boolean)[]) | undefined",
480
+ "references": {
481
+ "Array": {
482
+ "location": "global",
483
+ "id": "global::Array"
484
+ }
485
+ }
486
+ },
487
+ "required": false,
488
+ "optional": true,
489
+ "docs": {
490
+ "tags": [],
491
+ "text": ""
492
+ },
493
+ "getter": false,
494
+ "setter": false
495
+ },
496
+ "autoFocus": {
497
+ "type": "boolean",
498
+ "mutable": false,
499
+ "complexType": {
500
+ "original": "boolean",
501
+ "resolved": "boolean",
502
+ "references": {}
503
+ },
504
+ "required": false,
505
+ "optional": false,
506
+ "docs": {
507
+ "tags": [],
508
+ "text": ""
509
+ },
510
+ "getter": false,
511
+ "setter": false,
512
+ "reflect": false,
513
+ "attribute": "auto-focus",
514
+ "defaultValue": "false"
515
+ },
516
+ "status": {
517
+ "type": "string",
518
+ "mutable": false,
519
+ "complexType": {
520
+ "original": "'default' | 'pass' | 'error'",
521
+ "resolved": "\"default\" | \"error\" | \"pass\" | undefined",
522
+ "references": {}
523
+ },
524
+ "required": false,
525
+ "optional": true,
526
+ "docs": {
527
+ "tags": [],
528
+ "text": ""
529
+ },
530
+ "getter": false,
531
+ "setter": false,
532
+ "reflect": false,
533
+ "attribute": "status"
534
+ },
535
+ "inputClass": {
536
+ "type": "string",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "string",
540
+ "resolved": "string",
541
+ "references": {}
542
+ },
543
+ "required": false,
544
+ "optional": false,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": ""
548
+ },
549
+ "getter": false,
550
+ "setter": false,
551
+ "reflect": false,
552
+ "attribute": "input-class",
553
+ "defaultValue": "''"
554
+ },
555
+ "readonly": {
556
+ "type": "boolean",
557
+ "mutable": false,
558
+ "complexType": {
559
+ "original": "boolean",
560
+ "resolved": "boolean",
561
+ "references": {}
562
+ },
563
+ "required": false,
564
+ "optional": false,
565
+ "docs": {
566
+ "tags": [],
567
+ "text": ""
568
+ },
569
+ "getter": false,
570
+ "setter": false,
571
+ "reflect": false,
572
+ "attribute": "readonly",
573
+ "defaultValue": "false"
574
+ },
575
+ "inputStyle": {
576
+ "type": "unknown",
577
+ "mutable": false,
578
+ "complexType": {
579
+ "original": "{ [key: string]: string }",
580
+ "resolved": "{ [key: string]: string; }",
581
+ "references": {}
582
+ },
583
+ "required": false,
584
+ "optional": false,
585
+ "docs": {
586
+ "tags": [],
587
+ "text": ""
588
+ },
589
+ "getter": false,
590
+ "setter": false,
591
+ "defaultValue": "{}"
592
+ }
593
+ };
594
+ }
595
+ static get states() {
596
+ return {
597
+ "internalValue": {},
598
+ "displayValue": {},
599
+ "hovered": {},
600
+ "error": {}
601
+ };
602
+ }
603
+ static get events() {
604
+ return [{
605
+ "method": "sdIncrement",
606
+ "name": "sdIncrement",
607
+ "bubbles": true,
608
+ "cancelable": true,
609
+ "composed": true,
610
+ "docs": {
611
+ "tags": [],
612
+ "text": ""
613
+ },
614
+ "complexType": {
615
+ "original": "{ currentVal: number; prevVal: number }",
616
+ "resolved": "{ currentVal: number; prevVal: number; }",
617
+ "references": {}
618
+ }
619
+ }, {
620
+ "method": "sdDecrement",
621
+ "name": "sdDecrement",
622
+ "bubbles": true,
623
+ "cancelable": true,
624
+ "composed": true,
625
+ "docs": {
626
+ "tags": [],
627
+ "text": ""
628
+ },
629
+ "complexType": {
630
+ "original": "{ currentVal: number; prevVal: number }",
631
+ "resolved": "{ currentVal: number; prevVal: number; }",
632
+ "references": {}
633
+ }
634
+ }, {
635
+ "method": "sdInput",
636
+ "name": "sdInput",
637
+ "bubbles": true,
638
+ "cancelable": true,
639
+ "composed": true,
640
+ "docs": {
641
+ "tags": [],
642
+ "text": ""
643
+ },
644
+ "complexType": {
645
+ "original": "number | null",
646
+ "resolved": "null | number",
647
+ "references": {}
648
+ }
649
+ }, {
650
+ "method": "sdChange",
651
+ "name": "sdChange",
652
+ "bubbles": true,
653
+ "cancelable": true,
654
+ "composed": true,
655
+ "docs": {
656
+ "tags": [],
657
+ "text": ""
658
+ },
659
+ "complexType": {
660
+ "original": "number | null",
661
+ "resolved": "null | number",
662
+ "references": {}
663
+ }
664
+ }, {
665
+ "method": "sdFocus",
666
+ "name": "sdFocus",
667
+ "bubbles": true,
668
+ "cancelable": true,
669
+ "composed": true,
670
+ "docs": {
671
+ "tags": [],
672
+ "text": ""
673
+ },
674
+ "complexType": {
675
+ "original": "Event",
676
+ "resolved": "Event",
677
+ "references": {
678
+ "Event": {
679
+ "location": "import",
680
+ "path": "@stencil/core",
681
+ "id": "../../node_modules/@stencil/core/internal/stencil-core/index.d.ts::Event"
682
+ }
683
+ }
684
+ }
685
+ }, {
686
+ "method": "sdBlur",
687
+ "name": "sdBlur",
688
+ "bubbles": true,
689
+ "cancelable": true,
690
+ "composed": true,
691
+ "docs": {
692
+ "tags": [],
693
+ "text": ""
694
+ },
695
+ "complexType": {
696
+ "original": "Event",
697
+ "resolved": "Event",
698
+ "references": {
699
+ "Event": {
700
+ "location": "import",
701
+ "path": "@stencil/core",
702
+ "id": "../../node_modules/@stencil/core/internal/stencil-core/index.d.ts::Event"
703
+ }
704
+ }
705
+ }
706
+ }];
707
+ }
708
+ static get methods() {
709
+ return {
710
+ "getNativeElement": {
711
+ "complexType": {
712
+ "signature": "() => Promise<HTMLInputElement | null>",
713
+ "parameters": [],
714
+ "references": {
715
+ "Promise": {
716
+ "location": "global",
717
+ "id": "global::Promise"
718
+ },
719
+ "HTMLInputElement": {
720
+ "location": "global",
721
+ "id": "global::HTMLInputElement"
722
+ }
723
+ },
724
+ "return": "Promise<HTMLInputElement | null>"
725
+ },
726
+ "docs": {
727
+ "text": "",
728
+ "tags": []
729
+ }
730
+ }
731
+ };
732
+ }
733
+ static get elementRef() { return "el"; }
734
+ static get watchers() {
735
+ return [{
736
+ "propName": "value",
737
+ "methodName": "valueChanged"
738
+ }, {
739
+ "propName": "internalValue",
740
+ "methodName": "internalValueChanged"
741
+ }];
742
+ }
743
+ }
744
+ //# sourceMappingURL=sd-number-input.js.map