@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,115 @@
1
+ <!--
2
+ * SearchInput Component
3
+ * A reusable search input component for all Widgetic applications
4
+ *
5
+ * Features:
6
+ * - Consistent UI across all applications
7
+ * - Clear button for search term
8
+ * - Handles input, keydown, and paste events
9
+ * - Smooth transitions and hover states
10
+ * - Uses Widgetic design system styling
11
+ -->
12
+ <script lang="ts">
13
+ import { X, IconSearch } from '@widgetic/design-system/icons';
14
+
15
+ /**
16
+ * Placeholder text for the search input
17
+ */
18
+ export let placeholder = "Search...";
19
+
20
+ /**
21
+ * Current search value
22
+ */
23
+ export let value = "";
24
+
25
+ /**
26
+ * Input event handler
27
+ * @param event The input event
28
+ */
29
+ export let onInput: (event: Event) => Promise<void> | void = () => {};
30
+
31
+ /**
32
+ * Keydown event handler
33
+ * @param event The keyboard event
34
+ */
35
+ export let onKeydown: (event: KeyboardEvent) => void = () => {};
36
+
37
+ /**
38
+ * Clear button event handler
39
+ */
40
+ export let onClear: () => void = () => {
41
+ value = "";
42
+ };
43
+
44
+ /**
45
+ * Paste event handler
46
+ * @param event The clipboard event
47
+ */
48
+ export let onPaste: (event: ClipboardEvent) => void = () => {};
49
+
50
+ /**
51
+ * CSS class to apply to the container
52
+ */
53
+ export let containerClass = "";
54
+
55
+ /**
56
+ * CSS class to apply to the input element
57
+ */
58
+ export let inputClass = "";
59
+ </script>
60
+
61
+ <div class="w-full {containerClass}">
62
+ <div class="group relative w-full">
63
+ <div class="relative overflow-hidden rounded-small border border-[hsl(var(--grey2))] bg-[hsl(var(--grey1))] transition-colors duration-200 hover:border-[hsl(var(--grey2))]">
64
+ <div class="relative w-full flex items-center">
65
+ <div class="absolute left-2 flex items-center pointer-events-none">
66
+ <IconSearch class="h-5 w-5 text-[hsl(var(--grey5))] transition-colors duration-300 {value ? 'text-[hsl(var(--grey7))]' : 'group-hover:text-[hsl(var(--grey7))] group-focus-within:text-[hsl(var(--grey7))]'}" />
67
+ </div>
68
+ <input
69
+ type="text"
70
+ {placeholder}
71
+ bind:value
72
+ oninput={onInput}
73
+ onkeydown={(e) => {
74
+ // Prevent backspace events when input is already empty
75
+ if (e.key === 'Backspace' && !value) {
76
+ e.preventDefault();
77
+ return;
78
+ }
79
+ onKeydown(e);
80
+ }}
81
+ onpaste={onPaste}
82
+ class="w-full h-[38px] border-0 bg-transparent focus:outline-none focus:ring-0 focus-visible:ring-0 pl-9 pr-8 subtext
83
+ transition-all duration-300
84
+ {value ? 'text-[hsl(var(--grey7))]' : 'text-[hsl(var(--grey3))] placeholder:text-[hsl(var(--grey3))] placeholder:transition-colors placeholder:duration-300 group-hover:text-[hsl(var(--grey7))] group-hover:placeholder:text-[hsl(var(--grey7))] group-focus-within:text-[hsl(var(--grey7))] group-focus-within:placeholder:text-[hsl(var(--grey7)))'}
85
+ {inputClass}"
86
+ />
87
+ {#if value}
88
+ <button
89
+ type="button"
90
+ class="absolute right-2 h-6 w-6 inline-flex items-center justify-center rounded-full hover:bg-[hsl(var(--grey2))] transition-all duration-300 widgetic-colors"
91
+ onclick={onClear}
92
+ >
93
+ <X class="h-4 w-4 text-[hsl(var(--grey7))] transition-colors duration-300 hover:text-[hsl(var(--grey7))] widgetic-colors" />
94
+ </button>
95
+ {/if}
96
+ </div>
97
+ </div>
98
+ </div>
99
+ </div>
100
+
101
+ <style>
102
+ /* Ensure smooth text color transitions */
103
+ input {
104
+ transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease !important;
105
+ }
106
+
107
+ input::-moz-placeholder {
108
+ -moz-transition: color 300ms ease !important;
109
+ transition: color 300ms ease !important;
110
+ }
111
+
112
+ input::placeholder {
113
+ transition: color 300ms ease !important;
114
+ }
115
+ </style>
@@ -0,0 +1,46 @@
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 SearchInput: $$__sveltets_2_IsomorphicComponent<{
15
+ /**
16
+ * Placeholder text for the search input
17
+ */ placeholder?: string;
18
+ /**
19
+ * Current search value
20
+ */ value?: string;
21
+ /**
22
+ * Input event handler
23
+ * @param event The input event
24
+ */ onInput?: (event: Event) => Promise<void> | void;
25
+ /**
26
+ * Keydown event handler
27
+ * @param event The keyboard event
28
+ */ onKeydown?: (event: KeyboardEvent) => void;
29
+ /**
30
+ * Clear button event handler
31
+ */ onClear?: () => void;
32
+ /**
33
+ * Paste event handler
34
+ * @param event The clipboard event
35
+ */ onPaste?: (event: ClipboardEvent) => void;
36
+ /**
37
+ * CSS class to apply to the container
38
+ */ containerClass?: string;
39
+ /**
40
+ * CSS class to apply to the input element
41
+ */ inputClass?: string;
42
+ }, {
43
+ [evt: string]: CustomEvent<any>;
44
+ }, {}, {}, string>;
45
+ type SearchInput = InstanceType<typeof SearchInput>;
46
+ export default SearchInput;
@@ -0,0 +1,14 @@
1
+ import { SvelteComponent } from 'svelte';
2
+
3
+ export interface SearchInputProps {
4
+ placeholder?: string;
5
+ value?: string;
6
+ onInput?: (event: Event) => Promise<void> | void;
7
+ onKeydown?: (event: KeyboardEvent) => void;
8
+ onClear?: () => void;
9
+ onPaste?: (event: ClipboardEvent) => void;
10
+ containerClass?: string;
11
+ inputClass?: string;
12
+ }
13
+
14
+ export default class SearchInput extends SvelteComponent<SearchInputProps> {}
@@ -0,0 +1,4 @@
1
+ import SearchInput from './SearchInput.svelte';
2
+
3
+ export { SearchInput };
4
+ export default SearchInput;
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ import { mode } from 'mode-watcher';
3
+ let { hex = $bindable() }: { hex: string } = $props();
4
+ import ColorPicker from 'svelte-awesome-color-picker';
5
+ </script>
6
+
7
+ <div class:dark={$mode === 'dark'}>
8
+ <ColorPicker
9
+ bind:hex
10
+ sliderDirection="vertical"
11
+ label="Pick a color"
12
+ isTextInput={false}
13
+ isAlpha
14
+ --picker-indicator-size="1rem"
15
+ --input-size="1rem"
16
+ />
17
+ </div>
@@ -0,0 +1,6 @@
1
+ type $$ComponentProps = {
2
+ hex: string;
3
+ };
4
+ declare const Colorpicker: import("svelte").Component<$$ComponentProps, {}, "hex">;
5
+ type Colorpicker = ReturnType<typeof Colorpicker>;
6
+ export default Colorpicker;
@@ -0,0 +1,2 @@
1
+ import { Extension } from '@tiptap/core';
2
+ export declare const ColorHighlighter: Extension<any, any>;
@@ -0,0 +1,25 @@
1
+ import { Extension } from '@tiptap/core';
2
+ import { Plugin } from '@tiptap/pm/state';
3
+ import findColors from '../utils.js';
4
+ export const ColorHighlighter = Extension.create({
5
+ name: 'colorHighlighter',
6
+ addProseMirrorPlugins() {
7
+ return [
8
+ new Plugin({
9
+ state: {
10
+ init(_, { doc }) {
11
+ return findColors(doc);
12
+ },
13
+ apply(transaction, oldState) {
14
+ return transaction.docChanged ? findColors(transaction.doc) : oldState;
15
+ }
16
+ },
17
+ props: {
18
+ decorations(state) {
19
+ return this.getState(state);
20
+ }
21
+ }
22
+ })
23
+ ];
24
+ }
25
+ });
@@ -0,0 +1 @@
1
+ export declare const ImageExtension: import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any>;
@@ -0,0 +1,30 @@
1
+ import { SvelteNodeViewRenderer } from 'svelte-tiptap';
2
+ import ImageExtendedComponent from '../image-extended-component.svelte';
3
+ import Image from '@tiptap/extension-image';
4
+ export const ImageExtension = Image.extend({
5
+ addAttributes() {
6
+ return {
7
+ src: {
8
+ default: null
9
+ },
10
+ alt: {
11
+ default: null
12
+ },
13
+ title: {
14
+ default: null
15
+ },
16
+ width: {
17
+ default: '100%'
18
+ },
19
+ height: {
20
+ default: null
21
+ },
22
+ align: {
23
+ default: 'left'
24
+ }
25
+ };
26
+ },
27
+ addNodeView: () => {
28
+ return SvelteNodeViewRenderer(ImageExtendedComponent);
29
+ }
30
+ });
@@ -0,0 +1,57 @@
1
+ import { Extension, type Range } from '@tiptap/core';
2
+ import { PluginKey } from '@tiptap/pm/state';
3
+ declare module '@tiptap/core' {
4
+ interface Commands<ReturnType> {
5
+ search: {
6
+ /**
7
+ * @description Set search term in extension.
8
+ */
9
+ setSearchTerm: (searchTerm: string) => ReturnType;
10
+ /**
11
+ * @description Set replace term in extension.
12
+ */
13
+ setReplaceTerm: (replaceTerm: string) => ReturnType;
14
+ /**
15
+ * @description Set case sensitivity in extension.
16
+ */
17
+ setCaseSensitive: (caseSensitive: boolean) => ReturnType;
18
+ /**
19
+ * @description Reset current search result to first instance.
20
+ */
21
+ resetIndex: () => ReturnType;
22
+ /**
23
+ * @description Find next instance of search result.
24
+ */
25
+ nextSearchResult: () => ReturnType;
26
+ /**
27
+ * @description Find previous instance of search result.
28
+ */
29
+ previousSearchResult: () => ReturnType;
30
+ /**
31
+ * @description Replace first instance of search result with given replace term.
32
+ */
33
+ replace: () => ReturnType;
34
+ /**
35
+ * @description Replace all instances of search result with given replace term.
36
+ */
37
+ replaceAll: () => ReturnType;
38
+ };
39
+ }
40
+ }
41
+ export declare const searchAndReplacePluginKey: PluginKey<any>;
42
+ export interface SearchAndReplaceOptions {
43
+ searchResultClass: string;
44
+ disableRegex: boolean;
45
+ }
46
+ export interface SearchAndReplaceStorage {
47
+ searchTerm: string;
48
+ replaceTerm: string;
49
+ results: Range[];
50
+ lastSearchTerm: string;
51
+ caseSensitive: boolean;
52
+ lastCaseSensitive: boolean;
53
+ resultIndex: number;
54
+ lastResultIndex: number;
55
+ }
56
+ export declare const SearchAndReplace: Extension<SearchAndReplaceOptions, SearchAndReplaceStorage>;
57
+ export default SearchAndReplace;
@@ -0,0 +1,232 @@
1
+ // MIT License
2
+ // Copyright (c) 2023 - 2024 Jeet Mandaliya (Github Username: sereneinserenade)
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ // The above copyright notice and this permission notice shall be included in all
10
+ // copies or substantial portions of the Software.
11
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17
+ // SOFTWARE.
18
+ import { Extension } from '@tiptap/core';
19
+ import { Decoration, DecorationSet } from '@tiptap/pm/view';
20
+ import { Plugin, PluginKey } from '@tiptap/pm/state';
21
+ import { Node as PMNode } from '@tiptap/pm/model';
22
+ const getRegex = (s, disableRegex, caseSensitive) => {
23
+ return RegExp(disableRegex ? s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') : s, caseSensitive ? 'gu' : 'gui');
24
+ };
25
+ function processSearches(doc, searchTerm, searchResultClass, resultIndex) {
26
+ const decorations = [];
27
+ const results = [];
28
+ let textNodesWithPosition = [];
29
+ let index = 0;
30
+ if (!searchTerm) {
31
+ return {
32
+ decorationsToReturn: DecorationSet.empty,
33
+ results: []
34
+ };
35
+ }
36
+ doc?.descendants((node, pos) => {
37
+ if (node.isText) {
38
+ if (textNodesWithPosition[index]) {
39
+ textNodesWithPosition[index] = {
40
+ text: textNodesWithPosition[index].text + node.text,
41
+ pos: textNodesWithPosition[index].pos
42
+ };
43
+ }
44
+ else {
45
+ textNodesWithPosition[index] = {
46
+ text: `${node.text}`,
47
+ pos
48
+ };
49
+ }
50
+ }
51
+ else {
52
+ index += 1;
53
+ }
54
+ });
55
+ textNodesWithPosition = textNodesWithPosition.filter(Boolean);
56
+ for (const element of textNodesWithPosition) {
57
+ const { text, pos } = element;
58
+ const matches = Array.from(text.matchAll(searchTerm)).filter(([matchText]) => matchText.trim());
59
+ for (const m of matches) {
60
+ if (m[0] === '')
61
+ break;
62
+ if (m.index !== undefined) {
63
+ results.push({
64
+ from: pos + m.index,
65
+ to: pos + m.index + m[0].length
66
+ });
67
+ }
68
+ }
69
+ }
70
+ for (let i = 0; i < results.length; i += 1) {
71
+ const r = results[i];
72
+ const className = i === resultIndex ? `${searchResultClass} ${searchResultClass}-current` : searchResultClass;
73
+ const decoration = Decoration.inline(r.from, r.to, {
74
+ class: className
75
+ });
76
+ decorations.push(decoration);
77
+ }
78
+ return {
79
+ decorationsToReturn: DecorationSet.create(doc, decorations),
80
+ results
81
+ };
82
+ }
83
+ const replace = (replaceTerm, results, { state, dispatch }) => {
84
+ const firstResult = results[0];
85
+ if (!firstResult)
86
+ return;
87
+ const { from, to } = results[0];
88
+ if (dispatch)
89
+ dispatch(state.tr.insertText(replaceTerm, from, to));
90
+ };
91
+ const rebaseNextResult = (replaceTerm, index, lastOffset, results) => {
92
+ const nextIndex = index + 1;
93
+ if (!results[nextIndex])
94
+ return null;
95
+ const { from: currentFrom, to: currentTo } = results[index];
96
+ const offset = currentTo - currentFrom - replaceTerm.length + lastOffset;
97
+ const { from, to } = results[nextIndex];
98
+ results[nextIndex] = {
99
+ to: to - offset,
100
+ from: from - offset
101
+ };
102
+ return [offset, results];
103
+ };
104
+ const replaceAll = (replaceTerm, results, { tr, dispatch }) => {
105
+ let offset = 0;
106
+ let resultsCopy = results.slice();
107
+ if (!resultsCopy.length)
108
+ return;
109
+ for (let i = 0; i < resultsCopy.length; i += 1) {
110
+ const { from, to } = resultsCopy[i];
111
+ tr.insertText(replaceTerm, from, to);
112
+ const rebaseNextResultResponse = rebaseNextResult(replaceTerm, i, offset, resultsCopy);
113
+ if (!rebaseNextResultResponse)
114
+ continue;
115
+ offset = rebaseNextResultResponse[0];
116
+ resultsCopy = rebaseNextResultResponse[1];
117
+ }
118
+ dispatch(tr);
119
+ };
120
+ export const searchAndReplacePluginKey = new PluginKey('searchAndReplacePlugin');
121
+ export const SearchAndReplace = Extension.create({
122
+ name: 'searchAndReplace',
123
+ addOptions() {
124
+ return {
125
+ searchResultClass: 'search-result',
126
+ disableRegex: true
127
+ };
128
+ },
129
+ addStorage() {
130
+ return {
131
+ searchTerm: '',
132
+ replaceTerm: '',
133
+ results: [],
134
+ lastSearchTerm: '',
135
+ caseSensitive: false,
136
+ lastCaseSensitive: false,
137
+ resultIndex: 0,
138
+ lastResultIndex: 0
139
+ };
140
+ },
141
+ addCommands() {
142
+ return {
143
+ setSearchTerm: (searchTerm) => ({ editor }) => {
144
+ editor.storage.searchAndReplace.searchTerm = searchTerm;
145
+ return false;
146
+ },
147
+ setReplaceTerm: (replaceTerm) => ({ editor }) => {
148
+ editor.storage.searchAndReplace.replaceTerm = replaceTerm;
149
+ return false;
150
+ },
151
+ setCaseSensitive: (caseSensitive) => ({ editor }) => {
152
+ editor.storage.searchAndReplace.caseSensitive = caseSensitive;
153
+ return false;
154
+ },
155
+ resetIndex: () => ({ editor }) => {
156
+ editor.storage.searchAndReplace.resultIndex = 0;
157
+ return false;
158
+ },
159
+ nextSearchResult: () => ({ editor }) => {
160
+ const { results, resultIndex } = editor.storage.searchAndReplace;
161
+ const nextIndex = resultIndex + 1;
162
+ if (results[nextIndex]) {
163
+ editor.storage.searchAndReplace.resultIndex = nextIndex;
164
+ }
165
+ else {
166
+ editor.storage.searchAndReplace.resultIndex = 0;
167
+ }
168
+ return false;
169
+ },
170
+ previousSearchResult: () => ({ editor }) => {
171
+ const { results, resultIndex } = editor.storage.searchAndReplace;
172
+ const prevIndex = resultIndex - 1;
173
+ if (results[prevIndex]) {
174
+ editor.storage.searchAndReplace.resultIndex = prevIndex;
175
+ }
176
+ else {
177
+ editor.storage.searchAndReplace.resultIndex = results.length - 1;
178
+ }
179
+ return false;
180
+ },
181
+ replace: () => ({ editor, state, dispatch }) => {
182
+ const { replaceTerm, results } = editor.storage.searchAndReplace;
183
+ replace(replaceTerm, results, { state, dispatch });
184
+ return false;
185
+ },
186
+ replaceAll: () => ({ editor, tr, dispatch }) => {
187
+ const { replaceTerm, results } = editor.storage.searchAndReplace;
188
+ replaceAll(replaceTerm, results, { tr, dispatch });
189
+ return false;
190
+ }
191
+ };
192
+ },
193
+ addProseMirrorPlugins() {
194
+ const editor = this.editor;
195
+ const { searchResultClass, disableRegex } = this.options;
196
+ const setLastSearchTerm = (t) => (editor.storage.searchAndReplace.lastSearchTerm = t);
197
+ const setLastCaseSensitive = (t) => (editor.storage.searchAndReplace.lastCaseSensitive = t);
198
+ const setLastResultIndex = (t) => (editor.storage.searchAndReplace.lastResultIndex = t);
199
+ return [
200
+ new Plugin({
201
+ key: searchAndReplacePluginKey,
202
+ state: {
203
+ init: () => DecorationSet.empty,
204
+ apply({ doc, docChanged }, oldState) {
205
+ const { searchTerm, lastSearchTerm, caseSensitive, lastCaseSensitive, resultIndex, lastResultIndex } = editor.storage.searchAndReplace;
206
+ if (!docChanged &&
207
+ lastSearchTerm === searchTerm &&
208
+ lastCaseSensitive === caseSensitive &&
209
+ lastResultIndex === resultIndex)
210
+ return oldState;
211
+ setLastSearchTerm(searchTerm);
212
+ setLastCaseSensitive(caseSensitive);
213
+ setLastResultIndex(resultIndex);
214
+ if (!searchTerm) {
215
+ editor.storage.searchAndReplace.results = [];
216
+ return DecorationSet.empty;
217
+ }
218
+ const { decorationsToReturn, results } = processSearches(doc, getRegex(searchTerm, disableRegex, caseSensitive), searchResultClass, resultIndex);
219
+ editor.storage.searchAndReplace.results = results;
220
+ return decorationsToReturn;
221
+ }
222
+ },
223
+ props: {
224
+ decorations(state) {
225
+ return this.getState(state);
226
+ }
227
+ }
228
+ })
229
+ ];
230
+ }
231
+ });
232
+ export default SearchAndReplace;
@@ -0,0 +1,2 @@
1
+ import { Extension } from '@tiptap/core';
2
+ export declare const SmilieReplacer: Extension<any, any>;