@iyulab/components 0.1.7 → 0.1.8

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 (275) hide show
  1. package/CHANGELOG.md +42 -18
  2. package/LICENSE +20 -20
  3. package/README.md +33 -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/copy-button/{CopyButton.d.ts → UCopyButton.component.d.ts} +1 -1
  55. package/dist/components/copy-button/{CopyButton.js → UCopyButton.component.js} +10 -10
  56. package/dist/components/copy-button/UCopyButton.d.ts +7 -0
  57. package/dist/components/copy-button/UCopyButton.js +5 -0
  58. package/dist/components/dialog/UDialog.component.d.ts +15 -0
  59. package/dist/components/dialog/UDialog.component.js +65 -0
  60. package/dist/components/dialog/UDialog.d.ts +7 -0
  61. package/dist/components/dialog/UDialog.js +5 -0
  62. package/dist/components/dialog/{Dialog.styles.js → UDialog.styles.js} +14 -29
  63. package/dist/components/divider/{Divider.d.ts → UDivider.component.d.ts} +1 -1
  64. package/dist/components/divider/{Divider.js → UDivider.component.js} +6 -6
  65. package/dist/components/divider/UDivider.d.ts +7 -0
  66. package/dist/components/divider/UDivider.js +5 -0
  67. package/dist/components/drawer/UDrawer.component.d.ts +16 -0
  68. package/dist/components/drawer/UDrawer.component.js +59 -0
  69. package/dist/components/drawer/UDrawer.d.ts +8 -0
  70. package/dist/components/drawer/UDrawer.js +5 -0
  71. package/dist/components/drawer/UDrawer.styles.js +82 -0
  72. package/dist/components/form/{Form.d.ts → UForm.component.d.ts} +2 -2
  73. package/dist/components/form/{Form.js → UForm.component.js} +14 -12
  74. package/dist/components/form/UForm.d.ts +7 -0
  75. package/dist/components/form/UForm.js +5 -0
  76. package/dist/components/icon/{Icon.d.ts → UIcon.component.d.ts} +5 -4
  77. package/dist/components/icon/{Icon.js → UIcon.component.js} +9 -10
  78. package/dist/components/icon/UIcon.d.ts +8 -0
  79. package/dist/components/icon/UIcon.js +5 -0
  80. package/dist/components/icon-button/{IconButton.d.ts → UIconButton.component.d.ts} +3 -2
  81. package/dist/components/icon-button/{IconButton.js → UIconButton.component.js} +15 -15
  82. package/dist/components/icon-button/UIconButton.d.ts +7 -0
  83. package/dist/components/icon-button/UIconButton.js +5 -0
  84. package/dist/components/input/{Input.d.ts → UInput.component.d.ts} +14 -10
  85. package/dist/components/input/{Input.js → UInput.component.js} +71 -76
  86. package/dist/components/input/UInput.d.ts +7 -0
  87. package/dist/components/input/UInput.js +5 -0
  88. package/dist/components/input/{Input.styles.js → UInput.styles.js} +27 -24
  89. package/dist/components/menu/UMenu.component.d.ts +70 -0
  90. package/dist/components/menu/UMenu.component.js +327 -0
  91. package/dist/components/menu/UMenu.d.ts +8 -0
  92. package/dist/components/menu/UMenu.js +5 -0
  93. package/dist/components/menu/UMenu.styles.js +39 -0
  94. package/dist/components/menu-item/UMenuItem.component.d.ts +19 -0
  95. package/dist/components/menu-item/UMenuItem.component.js +96 -0
  96. package/dist/components/menu-item/UMenuItem.d.ts +7 -0
  97. package/dist/components/menu-item/UMenuItem.js +5 -0
  98. package/dist/components/menu-item/UMenuItem.styles.js +65 -0
  99. package/dist/components/progress-bar/{ProgressBar.d.ts → UProgressBar.component.d.ts} +1 -1
  100. package/dist/components/progress-bar/{ProgressBar.js → UProgressBar.component.js} +10 -10
  101. package/dist/components/progress-bar/UProgressBar.d.ts +7 -0
  102. package/dist/components/progress-bar/UProgressBar.js +5 -0
  103. package/dist/components/progress-ring/{ProgressRing.d.ts → UProgressRing.component.d.ts} +1 -1
  104. package/dist/components/progress-ring/{ProgressRing.js → UProgressRing.component.js} +9 -9
  105. package/dist/components/progress-ring/UProgressRing.d.ts +8 -0
  106. package/dist/components/progress-ring/UProgressRing.js +5 -0
  107. package/dist/components/skeleton/USkeleton.component.d.ts +22 -0
  108. package/dist/components/skeleton/USkeleton.component.js +58 -0
  109. package/dist/components/skeleton/USkeleton.d.ts +8 -0
  110. package/dist/components/skeleton/USkeleton.js +5 -0
  111. package/dist/components/skeleton/USkeleton.styles.js +74 -0
  112. package/dist/components/spinner/{Spinner.d.ts → USpinner.component.d.ts} +1 -1
  113. package/dist/components/spinner/{Spinner.js → USpinner.component.js} +3 -3
  114. package/dist/components/spinner/USpinner.d.ts +7 -0
  115. package/dist/components/spinner/USpinner.js +5 -0
  116. package/dist/components/split-panel/{SplitPanel.d.ts → USplitPanel.component.d.ts} +1 -1
  117. package/dist/components/split-panel/{SplitPanel.js → USplitPanel.component.js} +13 -13
  118. package/dist/components/split-panel/USplitPanel.d.ts +7 -0
  119. package/dist/components/split-panel/USplitPanel.js +5 -0
  120. package/dist/components/tooltip/{Tooltip.d.ts → UTooltip.component.d.ts} +6 -7
  121. package/dist/components/tooltip/{Tooltip.js → UTooltip.component.js} +12 -16
  122. package/dist/components/tooltip/UTooltip.d.ts +7 -0
  123. package/dist/components/tooltip/UTooltip.js +5 -0
  124. package/dist/components/tooltip/{Tooltip.styles.js → UTooltip.styles.js} +1 -0
  125. package/dist/components/tree/{Tree.d.ts → UTree.component.d.ts} +4 -4
  126. package/dist/components/tree/{Tree.js → UTree.component.js} +10 -10
  127. package/dist/components/tree/UTree.d.ts +7 -0
  128. package/dist/components/tree/UTree.js +5 -0
  129. package/dist/components/tree/UTree.styles.d.ts +1 -0
  130. package/dist/components/tree/{Tree.styles.js → UTree.styles.js} +0 -1
  131. package/dist/components/tree-item/{TreeItem.d.ts → UTreeItem.component.d.ts} +2 -2
  132. package/dist/components/tree-item/{TreeItem.js → UTreeItem.component.js} +15 -15
  133. package/dist/components/tree-item/UTreeItem.d.ts +7 -0
  134. package/dist/components/tree-item/UTreeItem.js +5 -0
  135. package/dist/index.d.ts +29 -2
  136. package/dist/index.js +40 -42
  137. package/dist/internals/attribute-converters.d.ts +5 -3
  138. package/dist/internals/node-helpers.d.ts +9 -9
  139. package/dist/internals/node-helpers.js +2 -2
  140. package/dist/utilities/icons.js +1 -4
  141. package/dist/utilities/notifier.d.ts +1 -1
  142. package/dist/utilities/notifier.js +3 -3
  143. package/package.json +60 -59
  144. package/dist/components/alert/index.d.ts +0 -7
  145. package/dist/components/alert/index.js +0 -5
  146. package/dist/components/button/index.d.ts +0 -7
  147. package/dist/components/button/index.js +0 -5
  148. package/dist/components/context-menu/ContextMenu.d.ts +0 -29
  149. package/dist/components/context-menu/ContextMenu.js +0 -148
  150. package/dist/components/context-menu/ContextMenu.styles.js +0 -15
  151. package/dist/components/context-menu/index.d.ts +0 -7
  152. package/dist/components/context-menu/index.js +0 -5
  153. package/dist/components/copy-button/index.d.ts +0 -7
  154. package/dist/components/copy-button/index.js +0 -5
  155. package/dist/components/dialog/Dialog.d.ts +0 -37
  156. package/dist/components/dialog/Dialog.js +0 -160
  157. package/dist/components/dialog/index.d.ts +0 -7
  158. package/dist/components/dialog/index.js +0 -5
  159. package/dist/components/divider/index.d.ts +0 -7
  160. package/dist/components/divider/index.js +0 -5
  161. package/dist/components/dropdown-menu/DropdownMenu.d.ts +0 -27
  162. package/dist/components/dropdown-menu/DropdownMenu.js +0 -135
  163. package/dist/components/dropdown-menu/DropdownMenu.styles.js +0 -15
  164. package/dist/components/dropdown-menu/index.d.ts +0 -7
  165. package/dist/components/dropdown-menu/index.js +0 -5
  166. package/dist/components/form/index.d.ts +0 -7
  167. package/dist/components/form/index.js +0 -5
  168. package/dist/components/icon/index.d.ts +0 -7
  169. package/dist/components/icon/index.js +0 -5
  170. package/dist/components/icon-button/index.d.ts +0 -7
  171. package/dist/components/icon-button/index.js +0 -5
  172. package/dist/components/index.d.ts +0 -20
  173. package/dist/components/input/index.d.ts +0 -7
  174. package/dist/components/input/index.js +0 -5
  175. package/dist/components/menu/Menu.d.ts +0 -25
  176. package/dist/components/menu/Menu.js +0 -168
  177. package/dist/components/menu/Menu.styles.js +0 -21
  178. package/dist/components/menu/index.d.ts +0 -7
  179. package/dist/components/menu/index.js +0 -5
  180. package/dist/components/menu-item/MenuItem.d.ts +0 -36
  181. package/dist/components/menu-item/MenuItem.js +0 -267
  182. package/dist/components/menu-item/MenuItem.styles.js +0 -70
  183. package/dist/components/menu-item/index.d.ts +0 -7
  184. package/dist/components/menu-item/index.js +0 -5
  185. package/dist/components/progress-bar/index.d.ts +0 -7
  186. package/dist/components/progress-bar/index.js +0 -5
  187. package/dist/components/progress-ring/index.d.ts +0 -7
  188. package/dist/components/progress-ring/index.js +0 -5
  189. package/dist/components/spinner/index.d.ts +0 -7
  190. package/dist/components/spinner/index.js +0 -5
  191. package/dist/components/split-panel/index.d.ts +0 -7
  192. package/dist/components/split-panel/index.js +0 -5
  193. package/dist/components/tooltip/index.d.ts +0 -7
  194. package/dist/components/tooltip/index.js +0 -5
  195. package/dist/components/tree/index.d.ts +0 -3
  196. package/dist/components/tree/index.js +0 -5
  197. package/dist/components/tree-item/index.d.ts +0 -3
  198. package/dist/components/tree-item/index.js +0 -5
  199. package/dist/events/index.d.ts +0 -6
  200. package/dist/integrations/react/UAlert.d.ts +0 -8
  201. package/dist/integrations/react/UAlert.js +0 -10
  202. package/dist/integrations/react/UButton.d.ts +0 -8
  203. package/dist/integrations/react/UButton.js +0 -10
  204. package/dist/integrations/react/UContextMenu.d.ts +0 -8
  205. package/dist/integrations/react/UContextMenu.js +0 -10
  206. package/dist/integrations/react/UCopyButton.d.ts +0 -8
  207. package/dist/integrations/react/UCopyButton.js +0 -10
  208. package/dist/integrations/react/UDialog.d.ts +0 -8
  209. package/dist/integrations/react/UDialog.js +0 -10
  210. package/dist/integrations/react/UDivider.d.ts +0 -8
  211. package/dist/integrations/react/UDivider.js +0 -10
  212. package/dist/integrations/react/UDropdownMenu.d.ts +0 -8
  213. package/dist/integrations/react/UDropdownMenu.js +0 -10
  214. package/dist/integrations/react/UForm.d.ts +0 -8
  215. package/dist/integrations/react/UForm.js +0 -10
  216. package/dist/integrations/react/UIcon.d.ts +0 -8
  217. package/dist/integrations/react/UIcon.js +0 -10
  218. package/dist/integrations/react/UIconButton.d.ts +0 -8
  219. package/dist/integrations/react/UIconButton.js +0 -10
  220. package/dist/integrations/react/UInput.d.ts +0 -8
  221. package/dist/integrations/react/UInput.js +0 -10
  222. package/dist/integrations/react/UMenu.d.ts +0 -8
  223. package/dist/integrations/react/UMenu.js +0 -10
  224. package/dist/integrations/react/UMenuItem.d.ts +0 -8
  225. package/dist/integrations/react/UMenuItem.js +0 -10
  226. package/dist/integrations/react/UProgressBar.d.ts +0 -8
  227. package/dist/integrations/react/UProgressBar.js +0 -10
  228. package/dist/integrations/react/UProgressRing.d.ts +0 -8
  229. package/dist/integrations/react/UProgressRing.js +0 -10
  230. package/dist/integrations/react/USpinner.d.ts +0 -8
  231. package/dist/integrations/react/USpinner.js +0 -10
  232. package/dist/integrations/react/USplitPanel.d.ts +0 -8
  233. package/dist/integrations/react/USplitPanel.js +0 -10
  234. package/dist/integrations/react/UTooltip.d.ts +0 -8
  235. package/dist/integrations/react/UTooltip.js +0 -10
  236. package/dist/integrations/react/UTree.d.ts +0 -8
  237. package/dist/integrations/react/UTree.js +0 -10
  238. package/dist/integrations/react/UTreeItem.d.ts +0 -8
  239. package/dist/integrations/react/UTreeItem.js +0 -10
  240. package/dist/integrations/react/index.d.ts +0 -27
  241. package/dist/integrations/react/index.js +0 -20
  242. package/dist/internals/index.d.ts +0 -3
  243. package/dist/utilities/decorators.js +0 -28
  244. package/dist/utilities/index.d.ts +0 -5
  245. /package/dist/components/{alert/Alert.styles.d.ts → ModalElement.styles.d.ts} +0 -0
  246. /package/dist/components/{button/Button.styles.d.ts → alert/UAlert.styles.d.ts} +0 -0
  247. /package/dist/components/{context-menu/ContextMenu.styles.d.ts → button/UButton.styles.d.ts} +0 -0
  248. /package/dist/components/button/{Button.styles.js → UButton.styles.js} +0 -0
  249. /package/dist/components/copy-button/{CopyButton.styles.d.ts → UCopyButton.styles.d.ts} +0 -0
  250. /package/dist/components/copy-button/{CopyButton.styles.js → UCopyButton.styles.js} +0 -0
  251. /package/dist/components/dialog/{Dialog.styles.d.ts → UDialog.styles.d.ts} +0 -0
  252. /package/dist/components/divider/{Divider.styles.d.ts → UDivider.styles.d.ts} +0 -0
  253. /package/dist/components/divider/{Divider.styles.js → UDivider.styles.js} +0 -0
  254. /package/dist/components/{dropdown-menu/DropdownMenu.styles.d.ts → drawer/UDrawer.styles.d.ts} +0 -0
  255. /package/dist/components/form/{Form.styles.d.ts → UForm.styles.d.ts} +0 -0
  256. /package/dist/components/form/{Form.styles.js → UForm.styles.js} +0 -0
  257. /package/dist/components/icon/{Icon.styles.d.ts → UIcon.styles.d.ts} +0 -0
  258. /package/dist/components/icon/{Icon.styles.js → UIcon.styles.js} +0 -0
  259. /package/dist/components/icon-button/{IconButton.styles.d.ts → UIconButton.styles.d.ts} +0 -0
  260. /package/dist/components/icon-button/{IconButton.styles.js → UIconButton.styles.js} +0 -0
  261. /package/dist/components/input/{Input.styles.d.ts → UInput.styles.d.ts} +0 -0
  262. /package/dist/components/menu/{Menu.styles.d.ts → UMenu.styles.d.ts} +0 -0
  263. /package/dist/components/menu-item/{MenuItem.styles.d.ts → UMenuItem.styles.d.ts} +0 -0
  264. /package/dist/components/progress-bar/{ProgressBar.styles.d.ts → 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-ring/{ProgressRing.styles.d.ts → UProgressRing.styles.d.ts} +0 -0
  267. /package/dist/components/progress-ring/{ProgressRing.styles.js → UProgressRing.styles.js} +0 -0
  268. /package/dist/components/{spinner/Spinner.styles.d.ts → skeleton/USkeleton.styles.d.ts} +0 -0
  269. /package/dist/components/{split-panel/SplitPanel.styles.d.ts → spinner/USpinner.styles.d.ts} +0 -0
  270. /package/dist/components/spinner/{Spinner.styles.js → USpinner.styles.js} +0 -0
  271. /package/dist/components/{tooltip/Tooltip.styles.d.ts → split-panel/USplitPanel.styles.d.ts} +0 -0
  272. /package/dist/components/split-panel/{SplitPanel.styles.js → USplitPanel.styles.js} +0 -0
  273. /package/dist/components/{tree-item/TreeItem.styles.d.ts → tooltip/UTooltip.styles.d.ts} +0 -0
  274. /package/dist/components/{tree/Tree.styles.d.ts → tree-item/UTreeItem.styles.d.ts} +0 -0
  275. /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 };
@@ -2,7 +2,7 @@ import { BaseElement } from '../BaseElement.js';
2
2
  /**
3
3
  * 복사 버튼 컴포넌트입니다.
4
4
  */
5
- export declare class CopyButton extends BaseElement {
5
+ export declare class UCopyButton extends BaseElement {
6
6
  static styles: import('lit').CSSResultGroup[];
7
7
  static dependencies: Record<string, typeof BaseElement>;
8
8
  /** 버튼의 복사 상태를 설정합니다. 복사가 완료되면 true로 변경됩니다. */
@@ -1,8 +1,8 @@
1
1
  import { html } from 'lit';
2
2
  import { state, property } from 'lit/decorators.js';
3
3
  import { BaseElement } from '../BaseElement.js';
4
- import { IconButton } from '../icon-button/IconButton.js';
5
- import { styles } from './CopyButton.styles.js';
4
+ import { UIconButton } from '../icon-button/UIconButton.component.js';
5
+ import { styles } from './UCopyButton.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 CopyButton extends BaseElement {
16
+ class UCopyButton extends BaseElement {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  this.copied = false;
@@ -37,7 +37,7 @@ class CopyButton extends BaseElement {
37
37
  }
38
38
  static {
39
39
  this.dependencies = {
40
- "u-icon-button": IconButton
40
+ "u-icon-button": UIconButton
41
41
  };
42
42
  }
43
43
  render() {
@@ -46,7 +46,7 @@ class CopyButton extends BaseElement {
46
46
  ?copied=${this.copied}
47
47
  .borderless=${this.borderless}
48
48
  .disabled=${this.disabled || this.copied}
49
- .library=${"internal"}
49
+ .lib=${"internal"}
50
50
  .name=${this.copied ? "check-lg" : "copy"}
51
51
  @click=${this.handleButtonClick}>
52
52
  </u-icon-button>
@@ -55,15 +55,15 @@ class CopyButton extends BaseElement {
55
55
  }
56
56
  __decorateClass([
57
57
  state()
58
- ], CopyButton.prototype, "copied");
58
+ ], UCopyButton.prototype, "copied");
59
59
  __decorateClass([
60
60
  property({ type: Boolean })
61
- ], CopyButton.prototype, "borderless");
61
+ ], UCopyButton.prototype, "borderless");
62
62
  __decorateClass([
63
63
  property({ type: Boolean })
64
- ], CopyButton.prototype, "disabled");
64
+ ], UCopyButton.prototype, "disabled");
65
65
  __decorateClass([
66
66
  property({ type: String })
67
- ], CopyButton.prototype, "value");
67
+ ], UCopyButton.prototype, "value");
68
68
 
69
- export { CopyButton };
69
+ export { UCopyButton };
@@ -0,0 +1,7 @@
1
+ import { UCopyButton } from './UCopyButton.component.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ "u-copy-button": UCopyButton;
5
+ }
6
+ }
7
+ export { UCopyButton };
@@ -0,0 +1,5 @@
1
+ import { UCopyButton } from './UCopyButton.component.js';
2
+
3
+ UCopyButton.define("u-copy-button");
4
+
5
+ export { UCopyButton };
@@ -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
  */