@sellmate/design-system 0.0.8 → 0.0.10

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 (196) hide show
  1. package/dist/cjs/design-system.cjs.js +3 -3
  2. package/dist/cjs/design-system.cjs.js.map +1 -1
  3. package/dist/cjs/{index-iB3JlG0y.js → index-D1tXBb8y.js} +5 -7
  4. package/dist/cjs/index-D1tXBb8y.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +0 -121
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/resolveColor-DxvExwgo.js +272 -0
  9. package/dist/cjs/resolveColor-DxvExwgo.js.map +1 -0
  10. package/dist/cjs/sd-badge.cjs.entry.js +23 -0
  11. package/dist/cjs/sd-badge.entry.cjs.js.map +1 -0
  12. package/dist/cjs/sd-button.sd-guide.sd-icon.sd-portal.entry.cjs.js.map +1 -1
  13. package/dist/cjs/sd-button_4.cjs.entry.js +51 -315
  14. package/dist/cjs/sd-checkbox.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-date-box_2.cjs.entry.js +3 -3
  16. package/dist/cjs/sd-date-picker.cjs.entry.js +3 -3
  17. package/dist/cjs/sd-date-range-picker.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-pagination_2.cjs.entry.js +6 -6
  19. package/dist/cjs/sd-popover.cjs.entry.js +4 -4
  20. package/dist/cjs/sd-select-option.cjs.entry.js +2 -2
  21. package/dist/cjs/sd-select.cjs.entry.js +1 -1
  22. package/dist/cjs/sd-table.cjs.entry.js +1 -1
  23. package/dist/cjs/sd-tag.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-tooltip-portal.cjs.entry.js +2 -2
  25. package/dist/cjs/{tooltipArrow-CSLQDjwL.js → tooltipArrow-D4Vc_pEU.js} +3 -3
  26. package/dist/cjs/{tooltipArrow-CSLQDjwL.js.map → tooltipArrow-D4Vc_pEU.js.map} +1 -1
  27. package/dist/collection/collection-manifest.json +2 -1
  28. package/dist/collection/components/sd-badge/sd-badge.css +1386 -0
  29. package/dist/collection/components/sd-badge/sd-badge.js +88 -0
  30. package/dist/collection/components/sd-badge/sd-badge.js.map +1 -0
  31. package/dist/collection/components/sd-checkbox/sd-checkbox.js +1 -1
  32. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  33. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  34. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  35. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  36. package/dist/collection/components/sd-input/sd-input.js +2 -2
  37. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  38. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  39. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  40. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  41. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  42. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  43. package/dist/collection/index.js +0 -4
  44. package/dist/collection/index.js.map +1 -1
  45. package/dist/components/index.js +2 -115
  46. package/dist/components/index.js.map +1 -1
  47. package/dist/components/{p-B0--8AFP.js → p-0rgiptJp.js} +7 -271
  48. package/dist/components/p-0rgiptJp.js.map +1 -0
  49. package/dist/components/{p-BVQq85Sb.js → p-6-oOxxG7.js} +5 -5
  50. package/dist/components/{p-BVQq85Sb.js.map → p-6-oOxxG7.js.map} +1 -1
  51. package/dist/components/{p-CwAyLWEQ.js → p-8_DE9sf7.js} +7 -7
  52. package/dist/components/{p-CwAyLWEQ.js.map → p-8_DE9sf7.js.map} +1 -1
  53. package/dist/components/{p-CIRxuq9O.js → p-BEEv43du.js} +5 -5
  54. package/dist/components/{p-CIRxuq9O.js.map → p-BEEv43du.js.map} +1 -1
  55. package/dist/components/{p-CvQARSF2.js → p-BFclKl59.js} +7 -7
  56. package/dist/components/{p-CvQARSF2.js.map → p-BFclKl59.js.map} +1 -1
  57. package/dist/components/{p-B3-UiLOb.js → p-BQR8GTeD.js} +4 -4
  58. package/dist/components/{p-B3-UiLOb.js.map → p-BQR8GTeD.js.map} +1 -1
  59. package/dist/components/{p-Cwa0Scin.js → p-BV65zDeF.js} +6 -5
  60. package/dist/components/p-BV65zDeF.js.map +1 -0
  61. package/dist/components/p-BYf-ybt2.js +269 -0
  62. package/dist/components/p-BYf-ybt2.js.map +1 -0
  63. package/dist/components/{p-CmjvNSNS.js → p-Bws0p2kF.js} +3 -3
  64. package/dist/components/{p-CmjvNSNS.js.map → p-Bws0p2kF.js.map} +1 -1
  65. package/dist/components/{p-D_I5tXD6.js → p-CLODAhOA.js} +6 -8
  66. package/dist/components/p-CLODAhOA.js.map +1 -0
  67. package/dist/components/{p-DyncZo9Q.js → p-Cf1_Ckwe.js} +10 -10
  68. package/dist/components/{p-DyncZo9Q.js.map → p-Cf1_Ckwe.js.map} +1 -1
  69. package/dist/components/{p-Dg9QFKjM.js → p-DCdQLHpa.js} +7 -7
  70. package/dist/components/{p-Dg9QFKjM.js.map → p-DCdQLHpa.js.map} +1 -1
  71. package/dist/components/{p-BrGg4-IA.js → p-Dy4OXsOy.js} +6 -6
  72. package/dist/components/{p-BrGg4-IA.js.map → p-Dy4OXsOy.js.map} +1 -1
  73. package/dist/components/sd-badge.d.ts +11 -0
  74. package/dist/components/sd-badge.js +46 -0
  75. package/dist/components/sd-badge.js.map +1 -0
  76. package/dist/components/sd-button.js +1 -1
  77. package/dist/components/sd-checkbox.js +1 -1
  78. package/dist/components/sd-date-box.js +1 -1
  79. package/dist/components/sd-date-picker.js +8 -8
  80. package/dist/components/sd-date-range-picker.js +8 -8
  81. package/dist/components/sd-guide.js +8 -7
  82. package/dist/components/sd-guide.js.map +1 -1
  83. package/dist/components/sd-icon.js +1 -1
  84. package/dist/components/sd-input.js +1 -1
  85. package/dist/components/sd-pagination.js +1 -1
  86. package/dist/components/sd-popover.js +8 -8
  87. package/dist/components/sd-portal.js +1 -1
  88. package/dist/components/sd-select-option.js +1 -1
  89. package/dist/components/sd-select.js +7 -7
  90. package/dist/components/sd-table.js +8 -8
  91. package/dist/components/sd-tag.js +2 -2
  92. package/dist/components/sd-tooltip-portal.js +1 -1
  93. package/dist/components/sd-tooltip.js +1 -1
  94. package/dist/design-system/design-system.esm.js +1 -1
  95. package/dist/design-system/design-system.esm.js.map +1 -1
  96. package/dist/design-system/index.esm.js +1 -1
  97. package/dist/design-system/index.esm.js.map +1 -1
  98. package/dist/design-system/{p-12aaaa03.entry.js → p-1c85c36d.entry.js} +2 -2
  99. package/dist/design-system/p-308edd31.entry.js +2 -0
  100. package/dist/design-system/p-308edd31.entry.js.map +1 -0
  101. package/dist/design-system/p-7b32ab16.entry.js +2 -0
  102. package/dist/design-system/{p-997af0ed.entry.js.map → p-7b32ab16.entry.js.map} +1 -1
  103. package/dist/design-system/{p-7e33f5e5.entry.js → p-8ac68037.entry.js} +2 -2
  104. package/dist/design-system/{p-1f393066.entry.js → p-97900de1.entry.js} +2 -2
  105. package/dist/design-system/{p-2bb928fc.entry.js → p-9cc14b6e.entry.js} +2 -2
  106. package/dist/design-system/p-BYf-ybt2.js +2 -0
  107. package/dist/design-system/p-BYf-ybt2.js.map +1 -0
  108. package/dist/design-system/p-D8LjiNqp.js +2 -0
  109. package/dist/design-system/{p-DMW6VeLX.js.map → p-D8LjiNqp.js.map} +1 -1
  110. package/dist/design-system/{p-DVhJrGoi.js → p-DON0UcbL.js} +2 -2
  111. package/dist/design-system/p-DON0UcbL.js.map +1 -0
  112. package/dist/design-system/{p-c87c465b.entry.js → p-acf8aec2.entry.js} +2 -2
  113. package/dist/design-system/{p-912c7a8d.entry.js → p-b24ace19.entry.js} +2 -2
  114. package/dist/design-system/{p-8b2b47a7.entry.js → p-b2516c36.entry.js} +2 -2
  115. package/dist/design-system/p-cb0d8ecc.entry.js +2 -0
  116. package/dist/design-system/p-cb0d8ecc.entry.js.map +1 -0
  117. package/dist/design-system/{p-97dbc008.entry.js → p-d4395043.entry.js} +2 -2
  118. package/dist/design-system/{p-5db3252c.entry.js → p-dfbbde69.entry.js} +2 -2
  119. package/dist/design-system/{p-682cf57d.entry.js → p-ef6a088a.entry.js} +2 -2
  120. package/dist/design-system/sd-badge.entry.esm.js.map +1 -0
  121. package/dist/design-system/sd-button.sd-guide.sd-icon.sd-portal.entry.esm.js.map +1 -1
  122. package/dist/esm/design-system.js +4 -4
  123. package/dist/esm/design-system.js.map +1 -1
  124. package/dist/esm/{index-DVhJrGoi.js → index-DON0UcbL.js} +5 -7
  125. package/dist/esm/index-DON0UcbL.js.map +1 -0
  126. package/dist/esm/index.js +1 -114
  127. package/dist/esm/index.js.map +1 -1
  128. package/dist/esm/loader.js +3 -3
  129. package/dist/esm/resolveColor-BYf-ybt2.js +269 -0
  130. package/dist/esm/resolveColor-BYf-ybt2.js.map +1 -0
  131. package/dist/esm/sd-badge.entry.js +21 -0
  132. package/dist/esm/sd-badge.entry.js.map +1 -0
  133. package/dist/esm/sd-button.sd-guide.sd-icon.sd-portal.entry.js.map +1 -1
  134. package/dist/esm/sd-button_4.entry.js +49 -313
  135. package/dist/esm/sd-checkbox.entry.js +2 -2
  136. package/dist/esm/sd-date-box_2.entry.js +3 -3
  137. package/dist/esm/sd-date-picker.entry.js +3 -3
  138. package/dist/esm/sd-date-range-picker.entry.js +3 -3
  139. package/dist/esm/sd-pagination_2.entry.js +6 -6
  140. package/dist/esm/sd-popover.entry.js +4 -4
  141. package/dist/esm/sd-select-option.entry.js +2 -2
  142. package/dist/esm/sd-select.entry.js +1 -1
  143. package/dist/esm/sd-table.entry.js +1 -1
  144. package/dist/esm/sd-tag.entry.js +1 -1
  145. package/dist/esm/sd-tooltip-portal.entry.js +2 -2
  146. package/dist/esm/{tooltipArrow-BZiofDi8.js → tooltipArrow-Dv8Sb6cw.js} +3 -3
  147. package/dist/esm/{tooltipArrow-BZiofDi8.js.map → tooltipArrow-Dv8Sb6cw.js.map} +1 -1
  148. package/dist/types/components/sd-badge/sd-badge.d.ts +6 -0
  149. package/dist/types/components.d.ts +37 -0
  150. package/dist/types/index.d.ts +0 -2
  151. package/dist/types/stencil-public-runtime.d.ts +1 -1
  152. package/hydrate/index.js +69 -40
  153. package/hydrate/index.mjs +69 -40
  154. package/package.json +2 -2
  155. package/dist/cjs/index-Cbd_FIth.js +0 -21891
  156. package/dist/cjs/index-Cbd_FIth.js.map +0 -1
  157. package/dist/cjs/index-DoEgM-7l.js +0 -2586
  158. package/dist/cjs/index-DoEgM-7l.js.map +0 -1
  159. package/dist/cjs/index-iB3JlG0y.js.map +0 -1
  160. package/dist/collection/utils/next-hydrate.js +0 -52
  161. package/dist/collection/utils/next-hydrate.js.map +0 -1
  162. package/dist/collection/utils/next-react-wrapper.js +0 -61
  163. package/dist/collection/utils/next-react-wrapper.js.map +0 -1
  164. package/dist/components/p-B0--8AFP.js.map +0 -1
  165. package/dist/components/p-BjTJkvEh.js +0 -21889
  166. package/dist/components/p-BjTJkvEh.js.map +0 -1
  167. package/dist/components/p-Cwa0Scin.js.map +0 -1
  168. package/dist/components/p-D_I5tXD6.js.map +0 -1
  169. package/dist/components/p-dBol_ZO8.js +0 -2584
  170. package/dist/components/p-dBol_ZO8.js.map +0 -1
  171. package/dist/design-system/p-997af0ed.entry.js +0 -2
  172. package/dist/design-system/p-BjTJkvEh.js +0 -23
  173. package/dist/design-system/p-BjTJkvEh.js.map +0 -1
  174. package/dist/design-system/p-DMW6VeLX.js +0 -2
  175. package/dist/design-system/p-DVhJrGoi.js.map +0 -1
  176. package/dist/design-system/p-dBol_ZO8.js +0 -3
  177. package/dist/design-system/p-dBol_ZO8.js.map +0 -1
  178. package/dist/design-system/p-e40ff66a.entry.js +0 -2
  179. package/dist/design-system/p-e40ff66a.entry.js.map +0 -1
  180. package/dist/esm/index-BjTJkvEh.js +0 -21889
  181. package/dist/esm/index-BjTJkvEh.js.map +0 -1
  182. package/dist/esm/index-DVhJrGoi.js.map +0 -1
  183. package/dist/esm/index-dBol_ZO8.js +0 -2584
  184. package/dist/esm/index-dBol_ZO8.js.map +0 -1
  185. package/dist/types/utils/next-hydrate.d.ts +0 -18
  186. package/dist/types/utils/next-react-wrapper.d.ts +0 -23
  187. /package/dist/design-system/{p-12aaaa03.entry.js.map → p-1c85c36d.entry.js.map} +0 -0
  188. /package/dist/design-system/{p-7e33f5e5.entry.js.map → p-8ac68037.entry.js.map} +0 -0
  189. /package/dist/design-system/{p-1f393066.entry.js.map → p-97900de1.entry.js.map} +0 -0
  190. /package/dist/design-system/{p-2bb928fc.entry.js.map → p-9cc14b6e.entry.js.map} +0 -0
  191. /package/dist/design-system/{p-c87c465b.entry.js.map → p-acf8aec2.entry.js.map} +0 -0
  192. /package/dist/design-system/{p-912c7a8d.entry.js.map → p-b24ace19.entry.js.map} +0 -0
  193. /package/dist/design-system/{p-8b2b47a7.entry.js.map → p-b2516c36.entry.js.map} +0 -0
  194. /package/dist/design-system/{p-97dbc008.entry.js.map → p-d4395043.entry.js.map} +0 -0
  195. /package/dist/design-system/{p-5db3252c.entry.js.map → p-dfbbde69.entry.js.map} +0 -0
  196. /package/dist/design-system/{p-682cf57d.entry.js.map → p-ef6a088a.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"p-Cwa0Scin.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-button/sd-button.scss?tag=sd-button&encapsulation=scoped","src/components/sd-button/sd-button.tsx"],"sourcesContent":["@import '../../styles/global.scss';\r\n\r\n.sd-button {\r\n text-decoration: none;\r\n cursor: pointer;\r\n border-radius: 4px;\r\n transition: all 0.2s ease-in-out;\r\n position: relative;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n box-sizing: border-box;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n &--xs {\r\n padding: 0 8px;\r\n font-size: 12px;\r\n font-weight: 500;\r\n line-height: 20px;\r\n min-height: 24px;\r\n }\r\n &--sm {\r\n padding: 0 12px;\r\n font-size: 12px;\r\n font-weight: 500;\r\n line-height: 20px;\r\n min-height: 28px;\r\n }\r\n &--md {\r\n padding: 0 20px;\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 26px;\r\n min-height: 34px;\r\n }\r\n &--lg {\r\n padding: 0 28px;\r\n font-size: 18px;\r\n font-weight: 500;\r\n line-height: 30px;\r\n min-height: 62px;\r\n }\r\n &--primary {\r\n background-color: var(--button-color);\r\n color: white;\r\n transition: filter 0.2s ease;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: #000000;\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.25;\r\n }\r\n }\r\n\r\n &--outline {\r\n background-color: white;\r\n border: 1px solid var(--button-color);\r\n color: var(--button-color);\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: var(--button-color);\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.15;\r\n }\r\n\r\n .sd-button__content {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n &--ghost {\r\n background-color: transparent;\r\n color: var(--button-color);\r\n border-color: transparent;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: var(--button-color);\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.15;\r\n }\r\n\r\n .sd-button__content {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n &--disabled {\r\n border: 1px solid $grey_45;\r\n background: $grey_30;\r\n color: $grey_65;\r\n cursor: not-allowed !important;\r\n }\r\n &--icon-only {\r\n padding: 0;\r\n width: fit-content;\r\n height: fit-content;\r\n aspect-ratio: 1 / 1;\r\n }\r\n &--no-hover {\r\n &:hover::before {\r\n opacity: 0 !important;\r\n }\r\n }\r\n\r\n .sd-button__content {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n\r\n z-index: 1;\r\n font-weight: 500;\r\n }\r\n}\r\n\r\n// /* Focus styles */\r\n// .sd-button:focus-visible {\r\n// outline: 2px solid $primary;\r\n// outline-offset: 2px;\r\n// }\r\n\r\n// /* High contrast mode support */\r\n// @media (prefers-contrast: high) {\r\n// .sd-button {\r\n// border-width: 2px;\r\n// }\r\n// }\r\n","import { Component, Prop, h, Element, Event, EventEmitter, Host } from '@stencil/core';\r\nimport { resolveColor } from '../../utils/color';\r\n\r\nexport type ButtonVariant = 'primary' | 'outline' | 'ghost';\r\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\r\n\r\nconst ICON_SIZES: { [key in ButtonSize]: number } = {\r\n xs: 12,\r\n sm: 16,\r\n md: 20,\r\n lg: 24,\r\n};\r\n\r\n@Component({\r\n tag: 'sd-button',\r\n styleUrl: 'sd-button.scss',\r\n scoped: true,\r\n})\r\nexport class SdButton {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() variant?: ButtonVariant = 'primary';\r\n @Prop() size: ButtonSize = 'sm';\r\n @Prop() color: string = '#025497';\r\n @Prop() label: string = '';\r\n @Prop() disabled: boolean = false;\r\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\r\n @Prop() icon?: IconName;\r\n @Prop() iconColor?: string;\r\n @Prop() iconSize?: number;\r\n @Prop() iconRight?: IconName;\r\n @Prop() noHover: boolean = false;\r\n\r\n @Prop() buttonStyle: StyleProps = {};\r\n @Prop() iconStyle: StyleProps = {};\r\n\r\n @Event() sdClick!: EventEmitter<MouseEvent>;\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return;\r\n }\r\n this.sdClick.emit(event);\r\n };\r\n\r\n private getButtonClasses(): string {\r\n const classes = ['sd-button'];\r\n\r\n classes.push(`sd-button--${this.variant}`);\r\n classes.push(`sd-button--${this.size}`);\r\n classes.push(`sd-button--color-${this.color}`);\r\n\r\n if (this.disabled) {\r\n classes.push('sd-button--disabled');\r\n }\r\n\r\n if (!this.label && (this.icon || this.iconRight)) {\r\n classes.push('sd-button--icon-only');\r\n }\r\n\r\n if (this.noHover) {\r\n classes.push('sd-button--no-hover');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n render() {\r\n const buttonClasses = this.getButtonClasses();\r\n // 유틸로 색상 키 -> HEX 매핑 (없으면 원본 그대로)\r\n const resolvedColor = resolveColor(this.color);\r\n\r\n return (\r\n <Host>\r\n <button\r\n class={buttonClasses}\r\n type={this.type}\r\n disabled={this.disabled}\r\n onClick={this.handleClick}\r\n style={{ '--button-color': resolvedColor, ...this.buttonStyle }}\r\n >\r\n <div class=\"sd-button__content\">\r\n {this.icon && (\r\n <sd-icon\r\n class=\"sd-button__icon sd-button__icon--left\"\r\n name={this.icon}\r\n size={this.iconSize ? this.iconSize : ICON_SIZES[this.size!]}\r\n color={\r\n this.iconColor ? this.iconColor : this.variant === 'primary' ? '#fff' : resolvedColor\r\n }\r\n ></sd-icon>\r\n )}\r\n\r\n {this.label && <div class=\"sd-button__label\">{this.label}</div>}\r\n\r\n {this.iconRight && (\r\n <sd-icon\r\n class=\"sd-button__icon sd-button__icon--right\"\r\n name={this.iconRight}\r\n size={ICON_SIZES[this.size!]}\r\n color={this.variant === 'primary' ? '#fff' : resolvedColor}\r\n ></sd-icon>\r\n )}\r\n </div>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}