origam 2.2.1 → 2.3.0

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 (345) hide show
  1. package/CHANGELOG.md +224 -0
  2. package/README.md +22 -0
  3. package/dist/src/assets/css/tokens/dark.css +318 -0
  4. package/dist/src/assets/css/tokens/light.css +159 -0
  5. package/dist/src/assets/locales/index.js +2 -2
  6. package/dist/src/assets/scss/tokens/_dark.scss +159 -0
  7. package/dist/src/assets/scss/tokens/_light.scss +159 -0
  8. package/dist/src/components/Bracket/OrigamBracket.vue +530 -0
  9. package/dist/src/components/Bracket/OrigamBracketCompetitor.vue +210 -0
  10. package/dist/src/components/Bracket/OrigamBracketMatch.vue +288 -0
  11. package/dist/src/components/Bracket/OrigamBracketRound.vue +150 -0
  12. package/dist/src/components/Bracket/index.cjs +34 -0
  13. package/dist/src/components/Bracket/index.d.ts +4 -0
  14. package/dist/src/components/Bracket/index.js +4 -0
  15. package/dist/src/components/ClientOnly/OrigamClientOnly.vue +28 -0
  16. package/dist/src/components/ClientOnly/index.cjs +13 -0
  17. package/dist/src/components/ClientOnly/index.d.ts +1 -0
  18. package/dist/src/components/ClientOnly/index.js +1 -0
  19. package/dist/src/components/Code/OrigamCode.vue +449 -0
  20. package/dist/src/components/Code/index.cjs +13 -0
  21. package/dist/src/components/Code/index.d.ts +1 -0
  22. package/dist/src/components/Code/index.js +1 -0
  23. package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +1 -0
  24. package/dist/src/components/CommandPalette/OrigamCommandPalette.vue +614 -0
  25. package/dist/src/components/CommandPalette/index.cjs +13 -0
  26. package/dist/src/components/CommandPalette/index.d.ts +1 -0
  27. package/dist/src/components/CommandPalette/index.js +1 -0
  28. package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +1 -0
  29. package/dist/src/components/Parallax/OrigamParallax.vue +65 -34
  30. package/dist/src/components/Parallax/OrigamParallaxLayer.vue +119 -0
  31. package/dist/src/components/Parallax/index.cjs +7 -0
  32. package/dist/src/components/Parallax/index.d.ts +1 -0
  33. package/dist/src/components/Parallax/index.js +1 -0
  34. package/dist/src/components/PasswordField/OrigamPasswordField.vue +1 -0
  35. package/dist/src/components/Select/OrigamSelect.vue +1 -0
  36. package/dist/src/components/SnackbarStack/OrigamSnackbarStack.vue +457 -0
  37. package/dist/src/components/SnackbarStack/index.cjs +13 -0
  38. package/dist/src/components/SnackbarStack/index.d.ts +1 -0
  39. package/dist/src/components/SnackbarStack/index.js +1 -0
  40. package/dist/src/components/Tabs/OrigamTab.vue +263 -0
  41. package/dist/src/components/Tabs/OrigamTabPanel.vue +112 -0
  42. package/dist/src/components/Tabs/OrigamTabPanels.vue +139 -0
  43. package/dist/src/components/Tabs/OrigamTabs.vue +242 -0
  44. package/dist/src/components/Tabs/index.cjs +34 -0
  45. package/dist/src/components/Tabs/index.d.ts +4 -0
  46. package/dist/src/components/Tabs/index.js +4 -0
  47. package/dist/src/components/TextField/OrigamTextField.vue +75 -5
  48. package/dist/src/components/TextareaField/OrigamRichToolbar.vue +284 -0
  49. package/dist/src/components/TextareaField/OrigamTextareaField.vue +192 -5
  50. package/dist/src/components/TextareaField/index.cjs +7 -0
  51. package/dist/src/components/TextareaField/index.d.ts +1 -0
  52. package/dist/src/components/TextareaField/index.js +1 -0
  53. package/dist/src/components/index.cjs +66 -0
  54. package/dist/src/components/index.d.ts +6 -0
  55. package/dist/src/components/index.js +6 -0
  56. package/dist/src/composables/Code/code.composable.cjs +98 -0
  57. package/dist/src/composables/Code/code.composable.d.ts +10 -0
  58. package/dist/src/composables/Code/code.composable.js +82 -0
  59. package/dist/src/composables/CommandPalette/command.composable.cjs +53 -0
  60. package/dist/src/composables/CommandPalette/command.composable.d.ts +37 -0
  61. package/dist/src/composables/CommandPalette/command.composable.js +46 -0
  62. package/dist/src/composables/Commons/virtual.composable.cjs +1 -0
  63. package/dist/src/composables/Commons/virtual.composable.js +1 -0
  64. package/dist/src/composables/CssSupport/cssSupport.composable.cjs +12 -0
  65. package/dist/src/composables/CssSupport/cssSupport.composable.d.ts +25 -0
  66. package/dist/src/composables/CssSupport/cssSupport.composable.js +10 -1
  67. package/dist/src/composables/DataTable/headers.composable.d.ts +36 -36
  68. package/dist/src/composables/Mask/index.cjs +16 -0
  69. package/dist/src/composables/Mask/index.d.ts +1 -0
  70. package/dist/src/composables/Mask/index.js +1 -0
  71. package/dist/src/composables/Mask/mask.composable.cjs +57 -0
  72. package/dist/src/composables/Mask/mask.composable.d.ts +39 -0
  73. package/dist/src/composables/Mask/mask.composable.js +51 -0
  74. package/dist/src/composables/Parallax/parallax.composable.cjs +232 -0
  75. package/dist/src/composables/Parallax/parallax.composable.d.ts +60 -0
  76. package/dist/src/composables/Parallax/parallax.composable.js +219 -0
  77. package/dist/src/composables/Responsive/aspect.composable.cjs +6 -1
  78. package/dist/src/composables/Responsive/aspect.composable.d.ts +10 -0
  79. package/dist/src/composables/Responsive/aspect.composable.js +6 -1
  80. package/dist/src/composables/SnackbarStack/snackbar-stack.composable.cjs +102 -0
  81. package/dist/src/composables/SnackbarStack/snackbar-stack.composable.d.ts +58 -0
  82. package/dist/src/composables/SnackbarStack/snackbar-stack.composable.js +92 -0
  83. package/dist/src/composables/Textarea/textarea-rich.composable.cjs +263 -0
  84. package/dist/src/composables/Textarea/textarea-rich.composable.d.ts +41 -0
  85. package/dist/src/composables/Textarea/textarea-rich.composable.js +257 -0
  86. package/dist/src/composables/index.cjs +66 -0
  87. package/dist/src/composables/index.d.ts +6 -0
  88. package/dist/src/composables/index.js +6 -0
  89. package/dist/src/consts/Bracket/bracket.const.cjs +12 -0
  90. package/dist/src/consts/Bracket/bracket.const.d.ts +34 -0
  91. package/dist/src/consts/Bracket/bracket.const.js +15 -0
  92. package/dist/src/consts/Code/code.const.cjs +26 -0
  93. package/dist/src/consts/Code/code.const.d.ts +40 -0
  94. package/dist/src/consts/Code/code.const.js +35 -0
  95. package/dist/src/consts/CommandPalette/command-palette.const.cjs +10 -0
  96. package/dist/src/consts/CommandPalette/command-palette.const.d.ts +16 -0
  97. package/dist/src/consts/CommandPalette/command-palette.const.js +7 -0
  98. package/dist/src/consts/Mask/built-in-patterns.const.cjs +66 -0
  99. package/dist/src/consts/Mask/built-in-patterns.const.d.ts +20 -0
  100. package/dist/src/consts/Mask/built-in-patterns.const.js +60 -0
  101. package/dist/src/consts/Parallax/parallax-layer.const.cjs +7 -0
  102. package/dist/src/consts/Parallax/parallax-layer.const.d.ts +3 -0
  103. package/dist/src/consts/Parallax/parallax-layer.const.js +1 -0
  104. package/dist/src/consts/SnackbarStack/snackbar-stack.const.cjs +12 -0
  105. package/dist/src/consts/SnackbarStack/snackbar-stack.const.d.ts +33 -0
  106. package/dist/src/consts/SnackbarStack/snackbar-stack.const.js +18 -0
  107. package/dist/src/consts/Tabs/tabs.const.cjs +9 -0
  108. package/dist/src/consts/Tabs/tabs.const.d.ts +23 -0
  109. package/dist/src/consts/Tabs/tabs.const.js +3 -0
  110. package/dist/src/consts/Textarea/textarea.const.cjs +28 -0
  111. package/dist/src/consts/Textarea/textarea.const.d.ts +38 -0
  112. package/dist/src/consts/Textarea/textarea.const.js +65 -0
  113. package/dist/src/consts/Theme/theme.const.cjs +15 -0
  114. package/dist/src/consts/Theme/theme.const.d.ts +9 -0
  115. package/dist/src/consts/Theme/theme.const.js +9 -0
  116. package/dist/src/consts/index.cjs +99 -0
  117. package/dist/src/consts/index.d.ts +9 -0
  118. package/dist/src/consts/index.js +9 -0
  119. package/dist/src/enums/Bracket/bracket-match-status.enum.cjs +13 -0
  120. package/dist/src/enums/Bracket/bracket-match-status.enum.d.ts +6 -0
  121. package/dist/src/enums/Bracket/bracket-match-status.enum.js +7 -0
  122. package/dist/src/enums/Bracket/bracket-variant.enum.cjs +12 -0
  123. package/dist/src/enums/Bracket/bracket-variant.enum.d.ts +5 -0
  124. package/dist/src/enums/Bracket/bracket-variant.enum.js +6 -0
  125. package/dist/src/enums/Code/code-lang.enum.cjs +23 -0
  126. package/dist/src/enums/Code/code-lang.enum.d.ts +25 -0
  127. package/dist/src/enums/Code/code-lang.enum.js +17 -0
  128. package/dist/src/enums/Code/code-theme.enum.cjs +12 -0
  129. package/dist/src/enums/Code/code-theme.enum.d.ts +12 -0
  130. package/dist/src/enums/Code/code-theme.enum.js +6 -0
  131. package/dist/src/enums/Mask/mask.enum.cjs +28 -0
  132. package/dist/src/enums/Mask/mask.enum.d.ts +36 -0
  133. package/dist/src/enums/Mask/mask.enum.js +22 -0
  134. package/dist/src/enums/Parallax/parallax-direction.enum.cjs +12 -0
  135. package/dist/src/enums/Parallax/parallax-direction.enum.d.ts +5 -0
  136. package/dist/src/enums/Parallax/parallax-direction.enum.js +6 -0
  137. package/dist/src/enums/Parallax/parallax-easing.enum.cjs +12 -0
  138. package/dist/src/enums/Parallax/parallax-easing.enum.d.ts +5 -0
  139. package/dist/src/enums/Parallax/parallax-easing.enum.js +6 -0
  140. package/dist/src/enums/Tabs/tab-variant.enum.cjs +12 -0
  141. package/dist/src/enums/Tabs/tab-variant.enum.d.ts +5 -0
  142. package/dist/src/enums/Tabs/tab-variant.enum.js +6 -0
  143. package/dist/src/enums/Textarea/textarea-mode.enum.cjs +11 -0
  144. package/dist/src/enums/Textarea/textarea-mode.enum.d.ts +13 -0
  145. package/dist/src/enums/Textarea/textarea-mode.enum.js +5 -0
  146. package/dist/src/enums/Textarea/textarea-output.enum.cjs +11 -0
  147. package/dist/src/enums/Textarea/textarea-output.enum.d.ts +14 -0
  148. package/dist/src/enums/Textarea/textarea-output.enum.js +5 -0
  149. package/dist/src/enums/Textarea/textarea-toolbar-command.enum.cjs +21 -0
  150. package/dist/src/enums/Textarea/textarea-toolbar-command.enum.d.ts +20 -0
  151. package/dist/src/enums/Textarea/textarea-toolbar-command.enum.js +15 -0
  152. package/dist/src/enums/Textarea/textarea-toolbar-position.enum.cjs +12 -0
  153. package/dist/src/enums/Textarea/textarea-toolbar-position.enum.d.ts +10 -0
  154. package/dist/src/enums/Textarea/textarea-toolbar-position.enum.js +6 -0
  155. package/dist/src/enums/index.cjs +132 -0
  156. package/dist/src/enums/index.d.ts +12 -0
  157. package/dist/src/enums/index.js +12 -0
  158. package/dist/src/interfaces/Bracket/bracket-competitor-component.interface.cjs +1 -0
  159. package/dist/src/interfaces/Bracket/bracket-competitor-component.interface.d.ts +53 -0
  160. package/dist/src/interfaces/Bracket/bracket-competitor-component.interface.js +0 -0
  161. package/dist/src/interfaces/Bracket/bracket-competitor.interface.cjs +1 -0
  162. package/dist/src/interfaces/Bracket/bracket-competitor.interface.d.ts +25 -0
  163. package/dist/src/interfaces/Bracket/bracket-competitor.interface.js +0 -0
  164. package/dist/src/interfaces/Bracket/bracket-match-component.interface.cjs +1 -0
  165. package/dist/src/interfaces/Bracket/bracket-match-component.interface.d.ts +45 -0
  166. package/dist/src/interfaces/Bracket/bracket-match-component.interface.js +0 -0
  167. package/dist/src/interfaces/Bracket/bracket-match.interface.cjs +1 -0
  168. package/dist/src/interfaces/Bracket/bracket-match.interface.d.ts +51 -0
  169. package/dist/src/interfaces/Bracket/bracket-match.interface.js +0 -0
  170. package/dist/src/interfaces/Bracket/bracket-round-component.interface.cjs +1 -0
  171. package/dist/src/interfaces/Bracket/bracket-round-component.interface.d.ts +26 -0
  172. package/dist/src/interfaces/Bracket/bracket-round-component.interface.js +0 -0
  173. package/dist/src/interfaces/Bracket/bracket-round.interface.cjs +1 -0
  174. package/dist/src/interfaces/Bracket/bracket-round.interface.d.ts +27 -0
  175. package/dist/src/interfaces/Bracket/bracket-round.interface.js +0 -0
  176. package/dist/src/interfaces/Bracket/bracket.interface.cjs +1 -0
  177. package/dist/src/interfaces/Bracket/bracket.interface.d.ts +71 -0
  178. package/dist/src/interfaces/Bracket/bracket.interface.js +0 -0
  179. package/dist/src/interfaces/Code/code.interface.cjs +1 -0
  180. package/dist/src/interfaces/Code/code.interface.d.ts +99 -0
  181. package/dist/src/interfaces/Code/code.interface.js +0 -0
  182. package/dist/src/interfaces/CommandPalette/command-palette.interface.cjs +1 -0
  183. package/dist/src/interfaces/CommandPalette/command-palette.interface.d.ts +57 -0
  184. package/dist/src/interfaces/CommandPalette/command-palette.interface.js +0 -0
  185. package/dist/src/interfaces/CommandPalette/command.interface.cjs +1 -0
  186. package/dist/src/interfaces/CommandPalette/command.interface.d.ts +51 -0
  187. package/dist/src/interfaces/CommandPalette/command.interface.js +0 -0
  188. package/dist/src/interfaces/Mask/mask-options.interface.cjs +1 -0
  189. package/dist/src/interfaces/Mask/mask-options.interface.d.ts +48 -0
  190. package/dist/src/interfaces/Mask/mask-options.interface.js +0 -0
  191. package/dist/src/interfaces/Nuxt/nuxt-module.interface.cjs +1 -0
  192. package/dist/src/interfaces/Nuxt/nuxt-module.interface.d.ts +73 -0
  193. package/dist/src/interfaces/Nuxt/nuxt-module.interface.js +0 -0
  194. package/dist/src/interfaces/Parallax/parallax-layer.interface.cjs +1 -0
  195. package/dist/src/interfaces/Parallax/parallax-layer.interface.d.ts +39 -0
  196. package/dist/src/interfaces/Parallax/parallax-layer.interface.js +0 -0
  197. package/dist/src/interfaces/Parallax/parallax.interface.d.ts +83 -3
  198. package/dist/src/interfaces/SnackbarStack/snackbar-stack-item.interface.cjs +1 -0
  199. package/dist/src/interfaces/SnackbarStack/snackbar-stack-item.interface.d.ts +60 -0
  200. package/dist/src/interfaces/SnackbarStack/snackbar-stack-item.interface.js +0 -0
  201. package/dist/src/interfaces/SnackbarStack/snackbar-stack.interface.cjs +1 -0
  202. package/dist/src/interfaces/SnackbarStack/snackbar-stack.interface.d.ts +60 -0
  203. package/dist/src/interfaces/SnackbarStack/snackbar-stack.interface.js +0 -0
  204. package/dist/src/interfaces/Tabs/tab-panel.interface.cjs +1 -0
  205. package/dist/src/interfaces/Tabs/tab-panel.interface.d.ts +12 -0
  206. package/dist/src/interfaces/Tabs/tab-panel.interface.js +0 -0
  207. package/dist/src/interfaces/Tabs/tab-panels.interface.cjs +1 -0
  208. package/dist/src/interfaces/Tabs/tab-panels.interface.d.ts +28 -0
  209. package/dist/src/interfaces/Tabs/tab-panels.interface.js +0 -0
  210. package/dist/src/interfaces/Tabs/tab.interface.cjs +1 -0
  211. package/dist/src/interfaces/Tabs/tab.interface.d.ts +18 -0
  212. package/dist/src/interfaces/Tabs/tab.interface.js +0 -0
  213. package/dist/src/interfaces/Tabs/tabs.interface.cjs +1 -0
  214. package/dist/src/interfaces/Tabs/tabs.interface.d.ts +26 -0
  215. package/dist/src/interfaces/Tabs/tabs.interface.js +0 -0
  216. package/dist/src/interfaces/TextField/text-field.interface.d.ts +21 -1
  217. package/dist/src/interfaces/Textarea/textarea-rich.interface.cjs +1 -0
  218. package/dist/src/interfaces/Textarea/textarea-rich.interface.d.ts +41 -0
  219. package/dist/src/interfaces/Textarea/textarea-rich.interface.js +0 -0
  220. package/dist/src/interfaces/Textarea/textarea-toolbar.interface.cjs +1 -0
  221. package/dist/src/interfaces/Textarea/textarea-toolbar.interface.d.ts +31 -0
  222. package/dist/src/interfaces/Textarea/textarea-toolbar.interface.js +0 -0
  223. package/dist/src/interfaces/TextareaField/textarea-field.interface.d.ts +38 -1
  224. package/dist/src/interfaces/index.cjs +231 -0
  225. package/dist/src/interfaces/index.d.ts +21 -0
  226. package/dist/src/interfaces/index.js +21 -0
  227. package/dist/src/nuxt/index.cjs +13 -0
  228. package/dist/src/nuxt/index.d.ts +2 -0
  229. package/dist/src/nuxt/index.js +1 -0
  230. package/dist/src/nuxt/module.cjs +74 -0
  231. package/dist/src/nuxt/module.d.ts +31 -0
  232. package/dist/src/nuxt/module.js +68 -0
  233. package/dist/src/nuxt/plugin.client.cjs +44 -0
  234. package/dist/src/nuxt/plugin.client.d.ts +2 -0
  235. package/dist/src/nuxt/plugin.client.js +36 -0
  236. package/dist/src/nuxt/plugin.server.cjs +51 -0
  237. package/dist/src/nuxt/plugin.server.d.ts +2 -0
  238. package/dist/src/nuxt/plugin.server.js +45 -0
  239. package/dist/src/types/Bracket/bracket-direction.type.cjs +1 -0
  240. package/dist/src/types/Bracket/bracket-direction.type.d.ts +13 -0
  241. package/dist/src/types/Bracket/bracket-direction.type.js +0 -0
  242. package/dist/src/types/Bracket/bracket-match-status.type.cjs +1 -0
  243. package/dist/src/types/Bracket/bracket-match-status.type.d.ts +2 -0
  244. package/dist/src/types/Bracket/bracket-match-status.type.js +0 -0
  245. package/dist/src/types/Bracket/bracket-round-side.type.cjs +1 -0
  246. package/dist/src/types/Bracket/bracket-round-side.type.d.ts +12 -0
  247. package/dist/src/types/Bracket/bracket-round-side.type.js +0 -0
  248. package/dist/src/types/Bracket/bracket-variant.type.cjs +1 -0
  249. package/dist/src/types/Bracket/bracket-variant.type.d.ts +2 -0
  250. package/dist/src/types/Bracket/bracket-variant.type.js +0 -0
  251. package/dist/src/types/Code/code-lang.type.cjs +1 -0
  252. package/dist/src/types/Code/code-lang.type.d.ts +2 -0
  253. package/dist/src/types/Code/code-lang.type.js +0 -0
  254. package/dist/src/types/Code/code-theme.type.cjs +1 -0
  255. package/dist/src/types/Code/code-theme.type.d.ts +2 -0
  256. package/dist/src/types/Code/code-theme.type.js +0 -0
  257. package/dist/src/types/CommandPalette/command-palette-hotkey.type.cjs +1 -0
  258. package/dist/src/types/CommandPalette/command-palette-hotkey.type.d.ts +5 -0
  259. package/dist/src/types/CommandPalette/command-palette-hotkey.type.js +0 -0
  260. package/dist/src/types/Mask/built-in-pattern.type.cjs +1 -0
  261. package/dist/src/types/Mask/built-in-pattern.type.d.ts +7 -0
  262. package/dist/src/types/Mask/built-in-pattern.type.js +0 -0
  263. package/dist/src/types/Mask/mask.type.cjs +1 -0
  264. package/dist/src/types/Mask/mask.type.d.ts +19 -0
  265. package/dist/src/types/Mask/mask.type.js +0 -0
  266. package/dist/src/types/Mask/pattern-validator.type.cjs +1 -0
  267. package/dist/src/types/Mask/pattern-validator.type.d.ts +16 -0
  268. package/dist/src/types/Mask/pattern-validator.type.js +0 -0
  269. package/dist/src/types/Parallax/parallax-direction.type.cjs +1 -0
  270. package/dist/src/types/Parallax/parallax-direction.type.d.ts +2 -0
  271. package/dist/src/types/Parallax/parallax-direction.type.js +0 -0
  272. package/dist/src/types/Parallax/parallax-easing.type.cjs +1 -0
  273. package/dist/src/types/Parallax/parallax-easing.type.d.ts +2 -0
  274. package/dist/src/types/Parallax/parallax-easing.type.js +0 -0
  275. package/dist/src/types/SnackbarStack/snackbar-stack-direction.type.cjs +1 -0
  276. package/dist/src/types/SnackbarStack/snackbar-stack-direction.type.d.ts +11 -0
  277. package/dist/src/types/SnackbarStack/snackbar-stack-direction.type.js +0 -0
  278. package/dist/src/types/SnackbarStack/snackbar-stack-location.type.cjs +1 -0
  279. package/dist/src/types/SnackbarStack/snackbar-stack-location.type.d.ts +9 -0
  280. package/dist/src/types/SnackbarStack/snackbar-stack-location.type.js +0 -0
  281. package/dist/src/types/SnackbarStack/snackbar-stack.type.cjs +1 -0
  282. package/dist/src/types/SnackbarStack/snackbar-stack.type.d.ts +2 -0
  283. package/dist/src/types/SnackbarStack/snackbar-stack.type.js +0 -0
  284. package/dist/src/types/Tabs/tab-panel.type.cjs +1 -0
  285. package/dist/src/types/Tabs/tab-panel.type.d.ts +2 -0
  286. package/dist/src/types/Tabs/tab-panel.type.js +0 -0
  287. package/dist/src/types/Tabs/tab-panels.type.cjs +1 -0
  288. package/dist/src/types/Tabs/tab-panels.type.d.ts +2 -0
  289. package/dist/src/types/Tabs/tab-panels.type.js +0 -0
  290. package/dist/src/types/Tabs/tab-variant.type.cjs +1 -0
  291. package/dist/src/types/Tabs/tab-variant.type.d.ts +2 -0
  292. package/dist/src/types/Tabs/tab-variant.type.js +0 -0
  293. package/dist/src/types/Tabs/tab.type.cjs +1 -0
  294. package/dist/src/types/Tabs/tab.type.d.ts +2 -0
  295. package/dist/src/types/Tabs/tab.type.js +0 -0
  296. package/dist/src/types/Tabs/tabs.type.cjs +1 -0
  297. package/dist/src/types/Tabs/tabs.type.d.ts +2 -0
  298. package/dist/src/types/Tabs/tabs.type.js +0 -0
  299. package/dist/src/types/Textarea/textarea-mode.type.cjs +1 -0
  300. package/dist/src/types/Textarea/textarea-mode.type.d.ts +2 -0
  301. package/dist/src/types/Textarea/textarea-mode.type.js +0 -0
  302. package/dist/src/types/Textarea/textarea-output.type.cjs +1 -0
  303. package/dist/src/types/Textarea/textarea-output.type.d.ts +2 -0
  304. package/dist/src/types/Textarea/textarea-output.type.js +0 -0
  305. package/dist/src/types/Textarea/textarea-toolbar-command.type.cjs +1 -0
  306. package/dist/src/types/Textarea/textarea-toolbar-command.type.d.ts +2 -0
  307. package/dist/src/types/Textarea/textarea-toolbar-command.type.js +0 -0
  308. package/dist/src/types/Textarea/textarea-toolbar-position.type.cjs +1 -0
  309. package/dist/src/types/Textarea/textarea-toolbar-position.type.d.ts +2 -0
  310. package/dist/src/types/Textarea/textarea-toolbar-position.type.js +0 -0
  311. package/dist/src/types/index.cjs +264 -0
  312. package/dist/src/types/index.d.ts +24 -0
  313. package/dist/src/types/index.js +24 -0
  314. package/dist/src/types/tokens.type.d.ts +1 -1
  315. package/dist/src/utils/Code/parse-highlight-lines.util.cjs +34 -0
  316. package/dist/src/utils/Code/parse-highlight-lines.util.d.ts +24 -0
  317. package/dist/src/utils/Code/parse-highlight-lines.util.js +28 -0
  318. package/dist/src/utils/CommandPalette/fuzzy-match.util.cjs +84 -0
  319. package/dist/src/utils/CommandPalette/fuzzy-match.util.d.ts +51 -0
  320. package/dist/src/utils/CommandPalette/fuzzy-match.util.js +62 -0
  321. package/dist/src/utils/Mask/apply-mask.util.cjs +120 -0
  322. package/dist/src/utils/Mask/apply-mask.util.d.ts +13 -0
  323. package/dist/src/utils/Mask/apply-mask.util.js +91 -0
  324. package/dist/src/utils/Mask/index.cjs +38 -0
  325. package/dist/src/utils/Mask/index.d.ts +3 -0
  326. package/dist/src/utils/Mask/index.js +3 -0
  327. package/dist/src/utils/Mask/resolve-mask-config.util.cjs +31 -0
  328. package/dist/src/utils/Mask/resolve-mask-config.util.d.ts +15 -0
  329. package/dist/src/utils/Mask/resolve-mask-config.util.js +21 -0
  330. package/dist/src/utils/Mask/validate-pattern.util.cjs +92 -0
  331. package/dist/src/utils/Mask/validate-pattern.util.d.ts +41 -0
  332. package/dist/src/utils/Mask/validate-pattern.util.js +81 -0
  333. package/dist/src/utils/Textarea/html-to-markdown.util.cjs +85 -0
  334. package/dist/src/utils/Textarea/html-to-markdown.util.d.ts +21 -0
  335. package/dist/src/utils/Textarea/html-to-markdown.util.js +78 -0
  336. package/dist/src/utils/Textarea/sanitize-html.util.cjs +82 -0
  337. package/dist/src/utils/Textarea/sanitize-html.util.d.ts +17 -0
  338. package/dist/src/utils/Textarea/sanitize-html.util.js +83 -0
  339. package/dist/src/utils/index.cjs +77 -0
  340. package/dist/src/utils/index.d.ts +7 -0
  341. package/dist/src/utils/index.js +7 -0
  342. package/package.json +13 -3
  343. package/dist/src/globals.d.ts +0 -172
  344. package/dist/src/shims.d.ts +0 -36
  345. package/dist/src/vite-env.d.ts +0 -1
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTextareaRich = useTextareaRich;
7
+ var _vue = require("vue");
8
+ var _enums = require("../../enums/index.cjs");
9
+ var _utils = require("../../utils/index.cjs");
10
+ function useTextareaRich(options) {
11
+ const hostRef = (0, _vue.ref)();
12
+ const active = (0, _vue.reactive)({
13
+ bold: false,
14
+ italic: false,
15
+ underline: false,
16
+ code: false,
17
+ link: false,
18
+ listBullet: false,
19
+ listOrdered: false,
20
+ heading: 0
21
+ });
22
+ let selectionListener = null;
23
+ (0, _vue.onMounted)(() => {
24
+ if (!hostRef.value) return;
25
+ hostRef.value.innerHTML = (0, _utils.sanitizeHtml)(options.value());
26
+ selectionListener = () => {
27
+ const sel = document.getSelection();
28
+ if (!sel || sel.rangeCount === 0) return;
29
+ const node = sel.anchorNode;
30
+ if (!node || !hostRef.value?.contains(node)) return;
31
+ syncActiveState();
32
+ };
33
+ document.addEventListener("selectionchange", selectionListener);
34
+ });
35
+ (0, _vue.onBeforeUnmount)(() => {
36
+ if (selectionListener) {
37
+ document.removeEventListener("selectionchange", selectionListener);
38
+ selectionListener = null;
39
+ }
40
+ });
41
+ function syncActiveState() {
42
+ if (typeof document === "undefined") return;
43
+ try {
44
+ active.bold = document.queryCommandState("bold");
45
+ active.italic = document.queryCommandState("italic");
46
+ active.underline = document.queryCommandState("underline");
47
+ active.listBullet = document.queryCommandState("insertUnorderedList");
48
+ active.listOrdered = document.queryCommandState("insertOrderedList");
49
+ } catch {}
50
+ active.code = isInsideTag("code");
51
+ active.link = isInsideTag("a");
52
+ const headingLevel = currentHeadingLevel();
53
+ active.heading = headingLevel;
54
+ }
55
+ function isInsideTag(tag) {
56
+ if (typeof document === "undefined" || !hostRef.value) return false;
57
+ const sel = document.getSelection();
58
+ if (!sel || sel.rangeCount === 0) return false;
59
+ let node = sel.anchorNode;
60
+ while (node && node !== hostRef.value) {
61
+ if (node.nodeType === 1 && node.tagName.toLowerCase() === tag) return true;
62
+ node = node.parentNode;
63
+ }
64
+ return false;
65
+ }
66
+ function currentHeadingLevel() {
67
+ if (typeof document === "undefined" || !hostRef.value) return 0;
68
+ const sel = document.getSelection();
69
+ if (!sel || sel.rangeCount === 0) return 0;
70
+ let node = sel.anchorNode;
71
+ while (node && node !== hostRef.value) {
72
+ if (node.nodeType === 1) {
73
+ const t = node.tagName.toLowerCase();
74
+ if (t === "h1") return 1;
75
+ if (t === "h2") return 2;
76
+ if (t === "h3") return 3;
77
+ }
78
+ node = node.parentNode;
79
+ }
80
+ return 0;
81
+ }
82
+ function format(command, value) {
83
+ if (options.disabled()) return;
84
+ if (typeof document === "undefined") return;
85
+ hostRef.value?.focus();
86
+ switch (command) {
87
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.BOLD:
88
+ document.execCommand("bold");
89
+ break;
90
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.ITALIC:
91
+ document.execCommand("italic");
92
+ break;
93
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.UNDERLINE:
94
+ document.execCommand("underline");
95
+ break;
96
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LINK:
97
+ {
98
+ const url = (value ?? "").trim();
99
+ if (url === "") return;
100
+ document.execCommand("createLink", false, url);
101
+ break;
102
+ }
103
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET:
104
+ document.execCommand("insertUnorderedList");
105
+ break;
106
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED:
107
+ document.execCommand("insertOrderedList");
108
+ break;
109
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING:
110
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_1:
111
+ applyHeadingCycle(["H1", "H2", "H3"]);
112
+ break;
113
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_2:
114
+ document.execCommand("formatBlock", false, "H2");
115
+ break;
116
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_3:
117
+ document.execCommand("formatBlock", false, "H3");
118
+ break;
119
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE:
120
+ toggleInlineCode();
121
+ break;
122
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.CLEAR_FORMAT:
123
+ document.execCommand("removeFormat");
124
+ document.execCommand("formatBlock", false, "P");
125
+ break;
126
+ }
127
+ options.onFormat(command, value);
128
+ emitSanitised();
129
+ syncActiveState();
130
+ }
131
+ function applyHeadingCycle(levels) {
132
+ const current = currentHeadingLevel();
133
+ if (current === 0) {
134
+ document.execCommand("formatBlock", false, levels[0]);
135
+ } else if (current < levels.length) {
136
+ document.execCommand("formatBlock", false, levels[current]);
137
+ } else {
138
+ document.execCommand("formatBlock", false, "P");
139
+ }
140
+ }
141
+ function toggleInlineCode() {
142
+ if (active.code) {
143
+ document.execCommand("removeFormat");
144
+ return;
145
+ }
146
+ const sel = document.getSelection();
147
+ if (!sel || sel.rangeCount === 0) return;
148
+ const text = sel.toString();
149
+ if (text === "") {
150
+ document.execCommand("insertHTML", false, "<code>&#8203;</code>");
151
+ return;
152
+ }
153
+ const escaped = text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
154
+ document.execCommand("insertHTML", false, `<code>${escaped}</code>`);
155
+ }
156
+ function emitSanitised() {
157
+ if (!hostRef.value) return;
158
+ const raw = hostRef.value.innerHTML;
159
+ const cleaned = (0, _utils.sanitizeHtml)(raw);
160
+ options.onUpdate(cleaned);
161
+ }
162
+ function onInput() {
163
+ emitSanitised();
164
+ }
165
+ function onKeydown(event) {
166
+ if (options.disabled()) return;
167
+ const metaOrCtrl = event.metaKey || event.ctrlKey;
168
+ if (!metaOrCtrl) return;
169
+ const key = event.key.toLowerCase();
170
+ if (event.shiftKey) {
171
+ if (key === "7") {
172
+ event.preventDefault();
173
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED);
174
+ return;
175
+ }
176
+ if (key === "8") {
177
+ event.preventDefault();
178
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET);
179
+ return;
180
+ }
181
+ }
182
+ switch (key) {
183
+ case "b":
184
+ event.preventDefault();
185
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.BOLD);
186
+ return;
187
+ case "i":
188
+ event.preventDefault();
189
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.ITALIC);
190
+ return;
191
+ case "u":
192
+ event.preventDefault();
193
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.UNDERLINE);
194
+ return;
195
+ case "e":
196
+ event.preventDefault();
197
+ format(_enums.TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE);
198
+ return;
199
+ case "k":
200
+ event.preventDefault();
201
+ options.onFormat(_enums.TEXTAREA_TOOLBAR_COMMAND.LINK);
202
+ return;
203
+ }
204
+ }
205
+ function onPaste(event) {
206
+ if (options.disabled()) return;
207
+ event.preventDefault();
208
+ const dt = event.clipboardData;
209
+ if (!dt) return;
210
+ const html = dt.getData("text/html");
211
+ const text = dt.getData("text/plain");
212
+ const payload = html ? (0, _utils.sanitizeHtml)(html) : escapeText(text);
213
+ document.execCommand("insertHTML", false, payload);
214
+ emitSanitised();
215
+ }
216
+ function escapeText(s) {
217
+ return String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>");
218
+ }
219
+ function setValue(html) {
220
+ if (!hostRef.value) return;
221
+ const clean = (0, _utils.sanitizeHtml)(html);
222
+ if (hostRef.value.innerHTML !== clean) {
223
+ hostRef.value.innerHTML = clean;
224
+ }
225
+ }
226
+ function isFormatActive(command) {
227
+ switch (command) {
228
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.BOLD:
229
+ return active.bold;
230
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.ITALIC:
231
+ return active.italic;
232
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.UNDERLINE:
233
+ return active.underline;
234
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE:
235
+ return active.code;
236
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LINK:
237
+ return active.link;
238
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET:
239
+ return active.listBullet;
240
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED:
241
+ return active.listOrdered;
242
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING:
243
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_1:
244
+ return active.heading === 1;
245
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_2:
246
+ return active.heading === 2;
247
+ case _enums.TEXTAREA_TOOLBAR_COMMAND.HEADING_3:
248
+ return active.heading === 3;
249
+ default:
250
+ return false;
251
+ }
252
+ }
253
+ return {
254
+ hostRef,
255
+ active,
256
+ format,
257
+ isFormatActive,
258
+ setValue,
259
+ onInput,
260
+ onKeydown,
261
+ onPaste
262
+ };
263
+ }
@@ -0,0 +1,41 @@
1
+ import type { IUseTextareaRichOptions } from '../../interfaces';
2
+ import type { TTextareaToolbarCommand } from '../../types';
3
+ /**
4
+ * Owns the runtime contract of the rich-text textarea:
5
+ *
6
+ * - mounts a `contenteditable` host (caller binds the returned ref);
7
+ * - applies formatting commands via `document.execCommand` (the simplest
8
+ * contenteditable API still supported by all evergreen browsers — we
9
+ * deliberately avoid Selection / Range hand-rolling to keep the
10
+ * surface tiny without an external library);
11
+ * - tracks the active formatting state at the caret via
12
+ * `document.queryCommandState` for the toolbar UI;
13
+ * - sanitises every emit so the consumer's `v-model` can never carry
14
+ * a `<script>` or a `javascript:` href;
15
+ * - registers Cmd/Ctrl keyboard shortcuts (B / I / U / K / E and the
16
+ * list shortcuts) on the host.
17
+ *
18
+ * `execCommand` is "deprecated" by spec but stays the only first-party
19
+ * way to do this without a 100 KB library; we accept the tradeoff and
20
+ * document the limitations (no IME-safe undo stack, no granular
21
+ * collaborative cursor) downstream.
22
+ */
23
+ export declare function useTextareaRich(options: IUseTextareaRichOptions): {
24
+ hostRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
25
+ active: {
26
+ bold: boolean;
27
+ italic: boolean;
28
+ underline: boolean;
29
+ code: boolean;
30
+ link: boolean;
31
+ listBullet: boolean;
32
+ listOrdered: boolean;
33
+ heading: 0 | 1 | 2 | 3;
34
+ };
35
+ format: (command: TTextareaToolbarCommand, value?: string) => void;
36
+ isFormatActive: (command: TTextareaToolbarCommand) => boolean;
37
+ setValue: (html: string) => void;
38
+ onInput: () => void;
39
+ onKeydown: (event: KeyboardEvent) => void;
40
+ onPaste: (event: ClipboardEvent) => void;
41
+ };
@@ -0,0 +1,257 @@
1
+ import { onBeforeUnmount, onMounted, reactive, ref } from "vue";
2
+ import { TEXTAREA_TOOLBAR_COMMAND } from "../../enums/index.js";
3
+ import { sanitizeHtml } from "../../utils/index.js";
4
+ export function useTextareaRich(options) {
5
+ const hostRef = ref();
6
+ const active = reactive({
7
+ bold: false,
8
+ italic: false,
9
+ underline: false,
10
+ code: false,
11
+ link: false,
12
+ listBullet: false,
13
+ listOrdered: false,
14
+ heading: 0
15
+ });
16
+ let selectionListener = null;
17
+ onMounted(() => {
18
+ if (!hostRef.value) return;
19
+ hostRef.value.innerHTML = sanitizeHtml(options.value());
20
+ selectionListener = () => {
21
+ const sel = document.getSelection();
22
+ if (!sel || sel.rangeCount === 0) return;
23
+ const node = sel.anchorNode;
24
+ if (!node || !hostRef.value?.contains(node)) return;
25
+ syncActiveState();
26
+ };
27
+ document.addEventListener("selectionchange", selectionListener);
28
+ });
29
+ onBeforeUnmount(() => {
30
+ if (selectionListener) {
31
+ document.removeEventListener("selectionchange", selectionListener);
32
+ selectionListener = null;
33
+ }
34
+ });
35
+ function syncActiveState() {
36
+ if (typeof document === "undefined") return;
37
+ try {
38
+ active.bold = document.queryCommandState("bold");
39
+ active.italic = document.queryCommandState("italic");
40
+ active.underline = document.queryCommandState("underline");
41
+ active.listBullet = document.queryCommandState("insertUnorderedList");
42
+ active.listOrdered = document.queryCommandState("insertOrderedList");
43
+ } catch {
44
+ }
45
+ active.code = isInsideTag("code");
46
+ active.link = isInsideTag("a");
47
+ const headingLevel = currentHeadingLevel();
48
+ active.heading = headingLevel;
49
+ }
50
+ function isInsideTag(tag) {
51
+ if (typeof document === "undefined" || !hostRef.value) return false;
52
+ const sel = document.getSelection();
53
+ if (!sel || sel.rangeCount === 0) return false;
54
+ let node = sel.anchorNode;
55
+ while (node && node !== hostRef.value) {
56
+ if (node.nodeType === 1 && node.tagName.toLowerCase() === tag) return true;
57
+ node = node.parentNode;
58
+ }
59
+ return false;
60
+ }
61
+ function currentHeadingLevel() {
62
+ if (typeof document === "undefined" || !hostRef.value) return 0;
63
+ const sel = document.getSelection();
64
+ if (!sel || sel.rangeCount === 0) return 0;
65
+ let node = sel.anchorNode;
66
+ while (node && node !== hostRef.value) {
67
+ if (node.nodeType === 1) {
68
+ const t = node.tagName.toLowerCase();
69
+ if (t === "h1") return 1;
70
+ if (t === "h2") return 2;
71
+ if (t === "h3") return 3;
72
+ }
73
+ node = node.parentNode;
74
+ }
75
+ return 0;
76
+ }
77
+ function format(command, value) {
78
+ if (options.disabled()) return;
79
+ if (typeof document === "undefined") return;
80
+ hostRef.value?.focus();
81
+ switch (command) {
82
+ case TEXTAREA_TOOLBAR_COMMAND.BOLD:
83
+ document.execCommand("bold");
84
+ break;
85
+ case TEXTAREA_TOOLBAR_COMMAND.ITALIC:
86
+ document.execCommand("italic");
87
+ break;
88
+ case TEXTAREA_TOOLBAR_COMMAND.UNDERLINE:
89
+ document.execCommand("underline");
90
+ break;
91
+ case TEXTAREA_TOOLBAR_COMMAND.LINK: {
92
+ const url = (value ?? "").trim();
93
+ if (url === "") return;
94
+ document.execCommand("createLink", false, url);
95
+ break;
96
+ }
97
+ case TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET:
98
+ document.execCommand("insertUnorderedList");
99
+ break;
100
+ case TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED:
101
+ document.execCommand("insertOrderedList");
102
+ break;
103
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING:
104
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_1:
105
+ applyHeadingCycle(["H1", "H2", "H3"]);
106
+ break;
107
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_2:
108
+ document.execCommand("formatBlock", false, "H2");
109
+ break;
110
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_3:
111
+ document.execCommand("formatBlock", false, "H3");
112
+ break;
113
+ case TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE:
114
+ toggleInlineCode();
115
+ break;
116
+ case TEXTAREA_TOOLBAR_COMMAND.CLEAR_FORMAT:
117
+ document.execCommand("removeFormat");
118
+ document.execCommand("formatBlock", false, "P");
119
+ break;
120
+ }
121
+ options.onFormat(command, value);
122
+ emitSanitised();
123
+ syncActiveState();
124
+ }
125
+ function applyHeadingCycle(levels) {
126
+ const current = currentHeadingLevel();
127
+ if (current === 0) {
128
+ document.execCommand("formatBlock", false, levels[0]);
129
+ } else if (current < levels.length) {
130
+ document.execCommand("formatBlock", false, levels[current]);
131
+ } else {
132
+ document.execCommand("formatBlock", false, "P");
133
+ }
134
+ }
135
+ function toggleInlineCode() {
136
+ if (active.code) {
137
+ document.execCommand("removeFormat");
138
+ return;
139
+ }
140
+ const sel = document.getSelection();
141
+ if (!sel || sel.rangeCount === 0) return;
142
+ const text = sel.toString();
143
+ if (text === "") {
144
+ document.execCommand("insertHTML", false, "<code>&#8203;</code>");
145
+ return;
146
+ }
147
+ const escaped = text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
148
+ document.execCommand("insertHTML", false, `<code>${escaped}</code>`);
149
+ }
150
+ function emitSanitised() {
151
+ if (!hostRef.value) return;
152
+ const raw = hostRef.value.innerHTML;
153
+ const cleaned = sanitizeHtml(raw);
154
+ options.onUpdate(cleaned);
155
+ }
156
+ function onInput() {
157
+ emitSanitised();
158
+ }
159
+ function onKeydown(event) {
160
+ if (options.disabled()) return;
161
+ const metaOrCtrl = event.metaKey || event.ctrlKey;
162
+ if (!metaOrCtrl) return;
163
+ const key = event.key.toLowerCase();
164
+ if (event.shiftKey) {
165
+ if (key === "7") {
166
+ event.preventDefault();
167
+ format(TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED);
168
+ return;
169
+ }
170
+ if (key === "8") {
171
+ event.preventDefault();
172
+ format(TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET);
173
+ return;
174
+ }
175
+ }
176
+ switch (key) {
177
+ case "b":
178
+ event.preventDefault();
179
+ format(TEXTAREA_TOOLBAR_COMMAND.BOLD);
180
+ return;
181
+ case "i":
182
+ event.preventDefault();
183
+ format(TEXTAREA_TOOLBAR_COMMAND.ITALIC);
184
+ return;
185
+ case "u":
186
+ event.preventDefault();
187
+ format(TEXTAREA_TOOLBAR_COMMAND.UNDERLINE);
188
+ return;
189
+ case "e":
190
+ event.preventDefault();
191
+ format(TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE);
192
+ return;
193
+ case "k":
194
+ event.preventDefault();
195
+ options.onFormat(TEXTAREA_TOOLBAR_COMMAND.LINK);
196
+ return;
197
+ }
198
+ }
199
+ function onPaste(event) {
200
+ if (options.disabled()) return;
201
+ event.preventDefault();
202
+ const dt = event.clipboardData;
203
+ if (!dt) return;
204
+ const html = dt.getData("text/html");
205
+ const text = dt.getData("text/plain");
206
+ const payload = html ? sanitizeHtml(html) : escapeText(text);
207
+ document.execCommand("insertHTML", false, payload);
208
+ emitSanitised();
209
+ }
210
+ function escapeText(s) {
211
+ return String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>");
212
+ }
213
+ function setValue(html) {
214
+ if (!hostRef.value) return;
215
+ const clean = sanitizeHtml(html);
216
+ if (hostRef.value.innerHTML !== clean) {
217
+ hostRef.value.innerHTML = clean;
218
+ }
219
+ }
220
+ function isFormatActive(command) {
221
+ switch (command) {
222
+ case TEXTAREA_TOOLBAR_COMMAND.BOLD:
223
+ return active.bold;
224
+ case TEXTAREA_TOOLBAR_COMMAND.ITALIC:
225
+ return active.italic;
226
+ case TEXTAREA_TOOLBAR_COMMAND.UNDERLINE:
227
+ return active.underline;
228
+ case TEXTAREA_TOOLBAR_COMMAND.CODE_INLINE:
229
+ return active.code;
230
+ case TEXTAREA_TOOLBAR_COMMAND.LINK:
231
+ return active.link;
232
+ case TEXTAREA_TOOLBAR_COMMAND.LIST_BULLET:
233
+ return active.listBullet;
234
+ case TEXTAREA_TOOLBAR_COMMAND.LIST_ORDERED:
235
+ return active.listOrdered;
236
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING:
237
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_1:
238
+ return active.heading === 1;
239
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_2:
240
+ return active.heading === 2;
241
+ case TEXTAREA_TOOLBAR_COMMAND.HEADING_3:
242
+ return active.heading === 3;
243
+ default:
244
+ return false;
245
+ }
246
+ }
247
+ return {
248
+ hostRef,
249
+ active,
250
+ format,
251
+ isFormatActive,
252
+ setValue,
253
+ onInput,
254
+ onKeydown,
255
+ onPaste
256
+ };
257
+ }
@@ -729,6 +729,39 @@ Object.keys(_snackbar).forEach(function (key) {
729
729
  }
730
730
  });
731
731
  });
732
+ var _snackbarStack = require("./SnackbarStack/snackbar-stack.composable.cjs");
733
+ Object.keys(_snackbarStack).forEach(function (key) {
734
+ if (key === "default" || key === "__esModule") return;
735
+ if (key in exports && exports[key] === _snackbarStack[key]) return;
736
+ Object.defineProperty(exports, key, {
737
+ enumerable: true,
738
+ get: function () {
739
+ return _snackbarStack[key];
740
+ }
741
+ });
742
+ });
743
+ var _command = require("./CommandPalette/command.composable.cjs");
744
+ Object.keys(_command).forEach(function (key) {
745
+ if (key === "default" || key === "__esModule") return;
746
+ if (key in exports && exports[key] === _command[key]) return;
747
+ Object.defineProperty(exports, key, {
748
+ enumerable: true,
749
+ get: function () {
750
+ return _command[key];
751
+ }
752
+ });
753
+ });
754
+ var _code = require("./Code/code.composable.cjs");
755
+ Object.keys(_code).forEach(function (key) {
756
+ if (key === "default" || key === "__esModule") return;
757
+ if (key in exports && exports[key] === _code[key]) return;
758
+ Object.defineProperty(exports, key, {
759
+ enumerable: true,
760
+ get: function () {
761
+ return _code[key];
762
+ }
763
+ });
764
+ });
732
765
  var _sliderField = require("./SliderField/slider-field.composable.cjs");
733
766
  Object.keys(_sliderField).forEach(function (key) {
734
767
  if (key === "default" || key === "__esModule") return;
@@ -751,6 +784,17 @@ Object.keys(_transform).forEach(function (key) {
751
784
  }
752
785
  });
753
786
  });
787
+ var _parallax = require("./Parallax/parallax.composable.cjs");
788
+ Object.keys(_parallax).forEach(function (key) {
789
+ if (key === "default" || key === "__esModule") return;
790
+ if (key in exports && exports[key] === _parallax[key]) return;
791
+ Object.defineProperty(exports, key, {
792
+ enumerable: true,
793
+ get: function () {
794
+ return _parallax[key];
795
+ }
796
+ });
797
+ });
754
798
  var _group2 = require("./DataTable/group.composable.cjs");
755
799
  Object.keys(_group2).forEach(function (key) {
756
800
  if (key === "default" || key === "__esModule") return;
@@ -883,6 +927,17 @@ Object.keys(_theme).forEach(function (key) {
883
927
  }
884
928
  });
885
929
  });
930
+ var _textareaRich = require("./Textarea/textarea-rich.composable.cjs");
931
+ Object.keys(_textareaRich).forEach(function (key) {
932
+ if (key === "default" || key === "__esModule") return;
933
+ if (key in exports && exports[key] === _textareaRich[key]) return;
934
+ Object.defineProperty(exports, key, {
935
+ enumerable: true,
936
+ get: function () {
937
+ return _textareaRich[key];
938
+ }
939
+ });
940
+ });
886
941
  var _cssSupport = require("./CssSupport/cssSupport.composable.cjs");
887
942
  Object.keys(_cssSupport).forEach(function (key) {
888
943
  if (key === "default" || key === "__esModule") return;
@@ -893,4 +948,15 @@ Object.keys(_cssSupport).forEach(function (key) {
893
948
  return _cssSupport[key];
894
949
  }
895
950
  });
951
+ });
952
+ var _mask = require("./Mask/mask.composable.cjs");
953
+ Object.keys(_mask).forEach(function (key) {
954
+ if (key === "default" || key === "__esModule") return;
955
+ if (key in exports && exports[key] === _mask[key]) return;
956
+ Object.defineProperty(exports, key, {
957
+ enumerable: true,
958
+ get: function () {
959
+ return _mask[key];
960
+ }
961
+ });
896
962
  });
@@ -64,8 +64,12 @@ export * from './Transition/transition.composable';
64
64
  export * from './Form/form.composable';
65
65
  export * from './Sheet/sheetSwipe.composable';
66
66
  export * from './Snackbar/snackbar.composable';
67
+ export * from './SnackbarStack/snackbar-stack.composable';
68
+ export * from './CommandPalette/command.composable';
69
+ export * from './Code/code.composable';
67
70
  export * from './SliderField/slider-field.composable';
68
71
  export * from './Parallax/transform.composable';
72
+ export * from './Parallax/parallax.composable';
69
73
  export * from './DataTable/group.composable';
70
74
  export * from './DataTable/sort.composable';
71
75
  export * from './DataTable/pagination.composable';
@@ -78,4 +82,6 @@ export * from './DataTable/cell.composable';
78
82
  export * from './NumberField/hold.composable';
79
83
  export * from './PasswordField/passwordStrength.composable';
80
84
  export * from './Theme/theme.composable';
85
+ export * from './Textarea/textarea-rich.composable';
81
86
  export * from './CssSupport/cssSupport.composable';
87
+ export * from './Mask/mask.composable';
@@ -64,8 +64,12 @@ export * from "./Transition/transition.composable.js";
64
64
  export * from "./Form/form.composable.js";
65
65
  export * from "./Sheet/sheetSwipe.composable.js";
66
66
  export * from "./Snackbar/snackbar.composable.js";
67
+ export * from "./SnackbarStack/snackbar-stack.composable.js";
68
+ export * from "./CommandPalette/command.composable.js";
69
+ export * from "./Code/code.composable.js";
67
70
  export * from "./SliderField/slider-field.composable.js";
68
71
  export * from "./Parallax/transform.composable.js";
72
+ export * from "./Parallax/parallax.composable.js";
69
73
  export * from "./DataTable/group.composable.js";
70
74
  export * from "./DataTable/sort.composable.js";
71
75
  export * from "./DataTable/pagination.composable.js";
@@ -78,4 +82,6 @@ export * from "./DataTable/cell.composable.js";
78
82
  export * from "./NumberField/hold.composable.js";
79
83
  export * from "./PasswordField/passwordStrength.composable.js";
80
84
  export * from "./Theme/theme.composable.js";
85
+ export * from "./Textarea/textarea-rich.composable.js";
81
86
  export * from "./CssSupport/cssSupport.composable.js";
87
+ export * from "./Mask/mask.composable.js";