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
@@ -29,7 +29,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
29
29
  title?: string | undefined;
30
30
  align?: {
31
31
  readonly [x: number]: string;
32
- [Symbol.iterator]: () => StringIterator<string>;
33
32
  small: () => string;
34
33
  fixed: () => string;
35
34
  replace: {
@@ -48,11 +47,18 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
48
47
  [Symbol.search](string: string): number;
49
48
  }): number;
50
49
  };
51
- charAt: (pos: number) => string;
52
- charCodeAt: (index: number) => number;
50
+ bold: () => string;
51
+ link: (url: string) => string;
52
+ [Symbol.iterator]: () => StringIterator<string>;
53
+ readonly length: number;
53
54
  concat: (...strings: string[]) => string;
55
+ slice: (start?: number, end?: number) => string;
54
56
  indexOf: (searchString: string, position?: number) => number;
55
57
  lastIndexOf: (searchString: string, position?: number) => number;
58
+ includes: (searchString: string, position?: number) => boolean;
59
+ toString: () => string;
60
+ charAt: (pos: number) => string;
61
+ charCodeAt: (index: number) => number;
56
62
  localeCompare: {
57
63
  (that: string): number;
58
64
  (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
@@ -64,7 +70,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
64
70
  [Symbol.match](string: string): RegExpMatchArray | null;
65
71
  }): RegExpMatchArray | null;
66
72
  };
67
- slice: (start?: number, end?: number) => string;
68
73
  split: {
69
74
  (separator: string | RegExp, limit?: number): string[];
70
75
  (splitter: {
@@ -83,10 +88,8 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
83
88
  (locales?: Intl.LocalesArgument): string;
84
89
  };
85
90
  trim: () => string;
86
- readonly length: number;
87
91
  substr: (from: number, length?: number) => string;
88
92
  codePointAt: (pos: number) => number | undefined;
89
- includes: (searchString: string, position?: number) => boolean;
90
93
  endsWith: (searchString: string, endPosition?: number) => boolean;
91
94
  normalize: {
92
95
  (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
@@ -97,14 +100,12 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
97
100
  anchor: (name: string) => string;
98
101
  big: () => string;
99
102
  blink: () => string;
100
- bold: () => string;
101
103
  fontcolor: (color: string) => string;
102
104
  fontsize: {
103
105
  (size: number): string;
104
106
  (size: string): string;
105
107
  };
106
108
  italics: () => string;
107
- link: (url: string) => string;
108
109
  strike: () => string;
109
110
  sub: () => string;
110
111
  sup: () => string;
@@ -115,7 +116,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
115
116
  trimLeft: () => string;
116
117
  trimRight: () => string;
117
118
  matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
118
- toString: () => string;
119
119
  valueOf: () => string;
120
120
  } | undefined;
121
121
  headerProps?: any;
@@ -142,7 +142,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
142
142
  title?: string | undefined;
143
143
  align?: {
144
144
  readonly [x: number]: string;
145
- [Symbol.iterator]: () => StringIterator<string>;
146
145
  small: () => string;
147
146
  fixed: () => string;
148
147
  replace: {
@@ -161,11 +160,18 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
161
160
  [Symbol.search](string: string): number;
162
161
  }): number;
163
162
  };
164
- charAt: (pos: number) => string;
165
- charCodeAt: (index: number) => number;
163
+ bold: () => string;
164
+ link: (url: string) => string;
165
+ [Symbol.iterator]: () => StringIterator<string>;
166
+ readonly length: number;
166
167
  concat: (...strings: string[]) => string;
168
+ slice: (start?: number, end?: number) => string;
167
169
  indexOf: (searchString: string, position?: number) => number;
168
170
  lastIndexOf: (searchString: string, position?: number) => number;
171
+ includes: (searchString: string, position?: number) => boolean;
172
+ toString: () => string;
173
+ charAt: (pos: number) => string;
174
+ charCodeAt: (index: number) => number;
169
175
  localeCompare: {
170
176
  (that: string): number;
171
177
  (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
@@ -177,7 +183,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
177
183
  [Symbol.match](string: string): RegExpMatchArray | null;
178
184
  }): RegExpMatchArray | null;
179
185
  };
180
- slice: (start?: number, end?: number) => string;
181
186
  split: {
182
187
  (separator: string | RegExp, limit?: number): string[];
183
188
  (splitter: {
@@ -196,10 +201,8 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
196
201
  (locales?: Intl.LocalesArgument): string;
197
202
  };
198
203
  trim: () => string;
199
- readonly length: number;
200
204
  substr: (from: number, length?: number) => string;
201
205
  codePointAt: (pos: number) => number | undefined;
202
- includes: (searchString: string, position?: number) => boolean;
203
206
  endsWith: (searchString: string, endPosition?: number) => boolean;
204
207
  normalize: {
205
208
  (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
@@ -210,14 +213,12 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
210
213
  anchor: (name: string) => string;
211
214
  big: () => string;
212
215
  blink: () => string;
213
- bold: () => string;
214
216
  fontcolor: (color: string) => string;
215
217
  fontsize: {
216
218
  (size: number): string;
217
219
  (size: string): string;
218
220
  };
219
221
  italics: () => string;
220
- link: (url: string) => string;
221
222
  strike: () => string;
222
223
  sub: () => string;
223
224
  sup: () => string;
@@ -228,7 +229,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
228
229
  trimLeft: () => string;
229
230
  trimRight: () => string;
230
231
  matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
231
- toString: () => string;
232
232
  valueOf: () => string;
233
233
  } | undefined;
234
234
  headerProps?: any;
@@ -256,7 +256,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
256
256
  title?: string | undefined;
257
257
  align?: {
258
258
  readonly [x: number]: string;
259
- [Symbol.iterator]: () => StringIterator<string>;
260
259
  small: () => string;
261
260
  fixed: () => string;
262
261
  replace: {
@@ -275,11 +274,18 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
275
274
  [Symbol.search](string: string): number;
276
275
  }): number;
277
276
  };
278
- charAt: (pos: number) => string;
279
- charCodeAt: (index: number) => number;
277
+ bold: () => string;
278
+ link: (url: string) => string;
279
+ [Symbol.iterator]: () => StringIterator<string>;
280
+ readonly length: number;
280
281
  concat: (...strings: string[]) => string;
282
+ slice: (start?: number, end?: number) => string;
281
283
  indexOf: (searchString: string, position?: number) => number;
282
284
  lastIndexOf: (searchString: string, position?: number) => number;
285
+ includes: (searchString: string, position?: number) => boolean;
286
+ toString: () => string;
287
+ charAt: (pos: number) => string;
288
+ charCodeAt: (index: number) => number;
283
289
  localeCompare: {
284
290
  (that: string): number;
285
291
  (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
@@ -291,7 +297,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
291
297
  [Symbol.match](string: string): RegExpMatchArray | null;
292
298
  }): RegExpMatchArray | null;
293
299
  };
294
- slice: (start?: number, end?: number) => string;
295
300
  split: {
296
301
  (separator: string | RegExp, limit?: number): string[];
297
302
  (splitter: {
@@ -310,10 +315,8 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
310
315
  (locales?: Intl.LocalesArgument): string;
311
316
  };
312
317
  trim: () => string;
313
- readonly length: number;
314
318
  substr: (from: number, length?: number) => string;
315
319
  codePointAt: (pos: number) => number | undefined;
316
- includes: (searchString: string, position?: number) => boolean;
317
320
  endsWith: (searchString: string, endPosition?: number) => boolean;
318
321
  normalize: {
319
322
  (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
@@ -324,14 +327,12 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
324
327
  anchor: (name: string) => string;
325
328
  big: () => string;
326
329
  blink: () => string;
327
- bold: () => string;
328
330
  fontcolor: (color: string) => string;
329
331
  fontsize: {
330
332
  (size: number): string;
331
333
  (size: string): string;
332
334
  };
333
335
  italics: () => string;
334
- link: (url: string) => string;
335
336
  strike: () => string;
336
337
  sub: () => string;
337
338
  sup: () => string;
@@ -342,7 +343,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
342
343
  trimLeft: () => string;
343
344
  trimRight: () => string;
344
345
  matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
345
- toString: () => string;
346
346
  valueOf: () => string;
347
347
  } | undefined;
348
348
  headerProps?: any;
@@ -369,7 +369,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
369
369
  title?: string | undefined;
370
370
  align?: {
371
371
  readonly [x: number]: string;
372
- [Symbol.iterator]: () => StringIterator<string>;
373
372
  small: () => string;
374
373
  fixed: () => string;
375
374
  replace: {
@@ -388,11 +387,18 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
388
387
  [Symbol.search](string: string): number;
389
388
  }): number;
390
389
  };
391
- charAt: (pos: number) => string;
392
- charCodeAt: (index: number) => number;
390
+ bold: () => string;
391
+ link: (url: string) => string;
392
+ [Symbol.iterator]: () => StringIterator<string>;
393
+ readonly length: number;
393
394
  concat: (...strings: string[]) => string;
395
+ slice: (start?: number, end?: number) => string;
394
396
  indexOf: (searchString: string, position?: number) => number;
395
397
  lastIndexOf: (searchString: string, position?: number) => number;
398
+ includes: (searchString: string, position?: number) => boolean;
399
+ toString: () => string;
400
+ charAt: (pos: number) => string;
401
+ charCodeAt: (index: number) => number;
396
402
  localeCompare: {
397
403
  (that: string): number;
398
404
  (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
@@ -404,7 +410,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
404
410
  [Symbol.match](string: string): RegExpMatchArray | null;
405
411
  }): RegExpMatchArray | null;
406
412
  };
407
- slice: (start?: number, end?: number) => string;
408
413
  split: {
409
414
  (separator: string | RegExp, limit?: number): string[];
410
415
  (splitter: {
@@ -423,10 +428,8 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
423
428
  (locales?: Intl.LocalesArgument): string;
424
429
  };
425
430
  trim: () => string;
426
- readonly length: number;
427
431
  substr: (from: number, length?: number) => string;
428
432
  codePointAt: (pos: number) => number | undefined;
429
- includes: (searchString: string, position?: number) => boolean;
430
433
  endsWith: (searchString: string, endPosition?: number) => boolean;
431
434
  normalize: {
432
435
  (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
@@ -437,14 +440,12 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
437
440
  anchor: (name: string) => string;
438
441
  big: () => string;
439
442
  blink: () => string;
440
- bold: () => string;
441
443
  fontcolor: (color: string) => string;
442
444
  fontsize: {
443
445
  (size: number): string;
444
446
  (size: string): string;
445
447
  };
446
448
  italics: () => string;
447
- link: (url: string) => string;
448
449
  strike: () => string;
449
450
  sub: () => string;
450
451
  sup: () => string;
@@ -455,7 +456,6 @@ export declare function createHeaders(props: IDataTableHeaderProps, options?: {
455
456
  trimLeft: () => string;
456
457
  trimRight: () => string;
457
458
  matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
458
- toString: () => string;
459
459
  valueOf: () => string;
460
460
  } | undefined;
461
461
  headerProps?: any;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _mask = require("./mask.composable.cjs");
7
+ Object.keys(_mask).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _mask[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _mask[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ export * from './mask.composable';
@@ -0,0 +1 @@
1
+ export * from "./mask.composable.js";
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useMask = useMask;
7
+ var _vue = require("vue");
8
+ var _utils = require("../../utils/index.cjs");
9
+ function useMask(modelValue, mask) {
10
+ const config = (0, _vue.computed)(() => {
11
+ return (0, _utils.resolveMaskConfig)((0, _vue.unref)(mask) ?? null);
12
+ });
13
+ const masked = (0, _vue.ref)("");
14
+ const unmasked = (0, _vue.ref)("");
15
+ const complete = (0, _vue.ref)(false);
16
+ function recompute(raw) {
17
+ const cfg = config.value;
18
+ const source = raw ?? "";
19
+ if (!cfg) {
20
+ masked.value = source;
21
+ unmasked.value = source;
22
+ complete.value = false;
23
+ return;
24
+ }
25
+ const r = (0, _utils.applyMask)(source, cfg.pattern);
26
+ masked.value = r.masked;
27
+ unmasked.value = r.unmasked;
28
+ complete.value = r.complete;
29
+ }
30
+ recompute((0, _vue.unref)(modelValue));
31
+ if ((0, _vue.isRef)(modelValue)) {
32
+ (0, _vue.watch)(modelValue, v => recompute(v));
33
+ }
34
+ (0, _vue.watch)(config, () => recompute((0, _vue.unref)(modelValue) ?? unmasked.value));
35
+ const isValid = (0, _vue.computed)(() => {
36
+ const cfg = config.value;
37
+ if (!cfg) return true;
38
+ if (!unmasked.value) return !cfg.required;
39
+ if (cfg.required && !complete.value) return false;
40
+ if (cfg.validator) {
41
+ return (0, _utils.validatePattern)(unmasked.value, cfg.validator);
42
+ }
43
+ return complete.value;
44
+ });
45
+ function setRaw(raw) {
46
+ recompute(raw);
47
+ return unmasked.value;
48
+ }
49
+ return {
50
+ masked,
51
+ unmasked,
52
+ isValid,
53
+ complete,
54
+ setRaw,
55
+ config
56
+ };
57
+ }
@@ -0,0 +1,39 @@
1
+ import { MaybeRef, Ref } from 'vue';
2
+ import type { IMaskOptions, IResolvedMaskConfig } from '../../interfaces';
3
+ import type { TMask } from '../../types';
4
+ /**
5
+ * Public return shape of `useMask`.
6
+ */
7
+ export interface IUseMaskReturn {
8
+ masked: Ref<string>;
9
+ unmasked: Ref<string>;
10
+ isValid: Ref<boolean>;
11
+ complete: Ref<boolean>;
12
+ /**
13
+ * Imperatively re-run the formatter on a raw value
14
+ * (used by paste / external sync). Returns the new
15
+ * `unmasked` so callers can keep their model in sync.
16
+ */
17
+ setRaw: (raw: string) => string;
18
+ /**
19
+ * Currently resolved config (pattern + validator +
20
+ * required). `null` when no mask is active.
21
+ */
22
+ config: Ref<IResolvedMaskConfig | null>;
23
+ }
24
+ /**
25
+ * Reactive mask engine — keeps `masked`, `unmasked`,
26
+ * `isValid` and `complete` in sync with a source string
27
+ * (`modelValue`) and a (possibly polymorphic) mask spec.
28
+ *
29
+ * Both the value and the mask are accepted as a `MaybeRef`
30
+ * so the composable plays well with `props.modelValue` and
31
+ * a static `props.mask` alike.
32
+ *
33
+ * Reactivity:
34
+ * - When `modelValue` changes → reformat + revalidate.
35
+ * - When `mask` changes → re-resolve config, reformat
36
+ * the current value.
37
+ */
38
+ export declare function useMask(modelValue: MaybeRef<string | null | undefined>, mask: MaybeRef<TMask | undefined>): IUseMaskReturn;
39
+ export type { IMaskOptions };
@@ -0,0 +1,51 @@
1
+ import { computed, isRef, ref, unref, watch } from "vue";
2
+ import { applyMask, resolveMaskConfig, validatePattern } from "../../utils/index.js";
3
+ export function useMask(modelValue, mask) {
4
+ const config = computed(() => {
5
+ return resolveMaskConfig(unref(mask) ?? null);
6
+ });
7
+ const masked = ref("");
8
+ const unmasked = ref("");
9
+ const complete = ref(false);
10
+ function recompute(raw) {
11
+ const cfg = config.value;
12
+ const source = raw ?? "";
13
+ if (!cfg) {
14
+ masked.value = source;
15
+ unmasked.value = source;
16
+ complete.value = false;
17
+ return;
18
+ }
19
+ const r = applyMask(source, cfg.pattern);
20
+ masked.value = r.masked;
21
+ unmasked.value = r.unmasked;
22
+ complete.value = r.complete;
23
+ }
24
+ recompute(unref(modelValue));
25
+ if (isRef(modelValue)) {
26
+ watch(modelValue, (v) => recompute(v));
27
+ }
28
+ watch(config, () => recompute(unref(modelValue) ?? unmasked.value));
29
+ const isValid = computed(() => {
30
+ const cfg = config.value;
31
+ if (!cfg) return true;
32
+ if (!unmasked.value) return !cfg.required;
33
+ if (cfg.required && !complete.value) return false;
34
+ if (cfg.validator) {
35
+ return validatePattern(unmasked.value, cfg.validator);
36
+ }
37
+ return complete.value;
38
+ });
39
+ function setRaw(raw) {
40
+ recompute(raw);
41
+ return unmasked.value;
42
+ }
43
+ return {
44
+ masked,
45
+ unmasked,
46
+ isValid,
47
+ complete,
48
+ setRaw,
49
+ config
50
+ };
51
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useParallaxRuntime = useParallaxRuntime;
7
+ var _vue = require("vue");
8
+ var _cssSupport = require("../CssSupport/cssSupport.composable.cjs");
9
+ var _enums = require("../../enums/index.cjs");
10
+ function usePrefersReducedMotion() {
11
+ const flag = (0, _vue.ref)(false);
12
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
13
+ return flag;
14
+ }
15
+ const mql = window.matchMedia("(prefers-reduced-motion: reduce)");
16
+ flag.value = mql.matches;
17
+ const onChange = ev => {
18
+ flag.value = ev.matches;
19
+ };
20
+ if (typeof mql.addEventListener === "function") {
21
+ mql.addEventListener("change", onChange);
22
+ } else if (typeof mql.addListener === "function") {
23
+ mql.addListener(onChange);
24
+ }
25
+ (0, _vue.onBeforeUnmount)(() => {
26
+ if (typeof mql.removeEventListener === "function") {
27
+ mql.removeEventListener("change", onChange);
28
+ } else if (typeof mql.removeListener === "function") {
29
+ mql.removeListener(onChange);
30
+ }
31
+ });
32
+ return flag;
33
+ }
34
+ function composeLayerTransform(progress, mouseRatio, direction, layer, hostHeight, hostWidth) {
35
+ const centred = progress * 2 - 1;
36
+ let tx = layer.offsetX;
37
+ let ty = layer.offsetY;
38
+ switch (direction) {
39
+ case _enums.PARALLAX_DIRECTION.HORIZONTAL:
40
+ tx += centred * hostWidth * layer.speed;
41
+ break;
42
+ case _enums.PARALLAX_DIRECTION.BOTH:
43
+ tx += mouseRatio.x * hostWidth * 0.5 * layer.speed;
44
+ ty += centred * hostHeight * layer.speed;
45
+ break;
46
+ case _enums.PARALLAX_DIRECTION.VERTICAL:
47
+ default:
48
+ ty += centred * hostHeight * layer.speed;
49
+ break;
50
+ }
51
+ return `translate3d(${tx.toFixed(2)}px, ${ty.toFixed(2)}px, 0)`;
52
+ }
53
+ function useParallaxRuntime(options) {
54
+ const {
55
+ supports
56
+ } = (0, _cssSupport.useCssSupport)();
57
+ const cssScrollDriven = (0, _vue.computed)(() => supports("animation-timeline: scroll()") && options.easing.value === _enums.PARALLAX_EASING.LINEAR);
58
+ const reducedMotion = usePrefersReducedMotion();
59
+ const layers = (0, _vue.ref)([]);
60
+ const progress = (0, _vue.ref)(0);
61
+ const mouseRatio = (0, _vue.ref)({
62
+ x: 0,
63
+ y: 0
64
+ });
65
+ let isInViewport = false;
66
+ let rafId = null;
67
+ let observer = null;
68
+ const layerLerp = /* @__PURE__ */new WeakMap();
69
+ const register = layer => {
70
+ layers.value.push(layer);
71
+ };
72
+ const unregister = id => {
73
+ layers.value = layers.value.filter(l => l.id !== id);
74
+ };
75
+ const updateProgress = () => {
76
+ const host = options.target.value;
77
+ if (!host) return;
78
+ const rect = host.getBoundingClientRect();
79
+ const vh = window.innerHeight || document.documentElement.clientHeight;
80
+ const total = rect.height + vh;
81
+ const distanceFromTop = vh - rect.top;
82
+ let p = distanceFromTop / total;
83
+ if (p < 0) p = 0;
84
+ if (p > 1) p = 1;
85
+ const t = options.threshold.value;
86
+ if (t > 0 && p < t) {
87
+ p = 0;
88
+ } else if (t > 0) {
89
+ p = (p - t) / (1 - t);
90
+ }
91
+ progress.value = p;
92
+ options.onProgress?.(p);
93
+ };
94
+ const applyLayerTransforms = () => {
95
+ const host = options.target.value;
96
+ if (!host) return;
97
+ const rect = host.getBoundingClientRect();
98
+ const dir = options.direction.value;
99
+ const easing = options.easing.value;
100
+ const isSpring = easing === _enums.PARALLAX_EASING.SPRING;
101
+ for (const layer of layers.value) {
102
+ if (options.disabled.value || reducedMotion.value) {
103
+ layer.target.style.transform = `translate3d(${layer.offsetX}px, ${layer.offsetY}px, 0)`;
104
+ continue;
105
+ }
106
+ const target = composeLayerTransform(progress.value, mouseRatio.value, dir, layer, rect.height, rect.width);
107
+ if (!isSpring) {
108
+ layer.target.style.transform = target;
109
+ continue;
110
+ }
111
+ const match = /translate3d\(([-\d.]+)px,\s*([-\d.]+)px/.exec(target);
112
+ if (!match) {
113
+ layer.target.style.transform = target;
114
+ continue;
115
+ }
116
+ const targetTx = parseFloat(match[1]);
117
+ const targetTy = parseFloat(match[2]);
118
+ const current = layerLerp.get(layer.target) ?? {
119
+ tx: targetTx,
120
+ ty: targetTy
121
+ };
122
+ const damping = 0.12;
123
+ current.tx += (targetTx - current.tx) * damping;
124
+ current.ty += (targetTy - current.ty) * damping;
125
+ layerLerp.set(layer.target, current);
126
+ layer.target.style.transform = `translate3d(${current.tx.toFixed(2)}px, ${current.ty.toFixed(2)}px, 0)`;
127
+ }
128
+ };
129
+ const tick = () => {
130
+ rafId = null;
131
+ updateProgress();
132
+ applyLayerTransforms();
133
+ if (isInViewport && !options.disabled.value && !reducedMotion.value) {
134
+ rafId = requestAnimationFrame(tick);
135
+ }
136
+ };
137
+ const onScroll = () => {
138
+ if (rafId == null && isInViewport) {
139
+ rafId = requestAnimationFrame(tick);
140
+ }
141
+ };
142
+ const onMouseMove = event => {
143
+ if (options.direction.value !== _enums.PARALLAX_DIRECTION.BOTH) return;
144
+ const host = options.target.value;
145
+ if (!host) return;
146
+ const rect = host.getBoundingClientRect();
147
+ const cx = rect.left + rect.width / 2;
148
+ const cy = rect.top + rect.height / 2;
149
+ mouseRatio.value = {
150
+ x: (event.clientX - cx) / (rect.width / 2),
151
+ y: (event.clientY - cy) / (rect.height / 2)
152
+ };
153
+ if (rafId == null && isInViewport) {
154
+ rafId = requestAnimationFrame(tick);
155
+ }
156
+ };
157
+ const startCss = () => {
158
+ const host = options.target.value;
159
+ if (!host) return;
160
+ for (const layer of layers.value) {
161
+ layer.target.style.setProperty("--origam-parallax__layer---speed", String(layer.speed));
162
+ layer.target.style.setProperty("--origam-parallax__layer---offset-x", `${layer.offsetX}px`);
163
+ layer.target.style.setProperty("--origam-parallax__layer---offset-y", `${layer.offsetY}px`);
164
+ }
165
+ };
166
+ (0, _vue.onMounted)(() => {
167
+ const host = options.target.value;
168
+ if (!host) return;
169
+ observer = new IntersectionObserver(entries => {
170
+ for (const entry of entries) {
171
+ if (entry.isIntersecting && !isInViewport) {
172
+ isInViewport = true;
173
+ options.onEnter?.();
174
+ if (!cssScrollDriven.value) {
175
+ if (rafId == null) rafId = requestAnimationFrame(tick);
176
+ } else {
177
+ startCss();
178
+ }
179
+ } else if (!entry.isIntersecting && isInViewport) {
180
+ isInViewport = false;
181
+ options.onLeave?.();
182
+ }
183
+ }
184
+ }, {
185
+ threshold: 0
186
+ });
187
+ observer.observe(host);
188
+ if (!cssScrollDriven.value) {
189
+ window.addEventListener("scroll", onScroll, {
190
+ passive: true
191
+ });
192
+ window.addEventListener("resize", onScroll, {
193
+ passive: true
194
+ });
195
+ host.addEventListener("mousemove", onMouseMove, {
196
+ passive: true
197
+ });
198
+ requestAnimationFrame(tick);
199
+ }
200
+ });
201
+ (0, _vue.onBeforeUnmount)(() => {
202
+ if (rafId != null) cancelAnimationFrame(rafId);
203
+ observer?.disconnect();
204
+ observer = null;
205
+ if (typeof window !== "undefined") {
206
+ window.removeEventListener("scroll", onScroll);
207
+ window.removeEventListener("resize", onScroll);
208
+ }
209
+ const host = options.target.value;
210
+ host?.removeEventListener("mousemove", onMouseMove);
211
+ });
212
+ (0, _vue.watch)(cssScrollDriven, v => {
213
+ if (v) {
214
+ if (rafId != null) {
215
+ cancelAnimationFrame(rafId);
216
+ rafId = null;
217
+ }
218
+ startCss();
219
+ } else if (isInViewport && rafId == null) {
220
+ rafId = requestAnimationFrame(tick);
221
+ }
222
+ });
223
+ return {
224
+ layers,
225
+ progress,
226
+ mouseRatio,
227
+ cssScrollDriven,
228
+ reducedMotion,
229
+ register,
230
+ unregister
231
+ };
232
+ }