@widgetic/design-system 0.3.68

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 (492) hide show
  1. package/README.md +730 -0
  2. package/dist/components/CopyableHeader.svelte +456 -0
  3. package/dist/components/CopyableHeader.svelte.d.ts +40 -0
  4. package/dist/components/EmptyState.svelte +145 -0
  5. package/dist/components/EmptyState.svelte.d.ts +36 -0
  6. package/dist/components/PasswordInput.svelte +46 -0
  7. package/dist/components/PasswordInput.svelte.d.ts +26 -0
  8. package/dist/components/ThumbHashImage.svelte +124 -0
  9. package/dist/components/ThumbHashImage.svelte.d.ts +26 -0
  10. package/dist/components/WScrollArea.svelte +47 -0
  11. package/dist/components/WScrollArea.svelte.d.ts +38 -0
  12. package/dist/components/debug-grid/DebugGrid.svelte +207 -0
  13. package/dist/components/debug-grid/DebugGrid.svelte.d.ts +32 -0
  14. package/dist/components/ic/browser/BrowserInputController.svelte +481 -0
  15. package/dist/components/ic/browser/BrowserInputController.svelte.d.ts +34 -0
  16. package/dist/components/ic/browser/icons/audio.svg +7 -0
  17. package/dist/components/ic/browser/icons/document.svg +11 -0
  18. package/dist/components/ic/browser/icons/error.svg +5 -0
  19. package/dist/components/ic/browser/icons/folder.svg +28 -0
  20. package/dist/components/ic/browser/icons/info-icon.svg +3 -0
  21. package/dist/components/ic/browser/icons/player-pause.svg +12 -0
  22. package/dist/components/ic/browser/icons/player-play.svg +1 -0
  23. package/dist/components/ic/types.d.ts +14 -0
  24. package/dist/components/ic/types.js +18 -0
  25. package/dist/components/index.d.ts +51 -0
  26. package/dist/components/index.js +52 -0
  27. package/dist/components/modals/ActionModal.svelte +189 -0
  28. package/dist/components/modals/ActionModal.svelte.d.ts +49 -0
  29. package/dist/components/modals/BaseModal.svelte +409 -0
  30. package/dist/components/modals/BaseModal.svelte.d.ts +38 -0
  31. package/dist/components/modals/NewItemDialog.svelte +189 -0
  32. package/dist/components/modals/NewItemDialog.svelte.d.ts +39 -0
  33. package/dist/components/modals/Portal.svelte +104 -0
  34. package/dist/components/modals/Portal.svelte.d.ts +34 -0
  35. package/dist/components/modals/README.md +99 -0
  36. package/dist/components/modals/RenameDialog.svelte +316 -0
  37. package/dist/components/modals/RenameDialog.svelte.d.ts +39 -0
  38. package/dist/components/modals/modalStore.d.ts +10 -0
  39. package/dist/components/modals/modalStore.js +45 -0
  40. package/dist/components/navigation/Breadcrumbs.svelte +348 -0
  41. package/dist/components/navigation/Breadcrumbs.svelte.d.ts +35 -0
  42. package/dist/components/navigation/index.d.ts +2 -0
  43. package/dist/components/navigation/index.js +2 -0
  44. package/dist/components/navigation/types.d.ts +12 -0
  45. package/dist/components/navigation/types.js +1 -0
  46. package/dist/components/pdf/PDFViewer.svelte +608 -0
  47. package/dist/components/pdf/PDFViewer.svelte.d.ts +32 -0
  48. package/dist/components/search-input/SearchInput.svelte +115 -0
  49. package/dist/components/search-input/SearchInput.svelte.d.ts +46 -0
  50. package/dist/components/search-input/index.d.ts +14 -0
  51. package/dist/components/search-input/index.js +4 -0
  52. package/dist/components/shad-editor/colorpicker.svelte +17 -0
  53. package/dist/components/shad-editor/colorpicker.svelte.d.ts +6 -0
  54. package/dist/components/shad-editor/custom/Extentions/ColorHighlighter.d.ts +2 -0
  55. package/dist/components/shad-editor/custom/Extentions/ColorHighlighter.js +25 -0
  56. package/dist/components/shad-editor/custom/Extentions/ImageExtention.d.ts +1 -0
  57. package/dist/components/shad-editor/custom/Extentions/ImageExtention.js +30 -0
  58. package/dist/components/shad-editor/custom/Extentions/SearchAndReplace.d.ts +57 -0
  59. package/dist/components/shad-editor/custom/Extentions/SearchAndReplace.js +232 -0
  60. package/dist/components/shad-editor/custom/Extentions/SmilieReplacer.d.ts +2 -0
  61. package/dist/components/shad-editor/custom/Extentions/SmilieReplacer.js +131 -0
  62. package/dist/components/shad-editor/custom/code-extended.svelte +78 -0
  63. package/dist/components/shad-editor/custom/code-extended.svelte.d.ts +4 -0
  64. package/dist/components/shad-editor/custom/image-extended-component.svelte +251 -0
  65. package/dist/components/shad-editor/custom/image-extended-component.svelte.d.ts +4 -0
  66. package/dist/components/shad-editor/custom/utils.d.ts +5 -0
  67. package/dist/components/shad-editor/custom/utils.js +35 -0
  68. package/dist/components/shad-editor/editor-toolbar.svelte +59 -0
  69. package/dist/components/shad-editor/editor-toolbar.svelte.d.ts +8 -0
  70. package/dist/components/shad-editor/editor.css +179 -0
  71. package/dist/components/shad-editor/icons/block-quote.svelte +26 -0
  72. package/dist/components/shad-editor/icons/block-quote.svelte.d.ts +7 -0
  73. package/dist/components/shad-editor/icons/bold.svelte +26 -0
  74. package/dist/components/shad-editor/icons/bold.svelte.d.ts +8 -0
  75. package/dist/components/shad-editor/icons/buttle-list.svelte +27 -0
  76. package/dist/components/shad-editor/icons/buttle-list.svelte.d.ts +7 -0
  77. package/dist/components/shad-editor/icons/code.svelte +27 -0
  78. package/dist/components/shad-editor/icons/code.svelte.d.ts +8 -0
  79. package/dist/components/shad-editor/icons/highlighter.svelte +75 -0
  80. package/dist/components/shad-editor/icons/highlighter.svelte.d.ts +9 -0
  81. package/dist/components/shad-editor/icons/image.svelte +73 -0
  82. package/dist/components/shad-editor/icons/image.svelte.d.ts +8 -0
  83. package/dist/components/shad-editor/icons/index.d.ts +22 -0
  84. package/dist/components/shad-editor/icons/index.js +24 -0
  85. package/dist/components/shad-editor/icons/italic.svelte +26 -0
  86. package/dist/components/shad-editor/icons/italic.svelte.d.ts +8 -0
  87. package/dist/components/shad-editor/icons/link.svelte +72 -0
  88. package/dist/components/shad-editor/icons/link.svelte.d.ts +8 -0
  89. package/dist/components/shad-editor/icons/ordered-list.svelte +26 -0
  90. package/dist/components/shad-editor/icons/ordered-list.svelte.d.ts +7 -0
  91. package/dist/components/shad-editor/icons/quickcolor.svelte +95 -0
  92. package/dist/components/shad-editor/icons/quickcolor.svelte.d.ts +7 -0
  93. package/dist/components/shad-editor/icons/redo.svelte +26 -0
  94. package/dist/components/shad-editor/icons/redo.svelte.d.ts +8 -0
  95. package/dist/components/shad-editor/icons/search-replace.svelte +146 -0
  96. package/dist/components/shad-editor/icons/search-replace.svelte.d.ts +7 -0
  97. package/dist/components/shad-editor/icons/strikethrough.svelte +26 -0
  98. package/dist/components/shad-editor/icons/strikethrough.svelte.d.ts +8 -0
  99. package/dist/components/shad-editor/icons/subscript.svelte +26 -0
  100. package/dist/components/shad-editor/icons/subscript.svelte.d.ts +8 -0
  101. package/dist/components/shad-editor/icons/superscript.svelte +26 -0
  102. package/dist/components/shad-editor/icons/superscript.svelte.d.ts +8 -0
  103. package/dist/components/shad-editor/icons/table.svelte +111 -0
  104. package/dist/components/shad-editor/icons/table.svelte.d.ts +8 -0
  105. package/dist/components/shad-editor/icons/task-list.svelte +26 -0
  106. package/dist/components/shad-editor/icons/task-list.svelte.d.ts +7 -0
  107. package/dist/components/shad-editor/icons/text.svelte +95 -0
  108. package/dist/components/shad-editor/icons/text.svelte.d.ts +7 -0
  109. package/dist/components/shad-editor/icons/textalign.svelte +82 -0
  110. package/dist/components/shad-editor/icons/textalign.svelte.d.ts +7 -0
  111. package/dist/components/shad-editor/icons/textcolor.svelte +75 -0
  112. package/dist/components/shad-editor/icons/textcolor.svelte.d.ts +8 -0
  113. package/dist/components/shad-editor/icons/underline.svelte +26 -0
  114. package/dist/components/shad-editor/icons/underline.svelte.d.ts +8 -0
  115. package/dist/components/shad-editor/icons/undo.svelte +26 -0
  116. package/dist/components/shad-editor/icons/undo.svelte.d.ts +8 -0
  117. package/dist/components/shad-editor/index.d.ts +4 -0
  118. package/dist/components/shad-editor/index.js +5 -0
  119. package/dist/components/shad-editor/onedark.css +87 -0
  120. package/dist/components/shad-editor/shad-editor.svelte +153 -0
  121. package/dist/components/shad-editor/shad-editor.svelte.d.ts +34 -0
  122. package/dist/components/toast/ToasterModal.svelte +128 -0
  123. package/dist/components/toast/ToasterModal.svelte.d.ts +30 -0
  124. package/dist/components/toast/index.d.ts +2 -0
  125. package/dist/components/toast/index.js +2 -0
  126. package/dist/components/ui/accordion/accordion-content.svelte +24 -0
  127. package/dist/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
  128. package/dist/components/ui/accordion/accordion-item.svelte +12 -0
  129. package/dist/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
  130. package/dist/components/ui/accordion/accordion-trigger.svelte +29 -0
  131. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +7 -0
  132. package/dist/components/ui/accordion/index.d.ts +6 -0
  133. package/dist/components/ui/accordion/index.js +6 -0
  134. package/dist/components/ui/alert/alert-description.svelte +13 -0
  135. package/dist/components/ui/alert/alert-description.svelte.d.ts +28 -0
  136. package/dist/components/ui/alert/alert-title.svelte +21 -0
  137. package/dist/components/ui/alert/alert-title.svelte.d.ts +31 -0
  138. package/dist/components/ui/alert/alert.svelte +17 -0
  139. package/dist/components/ui/alert/alert.svelte.d.ts +31 -0
  140. package/dist/components/ui/alert/index.d.ts +43 -0
  141. package/dist/components/ui/alert/index.js +19 -0
  142. package/dist/components/ui/badge/badge.svelte +50 -0
  143. package/dist/components/ui/badge/badge.svelte.d.ts +60 -0
  144. package/dist/components/ui/badge/index.d.ts +2 -0
  145. package/dist/components/ui/badge/index.js +2 -0
  146. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
  147. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  148. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +16 -0
  149. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  150. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
  151. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  152. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
  153. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  154. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
  155. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  156. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
  157. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  158. package/dist/components/ui/breadcrumb/breadcrumb.svelte +15 -0
  159. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  160. package/dist/components/ui/breadcrumb/index.d.ts +8 -0
  161. package/dist/components/ui/breadcrumb/index.js +10 -0
  162. package/dist/components/ui/button/button.svelte +74 -0
  163. package/dist/components/ui/button/button.svelte.d.ts +118 -0
  164. package/dist/components/ui/button/index.d.ts +2 -0
  165. package/dist/components/ui/button/index.js +4 -0
  166. package/dist/components/ui/calendar/calendar-cell.svelte +19 -0
  167. package/dist/components/ui/calendar/calendar-cell.svelte.d.ts +4 -0
  168. package/dist/components/ui/calendar/calendar-day.svelte +30 -0
  169. package/dist/components/ui/calendar/calendar-day.svelte.d.ts +4 -0
  170. package/dist/components/ui/calendar/calendar-grid-body.svelte +12 -0
  171. package/dist/components/ui/calendar/calendar-grid-body.svelte.d.ts +4 -0
  172. package/dist/components/ui/calendar/calendar-grid-head.svelte +12 -0
  173. package/dist/components/ui/calendar/calendar-grid-head.svelte.d.ts +4 -0
  174. package/dist/components/ui/calendar/calendar-grid-row.svelte +12 -0
  175. package/dist/components/ui/calendar/calendar-grid-row.svelte.d.ts +4 -0
  176. package/dist/components/ui/calendar/calendar-grid.svelte +16 -0
  177. package/dist/components/ui/calendar/calendar-grid.svelte.d.ts +4 -0
  178. package/dist/components/ui/calendar/calendar-head-cell.svelte +16 -0
  179. package/dist/components/ui/calendar/calendar-head-cell.svelte.d.ts +4 -0
  180. package/dist/components/ui/calendar/calendar-header.svelte +16 -0
  181. package/dist/components/ui/calendar/calendar-header.svelte.d.ts +4 -0
  182. package/dist/components/ui/calendar/calendar-heading.svelte +12 -0
  183. package/dist/components/ui/calendar/calendar-heading.svelte.d.ts +4 -0
  184. package/dist/components/ui/calendar/calendar-months.svelte +20 -0
  185. package/dist/components/ui/calendar/calendar-months.svelte.d.ts +5 -0
  186. package/dist/components/ui/calendar/calendar-next-button.svelte +28 -0
  187. package/dist/components/ui/calendar/calendar-next-button.svelte.d.ts +4 -0
  188. package/dist/components/ui/calendar/calendar-prev-button.svelte +28 -0
  189. package/dist/components/ui/calendar/calendar-prev-button.svelte.d.ts +4 -0
  190. package/dist/components/ui/calendar/calendar.svelte +61 -0
  191. package/dist/components/ui/calendar/calendar.svelte.d.ts +5 -0
  192. package/dist/components/ui/calendar/index.d.ts +14 -0
  193. package/dist/components/ui/calendar/index.js +16 -0
  194. package/dist/components/ui/card/card-content.svelte +16 -0
  195. package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
  196. package/dist/components/ui/card/card-description.svelte +16 -0
  197. package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
  198. package/dist/components/ui/card/card-footer.svelte +16 -0
  199. package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
  200. package/dist/components/ui/card/card-header.svelte +16 -0
  201. package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
  202. package/dist/components/ui/card/card-title.svelte +25 -0
  203. package/dist/components/ui/card/card-title.svelte.d.ts +8 -0
  204. package/dist/components/ui/card/card.svelte +20 -0
  205. package/dist/components/ui/card/card.svelte.d.ts +5 -0
  206. package/dist/components/ui/card/index.d.ts +7 -0
  207. package/dist/components/ui/card/index.js +7 -0
  208. package/dist/components/ui/checkbox/checkbox.svelte +35 -0
  209. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  210. package/dist/components/ui/checkbox/index.d.ts +2 -0
  211. package/dist/components/ui/checkbox/index.js +4 -0
  212. package/dist/components/ui/collapsible/index.d.ts +16 -0
  213. package/dist/components/ui/collapsible/index.js +7 -0
  214. package/dist/components/ui/command/command-dialog.svelte +35 -0
  215. package/dist/components/ui/command/command-dialog.svelte.d.ts +9 -0
  216. package/dist/components/ui/command/command-empty.svelte +12 -0
  217. package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
  218. package/dist/components/ui/command/command-group.svelte +29 -0
  219. package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
  220. package/dist/components/ui/command/command-input.svelte +25 -0
  221. package/dist/components/ui/command/command-input.svelte.d.ts +4 -0
  222. package/dist/components/ui/command/command-item.svelte +19 -0
  223. package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
  224. package/dist/components/ui/command/command-link-item.svelte +19 -0
  225. package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
  226. package/dist/components/ui/command/command-list.svelte +16 -0
  227. package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
  228. package/dist/components/ui/command/command-separator.svelte +12 -0
  229. package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
  230. package/dist/components/ui/command/command-shortcut.svelte +20 -0
  231. package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
  232. package/dist/components/ui/command/command.svelte +21 -0
  233. package/dist/components/ui/command/command.svelte.d.ts +4 -0
  234. package/dist/components/ui/command/index.d.ts +13 -0
  235. package/dist/components/ui/command/index.js +15 -0
  236. package/dist/components/ui/dialog/dialog-content.svelte +38 -0
  237. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +9 -0
  238. package/dist/components/ui/dialog/dialog-description.svelte +16 -0
  239. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  240. package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
  241. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  242. package/dist/components/ui/dialog/dialog-header.svelte +20 -0
  243. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  244. package/dist/components/ui/dialog/dialog-overlay.svelte +19 -0
  245. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  246. package/dist/components/ui/dialog/dialog-title.svelte +16 -0
  247. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  248. package/dist/components/ui/dialog/index.d.ts +12 -0
  249. package/dist/components/ui/dialog/index.js +14 -0
  250. package/dist/components/ui/drawer/drawer-content.svelte +30 -0
  251. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +7 -0
  252. package/dist/components/ui/drawer/drawer-description.svelte +16 -0
  253. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
  254. package/dist/components/ui/drawer/drawer-footer.svelte +16 -0
  255. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
  256. package/dist/components/ui/drawer/drawer-header.svelte +20 -0
  257. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
  258. package/dist/components/ui/drawer/drawer-nested.svelte +12 -0
  259. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
  260. package/dist/components/ui/drawer/drawer-overlay.svelte +16 -0
  261. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
  262. package/dist/components/ui/drawer/drawer-title.svelte +16 -0
  263. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
  264. package/dist/components/ui/drawer/drawer.svelte +12 -0
  265. package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
  266. package/dist/components/ui/drawer/index.d.ts +13 -0
  267. package/dist/components/ui/drawer/index.js +15 -0
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +40 -0
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -0
  270. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +26 -0
  271. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +7 -0
  272. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
  273. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +7 -0
  274. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +23 -0
  275. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +7 -0
  276. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +23 -0
  277. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  278. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +30 -0
  279. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  280. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +16 -0
  281. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  282. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  283. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  284. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +19 -0
  285. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  286. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +28 -0
  287. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  288. package/dist/components/ui/dropdown-menu/index.d.ts +25 -0
  289. package/dist/components/ui/dropdown-menu/index.js +17 -0
  290. package/dist/components/ui/hover-card/hover-card-content.svelte +28 -0
  291. package/dist/components/ui/hover-card/hover-card-content.svelte.d.ts +7 -0
  292. package/dist/components/ui/hover-card/index.d.ts +5 -0
  293. package/dist/components/ui/hover-card/index.js +5 -0
  294. package/dist/components/ui/input/index.d.ts +2 -0
  295. package/dist/components/ui/input/index.js +4 -0
  296. package/dist/components/ui/input/input.svelte +22 -0
  297. package/dist/components/ui/input/input.svelte.d.ts +5 -0
  298. package/dist/components/ui/input-otp/index.d.ts +5 -0
  299. package/dist/components/ui/input-otp/index.js +7 -0
  300. package/dist/components/ui/input-otp/input-otp-group.svelte +16 -0
  301. package/dist/components/ui/input-otp/input-otp-group.svelte.d.ts +5 -0
  302. package/dist/components/ui/input-otp/input-otp-separator.svelte +19 -0
  303. package/dist/components/ui/input-otp/input-otp-separator.svelte.d.ts +5 -0
  304. package/dist/components/ui/input-otp/input-otp-slot.svelte +30 -0
  305. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +12 -0
  306. package/dist/components/ui/input-otp/input-otp.svelte +22 -0
  307. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +3 -0
  308. package/dist/components/ui/label/index.d.ts +2 -0
  309. package/dist/components/ui/label/index.js +4 -0
  310. package/dist/components/ui/label/label.svelte +19 -0
  311. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  312. package/dist/components/ui/popover/index.d.ts +6 -0
  313. package/dist/components/ui/popover/index.js +6 -0
  314. package/dist/components/ui/popover/popover-content.svelte +28 -0
  315. package/dist/components/ui/popover/popover-content.svelte.d.ts +7 -0
  316. package/dist/components/ui/progress/index.d.ts +2 -0
  317. package/dist/components/ui/progress/index.js +4 -0
  318. package/dist/components/ui/progress/progress.svelte +25 -0
  319. package/dist/components/ui/progress/progress.svelte.d.ts +4 -0
  320. package/dist/components/ui/radio-group/index.d.ts +3 -0
  321. package/dist/components/ui/radio-group/index.js +5 -0
  322. package/dist/components/ui/radio-group/radio-group-item.svelte +28 -0
  323. package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +4 -0
  324. package/dist/components/ui/radio-group/radio-group.svelte +13 -0
  325. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
  326. package/dist/components/ui/range-calendar/index.d.ts +15 -0
  327. package/dist/components/ui/range-calendar/index.js +17 -0
  328. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +19 -0
  329. package/dist/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
  330. package/dist/components/ui/range-calendar/range-calendar-day.svelte +34 -0
  331. package/dist/components/ui/range-calendar/range-calendar-day.svelte.d.ts +4 -0
  332. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte +12 -0
  333. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
  334. package/dist/components/ui/range-calendar/range-calendar-grid.svelte +16 -0
  335. package/dist/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
  336. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +16 -0
  337. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
  338. package/dist/components/ui/range-calendar/range-calendar-header.svelte +16 -0
  339. package/dist/components/ui/range-calendar/range-calendar-header.svelte.d.ts +4 -0
  340. package/dist/components/ui/range-calendar/range-calendar-heading.svelte +16 -0
  341. package/dist/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
  342. package/dist/components/ui/range-calendar/range-calendar-months.svelte +20 -0
  343. package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +5 -0
  344. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +28 -0
  345. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +4 -0
  346. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +28 -0
  347. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +4 -0
  348. package/dist/components/ui/range-calendar/range-calendar.svelte +57 -0
  349. package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +5 -0
  350. package/dist/components/ui/scroll-area/index.d.ts +3 -0
  351. package/dist/components/ui/scroll-area/index.js +6 -0
  352. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +29 -0
  353. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
  354. package/dist/components/ui/scroll-area/scroll-area.svelte +32 -0
  355. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +9 -0
  356. package/dist/components/ui/select/index.d.ts +11 -0
  357. package/dist/components/ui/select/index.js +13 -0
  358. package/dist/components/ui/select/select-content.svelte +39 -0
  359. package/dist/components/ui/select/select-content.svelte.d.ts +7 -0
  360. package/dist/components/ui/select/select-group-heading.svelte +16 -0
  361. package/dist/components/ui/select/select-group-heading.svelte.d.ts +4 -0
  362. package/dist/components/ui/select/select-item.svelte +37 -0
  363. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  364. package/dist/components/ui/select/select-scroll-down-button.svelte +19 -0
  365. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  366. package/dist/components/ui/select/select-scroll-up-button.svelte +19 -0
  367. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  368. package/dist/components/ui/select/select-separator.svelte +13 -0
  369. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  370. package/dist/components/ui/select/select-trigger.svelte +24 -0
  371. package/dist/components/ui/select/select-trigger.svelte.d.ts +4 -0
  372. package/dist/components/ui/separator/index.d.ts +2 -0
  373. package/dist/components/ui/separator/index.js +4 -0
  374. package/dist/components/ui/separator/separator.svelte +22 -0
  375. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  376. package/dist/components/ui/slider/index.d.ts +3 -0
  377. package/dist/components/ui/slider/index.js +5 -0
  378. package/dist/components/ui/slider/slider.svelte +34 -0
  379. package/dist/components/ui/slider/slider.svelte.d.ts +4 -0
  380. package/dist/components/ui/sonner/index.d.ts +2 -0
  381. package/dist/components/ui/sonner/index.js +2 -0
  382. package/dist/components/ui/sonner/sonner.svelte +20 -0
  383. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  384. package/dist/components/ui/switch/index.d.ts +2 -0
  385. package/dist/components/ui/switch/index.js +4 -0
  386. package/dist/components/ui/switch/switch.svelte +27 -0
  387. package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
  388. package/dist/components/ui/table/index.d.ts +9 -0
  389. package/dist/components/ui/table/index.js +11 -0
  390. package/dist/components/ui/table/table-body.svelte +16 -0
  391. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  392. package/dist/components/ui/table/table-caption.svelte +16 -0
  393. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  394. package/dist/components/ui/table/table-cell.svelte +20 -0
  395. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  396. package/dist/components/ui/table/table-footer.svelte +16 -0
  397. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  398. package/dist/components/ui/table/table-head.svelte +23 -0
  399. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  400. package/dist/components/ui/table/table-header.svelte +16 -0
  401. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  402. package/dist/components/ui/table/table-row.svelte +23 -0
  403. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  404. package/dist/components/ui/table/table.svelte +18 -0
  405. package/dist/components/ui/table/table.svelte.d.ts +5 -0
  406. package/dist/components/ui/tabs/index.d.ts +6 -0
  407. package/dist/components/ui/tabs/index.js +8 -0
  408. package/dist/components/ui/tabs/tabs-content.svelte +19 -0
  409. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  410. package/dist/components/ui/tabs/tabs-list.svelte +19 -0
  411. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
  412. package/dist/components/ui/tabs/tabs-trigger.svelte +19 -0
  413. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  414. package/dist/components/ui/textarea/index.d.ts +19 -0
  415. package/dist/components/ui/textarea/index.js +4 -0
  416. package/dist/components/ui/textarea/textarea.svelte +22 -0
  417. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  418. package/dist/components/ui/toggle/index.d.ts +3 -0
  419. package/dist/components/ui/toggle/index.js +5 -0
  420. package/dist/components/ui/toggle/toggle.svelte +51 -0
  421. package/dist/components/ui/toggle/toggle.svelte.d.ts +83 -0
  422. package/dist/components/ui/toggle-group/index.d.ts +3 -0
  423. package/dist/components/ui/toggle-group/index.js +5 -0
  424. package/dist/components/ui/toggle-group/toggle-group-item.svelte +30 -0
  425. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +6 -0
  426. package/dist/components/ui/toggle-group/toggle-group.svelte +41 -0
  427. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +8 -0
  428. package/dist/components/ui/tooltip/index.d.ts +6 -0
  429. package/dist/components/ui/tooltip/index.js +8 -0
  430. package/dist/components/ui/tooltip/tooltip-content.svelte +21 -0
  431. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -0
  432. package/dist/components/widget-system/EditableWidget.svelte +106 -0
  433. package/dist/components/widget-system/EditableWidget.svelte.d.ts +44 -0
  434. package/dist/components/widget-system/Moveable.svelte +661 -0
  435. package/dist/components/widget-system/Moveable.svelte.d.ts +56 -0
  436. package/dist/components/widget-system/index.d.ts +2 -0
  437. package/dist/components/widget-system/index.js +3 -0
  438. package/dist/fonts/BLMelody/BLMelody-Bold.woff2 +0 -0
  439. package/dist/fonts/BLMelody/BLMelody-Medium.woff2 +0 -0
  440. package/dist/fonts/BLMelody/BLMelody-SemiBold.woff2 +0 -0
  441. package/dist/fonts/Riegla/Riegla-Bold Italic.otf +0 -0
  442. package/dist/fonts/Riegla/Riegla-Bold.otf +0 -0
  443. package/dist/fonts/Riegla/Riegla-Italic.otf +0 -0
  444. package/dist/fonts/Riegla/Riegla-Regular.otf +0 -0
  445. package/dist/fonts/Riegla/RieglaMedium-Regular.otf +0 -0
  446. package/dist/fonts/index.d.ts +0 -0
  447. package/dist/fonts/index.js +1 -0
  448. package/dist/hooks/is-mobile.svelte.d.ts +5 -0
  449. package/dist/hooks/is-mobile.svelte.js +23 -0
  450. package/dist/icons/Checked.svelte +19 -0
  451. package/dist/icons/Checked.svelte.d.ts +20 -0
  452. package/dist/icons/CheckerBoardBackground.svelte +16 -0
  453. package/dist/icons/CheckerBoardBackground.svelte.d.ts +3 -0
  454. package/dist/icons/Close.svelte +22 -0
  455. package/dist/icons/Close.svelte.d.ts +20 -0
  456. package/dist/icons/Close.svg +8 -0
  457. package/dist/icons/Error.svg +5 -0
  458. package/dist/icons/Exclamation.svelte +5 -0
  459. package/dist/icons/Exclamation.svelte.d.ts +26 -0
  460. package/dist/icons/FileBrowser.svelte +38 -0
  461. package/dist/icons/FileBrowser.svelte.d.ts +20 -0
  462. package/dist/icons/FileBrowser.svg +28 -0
  463. package/dist/icons/LogoWidgetic.svelte +24 -0
  464. package/dist/icons/LogoWidgetic.svelte.d.ts +20 -0
  465. package/dist/icons/LogoWidgeticType.svelte +12 -0
  466. package/dist/icons/LogoWidgeticType.svelte.d.ts +20 -0
  467. package/dist/icons/LogoWidgeticType.svg +4 -0
  468. package/dist/icons/OpacitySliderArrows.svelte +46 -0
  469. package/dist/icons/OpacitySliderArrows.svelte.d.ts +3 -0
  470. package/dist/icons/TestIcon.svelte +1 -0
  471. package/dist/icons/TestIcon.svelte.d.ts +26 -0
  472. package/dist/icons/checked.svg +4 -0
  473. package/dist/icons/index.d.ts +11 -0
  474. package/dist/icons/index.js +15 -0
  475. package/dist/icons/lucide.d.ts +1 -0
  476. package/dist/icons/lucide.js +1 -0
  477. package/dist/icons/tabler.d.ts +1 -0
  478. package/dist/icons/tabler.js +1 -0
  479. package/dist/index.d.ts +3 -0
  480. package/dist/index.js +9 -0
  481. package/dist/stores/index.d.ts +1 -0
  482. package/dist/stores/index.js +1 -0
  483. package/dist/stores/pdfCache.d.ts +16 -0
  484. package/dist/stores/pdfCache.js +101 -0
  485. package/dist/styles/fonts.css +172 -0
  486. package/dist/styles/global.css +893 -0
  487. package/dist/utils/MediaManager.d.ts +35 -0
  488. package/dist/utils/MediaManager.js +59 -0
  489. package/dist/utils.d.ts +2 -0
  490. package/dist/utils.js +5 -0
  491. package/package.json +183 -0
  492. package/tailwind.config.ts +97 -0
@@ -0,0 +1,456 @@
1
+ <!--
2
+ /**
3
+ * CopyableHeader Component
4
+ *
5
+ * A reusable header component for displaying content that can be copied to clipboard:
6
+ * - One-click copy functionality with visual feedback
7
+ * - Optional help icon with tooltip
8
+ * - Configurable header text and content
9
+ * - Consistent styling with the design system
10
+ *
11
+ * Usage:
12
+ * ```svelte
13
+ * <CopyableHeader
14
+ * headerText="Embed code"
15
+ * content="<widgetic id='123' width='350' height='50'></widgetic>"
16
+ * helpText="Read more about embedding"
17
+ * helpUrl="/embed"
18
+ * />
19
+ * ```
20
+ */
21
+ -->
22
+ <script lang="ts">
23
+ /**
24
+ * SVELTE IMPORTS
25
+ */
26
+ import { createEventDispatcher } from 'svelte';
27
+
28
+ const dispatch = createEventDispatcher();
29
+
30
+ /**
31
+ * COMPONENT IMPORTS
32
+ */
33
+ import { toast, Button, Tooltip, Portal } from '@widgetic/design-system/components';
34
+ import { IconCopy, IconHelp } from '@widgetic/design-system/icons';
35
+
36
+ /**
37
+ * COMPONENT PROPS
38
+ */
39
+ let className = '';
40
+ export { className as class };
41
+ export let style = '';
42
+ export let headerText = 'Copy content';
43
+ export let content = '';
44
+ export let helpText = 'Learn more';
45
+ export let helpUrl = '';
46
+ export let showHelp = true;
47
+ export let monospaceContent = true;
48
+ export let showStandaloneCopyButton = false;
49
+ export let standaloneCopyButtonText = '';
50
+ export let showButtonText = true;
51
+ export let buttonClass = '';
52
+ export let showInternalToast = true;
53
+ export let headerTextClass = '';
54
+ export let headerBackgroundColor = '';
55
+ export let contentBorderColor = '';
56
+
57
+ /**
58
+ * LOCAL VARIABLES
59
+ */
60
+ let mouseX = 0;
61
+ let mouseY = 0;
62
+ let showHelpTooltip = false;
63
+ let showCopyTooltip = false;
64
+ let tooltipDebounce = false;
65
+
66
+ /**
67
+ * MOUSE EVENTS HANDLERS
68
+ */
69
+ function handleMouseEnter(event: MouseEvent) {
70
+ if (tooltipDebounce) return;
71
+ mouseX = event.clientX;
72
+ mouseY = event.clientY;
73
+ showHelpTooltip = true;
74
+ }
75
+
76
+ function handleCopyMouseEnter(event: MouseEvent) {
77
+ if (tooltipDebounce) return;
78
+ mouseX = event.clientX;
79
+ mouseY = event.clientY;
80
+ showCopyTooltip = true;
81
+ }
82
+
83
+ function handleMouseMove(event: MouseEvent) {
84
+ mouseX = event.clientX;
85
+ mouseY = event.clientY;
86
+ }
87
+
88
+ function handleMouseLeave() {
89
+ showHelpTooltip = false;
90
+ }
91
+
92
+ function handleCopyMouseLeave() {
93
+ showCopyTooltip = false;
94
+ }
95
+
96
+ function setTooltipDebounce() {
97
+ tooltipDebounce = true;
98
+ setTimeout(() => {
99
+ tooltipDebounce = false;
100
+ }, 500); // Prevent tooltips from showing for 500ms after clicking
101
+ }
102
+
103
+ /**
104
+ * Clipboard Interaction Handlers
105
+ * Provides copy functionality via the copy button
106
+ * with visual feedback via toast notifications
107
+ */
108
+ async function handleCopyButtonClick(e: MouseEvent) {
109
+ e.preventDefault();
110
+ e.stopPropagation();
111
+
112
+ // Immediately hide the tooltip to prevent flickering
113
+ showCopyTooltip = false;
114
+ setTooltipDebounce();
115
+
116
+ // Find the content element and select all text
117
+ const contentElement = document.querySelector('.copyable-content-area');
118
+ if (contentElement) {
119
+ const selection = window.getSelection();
120
+ const range = document.createRange();
121
+ range.selectNodeContents(contentElement);
122
+ selection?.removeAllRanges();
123
+ selection?.addRange(range);
124
+ }
125
+
126
+ try {
127
+ await navigator.clipboard.writeText(content);
128
+ if (showInternalToast) {
129
+ showToast('success', 'Copied to clipboard', {
130
+ description: 'Content copied successfully.',
131
+ });
132
+ }
133
+ dispatch('copy', { content });
134
+ } catch (err) {
135
+ if (showInternalToast) {
136
+ showToast('error', 'Copy failed', {
137
+ description: 'Please try manual selection',
138
+ });
139
+ }
140
+ dispatch('copyError', { error: err });
141
+ }
142
+ }
143
+
144
+ // Toast helper function
145
+ let isToastVisible = false;
146
+
147
+ function showToast(type: 'success' | 'error', message: string, options = {}) {
148
+ if (isToastVisible) return;
149
+
150
+ isToastVisible = true;
151
+ toast[type](message, {
152
+ ...options,
153
+ duration: 5000,
154
+ unstyled: true,
155
+ classes: {
156
+ toast: 'copyable-header-toast flex items-center gap-3',
157
+ title: 'copyable-header-toast-title',
158
+ description: 'copyable-header-toast-description',
159
+ closeButton: 'copyable-header-toast-close-button'
160
+ },
161
+ onAutoClose: () => {
162
+ isToastVisible = false;
163
+ },
164
+ onDismiss: () => {
165
+ isToastVisible = false;
166
+ }
167
+ });
168
+ }
169
+ </script>
170
+
171
+ <!-- Header Container -->
172
+ <div
173
+ class="{className ? className + ' ' : ''}copyable-header-container
174
+ w-full {headerBackgroundColor || 'bg-[hsl(var(--grey2))]'} widgetic-colors widgetic-radius"
175
+ style="z-index: 102; position: relative; {style}"
176
+ >
177
+ <!-- Header with Title and Copy Button -->
178
+ <div
179
+ class="copyable-header w-full flex flex-col justify-center gap-[16px] relative"
180
+ style="
181
+ padding: 8px 24px 0px 24px;
182
+ z-index: 102;
183
+ "
184
+ >
185
+ <!-- Header Text and Copy Button -->
186
+ <div class="flex justify-between items-center">
187
+ <div class="flex items-center gap-2">
188
+ <div class="{headerTextClass || 'body-medium text-[hsl(var(--grey7))]'}">{headerText}</div>
189
+ {#if showHelp && helpUrl}
190
+ <Tooltip.Provider>
191
+ <Tooltip.Root open={showHelpTooltip}>
192
+ <Tooltip.Trigger class="focus:outline-none">
193
+ <a
194
+ href={helpUrl}
195
+ target="_blank"
196
+ rel="noopener noreferrer"
197
+ role="button"
198
+ tabindex="0"
199
+ class="inline-flex items-center justify-center w-6 h-6 cursor-pointer"
200
+ onmouseenter={handleMouseEnter}
201
+ onmousemove={handleMouseMove}
202
+ onmouseleave={handleMouseLeave}
203
+ onmousedown={() => {
204
+ showHelpTooltip = false;
205
+ setTooltipDebounce();
206
+ }}
207
+ onclick={(e) => {
208
+ e.preventDefault();
209
+ window.open(helpUrl, '_blank', 'noopener,noreferrer');
210
+ }}
211
+ >
212
+ <IconHelp class="w-5 h-5 text-[hsl(var(--grey5))] hover:text-[hsl(var(--deep-forest-green))] transition-colors duration-200" />
213
+ </a>
214
+ </Tooltip.Trigger>
215
+
216
+ {#if showHelpTooltip}
217
+ <Portal target="editor-tooltips">
218
+ <Tooltip.Content
219
+ side="right"
220
+ sideOffset={5}
221
+ class="bg-[hsl(var(--dark))] text-white z-[200000] overflow-hidden rounded-md px-2 py-1.5 shadow-md widgetic-colors widgetic-radius"
222
+ >
223
+ <p class="caption text-white">{helpText}</p>
224
+ </Tooltip.Content>
225
+ </Portal>
226
+ {/if}
227
+ </Tooltip.Root>
228
+ </Tooltip.Provider>
229
+ {/if}
230
+ </div>
231
+ {#if showStandaloneCopyButton}
232
+ <Tooltip.Provider>
233
+ <Tooltip.Root open={showCopyTooltip}>
234
+ <Tooltip.Trigger class="focus:outline-none">
235
+ <Button
236
+ variant="default"
237
+ class="h-9 w-6 {headerBackgroundColor ? headerBackgroundColor + ' text-[hsl(var(--grey7))]' : buttonClass || 'bg-[hsl(var(--dark))] hover:bg-white text-white rounded-full'} flex items-center justify-center active:scale-95 transition-transform duration-150"
238
+ onclick={handleCopyButtonClick}
239
+ onmouseenter={handleCopyMouseEnter}
240
+ onmousemove={handleMouseMove}
241
+ onmouseleave={handleCopyMouseLeave}
242
+ onmousedown={() => {
243
+ showCopyTooltip = false;
244
+ setTooltipDebounce();
245
+ }}
246
+ >
247
+ <IconCopy class="w-5 h-5" style="width: 20px !important; height: 20px !important;" />
248
+ {#if showButtonText}
249
+ <span class="ml-2">{standaloneCopyButtonText}</span>
250
+ {/if}
251
+ </Button>
252
+ </Tooltip.Trigger>
253
+
254
+ {#if showCopyTooltip}
255
+ <Portal target="editor-tooltips">
256
+ <Tooltip.Content
257
+ side="left"
258
+ sideOffset={5}
259
+ class="bg-[hsl(var(--dark))] text-white z-[200000] overflow-hidden rounded-md px-3 py-1.5 shadow-md widgetic-colors widgetic-radius"
260
+ >
261
+ <p class="caption text-white">{standaloneCopyButtonText}</p>
262
+ </Tooltip.Content>
263
+ </Portal>
264
+ {/if}
265
+ </Tooltip.Root>
266
+ </Tooltip.Provider>
267
+ {:else}
268
+ <Tooltip.Provider>
269
+ <Tooltip.Root open={showCopyTooltip}>
270
+ <Tooltip.Trigger class="focus:outline-none">
271
+ <Button
272
+ variant="ghost"
273
+ size="icon"
274
+ class="h-10 w-10 {headerBackgroundColor ? headerBackgroundColor : 'hover:bg-white'} active:scale-95 transition-transform duration-150 mr-[-4px]"
275
+ onclick={handleCopyButtonClick}
276
+ onmouseenter={handleCopyMouseEnter}
277
+ onmousemove={handleMouseMove}
278
+ onmouseleave={handleCopyMouseLeave}
279
+ onmousedown={() => {
280
+ showCopyTooltip = false;
281
+ setTooltipDebounce();
282
+ }}
283
+ aria-label={standaloneCopyButtonText}
284
+ >
285
+ <IconCopy
286
+ class="w-[20px] h-[20px] transition-colors duration-300 text-[hsl(var(--grey5))] hover:text-[hsl(var(--grey7))]"
287
+ style="width: 20px !important; height: 20px !important;"
288
+ />
289
+ </Button>
290
+ </Tooltip.Trigger>
291
+
292
+ {#if showCopyTooltip}
293
+ <Portal target="editor-tooltips">
294
+ <Tooltip.Content
295
+ side="left"
296
+ sideOffset={5}
297
+ class="bg-[hsl(var(--dark))] text-white z-[200000] overflow-hidden rounded-md px-3 py-1.5 shadow-md widgetic-colors widgetic-radius"
298
+ >
299
+ <p class="caption text-white">{standaloneCopyButtonText}</p>
300
+ </Tooltip.Content>
301
+ </Portal>
302
+ {/if}
303
+ </Tooltip.Root>
304
+ </Tooltip.Provider>
305
+ {/if}
306
+ </div>
307
+ </div>
308
+
309
+ <!-- Content Area -->
310
+ <div class="px-6 pb-6">
311
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
312
+ <div
313
+ class="copyable-content-area text-[14px] w-full text-left bg-white relative {monospaceContent ? 'font-mono' : ''}"
314
+ style="
315
+ padding: 16px;
316
+ min-height: 80px;
317
+ max-height: 141px;
318
+ z-index: 101;
319
+ line-height: 1.5;
320
+ border: 1px solid {contentBorderColor || 'hsl(var(--grey2))'};
321
+ border-radius: var(--radius-small);
322
+ margin: 0 -2px -2px -2px;
323
+ width: calc(100% + 4px);
324
+ cursor: text;
325
+ white-space: pre-wrap;
326
+ word-break: break-all;
327
+ overflow-wrap: anywhere;
328
+ overflow-y: auto;
329
+ "
330
+ tabindex="0"
331
+ >
332
+ {content}
333
+ </div>
334
+ </div>
335
+ </div>
336
+
337
+ <style>
338
+ /* Style for the content area */
339
+ .copyable-content-area {
340
+ -webkit-user-select: text !important;
341
+ -moz-user-select: text !important;
342
+ user-select: text !important;
343
+ overflow-y: auto !important;
344
+ }
345
+
346
+ .copyable-content-area::-moz-selection {
347
+ background-color: rgba(59, 130, 246, 0.2) !important;
348
+ color: inherit !important;
349
+ }
350
+
351
+ .copyable-content-area::selection {
352
+ background-color: rgba(59, 130, 246, 0.2) !important;
353
+ color: inherit !important;
354
+ }
355
+
356
+ .copyable-content-area::-moz-selection {
357
+ background-color: rgba(59, 130, 246, 0.2) !important;
358
+ color: inherit !important;
359
+ }
360
+
361
+ /* Help icon hover styles */
362
+ :global(.copyable-header-container .w-6.h-6) {
363
+ display: flex !important;
364
+ align-items: center !important;
365
+ justify-content: center !important;
366
+ border-radius: 50% !important;
367
+ transition: background-color 0.2s ease !important;
368
+ }
369
+
370
+ /* Removed the hover background effect for the help icon */
371
+ /* :global(.copyable-header-container .w-6.h-6:hover) {
372
+ background-color: rgba(255, 255, 255, 0.5) !important;
373
+ } */
374
+
375
+ /* Button Press Effect */
376
+ :global(.copyable-header button) {
377
+ transition: transform 0.15s ease, background-color 0.1s ease;
378
+ }
379
+
380
+ /* Add hover styles for the standalone copy button */
381
+ :global(.copyable-header-container button[variant="default"]:hover) {
382
+ background-color: white !important;
383
+ color: hsl(var(--grey7)) !important;
384
+ }
385
+
386
+ /* Prevent hover background change for buttons with custom header background */
387
+ :global(.copyable-header-container button[class*="bg-"]:hover) {
388
+ background-color: inherit !important;
389
+ }
390
+
391
+ /* Add active scale effect for all buttons */
392
+ :global(.copyable-header button:active) {
393
+ transform: scale(0.95);
394
+ }
395
+
396
+ /** TOASTER STYLES **/
397
+ /* Toaster Positioning */
398
+ :global(.copyable-header-toast) {
399
+ position: fixed !important;
400
+ bottom: 20px !important;
401
+ right: 20px !important;
402
+ top: auto !important;
403
+ display: flex !important;
404
+ align-items: center !important;
405
+ gap: 12px !important;
406
+ padding: 16px 24px !important;
407
+ background: white !important;
408
+ border-radius: var(--radius-small) !important;
409
+ box-shadow: 0px 0px 15px 3px rgba(0, 0, 0, 0.1) !important;
410
+ }
411
+
412
+ /* Icon container */
413
+ :global(.copyable-header-toast [data-icon]) {
414
+ order: -1 !important;
415
+ display: flex !important;
416
+ align-items: center !important;
417
+ justify-content: center !important;
418
+ margin: 0 !important;
419
+ }
420
+
421
+ /* Text container */
422
+ :global(.copyable-header-toast [data-content]) {
423
+ display: flex !important;
424
+ flex-direction: column !important;
425
+ gap: 4px !important;
426
+ margin: 0 !important;
427
+ }
428
+
429
+ /* Toaster title */
430
+ .copyable-header-toast-title {
431
+ font-size: var(--h6) !important;
432
+ color: hsl(var(--forest)) !important;
433
+ font-weight: 600 !important;
434
+ }
435
+
436
+ /* Toaster description */
437
+ .copyable-header-toast-description {
438
+ font-size: var(--caption) !important;
439
+ color: hsl(var(--grey3)) !important;
440
+ }
441
+
442
+ /* Toaster close button */
443
+ :global(.copyable-header-toast-close-button) {
444
+ background: hsl(var(--grey7)) !important;
445
+ border: 1px solid hsl(var(--grey5)) !important;
446
+ }
447
+
448
+ :global(.copyable-header-toast-close-button:hover) {
449
+ background: hsl(var(--dark)) !important;
450
+ border: 1px solid hsl(var(--grey5)) !important;
451
+ }
452
+
453
+ :global(.copyable-header-toast-close-button svg) {
454
+ color: white !important;
455
+ }
456
+ </style>
@@ -0,0 +1,40 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const CopyableHeader: $$__sveltets_2_IsomorphicComponent<{
15
+ /**
16
+ * COMPONENT PROPS
17
+ */ class?: string;
18
+ style?: string;
19
+ headerText?: string;
20
+ content?: string;
21
+ helpText?: string;
22
+ helpUrl?: string;
23
+ showHelp?: boolean;
24
+ monospaceContent?: boolean;
25
+ showStandaloneCopyButton?: boolean;
26
+ standaloneCopyButtonText?: string;
27
+ showButtonText?: boolean;
28
+ buttonClass?: string;
29
+ showInternalToast?: boolean;
30
+ headerTextClass?: string;
31
+ headerBackgroundColor?: string;
32
+ contentBorderColor?: string;
33
+ }, {
34
+ copy: CustomEvent<any>;
35
+ copyError: CustomEvent<any>;
36
+ } & {
37
+ [evt: string]: CustomEvent<any>;
38
+ }, {}, {}, string>;
39
+ type CopyableHeader = InstanceType<typeof CopyableHeader>;
40
+ export default CopyableHeader;
@@ -0,0 +1,145 @@
1
+ <!--
2
+ * EmptyState Component
3
+ * A reusable component for displaying empty state messages
4
+ *
5
+ * Features:
6
+ * - Centered message with icon
7
+ * - Customizable message text
8
+ * - Customizable icon
9
+ * - Adjustable height
10
+ * - Optional action button
11
+ * - Responsive: hides icon when space is limited
12
+ -->
13
+ <script lang="ts">
14
+ import { IconExclamationCircle } from '@widgetic/design-system/icons';
15
+ import { onMount } from 'svelte';
16
+
17
+ /**
18
+ * Component Props
19
+ * @prop {string} message - The message to display in the empty state
20
+ * @prop {string} height - The height of the empty state container (default: '50vh')
21
+ * @prop {boolean} showIcon - Whether to show the icon (default: true)
22
+ * @prop {string} iconColor - The color of the icon (default: 'hsl(var(--grey3))')
23
+ * @prop {string} textColor - The color of the text (default: 'hsl(var(--grey3))')
24
+ */
25
+ let className = '';
26
+ export { className as class };
27
+ export let style: string = '';
28
+ //
29
+ export let message: string = "No items found";
30
+ export let height: string = "150px";
31
+ export let showIcon: boolean = true;
32
+ export let iconColor: string = "hsl(var(--grey3))";
33
+ export let textColor: string = "hsl(var(--grey3))";
34
+
35
+ // Allow passing a custom icon component
36
+ let iconComponent = IconExclamationCircle;
37
+ export { iconComponent as icon };
38
+
39
+ // References to DOM elements
40
+ let contentContainer: HTMLDivElement;
41
+ let shouldShowIcon = showIcon;
42
+
43
+ // Function to check if there's enough space for the icon
44
+ function checkSpaceForIcon() {
45
+ if (!contentContainer || !showIcon) return;
46
+
47
+ const containerWidth = contentContainer.clientWidth;
48
+ // If container is too narrow (less than 150px), hide the icon
49
+ shouldShowIcon = containerWidth > 150;
50
+ }
51
+
52
+ onMount(() => {
53
+ // Initial check
54
+ checkSpaceForIcon();
55
+
56
+ // Set up resize observer to check space when container size changes
57
+ if (typeof ResizeObserver !== 'undefined') {
58
+ const resizeObserver = new ResizeObserver(() => {
59
+ checkSpaceForIcon();
60
+ });
61
+
62
+ if (contentContainer) {
63
+ resizeObserver.observe(contentContainer);
64
+ }
65
+
66
+ return () => {
67
+ if (contentContainer) {
68
+ resizeObserver.unobserve(contentContainer);
69
+ }
70
+ };
71
+ }
72
+ });
73
+ </script>
74
+
75
+ <div class="empty-state-container {className ? className + ' ' : ''}w-full" style="height: {height} {style}">
76
+ <div class="empty-state-content" bind:this={contentContainer}>
77
+ {#if shouldShowIcon}
78
+ <div class="icon-container">
79
+ <svelte:component this={iconComponent} class="icon" style="color: {iconColor}" />
80
+ </div>
81
+ {/if}
82
+ <p class="subtext" style="color: {textColor}">{message}</p>
83
+
84
+ {#if $$slots.action}
85
+ <div class="ml-2">
86
+ <slot name="action" />
87
+ </div>
88
+ {/if}
89
+ </div>
90
+ </div>
91
+
92
+ <style>
93
+ /* Container takes up full width and prevents scrolling */
94
+ .empty-state-container {
95
+ display: flex;
96
+ align-items: center;
97
+ justify-content: center;
98
+ overflow: hidden;
99
+ position: absolute;
100
+ left: 0;
101
+ right: 0;
102
+ top: 0;
103
+ bottom: 0;
104
+ z-index: 0; /* Lower z-index so it doesn't block interactive elements */
105
+ pointer-events: none; /* Allow clicks to pass through to elements behind */
106
+ }
107
+
108
+ /* Content is centered and has proper spacing */
109
+ .empty-state-content {
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ gap: 0.5rem;
114
+ text-align: center;
115
+ padding: 0 1rem;
116
+ width: 100%;
117
+ max-width: 100%;
118
+ overflow: hidden;
119
+ pointer-events: auto; /* Re-enable pointer events for the content itself */
120
+ }
121
+
122
+ /* Icon container to prevent scaling */
123
+ .icon-container {
124
+ flex-shrink: 0;
125
+ width: 24px;
126
+ height: 24px;
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ }
131
+
132
+ /* Ensure text doesn't get squished */
133
+ .subtext {
134
+ min-width: 0;
135
+ overflow: hidden;
136
+ text-overflow: ellipsis;
137
+ }
138
+
139
+ /* Media query as a fallback for browsers that don't support ResizeObserver */
140
+ @media (max-width: 200px) {
141
+ .icon-container {
142
+ display: none;
143
+ }
144
+ }
145
+ </style>
@@ -0,0 +1,36 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const EmptyState: $$__sveltets_2_IsomorphicComponent<{
15
+ /**
16
+ * Component Props
17
+ * @prop {string} message - The message to display in the empty state
18
+ * @prop {string} height - The height of the empty state container (default: '50vh')
19
+ * @prop {boolean} showIcon - Whether to show the icon (default: true)
20
+ * @prop {string} iconColor - The color of the icon (default: 'hsl(var(--grey3))')
21
+ * @prop {string} textColor - The color of the text (default: 'hsl(var(--grey3))')
22
+ */ class?: string;
23
+ style?: string;
24
+ message?: string;
25
+ height?: string;
26
+ showIcon?: boolean;
27
+ iconColor?: string;
28
+ textColor?: string;
29
+ icon?: any;
30
+ }, {
31
+ [evt: string]: CustomEvent<any>;
32
+ }, {
33
+ action: {};
34
+ }, {}, string>;
35
+ type EmptyState = InstanceType<typeof EmptyState>;
36
+ export default EmptyState;