@iyulab/components 0.1.7 → 0.1.9

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 (276) hide show
  1. package/CHANGELOG.md +49 -19
  2. package/LICENSE +20 -20
  3. package/README.md +26 -33
  4. package/dist/assets/icons/arrow-clockwise.svg.js +1 -1
  5. package/dist/assets/icons/arrow-down.svg.js +1 -1
  6. package/dist/assets/icons/arrow-up.svg.js +1 -1
  7. package/dist/assets/icons/ban.svg.js +1 -1
  8. package/dist/assets/icons/bell-fill.svg.js +1 -1
  9. package/dist/assets/icons/check-circle-fill.svg.js +1 -1
  10. package/dist/assets/icons/check-lg.svg.js +1 -1
  11. package/dist/assets/icons/chevron-down.svg.js +1 -1
  12. package/dist/assets/icons/chevron-left.svg.js +1 -1
  13. package/dist/assets/icons/chevron-right.svg.js +1 -1
  14. package/dist/assets/icons/chevron-up.svg.js +1 -1
  15. package/dist/assets/icons/copy.svg.js +1 -1
  16. package/dist/assets/icons/dash-lg.svg.js +1 -1
  17. package/dist/assets/icons/exclamation-circle-fill.svg.js +1 -1
  18. package/dist/assets/icons/exclamation-triangle-fill.svg.js +1 -1
  19. package/dist/assets/icons/eye-slash.svg.js +1 -1
  20. package/dist/assets/icons/eye.svg.js +1 -1
  21. package/dist/assets/icons/info-circle-fill.svg.js +1 -1
  22. package/dist/assets/icons/layout-sidebar.svg.js +1 -1
  23. package/dist/assets/icons/lightbulb-fill.svg.js +1 -1
  24. package/dist/assets/icons/lightbulb-off.svg.js +1 -1
  25. package/dist/assets/icons/lightbulb.svg.js +1 -1
  26. package/dist/assets/icons/mic-fill.svg.js +1 -1
  27. package/dist/assets/icons/mic-mute-fill.svg.js +1 -1
  28. package/dist/assets/icons/paperclip.svg.js +1 -1
  29. package/dist/assets/icons/pencil-square.svg.js +1 -1
  30. package/dist/assets/icons/plus-lg.svg.js +1 -1
  31. package/dist/assets/icons/search.svg.js +1 -1
  32. package/dist/assets/icons/speedometer.svg.js +1 -1
  33. package/dist/assets/icons/x-lg.svg.js +1 -1
  34. package/dist/assets/styles/dark.css +129 -129
  35. package/dist/assets/styles/dark.css.js +1 -1
  36. package/dist/assets/styles/light.css +129 -129
  37. package/dist/assets/styles/light.css.js +1 -1
  38. package/dist/components/BaseElement.styles.js +1 -1
  39. package/dist/components/FloatingElement.d.ts +31 -19
  40. package/dist/components/FloatingElement.js +46 -34
  41. package/dist/components/FloatingElement.styles.js +5 -4
  42. package/dist/components/ModalElement.d.ts +70 -0
  43. package/dist/components/ModalElement.js +144 -0
  44. package/dist/components/ModalElement.styles.js +29 -0
  45. package/dist/components/alert/{Alert.d.ts → UAlert.component.d.ts} +1 -1
  46. package/dist/components/alert/{Alert.js → UAlert.component.js} +20 -18
  47. package/dist/components/alert/UAlert.d.ts +8 -0
  48. package/dist/components/alert/UAlert.js +5 -0
  49. package/dist/components/alert/{Alert.styles.js → UAlert.styles.js} +1 -3
  50. package/dist/components/button/{Button.d.ts → UButton.component.d.ts} +1 -1
  51. package/dist/components/button/{Button.js → UButton.component.js} +7 -7
  52. package/dist/components/button/UButton.d.ts +7 -0
  53. package/dist/components/button/UButton.js +5 -0
  54. package/dist/components/dialog/UDialog.component.d.ts +15 -0
  55. package/dist/components/dialog/UDialog.component.js +65 -0
  56. package/dist/components/dialog/UDialog.d.ts +7 -0
  57. package/dist/components/dialog/UDialog.js +5 -0
  58. package/dist/components/dialog/{Dialog.styles.js → UDialog.styles.js} +14 -29
  59. package/dist/components/divider/{Divider.d.ts → UDivider.component.d.ts} +1 -1
  60. package/dist/components/divider/{Divider.js → UDivider.component.js} +6 -6
  61. package/dist/components/divider/UDivider.d.ts +7 -0
  62. package/dist/components/divider/UDivider.js +5 -0
  63. package/dist/components/drawer/UDrawer.component.d.ts +16 -0
  64. package/dist/components/drawer/UDrawer.component.js +59 -0
  65. package/dist/components/drawer/UDrawer.d.ts +8 -0
  66. package/dist/components/drawer/UDrawer.js +5 -0
  67. package/dist/components/drawer/UDrawer.styles.js +82 -0
  68. package/dist/components/form/{Form.d.ts → UForm.component.d.ts} +2 -2
  69. package/dist/components/form/{Form.js → UForm.component.js} +14 -12
  70. package/dist/components/form/UForm.d.ts +7 -0
  71. package/dist/components/form/UForm.js +5 -0
  72. package/dist/components/icon/{Icon.d.ts → UIcon.component.d.ts} +5 -4
  73. package/dist/components/icon/{Icon.js → UIcon.component.js} +9 -10
  74. package/dist/components/icon/UIcon.d.ts +8 -0
  75. package/dist/components/icon/UIcon.js +5 -0
  76. package/dist/components/icon-button/{IconButton.d.ts → UIconButton.component.d.ts} +3 -2
  77. package/dist/components/icon-button/{IconButton.js → UIconButton.component.js} +15 -15
  78. package/dist/components/icon-button/UIconButton.d.ts +7 -0
  79. package/dist/components/icon-button/UIconButton.js +5 -0
  80. package/dist/components/input/{Input.d.ts → UInput.component.d.ts} +14 -10
  81. package/dist/components/input/{Input.js → UInput.component.js} +71 -76
  82. package/dist/components/input/UInput.d.ts +7 -0
  83. package/dist/components/input/UInput.js +5 -0
  84. package/dist/components/input/{Input.styles.js → UInput.styles.js} +27 -24
  85. package/dist/components/menu/UMenu.component.d.ts +70 -0
  86. package/dist/components/menu/UMenu.component.js +327 -0
  87. package/dist/components/menu/UMenu.d.ts +8 -0
  88. package/dist/components/menu/UMenu.js +5 -0
  89. package/dist/components/menu/UMenu.styles.js +39 -0
  90. package/dist/components/menu-item/UMenuItem.component.d.ts +19 -0
  91. package/dist/components/menu-item/UMenuItem.component.js +96 -0
  92. package/dist/components/menu-item/UMenuItem.d.ts +7 -0
  93. package/dist/components/menu-item/UMenuItem.js +5 -0
  94. package/dist/components/menu-item/UMenuItem.styles.js +65 -0
  95. package/dist/components/progress-bar/{ProgressBar.d.ts → UProgressBar.component.d.ts} +1 -1
  96. package/dist/components/progress-bar/{ProgressBar.js → UProgressBar.component.js} +10 -10
  97. package/dist/components/progress-bar/UProgressBar.d.ts +7 -0
  98. package/dist/components/progress-bar/UProgressBar.js +5 -0
  99. package/dist/components/progress-ring/{ProgressRing.d.ts → UProgressRing.component.d.ts} +1 -1
  100. package/dist/components/progress-ring/{ProgressRing.js → UProgressRing.component.js} +9 -9
  101. package/dist/components/progress-ring/UProgressRing.d.ts +8 -0
  102. package/dist/components/progress-ring/UProgressRing.js +5 -0
  103. package/dist/components/skeleton/USkeleton.component.d.ts +22 -0
  104. package/dist/components/skeleton/USkeleton.component.js +58 -0
  105. package/dist/components/skeleton/USkeleton.d.ts +8 -0
  106. package/dist/components/skeleton/USkeleton.js +5 -0
  107. package/dist/components/skeleton/USkeleton.styles.js +74 -0
  108. package/dist/components/spinner/{Spinner.d.ts → USpinner.component.d.ts} +1 -1
  109. package/dist/components/spinner/{Spinner.js → USpinner.component.js} +3 -3
  110. package/dist/components/spinner/USpinner.d.ts +7 -0
  111. package/dist/components/spinner/USpinner.js +5 -0
  112. package/dist/components/split-panel/{SplitPanel.d.ts → USplitPanel.component.d.ts} +1 -1
  113. package/dist/components/split-panel/{SplitPanel.js → USplitPanel.component.js} +13 -13
  114. package/dist/components/split-panel/USplitPanel.d.ts +7 -0
  115. package/dist/components/split-panel/USplitPanel.js +5 -0
  116. package/dist/components/tooltip/{Tooltip.d.ts → UTooltip.component.d.ts} +6 -7
  117. package/dist/components/tooltip/{Tooltip.js → UTooltip.component.js} +12 -16
  118. package/dist/components/tooltip/UTooltip.d.ts +7 -0
  119. package/dist/components/tooltip/UTooltip.js +5 -0
  120. package/dist/components/tooltip/{Tooltip.styles.js → UTooltip.styles.js} +1 -0
  121. package/dist/components/tree/{Tree.d.ts → UTree.component.d.ts} +4 -4
  122. package/dist/components/tree/{Tree.js → UTree.component.js} +12 -23
  123. package/dist/components/tree/UTree.d.ts +7 -0
  124. package/dist/components/tree/UTree.js +5 -0
  125. package/dist/components/tree/{Tree.styles.js → UTree.styles.js} +0 -1
  126. package/dist/components/tree-item/{TreeItem.d.ts → UTreeItem.component.d.ts} +2 -2
  127. package/dist/components/tree-item/{TreeItem.js → UTreeItem.component.js} +16 -24
  128. package/dist/components/tree-item/UTreeItem.d.ts +7 -0
  129. package/dist/components/tree-item/UTreeItem.js +5 -0
  130. package/dist/index.d.ts +28 -2
  131. package/dist/index.js +38 -42
  132. package/dist/internals/attribute-converters.d.ts +5 -3
  133. package/dist/internals/node-helpers.d.ts +9 -9
  134. package/dist/internals/node-helpers.js +2 -2
  135. package/dist/{integrations/react → react-components}/UAlert.d.ts +2 -2
  136. package/dist/{integrations/react → react-components}/UAlert.js +2 -2
  137. package/dist/{integrations/react → react-components}/UButton.d.ts +2 -2
  138. package/dist/{integrations/react → react-components}/UButton.js +2 -2
  139. package/dist/{integrations/react → react-components}/UDialog.d.ts +2 -2
  140. package/dist/{integrations/react → react-components}/UDialog.js +2 -2
  141. package/dist/{integrations/react → react-components}/UDivider.d.ts +2 -2
  142. package/dist/{integrations/react → react-components}/UDivider.js +2 -2
  143. package/dist/react-components/UDrawer.d.ts +8 -0
  144. package/dist/react-components/UDrawer.js +10 -0
  145. package/dist/{integrations/react → react-components}/UForm.d.ts +2 -2
  146. package/dist/{integrations/react → react-components}/UForm.js +2 -2
  147. package/dist/{integrations/react → react-components}/UIcon.d.ts +2 -2
  148. package/dist/{integrations/react → react-components}/UIcon.js +2 -2
  149. package/dist/{integrations/react → react-components}/UIconButton.d.ts +2 -2
  150. package/dist/{integrations/react → react-components}/UIconButton.js +2 -2
  151. package/dist/{integrations/react → react-components}/UInput.d.ts +2 -2
  152. package/dist/{integrations/react → react-components}/UInput.js +2 -2
  153. package/dist/{integrations/react → react-components}/UMenu.d.ts +2 -2
  154. package/dist/{integrations/react → react-components}/UMenu.js +2 -2
  155. package/dist/{integrations/react → react-components}/UMenuItem.d.ts +2 -2
  156. package/dist/{integrations/react → react-components}/UMenuItem.js +2 -2
  157. package/dist/{integrations/react → react-components}/UProgressBar.d.ts +2 -2
  158. package/dist/{integrations/react → react-components}/UProgressBar.js +2 -2
  159. package/dist/{integrations/react → react-components}/UProgressRing.d.ts +2 -2
  160. package/dist/{integrations/react → react-components}/UProgressRing.js +2 -2
  161. package/dist/react-components/USkeleton.d.ts +8 -0
  162. package/dist/react-components/USkeleton.js +10 -0
  163. package/dist/{integrations/react → react-components}/USpinner.d.ts +2 -2
  164. package/dist/{integrations/react → react-components}/USpinner.js +2 -2
  165. package/dist/{integrations/react → react-components}/USplitPanel.d.ts +2 -2
  166. package/dist/{integrations/react → react-components}/USplitPanel.js +2 -2
  167. package/dist/{integrations/react → react-components}/UTooltip.d.ts +2 -2
  168. package/dist/{integrations/react → react-components}/UTooltip.js +2 -2
  169. package/dist/{integrations/react → react-components}/UTree.d.ts +2 -2
  170. package/dist/{integrations/react → react-components}/UTree.js +2 -2
  171. package/dist/{integrations/react → react-components}/UTreeItem.d.ts +2 -2
  172. package/dist/{integrations/react → react-components}/UTreeItem.js +2 -2
  173. package/dist/{integrations/react → react-components}/index.d.ts +2 -3
  174. package/dist/{integrations/react → react-components}/index.js +2 -3
  175. package/dist/utilities/icons.js +1 -4
  176. package/dist/utilities/notifier.d.ts +1 -1
  177. package/dist/utilities/notifier.js +3 -3
  178. package/package.json +60 -59
  179. package/dist/components/alert/index.d.ts +0 -7
  180. package/dist/components/alert/index.js +0 -5
  181. package/dist/components/button/index.d.ts +0 -7
  182. package/dist/components/button/index.js +0 -5
  183. package/dist/components/context-menu/ContextMenu.d.ts +0 -29
  184. package/dist/components/context-menu/ContextMenu.js +0 -148
  185. package/dist/components/context-menu/ContextMenu.styles.js +0 -15
  186. package/dist/components/context-menu/index.d.ts +0 -7
  187. package/dist/components/context-menu/index.js +0 -5
  188. package/dist/components/copy-button/CopyButton.d.ts +0 -19
  189. package/dist/components/copy-button/CopyButton.js +0 -69
  190. package/dist/components/copy-button/CopyButton.styles.js +0 -17
  191. package/dist/components/copy-button/index.d.ts +0 -7
  192. package/dist/components/copy-button/index.js +0 -5
  193. package/dist/components/dialog/Dialog.d.ts +0 -37
  194. package/dist/components/dialog/Dialog.js +0 -160
  195. package/dist/components/dialog/index.d.ts +0 -7
  196. package/dist/components/dialog/index.js +0 -5
  197. package/dist/components/divider/index.d.ts +0 -7
  198. package/dist/components/divider/index.js +0 -5
  199. package/dist/components/dropdown-menu/DropdownMenu.d.ts +0 -27
  200. package/dist/components/dropdown-menu/DropdownMenu.js +0 -135
  201. package/dist/components/dropdown-menu/DropdownMenu.styles.js +0 -15
  202. package/dist/components/dropdown-menu/index.d.ts +0 -7
  203. package/dist/components/dropdown-menu/index.js +0 -5
  204. package/dist/components/form/index.d.ts +0 -7
  205. package/dist/components/form/index.js +0 -5
  206. package/dist/components/icon/index.d.ts +0 -7
  207. package/dist/components/icon/index.js +0 -5
  208. package/dist/components/icon-button/index.d.ts +0 -7
  209. package/dist/components/icon-button/index.js +0 -5
  210. package/dist/components/index.d.ts +0 -20
  211. package/dist/components/input/index.d.ts +0 -7
  212. package/dist/components/input/index.js +0 -5
  213. package/dist/components/menu/Menu.d.ts +0 -25
  214. package/dist/components/menu/Menu.js +0 -168
  215. package/dist/components/menu/Menu.styles.js +0 -21
  216. package/dist/components/menu/index.d.ts +0 -7
  217. package/dist/components/menu/index.js +0 -5
  218. package/dist/components/menu-item/MenuItem.d.ts +0 -36
  219. package/dist/components/menu-item/MenuItem.js +0 -267
  220. package/dist/components/menu-item/MenuItem.styles.js +0 -70
  221. package/dist/components/menu-item/index.d.ts +0 -7
  222. package/dist/components/menu-item/index.js +0 -5
  223. package/dist/components/progress-bar/index.d.ts +0 -7
  224. package/dist/components/progress-bar/index.js +0 -5
  225. package/dist/components/progress-ring/index.d.ts +0 -7
  226. package/dist/components/progress-ring/index.js +0 -5
  227. package/dist/components/spinner/index.d.ts +0 -7
  228. package/dist/components/spinner/index.js +0 -5
  229. package/dist/components/split-panel/index.d.ts +0 -7
  230. package/dist/components/split-panel/index.js +0 -5
  231. package/dist/components/tooltip/index.d.ts +0 -7
  232. package/dist/components/tooltip/index.js +0 -5
  233. package/dist/components/tree/index.d.ts +0 -3
  234. package/dist/components/tree/index.js +0 -5
  235. package/dist/components/tree-item/index.d.ts +0 -3
  236. package/dist/components/tree-item/index.js +0 -5
  237. package/dist/events/index.d.ts +0 -6
  238. package/dist/integrations/react/UContextMenu.d.ts +0 -8
  239. package/dist/integrations/react/UContextMenu.js +0 -10
  240. package/dist/integrations/react/UCopyButton.d.ts +0 -8
  241. package/dist/integrations/react/UCopyButton.js +0 -10
  242. package/dist/integrations/react/UDropdownMenu.d.ts +0 -8
  243. package/dist/integrations/react/UDropdownMenu.js +0 -10
  244. package/dist/internals/index.d.ts +0 -3
  245. package/dist/utilities/decorators.js +0 -28
  246. package/dist/utilities/index.d.ts +0 -5
  247. /package/dist/components/{alert/Alert.styles.d.ts → ModalElement.styles.d.ts} +0 -0
  248. /package/dist/components/{button/Button.styles.d.ts → alert/UAlert.styles.d.ts} +0 -0
  249. /package/dist/components/{context-menu/ContextMenu.styles.d.ts → button/UButton.styles.d.ts} +0 -0
  250. /package/dist/components/button/{Button.styles.js → UButton.styles.js} +0 -0
  251. /package/dist/components/{copy-button/CopyButton.styles.d.ts → dialog/UDialog.styles.d.ts} +0 -0
  252. /package/dist/components/{dialog/Dialog.styles.d.ts → divider/UDivider.styles.d.ts} +0 -0
  253. /package/dist/components/divider/{Divider.styles.js → UDivider.styles.js} +0 -0
  254. /package/dist/components/{divider/Divider.styles.d.ts → drawer/UDrawer.styles.d.ts} +0 -0
  255. /package/dist/components/{dropdown-menu/DropdownMenu.styles.d.ts → form/UForm.styles.d.ts} +0 -0
  256. /package/dist/components/form/{Form.styles.js → UForm.styles.js} +0 -0
  257. /package/dist/components/{icon-button/IconButton.styles.d.ts → icon/UIcon.styles.d.ts} +0 -0
  258. /package/dist/components/icon/{Icon.styles.js → UIcon.styles.js} +0 -0
  259. /package/dist/components/{form/Form.styles.d.ts → icon-button/UIconButton.styles.d.ts} +0 -0
  260. /package/dist/components/icon-button/{IconButton.styles.js → UIconButton.styles.js} +0 -0
  261. /package/dist/components/{icon/Icon.styles.d.ts → input/UInput.styles.d.ts} +0 -0
  262. /package/dist/components/{menu-item/MenuItem.styles.d.ts → menu/UMenu.styles.d.ts} +0 -0
  263. /package/dist/components/{input/Input.styles.d.ts → menu-item/UMenuItem.styles.d.ts} +0 -0
  264. /package/dist/components/{menu/Menu.styles.d.ts → progress-bar/UProgressBar.styles.d.ts} +0 -0
  265. /package/dist/components/progress-bar/{ProgressBar.styles.js → UProgressBar.styles.js} +0 -0
  266. /package/dist/components/{progress-bar/ProgressBar.styles.d.ts → progress-ring/UProgressRing.styles.d.ts} +0 -0
  267. /package/dist/components/progress-ring/{ProgressRing.styles.js → UProgressRing.styles.js} +0 -0
  268. /package/dist/components/{progress-ring/ProgressRing.styles.d.ts → skeleton/USkeleton.styles.d.ts} +0 -0
  269. /package/dist/components/spinner/{Spinner.styles.d.ts → USpinner.styles.d.ts} +0 -0
  270. /package/dist/components/spinner/{Spinner.styles.js → USpinner.styles.js} +0 -0
  271. /package/dist/components/split-panel/{SplitPanel.styles.d.ts → USplitPanel.styles.d.ts} +0 -0
  272. /package/dist/components/split-panel/{SplitPanel.styles.js → USplitPanel.styles.js} +0 -0
  273. /package/dist/components/tooltip/{Tooltip.styles.d.ts → UTooltip.styles.d.ts} +0 -0
  274. /package/dist/components/tree/{Tree.styles.d.ts → UTree.styles.d.ts} +0 -0
  275. /package/dist/components/tree-item/{TreeItem.styles.d.ts → UTreeItem.styles.d.ts} +0 -0
  276. /package/dist/components/tree-item/{TreeItem.styles.js → UTreeItem.styles.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { html } from 'lit';
2
2
  import { property } from 'lit/decorators.js';
3
3
  import { BaseElement } from '../BaseElement.js';
4
- import { Spinner } from '../spinner/Spinner.js';
5
- import { styles } from './Button.styles.js';
4
+ import { USpinner } from '../spinner/USpinner.component.js';
5
+ import { styles } from './UButton.styles.js';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __decorateClass = (decorators, target, key, kind) => {
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  if (result) __defProp(target, key, result);
14
14
  return result;
15
15
  };
16
- class Button extends BaseElement {
16
+ class UButton extends BaseElement {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  this.disabled = false;
@@ -24,7 +24,7 @@ class Button extends BaseElement {
24
24
  }
25
25
  static {
26
26
  this.dependencies = {
27
- "u-spinner": Spinner
27
+ "u-spinner": USpinner
28
28
  };
29
29
  }
30
30
  render() {
@@ -45,9 +45,9 @@ class Button extends BaseElement {
45
45
  }
46
46
  __decorateClass([
47
47
  property({ type: Boolean, reflect: true })
48
- ], Button.prototype, "disabled");
48
+ ], UButton.prototype, "disabled");
49
49
  __decorateClass([
50
50
  property({ type: Boolean, reflect: true })
51
- ], Button.prototype, "loading");
51
+ ], UButton.prototype, "loading");
52
52
 
53
- export { Button };
53
+ export { UButton };
@@ -0,0 +1,7 @@
1
+ import { UButton } from './UButton.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ "u-button": UButton;
5
+ }
6
+ }
7
+ export { UButton };
@@ -0,0 +1,5 @@
1
+ import { UButton } from './UButton.component.js';
2
+
3
+ UButton.define("u-button");
4
+
5
+ export { UButton };
@@ -0,0 +1,15 @@
1
+ import { BaseElement } from '../BaseElement.js';
2
+ import { ModalElement } from '../ModalElement.js';
3
+ /**
4
+ * Dialog 컴포넌트는 모달 대화상자를 제공합니다.
5
+ * 오버레이와 함께 화면 중앙에 표시되며, 헤더, 본문, 푸터 영역을 슬롯으로 제공합니다.
6
+ */
7
+ export declare class UDialog extends ModalElement {
8
+ static styles: import('lit').CSSResultGroup[];
9
+ static dependencies: Record<string, typeof BaseElement>;
10
+ /** 타이틀 텍스트 */
11
+ heading: string;
12
+ render(): import('lit-html').TemplateResult<1>;
13
+ /** block시 진동 효과를 적용합니다. */
14
+ protected block(): Promise<void>;
15
+ }
@@ -0,0 +1,65 @@
1
+ import { html } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { ModalElement } from '../ModalElement.js';
4
+ import { UIconButton } from '../icon-button/UIconButton.component.js';
5
+ import { styles } from './UDialog.styles.js';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __decorateClass = (decorators, target, key, kind) => {
9
+ var result = void 0 ;
10
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
11
+ if (decorator = decorators[i])
12
+ result = (decorator(target, key, result) ) || result;
13
+ if (result) __defProp(target, key, result);
14
+ return result;
15
+ };
16
+ class UDialog extends ModalElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.heading = "";
20
+ }
21
+ static {
22
+ this.styles = [super.styles, styles];
23
+ }
24
+ static {
25
+ this.dependencies = {
26
+ "u-icon-button": UIconButton
27
+ };
28
+ }
29
+ render() {
30
+ return html`
31
+ <div class="dialog" part="base" ?open=${this.open}>
32
+ <div class="header" part="header" ?hidden=${!this.heading}>
33
+ <span class="title" part="title">
34
+ ${this.heading}
35
+ </span>
36
+ <u-icon-button class="close-btn" part="close-btn"
37
+ borderless
38
+ lib="internal"
39
+ name="x-lg"
40
+ @click=${() => this.hide()}
41
+ ></u-icon-button>
42
+ </div>
43
+
44
+ <div class="content" part="content" scrollable>
45
+ <slot></slot>
46
+ </div>
47
+ </div>
48
+ `;
49
+ }
50
+ /** block시 진동 효과를 적용합니다. */
51
+ async block() {
52
+ await super.block();
53
+ const dialogEl = this.renderRoot.querySelector(".dialog");
54
+ if (!dialogEl) return;
55
+ dialogEl.setAttribute("shake", "");
56
+ setTimeout(() => {
57
+ dialogEl.removeAttribute("shake");
58
+ }, 500);
59
+ }
60
+ }
61
+ __decorateClass([
62
+ property({ type: String })
63
+ ], UDialog.prototype, "heading");
64
+
65
+ export { UDialog };
@@ -0,0 +1,7 @@
1
+ import { UDialog } from './UDialog.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'u-dialog': UDialog;
5
+ }
6
+ }
7
+ export { UDialog };
@@ -0,0 +1,5 @@
1
+ import { UDialog } from './UDialog.component.js';
2
+
3
+ UDialog.define("u-dialog");
4
+
5
+ export { UDialog };
@@ -2,25 +2,9 @@ import { css } from 'lit';
2
2
 
3
3
  const styles = css`
4
4
  :host {
5
- position: fixed;
6
- z-index: 9999;
7
- top: 0;
8
- bottom: 0;
9
- left: 0;
10
- right: 0;
11
5
  display: flex;
12
6
  align-items: center;
13
7
  justify-content: center;
14
- background: transparent;
15
- visibility: hidden;
16
- pointer-events: none;
17
- }
18
- :host([open]) {
19
- visibility: visible;
20
- pointer-events: auto;
21
- }
22
- :host([modal]) {
23
- background: var(--u-overlay-bg-color);
24
8
  }
25
9
 
26
10
  .dialog {
@@ -31,11 +15,17 @@ const styles = css`
31
15
  padding: 20px;
32
16
  border: 1px solid var(--u-border-color);
33
17
  border-radius: 6px;
34
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
35
18
  background: var(--u-panel-bg-color);
36
- overflow: auto;
19
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
20
+ opacity: 0;
21
+ transform: scale(0.9);
22
+ transition: opacity 0.3s ease, transform 0.3s ease;
23
+ }
24
+ .dialog[open] {
25
+ opacity: 1;
26
+ transform: scale(1);
37
27
  }
38
- .dialog.shake {
28
+ .dialog[shake] {
39
29
  animation: shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97);
40
30
  }
41
31
 
@@ -52,16 +42,11 @@ const styles = css`
52
42
  font-weight: 600;
53
43
  }
54
44
 
55
- /* 페이드 인 및 스케일 업 애니메이션 */
56
- @keyframes fadeout {
57
- 0% {
58
- opacity: 0;
59
- transform: scale(0.9);
60
- }
61
- 100% {
62
- opacity: 1;
63
- transform: scale(1);
64
- }
45
+ .content {
46
+ display: block;
47
+ max-width: calc(90vw - 40px);
48
+ max-height: calc(90vh - 100px);
49
+ overflow: auto;
65
50
  }
66
51
 
67
52
  /* 진동 애니메이션 */
@@ -3,7 +3,7 @@ import { BaseElement } from '../BaseElement.js';
3
3
  /**
4
4
  * Divider 컴포넌트는 엘리먼트 사이에 움직임이 가능한 구분선을 제공합니다.
5
5
  */
6
- export declare class Divider extends BaseElement {
6
+ export declare class UDivider extends BaseElement {
7
7
  static styles: import('lit').CSSResultGroup[];
8
8
  static dependencies: Record<string, typeof BaseElement>;
9
9
  /** 마지막 마우스 포인터 위치를 저장합니다. */
@@ -1,7 +1,7 @@
1
1
  import { html, nothing } from 'lit';
2
2
  import { state, property } from 'lit/decorators.js';
3
3
  import { BaseElement } from '../BaseElement.js';
4
- import { styles } from './Divider.styles.js';
4
+ import { styles } from './UDivider.styles.js';
5
5
 
6
6
  var __defProp = Object.defineProperty;
7
7
  var __decorateClass = (decorators, target, key, kind) => {
@@ -12,7 +12,7 @@ var __decorateClass = (decorators, target, key, kind) => {
12
12
  if (result) __defProp(target, key, result);
13
13
  return result;
14
14
  };
15
- class Divider extends BaseElement {
15
+ class UDivider extends BaseElement {
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  /** 마지막 마우스 포인터 위치를 저장합니다. */
@@ -78,12 +78,12 @@ class Divider extends BaseElement {
78
78
  }
79
79
  __decorateClass([
80
80
  state()
81
- ], Divider.prototype, "moving");
81
+ ], UDivider.prototype, "moving");
82
82
  __decorateClass([
83
83
  property({ type: String, reflect: true })
84
- ], Divider.prototype, "orientation");
84
+ ], UDivider.prototype, "orientation");
85
85
  __decorateClass([
86
86
  property({ type: Boolean, reflect: true })
87
- ], Divider.prototype, "movable");
87
+ ], UDivider.prototype, "movable");
88
88
 
89
- export { Divider };
89
+ export { UDivider };
@@ -0,0 +1,7 @@
1
+ import { UDivider } from './UDivider.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'u-divider': UDivider;
5
+ }
6
+ }
7
+ export { UDivider };
@@ -0,0 +1,5 @@
1
+ import { UDivider } from './UDivider.component.js';
2
+
3
+ UDivider.define("u-divider");
4
+
5
+ export { UDivider };
@@ -0,0 +1,16 @@
1
+ import { BaseElement } from '../BaseElement.js';
2
+ import { ModalElement } from '../ModalElement.js';
3
+ export type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
4
+ /**
5
+ * Drawer 컴포넌트는 화면 가장자리에서 슬라이드하여 나타나는 패널을 제공합니다.
6
+ * 네비게이션, 설정 패널, 상세 정보 표시 등에 사용됩니다.
7
+ */
8
+ export declare class UDrawer extends ModalElement {
9
+ static styles: import('lit').CSSResultGroup[];
10
+ static dependencies: Record<string, typeof BaseElement>;
11
+ /** 드로어가 나타나는 위치 */
12
+ placement: DrawerPlacement;
13
+ /** 타이틀 텍스트 */
14
+ heading: string;
15
+ render(): import('lit-html').TemplateResult<1>;
16
+ }
@@ -0,0 +1,59 @@
1
+ import { html } from 'lit';
2
+ import { property } from 'lit/decorators.js';
3
+ import { ModalElement } from '../ModalElement.js';
4
+ import { UIconButton } from '../icon-button/UIconButton.component.js';
5
+ import { styles } from './UDrawer.styles.js';
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __decorateClass = (decorators, target, key, kind) => {
9
+ var result = void 0 ;
10
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
11
+ if (decorator = decorators[i])
12
+ result = (decorator(target, key, result) ) || result;
13
+ if (result) __defProp(target, key, result);
14
+ return result;
15
+ };
16
+ class UDrawer extends ModalElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.placement = "left";
20
+ this.heading = "";
21
+ }
22
+ static {
23
+ this.styles = [super.styles, styles];
24
+ }
25
+ static {
26
+ this.dependencies = {
27
+ "u-icon-button": UIconButton
28
+ };
29
+ }
30
+ render() {
31
+ return html`
32
+ <div class="drawer" part="base" ?open=${this.open} placement=${this.placement}>
33
+ <div class="header" part="header" ?hidden=${!this.heading}>
34
+ <span class="title" part="title">
35
+ ${this.heading}
36
+ </span>
37
+ <u-icon-button class="close-btn" part="close-btn"
38
+ borderless
39
+ lib="internal"
40
+ name="x-lg"
41
+ @click=${() => this.hide()}
42
+ ></u-icon-button>
43
+ </div>
44
+
45
+ <div class="content" part="content" scrollable>
46
+ <slot></slot>
47
+ </div>
48
+ </div>
49
+ `;
50
+ }
51
+ }
52
+ __decorateClass([
53
+ property({ type: String, reflect: true })
54
+ ], UDrawer.prototype, "placement");
55
+ __decorateClass([
56
+ property({ type: String })
57
+ ], UDrawer.prototype, "heading");
58
+
59
+ export { UDrawer };
@@ -0,0 +1,8 @@
1
+ import { UDrawer } from './UDrawer.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'u-drawer': UDrawer;
5
+ }
6
+ }
7
+ export { UDrawer };
8
+ export type { DrawerPlacement } from './UDrawer.component.js';
@@ -0,0 +1,5 @@
1
+ import { UDrawer } from './UDrawer.component.js';
2
+
3
+ UDrawer.define("u-drawer");
4
+
5
+ export { UDrawer };
@@ -0,0 +1,82 @@
1
+ import { css } from 'lit';
2
+
3
+ const styles = css`
4
+ :host {
5
+ display: flex;
6
+ align-items: stretch;
7
+ }
8
+ :host([placement="left"]) {
9
+ flex-direction: row;
10
+ justify-content: flex-start;
11
+ }
12
+ :host([placement="right"]) {
13
+ flex-direction: row;
14
+ justify-content: flex-end;
15
+ }
16
+ :host([placement="top"]) {
17
+ flex-direction: column;
18
+ justify-content: flex-start;
19
+ }
20
+ :host([placement="bottom"]) {
21
+ flex-direction: column;
22
+ justify-content: flex-end;
23
+ }
24
+
25
+ .drawer {
26
+ position: relative;
27
+ display: flex;
28
+ flex-direction: column;
29
+ max-width: 100vw;
30
+ max-height: 100vh;
31
+ padding: 20px;
32
+ background: var(--u-panel-bg-color);
33
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
34
+ transition: transform 0.3s ease;
35
+ }
36
+ .drawer[placement="left"] {
37
+ border-right: 1px solid var(--u-border-color);
38
+ transform: translateX(-100%);
39
+ }
40
+ .drawer[placement="right"] {
41
+ border-left: 1px solid var(--u-border-color);
42
+ transform: translateX(100%);
43
+ }
44
+ .drawer[placement="top"] {
45
+ border-bottom: 1px solid var(--u-border-color);
46
+ transform: translateY(-100%);
47
+ }
48
+ .drawer[placement="bottom"] {
49
+ border-top: 1px solid var(--u-border-color);
50
+ transform: translateY(100%);
51
+ }
52
+ .drawer[open][placement="left"],
53
+ .drawer[open][placement="right"] {
54
+ transform: translateX(0);
55
+ }
56
+ .drawer[open][placement="top"],
57
+ .drawer[open][placement="bottom"] {
58
+ transform: translateY(0);
59
+ }
60
+
61
+ .header {
62
+ display: flex;
63
+ flex-direction: row;
64
+ align-items: center;
65
+ justify-content: space-between;
66
+ font-size: 20px;
67
+ margin-bottom: 20px;
68
+ }
69
+ .header .title {
70
+ line-height: 1.2;
71
+ font-weight: 600;
72
+ }
73
+
74
+ .content {
75
+ display: block;
76
+ max-width: calc(100vw - 40px);
77
+ max-height: calc(100vh - 100px);
78
+ overflow: auto;
79
+ }
80
+ `;
81
+
82
+ export { styles };
@@ -3,7 +3,7 @@ import { BaseElement } from '../BaseElement.js';
3
3
  * Form 컴포넌트는 여러 입력 요소를 그룹화하고 관리하는 폼 컨테이너입니다.
4
4
  * 폼 내의 입력 요소들의 값 변경을 감지하고, 포함 및 제외 규칙에 따라 폼 컨텍스트에 데이터를 자동으로 업데이트합니다.
5
5
  */
6
- export declare class Form extends BaseElement {
6
+ export declare class UForm extends BaseElement {
7
7
  static styles: import('lit').CSSResultGroup[];
8
8
  static dependencies: Record<string, typeof BaseElement>;
9
9
  /** 포함할 입력 요소의 name 속성 목록입니다. */
@@ -20,5 +20,5 @@ export declare class Form extends BaseElement {
20
20
  */
21
21
  validate(): boolean;
22
22
  /** 입력 요소의 변경 이벤트를 처리합니다. */
23
- private handleChange;
23
+ private handleInputChange;
24
24
  }
@@ -2,8 +2,8 @@ import { html } from 'lit';
2
2
  import { property } from 'lit/decorators.js';
3
3
  import { arrayAttributeConverter } from '../../internals/attribute-converters.js';
4
4
  import { BaseElement } from '../BaseElement.js';
5
- import { Input } from '../input/Input.js';
6
- import { styles } from './Form.styles.js';
5
+ import { UInput } from '../input/UInput.component.js';
6
+ import { styles } from './UForm.styles.js';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __decorateClass = (decorators, target, key, kind) => {
@@ -14,13 +14,13 @@ var __decorateClass = (decorators, target, key, kind) => {
14
14
  if (result) __defProp(target, key, result);
15
15
  return result;
16
16
  };
17
- class Form extends BaseElement {
17
+ class UForm extends BaseElement {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  this.includes = [];
21
21
  this.excludes = [];
22
22
  /** 입력 요소의 변경 이벤트를 처리합니다. */
23
- this.handleChange = (e) => {
23
+ this.handleInputChange = (e) => {
24
24
  const input = e.target;
25
25
  const name = input.name;
26
26
  const value = input.value;
@@ -40,10 +40,10 @@ class Form extends BaseElement {
40
40
  }
41
41
  connectedCallback() {
42
42
  super.connectedCallback();
43
- this.addEventListener("change", this.handleChange);
43
+ this.addEventListener("change", this.handleInputChange);
44
44
  }
45
45
  disconnectedCallback() {
46
- this.removeEventListener("change", this.handleChange);
46
+ this.removeEventListener("change", this.handleInputChange);
47
47
  super.disconnectedCallback();
48
48
  }
49
49
  render() {
@@ -56,19 +56,21 @@ class Form extends BaseElement {
56
56
  */
57
57
  validate() {
58
58
  const slot = this.shadowRoot?.querySelector("slot");
59
- const inputEls = slot?.assignedElements({ flatten: true }).filter((el) => el instanceof Input) || [];
60
- const isValid = Array.from(inputEls).every((input) => input.validate());
59
+ const elements = slot?.assignedElements({ flatten: true }).filter((el) => el instanceof UInput);
60
+ if (!elements) return true;
61
+ if (elements.length === 0) return true;
62
+ const isValid = Array.from(elements).every((input) => input.validate());
61
63
  return isValid;
62
64
  }
63
65
  }
64
66
  __decorateClass([
65
67
  property({ type: Array, converter: arrayAttributeConverter((v) => v) })
66
- ], Form.prototype, "includes");
68
+ ], UForm.prototype, "includes");
67
69
  __decorateClass([
68
70
  property({ type: Array, converter: arrayAttributeConverter((v) => v) })
69
- ], Form.prototype, "excludes");
71
+ ], UForm.prototype, "excludes");
70
72
  __decorateClass([
71
73
  property({ type: Object, attribute: false })
72
- ], Form.prototype, "context");
74
+ ], UForm.prototype, "context");
73
75
 
74
- export { Form };
76
+ export { UForm };
@@ -0,0 +1,7 @@
1
+ import { UForm } from './UForm.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'u-form': UForm;
5
+ }
6
+ }
7
+ export { UForm };
@@ -0,0 +1,5 @@
1
+ import { UForm } from './UForm.component.js';
2
+
3
+ UForm.define("u-form");
4
+
5
+ export { UForm };
@@ -1,18 +1,19 @@
1
1
  import { BaseElement } from '../BaseElement.js';
2
+ export type IconLibrary = "internal" | "default" | (string & {});
2
3
  /**
3
4
  * 아이콘 컴포넌트입니다. SVG 아이콘을 이름으로 불러와서 렌더링합니다.
4
5
  */
5
- export declare class Icon extends BaseElement {
6
+ export declare class UIcon extends BaseElement {
6
7
  static styles: import('lit').CSSResultGroup[];
7
8
  static dependencies: Record<string, typeof BaseElement>;
8
9
  /**
9
10
  * 사용할 아이콘 라이브러리를 지정합니다.
11
+ * - 기본 내장 라이브러리: `internal`, `default`
12
+ * - 사용자 확장 라이브러리: `icons.register()`로 등록한 라이브러리 이름
10
13
  *
11
- * - 기본 내장: "internal" | "default"
12
- * - 사용자 확장 라이브러리: icons.register()로 등록한 라이브러리 이름
13
14
  * @default "default"
14
15
  */
15
- library: "internal" | "default" | (string & {});
16
+ lib: IconLibrary;
16
17
  /**
17
18
  * 사용할 아이콘의 이름을 지정합니다.
18
19
  */
@@ -4,7 +4,7 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
4
  import { until } from 'lit/directives/until.js';
5
5
  import { BaseElement } from '../BaseElement.js';
6
6
  import { icons } from '../../utilities/icons.js';
7
- import { styles } from './Icon.styles.js';
7
+ import { styles } from './UIcon.styles.js';
8
8
 
9
9
  var __defProp = Object.defineProperty;
10
10
  var __decorateClass = (decorators, target, key, kind) => {
@@ -15,10 +15,10 @@ var __decorateClass = (decorators, target, key, kind) => {
15
15
  if (result) __defProp(target, key, result);
16
16
  return result;
17
17
  };
18
- class Icon extends BaseElement {
18
+ class UIcon extends BaseElement {
19
19
  constructor() {
20
20
  super(...arguments);
21
- this.library = "default";
21
+ this.lib = "default";
22
22
  }
23
23
  static {
24
24
  this.styles = [super.styles, styles];
@@ -27,9 +27,8 @@ class Icon extends BaseElement {
27
27
  this.dependencies = {};
28
28
  }
29
29
  render() {
30
- if (!this.name) return nothing;
31
- console.log(this.library, this.name, "icon render");
32
- return until(icons.resolve(this.library, this.name).then((html) => {
30
+ if (!this.lib || !this.name) return nothing;
31
+ return until(icons.resolve(this.lib, this.name).then((html) => {
33
32
  return this.validate(html) ? unsafeHTML(html) : nothing;
34
33
  }), nothing);
35
34
  }
@@ -49,10 +48,10 @@ class Icon extends BaseElement {
49
48
  }
50
49
  }
51
50
  __decorateClass([
52
- property({ type: String, attribute: "lib" })
53
- ], Icon.prototype, "library");
51
+ property({ type: String })
52
+ ], UIcon.prototype, "lib");
54
53
  __decorateClass([
55
54
  property({ type: String })
56
- ], Icon.prototype, "name");
55
+ ], UIcon.prototype, "name");
57
56
 
58
- export { Icon };
57
+ export { UIcon };
@@ -0,0 +1,8 @@
1
+ import { UIcon } from './UIcon.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ "u-icon": UIcon;
5
+ }
6
+ }
7
+ export { UIcon };
8
+ export type { IconLibrary } from './UIcon.component.js';
@@ -0,0 +1,5 @@
1
+ import { UIcon } from './UIcon.component.js';
2
+
3
+ UIcon.define("u-icon");
4
+
5
+ export { UIcon };
@@ -1,8 +1,9 @@
1
1
  import { BaseElement } from '../BaseElement.js';
2
+ import { IconLibrary } from '../icon/UIcon.component.js';
2
3
  /**
3
4
  * IconButton 컴포넌트는 아이콘만 표시하는 버튼입니다.
4
5
  */
5
- export declare class IconButton extends BaseElement {
6
+ export declare class UIconButton extends BaseElement {
6
7
  static styles: import('lit').CSSResultGroup[];
7
8
  static dependencies: Record<string, typeof BaseElement>;
8
9
  /** 경계선이 없는 스타일을 적용합니다. */
@@ -12,7 +13,7 @@ export declare class IconButton extends BaseElement {
12
13
  /** 버튼이 로딩 상태인지 여부를 설정합니다. 로딩 중에는 버튼이 비활성화되고 스피너가 표시됩니다. */
13
14
  loading: boolean;
14
15
  /** 아이콘 라이브러리를 지정합니다. */
15
- library: "internal" | "default" | (string & {});
16
+ lib: IconLibrary;
16
17
  /** 아이콘의 이름을 지정합니다. */
17
18
  name?: string;
18
19
  render(): import('lit-html').TemplateResult<1>;