@sellmate/design-system 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{sd-button_17.cjs.entry.js → sd-button_18.cjs.entry.js} +283 -15
  4. package/dist/cjs/sd-modal-card.cjs.entry.js +2 -8
  5. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  6. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-select-multiple.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  9. package/dist/cjs/sd-toggle-button.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  11. package/dist/collection/components/sd-field/sd-field.js +4 -3
  12. package/dist/collection/components/sd-field/sd-field.js.map +1 -1
  13. package/dist/collection/components/sd-modal-card/sd-modal-card.js +5 -12
  14. package/dist/collection/components/sd-modal-card/sd-modal-card.js.map +1 -1
  15. package/dist/collection/components/sd-number-input/sd-number-input.css +4 -25
  16. package/dist/collection/components/sd-number-input/sd-number-input.js +186 -27
  17. package/dist/collection/components/sd-number-input/sd-number-input.js.map +1 -1
  18. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  19. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  20. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  21. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  22. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  23. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  24. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  25. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  26. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  27. package/dist/collection/components/sd-textarea/sd-textarea.js +2 -2
  28. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  29. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +1 -1
  30. package/dist/components/{p-Bgf0RnXW.js → p-B-8YfRUg.js} +5 -5
  31. package/dist/components/{p-Bgf0RnXW.js.map → p-B-8YfRUg.js.map} +1 -1
  32. package/dist/components/{p-SUihbngJ.js → p-C2pN-_wD.js} +6 -5
  33. package/dist/components/p-C2pN-_wD.js.map +1 -0
  34. package/dist/components/p-CCwNgVmC.js +16 -0
  35. package/dist/components/p-CCwNgVmC.js.map +1 -0
  36. package/dist/components/{p-CYr3YYfa.js → p-CFHNnfIq.js} +7 -7
  37. package/dist/components/{p-CYr3YYfa.js.map → p-CFHNnfIq.js.map} +1 -1
  38. package/dist/components/{p-CXyVUgP3.js → p-CkzAorp3.js} +8 -8
  39. package/dist/components/{p-CXyVUgP3.js.map → p-CkzAorp3.js.map} +1 -1
  40. package/dist/components/{p-CbEUJ3R6.js → p-D16-dM6f.js} +3 -3
  41. package/dist/components/{p-CbEUJ3R6.js.map → p-D16-dM6f.js.map} +1 -1
  42. package/dist/components/{p-wRu9w6Gl.js → p-DUh9r-hn.js} +4 -4
  43. package/dist/components/{p-wRu9w6Gl.js.map → p-DUh9r-hn.js.map} +1 -1
  44. package/dist/components/{p-B0HvHSm3.js → p-DjZ8vXCq.js} +9 -8
  45. package/dist/components/p-DjZ8vXCq.js.map +1 -0
  46. package/dist/components/{p-CYYaSMIB.js → p-Dv4dN3Y5.js} +3 -3
  47. package/dist/components/{p-CYYaSMIB.js.map → p-Dv4dN3Y5.js.map} +1 -1
  48. package/dist/components/{p-DQE5-tOR.js → p-xfqZA_70.js} +5 -16
  49. package/dist/components/p-xfqZA_70.js.map +1 -0
  50. package/dist/components/sd-date-picker.js +3 -3
  51. package/dist/components/sd-date-range-picker.js +3 -3
  52. package/dist/components/sd-field.js +1 -1
  53. package/dist/components/sd-guide.js +1 -1
  54. package/dist/components/sd-input.js +1 -1
  55. package/dist/components/sd-modal-card.js +2 -8
  56. package/dist/components/sd-modal-card.js.map +1 -1
  57. package/dist/components/sd-number-input.js +64 -23
  58. package/dist/components/sd-number-input.js.map +1 -1
  59. package/dist/components/sd-pagination.js +1 -1
  60. package/dist/components/sd-popover.js +2 -2
  61. package/dist/components/sd-portal.js +1 -1
  62. package/dist/components/sd-progress.js +2 -2
  63. package/dist/components/sd-select-dropdown.js +1 -1
  64. package/dist/components/sd-select-multiple-group.js +5 -5
  65. package/dist/components/sd-select-multiple.js +7 -7
  66. package/dist/components/sd-select-option-group.js +1 -1
  67. package/dist/components/sd-select-option.js +1 -1
  68. package/dist/components/sd-select-search-input.js +1 -1
  69. package/dist/components/sd-select.js +1 -1
  70. package/dist/components/sd-table.js +8 -8
  71. package/dist/components/sd-textarea.js +2 -2
  72. package/dist/components/sd-toggle-button.js +1 -1
  73. package/dist/components/sd-toggle.js +1 -1
  74. package/dist/design-system/design-system.esm.js +1 -1
  75. package/dist/design-system/p-0a4afc3a.entry.js +2 -0
  76. package/dist/design-system/p-0a4afc3a.entry.js.map +1 -0
  77. package/dist/design-system/p-35a79a70.entry.js +2 -0
  78. package/dist/design-system/p-559728ad.entry.js +2 -0
  79. package/dist/design-system/p-559728ad.entry.js.map +1 -0
  80. package/dist/design-system/{p-cb3dd19f.entry.js → p-c77a42a2.entry.js} +2 -2
  81. package/dist/design-system/{p-1d6dabd7.entry.js → p-d7258320.entry.js} +2 -2
  82. package/dist/design-system/{p-44af67a6.entry.js → p-e5272c50.entry.js} +2 -2
  83. package/dist/design-system/{p-1616a1f6.entry.js → p-e6d39e65.entry.js} +2 -2
  84. package/dist/design-system/{p-cb502581.entry.js → p-ee96032f.entry.js} +2 -2
  85. package/dist/esm/design-system.js +1 -1
  86. package/dist/esm/loader.js +1 -1
  87. package/dist/esm/{sd-button_17.entry.js → sd-button_18.entry.js} +283 -16
  88. package/dist/esm/sd-modal-card.entry.js +2 -8
  89. package/dist/esm/sd-modal-card.entry.js.map +1 -1
  90. package/dist/esm/sd-popover.entry.js +2 -2
  91. package/dist/esm/sd-progress.entry.js +2 -2
  92. package/dist/esm/sd-select-multiple.entry.js +1 -1
  93. package/dist/esm/sd-select-option-group.entry.js +3 -3
  94. package/dist/esm/sd-toggle-button.entry.js +1 -1
  95. package/dist/esm/sd-toggle.entry.js +1 -1
  96. package/dist/types/components/sd-modal-card/sd-modal-card.d.ts +1 -1
  97. package/dist/types/components/sd-number-input/sd-number-input.d.ts +12 -3
  98. package/dist/types/components.d.ts +45 -9
  99. package/hydrate/index.js +64 -53
  100. package/hydrate/index.mjs +64 -53
  101. package/package.json +1 -1
  102. package/dist/cjs/sd-number-input.cjs.entry.js +0 -262
  103. package/dist/components/p-B0HvHSm3.js.map +0 -1
  104. package/dist/components/p-DQE5-tOR.js.map +0 -1
  105. package/dist/components/p-SUihbngJ.js.map +0 -1
  106. package/dist/design-system/p-29b74787.entry.js +0 -2
  107. package/dist/design-system/p-29b74787.entry.js.map +0 -1
  108. package/dist/design-system/p-390feb8e.entry.js +0 -2
  109. package/dist/design-system/p-54376630.entry.js +0 -2
  110. package/dist/design-system/p-54376630.entry.js.map +0 -1
  111. package/dist/design-system/p-eb0b0cfe.entry.js +0 -2
  112. package/dist/design-system/p-eb0b0cfe.entry.js.map +0 -1
  113. package/dist/esm/sd-number-input.entry.js +0 -260
  114. package/dist/esm/sd-number-input.entry.js.map +0 -1
  115. /package/dist/design-system/{p-390feb8e.entry.js.map → p-35a79a70.entry.js.map} +0 -0
  116. /package/dist/design-system/{p-cb3dd19f.entry.js.map → p-c77a42a2.entry.js.map} +0 -0
  117. /package/dist/design-system/{p-1d6dabd7.entry.js.map → p-d7258320.entry.js.map} +0 -0
  118. /package/dist/design-system/{p-44af67a6.entry.js.map → p-e5272c50.entry.js.map} +0 -0
  119. /package/dist/design-system/{p-1616a1f6.entry.js.map → p-e6d39e65.entry.js.map} +0 -0
  120. /package/dist/design-system/{p-cb502581.entry.js.map → p-ee96032f.entry.js.map} +0 -0
@@ -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 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 // TODO: 현재 숫자를 크게 넣어서 숫자e+21등의 형식으로 변환되면 값이 바뀌지않음 수정 필요\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 <div\n class=\"sd-number-input-container\"\n style={inputWidth}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\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 </div>\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 Prop,\n State,\n Watch,\n Event,\n EventEmitter,\n h,\n Method,\n} from '@stencil/core';\n\nimport { Rule } from '../../types/form';\nimport { nanoid } from 'nanoid/non-secure';\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() insideLabel: boolean = false;\n @Prop() placeholder: string = '입력해 주세요.';\n @Prop() disabled: boolean = false;\n @Prop() width?: number | string;\n @Prop() rules?: Rule[] = [];\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 @Prop({ mutable: true }) error: boolean = false;\n @Prop({ mutable: true }) focused: boolean = false;\n @Prop({ mutable: true }) hovered: boolean = false;\n\n @State() private internalValue: number | null = null;\n @State() private displayValue: string = '';\n\n private nativeEl: HTMLInputElement | undefined = undefined;\n private formField?: HTMLSdFieldElement;\n name = nanoid();\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\n @Method()\n async sdValidate() {\n this.formField?.sdValidate();\n }\n\n @Method()\n async sdReset() {\n this.formField?.sdReset();\n }\n\n @Method()\n async sdResetValidate() {\n this.formField?.sdResetValidation();\n }\n\n @Method()\n async sdFocus() {\n this.formField?.sdFocus();\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 // TODO: 현재 숫자를 크게 넣어서 숫자e+21등의 형식으로 변환되면 값이 바뀌지않음 수정 필요\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 = async (event: Event) => {\n this.updateDisplay();\n if (this.nativeEl) {\n this.nativeEl.value = this.displayValue;\n }\n\n if (this.rules && this.rules.length > 0) {\n await this.formField?.sdValidate();\n }\n\n this.focused = false;\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 <sd-field\n name={this.name}\n label={this.label}\n insideLabel={this.insideLabel}\n rules={this.rules}\n error={this.error}\n disabled={this.disabled}\n focused={this.focused}\n hovered={this.hovered}\n status={this.status}\n ref={el => (this.formField = el)}\n style={inputWidth}\n >\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 name={this.name}\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 onFocus={this.handleFocus}\n onBlur={this.handleBlur}\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 </sd-field>\n );\n }\n}\n"]}
@@ -68,12 +68,12 @@ export class SdPagination {
68
68
  }
69
69
  }
70
70
  render() {
71
- return (h("div", { key: '3113faf5d75fa4a13e267653cae820035270e652', class: this.paginationClasses }, h("div", { key: 'a770afe37da389511bbfda99324e7794ffa299f5', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "pagination-info" }, h("span", { class: "current-page" }, this.currentPage), h("span", null, "/"), h("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
71
+ return (h("div", { key: 'feed08139c382f91539bc316a967ed1738529688', class: this.paginationClasses }, h("div", { key: '42c908d7a685f2acab29a94d040e4f4c513fff38', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "pagination-info" }, h("span", { class: "current-page" }, this.currentPage), h("span", null, "/"), h("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
72
72
  'pagination-btn': true,
73
73
  'pagination-btn--selected': this.currentPage === n,
74
74
  }, disabled: this.currentPage === n, style: {
75
75
  '--pagination-btn-width': `${this.buttonWidth}px`,
76
- }, onClick: () => this.handlePageChange(n) }, n)))), h("div", { key: '7e3842b531373d6485ae8912addea1aa531ca891', class: "append-btns" }, this.renderNextButtons())));
76
+ }, onClick: () => this.handlePageChange(n) }, n)))), h("div", { key: '2be11ae773c0bce71ecaf53f99daff3f5b2d567d', class: "append-btns" }, this.renderNextButtons())));
77
77
  }
78
78
  static get is() { return "sd-pagination"; }
79
79
  static get originalStyleUrls() {
@@ -30,11 +30,11 @@ export class SdPopover {
30
30
  this.showPopover = false;
31
31
  };
32
32
  render() {
33
- return (h(Fragment, { key: '2a61062e200ac3ca2704756d7d1f6f16977c48f7' }, this.label ? (h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })), this.showPopover && (h("sd-floating-portal", { key: '2d624846b0c7cef09f303437989653c7320a832c', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: this.placement }, h("div", { key: 'f71d28238094e82c43d00e1ab4933b6945f5df4d', class: {
33
+ return (h(Fragment, { key: '883bea0d5ef88bb63b4a1a2d778aedf0bce6f000' }, this.label ? (h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })), this.showPopover && (h("sd-floating-portal", { key: '748b76d151dce05cffdd97d9803a96f14554ad3b', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: this.placement }, h("div", { key: '36bd2a265c89589b13e67107d57e8045a87d6b40', class: {
34
34
  'sd-floating-menu': true,
35
35
  [`sd-floating-menu--${this.placement}`]: true,
36
36
  [this.menuClass]: !!this.menuClass,
37
- } }, h("i", { key: '9173ac0cadb39409fee25809542420423e4a327c', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '137ffab11643f153b52bd4a068b597fd98fd7698' })), h("div", { key: '283f18867bd48ca58ca9621f46637f78aea108b7', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '58c8799e22cd93294d44f9320a07b4d9b51df001', class: "sd-floating-menu__title" }, this.menuTitle), this.messages.length > 0 && (h("div", { key: 'b8ef358d0e952024e361e93cc56f315fd7fa37e5', class: "sd-floating-menu__messages" }, this.messages.map(message => (h("div", null, message))))), this.buttons.length > 0 && (h("div", { key: '53abc6fde61026b2e42cdd9aa3914b86047ac1c8', class: `sd-floating-menu__buttons sd-floating-menu__buttons--${this.buttons.length}` }, this.buttons.map(button => (h("sd-button", { ...button })))))), this.useClose && (h("button", { key: 'a39ea568a1cb13be87c350f646b0a519fc3f94d7', title: "close", class: "sd-floating-menu__close-button", onClick: () => this.handleClose() }, h("sd-icon", { key: 'a00c0ffe7b173471e4ecdb9b98116f4993745bba', name: "close", size: "12", color: "gery_55" }))))))));
37
+ } }, h("i", { key: 'cd9b298e666ce898c83576c869e60e1e5e0bb38f', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${this.placement}` }, h(TooltipArrow, { key: '79012e2c547a71e2084958925445ac26a8bbf7fe' })), h("div", { key: '0664419fe24318ced7cbca2da1b9e0741c48f333', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: 'a3f9238db85a7ca245cb5f794e1a9249742c3b42', class: "sd-floating-menu__title" }, this.menuTitle), this.messages.length > 0 && (h("div", { key: '56696f99a5400276c099a8ca69f904b4a932802c', class: "sd-floating-menu__messages" }, this.messages.map(message => (h("div", null, message))))), this.buttons.length > 0 && (h("div", { key: 'cbdf8231857ccb20156d25758dbe2d1809e28656', class: `sd-floating-menu__buttons sd-floating-menu__buttons--${this.buttons.length}` }, this.buttons.map(button => (h("sd-button", { ...button })))))), this.useClose && (h("button", { key: 'a2f249d05c6cd40d24005307d78aea95a841b0b8', title: "close", class: "sd-floating-menu__close-button", onClick: () => this.handleClose() }, h("sd-icon", { key: '13ba057c4acf7ae65cfe8d722fe8bdb69ce506ac', name: "close", size: "12", color: "gery_55" }))))))));
38
38
  }
39
39
  static get is() { return "sd-popover"; }
40
40
  static get originalStyleUrls() {
@@ -113,7 +113,7 @@ export class SdPortal {
113
113
  this.close.emit();
114
114
  }
115
115
  render() {
116
- return h("slot", { key: '5469d915f8a11d490a1839167b3ae771624d257b' });
116
+ return h("slot", { key: 'ba2bf5df16f9bef0acef1ac8a08b090a23d02bc7' });
117
117
  }
118
118
  static get is() { return "sd-portal"; }
119
119
  static get properties() {
@@ -33,10 +33,10 @@ export class SdProgress {
33
33
  return this.statusColor[this.progressStatus];
34
34
  }
35
35
  render() {
36
- return (h("div", { key: '22105314465e3bc788e018884a68b4fe9050535b', style: {
36
+ return (h("div", { key: '43da9dac67e760bfe53b8db11c27eef7ef0d8b3b', style: {
37
37
  '--progress-color': this.progressColor,
38
38
  '--progress-percentage': `${this.progressPercentage}%`,
39
- } }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && h("div", { key: '2434c60a8412993b3637e48d2c34c8c1010f6358', class: "sd-progress__label" }, this.label)));
39
+ } }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && h("div", { key: 'af4b1c44f655546fede8ad548bddc6afb7810d2b', class: "sd-progress__label" }, this.label)));
40
40
  }
41
41
  renderBarProgress() {
42
42
  return (h("div", { class: `sd-progress__bar sd-progress__bar--${this.progressStatus}` }, h("div", { class: ['sd-progress__bar__percent', this.progressPercentage < 100 ? 'proceed' : ''].join(' ') }), h("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--left" }, this.progressPercentage, "%"), h("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--right" }, this.progressPercentage, "%")));
@@ -144,10 +144,10 @@ export class SdSelectDropdown {
144
144
  this.isScrolled = scrollTop > 0;
145
145
  };
146
146
  render() {
147
- return (h("div", { key: '91c0ce599b9f479404c9353bc976949d2e71f161', class: {
147
+ return (h("div", { key: 'ff55e2e133114accc2641a0025bdcf551eda3511', class: {
148
148
  'sd-select-dropdown': true,
149
149
  'sd-select-dropdown--ready': this.isDropdownReady,
150
- }, style: this.dropdownSize, onScroll: this.handleDropdownScroll, ref: el => (this.dropdownRef = el) }, this.searchable && (h("sd-select-search-input", { key: '6ede4c281647a0282caf04db174d5b522969e897', ref: el => (this.searchRef = el), isScrolled: this.isScrolled, searchText: this.searchText, onSdSearchInput: (event) => (this.searchText = event.detail || ''), onSdSearchFocus: () => (this.itemIndex = -1) })), this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("slot", { name: `option-${option.value}` }, h("sd-select-option", { option: option, index: index, isSelected: this.isOptionSelected(option.value), isFocused: index === this.itemIndex, onOptionClick: ({ detail }) => this.optionClick.emit(detail), useCheckbox: this.useCheckbox }))))) : (h("slot", { name: "option-placeholder" }, h("div", { class: 'sd-select-option-placeholder' }, this.optionPlaceholder)))));
150
+ }, style: this.dropdownSize, onScroll: this.handleDropdownScroll, ref: el => (this.dropdownRef = el) }, this.searchable && (h("sd-select-search-input", { key: 'bfcee14aa06a9a259dd8e67013ed1074c1f9c318', ref: el => (this.searchRef = el), isScrolled: this.isScrolled, searchText: this.searchText, onSdSearchInput: (event) => (this.searchText = event.detail || ''), onSdSearchFocus: () => (this.itemIndex = -1) })), this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("slot", { name: `option-${option.value}` }, h("sd-select-option", { option: option, index: index, isSelected: this.isOptionSelected(option.value), isFocused: index === this.itemIndex, onOptionClick: ({ detail }) => this.optionClick.emit(detail), useCheckbox: this.useCheckbox }))))) : (h("slot", { name: "option-placeholder" }, h("div", { class: 'sd-select-option-placeholder' }, this.optionPlaceholder)))));
151
151
  }
152
152
  static get is() { return "sd-select-dropdown"; }
153
153
  static get originalStyleUrls() {
@@ -24,7 +24,7 @@ export class SdSelectOption {
24
24
  }
25
25
  };
26
26
  render() {
27
- return (h("div", { key: '59df3cd1bfc1195025ae829999ff882f369f40f4', class: {
27
+ return (h("div", { key: 'a4fcca24b0bdde4f4665585c6cede84bd3b64d59', class: {
28
28
  'sd-select__option': true,
29
29
  'sd-select__option--selected': this.isSelected,
30
30
  'sd-select__option--disabled': !!this.option.disabled,
@@ -16,17 +16,17 @@ export class SdSelectSearchInput {
16
16
  input?.focus({ preventScroll: true });
17
17
  }
18
18
  render() {
19
- return (h("div", { key: '199b6bdb1da143241f5e2cf797cc0f484b38aac0', class: {
19
+ return (h("div", { key: 'b19a029ef82d876c984c1f827d7a0f29bb823f5d', class: {
20
20
  'sd-select-search-input': true,
21
21
  'sd-select-search-input--scrolled': !!this.isScrolled,
22
- }, onClick: event => event.stopPropagation() }, h("sd-input", { key: 'c768d0a2324f3ea40cff3eb049ddfad3cddcb882', ref: el => (this.searchRef = el), value: this.searchText, placeholder: "\uAC80\uC0C9", clearable: true, inputStyle: { 'padding-left': '8px' }, autofocus: true, onSdUpdate: event => {
22
+ }, onClick: event => event.stopPropagation() }, h("sd-input", { key: '8e27f40e1b507f0c5cb2d4bde48750cd0089a9da', ref: el => (this.searchRef = el), value: this.searchText, placeholder: "\uAC80\uC0C9", clearable: true, inputStyle: { 'padding-left': '8px' }, autofocus: true, onSdUpdate: event => {
23
23
  this.searchInput.emit(String(event?.detail));
24
24
  }, onSdFocus: () => {
25
25
  this.searchFocus.emit();
26
26
  }, onKeyDown: event => {
27
27
  if (event.code === 'Enter')
28
28
  event.stopPropagation();
29
- } }, h("sd-icon", { key: '21062cf3032b5488487b61a08753de01a5de7b98', name: "search", size: 16, color: "#737373", style: { marginRight: '4px' }, slot: "prefix" }))));
29
+ } }, h("sd-icon", { key: '2b38a07cbc0bb0d7dd020ece45f18bdff4c262e5', name: "search", size: 16, color: "#737373", style: { marginRight: '4px' }, slot: "prefix" }))));
30
30
  }
31
31
  static get is() { return "sd-select-search-input"; }
32
32
  static get originalStyleUrls() {
@@ -144,7 +144,7 @@ export class SdSelectMultiple extends BaseDropdownEvent {
144
144
  this.handleOptionSelection(option);
145
145
  };
146
146
  render() {
147
- return (h("sd-field", { key: '34ce2172ced7175b985b636bd5a65c98ed7b2765', label: this.label, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, useLabelRequired: this.useLabelRequired, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, h("div", { key: 'f1ecb7cab58c82ddba3fde97e2a139d966927891', class: {
147
+ return (h("sd-field", { key: 'a70e7fefb98428e616d2f124923dfa7ee7a7c2e2', label: this.label, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, useLabelRequired: this.useLabelRequired, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, h("div", { key: 'fda63e4e8dcc72aa0147b2981b49b7e28e377ee8', class: {
148
148
  'sd-select-multiple': true,
149
149
  'sd-select-multiple--open': this.isOpen,
150
150
  'sd-select-multiple--disabled': this.disabled,
@@ -39,7 +39,7 @@ export class SdSelectOptionGroup {
39
39
  }
40
40
  };
41
41
  render() {
42
- return (h("div", { key: '9ba2c1d9963ae5b20d8823ed4e1054f4b1ea1164', class: {
42
+ return (h("div", { key: '8e88aacd2c3122a563fcf78bcbe9731b6a29d8c5', class: {
43
43
  'sd-select__option-group': true,
44
44
  'sd-select__option-group--selected': !!this.isSelected,
45
45
  'sd-select__option-group--disabled': !!this.option.disabled,
@@ -48,10 +48,10 @@ export class SdSelectOptionGroup {
48
48
  'sd-select__option-group--group': this.option.type === 'group',
49
49
  'sd-select__option-group--subgroup': this.option.type === 'subgroup',
50
50
  'sd-select__option-group--item': this.option.type === 'item',
51
- }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, h("div", { key: '6576ff206863a28062566b816cd81955f1890ec2', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (h("sd-checkbox", { key: 'ad1367ec16aff35a09bc1ca62d4981a29ad0c20e', value: this.isSelected, disabled: this.option.disabled, onClick: e => {
51
+ }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, h("div", { key: 'be4bc7f2867ea5c86505bc9284ac3de46f7077f9', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (h("sd-checkbox", { key: '00063ab3a6f1d4f44671ac82dd05524968bec668', value: this.isSelected, disabled: this.option.disabled, onClick: e => {
52
52
  e.preventDefault();
53
53
  this.handleClick(this.option, this.isSelected, e);
54
- } })), h("span", { key: 'a51e3950353966056edd756259d3224bd588c78b', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (h("span", { key: 'ed003ff2d7616096a4759b253718e5fc5a09c007', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
54
+ } })), h("span", { key: '802c908d44bf1c0db5d64bf4c8d4bab4ebe2b87c', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (h("span", { key: 'efd26a2d6e4e2662410de3755b70a2a2585ad0c4', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
55
55
  }
56
56
  static get is() { return "sd-select-option-group"; }
57
57
  static get originalStyleUrls() {
@@ -75,10 +75,10 @@ export class SdTextarea {
75
75
  }
76
76
  render() {
77
77
  const maxLengthCounter = this.getMaxLengthCounter();
78
- return (h("div", { key: 'a5c69ab99ae634450f45211158ecc7aaf4ae7ed5', class: {
78
+ return (h("div", { key: '888d11be57629e83e1215daddab63351a323672f', class: {
79
79
  'sd-textarea': true,
80
80
  [this.getTextareaStatus()]: true,
81
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, h("div", { key: '805bcdc30afbc6d91ae1ece93935ef3b95458c4d', class: "sd-textarea__content" }, h("textarea", { key: '9bacae67219729f46c8e05e2d3c5a8b3dda05447', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, autofocus: this.autoFocus, maxLength: this.maxLength, onInput: this.handleInput.bind(this), onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) })), this.hasFooter() && (h("div", { key: '394681f2a6b62747b29fd2d4561ffca93fc482d7', class: "sd-textarea__footer" }, this.helpText !== undefined && h("span", { key: '2740dc673980d558d460e0caa100365ec0c10587', class: "sd-textarea__help-text" }, this.helpText), maxLengthCounter !== null && h("span", { key: 'f7100c74718da4aa705d3213dbcbaf200bb0d6d5', class: "sd-textarea__counter" }, maxLengthCounter)))));
81
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, h("div", { key: '1f91a1e435b2dba1817ce181f91bdf3829142682', class: "sd-textarea__content" }, h("textarea", { key: 'd883f4cdfd56220cf4382893f94a469f7afd7ff2', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, autofocus: this.autoFocus, maxLength: this.maxLength, onInput: this.handleInput.bind(this), onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) })), this.hasFooter() && (h("div", { key: 'e9350d8e49eb87b2caddfc24079ece0d59c79739', class: "sd-textarea__footer" }, this.helpText !== undefined && h("span", { key: 'cda9e2b8b0c15fbc7356597d4363d438688c8e4e', class: "sd-textarea__help-text" }, this.helpText), maxLengthCounter !== null && h("span", { key: '491e990142e07837169e84a3fcc3e80c00bc7153', class: "sd-textarea__counter" }, maxLengthCounter)))));
82
82
  }
83
83
  static get is() { return "sd-textarea"; }
84
84
  static get originalStyleUrls() {
@@ -28,7 +28,7 @@ export class SdToggle {
28
28
  this.change.emit(newValue);
29
29
  };
30
30
  render() {
31
- return (h("label", { key: 'ca85bc0493aff9ff17108696ddb8af29734b00f5', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: 'b99a4fa0d557968e50b302332778faaf1b46f8cc', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: 'e62ca806b95463c7807f82ace61b4aa0affec962', class: "sd-toggle__label" }, this.label), h("div", { key: '6923da9a043df0d0d7fc0ecf2fe175857279e9b3', class: "sd-toggle__track" }, h("div", { key: '090dfbcf308f26b8e200d0e2cd69d44b0f5cb8bf', class: "sd-toggle__thumb" }))));
31
+ return (h("label", { key: 'c0fcd12c231fdb995b5edae756157c58b352fd0f', "aria-label": this.label || 'toggle', class: this.toggleClasses }, h("input", { key: 'e50042ae04830f4c276d8140725ab62cc2d0490d', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.label && h("span", { key: '99f9506a2dcea8cfd85aabf6b71243c116a2bf11', class: "sd-toggle__label" }, this.label), h("div", { key: '424e1ae78d5684051bd7a2b3ba89f6760f773f1c', class: "sd-toggle__track" }, h("div", { key: '29aab89e58022ce22f026fb694bb9b1e4531d8cf', class: "sd-toggle__thumb" }))));
32
32
  }
33
33
  static get is() { return "sd-toggle"; }
34
34
  static get originalStyleUrls() {
@@ -32,7 +32,7 @@ export class SdToggleButton {
32
32
  this.change.emit(newValue);
33
33
  };
34
34
  render() {
35
- return (h("label", { key: '9eb4abcfe8f3894198c8d8643150daa507e6f0e9', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: 'e3d952af461da0fac978b8ce6bd55a6990907fb3', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
35
+ return (h("label", { key: '6f8d9e738490ef344ff26a4026b9de17af68041e', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '6d9d45c451301c4635e610fd70280be1fe65b316', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
36
36
  }
37
37
  static get is() { return "sd-toggle-button"; }
38
38
  static get originalStyleUrls() {
@@ -51,7 +51,7 @@ const SdSelectOptionGroup = /*@__PURE__*/ proxyCustomElement(class SdSelectOptio
51
51
  }
52
52
  };
53
53
  render() {
54
- return (h("div", { key: '9ba2c1d9963ae5b20d8823ed4e1054f4b1ea1164', class: {
54
+ return (h("div", { key: '8e88aacd2c3122a563fcf78bcbe9731b6a29d8c5', class: {
55
55
  'sd-select__option-group': true,
56
56
  'sd-select__option-group--selected': !!this.isSelected,
57
57
  'sd-select__option-group--disabled': !!this.option.disabled,
@@ -60,10 +60,10 @@ const SdSelectOptionGroup = /*@__PURE__*/ proxyCustomElement(class SdSelectOptio
60
60
  'sd-select__option-group--group': this.option.type === 'group',
61
61
  'sd-select__option-group--subgroup': this.option.type === 'subgroup',
62
62
  'sd-select__option-group--item': this.option.type === 'item',
63
- }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, h("div", { key: '6576ff206863a28062566b816cd81955f1890ec2', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (h("sd-checkbox", { key: 'ad1367ec16aff35a09bc1ca62d4981a29ad0c20e', value: this.isSelected, disabled: this.option.disabled, onClick: e => {
63
+ }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, h("div", { key: 'be4bc7f2867ea5c86505bc9284ac3de46f7077f9', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (h("sd-checkbox", { key: '00063ab3a6f1d4f44671ac82dd05524968bec668', value: this.isSelected, disabled: this.option.disabled, onClick: e => {
64
64
  e.preventDefault();
65
65
  this.handleClick(this.option, this.isSelected, e);
66
- } })), h("span", { key: 'a51e3950353966056edd756259d3224bd588c78b', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (h("span", { key: 'ed003ff2d7616096a4759b253718e5fc5a09c007', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
66
+ } })), h("span", { key: '802c908d44bf1c0db5d64bf4c8d4bab4ebe2b87c', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (h("span", { key: 'efd26a2d6e4e2662410de3755b70a2a2585ad0c4', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
67
67
  }
68
68
  static get style() { return sdSelectOptionGroupCss(); }
69
69
  }, [768, "sd-select-option-group", {
@@ -104,6 +104,6 @@ function defineCustomElement() {
104
104
  }
105
105
 
106
106
  export { SdSelectOptionGroup as S, defineCustomElement as d };
107
- //# sourceMappingURL=p-Bgf0RnXW.js.map
107
+ //# sourceMappingURL=p-B-8YfRUg.js.map
108
108
 
109
- //# sourceMappingURL=p-Bgf0RnXW.js.map
109
+ //# sourceMappingURL=p-B-8YfRUg.js.map
@@ -1 +1 @@
1
- {"file":"p-Bgf0RnXW.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.scss?tag=sd-select-option-group","src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.tsx"],"sourcesContent":["@import 'variables';\n\nsd-select-option-group {\n display: block;\n height: fit-content;\n .sd-select__option-group {\n display: flex;\n padding: 4px 12px;\n padding-left: 12px;\n font-size: 12px;\n line-height: 20px;\n cursor: pointer;\n\n &.sd-select__option-group--group,\n &.sd-select__option-group--subgroup {\n &:not(.sd-select__option-group--use-checkbox) {\n cursor: default !important;\n }\n }\n\n &.sd-select__option-group--group {\n background-color: $brilliantblue_05 !important;\n color: $grey_90 !important;\n font-weight: 700;\n }\n\n &.sd-select__option-group--subgroup {\n padding-left: 20px;\n background-color: $grey_05 !important;\n color: $grey_90 !important;\n font-weight: 500;\n }\n\n &.sd-select__option-group--item {\n padding-left: 28px;\n }\n\n sd-checkbox {\n &__bg {\n border-color: $grey_65;\n }\n }\n\n &__label-wrapper {\n display: flex;\n width: 100%;\n column-gap: 8px;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n sd-checkbox {\n flex-shrink: 0;\n }\n\n .sd-select__option-group-label {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .sd-select__option-group__count-indicator {\n width: fit-content;\n flex-shrink: 0;\n font-size: 12px;\n font-weight: 500;\n color: $grey_65;\n }\n }\n\n &--focused {\n background-color: $brilliantblue_20;\n }\n\n &--selected,\n &--focused {\n &.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox) {\n color: $brilliantblue_75;\n font-weight: 700;\n }\n }\n\n &--disabled {\n color: $grey_55;\n cursor: not-allowed;\n }\n\n &:hover {\n &:not(.sd-select__option-group--disabled) {\n background-color: $brilliantblue_75;\n color: white;\n }\n\n &.sd-select__option-group--selected {\n &:not(.sd-select__option-group--group):not(.sd-select__option-group--subgroup) {\n sd-checkbox {\n .sd-checkbox__bg {\n border-color: white !important;\n }\n }\n }\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { SelectOptionGroup } from '../../sd-select/sd-select';\n\n@Component({\n tag: 'sd-select-option-group',\n styleUrl: 'sd-select-option-group.scss',\n})\nexport class SdSelectOptionGroup {\n @Element() el!: HTMLElement;\n\n @Prop() option!: SelectOptionGroup;\n @Prop() index!: number;\n @Prop() isSelected: boolean | null = false;\n @Prop() isFocused: boolean = false;\n @Prop() optionStyle?: { [key: string]: string };\n @Prop() disabled: boolean = false;\n @Prop() useCheckbox: boolean = false;\n @Prop() useIndicator?: boolean = true;\n @Prop() countInfo?: { selectedCount: number; totalCount: number } = {\n selectedCount: 0,\n totalCount: 0,\n };\n\n @State() isHovered: boolean = false;\n\n @Method()\n async isDisabled(): Promise<boolean> {\n return !!this.option.disabled || this.option.type === 'group' || this.option.type === 'subgroup';\n }\n\n @Event() optionClick!: EventEmitter<{\n option: SelectOptionGroup;\n isSelected: boolean | null;\n index: number;\n event: MouseEvent;\n }>;\n\n private handleClick = (\n option: SelectOptionGroup,\n isSelected: boolean | null,\n event: MouseEvent,\n ) => {\n event.stopPropagation();\n\n if (option.type === 'group' || option.type === 'subgroup') {\n this.optionClick.emit({\n option: this.option,\n isSelected,\n index: this.index,\n event,\n });\n return;\n }\n\n if (!this.option.disabled && !this.disabled) {\n this.optionClick.emit({\n option: this.option,\n isSelected,\n index: this.index,\n event,\n });\n }\n };\n\n render() {\n return (\n <div\n class={{\n 'sd-select__option-group': true,\n 'sd-select__option-group--selected': !!this.isSelected,\n 'sd-select__option-group--disabled': !!this.option.disabled,\n 'sd-select__option-group--focused': this.isFocused,\n 'sd-select__option-group--use-checkbox': this.useCheckbox,\n 'sd-select__option-group--group': this.option.type === 'group',\n 'sd-select__option-group--subgroup': this.option.type === 'subgroup',\n 'sd-select__option-group--item': this.option.type === 'item',\n }}\n onMouseEnter={() => (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n style={this.optionStyle}\n data-index={this.index}\n onClick={event => this.handleClick(this.option, this.isSelected, event)}\n >\n <div class=\"sd-select__option-group__label-wrapper\">\n {this.useCheckbox && (\n <sd-checkbox\n value={this.isSelected}\n disabled={this.option.disabled}\n onClick={e => {\n e.preventDefault();\n this.handleClick(this.option, this.isSelected, e);\n }}\n ></sd-checkbox>\n )}\n <span class=\"sd-select__option-group-label\">{this.option.label}</span>\n {this.useIndicator && this.option.type !== 'item' && (\n <span class=\"sd-select__option-group__count-indicator\">{`(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`}</span>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-B-8YfRUg.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.scss?tag=sd-select-option-group","src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.tsx"],"sourcesContent":["@import 'variables';\n\nsd-select-option-group {\n display: block;\n height: fit-content;\n .sd-select__option-group {\n display: flex;\n padding: 4px 12px;\n padding-left: 12px;\n font-size: 12px;\n line-height: 20px;\n cursor: pointer;\n\n &.sd-select__option-group--group,\n &.sd-select__option-group--subgroup {\n &:not(.sd-select__option-group--use-checkbox) {\n cursor: default !important;\n }\n }\n\n &.sd-select__option-group--group {\n background-color: $brilliantblue_05 !important;\n color: $grey_90 !important;\n font-weight: 700;\n }\n\n &.sd-select__option-group--subgroup {\n padding-left: 20px;\n background-color: $grey_05 !important;\n color: $grey_90 !important;\n font-weight: 500;\n }\n\n &.sd-select__option-group--item {\n padding-left: 28px;\n }\n\n sd-checkbox {\n &__bg {\n border-color: $grey_65;\n }\n }\n\n &__label-wrapper {\n display: flex;\n width: 100%;\n column-gap: 8px;\n align-items: center;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n sd-checkbox {\n flex-shrink: 0;\n }\n\n .sd-select__option-group-label {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .sd-select__option-group__count-indicator {\n width: fit-content;\n flex-shrink: 0;\n font-size: 12px;\n font-weight: 500;\n color: $grey_65;\n }\n }\n\n &--focused {\n background-color: $brilliantblue_20;\n }\n\n &--selected,\n &--focused {\n &.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox) {\n color: $brilliantblue_75;\n font-weight: 700;\n }\n }\n\n &--disabled {\n color: $grey_55;\n cursor: not-allowed;\n }\n\n &:hover {\n &:not(.sd-select__option-group--disabled) {\n background-color: $brilliantblue_75;\n color: white;\n }\n\n &.sd-select__option-group--selected {\n &:not(.sd-select__option-group--group):not(.sd-select__option-group--subgroup) {\n sd-checkbox {\n .sd-checkbox__bg {\n border-color: white !important;\n }\n }\n }\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { SelectOptionGroup } from '../../sd-select/sd-select';\n\n@Component({\n tag: 'sd-select-option-group',\n styleUrl: 'sd-select-option-group.scss',\n})\nexport class SdSelectOptionGroup {\n @Element() el!: HTMLElement;\n\n @Prop() option!: SelectOptionGroup;\n @Prop() index!: number;\n @Prop() isSelected: boolean | null = false;\n @Prop() isFocused: boolean = false;\n @Prop() optionStyle?: { [key: string]: string };\n @Prop() disabled: boolean = false;\n @Prop() useCheckbox: boolean = false;\n @Prop() useIndicator?: boolean = true;\n @Prop() countInfo?: { selectedCount: number; totalCount: number } = {\n selectedCount: 0,\n totalCount: 0,\n };\n\n @State() isHovered: boolean = false;\n\n @Method()\n async isDisabled(): Promise<boolean> {\n return !!this.option.disabled || this.option.type === 'group' || this.option.type === 'subgroup';\n }\n\n @Event() optionClick!: EventEmitter<{\n option: SelectOptionGroup;\n isSelected: boolean | null;\n index: number;\n event: MouseEvent;\n }>;\n\n private handleClick = (\n option: SelectOptionGroup,\n isSelected: boolean | null,\n event: MouseEvent,\n ) => {\n event.stopPropagation();\n\n if (option.type === 'group' || option.type === 'subgroup') {\n this.optionClick.emit({\n option: this.option,\n isSelected,\n index: this.index,\n event,\n });\n return;\n }\n\n if (!this.option.disabled && !this.disabled) {\n this.optionClick.emit({\n option: this.option,\n isSelected,\n index: this.index,\n event,\n });\n }\n };\n\n render() {\n return (\n <div\n class={{\n 'sd-select__option-group': true,\n 'sd-select__option-group--selected': !!this.isSelected,\n 'sd-select__option-group--disabled': !!this.option.disabled,\n 'sd-select__option-group--focused': this.isFocused,\n 'sd-select__option-group--use-checkbox': this.useCheckbox,\n 'sd-select__option-group--group': this.option.type === 'group',\n 'sd-select__option-group--subgroup': this.option.type === 'subgroup',\n 'sd-select__option-group--item': this.option.type === 'item',\n }}\n onMouseEnter={() => (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n style={this.optionStyle}\n data-index={this.index}\n onClick={event => this.handleClick(this.option, this.isSelected, event)}\n >\n <div class=\"sd-select__option-group__label-wrapper\">\n {this.useCheckbox && (\n <sd-checkbox\n value={this.isSelected}\n disabled={this.option.disabled}\n onClick={e => {\n e.preventDefault();\n this.handleClick(this.option, this.isSelected, e);\n }}\n ></sd-checkbox>\n )}\n <span class=\"sd-select__option-group-label\">{this.option.label}</span>\n {this.useIndicator && this.option.type !== 'item' && (\n <span class=\"sd-select__option-group__count-indicator\">{`(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`}</span>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -12,6 +12,7 @@ const FORM_PARENT_TAGS = [
12
12
  'sd-select-multiple-group',
13
13
  'sd-input',
14
14
  'sd-textarea',
15
+ 'sd-number-input',
15
16
  ];
16
17
  const SdField = /*@__PURE__*/ proxyCustomElement(class SdField extends H {
17
18
  constructor(registerHost) {
@@ -126,15 +127,15 @@ const SdField = /*@__PURE__*/ proxyCustomElement(class SdField extends H {
126
127
  }
127
128
  }
128
129
  render() {
129
- return (h("div", { key: 'd37aff590a1721b0dfe06698566721534b81b9cb', class: {
130
+ return (h("div", { key: '3c69abe493110b5665795706a9ae0e525f213aca', class: {
130
131
  'sd-field': true,
131
132
  'sd-field--has-label': !!this.label,
132
133
  'sd-field--has-label-inside': !!this.label && this.insideLabel,
133
134
  [this.fieldStatus]: !!this.fieldStatus,
134
- } }, h("div", { key: 'e10b6410261ed2589c7c6a691debcdb7fda696af', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '398930ec704a709af85a30b9fe5c03acaf014959', class: {
135
+ } }, h("div", { key: 'decc6821b7172f5ecc2343472014c08674725904', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: 'ca5e93f049db10ecaaaab091fdf394ac4b55e292', class: {
135
136
  'sd-field__control': true,
136
137
  'sd-field__control--label-inside ': !!this.label && this.insideLabel,
137
- } }, h("slot", { key: 'b4fc8cf7d8fefc437e6201ad1926c1583a96bdf1' }))), this.errorMsg && h("div", { key: '0fde078aeaa157f0d9e4760324cd4b89b12d5656', class: "sd-field__error-message" }, this.errorMsg)));
138
+ } }, h("slot", { key: '7ee38983d32985f4b4a035830bcdca0e14b2cf71' }))), this.errorMsg && h("div", { key: 'c2d6ef860ced48657b906806f2618594b094ea79', class: "sd-field__error-message" }, this.errorMsg)));
138
139
  }
139
140
  renderLabel(label) {
140
141
  if (!label)
@@ -196,6 +197,6 @@ function defineCustomElement() {
196
197
  }
197
198
 
198
199
  export { SdField as S, defineCustomElement as d };
199
- //# sourceMappingURL=p-SUihbngJ.js.map
200
+ //# sourceMappingURL=p-C2pN-_wD.js.map
200
201
 
201
- //# sourceMappingURL=p-SUihbngJ.js.map
202
+ //# sourceMappingURL=p-C2pN-_wD.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-C2pN-_wD.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-field/sd-field.scss?tag=sd-field","src/components/sd-field/sd-field.tsx"],"sourcesContent":["@import 'variables';\n\nsd-field {\n display: inline-flex;\n flex-flow: column nowrap;\n height: fit-content;\n width: 100%;\n .sd-field {\n *:focus,\n *:focus-visible,\n *:focus-within {\n outline: none !important;\n }\n\n &:not(.sd-field--disabled) {\n &:hover {\n .sd-field__control {\n border: 1px solid $brilliantblue_75 !important;\n box-shadow: 0px 0px 4px 0px #0071ff66;\n }\n }\n }\n\n &.sd-field--disabled {\n cursor: not-allowed;\n\n .sd-field__wrapper {\n cursor: not-allowed !important;\n .sd-field__label-inside {\n border-color: $grey_45;\n color: $grey_65;\n cursor: not-allowed !important;\n }\n\n .sd-field__control {\n background-color: $grey_20;\n border-color: $grey_45;\n color: $grey_65;\n cursor: not-allowed !important;\n }\n }\n }\n\n &--has-label {\n .sd-field__wrapper {\n .sd-field__label {\n display: flex;\n align-items: center;\n margin-right: 12px;\n\n &__required-icon {\n margin-right: 4px;\n }\n\n &__text {\n font-size: 12px;\n line-height: 20px;\n // font-weight: 500;\n color: $grey_90;\n white-space: nowrap;\n }\n\n &__tooltip {\n margin-left: 2px;\n }\n }\n }\n }\n\n &--has-label-inside {\n .sd-field__wrapper {\n .sd-field__label {\n margin-right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 3px 12px;\n border: 1px solid $grey_45;\n border-right: none;\n border-radius: 4px 0 0 4px;\n border-color: $grey_55;\n background-color: $grey_10;\n }\n }\n }\n\n &__wrapper {\n width: 100%;\n height: 28px;\n display: flex;\n align-items: center;\n flex-flow: row nowrap;\n position: relative;\n color: $grey_90;\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n\n .sd-field__control {\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex: 1;\n border: 1px solid $grey_55;\n border-radius: 4px;\n background: white;\n\n &--label-inside {\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n }\n }\n }\n\n &--error:not(:hover) {\n .sd-field__wrapper .sd-field__control {\n border: 1px solid $red_70 !important;\n }\n }\n\n &.sd-field--focus,\n &.sd-field--hover {\n .sd-field__wrapper .sd-field__control {\n border: 1px solid $brilliantblue_75 !important;\n box-shadow: 0px 0px 4px 0px #0071ff66;\n }\n }\n\n .sd-field__error-message {\n color: $red_70;\n font-size: 12px;\n line-height: 20px;\n margin-top: 4px;\n }\n }\n}\n","import { h, Component, Element, Prop, State, Method } from '@stencil/core';\nimport { ValidatableField } from '../sd-form/sd-form';\nimport { Rule } from '../../types/form';\nimport { SdTooltipProps } from '../sd-tooltip/sd-tooltip';\n\nconst FORM_PARENT_TAGS = [\n 'sd-select',\n 'sd-select-multiple',\n 'sd-select-multiple-group',\n 'sd-input',\n 'sd-textarea',\n 'sd-number-input',\n];\n\ninterface FormHostElement extends HTMLElement {\n value: any;\n error?: boolean;\n errorMsg?: string;\n}\n\n@Component({ tag: 'sd-field', styleUrl: 'sd-field.scss' })\nexport class SdField implements ValidatableField {\n @Element() el!: HTMLElement;\n\n @Prop() name: string = '';\n @Prop() rules?: Rule[] = [];\n\n @Prop({ mutable: true }) error?: boolean = false;\n @Prop({ mutable: true }) disabled?: boolean = false;\n @Prop({ mutable: true }) hovered?: boolean = false;\n @Prop({ mutable: true }) focused?: boolean = false;\n @Prop() status?: 'default' | 'pass' | 'error';\n\n // props - label\n @Prop() label: string = '';\n @Prop() insideLabel: boolean = false;\n @Prop() useLabelRequired: boolean = false;\n @Prop() labelTooltip: string = '';\n @Prop() labelTooltipProps: SdTooltipProps | null = null;\n\n @State() errorMsg: string = '';\n\n private hostElement: FormHostElement | null = null;\n\n get value() {\n return this.hostElement?.value ?? null;\n }\n\n get fieldStatus() {\n let status = '';\n\n if (!!this.disabled) {\n status = 'disabled';\n return `sd-field--${status}`;\n }\n\n if (!!this.focused) {\n status = 'focus';\n return `sd-field--${status}`;\n }\n\n if (!!this.hovered) status = 'hover';\n if (!!this.status) status = this.status;\n if (!!this.error) status = 'error';\n return status ? `sd-field--${status}` : '';\n }\n\n componentDidLoad() {\n this.hostElement = this.findHostElement();\n this.registerToForm();\n }\n\n disconnectedCallback() {\n this.unregisterFromForm();\n }\n\n private findHostElement(): FormHostElement | null {\n for (const tag of FORM_PARENT_TAGS) {\n const parent = this.el.closest<FormHostElement>(tag);\n if (parent && 'value' in parent) {\n return parent;\n }\n }\n return null;\n }\n\n private registerToForm() {\n // if (!this.rules || this.rules.length === 0) {\n // console.warn('[sd-form-field] rules prop is required for sd-form integration');\n // return;\n // }\n\n const formEl = this.el.closest<HTMLSdFormElement>('sd-form');\n if (!formEl) return;\n\n formEl.componentOnReady().then(form => {\n form.sdRegisterField(this);\n });\n }\n\n private unregisterFromForm() {\n if (!this.name) return;\n\n const formEl = this.el.closest<HTMLSdFormElement>('sd-form');\n formEl?.componentOnReady().then(form => {\n form.sdUnregisterField(this.name);\n });\n }\n\n @Method()\n async sdValidate(): Promise<boolean> {\n if (!this.rules || this.rules.length === 0) return true;\n\n for (const rule of this.rules) {\n const result = rule(this.value ?? '');\n if (result !== true) {\n this.setError(true, result);\n return false;\n }\n }\n this.setError(false, '');\n return true;\n }\n\n @Method()\n async sdReset() {\n if (this.hostElement) {\n this.hostElement.value = null;\n }\n this.setError(false, '');\n }\n\n @Method()\n async sdResetValidation() {\n this.setError(false, '');\n }\n\n @Method()\n async sdFocus() {\n this.hostElement?.focus?.();\n this.hostElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n\n private setError(error: boolean, errorMsg: string) {\n this.errorMsg = errorMsg;\n\n if (this.hostElement) {\n this.hostElement.error = error;\n }\n }\n\n render() {\n return (\n <div\n class={{\n 'sd-field': true,\n 'sd-field--has-label': !!this.label,\n 'sd-field--has-label-inside': !!this.label && this.insideLabel,\n [this.fieldStatus]: !!this.fieldStatus,\n }}\n >\n <div class=\"sd-field__wrapper\">\n {this.renderLabel(this.label)}\n <div\n class={{\n 'sd-field__control': true,\n 'sd-field__control--label-inside ': !!this.label && this.insideLabel,\n }}\n >\n <slot></slot>\n </div>\n </div>\n {this.errorMsg && <div class=\"sd-field__error-message\">{this.errorMsg}</div>}\n </div>\n );\n }\n\n private renderLabel(label?: string) {\n if (!label) return null;\n\n return (\n <label class={{ 'sd-field__label': true, 'sd-field__label-inside': this.insideLabel }}>\n {this.useLabelRequired && (\n <sd-icon\n name=\"star\"\n size=\"10\"\n color=\"brilliantblue_75\"\n class=\"sd-field__label__required-icon\"\n ></sd-icon>\n )}\n <div class=\"sd-field__label__text\">{label}</div>\n {this.labelTooltip && (\n <sd-tooltip class=\"sd-field__label__tooltip\" {...this.labelTooltipProps}>\n <div slot=\"content\">{this.labelTooltip}</div>\n </sd-tooltip>\n )}\n </label>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,16 @@
1
+ /* @ts-self-types="./index.d.ts" */
2
+ let urlAlphabet =
3
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
4
+ let nanoid = (size = 21) => {
5
+ let id = '';
6
+ let i = size | 0;
7
+ while (i--) {
8
+ id += urlAlphabet[(Math.random() * 64) | 0];
9
+ }
10
+ return id
11
+ };
12
+
13
+ export { nanoid as n };
14
+ //# sourceMappingURL=p-CCwNgVmC.js.map
15
+
16
+ //# sourceMappingURL=p-CCwNgVmC.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CCwNgVmC.js","mappings":"AAAA;AACA,IAAI,WAAW;AACf,EAAE;AAWQ,IAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK;AACnC,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG;AACjB,EAAE,OAAO,CAAC,EAAE,EAAE;AACd,IAAI,EAAE,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;AAC9C;AACA,EAAE,OAAO;AACT;;;;","names":[],"sources":["node_modules/nanoid/non-secure/index.js"],"sourcesContent":["/* @ts-self-types=\"./index.d.ts\" */\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n"],"version":3}
@@ -1,9 +1,9 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, t as transformTag } from './p-CR2Jbl0B.js';
2
2
  import { d as defineCustomElement$6 } from './p-lbT0o9hE.js';
3
- import { d as defineCustomElement$5 } from './p-SUihbngJ.js';
3
+ import { d as defineCustomElement$5 } from './p-C2pN-_wD.js';
4
4
  import { d as defineCustomElement$4 } from './p-BdgLMKjb.js';
5
5
  import { d as defineCustomElement$3 } from './p-zvhzq4Sw.js';
6
- import { d as defineCustomElement$2 } from './p-DQE5-tOR.js';
6
+ import { d as defineCustomElement$2 } from './p-xfqZA_70.js';
7
7
  import { d as defineCustomElement$1 } from './p-CiNjpVRK.js';
8
8
 
9
9
  const sdSelectSearchInputCss = () => `sd-select-search-input{position:sticky;top:0;display:flex;width:100%;background-color:white;align-items:center}sd-select-search-input .sd-select-search-input{position:sticky;top:0;display:flex;width:100%;background-color:white;align-items:center;padding:4px 8px}sd-select-search-input .sd-select-search-input sd-input{width:100%}sd-select-search-input .sd-select-search-input--scrolled{box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}`;
@@ -33,17 +33,17 @@ const SdSelectSearchInput = /*@__PURE__*/ proxyCustomElement(class SdSelectSearc
33
33
  input?.focus({ preventScroll: true });
34
34
  }
35
35
  render() {
36
- return (h("div", { key: '199b6bdb1da143241f5e2cf797cc0f484b38aac0', class: {
36
+ return (h("div", { key: 'b19a029ef82d876c984c1f827d7a0f29bb823f5d', class: {
37
37
  'sd-select-search-input': true,
38
38
  'sd-select-search-input--scrolled': !!this.isScrolled,
39
- }, onClick: event => event.stopPropagation() }, h("sd-input", { key: 'c768d0a2324f3ea40cff3eb049ddfad3cddcb882', ref: el => (this.searchRef = el), value: this.searchText, placeholder: "\uAC80\uC0C9", clearable: true, inputStyle: { 'padding-left': '8px' }, autofocus: true, onSdUpdate: event => {
39
+ }, onClick: event => event.stopPropagation() }, h("sd-input", { key: '8e27f40e1b507f0c5cb2d4bde48750cd0089a9da', ref: el => (this.searchRef = el), value: this.searchText, placeholder: "\uAC80\uC0C9", clearable: true, inputStyle: { 'padding-left': '8px' }, autofocus: true, onSdUpdate: event => {
40
40
  this.searchInput.emit(String(event?.detail));
41
41
  }, onSdFocus: () => {
42
42
  this.searchFocus.emit();
43
43
  }, onKeyDown: event => {
44
44
  if (event.code === 'Enter')
45
45
  event.stopPropagation();
46
- } }, h("sd-icon", { key: '21062cf3032b5488487b61a08753de01a5de7b98', name: "search", size: 16, color: "#737373", style: { marginRight: '4px' }, slot: "prefix" }))));
46
+ } }, h("sd-icon", { key: '2b38a07cbc0bb0d7dd020ece45f18bdff4c262e5', name: "search", size: 16, color: "#737373", style: { marginRight: '4px' }, slot: "prefix" }))));
47
47
  }
48
48
  static get style() { return sdSelectSearchInputCss(); }
49
49
  }, [768, "sd-select-search-input", {
@@ -97,6 +97,6 @@ function defineCustomElement() {
97
97
  }
98
98
 
99
99
  export { SdSelectSearchInput as S, defineCustomElement as d };
100
- //# sourceMappingURL=p-CYr3YYfa.js.map
100
+ //# sourceMappingURL=p-CFHNnfIq.js.map
101
101
 
102
- //# sourceMappingURL=p-CYr3YYfa.js.map
102
+ //# sourceMappingURL=p-CFHNnfIq.js.map
@@ -1 +1 @@
1
- {"file":"p-CYr3YYfa.js","mappings":";;;;;;;;AAAA,MAAM,sBAAsB,GAAG,MAAM,CAAC,gbAAgb,CAAC;;MCM1c,mBAAmB,iBAAAA,kBAAA,CAAA,MAAA,mBAAA,SAAAC,CAAA,CAAA;;;;;;;;;IACvB,UAAU,GAAa,KAAK;IAC5B,UAAU,GAAkB,EAAE;AAEC,IAAA,WAAW;AACX,IAAA,WAAW;AAE1C,IAAA,SAAS;AAGjB,IAAA,MAAM,kBAAkB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE;;AAE3C,QAAA,OAAO,IAAI;;AAIZ,IAAA,MAAM,kBAAkB,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;QAC7C,KAAK,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;;IAGtC,MAAM,GAAA;QACL,QACC,CACC,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACN,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,kCAAkC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;AACrD,aAAA,EACD,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,EAAA,EAEzC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAChC,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,WAAW,EAAC,cAAI,EAChB,SAAS,QACT,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EACrC,SAAS,EAAA,IAAA,EACT,UAAU,EAAE,KAAK,IAAG;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,aAAC,EACD,SAAS,EAAE,MAAK;AACf,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACxB,aAAC,EACD,SAAS,EAAE,KAAK,IAAG;AAClB,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,KAAK,CAAC,eAAe,EAAE;AACpD,aAAC,EAAA,EAED,CACC,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,EAAE,EACR,KAAK,EAAC,SAAS,EACf,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAC7B,IAAI,EAAC,QAAQ,EACH,CAAA,CACD,CACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select/sd-select-search-input/sd-select-search-input.scss?tag=sd-select-search-input","src/components/sd-select/sd-select-search-input/sd-select-search-input.tsx"],"sourcesContent":["@import 'variables';\n\nsd-select-search-input {\n position: sticky;\n top: 0;\n display: flex;\n width: 100%;\n background-color: white;\n align-items: center;\n .sd-select-search-input {\n position: sticky;\n top: 0;\n display: flex;\n width: 100%;\n background-color: white;\n align-items: center;\n padding: 4px 8px;\n\n sd-input {\n width: 100%;\n }\n\n &--scrolled {\n box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.2);\n }\n }\n}\n","import { h, Component, Prop, Method, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'sd-select-search-input',\n styleUrl: 'sd-select-search-input.scss',\n})\nexport class SdSelectSearchInput {\n @Prop() isScrolled?: boolean = false;\n @Prop() searchText: string | null = '';\n\n @Event({ eventName: 'sdSearchInput' }) searchInput!: EventEmitter<string>;\n @Event({ eventName: 'sdSearchFocus' }) searchFocus!: EventEmitter<void>;\n\n private searchRef?: HTMLSdInputElement;\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n if (this.searchRef) {\n return this.searchRef.sdGetNativeElement();\n }\n return null;\n }\n\n @Method()\n async sdSearchInputFocus() {\n const input = await this.sdGetNativeElement();\n input?.focus({ preventScroll: true });\n }\n\n render() {\n return (\n <div\n class={{\n 'sd-select-search-input': true,\n 'sd-select-search-input--scrolled': !!this.isScrolled,\n }}\n onClick={event => event.stopPropagation()}\n >\n <sd-input\n ref={el => (this.searchRef = el)}\n value={this.searchText}\n placeholder=\"검색\"\n clearable\n inputStyle={{ 'padding-left': '8px' }}\n autofocus\n onSdUpdate={event => {\n this.searchInput.emit(String(event?.detail));\n }}\n onSdFocus={() => {\n this.searchFocus.emit();\n }}\n onKeyDown={event => {\n if (event.code === 'Enter') event.stopPropagation();\n }}\n >\n <sd-icon\n name=\"search\"\n size={16}\n color=\"#737373\"\n style={{ marginRight: '4px' }}\n slot=\"prefix\"\n ></sd-icon>\n </sd-input>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-CFHNnfIq.js","mappings":";;;;;;;;AAAA,MAAM,sBAAsB,GAAG,MAAM,CAAC,gbAAgb,CAAC;;MCM1c,mBAAmB,iBAAAA,kBAAA,CAAA,MAAA,mBAAA,SAAAC,CAAA,CAAA;;;;;;;;;IACvB,UAAU,GAAa,KAAK;IAC5B,UAAU,GAAkB,EAAE;AAEC,IAAA,WAAW;AACX,IAAA,WAAW;AAE1C,IAAA,SAAS;AAGjB,IAAA,MAAM,kBAAkB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE;;AAE3C,QAAA,OAAO,IAAI;;AAIZ,IAAA,MAAM,kBAAkB,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;QAC7C,KAAK,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;;IAGtC,MAAM,GAAA;QACL,QACC,CACC,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACN,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,kCAAkC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;AACrD,aAAA,EACD,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,EAAA,EAEzC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAChC,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,WAAW,EAAC,cAAI,EAChB,SAAS,QACT,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EACrC,SAAS,EAAA,IAAA,EACT,UAAU,EAAE,KAAK,IAAG;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,aAAC,EACD,SAAS,EAAE,MAAK;AACf,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACxB,aAAC,EACD,SAAS,EAAE,KAAK,IAAG;AAClB,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,KAAK,CAAC,eAAe,EAAE;AACpD,aAAC,EAAA,EAED,CACC,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,EAAE,EACR,KAAK,EAAC,SAAS,EACf,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAC7B,IAAI,EAAC,QAAQ,EACH,CAAA,CACD,CACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select/sd-select-search-input/sd-select-search-input.scss?tag=sd-select-search-input","src/components/sd-select/sd-select-search-input/sd-select-search-input.tsx"],"sourcesContent":["@import 'variables';\n\nsd-select-search-input {\n position: sticky;\n top: 0;\n display: flex;\n width: 100%;\n background-color: white;\n align-items: center;\n .sd-select-search-input {\n position: sticky;\n top: 0;\n display: flex;\n width: 100%;\n background-color: white;\n align-items: center;\n padding: 4px 8px;\n\n sd-input {\n width: 100%;\n }\n\n &--scrolled {\n box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.2);\n }\n }\n}\n","import { h, Component, Prop, Method, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'sd-select-search-input',\n styleUrl: 'sd-select-search-input.scss',\n})\nexport class SdSelectSearchInput {\n @Prop() isScrolled?: boolean = false;\n @Prop() searchText: string | null = '';\n\n @Event({ eventName: 'sdSearchInput' }) searchInput!: EventEmitter<string>;\n @Event({ eventName: 'sdSearchFocus' }) searchFocus!: EventEmitter<void>;\n\n private searchRef?: HTMLSdInputElement;\n\n @Method()\n async sdGetNativeElement(): Promise<HTMLInputElement | null> {\n if (this.searchRef) {\n return this.searchRef.sdGetNativeElement();\n }\n return null;\n }\n\n @Method()\n async sdSearchInputFocus() {\n const input = await this.sdGetNativeElement();\n input?.focus({ preventScroll: true });\n }\n\n render() {\n return (\n <div\n class={{\n 'sd-select-search-input': true,\n 'sd-select-search-input--scrolled': !!this.isScrolled,\n }}\n onClick={event => event.stopPropagation()}\n >\n <sd-input\n ref={el => (this.searchRef = el)}\n value={this.searchText}\n placeholder=\"검색\"\n clearable\n inputStyle={{ 'padding-left': '8px' }}\n autofocus\n onSdUpdate={event => {\n this.searchInput.emit(String(event?.detail));\n }}\n onSdFocus={() => {\n this.searchFocus.emit();\n }}\n onKeyDown={event => {\n if (event.code === 'Enter') event.stopPropagation();\n }}\n >\n <sd-icon\n name=\"search\"\n size={16}\n color=\"#737373\"\n style={{ marginRight: '4px' }}\n slot=\"prefix\"\n ></sd-icon>\n </sd-input>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,12 +1,12 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, t as transformTag } from './p-CR2Jbl0B.js';
2
2
  import { d as defineCustomElement$9 } from './p-lbT0o9hE.js';
3
3
  import { d as defineCustomElement$8 } from './p-Cd145I-2.js';
4
- import { d as defineCustomElement$7 } from './p-SUihbngJ.js';
4
+ import { d as defineCustomElement$7 } from './p-C2pN-_wD.js';
5
5
  import { d as defineCustomElement$6 } from './p-BdgLMKjb.js';
6
6
  import { d as defineCustomElement$5 } from './p-zvhzq4Sw.js';
7
- import { d as defineCustomElement$4 } from './p-DQE5-tOR.js';
8
- import { d as defineCustomElement$3 } from './p-CYYaSMIB.js';
9
- import { d as defineCustomElement$2 } from './p-CYr3YYfa.js';
7
+ import { d as defineCustomElement$4 } from './p-xfqZA_70.js';
8
+ import { d as defineCustomElement$3 } from './p-Dv4dN3Y5.js';
9
+ import { d as defineCustomElement$2 } from './p-CFHNnfIq.js';
10
10
  import { d as defineCustomElement$1 } from './p-CiNjpVRK.js';
11
11
 
12
12
  const sdSelectDropdownCss = () => `.sd-select-dropdown{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sd-select-dropdown::-webkit-scrollbar{opacity:0;background:#e5e5e5}.sd-select-dropdown::-webkit-scrollbar:horizontal{height:8px}.sd-select-dropdown::-webkit-scrollbar:vertical{width:8px}.sd-select-dropdown::-webkit-scrollbar-thumb{height:80px;background-color:#cccccc;border-radius:4px}.sd-select-dropdown::-webkit-scrollbar-track{background-color:transparent}.sd-select-dropdown .sd-select-option-placeholder{height:48px;display:flex;align-items:center;padding:8px 16px;font-size:12px;line-height:0;text-align:left;color:#888888}.sd-select-dropdown{width:var(--select-dropdown-width, 200px);max-height:var(--select-dropdown-height, 260px);padding-bottom:2px;background-color:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);border-radius:4px;overflow-y:auto;color:#333333;display:flex;flex-direction:column;opacity:0.5;transition:opacity 0.15s ease-in}.sd-select-dropdown--ready{opacity:1}`;
@@ -165,10 +165,10 @@ const SdSelectDropdown = /*@__PURE__*/ proxyCustomElement(class SdSelectDropdown
165
165
  this.isScrolled = scrollTop > 0;
166
166
  };
167
167
  render() {
168
- return (h("div", { key: '91c0ce599b9f479404c9353bc976949d2e71f161', class: {
168
+ return (h("div", { key: 'ff55e2e133114accc2641a0025bdcf551eda3511', class: {
169
169
  'sd-select-dropdown': true,
170
170
  'sd-select-dropdown--ready': this.isDropdownReady,
171
- }, style: this.dropdownSize, onScroll: this.handleDropdownScroll, ref: el => (this.dropdownRef = el) }, this.searchable && (h("sd-select-search-input", { key: '6ede4c281647a0282caf04db174d5b522969e897', ref: el => (this.searchRef = el), isScrolled: this.isScrolled, searchText: this.searchText, onSdSearchInput: (event) => (this.searchText = event.detail || ''), onSdSearchFocus: () => (this.itemIndex = -1) })), this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("slot", { name: `option-${option.value}` }, h("sd-select-option", { option: option, index: index, isSelected: this.isOptionSelected(option.value), isFocused: index === this.itemIndex, onOptionClick: ({ detail }) => this.optionClick.emit(detail), useCheckbox: this.useCheckbox }))))) : (h("slot", { name: "option-placeholder" }, h("div", { class: 'sd-select-option-placeholder' }, this.optionPlaceholder)))));
171
+ }, style: this.dropdownSize, onScroll: this.handleDropdownScroll, ref: el => (this.dropdownRef = el) }, this.searchable && (h("sd-select-search-input", { key: 'bfcee14aa06a9a259dd8e67013ed1074c1f9c318', ref: el => (this.searchRef = el), isScrolled: this.isScrolled, searchText: this.searchText, onSdSearchInput: (event) => (this.searchText = event.detail || ''), onSdSearchFocus: () => (this.itemIndex = -1) })), this.filteredOptions.length > 0 ? (this.filteredOptions.map((option, index) => (h("slot", { name: `option-${option.value}` }, h("sd-select-option", { option: option, index: index, isSelected: this.isOptionSelected(option.value), isFocused: index === this.itemIndex, onOptionClick: ({ detail }) => this.optionClick.emit(detail), useCheckbox: this.useCheckbox }))))) : (h("slot", { name: "option-placeholder" }, h("div", { class: 'sd-select-option-placeholder' }, this.optionPlaceholder)))));
172
172
  }
173
173
  static get watchers() { return {
174
174
  "filteredOptions": ["filteredOptionsChanged"],
@@ -255,6 +255,6 @@ function defineCustomElement() {
255
255
  }
256
256
 
257
257
  export { SdSelectDropdown as S, defineCustomElement as d };
258
- //# sourceMappingURL=p-CXyVUgP3.js.map
258
+ //# sourceMappingURL=p-CkzAorp3.js.map
259
259
 
260
- //# sourceMappingURL=p-CXyVUgP3.js.map
260
+ //# sourceMappingURL=p-CkzAorp3.js.map