@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,69 +0,0 @@
1
- import { html } from 'lit';
2
- import { state, property } from 'lit/decorators.js';
3
- import { BaseElement } from '../BaseElement.js';
4
- import { IconButton } from '../icon-button/IconButton.js';
5
- import { styles } from './CopyButton.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 CopyButton extends BaseElement {
17
- constructor() {
18
- super(...arguments);
19
- this.copied = false;
20
- this.borderless = false;
21
- this.disabled = false;
22
- this.value = "";
23
- /** 복사 버튼 클릭 핸들러 */
24
- this.handleButtonClick = async () => {
25
- try {
26
- await navigator.clipboard.writeText(this.value);
27
- this.copied = true;
28
- this.emit("u-copy", { value: this.value });
29
- setTimeout(() => this.copied = false, 2e3);
30
- } catch (error) {
31
- console.error("Failed to copy text: ", error);
32
- }
33
- };
34
- }
35
- static {
36
- this.styles = [super.styles, styles];
37
- }
38
- static {
39
- this.dependencies = {
40
- "u-icon-button": IconButton
41
- };
42
- }
43
- render() {
44
- return html`
45
- <u-icon-button part="base"
46
- ?copied=${this.copied}
47
- .borderless=${this.borderless}
48
- .disabled=${this.disabled || this.copied}
49
- .library=${"internal"}
50
- .name=${this.copied ? "check-lg" : "copy"}
51
- @click=${this.handleButtonClick}>
52
- </u-icon-button>
53
- `;
54
- }
55
- }
56
- __decorateClass([
57
- state()
58
- ], CopyButton.prototype, "copied");
59
- __decorateClass([
60
- property({ type: Boolean })
61
- ], CopyButton.prototype, "borderless");
62
- __decorateClass([
63
- property({ type: Boolean })
64
- ], CopyButton.prototype, "disabled");
65
- __decorateClass([
66
- property({ type: String })
67
- ], CopyButton.prototype, "value");
68
-
69
- export { CopyButton };
@@ -1,17 +0,0 @@
1
- import { css } from 'lit';
2
-
3
- const styles = css`
4
- :host {
5
- display: inline-block;
6
- font-size: 16px;
7
- }
8
-
9
- u-icon-button {
10
- font-size: inherit;
11
- }
12
- u-icon-button[copied] {
13
- color: var(--u-green-600, #16a34a);
14
- }
15
- `;
16
-
17
- export { styles };
@@ -1,7 +0,0 @@
1
- import { CopyButton } from './CopyButton.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- "u-copy-button": CopyButton;
5
- }
6
- }
7
- export { CopyButton };
@@ -1,5 +0,0 @@
1
- import { CopyButton } from './CopyButton.js';
2
-
3
- CopyButton.define("u-copy-button");
4
-
5
- export { CopyButton };
@@ -1,37 +0,0 @@
1
- import { PropertyValues } from 'lit';
2
- import { BaseElement } from '../BaseElement.js';
3
- /**
4
- * Dialog 컴포넌트는 모달 대화상자를 제공합니다.
5
- * 오버레이와 함께 화면 중앙에 표시되며, 헤더, 본문, 푸터 영역을 슬롯으로 제공합니다.
6
- */
7
- export declare class Dialog extends BaseElement {
8
- static styles: import('lit').CSSResultGroup[];
9
- static dependencies: Record<string, typeof BaseElement>;
10
- dialogEl: HTMLDivElement;
11
- /** 모달 모드 활성화 (배경 차단 및 포커스 트랩) */
12
- modal: boolean;
13
- /** 다이얼로그가 열려있는지 여부 */
14
- open: boolean;
15
- /** 이벤트에 의한 다이얼로그 닫기 허용 여부 */
16
- closable: boolean;
17
- /** 타이틀 텍스트 */
18
- heading: string;
19
- connectedCallback(): void;
20
- disconnectedCallback(): void;
21
- protected updated(changedProperties: PropertyValues): void;
22
- render(): import('lit-html').TemplateResult<1>;
23
- /** 다이얼로그를 표시합니다 */
24
- show: () => Promise<void>;
25
- /** 다이얼로그를 숨깁니다 */
26
- hide: () => Promise<void>;
27
- /** 패널을 흔드는 애니메이션을 재생합니다 */
28
- private shake;
29
- /** 오버레이 클릭 핸들러 */
30
- private handleBackdropClick;
31
- /** 키보드 이벤트 핸들러 */
32
- private handleKeydown;
33
- /** 포커스 트랩 핸들러 */
34
- private handleFocusin;
35
- private updateOpenState;
36
- private updateModalState;
37
- }
@@ -1,160 +0,0 @@
1
- import { nothing, html } from 'lit';
2
- import { query, property } from 'lit/decorators.js';
3
- import { BaseElement } from '../BaseElement.js';
4
- import { IconButton } from '../icon-button/IconButton.js';
5
- import { styles } from './Dialog.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 Dialog extends BaseElement {
17
- constructor() {
18
- super(...arguments);
19
- this.modal = true;
20
- this.open = false;
21
- this.closable = true;
22
- this.heading = "";
23
- /** 다이얼로그를 표시합니다 */
24
- this.show = async () => {
25
- await this.updateComplete;
26
- requestAnimationFrame(() => {
27
- this.open = true;
28
- });
29
- };
30
- /** 다이얼로그를 숨깁니다 */
31
- this.hide = async () => {
32
- await this.updateComplete;
33
- requestAnimationFrame(() => {
34
- this.open = false;
35
- });
36
- };
37
- /** 오버레이 클릭 핸들러 */
38
- this.handleBackdropClick = (e) => {
39
- if (e.target === this) {
40
- if (this.closable) {
41
- this.hide();
42
- } else {
43
- this.shake();
44
- }
45
- }
46
- };
47
- /** 키보드 이벤트 핸들러 */
48
- this.handleKeydown = (e) => {
49
- if (e.key === "Escape" && this.open) {
50
- e.preventDefault();
51
- if (this.closable) {
52
- this.hide();
53
- } else {
54
- this.shake();
55
- }
56
- }
57
- };
58
- /** 포커스 트랩 핸들러 */
59
- this.handleFocusin = (e) => {
60
- if (!this.modal || !this.open) return;
61
- const target = e.target;
62
- if (!this.contains(target)) {
63
- e.preventDefault();
64
- this.dialogEl.focus();
65
- }
66
- };
67
- }
68
- static {
69
- this.styles = [super.styles, styles];
70
- }
71
- static {
72
- this.dependencies = {
73
- "u-icon-button": IconButton
74
- };
75
- }
76
- connectedCallback() {
77
- super.connectedCallback();
78
- this.addEventListener("click", this.handleBackdropClick);
79
- }
80
- disconnectedCallback() {
81
- window.removeEventListener("keydown", this.handleKeydown);
82
- window.removeEventListener("focusin", this.handleFocusin);
83
- super.disconnectedCallback();
84
- }
85
- updated(changedProperties) {
86
- super.updated(changedProperties);
87
- if (changedProperties.has("open")) {
88
- this.updateOpenState(this.open);
89
- }
90
- if (changedProperties.has("modal")) {
91
- this.updateModalState(this.modal);
92
- }
93
- }
94
- render() {
95
- return html`
96
- <div class="dialog scrollable" part="base" tabindex="-1">
97
-
98
- ${this.heading ? html`
99
- <div class="header" part="header">
100
- <span class="title" part="title">
101
- ${this.heading}
102
- </span>
103
- <u-icon-button class="close-btn" part="close-btn"
104
- lib="internal"
105
- name="x-lg"
106
- borderless
107
- @click=${() => this.hide()}
108
- ></u-icon-button>
109
- </div>` : nothing}
110
-
111
- <slot></slot>
112
-
113
- </div>
114
- `;
115
- }
116
- /** 패널을 흔드는 애니메이션을 재생합니다 */
117
- shake() {
118
- this.dialogEl.classList.add("shake");
119
- setTimeout(() => {
120
- this.dialogEl.classList.remove("shake");
121
- }, 500);
122
- }
123
- updateOpenState(open) {
124
- if (open) {
125
- this.emit("u-show");
126
- document.body.style.overflow = this.modal ? "hidden" : "";
127
- } else {
128
- this.emit("u-hide");
129
- document.body.style.overflow = "";
130
- }
131
- }
132
- updateModalState(modal) {
133
- if (modal) {
134
- window.addEventListener("keydown", this.handleKeydown);
135
- window.addEventListener("focusin", this.handleFocusin);
136
- document.body.style.overflow = this.open ? "hidden" : "";
137
- } else {
138
- window.removeEventListener("keydown", this.handleKeydown);
139
- window.removeEventListener("focusin", this.handleFocusin);
140
- document.body.style.overflow = "";
141
- }
142
- }
143
- }
144
- __decorateClass([
145
- query(".dialog")
146
- ], Dialog.prototype, "dialogEl");
147
- __decorateClass([
148
- property({ type: Boolean, reflect: true })
149
- ], Dialog.prototype, "modal");
150
- __decorateClass([
151
- property({ type: Boolean, reflect: true })
152
- ], Dialog.prototype, "open");
153
- __decorateClass([
154
- property({ type: Boolean })
155
- ], Dialog.prototype, "closable");
156
- __decorateClass([
157
- property({ type: String })
158
- ], Dialog.prototype, "heading");
159
-
160
- export { Dialog };
@@ -1,7 +0,0 @@
1
- import { Dialog } from './Dialog.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- 'u-dialog': Dialog;
5
- }
6
- }
7
- export { Dialog };
@@ -1,5 +0,0 @@
1
- import { Dialog } from './Dialog.js';
2
-
3
- Dialog.define("u-dialog");
4
-
5
- export { Dialog };
@@ -1,7 +0,0 @@
1
- import { Divider } from './Divider.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- 'u-divider': Divider;
5
- }
6
- }
7
- export { Divider };
@@ -1,5 +0,0 @@
1
- import { Divider } from './Divider.js';
2
-
3
- Divider.define("u-divider");
4
-
5
- export { Divider };
@@ -1,27 +0,0 @@
1
- import { PropertyValues } from 'lit';
2
- import { BaseElement } from '../BaseElement.js';
3
- import { FloatingElement } from '../FloatingElement.js';
4
- export declare class DropdownMenu extends FloatingElement {
5
- static styles: import('lit').CSSResultGroup[];
6
- static dependencies: Record<string, typeof BaseElement>;
7
- closeOnSelect: boolean;
8
- closeOnCheck: boolean;
9
- private onDocPointerDown;
10
- private onWindowBlur;
11
- private get menu();
12
- connectedCallback(): void;
13
- disconnectedCallback(): void;
14
- protected updated(changed: PropertyValues): void;
15
- render(): import('lit-html').TemplateResult<1>;
16
- show: () => Promise<void>;
17
- hide: () => Promise<void>;
18
- private attachAnchor;
19
- private detachAnchor;
20
- private onTriggerPointerDown;
21
- private onTriggerKeydown;
22
- private onSelect;
23
- private onCheck;
24
- private onRequestClose;
25
- private attachDismiss;
26
- private detachDismiss;
27
- }
@@ -1,135 +0,0 @@
1
- import { html } from 'lit';
2
- import { property } from 'lit/decorators.js';
3
- import { FloatingElement } from '../FloatingElement.js';
4
- import { Menu } from '../menu/Menu.js';
5
- import { MenuItem } from '../menu-item/MenuItem.js';
6
- import { styles } from './DropdownMenu.styles.js';
7
-
8
- var __defProp = Object.defineProperty;
9
- var __decorateClass = (decorators, target, key, kind) => {
10
- var result = void 0 ;
11
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
- if (decorator = decorators[i])
13
- result = (decorator(target, key, result) ) || result;
14
- if (result) __defProp(target, key, result);
15
- return result;
16
- };
17
- class DropdownMenu extends FloatingElement {
18
- constructor() {
19
- super(...arguments);
20
- this.closeOnSelect = true;
21
- this.closeOnCheck = false;
22
- this.onDocPointerDown = (e) => {
23
- if (!this.visible) return;
24
- const path = e.composedPath();
25
- if (path.includes(this)) return;
26
- if (this.anchor && path.includes(this.anchor)) return;
27
- this.hide();
28
- };
29
- this.onWindowBlur = () => {
30
- if (this.visible) this.hide();
31
- };
32
- this.show = async () => {
33
- this.menu && (this.menu.open = true);
34
- await super.show();
35
- await this.menu?.focusFirstItem?.();
36
- };
37
- this.hide = async () => {
38
- await super.hide();
39
- this.menu && (this.menu.open = false);
40
- this.querySelectorAll("u-menu-item").forEach((i) => i.closeSubmenu?.());
41
- };
42
- this.onTriggerPointerDown = async (e) => {
43
- if (e.button !== 0) return;
44
- if (this.visible) await this.hide();
45
- else await this.show();
46
- };
47
- this.onTriggerKeydown = async (e) => {
48
- if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
49
- e.preventDefault();
50
- if (!this.visible) await this.show();
51
- }
52
- };
53
- this.onSelect = async () => {
54
- if (this.closeOnSelect) await this.hide();
55
- };
56
- this.onCheck = async () => {
57
- if (this.closeOnCheck) await this.hide();
58
- };
59
- this.onRequestClose = async () => {
60
- await this.hide();
61
- };
62
- }
63
- static {
64
- this.styles = [super.styles, styles];
65
- }
66
- static {
67
- this.dependencies = {
68
- "u-menu": Menu,
69
- "u-menu-item": MenuItem
70
- };
71
- }
72
- get menu() {
73
- return this.querySelector("u-menu");
74
- }
75
- connectedCallback() {
76
- super.connectedCallback();
77
- this.placement ||= "bottom-start";
78
- this.distance ||= 6;
79
- this.addEventListener("u-select", this.onSelect);
80
- this.addEventListener("u-check", this.onCheck);
81
- this.addEventListener("u-request-close", this.onRequestClose);
82
- }
83
- disconnectedCallback() {
84
- this.detachAnchor(this.anchor);
85
- this.detachDismiss();
86
- this.removeEventListener("u-select", this.onSelect);
87
- this.removeEventListener("u-check", this.onCheck);
88
- this.removeEventListener("u-request-close", this.onRequestClose);
89
- super.disconnectedCallback();
90
- }
91
- updated(changed) {
92
- super.updated(changed);
93
- if (changed.has("anchor")) {
94
- this.detachAnchor(changed.get("anchor"));
95
- this.attachAnchor(this.anchor);
96
- }
97
- if (changed.has("visible")) {
98
- if (this.visible) this.attachDismiss();
99
- else this.detachDismiss();
100
- if (this.anchor) {
101
- this.anchor.setAttribute("aria-expanded", this.visible ? "true" : "false");
102
- }
103
- }
104
- }
105
- render() {
106
- return html`<slot></slot>`;
107
- }
108
- attachAnchor(target) {
109
- if (!target) return;
110
- target.setAttribute("aria-haspopup", "menu");
111
- target.addEventListener("pointerdown", this.onTriggerPointerDown);
112
- target.addEventListener("keydown", this.onTriggerKeydown);
113
- }
114
- detachAnchor(target) {
115
- if (!target) return;
116
- target.removeEventListener("pointerdown", this.onTriggerPointerDown);
117
- target.removeEventListener("keydown", this.onTriggerKeydown);
118
- }
119
- attachDismiss() {
120
- document.addEventListener("pointerdown", this.onDocPointerDown, true);
121
- window.addEventListener("blur", this.onWindowBlur);
122
- }
123
- detachDismiss() {
124
- document.removeEventListener("pointerdown", this.onDocPointerDown, true);
125
- window.removeEventListener("blur", this.onWindowBlur);
126
- }
127
- }
128
- __decorateClass([
129
- property({ type: Boolean })
130
- ], DropdownMenu.prototype, "closeOnSelect");
131
- __decorateClass([
132
- property({ type: Boolean })
133
- ], DropdownMenu.prototype, "closeOnCheck");
134
-
135
- export { DropdownMenu };
@@ -1,15 +0,0 @@
1
- import { css } from 'lit';
2
-
3
- const styles = css`
4
- :host {
5
- opacity: 0;
6
- transform: scale(0.98);
7
- transition: opacity 0.12s ease, transform 0.12s ease;
8
- }
9
- :host([visible]) {
10
- opacity: 1; /* FloatingElement의 0.8을 덮어씀 */
11
- transform: scale(1);
12
- }
13
- `;
14
-
15
- export { styles };
@@ -1,7 +0,0 @@
1
- import { DropdownMenu } from './DropdownMenu.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- "u-dropdown-menu": DropdownMenu;
5
- }
6
- }
7
- export { DropdownMenu };
@@ -1,5 +0,0 @@
1
- import { DropdownMenu } from './DropdownMenu.js';
2
-
3
- DropdownMenu.define("u-dropdown-menu");
4
-
5
- export { DropdownMenu };
@@ -1,7 +0,0 @@
1
- import { Form } from './Form.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- 'u-form': Form;
5
- }
6
- }
7
- export { Form };
@@ -1,5 +0,0 @@
1
- import { Form } from './Form.js';
2
-
3
- Form.define("u-form");
4
-
5
- export { Form };
@@ -1,7 +0,0 @@
1
- import { Icon } from './Icon.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- "u-icon": Icon;
5
- }
6
- }
7
- export { Icon };
@@ -1,5 +0,0 @@
1
- import { Icon } from './Icon.js';
2
-
3
- Icon.define("u-icon");
4
-
5
- export { Icon };
@@ -1,7 +0,0 @@
1
- import { IconButton } from './IconButton.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- "u-icon-button": IconButton;
5
- }
6
- }
7
- export { IconButton };
@@ -1,5 +0,0 @@
1
- import { IconButton } from './IconButton.js';
2
-
3
- IconButton.define("u-icon-button");
4
-
5
- export { IconButton };
@@ -1,20 +0,0 @@
1
- export * from './alert';
2
- export * from './button';
3
- export * from './context-menu';
4
- export * from './copy-button';
5
- export * from './dialog';
6
- export * from './divider';
7
- export * from './dropdown-menu';
8
- export * from './form';
9
- export * from './icon';
10
- export * from './icon-button';
11
- export * from './input';
12
- export * from './menu';
13
- export * from './menu-item';
14
- export * from './progress-bar';
15
- export * from './progress-ring';
16
- export * from './spinner';
17
- export * from './split-panel';
18
- export * from './tooltip';
19
- export * from './tree';
20
- export * from './tree-item';
@@ -1,7 +0,0 @@
1
- import { Input } from './Input.js';
2
- declare global {
3
- interface HTMLElementTagNameMap {
4
- "u-input": Input;
5
- }
6
- }
7
- export { Input };
@@ -1,5 +0,0 @@
1
- import { Input } from './Input.js';
2
-
3
- Input.define("u-input");
4
-
5
- export { Input };
@@ -1,25 +0,0 @@
1
- import { PropertyValues } from 'lit';
2
- import { BaseElement } from '../BaseElement.js';
3
- export declare class Menu extends BaseElement {
4
- static styles: import('lit').CSSResultGroup[];
5
- static dependencies: Record<string, typeof BaseElement>;
6
- private items;
7
- open: boolean;
8
- selectable: boolean;
9
- value: string;
10
- connectedCallback(): void;
11
- disconnectedCallback(): void;
12
- protected updated(changedProperties: PropertyValues): void;
13
- render(): import('lit-html').TemplateResult<1>;
14
- show: () => Promise<void>;
15
- hide: () => Promise<void>;
16
- /** (추가) 첫 번째 활성 아이템 포커스 */
17
- focusFirstItem: () => Promise<void>;
18
- private updateOpenState;
19
- private updateSelection;
20
- private handleSlotChange;
21
- private handleSelect;
22
- /** 같은 레벨 다른 submenu 닫기 */
23
- private handleSubmenuOpen;
24
- private handleKeydown;
25
- }