@sellmate/design-system 1.0.3 → 1.0.4

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.
@@ -238,17 +238,17 @@ const SdNumberInput = class {
238
238
  const inputStyles = {
239
239
  textAlign: this.useButton ? 'center' : 'right',
240
240
  };
241
- return (index.h(index.Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && index.h("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), index.h("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
241
+ return (index.h(index.Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && index.h("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), index.h("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
242
242
  'sd-number-input': true,
243
243
  [this.getInputStatus()]: true,
244
244
  'sd-number-input--with-buttons': this.useButton,
245
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, index.h("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (index.h("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, index.h("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
245
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, index.h("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (index.h("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, index.h("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
246
246
  'sd-number-input__button': true,
247
247
  'sd-number-input__button--decrement': true,
248
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), index.h("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
248
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), index.h("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
249
249
  'sd-number-input__button': true,
250
250
  'sd-number-input__button--increment': true,
251
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
251
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
252
252
  }
253
253
  static get watchers() { return {
254
254
  "value": ["valueChanged"],
@@ -227,17 +227,17 @@ export class SdNumberInput {
227
227
  const inputStyles = {
228
228
  textAlign: this.useButton ? 'center' : 'right',
229
229
  };
230
- return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && h("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), h("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
230
+ return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && h("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), h("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
231
231
  'sd-number-input': true,
232
232
  [this.getInputStatus()]: true,
233
233
  'sd-number-input--with-buttons': this.useButton,
234
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, h("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
234
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, h("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
235
235
  'sd-number-input__button': true,
236
236
  'sd-number-input__button--decrement': true,
237
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), h("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
237
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), h("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
238
238
  'sd-number-input__button': true,
239
239
  'sd-number-input__button--increment': true,
240
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
240
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
241
241
  }
242
242
  static get is() { return "sd-number-input"; }
243
243
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-number-input.js","sourceRoot":"","sources":["../../../src/components/sd-number-input/sd-number-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.useButton ? 'use buttons' : 'dont use buttons'}\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon name=\"add\" size={12} color={this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF'} />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"sd-number-input.js","sourceRoot":"","sources":["../../../src/components/sd-number-input/sd-number-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"add\"\n size={12}\n color={this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -240,17 +240,17 @@ const SdNumberInput$1 = /*@__PURE__*/ proxyCustomElement(class SdNumberInput ext
240
240
  const inputStyles = {
241
241
  textAlign: this.useButton ? 'center' : 'right',
242
242
  };
243
- return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && h("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), h("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
243
+ return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && h("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), h("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
244
244
  'sd-number-input': true,
245
245
  [this.getInputStatus()]: true,
246
246
  'sd-number-input--with-buttons': this.useButton,
247
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, h("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
247
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, h("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
248
248
  'sd-number-input__button': true,
249
249
  'sd-number-input__button--decrement': true,
250
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), h("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
250
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), h("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
251
251
  'sd-number-input__button': true,
252
252
  'sd-number-input__button--increment': true,
253
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
253
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
254
254
  }
255
255
  static get watchers() { return {
256
256
  "value": ["valueChanged"],
@@ -1 +1 @@
1
- {"file":"sd-number-input.js","mappings":"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","names":["SdNumberInput","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-number-input/sd-number-input.scss?tag=sd-number-input","src/components/sd-number-input/sd-number-input.tsx"],"sourcesContent":["@import 'variables';\n@import '../sd-icon/sd-icon.scss';\n\n.sd-number-input {\n box-sizing: border-box;\n display: flex;\n width: var(--input-width, 100%);\n align-items: center;\n height: 28px;\n padding: 4px 8px;\n border: 1px solid $grey_55;\n border-radius: 4px;\n color: $grey_90;\n font-size: 12px;\n line-height: 20px;\n background: white;\n position: relative;\n\n &--hovered {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n\n &.sd-number-input--error {\n border-color: $red_70;\n }\n\n &.sd-number-input--pass {\n border-color: $green_65;\n }\n\n &.sd-number-input--disabled {\n background-color: $grey_20 !important;\n border-color: $grey_45 !important;\n cursor: not-allowed !important;\n box-shadow: none !important;\n\n .sd-number-input__input {\n color: $grey_65 !important;\n cursor: not-allowed !important;\n }\n }\n\n .sd-number-input__input {\n display: block;\n width: 100%;\n height: 20px;\n line-height: 20px;\n border: none;\n outline: none;\n background: transparent;\n font-size: inherit;\n color: $grey_90;\n margin-left: 4px;\n margin-right: 4px;\n padding-block: 0;\n padding-inline: 0;\n text-align: right;\n\n &::placeholder {\n font-size: 12px;\n height: 20px;\n line-height: 20px;\n color: $grey_55;\n }\n }\n\n .sd-number-input__clear-icon {\n cursor: pointer;\n margin-left: 8px;\n }\n\n .sd-number-input__buttons {\n padding: 4px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n }\n\n .sd-number-input__button {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 2px;\n background-color: $brilliantblue_10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n transition: background-color 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: $brilliantblue_20;\n }\n\n &:disabled {\n background-color: $grey_20;\n cursor: not-allowed;\n }\n\n &--decrement {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &--increment {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n .sd-number-input__label {\n margin-bottom: 8px;\n font-weight: 500;\n color: $grey_90;\n }\n}\n\nsd-number-input:focus-within {\n .sd-number-input__buttons {\n opacity: 1;\n pointer-events: auto;\n }\n\n .sd-number-input {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n}","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.useButton ? 'use buttons' : 'dont use buttons'}\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon name=\"add\" size={12} color={this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF'} />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"sd-number-input.js","mappings":"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","names":["SdNumberInput","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-number-input/sd-number-input.scss?tag=sd-number-input","src/components/sd-number-input/sd-number-input.tsx"],"sourcesContent":["@import 'variables';\n@import '../sd-icon/sd-icon.scss';\n\n.sd-number-input {\n box-sizing: border-box;\n display: flex;\n width: var(--input-width, 100%);\n align-items: center;\n height: 28px;\n padding: 4px 8px;\n border: 1px solid $grey_55;\n border-radius: 4px;\n color: $grey_90;\n font-size: 12px;\n line-height: 20px;\n background: white;\n position: relative;\n\n &--hovered {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n\n &.sd-number-input--error {\n border-color: $red_70;\n }\n\n &.sd-number-input--pass {\n border-color: $green_65;\n }\n\n &.sd-number-input--disabled {\n background-color: $grey_20 !important;\n border-color: $grey_45 !important;\n cursor: not-allowed !important;\n box-shadow: none !important;\n\n .sd-number-input__input {\n color: $grey_65 !important;\n cursor: not-allowed !important;\n }\n }\n\n .sd-number-input__input {\n display: block;\n width: 100%;\n height: 20px;\n line-height: 20px;\n border: none;\n outline: none;\n background: transparent;\n font-size: inherit;\n color: $grey_90;\n margin-left: 4px;\n margin-right: 4px;\n padding-block: 0;\n padding-inline: 0;\n text-align: right;\n\n &::placeholder {\n font-size: 12px;\n height: 20px;\n line-height: 20px;\n color: $grey_55;\n }\n }\n\n .sd-number-input__clear-icon {\n cursor: pointer;\n margin-left: 8px;\n }\n\n .sd-number-input__buttons {\n padding: 4px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n }\n\n .sd-number-input__button {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 2px;\n background-color: $brilliantblue_10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n transition: background-color 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: $brilliantblue_20;\n }\n\n &:disabled {\n background-color: $grey_20;\n cursor: not-allowed;\n }\n\n &--decrement {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &--increment {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n .sd-number-input__label {\n margin-bottom: 8px;\n font-weight: 500;\n color: $grey_90;\n }\n}\n\nsd-number-input:focus-within {\n .sd-number-input__buttons {\n opacity: 1;\n pointer-events: auto;\n }\n\n .sd-number-input {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n}","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"add\"\n size={12}\n color={this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,2 +1,2 @@
1
- import{p as e,g as l,b as a}from"./p-C3qNZ7Qh.js";export{s as setNonce}from"./p-C3qNZ7Qh.js";var o=()=>{const l=import.meta.url;const a={};if(l!==""){a.resourcesUrl=new URL(".",l).href}return e(a)};o().then((async e=>{await l();return a(JSON.parse('[["p-1a5c8581",[[772,"sd-table",{"columns":[16],"rows":[1040],"selected":[1040],"rowKey":[1,"row-key"],"selectable":[4],"resizable":[4],"width":[1],"height":[1],"stickyHeader":[4,"sticky-header"],"stickyColumn":[16],"noDataLabel":[1,"no-data-label"],"isLoading":[4,"is-loading"],"pagination":[16],"headerCellRenderer":[16],"bodyCellRenderer":[16],"useInternalPagination":[4,"use-internal-pagination"],"useRowsPerPageSelect":[4,"use-rows-per-page-select"],"rowsPerPageOption":[16],"useVirtualScroll":[16],"virtualRowHeight":[2,"virtual-row-height"],"virtualColumnWidth":[2,"virtual-column-width"],"virtualBufferSize":[16],"currentPage":[32],"innerRows":[32],"innerSelected":[32],"columnWidths":[32],"scrolledLeft":[32],"scrolledRight":[32],"virtualStartIndex":[32],"virtualEndIndex":[32],"scrollTopPosition":[32],"virtualStartColIdx":[32],"virtualEndColIdx":[32],"scrollLeftPosition":[32]},null,{"columns":["handleColumnsChange"],"columnWidths":["handleColumnWidthsChange"],"rows":["handleRowsChange"],"selected":["handleSelectedChange"],"pagination":["handlePaginationChange"]}]]],["p-a8650b7e",[[768,"sd-select-multiple",{"value":[1040],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"autoFocus":[4,"auto-focus"],"disabled":[4],"clearable":[4],"searchable":[4],"useAll":[4,"use-all"],"useCheckbox":[4,"use-checkbox"],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"optionRenderer":[16],"isOpen":[32],"itemIndex":[32],"isScrolled":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"isOpen":["isOpenChanged"]}]]],["p-f8e3d576",[[772,"sd-select-multiple-group",{"value":[1040],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"disabled":[4],"clearable":[4],"searchable":[4],"useCheckbox":[4,"use-checkbox"],"useAll":[4,"use-all"],"allCheckedLabel":[1,"all-checked-label"],"allCheckOptionLabel":[1,"all-check-option-label"],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"containerStyle":[16],"triggerStyle":[16],"dropdownStyle":[16],"optionStyle":[16],"labelStyle":[16],"optionRenderer":[16],"filteredOptions":[32],"isOpen":[32],"searchText":[32],"itemIndex":[32],"isScrolled":[32],"isDropdownReady":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"options":["optionsChanged"],"searchText":["searchTextChanged"],"itemIndex":["itemIndexChanged"],"isOpen":["isOpenChanged"]}]]],["p-206de2a1",[[770,"sd-date-picker",{"value":[1537],"label":[1],"selectable":[16],"disabled":[4],"placeholder":[1],"isOpen":[32],"currentDate":[32],"currentYear":[32],"currentMonth":[32]}]]],["p-0a80eff0",[[770,"sd-date-range-picker",{"value":[1040],"label":[1],"selectable":[16],"maxRange":[2,"max-range"],"disabled":[4],"placeholder":[1],"isOpen":[32],"dateRange":[32],"hoverDate":[32],"prevYear":[32],"prevMonth":[32]},null,{"value":["onValueChange"]}]]],["p-17f36d15",[[768,"sd-guide",{"type":[1],"label":[1],"message":[1],"guideUrl":[1,"guide-url"],"popupTitle":[1,"popup-title"],"popupWidth":[2,"popup-width"],"popupShow":[32]}]]],["p-cdd7880f",[[768,"sd-popover",{"show":[1028],"placement":[513],"color":[513],"icon":[513],"iconSize":[514,"icon-size"],"label":[1],"buttonSize":[513,"button-size"],"buttonVariant":[513,"button-variant"],"menuTitle":[513,"title"],"messages":[16],"buttons":[16],"menuClass":[1,"menu-class"],"noHover":[4,"no-hover"],"useClose":[4,"use-close"],"showPopover":[32],"slotContent":[32]},null,{"show":["watchShowHandler"]}]]],["p-661c4553",[[772,"sd-modal-card",{"type":[1],"system":[1],"useCloseButton":[4,"use-close-button"],"modalTitle":[1,"modal-title"],"buttonFlexDirection":[1,"button-flex-direction"],"buttonProps":[16],"message":[16],"modalClass":[1,"modal-class"]}]]],["p-06b1b928",[[770,"sd-toast-message",{"icon":[1],"message":[1],"link":[1],"linkLabel":[1,"link-label"],"buttonLabel":[1,"button-label"],"useClose":[4,"use-close"],"type":[1],"isVisible":[32]}]]],["p-7a18002e",[[768,"sd-file-picker",{"value":[1040],"placeholder":[1],"disabled":[4],"inline":[4],"multiple":[4],"accept":[1],"internalValue":[32],"hovered":[32],"showTooltip":[32]},null,{"value":["valueChanged"]}]]],["p-82356c0a",[[768,"sd-number-input",{"min":[2],"max":[2],"step":[2],"useButton":[4,"use-button"],"useDecimal":[4,"use-decimal"],"value":[1032],"label":[1],"placeholder":[1],"disabled":[4],"width":[8],"rules":[16],"autoFocus":[4,"auto-focus"],"status":[1],"inputClass":[1,"input-class"],"readonly":[4],"inputStyle":[16],"internalValue":[32],"displayValue":[32],"hovered":[32],"error":[32],"sdGetNativeElement":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}]]],["p-9fdf431c",[[768,"sd-select-option-group",{"option":[16],"index":[2],"isSelected":[4,"is-selected"],"isFocused":[4,"is-focused"],"optionStyle":[16],"disabled":[4],"useCheckbox":[4,"use-checkbox"],"useIndicator":[4,"use-indicator"],"countInfo":[16],"isHovered":[32],"isDisabled":[64]}]]],["p-ff131fbc",[[768,"sd-radio",{"value":[1544],"disabled":[4],"val":[1],"label":[1]}]]],["p-29a9975a",[[768,"sd-radio-group",{"value":[1544],"radioOptions":[1040],"direction":[1],"disabled":[4],"groupName":[1,"group-name"]},null,{"value":["valueChanged"]}]]],["p-f9bc026f",[[768,"sd-tabs",{"value":[1537],"tabs":[1040],"size":[1],"isSub":[4,"is-sub"]},null,{"value":["valueChanged"]}]]],["p-43b9fd6b",[[768,"sd-badge",{"size":[1],"color":[1],"label":[1]}]]],["p-0e12f7b6",[[772,"sd-card",{"bordered":[4],"cardClassName":[1,"card-class-name"]}]]],["p-8df72aa2",[[260,"sd-form",{"sdRegisterField":[64],"sdUnregisterField":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidation":[64]}]]],["p-f43b8c46",[[768,"sd-progress",{"type":[1],"error":[4],"percentage":[2],"size":[2],"strokeWidth":[2,"stroke-width"],"label":[1]}]]],["p-0a9f4be0",[[768,"sd-radio-button-group",{"value":[1032],"radioOptions":[1040],"size":[1],"disabled":[4],"name":[1]}]]],["p-97d0ce6e",[[768,"sd-toggle",{"value":[1028],"label":[1],"disabled":[4]}]]],["p-12c9cfda",[[768,"sd-toggle-button",{"value":[1540],"label":[1],"disabled":[4],"isActive":[32]}]]],["p-dc2f4b2f",[[769,"sd-tag",{"size":[1],"color":[1],"rounded":[4],"label":[1],"bgColor":[1,"bg-color"],"textColor":[1,"text-color"]}]]],["p-fca80354",[[768,"sd-textarea",{"value":[1025],"name":[1],"disabled":[4],"width":[8],"autoFocus":[4,"auto-focus"],"textareaClass":[1,"textarea-class"],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"placeholder":[1],"internalValue":[32],"focused":[32],"hovered":[32],"sdFocus":[64],"getNativeElement":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}],[768,"sd-pagination",{"currentPage":[2,"current-page"],"lastPage":[2,"last-page"],"simple":[4]}],[768,"sd-tooltip",{"trigger":[1],"placement":[1],"color":[1],"type":[1],"icon":[1],"iconSize":[2,"icon-size"],"label":[1],"buttonSize":[1,"button-size"],"buttonVariant":[1,"button-variant"],"noHover":[4,"no-hover"],"useClose":[4,"use-close"],"showTooltip":[32],"slotContentHTML":[32]}],[772,"sd-floating-portal",{"to":[1],"parentRef":[16],"offset":[16],"zIndex":[2,"z-index"],"placement":[1],"open":[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]],[768,"sd-button",{"variant":[1],"size":[1],"color":[1],"label":[1],"disabled":[4],"type":[1],"icon":[1],"iconColor":[1,"icon-color"],"iconSize":[2,"icon-size"],"iconRight":[1,"icon-right"],"noHover":[4,"no-hover"],"class":[1]}],[768,"sd-icon",{"name":[1],"size":[8],"color":[1],"rotate":[2],"label":[1],"iconStyle":[16]}]]],["p-827ca975",[[768,"sd-checkbox",{"value":[1028],"val":[8],"disabled":[4],"label":[1],"isChecked":[32]},null,{"value":["watchValueHandler"]}]]],["p-4d88d812",[[772,"sd-portal",{"to":[1],"parentRef":[16],"offset":[16],"zIndex":[2,"z-index"],"open":[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]],[772,"sd-input",{"value":[1032],"type":[1],"insideLabel":[4,"inside-label"],"placeholder":[1],"disabled":[4],"clearable":[4],"width":[8],"barcode":[4],"rules":[16],"autoFocus":[4,"auto-focus"],"status":[1],"inputClass":[1,"input-class"],"readonly":[4],"error":[1028],"focused":[1028],"hovered":[1028],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"inputStyle":[16],"internalValue":[32],"sdGetNativeElement":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}],[772,"sd-field",{"name":[1],"rules":[16],"error":[1028],"disabled":[1028],"hovered":[1028],"focused":[1028],"status":[1],"label":[1],"insideLabel":[4,"inside-label"],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"errorMsg":[32],"sdValidate":[64],"sdReset":[64],"sdResetValidation":[64],"sdFocus":[64]}]]],["p-a2291ce8",[[768,"sd-select",{"value":[1032],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"autoFocus":[4,"auto-focus"],"disabled":[4],"clearable":[4],"searchable":[4],"label":[1],"insideLabel":[4,"inside-label"],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"optionRenderer":[16],"isOpen":[32],"itemIndex":[32],"isScrolled":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"isOpen":["isOpenChanged"]}],[768,"sd-loading-spinner",{"color":[1]}]]],["p-dc410414",[[770,"sd-date-box",{"date":[8],"disabled":[4],"selected":[4],"isStartDate":[4,"is-start-date"],"isEndDate":[4,"is-end-date"],"isToday":[4,"is-today"],"inRange":[4,"in-range"],"type":[1]}]]],["p-86830071",[[772,"sd-select-dropdown",{"itemIndex":[1026,"item-index"],"value":[8],"options":[16],"width":[1],"dropdownHeight":[1,"dropdown-height"],"searchable":[4],"optionPlaceholder":[1,"option-placeholder"],"useCheckbox":[4,"use-checkbox"],"useAll":[4,"use-all"],"filteredOptions":[32],"searchText":[32],"isScrolled":[32],"isDropdownReady":[32]},null,{"filteredOptions":["filteredOptionsChanged"],"searchText":["searchTextChanged"],"itemIndex":["itemIndexChanged"]}],[768,"sd-select-option",{"option":[16],"index":[2],"isSelected":[4,"is-selected"],"isFocused":[4,"is-focused"],"optionStyle":[16],"disabled":[4],"useCheckbox":[4,"use-checkbox"],"isHovered":[32],"sdIsDisabled":[64]}],[768,"sd-select-search-input",{"isScrolled":[4,"is-scrolled"],"searchText":[1,"search-text"],"sdGetNativeElement":[64],"sdSearchInputFocus":[64]}]]]]'),e)}));
1
+ import{p as e,g as l,b as a}from"./p-C3qNZ7Qh.js";export{s as setNonce}from"./p-C3qNZ7Qh.js";var o=()=>{const l=import.meta.url;const a={};if(l!==""){a.resourcesUrl=new URL(".",l).href}return e(a)};o().then((async e=>{await l();return a(JSON.parse('[["p-1a5c8581",[[772,"sd-table",{"columns":[16],"rows":[1040],"selected":[1040],"rowKey":[1,"row-key"],"selectable":[4],"resizable":[4],"width":[1],"height":[1],"stickyHeader":[4,"sticky-header"],"stickyColumn":[16],"noDataLabel":[1,"no-data-label"],"isLoading":[4,"is-loading"],"pagination":[16],"headerCellRenderer":[16],"bodyCellRenderer":[16],"useInternalPagination":[4,"use-internal-pagination"],"useRowsPerPageSelect":[4,"use-rows-per-page-select"],"rowsPerPageOption":[16],"useVirtualScroll":[16],"virtualRowHeight":[2,"virtual-row-height"],"virtualColumnWidth":[2,"virtual-column-width"],"virtualBufferSize":[16],"currentPage":[32],"innerRows":[32],"innerSelected":[32],"columnWidths":[32],"scrolledLeft":[32],"scrolledRight":[32],"virtualStartIndex":[32],"virtualEndIndex":[32],"scrollTopPosition":[32],"virtualStartColIdx":[32],"virtualEndColIdx":[32],"scrollLeftPosition":[32]},null,{"columns":["handleColumnsChange"],"columnWidths":["handleColumnWidthsChange"],"rows":["handleRowsChange"],"selected":["handleSelectedChange"],"pagination":["handlePaginationChange"]}]]],["p-a8650b7e",[[768,"sd-select-multiple",{"value":[1040],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"autoFocus":[4,"auto-focus"],"disabled":[4],"clearable":[4],"searchable":[4],"useAll":[4,"use-all"],"useCheckbox":[4,"use-checkbox"],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"optionRenderer":[16],"isOpen":[32],"itemIndex":[32],"isScrolled":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"isOpen":["isOpenChanged"]}]]],["p-f8e3d576",[[772,"sd-select-multiple-group",{"value":[1040],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"disabled":[4],"clearable":[4],"searchable":[4],"useCheckbox":[4,"use-checkbox"],"useAll":[4,"use-all"],"allCheckedLabel":[1,"all-checked-label"],"allCheckOptionLabel":[1,"all-check-option-label"],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"containerStyle":[16],"triggerStyle":[16],"dropdownStyle":[16],"optionStyle":[16],"labelStyle":[16],"optionRenderer":[16],"filteredOptions":[32],"isOpen":[32],"searchText":[32],"itemIndex":[32],"isScrolled":[32],"isDropdownReady":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"options":["optionsChanged"],"searchText":["searchTextChanged"],"itemIndex":["itemIndexChanged"],"isOpen":["isOpenChanged"]}]]],["p-206de2a1",[[770,"sd-date-picker",{"value":[1537],"label":[1],"selectable":[16],"disabled":[4],"placeholder":[1],"isOpen":[32],"currentDate":[32],"currentYear":[32],"currentMonth":[32]}]]],["p-0a80eff0",[[770,"sd-date-range-picker",{"value":[1040],"label":[1],"selectable":[16],"maxRange":[2,"max-range"],"disabled":[4],"placeholder":[1],"isOpen":[32],"dateRange":[32],"hoverDate":[32],"prevYear":[32],"prevMonth":[32]},null,{"value":["onValueChange"]}]]],["p-17f36d15",[[768,"sd-guide",{"type":[1],"label":[1],"message":[1],"guideUrl":[1,"guide-url"],"popupTitle":[1,"popup-title"],"popupWidth":[2,"popup-width"],"popupShow":[32]}]]],["p-cdd7880f",[[768,"sd-popover",{"show":[1028],"placement":[513],"color":[513],"icon":[513],"iconSize":[514,"icon-size"],"label":[1],"buttonSize":[513,"button-size"],"buttonVariant":[513,"button-variant"],"menuTitle":[513,"title"],"messages":[16],"buttons":[16],"menuClass":[1,"menu-class"],"noHover":[4,"no-hover"],"useClose":[4,"use-close"],"showPopover":[32],"slotContent":[32]},null,{"show":["watchShowHandler"]}]]],["p-661c4553",[[772,"sd-modal-card",{"type":[1],"system":[1],"useCloseButton":[4,"use-close-button"],"modalTitle":[1,"modal-title"],"buttonFlexDirection":[1,"button-flex-direction"],"buttonProps":[16],"message":[16],"modalClass":[1,"modal-class"]}]]],["p-06b1b928",[[770,"sd-toast-message",{"icon":[1],"message":[1],"link":[1],"linkLabel":[1,"link-label"],"buttonLabel":[1,"button-label"],"useClose":[4,"use-close"],"type":[1],"isVisible":[32]}]]],["p-7a18002e",[[768,"sd-file-picker",{"value":[1040],"placeholder":[1],"disabled":[4],"inline":[4],"multiple":[4],"accept":[1],"internalValue":[32],"hovered":[32],"showTooltip":[32]},null,{"value":["valueChanged"]}]]],["p-dfe945c7",[[768,"sd-number-input",{"min":[2],"max":[2],"step":[2],"useButton":[4,"use-button"],"useDecimal":[4,"use-decimal"],"value":[1032],"label":[1],"placeholder":[1],"disabled":[4],"width":[8],"rules":[16],"autoFocus":[4,"auto-focus"],"status":[1],"inputClass":[1,"input-class"],"readonly":[4],"inputStyle":[16],"internalValue":[32],"displayValue":[32],"hovered":[32],"error":[32],"sdGetNativeElement":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}]]],["p-9fdf431c",[[768,"sd-select-option-group",{"option":[16],"index":[2],"isSelected":[4,"is-selected"],"isFocused":[4,"is-focused"],"optionStyle":[16],"disabled":[4],"useCheckbox":[4,"use-checkbox"],"useIndicator":[4,"use-indicator"],"countInfo":[16],"isHovered":[32],"isDisabled":[64]}]]],["p-ff131fbc",[[768,"sd-radio",{"value":[1544],"disabled":[4],"val":[1],"label":[1]}]]],["p-29a9975a",[[768,"sd-radio-group",{"value":[1544],"radioOptions":[1040],"direction":[1],"disabled":[4],"groupName":[1,"group-name"]},null,{"value":["valueChanged"]}]]],["p-f9bc026f",[[768,"sd-tabs",{"value":[1537],"tabs":[1040],"size":[1],"isSub":[4,"is-sub"]},null,{"value":["valueChanged"]}]]],["p-43b9fd6b",[[768,"sd-badge",{"size":[1],"color":[1],"label":[1]}]]],["p-0e12f7b6",[[772,"sd-card",{"bordered":[4],"cardClassName":[1,"card-class-name"]}]]],["p-8df72aa2",[[260,"sd-form",{"sdRegisterField":[64],"sdUnregisterField":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidation":[64]}]]],["p-f43b8c46",[[768,"sd-progress",{"type":[1],"error":[4],"percentage":[2],"size":[2],"strokeWidth":[2,"stroke-width"],"label":[1]}]]],["p-0a9f4be0",[[768,"sd-radio-button-group",{"value":[1032],"radioOptions":[1040],"size":[1],"disabled":[4],"name":[1]}]]],["p-97d0ce6e",[[768,"sd-toggle",{"value":[1028],"label":[1],"disabled":[4]}]]],["p-12c9cfda",[[768,"sd-toggle-button",{"value":[1540],"label":[1],"disabled":[4],"isActive":[32]}]]],["p-dc2f4b2f",[[769,"sd-tag",{"size":[1],"color":[1],"rounded":[4],"label":[1],"bgColor":[1,"bg-color"],"textColor":[1,"text-color"]}]]],["p-fca80354",[[768,"sd-textarea",{"value":[1025],"name":[1],"disabled":[4],"width":[8],"autoFocus":[4,"auto-focus"],"textareaClass":[1,"textarea-class"],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"placeholder":[1],"internalValue":[32],"focused":[32],"hovered":[32],"sdFocus":[64],"getNativeElement":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}],[768,"sd-pagination",{"currentPage":[2,"current-page"],"lastPage":[2,"last-page"],"simple":[4]}],[768,"sd-tooltip",{"trigger":[1],"placement":[1],"color":[1],"type":[1],"icon":[1],"iconSize":[2,"icon-size"],"label":[1],"buttonSize":[1,"button-size"],"buttonVariant":[1,"button-variant"],"noHover":[4,"no-hover"],"useClose":[4,"use-close"],"showTooltip":[32],"slotContentHTML":[32]}],[772,"sd-floating-portal",{"to":[1],"parentRef":[16],"offset":[16],"zIndex":[2,"z-index"],"placement":[1],"open":[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]],[768,"sd-button",{"variant":[1],"size":[1],"color":[1],"label":[1],"disabled":[4],"type":[1],"icon":[1],"iconColor":[1,"icon-color"],"iconSize":[2,"icon-size"],"iconRight":[1,"icon-right"],"noHover":[4,"no-hover"],"class":[1]}],[768,"sd-icon",{"name":[1],"size":[8],"color":[1],"rotate":[2],"label":[1],"iconStyle":[16]}]]],["p-827ca975",[[768,"sd-checkbox",{"value":[1028],"val":[8],"disabled":[4],"label":[1],"isChecked":[32]},null,{"value":["watchValueHandler"]}]]],["p-4d88d812",[[772,"sd-portal",{"to":[1],"parentRef":[16],"offset":[16],"zIndex":[2,"z-index"],"open":[4]},[[9,"scroll","updatePosition"],[9,"resize","updatePosition"],[9,"mousedown","handleMouseDown"],[8,"click","handleWindowClick"]]],[772,"sd-input",{"value":[1032],"type":[1],"insideLabel":[4,"inside-label"],"placeholder":[1],"disabled":[4],"clearable":[4],"width":[8],"barcode":[4],"rules":[16],"autoFocus":[4,"auto-focus"],"status":[1],"inputClass":[1,"input-class"],"readonly":[4],"error":[1028],"focused":[1028],"hovered":[1028],"label":[1],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"inputStyle":[16],"internalValue":[32],"sdGetNativeElement":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"internalValue":["internalValueChanged"]}],[772,"sd-field",{"name":[1],"rules":[16],"error":[1028],"disabled":[1028],"hovered":[1028],"focused":[1028],"status":[1],"label":[1],"insideLabel":[4,"inside-label"],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"errorMsg":[32],"sdValidate":[64],"sdReset":[64],"sdResetValidation":[64],"sdFocus":[64]}]]],["p-a2291ce8",[[768,"sd-select",{"value":[1032],"options":[1040],"placeholder":[1],"optionPlaceholder":[1,"option-placeholder"],"width":[1],"dropdownHeight":[1,"dropdown-height"],"autoFocus":[4,"auto-focus"],"disabled":[4],"clearable":[4],"searchable":[4],"label":[1],"insideLabel":[4,"inside-label"],"useLabelRequired":[4,"use-label-required"],"labelTooltip":[1,"label-tooltip"],"labelTooltipProps":[16],"name":[1],"rules":[16],"error":[4],"optionRenderer":[16],"isOpen":[32],"itemIndex":[32],"isScrolled":[32],"sdOpen":[64],"sdValidate":[64],"sdReset":[64],"sdResetValidate":[64],"sdFocus":[64]},null,{"value":["valueChanged"],"isOpen":["isOpenChanged"]}],[768,"sd-loading-spinner",{"color":[1]}]]],["p-dc410414",[[770,"sd-date-box",{"date":[8],"disabled":[4],"selected":[4],"isStartDate":[4,"is-start-date"],"isEndDate":[4,"is-end-date"],"isToday":[4,"is-today"],"inRange":[4,"in-range"],"type":[1]}]]],["p-86830071",[[772,"sd-select-dropdown",{"itemIndex":[1026,"item-index"],"value":[8],"options":[16],"width":[1],"dropdownHeight":[1,"dropdown-height"],"searchable":[4],"optionPlaceholder":[1,"option-placeholder"],"useCheckbox":[4,"use-checkbox"],"useAll":[4,"use-all"],"filteredOptions":[32],"searchText":[32],"isScrolled":[32],"isDropdownReady":[32]},null,{"filteredOptions":["filteredOptionsChanged"],"searchText":["searchTextChanged"],"itemIndex":["itemIndexChanged"]}],[768,"sd-select-option",{"option":[16],"index":[2],"isSelected":[4,"is-selected"],"isFocused":[4,"is-focused"],"optionStyle":[16],"disabled":[4],"useCheckbox":[4,"use-checkbox"],"isHovered":[32],"sdIsDisabled":[64]}],[768,"sd-select-search-input",{"isScrolled":[4,"is-scrolled"],"searchText":[1,"search-text"],"sdGetNativeElement":[64],"sdSearchInputFocus":[64]}]]]]'),e)}));
2
2
  //# sourceMappingURL=design-system.esm.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,a as n,h as i,H as s}from"./p-C3qNZ7Qh.js";const r=()=>`sd-icon{display:inline-block;line-height:0}sd-icon .sd-icon--rotate-90{transform:rotate(90deg)}sd-icon .sd-icon--rotate-180{transform:rotate(180deg)}sd-icon .sd-icon--rotate-270{transform:rotate(270deg)}.sd-number-input{box-sizing:border-box;display:flex;width:var(--input-width, 100%);align-items:center;height:28px;padding:4px 8px;border:1px solid #aaaaaa;border-radius:4px;color:#333333;font-size:12px;line-height:20px;background:white;position:relative}.sd-number-input--hovered{border-color:#0075ff;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}.sd-number-input.sd-number-input--error{border-color:#fb4444}.sd-number-input.sd-number-input--pass{border-color:#2bce6c}.sd-number-input.sd-number-input--disabled{background-color:#eeeeee !important;border-color:#cccccc !important;cursor:not-allowed !important;box-shadow:none !important}.sd-number-input.sd-number-input--disabled .sd-number-input__input{color:#888888 !important;cursor:not-allowed !important}.sd-number-input .sd-number-input__input{display:block;width:100%;height:20px;line-height:20px;border:none;outline:none;background:transparent;font-size:inherit;color:#333333;margin-left:4px;margin-right:4px;padding-block:0;padding-inline:0;text-align:right}.sd-number-input .sd-number-input__input::placeholder{font-size:12px;height:20px;line-height:20px;color:#aaaaaa}.sd-number-input .sd-number-input__clear-icon{cursor:pointer;margin-left:8px}.sd-number-input .sd-number-input__buttons{padding:4px;display:flex;justify-content:space-between;align-items:center;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s ease}.sd-number-input .sd-number-input__button{width:20px;height:20px;border:none;border-radius:2px;background-color:#eff6ff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:background-color 0.2s ease}.sd-number-input .sd-number-input__button:hover:not(:disabled){background-color:#e6f1ff}.sd-number-input .sd-number-input__button:disabled{background-color:#eeeeee;cursor:not-allowed}.sd-number-input .sd-number-input__button--decrement{border-bottom-left-radius:0;border-bottom-right-radius:0}.sd-number-input .sd-number-input__button--increment{border-top-left-radius:0;border-top-right-radius:0}.sd-number-input .sd-number-input__label{margin-bottom:8px;font-weight:500;color:#333333}sd-number-input:focus-within .sd-number-input__buttons{opacity:1;pointer-events:auto}sd-number-input:focus-within .sd-number-input{border-color:#0075ff;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}`;const u=class{constructor(n){t(this,n);this.update=e(this,"sdUpdate");this.focus=e(this,"sdFocus");this.blur=e(this,"sdBlur")}get el(){return n(this)}min=Number.NEGATIVE_INFINITY;max=Number.POSITIVE_INFINITY;step=1;useButton=false;useDecimal=false;value=null;label;placeholder="입력해 주세요.";disabled=false;width;rules;autoFocus=false;status;inputClass="";readonly=false;inputStyle={};internalValue=null;displayValue="";hovered=false;error=false;nativeEl=undefined;update;focus;blur;formatWithCommas(t){if(t===null||t===undefined)return"";const e=t<0;const n=Math.abs(t);const[i,s]=n.toString().split(".");const r=(+i).toLocaleString();const u=e?"-"+r:r;return s?u+"."+s:String(u)}parseInput(t){if(!t||t.trim()==="")return null;const e=t.replace(/,/g,"").trim();if(!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(e)){return null}const n=parseFloat(e);if(isNaN(n))return null;if(!this.useDecimal&&e.includes(".")){return null}return n}clampMinMax(t){return Math.min(Math.max(t,this.min),this.max)}updateDisplay(){this.displayValue=this.formatWithCommas(this.internalValue)}isIncrementDisabled(){if(this.disabled||this.readonly)return true;if(this.internalValue!==null){return this.internalValue>=this.max}return false}isDecrementDisabled(){if(this.disabled||this.readonly)return true;if(this.internalValue!==null){return this.internalValue<=this.min}return false}valueChanged(t){if(t===null||t===""){this.internalValue=null}else{const e=typeof t==="string"?this.parseInput(t):t;if(e!==null){this.internalValue=this.clampMinMax(e)}}this.updateDisplay()}internalValueChanged(t){this.updateDisplay();if(t!==this.value){this.value=t;this.update?.emit(t)}if(!this.rules||this.rules.length===0)return;this.error=false;for(const e of this.rules){const n=e(t);if(n!==true){this.error=true;break}}}componentWillLoad(){if(this.value!==null&&this.value!==undefined){const t=typeof this.value==="string"?this.parseInput(this.value):this.value;if(t!==null){this.internalValue=this.clampMinMax(t)}}this.updateDisplay()}handleInput=t=>{const e=t.target;const n=e.value;if(n===""){this.internalValue=null;this.displayValue="";return}const i=n.replace(/,/g,"");const s=(i.match(/\./g)||[]).length;if(s>1){e.value=this.displayValue;return}if(i==="-"||i==="."||i==="-."){e.value=i;return}if(i.endsWith(".")&&s===1){const t=i.slice(0,-1);const n=this.parseInput(t);if(n!==null){const t=this.formatWithCommas(n);e.value=t+".";return}}const r=this.parseInput(i);if(r!==null){if(r<this.min){e.value=this.displayValue;return}if(r>this.max){e.value=this.displayValue;return}this.internalValue=r;this.displayValue=this.formatWithCommas(r);e.value=this.displayValue}else{e.value=this.displayValue}};handleFocus=t=>{this.focus?.emit(t)};handleBlur=t=>{this.updateDisplay();if(this.nativeEl){this.nativeEl.value=this.displayValue}this.blur?.emit(t)};handleKeyDown=t=>{if(t.key==="ArrowUp"){t.preventDefault();this.handleIncrement()}else if(t.key==="ArrowDown"){t.preventDefault();this.handleDecrement()}};handleIncrement=()=>{if(this.isIncrementDisabled())return;const t=this.internalValue??this.min??0;let e=t+this.step;if(e>this.max){e=this.max}if(e===t)return;this.internalValue=e};handleDecrement=()=>{if(this.isDecrementDisabled())return;const t=this.internalValue??this.min??0;let e=t-this.step;if(e<this.min){e=this.min}if(e===t)return;this.internalValue=e};async sdGetNativeElement(){return this.nativeEl||null}getInputStatus(){if(this.disabled)return"sd-number-input--disabled";if(this.hovered)return"sd-number-input--hovered";if(this.status)return`sd-number-input--${this.status}`;if(this.error)return"sd-number-input--error";return""}render(){const t=this.width?{"--input-width":typeof this.width==="number"?`${this.width}px`:this.width}:{};const e={textAlign:this.useButton?"center":"right"};return i(s,{key:"808776f5dac544141ffd67482d23a9e04c410900",style:t,onFocus:this.handleFocus,onBlur:this.handleBlur},this.useButton?"use buttons":"dont use buttons",this.label&&i("div",{key:"0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1",class:"sd-number-input__label"},this.label),i("label",{key:"c25ba6871d48f13a082f04a42e0d412e806031fc",class:{"sd-number-input":true,[this.getInputStatus()]:true,"sd-number-input--with-buttons":this.useButton},onMouseEnter:()=>this.hovered=true,onMouseLeave:()=>this.hovered=false,style:this.inputStyle},i("input",{key:"f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1",ref:t=>this.nativeEl=t,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,onKeyDown:this.handleKeyDown,style:e}),this.useButton&&i("div",{key:"4c66e1a5b8880fed901aa6656e2e49ce817ae991",class:"sd-number-input__buttons"},i("button",{key:"39e2935eae836c7f209deebaa2c5ad79d8643920",type:"button",class:{"sd-number-input__button":true,"sd-number-input__button--decrement":true},disabled:this.isDecrementDisabled(),onClick:this.handleDecrement,tabindex:-1},i("sd-icon",{key:"a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1",name:"minus",size:12,color:this.isDecrementDisabled()?"#CCCCCC":"#2D8DFF"})),i("button",{key:"2f2e8948470c699124b99e6862bf112bb79d7721",type:"button",class:{"sd-number-input__button":true,"sd-number-input__button--increment":true},disabled:this.isIncrementDisabled(),onClick:this.handleIncrement,tabindex:-1},i("sd-icon",{key:"c269060a857285fa060d4c4971235cc9fb4e991a",name:"add",size:12,color:this.isIncrementDisabled()?"#CCCCCC":"#2D8DFF"})))))}static get watchers(){return{value:["valueChanged"],internalValue:["internalValueChanged"]}}};u.style=r();export{u as sd_number_input};
2
- //# sourceMappingURL=p-82356c0a.entry.js.map
1
+ import{r as t,c as e,a as n,h as i,H as s}from"./p-C3qNZ7Qh.js";const r=()=>`sd-icon{display:inline-block;line-height:0}sd-icon .sd-icon--rotate-90{transform:rotate(90deg)}sd-icon .sd-icon--rotate-180{transform:rotate(180deg)}sd-icon .sd-icon--rotate-270{transform:rotate(270deg)}.sd-number-input{box-sizing:border-box;display:flex;width:var(--input-width, 100%);align-items:center;height:28px;padding:4px 8px;border:1px solid #aaaaaa;border-radius:4px;color:#333333;font-size:12px;line-height:20px;background:white;position:relative}.sd-number-input--hovered{border-color:#0075ff;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}.sd-number-input.sd-number-input--error{border-color:#fb4444}.sd-number-input.sd-number-input--pass{border-color:#2bce6c}.sd-number-input.sd-number-input--disabled{background-color:#eeeeee !important;border-color:#cccccc !important;cursor:not-allowed !important;box-shadow:none !important}.sd-number-input.sd-number-input--disabled .sd-number-input__input{color:#888888 !important;cursor:not-allowed !important}.sd-number-input .sd-number-input__input{display:block;width:100%;height:20px;line-height:20px;border:none;outline:none;background:transparent;font-size:inherit;color:#333333;margin-left:4px;margin-right:4px;padding-block:0;padding-inline:0;text-align:right}.sd-number-input .sd-number-input__input::placeholder{font-size:12px;height:20px;line-height:20px;color:#aaaaaa}.sd-number-input .sd-number-input__clear-icon{cursor:pointer;margin-left:8px}.sd-number-input .sd-number-input__buttons{padding:4px;display:flex;justify-content:space-between;align-items:center;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s ease}.sd-number-input .sd-number-input__button{width:20px;height:20px;border:none;border-radius:2px;background-color:#eff6ff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:background-color 0.2s ease}.sd-number-input .sd-number-input__button:hover:not(:disabled){background-color:#e6f1ff}.sd-number-input .sd-number-input__button:disabled{background-color:#eeeeee;cursor:not-allowed}.sd-number-input .sd-number-input__button--decrement{border-bottom-left-radius:0;border-bottom-right-radius:0}.sd-number-input .sd-number-input__button--increment{border-top-left-radius:0;border-top-right-radius:0}.sd-number-input .sd-number-input__label{margin-bottom:8px;font-weight:500;color:#333333}sd-number-input:focus-within .sd-number-input__buttons{opacity:1;pointer-events:auto}sd-number-input:focus-within .sd-number-input{border-color:#0075ff;box-shadow:0 0 4px 0 rgba(0, 113, 255, 0.4)}`;const u=class{constructor(n){t(this,n);this.update=e(this,"sdUpdate");this.focus=e(this,"sdFocus");this.blur=e(this,"sdBlur")}get el(){return n(this)}min=Number.NEGATIVE_INFINITY;max=Number.POSITIVE_INFINITY;step=1;useButton=false;useDecimal=false;value=null;label;placeholder="입력해 주세요.";disabled=false;width;rules;autoFocus=false;status;inputClass="";readonly=false;inputStyle={};internalValue=null;displayValue="";hovered=false;error=false;nativeEl=undefined;update;focus;blur;formatWithCommas(t){if(t===null||t===undefined)return"";const e=t<0;const n=Math.abs(t);const[i,s]=n.toString().split(".");const r=(+i).toLocaleString();const u=e?"-"+r:r;return s?u+"."+s:String(u)}parseInput(t){if(!t||t.trim()==="")return null;const e=t.replace(/,/g,"").trim();if(!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(e)){return null}const n=parseFloat(e);if(isNaN(n))return null;if(!this.useDecimal&&e.includes(".")){return null}return n}clampMinMax(t){return Math.min(Math.max(t,this.min),this.max)}updateDisplay(){this.displayValue=this.formatWithCommas(this.internalValue)}isIncrementDisabled(){if(this.disabled||this.readonly)return true;if(this.internalValue!==null){return this.internalValue>=this.max}return false}isDecrementDisabled(){if(this.disabled||this.readonly)return true;if(this.internalValue!==null){return this.internalValue<=this.min}return false}valueChanged(t){if(t===null||t===""){this.internalValue=null}else{const e=typeof t==="string"?this.parseInput(t):t;if(e!==null){this.internalValue=this.clampMinMax(e)}}this.updateDisplay()}internalValueChanged(t){this.updateDisplay();if(t!==this.value){this.value=t;this.update?.emit(t)}if(!this.rules||this.rules.length===0)return;this.error=false;for(const e of this.rules){const n=e(t);if(n!==true){this.error=true;break}}}componentWillLoad(){if(this.value!==null&&this.value!==undefined){const t=typeof this.value==="string"?this.parseInput(this.value):this.value;if(t!==null){this.internalValue=this.clampMinMax(t)}}this.updateDisplay()}handleInput=t=>{const e=t.target;const n=e.value;if(n===""){this.internalValue=null;this.displayValue="";return}const i=n.replace(/,/g,"");const s=(i.match(/\./g)||[]).length;if(s>1){e.value=this.displayValue;return}if(i==="-"||i==="."||i==="-."){e.value=i;return}if(i.endsWith(".")&&s===1){const t=i.slice(0,-1);const n=this.parseInput(t);if(n!==null){const t=this.formatWithCommas(n);e.value=t+".";return}}const r=this.parseInput(i);if(r!==null){if(r<this.min){e.value=this.displayValue;return}if(r>this.max){e.value=this.displayValue;return}this.internalValue=r;this.displayValue=this.formatWithCommas(r);e.value=this.displayValue}else{e.value=this.displayValue}};handleFocus=t=>{this.focus?.emit(t)};handleBlur=t=>{this.updateDisplay();if(this.nativeEl){this.nativeEl.value=this.displayValue}this.blur?.emit(t)};handleKeyDown=t=>{if(t.key==="ArrowUp"){t.preventDefault();this.handleIncrement()}else if(t.key==="ArrowDown"){t.preventDefault();this.handleDecrement()}};handleIncrement=()=>{if(this.isIncrementDisabled())return;const t=this.internalValue??this.min??0;let e=t+this.step;if(e>this.max){e=this.max}if(e===t)return;this.internalValue=e};handleDecrement=()=>{if(this.isDecrementDisabled())return;const t=this.internalValue??this.min??0;let e=t-this.step;if(e<this.min){e=this.min}if(e===t)return;this.internalValue=e};async sdGetNativeElement(){return this.nativeEl||null}getInputStatus(){if(this.disabled)return"sd-number-input--disabled";if(this.hovered)return"sd-number-input--hovered";if(this.status)return`sd-number-input--${this.status}`;if(this.error)return"sd-number-input--error";return""}render(){const t=this.width?{"--input-width":typeof this.width==="number"?`${this.width}px`:this.width}:{};const e={textAlign:this.useButton?"center":"right"};return i(s,{key:"808776f5dac544141ffd67482d23a9e04c410900",style:t,onFocus:this.handleFocus,onBlur:this.handleBlur},this.label&&i("div",{key:"4185f2438de868f5893b3bc4c4b0d16b7aacb075",class:"sd-number-input__label"},this.label),i("label",{key:"48319c886d76c6aaf1b8900d801aef22d22f2194",class:{"sd-number-input":true,[this.getInputStatus()]:true,"sd-number-input--with-buttons":this.useButton},onMouseEnter:()=>this.hovered=true,onMouseLeave:()=>this.hovered=false,style:this.inputStyle},i("input",{key:"2d559a2c26b5194b8689315c04ac26072986ff2a",ref:t=>this.nativeEl=t,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,onKeyDown:this.handleKeyDown,style:e}),this.useButton&&i("div",{key:"949fb43542161f5bf9ca720186a535fb7796e1d1",class:"sd-number-input__buttons"},i("button",{key:"dacc5c91129c927ddd1bac1554156630da103cb1",type:"button",class:{"sd-number-input__button":true,"sd-number-input__button--decrement":true},disabled:this.isDecrementDisabled(),onClick:this.handleDecrement,tabindex:-1},i("sd-icon",{key:"f9619cadd5a23f419c7af6690b727d97bcfbdad3",name:"minus",size:12,color:this.isDecrementDisabled()?"grey_45":"brilliantblue_70"})),i("button",{key:"456b1ca36aaf81f4c176528e825d24d9ea60b0d1",type:"button",class:{"sd-number-input__button":true,"sd-number-input__button--increment":true},disabled:this.isIncrementDisabled(),onClick:this.handleIncrement,tabindex:-1},i("sd-icon",{key:"7f9dbac2ae097ee0b0635245162bc17eb346fc30",name:"add",size:12,color:this.isIncrementDisabled()?"grey_45":"brilliantblue_70"})))))}static get watchers(){return{value:["valueChanged"],internalValue:["internalValueChanged"]}}};u.style=r();export{u as sd_number_input};
2
+ //# sourceMappingURL=p-dfe945c7.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","createEvent","getElement","h","Host","sdNumberInputCss","SdNumberInput","constructor","hostRef","this","update","focus","blur","el","min","Number","NEGATIVE_INFINITY","max","POSITIVE_INFINITY","step","useButton","useDecimal","value","label","placeholder","disabled","width","rules","autoFocus","status","inputClass","readonly","inputStyle","internalValue","displayValue","hovered","error","nativeEl","undefined","formatWithCommas","isNegative","absValue","Math","abs","intPart","decPart","toString","split","formatted","toLocaleString","result","String","parseInput","input","trim","cleaned","replace","test","parsed","parseFloat","isNaN","includes","clampMinMax","updateDisplay","isIncrementDisabled","isDecrementDisabled","valueChanged","newValue","internalValueChanged","emit","length","rule","componentWillLoad","handleInput","event","target","inputValue","commasRemoved","decimalCount","match","endsWith","numberPart","slice","handleFocus","handleBlur","handleKeyDown","key","preventDefault","handleIncrement","handleDecrement","currentVal","nextVal","sdGetNativeElement","getInputStatus","render","inputWidth","inputStyles","textAlign","style","onFocus","onBlur","class","onMouseEnter","onMouseLeave","ref","type","inputMode","autofocus","onInput","onKeyDown","onClick","tabindex","name","size","color","watchers"],"sources":["0"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","createEvent","getElement","h","Host","sdNumberInputCss","SdNumberInput","constructor","hostRef","this","update","focus","blur","el","min","Number","NEGATIVE_INFINITY","max","POSITIVE_INFINITY","step","useButton","useDecimal","value","label","placeholder","disabled","width","rules","autoFocus","status","inputClass","readonly","inputStyle","internalValue","displayValue","hovered","error","nativeEl","undefined","formatWithCommas","isNegative","absValue","Math","abs","intPart","decPart","toString","split","formatted","toLocaleString","result","String","parseInput","input","trim","cleaned","replace","test","parsed","parseFloat","isNaN","includes","clampMinMax","updateDisplay","isIncrementDisabled","isDecrementDisabled","valueChanged","newValue","internalValueChanged","emit","length","rule","componentWillLoad","handleInput","event","target","inputValue","commasRemoved","decimalCount","match","endsWith","numberPart","slice","handleFocus","handleBlur","handleKeyDown","key","preventDefault","handleIncrement","handleDecrement","currentVal","nextVal","sdGetNativeElement","getInputStatus","render","inputWidth","inputStyles","textAlign","style","onFocus","onBlur","class","onMouseEnter","onMouseLeave","ref","type","inputMode","autofocus","onInput","onKeyDown","onClick","tabindex","name","size","color","watchers"],"sources":["0"],"mappings":"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","ignoreList":[]}
@@ -236,17 +236,17 @@ const SdNumberInput = class {
236
236
  const inputStyles = {
237
237
  textAlign: this.useButton ? 'center' : 'right',
238
238
  };
239
- return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && h("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), h("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
239
+ return (h(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && h("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), h("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
240
240
  'sd-number-input': true,
241
241
  [this.getInputStatus()]: true,
242
242
  'sd-number-input--with-buttons': this.useButton,
243
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, h("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
243
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, h("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (h("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, h("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
244
244
  'sd-number-input__button': true,
245
245
  'sd-number-input__button--decrement': true,
246
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), h("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
246
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), h("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
247
247
  'sd-number-input__button': true,
248
248
  'sd-number-input__button--increment': true,
249
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
249
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
250
250
  }
251
251
  static get watchers() { return {
252
252
  "value": ["valueChanged"],
@@ -1 +1 @@
1
- {"version":3,"file":"sd-number-input.entry.js","sources":["src/components/sd-number-input/sd-number-input.scss?tag=sd-number-input","src/components/sd-number-input/sd-number-input.tsx"],"sourcesContent":["@import 'variables';\n@import '../sd-icon/sd-icon.scss';\n\n.sd-number-input {\n box-sizing: border-box;\n display: flex;\n width: var(--input-width, 100%);\n align-items: center;\n height: 28px;\n padding: 4px 8px;\n border: 1px solid $grey_55;\n border-radius: 4px;\n color: $grey_90;\n font-size: 12px;\n line-height: 20px;\n background: white;\n position: relative;\n\n &--hovered {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n\n &.sd-number-input--error {\n border-color: $red_70;\n }\n\n &.sd-number-input--pass {\n border-color: $green_65;\n }\n\n &.sd-number-input--disabled {\n background-color: $grey_20 !important;\n border-color: $grey_45 !important;\n cursor: not-allowed !important;\n box-shadow: none !important;\n\n .sd-number-input__input {\n color: $grey_65 !important;\n cursor: not-allowed !important;\n }\n }\n\n .sd-number-input__input {\n display: block;\n width: 100%;\n height: 20px;\n line-height: 20px;\n border: none;\n outline: none;\n background: transparent;\n font-size: inherit;\n color: $grey_90;\n margin-left: 4px;\n margin-right: 4px;\n padding-block: 0;\n padding-inline: 0;\n text-align: right;\n\n &::placeholder {\n font-size: 12px;\n height: 20px;\n line-height: 20px;\n color: $grey_55;\n }\n }\n\n .sd-number-input__clear-icon {\n cursor: pointer;\n margin-left: 8px;\n }\n\n .sd-number-input__buttons {\n padding: 4px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n }\n\n .sd-number-input__button {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 2px;\n background-color: $brilliantblue_10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n transition: background-color 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: $brilliantblue_20;\n }\n\n &:disabled {\n background-color: $grey_20;\n cursor: not-allowed;\n }\n\n &--decrement {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &--increment {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n .sd-number-input__label {\n margin-bottom: 8px;\n font-weight: 500;\n color: $grey_90;\n }\n}\n\nsd-number-input:focus-within {\n .sd-number-input__buttons {\n opacity: 1;\n pointer-events: auto;\n }\n\n .sd-number-input {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n}","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.useButton ? 'use buttons' : 'dont use buttons'}\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon name=\"add\" size={12} color={this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF'} />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-number-input.entry.js","sources":["src/components/sd-number-input/sd-number-input.scss?tag=sd-number-input","src/components/sd-number-input/sd-number-input.tsx"],"sourcesContent":["@import 'variables';\n@import '../sd-icon/sd-icon.scss';\n\n.sd-number-input {\n box-sizing: border-box;\n display: flex;\n width: var(--input-width, 100%);\n align-items: center;\n height: 28px;\n padding: 4px 8px;\n border: 1px solid $grey_55;\n border-radius: 4px;\n color: $grey_90;\n font-size: 12px;\n line-height: 20px;\n background: white;\n position: relative;\n\n &--hovered {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n\n &.sd-number-input--error {\n border-color: $red_70;\n }\n\n &.sd-number-input--pass {\n border-color: $green_65;\n }\n\n &.sd-number-input--disabled {\n background-color: $grey_20 !important;\n border-color: $grey_45 !important;\n cursor: not-allowed !important;\n box-shadow: none !important;\n\n .sd-number-input__input {\n color: $grey_65 !important;\n cursor: not-allowed !important;\n }\n }\n\n .sd-number-input__input {\n display: block;\n width: 100%;\n height: 20px;\n line-height: 20px;\n border: none;\n outline: none;\n background: transparent;\n font-size: inherit;\n color: $grey_90;\n margin-left: 4px;\n margin-right: 4px;\n padding-block: 0;\n padding-inline: 0;\n text-align: right;\n\n &::placeholder {\n font-size: 12px;\n height: 20px;\n line-height: 20px;\n color: $grey_55;\n }\n }\n\n .sd-number-input__clear-icon {\n cursor: pointer;\n margin-left: 8px;\n }\n\n .sd-number-input__buttons {\n padding: 4px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s ease;\n }\n\n .sd-number-input__button {\n width: 20px;\n height: 20px;\n border: none;\n border-radius: 2px;\n background-color: $brilliantblue_10;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n transition: background-color 0.2s ease;\n\n &:hover:not(:disabled) {\n background-color: $brilliantblue_20;\n }\n\n &:disabled {\n background-color: $grey_20;\n cursor: not-allowed;\n }\n\n &--decrement {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &--increment {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n .sd-number-input__label {\n margin-bottom: 8px;\n font-weight: 500;\n color: $grey_90;\n }\n}\n\nsd-number-input:focus-within {\n .sd-number-input__buttons {\n opacity: 1;\n pointer-events: auto;\n }\n\n .sd-number-input {\n border-color: $brilliantblue_75;\n box-shadow: 0 0 4px 0 #0071ff66;\n }\n}","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-number-input',\n styleUrl: 'sd-number-input.scss',\n})\nexport class SdNumberInput {\n @Element() el!: HTMLElement;\n\n @Prop() min: number = Number.NEGATIVE_INFINITY;\n @Prop() max: number = Number.POSITIVE_INFINITY;\n @Prop() step: number = 1;\n @Prop() useButton: boolean = false;\n @Prop() useDecimal: boolean = false;\n\n @Prop({ mutable: true }) value?: string | number | null = null;\n @Prop() label?: string;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\n @Prop() autoFocus: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n @Prop() inputClass: string = '';\n @Prop() readonly: boolean = false;\n @Prop() inputStyle: { [key: string]: string } = {};\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n @State() private hovered: boolean = false;\n @State() private error: boolean = false;\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n\n @Event({ eventName: 'sdUpdate' }) update?: EventEmitter<number | null>;\n @Event({ eventName: 'sdFocus' }) focus?: EventEmitter<Event>;\n @Event({ eventName: 'sdBlur' }) blur?: EventEmitter<Event>;\n\n private formatWithCommas(value: number | null): string {\n if (value === null || value === undefined) return '';\n\n const isNegative = value < 0;\n const absValue = Math.abs(value);\n\n const [intPart, decPart] = absValue.toString().split('.');\n const formatted = (+intPart).toLocaleString();\n\n const result = isNegative ? '-' + formatted : formatted;\n return decPart ? result + '.' + decPart : String(result);\n }\n\n private parseInput(input: string): number | null {\n if (!input || input.trim() === '') return null;\n\n const cleaned = input.replace(/,/g, '').trim();\n\n // -로 시작을 할 수 있을 수 있고, 소수점 0.n | .n\n if (!/^-?(\\d+\\.?\\d*|\\d*\\.\\d+)$/.test(cleaned)) {\n return null;\n }\n\n const parsed = parseFloat(cleaned);\n\n if (isNaN(parsed)) return null;\n\n // 소수점 사용 하지 않는데 . 이 있는 경우\n if (!this.useDecimal && cleaned.includes('.')) {\n return null;\n }\n\n return parsed;\n }\n\n private clampMinMax(value: number): number {\n return Math.min(Math.max(value, this.min), this.max);\n }\n\n private updateDisplay() {\n this.displayValue = this.formatWithCommas(this.internalValue);\n }\n\n private isIncrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue >= this.max;\n }\n return false;\n }\n\n private isDecrementDisabled(): boolean {\n if (this.disabled || this.readonly) return true;\n if (this.internalValue !== null) {\n return this.internalValue <= this.min;\n }\n return false;\n }\n\n @Watch('value')\n valueChanged(newValue: string | number | null) {\n if (newValue === null || newValue === '') {\n this.internalValue = null;\n } else {\n const parsed = typeof newValue === 'string' ? this.parseInput(newValue) : newValue;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n @Watch('internalValue')\n internalValueChanged(newValue: number | null) {\n this.updateDisplay();\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.update?.emit(newValue);\n }\n\n if (!this.rules || this.rules.length === 0) return;\n this.error = false;\n for (const rule of this.rules) {\n const result = rule(newValue);\n if (result !== true) {\n this.error = true;\n break;\n }\n }\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n const parsed = typeof this.value === 'string' ? this.parseInput(this.value) : this.value;\n if (parsed !== null) {\n this.internalValue = this.clampMinMax(parsed);\n }\n }\n this.updateDisplay();\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n const inputValue = target.value;\n\n if (inputValue === '') {\n this.internalValue = null;\n this.displayValue = '';\n return;\n }\n\n const commasRemoved = inputValue.replace(/,/g, '');\n\n // 만약에 소수점 (.) 이 여러개 일 경우\n const decimalCount = (commasRemoved.match(/\\./g) || []).length;\n if (decimalCount > 1) {\n target.value = this.displayValue;\n return;\n }\n\n // 가능: \"-\", \".\", \"-.\" (단순 기호만 있는 경우)\n if (commasRemoved === '-' || commasRemoved === '.' || commasRemoved === '-.') {\n target.value = commasRemoved;\n return;\n }\n\n // 숫자 뒤에 . 이 있는 경우 (예: \"1000.\") -> 콤마 포맷 적용 + . 유지\n if (commasRemoved.endsWith('.') && decimalCount === 1) {\n const numberPart = commasRemoved.slice(0, -1);\n const parsed = this.parseInput(numberPart);\n if (parsed !== null) {\n const formatted = this.formatWithCommas(parsed);\n target.value = formatted + '.';\n return;\n }\n }\n\n const parsed = this.parseInput(commasRemoved);\n\n if (parsed !== null) {\n if (parsed < this.min) {\n target.value = this.displayValue;\n return;\n }\n\n if (parsed > this.max) {\n target.value = this.displayValue;\n return;\n }\n\n this.internalValue = parsed;\n this.displayValue = this.formatWithCommas(parsed);\n target.value = this.displayValue;\n } else {\n target.value = this.displayValue;\n }\n };\n\n private handleFocus = (event: Event) => {\n this.focus?.emit(event);\n };\n\n private handleBlur = (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n this.blur?.emit(event);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleIncrement();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.handleDecrement();\n }\n };\n\n private handleIncrement = () => {\n if (this.isIncrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal + this.step;\n\n if (nextVal > this.max) {\n nextVal = this.max;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n private handleDecrement = () => {\n if (this.isDecrementDisabled()) return;\n\n const currentVal = this.internalValue ?? this.min ?? 0;\n let nextVal = currentVal - this.step;\n\n if (nextVal < this.min) {\n nextVal = this.min;\n }\n\n if (nextVal === currentVal) return;\n\n this.internalValue = nextVal;\n };\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n return this.nativeEl || null;\n }\n\n getInputStatus() {\n if (this.disabled) return 'sd-number-input--disabled';\n if (this.hovered) return 'sd-number-input--hovered';\n if (this.status) return `sd-number-input--${this.status}`;\n if (this.error) return 'sd-number-input--error';\n return '';\n }\n\n render() {\n const inputWidth = this.width\n ? {\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\n }\n : {};\n\n const inputStyles = {\n textAlign: this.useButton ? 'center' : 'right',\n };\n\n return (\n <Host style={inputWidth} onFocus={this.handleFocus} onBlur={this.handleBlur}>\n {this.label && <div class=\"sd-number-input__label\">{this.label}</div>}\n <label\n class={{\n 'sd-number-input': true,\n [this.getInputStatus()]: true,\n 'sd-number-input--with-buttons': this.useButton,\n }}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n style={this.inputStyle}\n >\n <input\n ref={el => (this.nativeEl = el)}\n class={`sd-number-input__input ${this.inputClass}`}\n type=\"text\"\n inputMode=\"numeric\"\n value={this.displayValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n autofocus={this.autoFocus}\n onInput={this.handleInput}\n onKeyDown={this.handleKeyDown}\n style={inputStyles}\n />\n\n {this.useButton && (\n <div class=\"sd-number-input__buttons\">\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--decrement': true,\n }}\n disabled={this.isDecrementDisabled()}\n onClick={this.handleDecrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"minus\"\n size={12}\n color={this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n <button\n type=\"button\"\n class={{\n 'sd-number-input__button': true,\n 'sd-number-input__button--increment': true,\n }}\n disabled={this.isIncrementDisabled()}\n onClick={this.handleIncrement}\n tabindex={-1}\n >\n <sd-icon\n name=\"add\"\n size={12}\n color={this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70'}\n />\n </button>\n </div>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
package/hydrate/index.js CHANGED
@@ -7616,17 +7616,17 @@ class SdNumberInput {
7616
7616
  const inputStyles = {
7617
7617
  textAlign: this.useButton ? 'center' : 'right',
7618
7618
  };
7619
- return (hAsync(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && hAsync("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), hAsync("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
7619
+ return (hAsync(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && hAsync("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), hAsync("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
7620
7620
  'sd-number-input': true,
7621
7621
  [this.getInputStatus()]: true,
7622
7622
  'sd-number-input--with-buttons': this.useButton,
7623
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (hAsync("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, hAsync("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
7623
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (hAsync("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, hAsync("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
7624
7624
  'sd-number-input__button': true,
7625
7625
  'sd-number-input__button--decrement': true,
7626
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), hAsync("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
7626
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), hAsync("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
7627
7627
  'sd-number-input__button': true,
7628
7628
  'sd-number-input__button--increment': true,
7629
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
7629
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
7630
7630
  }
7631
7631
  static get watchers() { return {
7632
7632
  "value": ["valueChanged"],
package/hydrate/index.mjs CHANGED
@@ -7614,17 +7614,17 @@ class SdNumberInput {
7614
7614
  const inputStyles = {
7615
7615
  textAlign: this.useButton ? 'center' : 'right',
7616
7616
  };
7617
- return (hAsync(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.useButton ? 'use buttons' : 'dont use buttons', this.label && hAsync("div", { key: '0c4ebbbfbe31d9d01f1652e7a2135e56c7d8bbb1', class: "sd-number-input__label" }, this.label), hAsync("label", { key: 'c25ba6871d48f13a082f04a42e0d412e806031fc', class: {
7617
+ return (hAsync(Host, { key: '808776f5dac544141ffd67482d23a9e04c410900', style: inputWidth, onFocus: this.handleFocus, onBlur: this.handleBlur }, this.label && hAsync("div", { key: '4185f2438de868f5893b3bc4c4b0d16b7aacb075', class: "sd-number-input__label" }, this.label), hAsync("label", { key: '48319c886d76c6aaf1b8900d801aef22d22f2194', class: {
7618
7618
  'sd-number-input': true,
7619
7619
  [this.getInputStatus()]: true,
7620
7620
  'sd-number-input--with-buttons': this.useButton,
7621
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("input", { key: 'f2c88d5209f1886de1c7f89af8e7b1778bdc2ac1', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (hAsync("div", { key: '4c66e1a5b8880fed901aa6656e2e49ce817ae991', class: "sd-number-input__buttons" }, hAsync("button", { key: '39e2935eae836c7f209deebaa2c5ad79d8643920', type: "button", class: {
7621
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("input", { key: '2d559a2c26b5194b8689315c04ac26072986ff2a', 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, onKeyDown: this.handleKeyDown, style: inputStyles }), this.useButton && (hAsync("div", { key: '949fb43542161f5bf9ca720186a535fb7796e1d1', class: "sd-number-input__buttons" }, hAsync("button", { key: 'dacc5c91129c927ddd1bac1554156630da103cb1', type: "button", class: {
7622
7622
  'sd-number-input__button': true,
7623
7623
  'sd-number-input__button--decrement': true,
7624
- }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'a81ba14b5ebc2a46a2349fbb2de1015a2e1894a1', name: "minus", size: 12, color: this.isDecrementDisabled() ? '#CCCCCC' : '#2D8DFF' })), hAsync("button", { key: '2f2e8948470c699124b99e6862bf112bb79d7721', type: "button", class: {
7624
+ }, disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, hAsync("sd-icon", { key: 'f9619cadd5a23f419c7af6690b727d97bcfbdad3', name: "minus", size: 12, color: this.isDecrementDisabled() ? 'grey_45' : 'brilliantblue_70' })), hAsync("button", { key: '456b1ca36aaf81f4c176528e825d24d9ea60b0d1', type: "button", class: {
7625
7625
  'sd-number-input__button': true,
7626
7626
  'sd-number-input__button--increment': true,
7627
- }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: 'c269060a857285fa060d4c4971235cc9fb4e991a', name: "add", size: 12, color: this.isIncrementDisabled() ? '#CCCCCC' : '#2D8DFF' })))))));
7627
+ }, disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, hAsync("sd-icon", { key: '7f9dbac2ae097ee0b0635245162bc17eb346fc30', name: "add", size: 12, color: this.isIncrementDisabled() ? 'grey_45' : 'brilliantblue_70' })))))));
7628
7628
  }
7629
7629
  static get watchers() { return {
7630
7630
  "value": ["valueChanged"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellmate/design-system",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Sellmate Design System - Web Components Library built with Stencil",
5
5
  "keywords": [
6
6
  "web-components",
@@ -93,5 +93,5 @@
93
93
  "@stencil/vue-output-target": "^0.11.8",
94
94
  "nanoid": "^5.1.6"
95
95
  },
96
- "gitHead": "264035cb968cb8bb769aa1729cea6e6982ebdc1d"
96
+ "gitHead": "7f4c3b8cf377763f11deeadea61cd1c9e7bb85a6"
97
97
  }