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,210 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ :id="id"
5
+ :aria-label="ariaLabel"
6
+ :class="rowClasses"
7
+ :role="interactive ? 'button' : undefined"
8
+ :style="rowStyles"
9
+ :tabindex="interactive ? 0 : undefined"
10
+ @click="handleClick"
11
+ @keydown="handleKeydown"
12
+ >
13
+ <span
14
+ v-if="showSeed && competitor?.seed != null"
15
+ class="origam-bracket-competitor__seed"
16
+ >
17
+ {{ competitor.seed }}
18
+ </span>
19
+
20
+ <img
21
+ v-if="competitor?.avatar"
22
+ :alt="`${competitor.name} avatar`"
23
+ :src="competitor.avatar"
24
+ class="origam-bracket-competitor__avatar"
25
+ >
26
+
27
+ <span class="origam-bracket-competitor__name">
28
+ {{ displayName }}
29
+ </span>
30
+
31
+ <span
32
+ v-if="showScore"
33
+ class="origam-bracket-competitor__score"
34
+ >
35
+ {{ displayScore }}
36
+ </span>
37
+ </component>
38
+ </template>
39
+
40
+ <script setup>
41
+ import { computed, StyleValue } from "vue";
42
+ import { useProps } from "../../composables";
43
+ const props = defineProps({
44
+ competitor: { type: [Object, null], required: true },
45
+ score: { type: [Number, String], required: false },
46
+ isWinner: { type: Boolean, required: false, default: false },
47
+ isLoser: { type: Boolean, required: false, default: false },
48
+ showScore: { type: Boolean, required: false, default: true },
49
+ showSeed: { type: Boolean, required: false, default: false },
50
+ interactive: { type: Boolean, required: false, default: true },
51
+ color: { type: String, required: false, default: "primary" },
52
+ id: { type: String, required: false },
53
+ class: { type: [String, Array, Object], required: false },
54
+ style: { type: [String, Array, Object, Boolean, null], required: false, skipCheck: true },
55
+ tag: { type: String, required: false, default: "div" }
56
+ });
57
+ const emit = defineEmits(["click"]);
58
+ const { filterProps } = useProps(props);
59
+ const isTbd = computed(() => props.competitor === null);
60
+ const displayName = computed(() => {
61
+ if (isTbd.value) return "TBD";
62
+ return props.competitor.name;
63
+ });
64
+ const displayScore = computed(() => {
65
+ if (props.score == null) return "\u2014";
66
+ if (typeof props.score === "number") return String(props.score);
67
+ return props.score;
68
+ });
69
+ const ariaLabel = computed(() => {
70
+ if (isTbd.value) return "To be determined";
71
+ const base = props.competitor.name;
72
+ const score = props.score != null ? `, score ${displayScore.value}` : "";
73
+ const winner = props.isWinner ? ", winner" : "";
74
+ return `${base}${score}${winner}`;
75
+ });
76
+ const handleClick = (event) => {
77
+ if (!props.interactive) return;
78
+ emit("click", event);
79
+ };
80
+ const handleKeydown = (event) => {
81
+ if (!props.interactive) return;
82
+ if (event.key !== "Enter" && event.key !== " ") return;
83
+ event.preventDefault();
84
+ emit("click", event);
85
+ };
86
+ const rowStyles = computed(() => {
87
+ return [props.style];
88
+ });
89
+ const rowClasses = computed(() => {
90
+ return [
91
+ "origam-bracket-competitor",
92
+ `origam-bracket-competitor--color-${props.color}`,
93
+ {
94
+ "origam-bracket-competitor--winner": props.isWinner,
95
+ "origam-bracket-competitor--loser": props.isLoser,
96
+ "origam-bracket-competitor--tbd": isTbd.value,
97
+ "origam-bracket-competitor--interactive": props.interactive
98
+ },
99
+ props.class
100
+ ];
101
+ });
102
+ defineExpose({
103
+ filterProps
104
+ });
105
+ </script>
106
+
107
+ <style lang="scss" scoped>
108
+ .origam-bracket-competitor {
109
+ display: flex;
110
+ flex-direction: row;
111
+ align-items: center;
112
+ gap: var(--origam-bracket-competitor---gap, 8px);
113
+ min-height: var(--origam-bracket-competitor---height, 36px);
114
+ padding-block: var(--origam-bracket-competitor---padding-block, 4px);
115
+ padding-inline: var(--origam-bracket-competitor---padding-inline, 12px);
116
+ font-size: var(--origam-bracket-competitor---font-size, 0.875rem);
117
+ font-weight: var(--origam-bracket-competitor---font-weight, 400);
118
+ color: var(--origam-bracket-competitor---color, currentColor);
119
+ background-color: var(--origam-bracket-competitor---background-color, transparent);
120
+ border: 0;
121
+ transition: background-color 120ms ease, color 120ms ease;
122
+ user-select: none;
123
+
124
+ &__seed {
125
+ min-width: var(--origam-bracket-seed---min-width, 20px);
126
+ font-size: var(--origam-bracket-seed---font-size, 0.75rem);
127
+ font-weight: var(--origam-bracket-seed---font-weight, 500);
128
+ color: var(--origam-bracket-seed---color, var(--origam-color__text---tertiary, rgba(0, 0, 0, 0.5)));
129
+ text-align: end;
130
+ flex: 0 0 auto;
131
+ }
132
+
133
+ &__avatar {
134
+ width: var(--origam-bracket-avatar---size, 20px);
135
+ height: var(--origam-bracket-avatar---size, 20px);
136
+ border-radius: var(--origam-bracket-avatar---border-radius, 9999px);
137
+ object-fit: cover;
138
+ flex: 0 0 auto;
139
+ }
140
+
141
+ &__name {
142
+ flex: 1 1 auto;
143
+ min-width: 0;
144
+ overflow: hidden;
145
+ text-overflow: ellipsis;
146
+ white-space: nowrap;
147
+ }
148
+
149
+ &__score {
150
+ min-width: var(--origam-bracket-score---min-width, 28px);
151
+ text-align: end;
152
+ font-size: var(--origam-bracket-score---font-size, 0.875rem);
153
+ font-weight: var(--origam-bracket-score---font-weight, 600);
154
+ color: var(--origam-bracket-score---color, currentColor);
155
+ flex: 0 0 auto;
156
+ }
157
+
158
+ &--interactive {
159
+ cursor: pointer;
160
+
161
+ &:hover {
162
+ background-color: var(--origam-bracket-competitor--hover---background-color, rgba(0, 0, 0, 0.04));
163
+ }
164
+
165
+ &:focus-visible {
166
+ outline: 2px solid var(--origam-color__action--primary---bg, #1976d2);
167
+ outline-offset: -2px;
168
+ }
169
+ }
170
+
171
+ &--winner {
172
+ color: var(--origam-bracket-competitor--winner---color, currentColor);
173
+ background-color: var(--origam-bracket-competitor--winner---background-color, rgba(25, 118, 210, 0.08));
174
+ font-weight: var(--origam-bracket-competitor--winner---font-weight, 600);
175
+
176
+ .origam-bracket-competitor__score {
177
+ color: var(--origam-bracket-competitor--winner---color, var(--origam-color__action--primary---bg, #1976d2));
178
+ }
179
+ }
180
+
181
+ &--loser {
182
+ color: var(--origam-bracket-competitor--loser---color, var(--origam-color__text---tertiary, rgba(0, 0, 0, 0.5)));
183
+ opacity: var(--origam-bracket-competitor--loser---opacity, 0.75);
184
+ }
185
+
186
+ &--tbd {
187
+ color: var(--origam-bracket-competitor--pending---color, var(--origam-color__text---tertiary, rgba(0, 0, 0, 0.5)));
188
+ font-style: var(--origam-bracket-competitor--pending---font-style, italic);
189
+ }
190
+ }
191
+ </style>
192
+
193
+ <style>
194
+ :root {
195
+ --origam-bracket-competitor---height: 36px;
196
+ --origam-bracket-competitor---padding-block: 4px;
197
+ --origam-bracket-competitor---padding-inline: 12px;
198
+ --origam-bracket-competitor---gap: 8px;
199
+ --origam-bracket-competitor---font-size: 0.875rem;
200
+ --origam-bracket-competitor---font-weight: 400;
201
+ --origam-bracket-avatar---size: 20px;
202
+ --origam-bracket-avatar---border-radius: 9999px;
203
+ --origam-bracket-score---min-width: 28px;
204
+ --origam-bracket-score---font-size: 0.875rem;
205
+ --origam-bracket-score---font-weight: 600;
206
+ --origam-bracket-seed---min-width: 20px;
207
+ --origam-bracket-seed---font-size: 0.75rem;
208
+ --origam-bracket-seed---font-weight: 500;
209
+ }
210
+ </style>
@@ -0,0 +1,288 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ :id="id"
5
+ :aria-label="ariaLabel"
6
+ :class="matchClasses"
7
+ :style="matchStyles"
8
+ role="group"
9
+ @click="handleMatchClick"
10
+ >
11
+ <div
12
+ v-if="match.scheduledAt || resolvedStatus"
13
+ class="origam-bracket-match__meta"
14
+ >
15
+ <span
16
+ v-if="resolvedStatus"
17
+ :class="statusClasses"
18
+ >
19
+ {{ statusLabel }}
20
+ </span>
21
+ <span
22
+ v-if="match.scheduledAt"
23
+ class="origam-bracket-match__schedule"
24
+ >
25
+ {{ match.scheduledAt }}
26
+ </span>
27
+ </div>
28
+
29
+ <div class="origam-bracket-match__body">
30
+ <slot
31
+ name="competitor"
32
+ :competitor="match.competitorA"
33
+ :match="match"
34
+ :is-winner="isWinnerA"
35
+ :side="'A'"
36
+ >
37
+ <origam-bracket-competitor
38
+ :color="color"
39
+ :competitor="match.competitorA"
40
+ :interactive="interactive"
41
+ :is-loser="isLoserA"
42
+ :is-winner="isWinnerA"
43
+ :score="match.scoreA"
44
+ :show-score="showScores"
45
+ :show-seed="showSeed"
46
+ class="origam-bracket-match__row"
47
+ @click="handleCompetitorClick($event, match.competitorA, 'A')"
48
+ />
49
+ </slot>
50
+
51
+ <div class="origam-bracket-match__divider"/>
52
+
53
+ <slot
54
+ name="competitor"
55
+ :competitor="match.competitorB"
56
+ :match="match"
57
+ :is-winner="isWinnerB"
58
+ :side="'B'"
59
+ >
60
+ <origam-bracket-competitor
61
+ :color="color"
62
+ :competitor="match.competitorB"
63
+ :interactive="interactive"
64
+ :is-loser="isLoserB"
65
+ :is-winner="isWinnerB"
66
+ :score="match.scoreB"
67
+ :show-score="showScores"
68
+ :show-seed="showSeed"
69
+ class="origam-bracket-match__row"
70
+ @click="handleCompetitorClick($event, match.competitorB, 'B')"
71
+ />
72
+ </slot>
73
+ </div>
74
+ </component>
75
+ </template>
76
+
77
+ <script setup>
78
+ import { computed, StyleValue } from "vue";
79
+ import OrigamBracketCompetitor from "./OrigamBracketCompetitor.vue";
80
+ import { useProps } from "../../composables";
81
+ const props = defineProps({
82
+ match: { type: Object, required: true },
83
+ status: { type: null, required: false },
84
+ isFinal: { type: Boolean, required: false, default: false },
85
+ showScores: { type: Boolean, required: false, default: true },
86
+ showSeed: { type: Boolean, required: false, default: false },
87
+ interactive: { type: Boolean, required: false, default: true },
88
+ color: { type: String, required: false, default: "primary" },
89
+ id: { type: String, required: false },
90
+ class: { type: [String, Array, Object], required: false },
91
+ style: { type: [String, Array, Object, Boolean, null], required: false, skipCheck: true },
92
+ tag: { type: String, required: false, default: "div" }
93
+ });
94
+ const emit = defineEmits(["click", "competitor-click", "winner-click"]);
95
+ const { filterProps } = useProps(props);
96
+ const resolvedStatus = computed(() => props.status ?? props.match.status);
97
+ const STATUS_LABELS = {
98
+ pending: "TBD",
99
+ live: "LIVE",
100
+ completed: "Completed",
101
+ forfeited: "Forfeit"
102
+ };
103
+ const statusLabel = computed(() => {
104
+ if (!resolvedStatus.value) return "";
105
+ return STATUS_LABELS[resolvedStatus.value] ?? resolvedStatus.value;
106
+ });
107
+ const statusClasses = computed(() => {
108
+ return [
109
+ "origam-bracket-match__status",
110
+ `origam-bracket-match__status--${resolvedStatus.value ?? "pending"}`
111
+ ];
112
+ });
113
+ const isWinnerA = computed(() => {
114
+ if (props.match.winnerId == null) return false;
115
+ if (!props.match.competitorA) return false;
116
+ return props.match.competitorA.id === props.match.winnerId;
117
+ });
118
+ const isWinnerB = computed(() => {
119
+ if (props.match.winnerId == null) return false;
120
+ if (!props.match.competitorB) return false;
121
+ return props.match.competitorB.id === props.match.winnerId;
122
+ });
123
+ const isLoserA = computed(() => {
124
+ if (props.match.winnerId == null) return false;
125
+ if (!props.match.competitorA) return false;
126
+ return props.match.competitorA.id !== props.match.winnerId;
127
+ });
128
+ const isLoserB = computed(() => {
129
+ if (props.match.winnerId == null) return false;
130
+ if (!props.match.competitorB) return false;
131
+ return props.match.competitorB.id !== props.match.winnerId;
132
+ });
133
+ const ariaLabel = computed(() => {
134
+ const a = props.match.competitorA?.name ?? "TBD";
135
+ const b = props.match.competitorB?.name ?? "TBD";
136
+ return `Match: ${a} versus ${b}`;
137
+ });
138
+ const handleMatchClick = (event) => {
139
+ const target = event.target;
140
+ if (target?.closest(".origam-bracket-competitor")) return;
141
+ emit("click", props.match, event);
142
+ };
143
+ const handleCompetitorClick = (event, competitor, side) => {
144
+ if (!competitor) return;
145
+ emit("competitor-click", competitor, props.match, side, event);
146
+ if (props.match.winnerId != null && competitor.id === props.match.winnerId) {
147
+ emit("winner-click", competitor, props.match, event);
148
+ }
149
+ };
150
+ const matchStyles = computed(() => {
151
+ return [props.style];
152
+ });
153
+ const matchClasses = computed(() => {
154
+ return [
155
+ "origam-bracket-match",
156
+ `origam-bracket-match--color-${props.color}`,
157
+ {
158
+ "origam-bracket-match--final": props.isFinal,
159
+ "origam-bracket-match--interactive": props.interactive,
160
+ [`origam-bracket-match--status-${resolvedStatus.value}`]: !!resolvedStatus.value
161
+ },
162
+ props.class
163
+ ];
164
+ });
165
+ defineExpose({
166
+ filterProps
167
+ });
168
+ </script>
169
+
170
+ <style lang="scss" scoped>
171
+ .origam-bracket-match {
172
+ display: flex;
173
+ flex-direction: column;
174
+ width: var(--origam-bracket-match---width, 240px);
175
+ min-height: var(--origam-bracket-match---min-height, 72px);
176
+ background-color: var(--origam-bracket-match---background-color, var(--origam-color__surface---default, #fff));
177
+ border-width: var(--origam-bracket-match---border-width, 1px);
178
+ border-style: var(--origam-bracket-match---border-style, solid);
179
+ border-color: var(--origam-bracket-match---border-color, var(--origam-color__border---subtle, rgba(0, 0, 0, 0.12)));
180
+ border-radius: var(--origam-bracket-match---border-radius, 6px);
181
+ box-shadow: var(--origam-bracket-match---box-shadow, 0 1px 2px rgba(0, 0, 0, 0.06));
182
+ overflow: hidden;
183
+ transition: background-color var(--origam-bracket-match---transition-duration, 120ms) ease,
184
+ border-color var(--origam-bracket-match---transition-duration, 120ms) ease,
185
+ box-shadow var(--origam-bracket-match---transition-duration, 120ms) ease;
186
+
187
+ &__meta {
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: space-between;
191
+ padding: 2px 8px;
192
+ font-size: 0.6875rem;
193
+ border-block-end: 1px solid var(--origam-color__border---subtle, rgba(0, 0, 0, 0.08));
194
+ }
195
+
196
+ &__status {
197
+ text-transform: uppercase;
198
+ font-weight: 600;
199
+ letter-spacing: 0.04em;
200
+
201
+ &--live {
202
+ color: var(--origam-color__feedback--danger---fg, #d32f2f);
203
+ display: inline-flex;
204
+ align-items: center;
205
+ gap: 4px;
206
+
207
+ &::before {
208
+ content: '';
209
+ width: 6px;
210
+ height: 6px;
211
+ border-radius: 50%;
212
+ background: currentColor;
213
+ animation: origam-bracket-pulse 1.2s infinite;
214
+ }
215
+ }
216
+
217
+ &--completed {
218
+ color: var(--origam-color__text---tertiary, rgba(0, 0, 0, 0.5));
219
+ }
220
+
221
+ &--forfeited {
222
+ color: var(--origam-color__feedback--warning---fg, #ed6c02);
223
+ }
224
+ }
225
+
226
+ &__schedule {
227
+ color: var(--origam-color__text---tertiary, rgba(0, 0, 0, 0.5));
228
+ }
229
+
230
+ &__body {
231
+ display: flex;
232
+ flex-direction: column;
233
+ flex: 1 1 auto;
234
+ }
235
+
236
+ &__divider {
237
+ height: 1px;
238
+ background: var(--origam-color__border---subtle, rgba(0, 0, 0, 0.08));
239
+ }
240
+
241
+ &--interactive {
242
+ cursor: pointer;
243
+
244
+ &:hover {
245
+ background-color: var(--origam-bracket-match--hover---background-color, var(--origam-color__surface---elevated, #fafafa));
246
+ border-color: var(--origam-bracket-match--hover---border-color, var(--origam-color__border---default, rgba(0, 0, 0, 0.24)));
247
+ }
248
+ }
249
+
250
+ &--final {
251
+ background-color: var(--origam-bracket-match--final---background-color, var(--origam-color__surface---elevated, #fafafa));
252
+ border-color: var(--origam-bracket-match--final---border-color, var(--origam-color__action--primary---bg, #1976d2));
253
+ box-shadow: var(--origam-bracket-match--final---box-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
254
+ }
255
+
256
+ &--status-completed {
257
+ opacity: 0.95;
258
+ }
259
+ }
260
+
261
+ @keyframes origam-bracket-pulse {
262
+ 0%, 100% {
263
+ opacity: 1;
264
+ transform: scale(1);
265
+ }
266
+ 50% {
267
+ opacity: 0.5;
268
+ transform: scale(1.4);
269
+ }
270
+ }
271
+
272
+ @media (prefers-reduced-motion: reduce) {
273
+ @keyframes origam-bracket-pulse {
274
+ 0%, 100% { opacity: 1; }
275
+ }
276
+ }
277
+ </style>
278
+
279
+ <style>
280
+ :root {
281
+ --origam-bracket-match---width: 240px;
282
+ --origam-bracket-match---min-height: 72px;
283
+ --origam-bracket-match---border-width: 1px;
284
+ --origam-bracket-match---border-style: solid;
285
+ --origam-bracket-match---border-radius: 6px;
286
+ --origam-bracket-match---transition-duration: 120ms;
287
+ }
288
+ </style>
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <component
3
+ :is="tag"
4
+ :id="resolvedId"
5
+ :aria-labelledby="showRoundTitle ? titleId : undefined"
6
+ :class="roundClasses"
7
+ :style="roundStyles"
8
+ role="group"
9
+ >
10
+ <h3
11
+ v-if="showRoundTitle"
12
+ :id="titleId"
13
+ class="origam-bracket-round__title"
14
+ >
15
+ <slot
16
+ name="round-title"
17
+ :round="round"
18
+ :index="index"
19
+ >
20
+ {{ round.title }}
21
+ </slot>
22
+ </h3>
23
+
24
+ <div class="origam-bracket-round__matches">
25
+ <slot
26
+ v-for="(match, matchIndex) in round.matches"
27
+ name="match"
28
+ :match="match"
29
+ :round="round"
30
+ :is-final="isFinalRound && matchIndex === 0 && round.matches.length === 1"
31
+ >
32
+ <origam-bracket-match
33
+ :key="match.id"
34
+ :color="color"
35
+ :data-cy="`origam-bracket-match-${match.id}`"
36
+ :interactive="interactive"
37
+ :is-final="isFinalRound && matchIndex === 0 && round.matches.length === 1"
38
+ :match="match"
39
+ :show-scores="showScores"
40
+ :show-seed="showSeed"
41
+ class="origam-bracket-round__match"
42
+ @click="onMatchClick"
43
+ @competitor-click="onCompetitorClick"
44
+ @winner-click="onWinnerClick"
45
+ />
46
+ </slot>
47
+ </div>
48
+ </component>
49
+ </template>
50
+
51
+ <script setup>
52
+ import { computed, StyleValue } from "vue";
53
+ import OrigamBracketMatch from "./OrigamBracketMatch.vue";
54
+ import { useProps } from "../../composables";
55
+ import { DIRECTION } from "../../enums";
56
+ const props = defineProps({
57
+ round: { type: Object, required: true },
58
+ index: { type: Number, required: true },
59
+ totalRounds: { type: Number, required: true },
60
+ showRoundTitle: { type: Boolean, required: false, default: true },
61
+ showScores: { type: Boolean, required: false, default: true },
62
+ showSeed: { type: Boolean, required: false, default: false },
63
+ interactive: { type: Boolean, required: false, default: true },
64
+ color: { type: String, required: false, default: "primary" },
65
+ id: { type: String, required: false },
66
+ class: { type: [String, Array, Object], required: false },
67
+ style: { type: [String, Array, Object, Boolean, null], required: false, skipCheck: true },
68
+ tag: { type: String, required: false, default: "div" },
69
+ direction: { type: null, required: false, default: DIRECTION.HORIZONTAL }
70
+ });
71
+ const emit = defineEmits(["match-click", "competitor-click", "winner-click"]);
72
+ const { filterProps } = useProps(props);
73
+ const resolvedId = computed(() => props.id ?? `origam-bracket-round-${props.round.id}`);
74
+ const titleId = computed(() => `${resolvedId.value}-title`);
75
+ const isFinalRound = computed(() => props.index === props.totalRounds - 1);
76
+ const onMatchClick = (match, event) => {
77
+ emit("match-click", match, event);
78
+ };
79
+ const onCompetitorClick = (competitor, match, side, event) => {
80
+ emit("competitor-click", competitor, match, side, event);
81
+ };
82
+ const onWinnerClick = (competitor, match, event) => {
83
+ emit("winner-click", competitor, match, event);
84
+ };
85
+ const roundStyles = computed(() => {
86
+ return [props.style];
87
+ });
88
+ const roundClasses = computed(() => {
89
+ return [
90
+ "origam-bracket-round",
91
+ `origam-bracket-round--direction-${props.direction}`,
92
+ {
93
+ "origam-bracket-round--final": isFinalRound.value,
94
+ [`origam-bracket-round--side-${props.round.side}`]: !!props.round.side
95
+ },
96
+ props.class
97
+ ];
98
+ });
99
+ defineExpose({
100
+ filterProps
101
+ });
102
+ </script>
103
+
104
+ <style lang="scss" scoped>
105
+ .origam-bracket-round {
106
+ display: flex;
107
+ flex-direction: column;
108
+
109
+ &__title {
110
+ margin: 0 0 var(--origam-bracket-round-title---margin-block-end, 12px);
111
+ color: var(--origam-bracket-round-title---color, var(--origam-color__text---secondary, rgba(0, 0, 0, 0.66)));
112
+ font-size: var(--origam-bracket-round-title---font-size, 0.875rem);
113
+ font-weight: var(--origam-bracket-round-title---font-weight, 600);
114
+ letter-spacing: var(--origam-bracket-round-title---letter-spacing, 0.04em);
115
+ text-transform: var(--origam-bracket-round-title---text-transform, uppercase);
116
+ text-align: center;
117
+ }
118
+
119
+ &__matches {
120
+ display: flex;
121
+ flex-direction: column;
122
+ justify-content: space-around;
123
+ flex: 1 1 auto;
124
+ gap: var(--origam-bracket-round---match-gap, 24px);
125
+ }
126
+
127
+ &__match {
128
+ flex: 0 0 auto;
129
+ }
130
+
131
+ &--direction-vertical {
132
+ flex-direction: column;
133
+
134
+ .origam-bracket-round__matches {
135
+ flex-direction: row;
136
+ justify-content: space-around;
137
+ }
138
+ }
139
+ }
140
+ </style>
141
+
142
+ <style>
143
+ :root {
144
+ --origam-bracket-round-title---margin-block-end: 12px;
145
+ --origam-bracket-round-title---font-size: 0.875rem;
146
+ --origam-bracket-round-title---font-weight: 600;
147
+ --origam-bracket-round-title---letter-spacing: 0.04em;
148
+ --origam-bracket-round-title---text-transform: uppercase;
149
+ }
150
+ </style>
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "OrigamBracket", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _OrigamBracket.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "OrigamBracketCompetitor", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _OrigamBracketCompetitor.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "OrigamBracketMatch", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _OrigamBracketMatch.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "OrigamBracketRound", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _OrigamBracketRound.default;
28
+ }
29
+ });
30
+ var _OrigamBracket = _interopRequireDefault(require("./OrigamBracket.vue"));
31
+ var _OrigamBracketRound = _interopRequireDefault(require("./OrigamBracketRound.vue"));
32
+ var _OrigamBracketMatch = _interopRequireDefault(require("./OrigamBracketMatch.vue"));
33
+ var _OrigamBracketCompetitor = _interopRequireDefault(require("./OrigamBracketCompetitor.vue"));
34
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,4 @@
1
+ export { default as OrigamBracket } from './OrigamBracket.vue';
2
+ export { default as OrigamBracketRound } from './OrigamBracketRound.vue';
3
+ export { default as OrigamBracketMatch } from './OrigamBracketMatch.vue';
4
+ export { default as OrigamBracketCompetitor } from './OrigamBracketCompetitor.vue';
@@ -0,0 +1,4 @@
1
+ export { default as OrigamBracket } from "./OrigamBracket.vue";
2
+ export { default as OrigamBracketRound } from "./OrigamBracketRound.vue";
3
+ export { default as OrigamBracketMatch } from "./OrigamBracketMatch.vue";
4
+ export { default as OrigamBracketCompetitor } from "./OrigamBracketCompetitor.vue";