tide-design-system 2.5.20 → 2.6.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 (827) hide show
  1. package/README.md +1 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +11 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  4. package/dist/_virtual/dynamic-import-helper.js +20 -0
  5. package/dist/_virtual/dynamic-import-helper.js.map +1 -0
  6. package/dist/assets/svg/branding/logo/logo-aero.svg.js +18 -0
  7. package/dist/assets/svg/branding/logo/logo-aero.svg.js.map +1 -0
  8. package/dist/assets/svg/branding/logo/logo-atv.svg.js +20 -0
  9. package/dist/assets/svg/branding/logo/logo-atv.svg.js.map +1 -0
  10. package/dist/assets/svg/branding/logo/logo-boatmart.svg.js +18 -0
  11. package/dist/assets/svg/branding/logo/logo-boatmart.svg.js.map +1 -0
  12. package/dist/assets/svg/branding/logo/logo-cycle.svg.js +18 -0
  13. package/dist/assets/svg/branding/logo/logo-cycle.svg.js.map +1 -0
  14. package/dist/assets/svg/branding/logo/logo-equipment.svg.js +18 -0
  15. package/dist/assets/svg/branding/logo/logo-equipment.svg.js.map +1 -0
  16. package/dist/assets/svg/branding/logo/logo-pwc.svg.js +21 -0
  17. package/dist/assets/svg/branding/logo/logo-pwc.svg.js.map +1 -0
  18. package/dist/assets/svg/branding/logo/logo-rv.svg.js +20 -0
  19. package/dist/assets/svg/branding/logo/logo-rv.svg.js.map +1 -0
  20. package/dist/assets/svg/branding/logo/logo-rvt.svg.js +16 -0
  21. package/dist/assets/svg/branding/logo/logo-rvt.svg.js.map +1 -0
  22. package/dist/assets/svg/branding/logo/logo-snow.svg.js +18 -0
  23. package/dist/assets/svg/branding/logo/logo-snow.svg.js.map +1 -0
  24. package/dist/assets/svg/branding/logo/logo-truck.svg.js +19 -0
  25. package/dist/assets/svg/branding/logo/logo-truck.svg.js.map +1 -0
  26. package/dist/assets/svg/branding/mark/mark-aero.svg.js +17 -0
  27. package/dist/assets/svg/branding/mark/mark-aero.svg.js.map +1 -0
  28. package/dist/assets/svg/branding/mark/mark-atv.svg.js +22 -0
  29. package/dist/assets/svg/branding/mark/mark-atv.svg.js.map +1 -0
  30. package/dist/assets/svg/branding/mark/mark-boatmart.svg.js +17 -0
  31. package/dist/assets/svg/branding/mark/mark-boatmart.svg.js.map +1 -0
  32. package/dist/assets/svg/branding/mark/mark-cycle.svg.js +17 -0
  33. package/dist/assets/svg/branding/mark/mark-cycle.svg.js.map +1 -0
  34. package/dist/assets/svg/branding/mark/mark-equipment.svg.js +17 -0
  35. package/dist/assets/svg/branding/mark/mark-equipment.svg.js.map +1 -0
  36. package/dist/assets/svg/branding/mark/mark-pwc.svg.js +17 -0
  37. package/dist/assets/svg/branding/mark/mark-pwc.svg.js.map +1 -0
  38. package/dist/assets/svg/branding/mark/mark-rv.svg.js +22 -0
  39. package/dist/assets/svg/branding/mark/mark-rv.svg.js.map +1 -0
  40. package/dist/assets/svg/branding/mark/mark-rvt.svg.js +18 -0
  41. package/dist/assets/svg/branding/mark/mark-rvt.svg.js.map +1 -0
  42. package/dist/assets/svg/branding/mark/mark-snow.svg.js +17 -0
  43. package/dist/assets/svg/branding/mark/mark-snow.svg.js.map +1 -0
  44. package/dist/assets/svg/branding/mark/mark-truck.svg.js +18 -0
  45. package/dist/assets/svg/branding/mark/mark-truck.svg.js.map +1 -0
  46. package/dist/assets/svg/icons/IconAccountBalance.svg.js +16 -0
  47. package/dist/assets/svg/icons/IconAccountBalance.svg.js.map +1 -0
  48. package/dist/assets/svg/icons/IconAcute.svg.js +16 -0
  49. package/dist/assets/svg/icons/IconAcute.svg.js.map +1 -0
  50. package/dist/assets/svg/icons/IconAdd.svg.js +16 -0
  51. package/dist/assets/svg/icons/IconAdd.svg.js.map +1 -0
  52. package/dist/assets/svg/icons/IconAiDescription.svg.js +20 -0
  53. package/dist/assets/svg/icons/IconAiDescription.svg.js.map +1 -0
  54. package/dist/assets/svg/icons/IconAlignSpaceEven.svg.js +16 -0
  55. package/dist/assets/svg/icons/IconAlignSpaceEven.svg.js.map +1 -0
  56. package/dist/assets/svg/icons/IconApplePay.svg.js +16 -0
  57. package/dist/assets/svg/icons/IconApplePay.svg.js.map +1 -0
  58. package/dist/assets/svg/icons/IconArrowBack.svg.js +16 -0
  59. package/dist/assets/svg/icons/IconArrowBack.svg.js.map +1 -0
  60. package/dist/assets/svg/icons/IconArrowCycle.svg.js +16 -0
  61. package/dist/assets/svg/icons/IconArrowCycle.svg.js.map +1 -0
  62. package/dist/assets/svg/icons/IconArrowForward.svg.js +16 -0
  63. package/dist/assets/svg/icons/IconArrowForward.svg.js.map +1 -0
  64. package/dist/assets/svg/icons/IconArrowRight.svg.js +16 -0
  65. package/dist/assets/svg/icons/IconArrowRight.svg.js.map +1 -0
  66. package/dist/assets/svg/icons/IconArrowUp.svg.js +16 -0
  67. package/dist/assets/svg/icons/IconArrowUp.svg.js.map +1 -0
  68. package/dist/assets/svg/icons/IconAssignment.svg.js +16 -0
  69. package/dist/assets/svg/icons/IconAssignment.svg.js.map +1 -0
  70. package/dist/assets/svg/icons/IconAttachMoney.svg.js +16 -0
  71. package/dist/assets/svg/icons/IconAttachMoney.svg.js.map +1 -0
  72. package/dist/assets/svg/icons/IconAutoRenew.svg.js +16 -0
  73. package/dist/assets/svg/icons/IconAutoRenew.svg.js.map +1 -0
  74. package/dist/assets/svg/icons/IconAwardStar.svg.js +16 -0
  75. package/dist/assets/svg/icons/IconAwardStar.svg.js.map +1 -0
  76. package/dist/assets/svg/icons/IconBed.svg.js +16 -0
  77. package/dist/assets/svg/icons/IconBed.svg.js.map +1 -0
  78. package/dist/assets/svg/icons/IconBolt.svg.js +16 -0
  79. package/dist/assets/svg/icons/IconBolt.svg.js.map +1 -0
  80. package/dist/assets/svg/icons/IconBookmark.svg.js +16 -0
  81. package/dist/assets/svg/icons/IconBookmark.svg.js.map +1 -0
  82. package/dist/assets/svg/icons/IconBunkhouse.svg.js +16 -0
  83. package/dist/assets/svg/icons/IconBunkhouse.svg.js.map +1 -0
  84. package/dist/assets/svg/icons/IconCalculate.svg.js +16 -0
  85. package/dist/assets/svg/icons/IconCalculate.svg.js.map +1 -0
  86. package/dist/assets/svg/icons/IconCalendarMonth.svg.js +16 -0
  87. package/dist/assets/svg/icons/IconCalendarMonth.svg.js.map +1 -0
  88. package/dist/assets/svg/icons/IconCall.svg.js +16 -0
  89. package/dist/assets/svg/icons/IconCall.svg.js.map +1 -0
  90. package/dist/assets/svg/icons/IconCallQuality.svg.js +16 -0
  91. package/dist/assets/svg/icons/IconCallQuality.svg.js.map +1 -0
  92. package/dist/assets/svg/icons/IconCarRental.svg.js +16 -0
  93. package/dist/assets/svg/icons/IconCarRental.svg.js.map +1 -0
  94. package/dist/assets/svg/icons/IconCheck.svg.js +16 -0
  95. package/dist/assets/svg/icons/IconCheck.svg.js.map +1 -0
  96. package/dist/assets/svg/icons/IconChevronLeft.svg.js +16 -0
  97. package/dist/assets/svg/icons/IconChevronLeft.svg.js.map +1 -0
  98. package/dist/assets/svg/icons/IconChevronRight.svg.js +16 -0
  99. package/dist/assets/svg/icons/IconChevronRight.svg.js.map +1 -0
  100. package/dist/assets/svg/icons/IconClear.svg.js +16 -0
  101. package/dist/assets/svg/icons/IconClear.svg.js.map +1 -0
  102. package/dist/assets/svg/icons/IconClose.svg.js +16 -0
  103. package/dist/assets/svg/icons/IconClose.svg.js.map +1 -0
  104. package/dist/assets/svg/icons/IconContract.svg.js +16 -0
  105. package/dist/assets/svg/icons/IconContract.svg.js.map +1 -0
  106. package/dist/assets/svg/icons/IconCrash.svg.js +16 -0
  107. package/dist/assets/svg/icons/IconCrash.svg.js.map +1 -0
  108. package/dist/assets/svg/icons/IconDashboardCustomize.svg.js +16 -0
  109. package/dist/assets/svg/icons/IconDashboardCustomize.svg.js.map +1 -0
  110. package/dist/assets/svg/icons/IconDelete.svg.js +16 -0
  111. package/dist/assets/svg/icons/IconDelete.svg.js.map +1 -0
  112. package/dist/assets/svg/icons/IconDiamond.svg.js +16 -0
  113. package/dist/assets/svg/icons/IconDiamond.svg.js.map +1 -0
  114. package/dist/assets/svg/icons/IconDirectionsBoat.svg.js +16 -0
  115. package/dist/assets/svg/icons/IconDirectionsBoat.svg.js.map +1 -0
  116. package/dist/assets/svg/icons/IconDomain.svg.js +16 -0
  117. package/dist/assets/svg/icons/IconDomain.svg.js.map +1 -0
  118. package/dist/assets/svg/icons/IconDraft.svg.js +16 -0
  119. package/dist/assets/svg/icons/IconDraft.svg.js.map +1 -0
  120. package/dist/assets/svg/icons/IconEdit.svg.js +16 -0
  121. package/dist/assets/svg/icons/IconEdit.svg.js.map +1 -0
  122. package/dist/assets/svg/icons/IconEngine.svg.js +20 -0
  123. package/dist/assets/svg/icons/IconEngine.svg.js.map +1 -0
  124. package/dist/assets/svg/icons/IconEngineering.svg.js +16 -0
  125. package/dist/assets/svg/icons/IconEngineering.svg.js.map +1 -0
  126. package/dist/assets/svg/icons/IconError.svg.js +16 -0
  127. package/dist/assets/svg/icons/IconError.svg.js.map +1 -0
  128. package/dist/assets/svg/icons/IconExpandContent.svg.js +16 -0
  129. package/dist/assets/svg/icons/IconExpandContent.svg.js.map +1 -0
  130. package/dist/assets/svg/icons/IconExpandLess.svg.js +16 -0
  131. package/dist/assets/svg/icons/IconExpandLess.svg.js.map +1 -0
  132. package/dist/assets/svg/icons/IconExpandMore.svg.js +16 -0
  133. package/dist/assets/svg/icons/IconExpandMore.svg.js.map +1 -0
  134. package/dist/assets/svg/icons/IconFacebook.svg.js +16 -0
  135. package/dist/assets/svg/icons/IconFacebook.svg.js.map +1 -0
  136. package/dist/assets/svg/icons/IconFavorite.svg.js +16 -0
  137. package/dist/assets/svg/icons/IconFavorite.svg.js.map +1 -0
  138. package/dist/assets/svg/icons/IconFavoriteFilled.svg.js +16 -0
  139. package/dist/assets/svg/icons/IconFavoriteFilled.svg.js.map +1 -0
  140. package/dist/assets/svg/icons/IconFlag.svg.js +16 -0
  141. package/dist/assets/svg/icons/IconFlag.svg.js.map +1 -0
  142. package/dist/assets/svg/icons/IconFormatBold.svg.js +16 -0
  143. package/dist/assets/svg/icons/IconFormatBold.svg.js.map +1 -0
  144. package/dist/assets/svg/icons/IconFormatItalic.svg.js +16 -0
  145. package/dist/assets/svg/icons/IconFormatItalic.svg.js.map +1 -0
  146. package/dist/assets/svg/icons/IconFormatListBulleted.svg.js +16 -0
  147. package/dist/assets/svg/icons/IconFormatListBulleted.svg.js.map +1 -0
  148. package/dist/assets/svg/icons/IconForum.svg.js +16 -0
  149. package/dist/assets/svg/icons/IconForum.svg.js.map +1 -0
  150. package/dist/assets/svg/icons/IconGas.svg.js +16 -0
  151. package/dist/assets/svg/icons/IconGas.svg.js.map +1 -0
  152. package/dist/assets/svg/icons/IconGavel.svg.js +16 -0
  153. package/dist/assets/svg/icons/IconGavel.svg.js.map +1 -0
  154. package/dist/assets/svg/icons/IconGears.svg.js +16 -0
  155. package/dist/assets/svg/icons/IconGears.svg.js.map +1 -0
  156. package/dist/assets/svg/icons/IconGlobeLocationPin.svg.js +16 -0
  157. package/dist/assets/svg/icons/IconGlobeLocationPin.svg.js.map +1 -0
  158. package/dist/assets/svg/icons/IconGoogle.svg.js +31 -0
  159. package/dist/assets/svg/icons/IconGoogle.svg.js.map +1 -0
  160. package/dist/assets/svg/icons/IconGooglePay.svg.js +16 -0
  161. package/dist/assets/svg/icons/IconGooglePay.svg.js.map +1 -0
  162. package/dist/assets/svg/icons/IconGrid.svg.js +16 -0
  163. package/dist/assets/svg/icons/IconGrid.svg.js.map +1 -0
  164. package/dist/assets/svg/icons/IconHandshake.svg.js +16 -0
  165. package/dist/assets/svg/icons/IconHandshake.svg.js.map +1 -0
  166. package/dist/assets/svg/icons/IconHandyman.svg.js +16 -0
  167. package/dist/assets/svg/icons/IconHandyman.svg.js.map +1 -0
  168. package/dist/assets/svg/icons/IconHeight.svg.js +16 -0
  169. package/dist/assets/svg/icons/IconHeight.svg.js.map +1 -0
  170. package/dist/assets/svg/icons/IconHelp.svg.js +16 -0
  171. package/dist/assets/svg/icons/IconHelp.svg.js.map +1 -0
  172. package/dist/assets/svg/icons/IconInfo.svg.js +16 -0
  173. package/dist/assets/svg/icons/IconInfo.svg.js.map +1 -0
  174. package/dist/assets/svg/icons/IconInformation.svg.js +16 -0
  175. package/dist/assets/svg/icons/IconInformation.svg.js.map +1 -0
  176. package/dist/assets/svg/icons/IconInsertText.svg.js +16 -0
  177. package/dist/assets/svg/icons/IconInsertText.svg.js.map +1 -0
  178. package/dist/assets/svg/icons/IconInstagram.svg.js +16 -0
  179. package/dist/assets/svg/icons/IconInstagram.svg.js.map +1 -0
  180. package/dist/assets/svg/icons/IconIosShare.svg.js +16 -0
  181. package/dist/assets/svg/icons/IconIosShare.svg.js.map +1 -0
  182. package/dist/assets/svg/icons/IconLayout.svg.js +16 -0
  183. package/dist/assets/svg/icons/IconLayout.svg.js.map +1 -0
  184. package/dist/assets/svg/icons/IconLevellingJack.svg.js +20 -0
  185. package/dist/assets/svg/icons/IconLevellingJack.svg.js.map +1 -0
  186. package/dist/assets/svg/icons/IconLinkedIn.svg.js +16 -0
  187. package/dist/assets/svg/icons/IconLinkedIn.svg.js.map +1 -0
  188. package/dist/assets/svg/icons/IconLocalShipping.svg.js +16 -0
  189. package/dist/assets/svg/icons/IconLocalShipping.svg.js.map +1 -0
  190. package/dist/assets/svg/icons/IconLock.svg.js +16 -0
  191. package/dist/assets/svg/icons/IconLock.svg.js.map +1 -0
  192. package/dist/assets/svg/icons/IconMail.svg.js +16 -0
  193. package/dist/assets/svg/icons/IconMail.svg.js.map +1 -0
  194. package/dist/assets/svg/icons/IconMenu.svg.js +16 -0
  195. package/dist/assets/svg/icons/IconMenu.svg.js.map +1 -0
  196. package/dist/assets/svg/icons/IconMoneyBag.svg.js +16 -0
  197. package/dist/assets/svg/icons/IconMoneyBag.svg.js.map +1 -0
  198. package/dist/assets/svg/icons/IconMoreHoriz.svg.js +16 -0
  199. package/dist/assets/svg/icons/IconMoreHoriz.svg.js.map +1 -0
  200. package/dist/assets/svg/icons/IconMove.svg.js +16 -0
  201. package/dist/assets/svg/icons/IconMove.svg.js.map +1 -0
  202. package/dist/assets/svg/icons/IconNotifications.svg.js +16 -0
  203. package/dist/assets/svg/icons/IconNotifications.svg.js.map +1 -0
  204. package/dist/assets/svg/icons/IconOdometer.svg.js +16 -0
  205. package/dist/assets/svg/icons/IconOdometer.svg.js.map +1 -0
  206. package/dist/assets/svg/icons/IconOpenInNew.svg.js +16 -0
  207. package/dist/assets/svg/icons/IconOpenInNew.svg.js.map +1 -0
  208. package/dist/assets/svg/icons/IconPalette.svg.js +16 -0
  209. package/dist/assets/svg/icons/IconPalette.svg.js.map +1 -0
  210. package/dist/assets/svg/icons/IconPaypal.svg.js +16 -0
  211. package/dist/assets/svg/icons/IconPaypal.svg.js.map +1 -0
  212. package/dist/assets/svg/icons/IconPerson.svg.js +16 -0
  213. package/dist/assets/svg/icons/IconPerson.svg.js.map +1 -0
  214. package/dist/assets/svg/icons/IconPersonSearch.svg.js +16 -0
  215. package/dist/assets/svg/icons/IconPersonSearch.svg.js.map +1 -0
  216. package/dist/assets/svg/icons/IconPhotoCamera.svg.js +16 -0
  217. package/dist/assets/svg/icons/IconPhotoCamera.svg.js.map +1 -0
  218. package/dist/assets/svg/icons/IconPinterest.svg.js +16 -0
  219. package/dist/assets/svg/icons/IconPinterest.svg.js.map +1 -0
  220. package/dist/assets/svg/icons/IconPlayArrow.svg.js +16 -0
  221. package/dist/assets/svg/icons/IconPlayArrow.svg.js.map +1 -0
  222. package/dist/assets/svg/icons/IconPolicy.svg.js +16 -0
  223. package/dist/assets/svg/icons/IconPolicy.svg.js.map +1 -0
  224. package/dist/assets/svg/icons/IconPower.svg.js +16 -0
  225. package/dist/assets/svg/icons/IconPower.svg.js.map +1 -0
  226. package/dist/assets/svg/icons/IconPowerOff.svg.js +16 -0
  227. package/dist/assets/svg/icons/IconPowerOff.svg.js.map +1 -0
  228. package/dist/assets/svg/icons/IconPriorityHigh.svg.js +16 -0
  229. package/dist/assets/svg/icons/IconPriorityHigh.svg.js.map +1 -0
  230. package/dist/assets/svg/icons/IconRemove.svg.js +16 -0
  231. package/dist/assets/svg/icons/IconRemove.svg.js.map +1 -0
  232. package/dist/assets/svg/icons/IconRequestQuote.svg.js +16 -0
  233. package/dist/assets/svg/icons/IconRequestQuote.svg.js.map +1 -0
  234. package/dist/assets/svg/icons/IconResetWrench.svg.js +16 -0
  235. package/dist/assets/svg/icons/IconResetWrench.svg.js.map +1 -0
  236. package/dist/assets/svg/icons/IconRoad.svg.js +16 -0
  237. package/dist/assets/svg/icons/IconRoad.svg.js.map +1 -0
  238. package/dist/assets/svg/icons/IconRoundedCorner.svg.js +16 -0
  239. package/dist/assets/svg/icons/IconRoundedCorner.svg.js.map +1 -0
  240. package/dist/assets/svg/icons/IconRuler.svg.js +16 -0
  241. package/dist/assets/svg/icons/IconRuler.svg.js.map +1 -0
  242. package/dist/assets/svg/icons/IconSailing.svg.js +16 -0
  243. package/dist/assets/svg/icons/IconSailing.svg.js.map +1 -0
  244. package/dist/assets/svg/icons/IconSchool.svg.js +16 -0
  245. package/dist/assets/svg/icons/IconSchool.svg.js.map +1 -0
  246. package/dist/assets/svg/icons/IconSearch.svg.js +16 -0
  247. package/dist/assets/svg/icons/IconSearch.svg.js.map +1 -0
  248. package/dist/assets/svg/icons/IconSeating.svg.js +16 -0
  249. package/dist/assets/svg/icons/IconSeating.svg.js.map +1 -0
  250. package/dist/assets/svg/icons/IconSell.svg.js +16 -0
  251. package/dist/assets/svg/icons/IconSell.svg.js.map +1 -0
  252. package/dist/assets/svg/icons/IconSensors.svg.js +16 -0
  253. package/dist/assets/svg/icons/IconSensors.svg.js.map +1 -0
  254. package/dist/assets/svg/icons/IconSettings.svg.js +16 -0
  255. package/dist/assets/svg/icons/IconSettings.svg.js.map +1 -0
  256. package/dist/assets/svg/icons/IconShare.svg.js +16 -0
  257. package/dist/assets/svg/icons/IconShare.svg.js.map +1 -0
  258. package/dist/assets/svg/icons/IconShieldCheck.svg.js +16 -0
  259. package/dist/assets/svg/icons/IconShieldCheck.svg.js.map +1 -0
  260. package/dist/assets/svg/icons/IconShoppingCart.svg.js +16 -0
  261. package/dist/assets/svg/icons/IconShoppingCart.svg.js.map +1 -0
  262. package/dist/assets/svg/icons/IconSleeps.svg.js +16 -0
  263. package/dist/assets/svg/icons/IconSleeps.svg.js.map +1 -0
  264. package/dist/assets/svg/icons/IconSms.svg.js +16 -0
  265. package/dist/assets/svg/icons/IconSms.svg.js.map +1 -0
  266. package/dist/assets/svg/icons/IconSnowflake.svg.js +16 -0
  267. package/dist/assets/svg/icons/IconSnowflake.svg.js.map +1 -0
  268. package/dist/assets/svg/icons/IconStar.svg.js +16 -0
  269. package/dist/assets/svg/icons/IconStar.svg.js.map +1 -0
  270. package/dist/assets/svg/icons/IconStarFilled.svg.js +16 -0
  271. package/dist/assets/svg/icons/IconStarFilled.svg.js.map +1 -0
  272. package/dist/assets/svg/icons/IconStarHalf.svg.js +16 -0
  273. package/dist/assets/svg/icons/IconStarHalf.svg.js.map +1 -0
  274. package/dist/assets/svg/icons/IconSummarize.svg.js +16 -0
  275. package/dist/assets/svg/icons/IconSummarize.svg.js.map +1 -0
  276. package/dist/assets/svg/icons/IconSwapHoriz.svg.js +16 -0
  277. package/dist/assets/svg/icons/IconSwapHoriz.svg.js.map +1 -0
  278. package/dist/assets/svg/icons/IconSwapVert.svg.js +16 -0
  279. package/dist/assets/svg/icons/IconSwapVert.svg.js.map +1 -0
  280. package/dist/assets/svg/icons/IconThreeDRotation.svg.js +29 -0
  281. package/dist/assets/svg/icons/IconThreeDRotation.svg.js.map +1 -0
  282. package/dist/assets/svg/icons/IconThumbUp.svg.js +16 -0
  283. package/dist/assets/svg/icons/IconThumbUp.svg.js.map +1 -0
  284. package/dist/assets/svg/icons/IconTrendingDown.svg.js +16 -0
  285. package/dist/assets/svg/icons/IconTrendingDown.svg.js.map +1 -0
  286. package/dist/assets/svg/icons/IconTrophy.svg.js +16 -0
  287. package/dist/assets/svg/icons/IconTrophy.svg.js.map +1 -0
  288. package/dist/assets/svg/icons/IconTune.svg.js +16 -0
  289. package/dist/assets/svg/icons/IconTune.svg.js.map +1 -0
  290. package/dist/assets/svg/icons/IconTwitter.svg.js +16 -0
  291. package/dist/assets/svg/icons/IconTwitter.svg.js.map +1 -0
  292. package/dist/assets/svg/icons/IconUmbrella.svg.js +16 -0
  293. package/dist/assets/svg/icons/IconUmbrella.svg.js.map +1 -0
  294. package/dist/assets/svg/icons/IconVerified.svg.js +20 -0
  295. package/dist/assets/svg/icons/IconVerified.svg.js.map +1 -0
  296. package/dist/assets/svg/icons/IconVideocam.svg.js +16 -0
  297. package/dist/assets/svg/icons/IconVideocam.svg.js.map +1 -0
  298. package/dist/assets/svg/icons/IconViewInAr.svg.js +16 -0
  299. package/dist/assets/svg/icons/IconViewInAr.svg.js.map +1 -0
  300. package/dist/assets/svg/icons/IconVisibility.svg.js +16 -0
  301. package/dist/assets/svg/icons/IconVisibility.svg.js.map +1 -0
  302. package/dist/assets/svg/icons/IconVolumeOff.svg.js +16 -0
  303. package/dist/assets/svg/icons/IconVolumeOff.svg.js.map +1 -0
  304. package/dist/assets/svg/icons/IconVolumeOn.svg.js +16 -0
  305. package/dist/assets/svg/icons/IconVolumeOn.svg.js.map +1 -0
  306. package/dist/assets/svg/icons/IconWarehouse.svg.js +16 -0
  307. package/dist/assets/svg/icons/IconWarehouse.svg.js.map +1 -0
  308. package/dist/assets/svg/icons/IconWarning.svg.js +16 -0
  309. package/dist/assets/svg/icons/IconWarning.svg.js.map +1 -0
  310. package/dist/assets/svg/icons/IconWater.svg.js +16 -0
  311. package/dist/assets/svg/icons/IconWater.svg.js.map +1 -0
  312. package/dist/assets/svg/icons/IconWeight.svg.js +16 -0
  313. package/dist/assets/svg/icons/IconWeight.svg.js.map +1 -0
  314. package/dist/assets/svg/icons/IconWidth.svg.js +16 -0
  315. package/dist/assets/svg/icons/IconWidth.svg.js.map +1 -0
  316. package/dist/assets/svg/icons/IconWorkspacePremium.svg.js +16 -0
  317. package/dist/assets/svg/icons/IconWorkspacePremium.svg.js.map +1 -0
  318. package/dist/assets/svg/icons/IconWrench.svg.js +16 -0
  319. package/dist/assets/svg/icons/IconWrench.svg.js.map +1 -0
  320. package/dist/assets/svg/icons/IconYoutube.svg.js +16 -0
  321. package/dist/assets/svg/icons/IconYoutube.svg.js.map +1 -0
  322. package/dist/assets/svg/icons/realm/aero/IconAeroFlight.svg.js +16 -0
  323. package/dist/assets/svg/icons/realm/aero/IconAeroFlight.svg.js.map +1 -0
  324. package/dist/assets/svg/icons/realm/aero/IconAeroHelicopter.svg.js +16 -0
  325. package/dist/assets/svg/icons/realm/aero/IconAeroHelicopter.svg.js.map +1 -0
  326. package/dist/assets/svg/icons/realm/aero/IconAeroModeFan.svg.js +16 -0
  327. package/dist/assets/svg/icons/realm/aero/IconAeroModeFan.svg.js.map +1 -0
  328. package/dist/assets/svg/icons/realm/aero/IconAeroPlaneContrails.svg.js +16 -0
  329. package/dist/assets/svg/icons/realm/aero/IconAeroPlaneContrails.svg.js.map +1 -0
  330. package/dist/assets/svg/icons/realm/atv/IconAtvAtv.svg.js +20 -0
  331. package/dist/assets/svg/icons/realm/atv/IconAtvAtv.svg.js.map +1 -0
  332. package/dist/assets/svg/icons/realm/atv/IconAtvDuneBuggy.svg.js +20 -0
  333. package/dist/assets/svg/icons/realm/atv/IconAtvDuneBuggy.svg.js.map +1 -0
  334. package/dist/assets/svg/icons/realm/atv/IconAtvGoKart.svg.js +20 -0
  335. package/dist/assets/svg/icons/realm/atv/IconAtvGoKart.svg.js.map +1 -0
  336. package/dist/assets/svg/icons/realm/atv/IconAtvGolfCart.svg.js +20 -0
  337. package/dist/assets/svg/icons/realm/atv/IconAtvGolfCart.svg.js.map +1 -0
  338. package/dist/assets/svg/icons/realm/atv/IconAtvSandRail.svg.js +20 -0
  339. package/dist/assets/svg/icons/realm/atv/IconAtvSandRail.svg.js.map +1 -0
  340. package/dist/assets/svg/icons/realm/atv/IconAtvSideBySide.svg.js +20 -0
  341. package/dist/assets/svg/icons/realm/atv/IconAtvSideBySide.svg.js.map +1 -0
  342. package/dist/assets/svg/icons/realm/atv/IconAtvTrailer.svg.js +20 -0
  343. package/dist/assets/svg/icons/realm/atv/IconAtvTrailer.svg.js.map +1 -0
  344. package/dist/assets/svg/icons/realm/boatmart/IconBoatmartPwc.svg.js +20 -0
  345. package/dist/assets/svg/icons/realm/boatmart/IconBoatmartPwc.svg.js.map +1 -0
  346. package/dist/assets/svg/icons/realm/boatmart/IconBoatmartTrailer.svg.js +20 -0
  347. package/dist/assets/svg/icons/realm/boatmart/IconBoatmartTrailer.svg.js.map +1 -0
  348. package/dist/assets/svg/icons/realm/cycle/IconCycleMotorcycle.svg.js +21 -0
  349. package/dist/assets/svg/icons/realm/cycle/IconCycleMotorcycle.svg.js.map +1 -0
  350. package/dist/assets/svg/icons/realm/cycle/IconCycleTrailer.svg.js +20 -0
  351. package/dist/assets/svg/icons/realm/cycle/IconCycleTrailer.svg.js.map +1 -0
  352. package/dist/assets/svg/icons/realm/pwc/IconPwcPwc.svg.js +20 -0
  353. package/dist/assets/svg/icons/realm/pwc/IconPwcPwc.svg.js.map +1 -0
  354. package/dist/assets/svg/icons/realm/pwc/IconPwcSnowmobile.svg.js +20 -0
  355. package/dist/assets/svg/icons/realm/pwc/IconPwcSnowmobile.svg.js.map +1 -0
  356. package/dist/assets/svg/icons/realm/pwc/IconPwcTrailer.svg.js +20 -0
  357. package/dist/assets/svg/icons/realm/pwc/IconPwcTrailer.svg.js.map +1 -0
  358. package/dist/assets/svg/icons/realm/rv/IconRvClassA.svg.js +20 -0
  359. package/dist/assets/svg/icons/realm/rv/IconRvClassA.svg.js.map +1 -0
  360. package/dist/assets/svg/icons/realm/rv/IconRvClassB.svg.js +20 -0
  361. package/dist/assets/svg/icons/realm/rv/IconRvClassB.svg.js.map +1 -0
  362. package/dist/assets/svg/icons/realm/rv/IconRvClassC.svg.js +20 -0
  363. package/dist/assets/svg/icons/realm/rv/IconRvClassC.svg.js.map +1 -0
  364. package/dist/assets/svg/icons/realm/rv/IconRvDestinationTrailer.svg.js +18 -0
  365. package/dist/assets/svg/icons/realm/rv/IconRvDestinationTrailer.svg.js.map +1 -0
  366. package/dist/assets/svg/icons/realm/rv/IconRvFifthWheel.svg.js +20 -0
  367. package/dist/assets/svg/icons/realm/rv/IconRvFifthWheel.svg.js.map +1 -0
  368. package/dist/assets/svg/icons/realm/rv/IconRvFishHouse.svg.js +20 -0
  369. package/dist/assets/svg/icons/realm/rv/IconRvFishHouse.svg.js.map +1 -0
  370. package/dist/assets/svg/icons/realm/rv/IconRvParkModel.svg.js +20 -0
  371. package/dist/assets/svg/icons/realm/rv/IconRvParkModel.svg.js.map +1 -0
  372. package/dist/assets/svg/icons/realm/rv/IconRvPopUpCamper.svg.js +20 -0
  373. package/dist/assets/svg/icons/realm/rv/IconRvPopUpCamper.svg.js.map +1 -0
  374. package/dist/assets/svg/icons/realm/rv/IconRvTeardropTrailer.svg.js +17 -0
  375. package/dist/assets/svg/icons/realm/rv/IconRvTeardropTrailer.svg.js.map +1 -0
  376. package/dist/assets/svg/icons/realm/rv/IconRvTravelTrailer.svg.js +20 -0
  377. package/dist/assets/svg/icons/realm/rv/IconRvTravelTrailer.svg.js.map +1 -0
  378. package/dist/assets/svg/icons/realm/rv/IconRvTruckCamper.svg.js +20 -0
  379. package/dist/assets/svg/icons/realm/rv/IconRvTruckCamper.svg.js.map +1 -0
  380. package/dist/assets/svg/icons/realm/snow/IconSnowMotorcycle.svg.js +21 -0
  381. package/dist/assets/svg/icons/realm/snow/IconSnowMotorcycle.svg.js.map +1 -0
  382. package/dist/assets/svg/icons/realm/snow/IconSnowPwc.svg.js +20 -0
  383. package/dist/assets/svg/icons/realm/snow/IconSnowPwc.svg.js.map +1 -0
  384. package/dist/assets/svg/icons/realm/snow/IconSnowSideBySide.svg.js +20 -0
  385. package/dist/assets/svg/icons/realm/snow/IconSnowSideBySide.svg.js.map +1 -0
  386. package/dist/assets/svg/icons/realm/snow/IconSnowSnowmobile.svg.js +20 -0
  387. package/dist/assets/svg/icons/realm/snow/IconSnowSnowmobile.svg.js.map +1 -0
  388. package/dist/assets/svg/icons/realm/snow/IconSnowTrailer.svg.js +20 -0
  389. package/dist/assets/svg/icons/realm/snow/IconSnowTrailer.svg.js.map +1 -0
  390. package/dist/components/InternalBaseLink.vue.js +20 -0
  391. package/dist/components/InternalBaseLink.vue.js.map +1 -0
  392. package/dist/components/InternalBaseLink.vue2.js +5 -0
  393. package/dist/components/InternalBaseLink.vue2.js.map +1 -0
  394. package/dist/components/TideAccordionItem.vue.js +8 -0
  395. package/dist/components/TideAccordionItem.vue.js.map +1 -0
  396. package/dist/components/TideAccordionItem.vue2.js +88 -0
  397. package/dist/components/TideAccordionItem.vue2.js.map +1 -0
  398. package/dist/components/TideAlert.vue.js +8 -0
  399. package/dist/components/TideAlert.vue.js.map +1 -0
  400. package/dist/components/TideAlert.vue2.js +128 -0
  401. package/dist/components/TideAlert.vue2.js.map +1 -0
  402. package/dist/components/TideBadge.vue.js +52 -0
  403. package/dist/components/TideBadge.vue.js.map +1 -0
  404. package/dist/components/TideBadge.vue2.js +5 -0
  405. package/dist/components/TideBadge.vue2.js.map +1 -0
  406. package/dist/components/TideBadgeTrustedPartner.vue.js +45 -0
  407. package/dist/components/TideBadgeTrustedPartner.vue.js.map +1 -0
  408. package/dist/components/TideBadgeTrustedPartner.vue2.js +5 -0
  409. package/dist/components/TideBadgeTrustedPartner.vue2.js.map +1 -0
  410. package/dist/components/TideBadgeVerifiedVehicle.vue.js +8 -0
  411. package/dist/components/TideBadgeVerifiedVehicle.vue.js.map +1 -0
  412. package/dist/components/TideBadgeVerifiedVehicle.vue2.js +42 -0
  413. package/dist/components/TideBadgeVerifiedVehicle.vue2.js.map +1 -0
  414. package/dist/components/TideBreadCrumbs.vue.js +61 -0
  415. package/dist/components/TideBreadCrumbs.vue.js.map +1 -0
  416. package/dist/components/TideBreadCrumbs.vue2.js +5 -0
  417. package/dist/components/TideBreadCrumbs.vue2.js.map +1 -0
  418. package/dist/components/TideButton.vue.js +72 -0
  419. package/dist/components/TideButton.vue.js.map +1 -0
  420. package/dist/components/TideButton.vue2.js +5 -0
  421. package/dist/components/TideButton.vue2.js.map +1 -0
  422. package/dist/components/TideButtonIcon.vue.js +62 -0
  423. package/dist/components/TideButtonIcon.vue.js.map +1 -0
  424. package/dist/components/TideButtonIcon.vue2.js +5 -0
  425. package/dist/components/TideButtonIcon.vue2.js.map +1 -0
  426. package/dist/components/TideButtonPagination.vue.js +8 -0
  427. package/dist/components/TideButtonPagination.vue.js.map +1 -0
  428. package/dist/components/TideButtonPagination.vue2.js +44 -0
  429. package/dist/components/TideButtonPagination.vue2.js.map +1 -0
  430. package/dist/components/TideButtonSave.vue.js +8 -0
  431. package/dist/components/TideButtonSave.vue.js.map +1 -0
  432. package/dist/components/TideButtonSave.vue2.js +56 -0
  433. package/dist/components/TideButtonSave.vue2.js.map +1 -0
  434. package/dist/components/TideButtonSegmented.vue.js +8 -0
  435. package/dist/components/TideButtonSegmented.vue.js.map +1 -0
  436. package/dist/components/TideButtonSegmented.vue2.js +82 -0
  437. package/dist/components/TideButtonSegmented.vue2.js.map +1 -0
  438. package/dist/components/TideCard.vue.js +8 -0
  439. package/dist/components/TideCard.vue.js.map +1 -0
  440. package/dist/components/TideCard.vue2.js +72 -0
  441. package/dist/components/TideCard.vue2.js.map +1 -0
  442. package/dist/components/TideCarousel.vue.js +8 -0
  443. package/dist/components/TideCarousel.vue.js.map +1 -0
  444. package/dist/components/TideCarousel.vue2.js +359 -0
  445. package/dist/components/TideCarousel.vue2.js.map +1 -0
  446. package/dist/components/TideChipAction.vue.js +8 -0
  447. package/dist/components/TideChipAction.vue.js.map +1 -0
  448. package/dist/components/TideChipAction.vue2.js +58 -0
  449. package/dist/components/TideChipAction.vue2.js.map +1 -0
  450. package/dist/components/TideChipFilter.vue.js +8 -0
  451. package/dist/components/TideChipFilter.vue.js.map +1 -0
  452. package/dist/components/TideChipFilter.vue2.js +51 -0
  453. package/dist/components/TideChipFilter.vue2.js.map +1 -0
  454. package/dist/components/TideChipInput.vue.js +8 -0
  455. package/dist/components/TideChipInput.vue.js.map +1 -0
  456. package/dist/components/TideChipInput.vue2.js +43 -0
  457. package/dist/components/TideChipInput.vue2.js.map +1 -0
  458. package/dist/components/TideColumns.vue.js +8 -0
  459. package/dist/components/TideColumns.vue.js.map +1 -0
  460. package/dist/components/TideColumns.vue2.js +45 -0
  461. package/dist/components/TideColumns.vue2.js.map +1 -0
  462. package/dist/components/TideDivider.vue.js +8 -0
  463. package/dist/components/TideDivider.vue.js.map +1 -0
  464. package/dist/components/TideDivider.vue2.js +31 -0
  465. package/dist/components/TideDivider.vue2.js.map +1 -0
  466. package/dist/components/TideForm.vue.js +28 -0
  467. package/dist/components/TideForm.vue.js.map +1 -0
  468. package/dist/components/TideForm.vue2.js +5 -0
  469. package/dist/components/TideForm.vue2.js.map +1 -0
  470. package/dist/components/TideIcon.vue.js +52 -0
  471. package/dist/components/TideIcon.vue.js.map +1 -0
  472. package/dist/components/TideIcon.vue3.js +6 -0
  473. package/dist/components/TideIcon.vue3.js.map +1 -0
  474. package/dist/components/TideImage.vue.js +8 -0
  475. package/dist/components/TideImage.vue.js.map +1 -0
  476. package/dist/components/TideImage.vue2.js +90 -0
  477. package/dist/components/TideImage.vue2.js.map +1 -0
  478. package/dist/components/TideImageBackground.vue.js +8 -0
  479. package/dist/components/TideImageBackground.vue.js.map +1 -0
  480. package/dist/components/TideImageBackground.vue2.js +48 -0
  481. package/dist/components/TideImageBackground.vue2.js.map +1 -0
  482. package/dist/components/TideIndicator.vue.js +8 -0
  483. package/dist/components/TideIndicator.vue.js.map +1 -0
  484. package/dist/components/TideIndicator.vue2.js +37 -0
  485. package/dist/components/TideIndicator.vue2.js.map +1 -0
  486. package/dist/components/TideInputCheckbox.vue.js +8 -0
  487. package/dist/components/TideInputCheckbox.vue.js.map +1 -0
  488. package/dist/components/TideInputCheckbox.vue2.js +151 -0
  489. package/dist/components/TideInputCheckbox.vue2.js.map +1 -0
  490. package/dist/components/TideInputCheckboxDeprecated.vue.js +8 -0
  491. package/dist/components/TideInputCheckboxDeprecated.vue.js.map +1 -0
  492. package/dist/components/TideInputCheckboxDeprecated.vue2.js +96 -0
  493. package/dist/components/TideInputCheckboxDeprecated.vue2.js.map +1 -0
  494. package/dist/components/TideInputRadio.vue.js +8 -0
  495. package/dist/components/TideInputRadio.vue.js.map +1 -0
  496. package/dist/components/TideInputRadio.vue2.js +84 -0
  497. package/dist/components/TideInputRadio.vue2.js.map +1 -0
  498. package/dist/components/TideInputRadioDeprecated.vue.js +8 -0
  499. package/dist/components/TideInputRadioDeprecated.vue.js.map +1 -0
  500. package/dist/components/TideInputRadioDeprecated.vue2.js +92 -0
  501. package/dist/components/TideInputRadioDeprecated.vue2.js.map +1 -0
  502. package/dist/components/TideInputSelect.vue.js +8 -0
  503. package/dist/components/TideInputSelect.vue.js.map +1 -0
  504. package/dist/components/TideInputSelect.vue2.js +228 -0
  505. package/dist/components/TideInputSelect.vue2.js.map +1 -0
  506. package/dist/components/TideInputSelectDeprecated.vue.js +8 -0
  507. package/dist/components/TideInputSelectDeprecated.vue.js.map +1 -0
  508. package/dist/components/TideInputSelectDeprecated.vue2.js +182 -0
  509. package/dist/components/TideInputSelectDeprecated.vue2.js.map +1 -0
  510. package/dist/components/TideInputSupportingText.vue.js +40 -0
  511. package/dist/components/TideInputSupportingText.vue.js.map +1 -0
  512. package/dist/components/TideInputSupportingText.vue2.js +5 -0
  513. package/dist/components/TideInputSupportingText.vue2.js.map +1 -0
  514. package/dist/components/TideInputText.vue.js +8 -0
  515. package/dist/components/TideInputText.vue.js.map +1 -0
  516. package/dist/components/TideInputText.vue2.js +251 -0
  517. package/dist/components/TideInputText.vue2.js.map +1 -0
  518. package/dist/components/TideInputTextDeprecated.vue.js +8 -0
  519. package/dist/components/TideInputTextDeprecated.vue.js.map +1 -0
  520. package/dist/components/TideInputTextDeprecated.vue2.js +235 -0
  521. package/dist/components/TideInputTextDeprecated.vue2.js.map +1 -0
  522. package/dist/components/TideInputTextarea.vue.js +8 -0
  523. package/dist/components/TideInputTextarea.vue.js.map +1 -0
  524. package/dist/components/TideInputTextarea.vue2.js +147 -0
  525. package/dist/components/TideInputTextarea.vue2.js.map +1 -0
  526. package/dist/components/TideInputTextareaDeprecated.vue.js +8 -0
  527. package/dist/components/TideInputTextareaDeprecated.vue.js.map +1 -0
  528. package/dist/components/TideInputTextareaDeprecated.vue2.js +136 -0
  529. package/dist/components/TideInputTextareaDeprecated.vue2.js.map +1 -0
  530. package/dist/components/TideLink.vue.js +63 -0
  531. package/dist/components/TideLink.vue.js.map +1 -0
  532. package/dist/components/TideLink.vue2.js +5 -0
  533. package/dist/components/TideLink.vue2.js.map +1 -0
  534. package/dist/components/TideMenuItem.vue.js +8 -0
  535. package/dist/components/TideMenuItem.vue.js.map +1 -0
  536. package/dist/components/TideMenuItem.vue2.js +55 -0
  537. package/dist/components/TideMenuItem.vue2.js.map +1 -0
  538. package/dist/components/TideModal.vue.js +8 -0
  539. package/dist/components/TideModal.vue.js.map +1 -0
  540. package/dist/components/TideModal.vue2.js +186 -0
  541. package/dist/components/TideModal.vue2.js.map +1 -0
  542. package/dist/components/TidePagination.vue.js +82 -0
  543. package/dist/components/TidePagination.vue.js.map +1 -0
  544. package/dist/components/TidePagination.vue2.js +5 -0
  545. package/dist/components/TidePagination.vue2.js.map +1 -0
  546. package/dist/components/TidePopover.vue.js +8 -0
  547. package/dist/components/TidePopover.vue.js.map +1 -0
  548. package/dist/components/TidePopover.vue2.js +156 -0
  549. package/dist/components/TidePopover.vue2.js.map +1 -0
  550. package/dist/components/TideRating.vue.js +8 -0
  551. package/dist/components/TideRating.vue.js.map +1 -0
  552. package/dist/components/TideRating.vue2.js +75 -0
  553. package/dist/components/TideRating.vue2.js.map +1 -0
  554. package/dist/components/TideRealmLogo.vue.js +8 -0
  555. package/dist/components/TideRealmLogo.vue.js.map +1 -0
  556. package/dist/components/TideRealmLogo.vue2.js +66 -0
  557. package/dist/components/TideRealmLogo.vue2.js.map +1 -0
  558. package/dist/components/TideSeoLinks.vue.js +8 -0
  559. package/dist/components/TideSeoLinks.vue.js.map +1 -0
  560. package/dist/components/TideSeoLinks.vue2.js +47 -0
  561. package/dist/components/TideSeoLinks.vue2.js.map +1 -0
  562. package/dist/components/TideSheet.vue.js +8 -0
  563. package/dist/components/TideSheet.vue.js.map +1 -0
  564. package/dist/components/TideSheet.vue2.js +140 -0
  565. package/dist/components/TideSheet.vue2.js.map +1 -0
  566. package/dist/components/TideSwitch.vue.js +8 -0
  567. package/dist/components/TideSwitch.vue.js.map +1 -0
  568. package/dist/components/TideSwitch.vue2.js +69 -0
  569. package/dist/components/TideSwitch.vue2.js.map +1 -0
  570. package/dist/components/TideTabs.vue.js +8 -0
  571. package/dist/components/TideTabs.vue.js.map +1 -0
  572. package/dist/components/TideTabs.vue2.js +60 -0
  573. package/dist/components/TideTabs.vue2.js.map +1 -0
  574. package/dist/components/TideToaster.vue.js +8 -0
  575. package/dist/components/TideToaster.vue.js.map +1 -0
  576. package/dist/components/TideToaster.vue2.js +78 -0
  577. package/dist/components/TideToaster.vue2.js.map +1 -0
  578. package/dist/composables/useTideConfig.js +16 -0
  579. package/dist/composables/useTideConfig.js.map +1 -0
  580. package/dist/composables/useTideForm.js +18 -0
  581. package/dist/composables/useTideForm.js.map +1 -0
  582. package/dist/composables/useTideToaster.js +49 -0
  583. package/dist/composables/useTideToaster.js.map +1 -0
  584. package/dist/index.js +141 -5369
  585. package/dist/index.js.map +1 -0
  586. package/dist/style.css +3730 -1
  587. package/dist/types/Alert.js +10 -0
  588. package/dist/types/Alert.js.map +1 -0
  589. package/dist/types/Badge.js +69 -0
  590. package/dist/types/Badge.js.map +1 -0
  591. package/dist/types/Breakpoint.js +17 -0
  592. package/dist/types/Breakpoint.js.map +1 -0
  593. package/dist/types/Card.js +9 -0
  594. package/dist/types/Card.js.map +1 -0
  595. package/dist/types/Element.js +14 -0
  596. package/dist/types/Element.js.map +1 -0
  597. package/dist/types/Formatted.js +21 -0
  598. package/dist/types/Formatted.js.map +1 -0
  599. package/dist/types/Icon.js +195 -0
  600. package/dist/types/Icon.js.map +1 -0
  601. package/dist/types/Image.js +9 -0
  602. package/dist/types/Image.js.map +1 -0
  603. package/dist/types/Orientation.js +8 -0
  604. package/dist/types/Orientation.js.map +1 -0
  605. package/dist/types/Priority.js +11 -0
  606. package/dist/types/Priority.js.map +1 -0
  607. package/dist/types/Realm.js +16 -0
  608. package/dist/types/Realm.js.map +1 -0
  609. package/dist/types/RealmLogo.js +26 -0
  610. package/dist/types/RealmLogo.js.map +1 -0
  611. package/dist/types/Size.js +13 -0
  612. package/dist/types/Size.js.map +1 -0
  613. package/dist/types/Styles.js +484 -0
  614. package/dist/types/Styles.js.map +1 -0
  615. package/dist/types/Target.js +8 -0
  616. package/dist/types/Target.js.map +1 -0
  617. package/dist/types/TextInput.js +28 -0
  618. package/dist/types/TextInput.js.map +1 -0
  619. package/dist/types/Validation.js +19 -0
  620. package/dist/types/Validation.js.map +1 -0
  621. package/dist/utilities/event.js +8 -0
  622. package/dist/utilities/event.js.map +1 -0
  623. package/dist/utilities/format.js +47 -0
  624. package/dist/utilities/format.js.map +1 -0
  625. package/dist/utilities/forms.js +21 -0
  626. package/dist/utilities/forms.js.map +1 -0
  627. package/dist/utilities/realm.js +15 -0
  628. package/dist/utilities/realm.js.map +1 -0
  629. package/dist/utilities/validation-deprecated.js +89 -0
  630. package/dist/utilities/validation-deprecated.js.map +1 -0
  631. package/dist/utilities/validation.js +110 -0
  632. package/dist/utilities/validation.js.map +1 -0
  633. package/dist/utilities/viewport.js +47 -0
  634. package/dist/utilities/viewport.js.map +1 -0
  635. package/package.json +6 -4
  636. package/dist/chunks/IconAccountBalance.js +0 -16
  637. package/dist/chunks/IconAcute.js +0 -16
  638. package/dist/chunks/IconAdd.js +0 -16
  639. package/dist/chunks/IconAeroFlight.js +0 -16
  640. package/dist/chunks/IconAeroHelicopter.js +0 -16
  641. package/dist/chunks/IconAeroModeFan.js +0 -16
  642. package/dist/chunks/IconAeroPlaneContrails.js +0 -16
  643. package/dist/chunks/IconAiDescription.js +0 -20
  644. package/dist/chunks/IconAlignSpaceEven.js +0 -16
  645. package/dist/chunks/IconApplePay.js +0 -16
  646. package/dist/chunks/IconArrowBack.js +0 -16
  647. package/dist/chunks/IconArrowCycle.js +0 -16
  648. package/dist/chunks/IconArrowForward.js +0 -16
  649. package/dist/chunks/IconArrowRight.js +0 -16
  650. package/dist/chunks/IconArrowUp.js +0 -16
  651. package/dist/chunks/IconAssignment.js +0 -16
  652. package/dist/chunks/IconAttachMoney.js +0 -16
  653. package/dist/chunks/IconAtvAtv.js +0 -20
  654. package/dist/chunks/IconAtvDuneBuggy.js +0 -20
  655. package/dist/chunks/IconAtvGoKart.js +0 -20
  656. package/dist/chunks/IconAtvGolfCart.js +0 -20
  657. package/dist/chunks/IconAtvSandRail.js +0 -20
  658. package/dist/chunks/IconAtvSideBySide.js +0 -20
  659. package/dist/chunks/IconAtvTrailer.js +0 -20
  660. package/dist/chunks/IconAutoRenew.js +0 -16
  661. package/dist/chunks/IconAwardStar.js +0 -16
  662. package/dist/chunks/IconBed.js +0 -16
  663. package/dist/chunks/IconBoatmartPwc.js +0 -20
  664. package/dist/chunks/IconBoatmartTrailer.js +0 -20
  665. package/dist/chunks/IconBolt.js +0 -16
  666. package/dist/chunks/IconBookmark.js +0 -16
  667. package/dist/chunks/IconBunkhouse.js +0 -16
  668. package/dist/chunks/IconCalculate.js +0 -16
  669. package/dist/chunks/IconCalendarMonth.js +0 -16
  670. package/dist/chunks/IconCall.js +0 -16
  671. package/dist/chunks/IconCallQuality.js +0 -16
  672. package/dist/chunks/IconCarRental.js +0 -16
  673. package/dist/chunks/IconCheck.js +0 -16
  674. package/dist/chunks/IconChevronLeft.js +0 -16
  675. package/dist/chunks/IconChevronRight.js +0 -16
  676. package/dist/chunks/IconClear.js +0 -16
  677. package/dist/chunks/IconClose.js +0 -16
  678. package/dist/chunks/IconContract.js +0 -16
  679. package/dist/chunks/IconCrash.js +0 -16
  680. package/dist/chunks/IconCycleMotorcycle.js +0 -21
  681. package/dist/chunks/IconCycleTrailer.js +0 -20
  682. package/dist/chunks/IconDashboardCustomize.js +0 -16
  683. package/dist/chunks/IconDelete.js +0 -16
  684. package/dist/chunks/IconDiamond.js +0 -16
  685. package/dist/chunks/IconDirectionsBoat.js +0 -16
  686. package/dist/chunks/IconDomain.js +0 -16
  687. package/dist/chunks/IconDraft.js +0 -16
  688. package/dist/chunks/IconEdit.js +0 -16
  689. package/dist/chunks/IconEngine.js +0 -20
  690. package/dist/chunks/IconEngineering.js +0 -16
  691. package/dist/chunks/IconError.js +0 -16
  692. package/dist/chunks/IconExpandContent.js +0 -16
  693. package/dist/chunks/IconExpandLess.js +0 -16
  694. package/dist/chunks/IconExpandMore.js +0 -16
  695. package/dist/chunks/IconFacebook.js +0 -16
  696. package/dist/chunks/IconFavorite.js +0 -16
  697. package/dist/chunks/IconFavoriteFilled.js +0 -16
  698. package/dist/chunks/IconFlag.js +0 -16
  699. package/dist/chunks/IconFormatBold.js +0 -16
  700. package/dist/chunks/IconFormatItalic.js +0 -16
  701. package/dist/chunks/IconFormatListBulleted.js +0 -16
  702. package/dist/chunks/IconForum.js +0 -16
  703. package/dist/chunks/IconGas.js +0 -16
  704. package/dist/chunks/IconGavel.js +0 -16
  705. package/dist/chunks/IconGears.js +0 -16
  706. package/dist/chunks/IconGlobeLocationPin.js +0 -16
  707. package/dist/chunks/IconGoogle.js +0 -31
  708. package/dist/chunks/IconGooglePay.js +0 -16
  709. package/dist/chunks/IconGrid.js +0 -16
  710. package/dist/chunks/IconHandshake.js +0 -16
  711. package/dist/chunks/IconHandyman.js +0 -16
  712. package/dist/chunks/IconHeight.js +0 -16
  713. package/dist/chunks/IconHelp.js +0 -16
  714. package/dist/chunks/IconInfo.js +0 -16
  715. package/dist/chunks/IconInformation.js +0 -16
  716. package/dist/chunks/IconInsertText.js +0 -16
  717. package/dist/chunks/IconInstagram.js +0 -16
  718. package/dist/chunks/IconIosShare.js +0 -16
  719. package/dist/chunks/IconLayout.js +0 -16
  720. package/dist/chunks/IconLevellingJack.js +0 -20
  721. package/dist/chunks/IconLinkedIn.js +0 -16
  722. package/dist/chunks/IconLocalShipping.js +0 -16
  723. package/dist/chunks/IconLock.js +0 -16
  724. package/dist/chunks/IconMail.js +0 -16
  725. package/dist/chunks/IconMenu.js +0 -16
  726. package/dist/chunks/IconMoneyBag.js +0 -16
  727. package/dist/chunks/IconMoreHoriz.js +0 -16
  728. package/dist/chunks/IconMove.js +0 -16
  729. package/dist/chunks/IconNotifications.js +0 -16
  730. package/dist/chunks/IconOdometer.js +0 -16
  731. package/dist/chunks/IconOpenInNew.js +0 -16
  732. package/dist/chunks/IconPalette.js +0 -16
  733. package/dist/chunks/IconPaypal.js +0 -16
  734. package/dist/chunks/IconPerson.js +0 -16
  735. package/dist/chunks/IconPersonSearch.js +0 -16
  736. package/dist/chunks/IconPhotoCamera.js +0 -16
  737. package/dist/chunks/IconPinterest.js +0 -16
  738. package/dist/chunks/IconPlayArrow.js +0 -16
  739. package/dist/chunks/IconPolicy.js +0 -16
  740. package/dist/chunks/IconPower.js +0 -16
  741. package/dist/chunks/IconPowerOff.js +0 -16
  742. package/dist/chunks/IconPriorityHigh.js +0 -16
  743. package/dist/chunks/IconPwcPwc.js +0 -20
  744. package/dist/chunks/IconPwcSnowmobile.js +0 -20
  745. package/dist/chunks/IconPwcTrailer.js +0 -20
  746. package/dist/chunks/IconRemove.js +0 -16
  747. package/dist/chunks/IconRequestQuote.js +0 -16
  748. package/dist/chunks/IconResetWrench.js +0 -16
  749. package/dist/chunks/IconRoad.js +0 -16
  750. package/dist/chunks/IconRoundedCorner.js +0 -16
  751. package/dist/chunks/IconRuler.js +0 -16
  752. package/dist/chunks/IconRvClassA.js +0 -20
  753. package/dist/chunks/IconRvClassB.js +0 -20
  754. package/dist/chunks/IconRvClassC.js +0 -20
  755. package/dist/chunks/IconRvDestinationTrailer.js +0 -18
  756. package/dist/chunks/IconRvFifthWheel.js +0 -20
  757. package/dist/chunks/IconRvFishHouse.js +0 -20
  758. package/dist/chunks/IconRvParkModel.js +0 -20
  759. package/dist/chunks/IconRvPopUpCamper.js +0 -20
  760. package/dist/chunks/IconRvTeardropTrailer.js +0 -17
  761. package/dist/chunks/IconRvTravelTrailer.js +0 -20
  762. package/dist/chunks/IconRvTruckCamper.js +0 -20
  763. package/dist/chunks/IconSailing.js +0 -16
  764. package/dist/chunks/IconSchool.js +0 -16
  765. package/dist/chunks/IconSearch.js +0 -16
  766. package/dist/chunks/IconSeating.js +0 -16
  767. package/dist/chunks/IconSell.js +0 -16
  768. package/dist/chunks/IconSensors.js +0 -16
  769. package/dist/chunks/IconSettings.js +0 -16
  770. package/dist/chunks/IconShare.js +0 -16
  771. package/dist/chunks/IconShieldCheck.js +0 -16
  772. package/dist/chunks/IconShoppingCart.js +0 -16
  773. package/dist/chunks/IconSleeps.js +0 -16
  774. package/dist/chunks/IconSms.js +0 -16
  775. package/dist/chunks/IconSnowMotorcycle.js +0 -21
  776. package/dist/chunks/IconSnowPwc.js +0 -20
  777. package/dist/chunks/IconSnowSideBySide.js +0 -20
  778. package/dist/chunks/IconSnowSnowmobile.js +0 -20
  779. package/dist/chunks/IconSnowTrailer.js +0 -20
  780. package/dist/chunks/IconSnowflake.js +0 -16
  781. package/dist/chunks/IconStar.js +0 -16
  782. package/dist/chunks/IconStarFilled.js +0 -16
  783. package/dist/chunks/IconStarHalf.js +0 -16
  784. package/dist/chunks/IconSummarize.js +0 -16
  785. package/dist/chunks/IconSwapHoriz.js +0 -16
  786. package/dist/chunks/IconSwapVert.js +0 -16
  787. package/dist/chunks/IconThreeDRotation.js +0 -29
  788. package/dist/chunks/IconThumbUp.js +0 -16
  789. package/dist/chunks/IconTrendingDown.js +0 -16
  790. package/dist/chunks/IconTrophy.js +0 -16
  791. package/dist/chunks/IconTune.js +0 -16
  792. package/dist/chunks/IconTwitter.js +0 -16
  793. package/dist/chunks/IconUmbrella.js +0 -16
  794. package/dist/chunks/IconVerified.js +0 -20
  795. package/dist/chunks/IconVideocam.js +0 -16
  796. package/dist/chunks/IconViewInAr.js +0 -16
  797. package/dist/chunks/IconVisibility.js +0 -16
  798. package/dist/chunks/IconVolumeOff.js +0 -16
  799. package/dist/chunks/IconVolumeOn.js +0 -16
  800. package/dist/chunks/IconWarehouse.js +0 -16
  801. package/dist/chunks/IconWarning.js +0 -16
  802. package/dist/chunks/IconWater.js +0 -16
  803. package/dist/chunks/IconWeight.js +0 -16
  804. package/dist/chunks/IconWidth.js +0 -16
  805. package/dist/chunks/IconWorkspacePremium.js +0 -16
  806. package/dist/chunks/IconWrench.js +0 -16
  807. package/dist/chunks/IconYoutube.js +0 -16
  808. package/dist/chunks/logo-aero.js +0 -18
  809. package/dist/chunks/logo-atv.js +0 -20
  810. package/dist/chunks/logo-boatmart.js +0 -18
  811. package/dist/chunks/logo-cycle.js +0 -18
  812. package/dist/chunks/logo-equipment.js +0 -18
  813. package/dist/chunks/logo-pwc.js +0 -21
  814. package/dist/chunks/logo-rv.js +0 -20
  815. package/dist/chunks/logo-rvt.js +0 -16
  816. package/dist/chunks/logo-snow.js +0 -18
  817. package/dist/chunks/logo-truck.js +0 -19
  818. package/dist/chunks/mark-aero.js +0 -17
  819. package/dist/chunks/mark-atv.js +0 -22
  820. package/dist/chunks/mark-boatmart.js +0 -17
  821. package/dist/chunks/mark-cycle.js +0 -17
  822. package/dist/chunks/mark-equipment.js +0 -17
  823. package/dist/chunks/mark-pwc.js +0 -17
  824. package/dist/chunks/mark-rv.js +0 -22
  825. package/dist/chunks/mark-rvt.js +0 -18
  826. package/dist/chunks/mark-snow.js +0 -17
  827. package/dist/chunks/mark-truck.js +0 -18
@@ -0,0 +1,186 @@
1
+ import { defineComponent, ref, useModel, watch, onBeforeMount, onMounted, onBeforeUnmount, openBlock, createBlock, Teleport, unref, createElementVNode, mergeProps, withKeys, withModifiers, normalizeClass, createCommentVNode, toDisplayString, renderSlot, createElementBlock, mergeModels, nextTick } from "vue";
2
+ import _sfc_main$1 from "./TideButtonIcon.vue.js";
3
+ import { BREAKPOINT } from "../types/Breakpoint.js";
4
+ import { ICON } from "../types/Icon.js";
5
+ import { PRIORITY } from "../types/Priority.js";
6
+ import { CSS } from "../types/Styles.js";
7
+ import { initFauxTopLayer, TOP_LAYER_ID, setScrollLock } from "../utilities/viewport.js";
8
+ const _hoisted_1 = ["textContent"];
9
+ const __default__ = { inheritAttrs: false };
10
+ const _sfc_main = /* @__PURE__ */ defineComponent({
11
+ ...__default__,
12
+ __name: "TideModal",
13
+ props: /* @__PURE__ */ mergeModels({
14
+ beforeClose: { type: Function, default: void 0 },
15
+ isBackButton: { type: Boolean, default: false },
16
+ isDismissible: { type: Boolean, default: true },
17
+ title: { default: void 0 },
18
+ width: { default: void 0 }
19
+ }, {
20
+ "modelValue": { type: Boolean, ...{ required: true } },
21
+ "modelModifiers": {}
22
+ }),
23
+ emits: /* @__PURE__ */ mergeModels(["back"], ["update:modelValue"]),
24
+ setup(__props, { emit: __emit }) {
25
+ const props = __props;
26
+ const emit = __emit;
27
+ const modalContent = ref();
28
+ const modalDialog = ref();
29
+ const isOpen = useModel(__props, "modelValue");
30
+ const triggerNativeDialogOpen = () => {
31
+ var _a;
32
+ (_a = modalDialog.value) == null ? void 0 : _a.showModal();
33
+ setScrollLock(true);
34
+ };
35
+ const triggerNativeDialogClose = () => {
36
+ var _a;
37
+ (_a = modalDialog.value) == null ? void 0 : _a.close();
38
+ setScrollLock(false);
39
+ };
40
+ const scrollContentToTop = () => {
41
+ nextTick(() => {
42
+ if (!modalContent.value) return;
43
+ modalContent.value.scrollTop = 0;
44
+ });
45
+ };
46
+ const close = async () => {
47
+ if (props.beforeClose) {
48
+ const result = await props.beforeClose();
49
+ if (result === false) return;
50
+ }
51
+ isOpen.value = false;
52
+ };
53
+ const handleBackdropClick = () => {
54
+ if (props.isDismissible) close();
55
+ };
56
+ const handleEscapeKeyup = () => {
57
+ if (props.isDismissible) close();
58
+ };
59
+ watch(isOpen, () => {
60
+ if (!modalDialog.value) return;
61
+ if (isOpen.value) {
62
+ triggerNativeDialogOpen();
63
+ scrollContentToTop();
64
+ } else {
65
+ triggerNativeDialogClose();
66
+ }
67
+ });
68
+ onBeforeMount(() => {
69
+ initFauxTopLayer();
70
+ });
71
+ onMounted(() => {
72
+ if (isOpen.value) {
73
+ triggerNativeDialogOpen();
74
+ }
75
+ });
76
+ onBeforeUnmount(() => {
77
+ if (isOpen.value) {
78
+ isOpen.value = false;
79
+ triggerNativeDialogClose();
80
+ }
81
+ });
82
+ return (_ctx, _cache) => {
83
+ return openBlock(), createBlock(Teleport, {
84
+ to: `#${unref(TOP_LAYER_ID)}`
85
+ }, [
86
+ createElementVNode("dialog", mergeProps(_ctx.$attrs, {
87
+ class: ["tide-modal", unref(CSS).BG.INITIAL, unref(CSS).HEIGHT.FULL, unref(CSS).WIDTH.FULL, unref(CSS).OVERFLOW.XY.HIDDEN],
88
+ ref_key: "modalDialog",
89
+ ref: modalDialog,
90
+ style: { "--modal-width": __props.width },
91
+ onCancel: _cache[1] || (_cache[1] = withModifiers(() => {
92
+ }, ["prevent"])),
93
+ onClick: withModifiers(handleBackdropClick, ["self"]),
94
+ onKeyup: withKeys(handleEscapeKeyup, ["escape"]),
95
+ closedby: "none"
96
+ }), [
97
+ createElementVNode("div", {
98
+ class: normalizeClass([
99
+ "tide-modal-body",
100
+ unref(CSS).BG.SURFACE.DEFAULT,
101
+ unref(CSS).BORDER.RADIUS.ONE,
102
+ unref(CSS).DISPLAY.FLEX,
103
+ unref(CSS).FLEX.DIRECTION.COLUMN,
104
+ unref(CSS).OVERFLOW.XY.HIDDEN,
105
+ unref(CSS).POSITION.ABSOLUTE,
106
+ unref(CSS).POSITIONING.BOTTOM,
107
+ unref(CSS).SHADOW.TOP,
108
+ unref(CSS).WIDTH.FULL,
109
+ unref(CSS).WIDTH.MAX_FULL,
110
+ unref(CSS).withBreakpoint([unref(CSS).SHADOW.BOTTOM], unref(BREAKPOINT).SM)
111
+ ])
112
+ }, [
113
+ createElementVNode("header", {
114
+ class: normalizeClass([
115
+ "tide-modal-header",
116
+ unref(CSS).AXIS2.CENTER,
117
+ unref(CSS).BORDER.BOTTOM.ONE,
118
+ unref(CSS).BORDER.COLOR.LOW,
119
+ unref(CSS).DISPLAY.FLEX,
120
+ unref(CSS).GAP.HALF,
121
+ unref(CSS).ISOLATION.ISOLATE,
122
+ unref(CSS).PADDING.Y.ONE,
123
+ unref(CSS).POSITION.RELATIVE,
124
+ unref(CSS).Z_INDEX.ONE
125
+ ])
126
+ }, [
127
+ __props.isBackButton ? (openBlock(), createBlock(_sfc_main$1, {
128
+ key: 0,
129
+ icon: unref(ICON).CHEVRON_LEFT,
130
+ priority: unref(PRIORITY).QUATERNARY,
131
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("back")),
132
+ "data-test": "tide-modal-back",
133
+ title: "Back"
134
+ }, null, 8, ["icon", "priority"])) : createCommentVNode("", true),
135
+ createElementVNode("div", {
136
+ class: normalizeClass([unref(CSS).FONT.ROLE.HEADLINE_2]),
137
+ textContent: toDisplayString(__props.title)
138
+ }, null, 10, _hoisted_1),
139
+ __props.isDismissible ? (openBlock(), createBlock(_sfc_main$1, {
140
+ key: 1,
141
+ class: normalizeClass([unref(CSS).FLEX.GROW.OFF, unref(CSS).FLEX.SHRINK.OFF, unref(CSS).MARGIN.LEFT.AUTO]),
142
+ icon: unref(ICON).CLOSE,
143
+ priority: unref(PRIORITY).QUATERNARY,
144
+ onClick: close,
145
+ "data-test": "tide-modal-close"
146
+ }, null, 8, ["class", "icon", "priority"])) : createCommentVNode("", true)
147
+ ], 2),
148
+ createElementVNode("div", {
149
+ class: normalizeClass([
150
+ "tide-modal-content",
151
+ unref(CSS).DISPLAY.GRID,
152
+ unref(CSS).ISOLATION.ISOLATE,
153
+ unref(CSS).OVERFLOW.X.HIDDEN,
154
+ unref(CSS).OVERFLOW.Y.AUTO,
155
+ unref(CSS).PADDING.Y.TWO,
156
+ unref(CSS).WIDTH.FULL
157
+ ]),
158
+ ref_key: "modalContent",
159
+ ref: modalContent
160
+ }, [
161
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
162
+ ], 2),
163
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", {
164
+ key: 0,
165
+ class: normalizeClass([
166
+ "tide-modal-footer",
167
+ unref(CSS).AXIS1.END,
168
+ unref(CSS).DISPLAY.FLEX,
169
+ unref(CSS).GAP.TWO,
170
+ unref(CSS).ISOLATION.ISOLATE,
171
+ unref(CSS).PADDING.Y.ONE,
172
+ unref(CSS).SHADOW.TOP
173
+ ])
174
+ }, [
175
+ renderSlot(_ctx.$slots, "footer", {}, void 0, true)
176
+ ], 2)) : createCommentVNode("", true)
177
+ ], 2)
178
+ ], 16)
179
+ ], 8, ["to"]);
180
+ };
181
+ }
182
+ });
183
+ export {
184
+ _sfc_main as default
185
+ };
186
+ //# sourceMappingURL=TideModal.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TideModal.vue2.js","sources":["../../src/components/TideModal.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * Renders a modal intended to be used for displaying additional information or options.\n *\n * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidemodal--docs) for TideModal\n */\n export default { inheritAttrs: false };\n</script>\n\n<script lang=\"ts\" setup>\n import { nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';\n\n import TideButtonIcon from '@/components/TideButtonIcon.vue';\n import { BREAKPOINT } from '@/types/Breakpoint';\n import { ICON } from '@/types/Icon';\n import { PRIORITY } from '@/types/Priority';\n import { CSS } from '@/types/Styles';\n import { TOP_LAYER_ID, initFauxTopLayer, setScrollLock } from '@/utilities/viewport';\n\n import type { Ref } from 'vue';\n\n type Props = {\n /**\n * Called before the modal closes.\n *\n * Return `false` to cancel the close event.\n */\n beforeClose?: () => void | boolean | Promise<void | boolean>;\n /** Controls display of the back button. */\n isBackButton?: boolean;\n /** Controls whether the modal can be dismissed with a close button or other gestures. */\n isDismissible?: boolean;\n /** The title to display in the modal's header. */\n title?: string;\n /** Custom override to the modal's width constraint. Include units. */\n width?: string;\n };\n\n const props = withDefaults(defineProps<Props>(), {\n beforeClose: undefined,\n isBackButton: false,\n isDismissible: true,\n title: undefined,\n width: undefined,\n });\n\n type Emits = {\n (e: 'back'): void;\n };\n\n const emit = defineEmits<Emits>();\n\n const modalContent: Ref<HTMLDivElement | undefined> = ref();\n const modalDialog: Ref<HTMLDialogElement | undefined> = ref();\n\n const isOpen = defineModel<boolean>({ required: true });\n\n const triggerNativeDialogOpen = () => {\n modalDialog.value?.showModal();\n setScrollLock(true);\n };\n\n const triggerNativeDialogClose = () => {\n modalDialog.value?.close();\n setScrollLock(false);\n };\n\n const scrollContentToTop = () => {\n nextTick(() => {\n if (!modalContent.value) return;\n modalContent.value.scrollTop = 0;\n });\n };\n\n const close = async () => {\n if (props.beforeClose) {\n const result = await props.beforeClose();\n if (result === false) return;\n }\n\n isOpen.value = false;\n };\n\n const handleBackdropClick = () => {\n if (props.isDismissible) close();\n };\n\n const handleEscapeKeyup = () => {\n if (props.isDismissible) close();\n };\n\n watch(isOpen, () => {\n if (!modalDialog.value) return;\n if (isOpen.value) {\n triggerNativeDialogOpen();\n scrollContentToTop();\n } else {\n triggerNativeDialogClose();\n }\n });\n\n onBeforeMount(() => {\n initFauxTopLayer();\n });\n\n onMounted(() => {\n if (isOpen.value) {\n triggerNativeDialogOpen();\n }\n });\n\n onBeforeUnmount(() => {\n if (isOpen.value) {\n isOpen.value = false;\n triggerNativeDialogClose();\n }\n });\n</script>\n\n<template>\n <Teleport :to=\"`#${TOP_LAYER_ID}`\">\n <dialog\n v-bind=\"$attrs\"\n :class=\"['tide-modal', CSS.BG.INITIAL, CSS.HEIGHT.FULL, CSS.WIDTH.FULL, CSS.OVERFLOW.XY.HIDDEN]\"\n ref=\"modalDialog\"\n :style=\"{ '--modal-width': width }\"\n @cancel.prevent\n @click.self=\"handleBackdropClick\"\n @keyup.escape=\"handleEscapeKeyup\"\n closedby=\"none\"\n >\n <div\n :class=\"[\n 'tide-modal-body',\n CSS.BG.SURFACE.DEFAULT,\n CSS.BORDER.RADIUS.ONE,\n CSS.DISPLAY.FLEX,\n CSS.FLEX.DIRECTION.COLUMN,\n CSS.OVERFLOW.XY.HIDDEN,\n CSS.POSITION.ABSOLUTE,\n CSS.POSITIONING.BOTTOM,\n CSS.SHADOW.TOP,\n CSS.WIDTH.FULL,\n CSS.WIDTH.MAX_FULL,\n CSS.withBreakpoint([CSS.SHADOW.BOTTOM], BREAKPOINT.SM),\n ]\"\n >\n <header\n :class=\"[\n 'tide-modal-header',\n CSS.AXIS2.CENTER,\n CSS.BORDER.BOTTOM.ONE,\n CSS.BORDER.COLOR.LOW,\n CSS.DISPLAY.FLEX,\n CSS.GAP.HALF,\n CSS.ISOLATION.ISOLATE,\n CSS.PADDING.Y.ONE,\n CSS.POSITION.RELATIVE,\n CSS.Z_INDEX.ONE,\n ]\"\n >\n <TideButtonIcon\n :icon=\"ICON.CHEVRON_LEFT\"\n :priority=\"PRIORITY.QUATERNARY\"\n @click=\"emit('back')\"\n data-test=\"tide-modal-back\"\n title=\"Back\"\n v-if=\"isBackButton\"\n />\n\n <div\n :class=\"[CSS.FONT.ROLE.HEADLINE_2]\"\n v-text=\"title\"\n />\n\n <TideButtonIcon\n :class=\"[CSS.FLEX.GROW.OFF, CSS.FLEX.SHRINK.OFF, CSS.MARGIN.LEFT.AUTO]\"\n :icon=\"ICON.CLOSE\"\n :priority=\"PRIORITY.QUATERNARY\"\n @click=\"close\"\n data-test=\"tide-modal-close\"\n v-if=\"isDismissible\"\n />\n </header>\n\n <div\n :class=\"[\n 'tide-modal-content',\n CSS.DISPLAY.GRID,\n CSS.ISOLATION.ISOLATE,\n CSS.OVERFLOW.X.HIDDEN,\n CSS.OVERFLOW.Y.AUTO,\n CSS.PADDING.Y.TWO,\n CSS.WIDTH.FULL,\n ]\"\n ref=\"modalContent\"\n >\n <slot />\n </div>\n\n <footer\n :class=\"[\n 'tide-modal-footer',\n CSS.AXIS1.END,\n CSS.DISPLAY.FLEX,\n CSS.GAP.TWO,\n CSS.ISOLATION.ISOLATE,\n CSS.PADDING.Y.ONE,\n CSS.SHADOW.TOP,\n ]\"\n v-if=\"$slots.footer\"\n >\n <slot name=\"footer\" />\n </footer>\n </div>\n </dialog>\n </Teleport>\n</template>\n\n<style scoped>\n .tide-modal {\n --modal-padding-x: 20px;\n max-width: unset;\n max-height: unset;\n place-items: center;\n display: none;\n transition: all var(--tide-animate) allow-discrete;\n transform: translateY(100%);\n }\n\n .tide-modal[open] {\n display: grid;\n transform: translateY(0%);\n }\n\n .tide-modal::backdrop {\n background-color: transparent;\n transition: all var(--tide-animate) allow-discrete;\n backdrop-filter: blur(0px);\n }\n\n .tide-modal[open]::backdrop {\n background-color: var(--tide-transparent-400);\n backdrop-filter: var(--tide-bg-blur);\n }\n\n @starting-style {\n .tide-modal[open] {\n display: grid;\n transform: translateY(100%);\n }\n\n .tide-modal[open]::backdrop {\n background-color: transparent;\n backdrop-filter: var(--tide-bg-blur);\n }\n }\n\n .tide-modal-body {\n width: var(--modal-width, 576px);\n max-height: calc(100% - var(--tide-spacing-2));\n }\n\n .tide-modal-header,\n .tide-modal-footer {\n padding-inline: var(--modal-padding-x);\n }\n\n .tide-modal-content {\n grid-template-columns: var(--modal-padding-x) var(--tide-safe-fr) var(--modal-padding-x);\n contain: layout;\n }\n\n :where(.tide-modal-content):deep(> :where(*)) {\n grid-column: 2;\n }\n\n @media (max-width: 767px) {\n .tide-modal-body {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n\n @media (min-width: 768px) {\n .tide-modal {\n --modal-padding-x: var(--tide-spacing-2);\n }\n\n .tide-modal-body {\n max-height: 85%;\n bottom: initial;\n }\n }\n</style>\n"],"names":["_useModel","_createBlock","_Teleport","_unref","_createElementVNode","_mergeProps","_normalizeClass","TideButtonIcon","_toDisplayString","_renderSlot","$slots","_createElementBlock"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { defineComponent, useModel, watchEffect, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, createVNode, toDisplayString, createCommentVNode, mergeModels } from "vue";
2
+ import _sfc_main$1 from "./TideButtonIcon.vue.js";
3
+ import { ICON } from "../types/Icon.js";
4
+ import { PRIORITY } from "../types/Priority.js";
5
+ import { CSS } from "../types/Styles.js";
6
+ import { formatNumber } from "../utilities/format.js";
7
+ const __default__ = {};
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ ...__default__,
10
+ __name: "TidePagination",
11
+ props: /* @__PURE__ */ mergeModels({
12
+ pageCount: {},
13
+ pageSize: {},
14
+ totalResults: {}
15
+ }, {
16
+ "modelValue": { required: true },
17
+ "modelModifiers": {}
18
+ }),
19
+ emits: ["update:modelValue"],
20
+ setup(__props) {
21
+ const props = __props;
22
+ const currentIndex = useModel(__props, "modelValue");
23
+ watchEffect(() => {
24
+ if (props.pageCount < 1) return;
25
+ const clamped = Math.min(Math.max(currentIndex.value, 1), props.pageCount);
26
+ if (clamped !== currentIndex.value) currentIndex.value = clamped;
27
+ });
28
+ const resultStart = computed(() => {
29
+ if (props.pageSize === void 0) return void 0;
30
+ if (props.totalResults === 0) return formatNumber(0);
31
+ return formatNumber((currentIndex.value - 1) * props.pageSize + 1);
32
+ });
33
+ const resultEnd = computed(() => {
34
+ if (props.pageSize === void 0) return void 0;
35
+ if (props.totalResults === 0) return formatNumber(0);
36
+ return formatNumber(Math.min(currentIndex.value * props.pageSize, props.totalResults));
37
+ });
38
+ const handlePreviousClick = () => {
39
+ if (currentIndex.value > 1) {
40
+ currentIndex.value--;
41
+ }
42
+ };
43
+ const handleNextClick = () => {
44
+ if (currentIndex.value < props.pageCount) {
45
+ currentIndex.value++;
46
+ }
47
+ };
48
+ return (_ctx, _cache) => {
49
+ return openBlock(), createElementBlock("section", {
50
+ class: normalizeClass(["tide-pagination", unref(CSS).DISPLAY.FLEX, unref(CSS).FLEX.DIRECTION.COLUMN, unref(CSS).AXIS2.CENTER, unref(CSS).GAP.HALF])
51
+ }, [
52
+ createElementVNode("div", {
53
+ class: normalizeClass([unref(CSS).DISPLAY.FLEX, unref(CSS).AXIS1.CENTER, unref(CSS).AXIS2.CENTER, unref(CSS).GAP.HALF])
54
+ }, [
55
+ createVNode(_sfc_main$1, {
56
+ disabled: currentIndex.value <= 1,
57
+ icon: unref(ICON).CHEVRON_LEFT,
58
+ priority: unref(PRIORITY).QUATERNARY,
59
+ onClick: handlePreviousClick
60
+ }, null, 8, ["disabled", "icon", "priority"]),
61
+ createElementVNode("span", {
62
+ class: normalizeClass([unref(CSS).FONT.ROLE.BUTTON_1, unref(CSS).FONT.COLOR.SURFACE.DEFAULT])
63
+ }, toDisplayString(unref(formatNumber)(currentIndex.value)) + " / " + toDisplayString(unref(formatNumber)(__props.pageCount)), 3),
64
+ createVNode(_sfc_main$1, {
65
+ disabled: currentIndex.value >= __props.pageCount,
66
+ icon: unref(ICON).CHEVRON_RIGHT,
67
+ priority: unref(PRIORITY).QUATERNARY,
68
+ onClick: handleNextClick
69
+ }, null, 8, ["disabled", "icon", "priority"])
70
+ ], 2),
71
+ props.pageSize !== void 0 ? (openBlock(), createElementBlock("p", {
72
+ key: 0,
73
+ class: normalizeClass([unref(CSS).FONT.ROLE.BODY_2, unref(CSS).FONT.COLOR.SURFACE.VARIANT])
74
+ }, toDisplayString(resultStart.value) + "–" + toDisplayString(resultEnd.value) + " of " + toDisplayString(unref(formatNumber)(__props.totalResults)) + " results ", 3)) : createCommentVNode("", true)
75
+ ], 2);
76
+ };
77
+ }
78
+ });
79
+ export {
80
+ _sfc_main as default
81
+ };
82
+ //# sourceMappingURL=TidePagination.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TidePagination.vue.js","sources":["../../src/components/TidePagination.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * Renders a pagination component for navigating through pages of content.\n *\n * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidepagination--docs) for TidePagination\n */\n export default {};\n</script>\n\n<script lang=\"ts\" setup>\n import { computed, watchEffect } from 'vue';\n\n import TideButtonIcon from '@/components/TideButtonIcon.vue';\n import { ICON } from '@/types/Icon';\n import { PRIORITY } from '@/types/Priority';\n import { CSS } from '@/types/Styles';\n import { formatNumber } from '@/utilities/format';\n\n type Props = {\n /** Total number of pages available */\n pageCount: number;\n /** Number of items per page. When provided, a results summary is shown below the pagination controls. */\n pageSize?: number;\n /** Total number of results */\n totalResults: number;\n };\n\n const props = defineProps<Props>();\n\n const currentIndex = defineModel<number>({ required: true });\n\n watchEffect(() => {\n if (props.pageCount < 1) return;\n\n const clamped = Math.min(Math.max(currentIndex.value, 1), props.pageCount);\n if (clamped !== currentIndex.value) currentIndex.value = clamped;\n });\n\n const resultStart = computed(() => {\n if (props.pageSize === undefined) return undefined;\n if (props.totalResults === 0) return formatNumber(0);\n return formatNumber((currentIndex.value - 1) * props.pageSize + 1);\n });\n\n const resultEnd = computed(() => {\n if (props.pageSize === undefined) return undefined;\n if (props.totalResults === 0) return formatNumber(0);\n return formatNumber(Math.min(currentIndex.value * props.pageSize, props.totalResults));\n });\n\n const handlePreviousClick = () => {\n if (currentIndex.value > 1) {\n currentIndex.value--;\n }\n };\n\n const handleNextClick = () => {\n if (currentIndex.value < props.pageCount) {\n currentIndex.value++;\n }\n };\n</script>\n\n<template>\n <section :class=\"['tide-pagination', CSS.DISPLAY.FLEX, CSS.FLEX.DIRECTION.COLUMN, CSS.AXIS2.CENTER, CSS.GAP.HALF]\">\n <div :class=\"[CSS.DISPLAY.FLEX, CSS.AXIS1.CENTER, CSS.AXIS2.CENTER, CSS.GAP.HALF]\">\n <TideButtonIcon\n :disabled=\"currentIndex <= 1\"\n :icon=\"ICON.CHEVRON_LEFT\"\n :priority=\"PRIORITY.QUATERNARY\"\n @click=\"handlePreviousClick\"\n />\n\n <span :class=\"[CSS.FONT.ROLE.BUTTON_1, CSS.FONT.COLOR.SURFACE.DEFAULT]\">\n {{ formatNumber(currentIndex) }} / {{ formatNumber(pageCount) }}\n </span>\n\n <TideButtonIcon\n :disabled=\"currentIndex >= pageCount\"\n :icon=\"ICON.CHEVRON_RIGHT\"\n :priority=\"PRIORITY.QUATERNARY\"\n @click=\"handleNextClick\"\n />\n </div>\n\n <p\n :class=\"[CSS.FONT.ROLE.BODY_2, CSS.FONT.COLOR.SURFACE.VARIANT]\"\n v-if=\"props.pageSize !== undefined\"\n >\n {{ resultStart }}–{{ resultEnd }} of {{ formatNumber(totalResults) }} results\n </p>\n </section>\n</template>\n"],"names":["_useModel","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_createVNode","TideButtonIcon","_toDisplayString"],"mappings":";;;;;;AAME,MAAA,cAAe,CAAA;;;;;;;;;;;;;;AAqBf,UAAM,QAAQ;AAEd,UAAM,eAAeA,8BAAsC;AAE3D,gBAAY,MAAM;AAChB,UAAI,MAAM,YAAY,EAAG;AAEzB,YAAM,UAAU,KAAK,IAAI,KAAK,IAAI,aAAa,OAAO,CAAC,GAAG,MAAM,SAAS;AACzE,UAAI,YAAY,aAAa,MAAO,cAAa,QAAQ;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,MAAM;AACjC,UAAI,MAAM,aAAa,OAAW,QAAO;AACzC,UAAI,MAAM,iBAAiB,EAAG,QAAO,aAAa,CAAC;AACnD,aAAO,cAAc,aAAa,QAAQ,KAAK,MAAM,WAAW,CAAC;AAAA,IACnE,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,UAAI,MAAM,aAAa,OAAW,QAAO;AACzC,UAAI,MAAM,iBAAiB,EAAG,QAAO,aAAa,CAAC;AACnD,aAAO,aAAa,KAAK,IAAI,aAAa,QAAQ,MAAM,UAAU,MAAM,YAAY,CAAC;AAAA,IACvF,CAAC;AAED,UAAM,sBAAsB,MAAM;AAChC,UAAI,aAAa,QAAQ,GAAG;AAC1B,qBAAa;AAAA,MACf;AAAA,IACF;AAEA,UAAM,kBAAkB,MAAM;AAC5B,UAAI,aAAa,QAAQ,MAAM,WAAW;AACxC,qBAAa;AAAA,MACf;AAAA,IACF;;0BAIAC,mBA2BU,WAAA;AAAA,QA3BA,OAAKC,eAAA,CAAA,mBAAsBC,MAAA,GAAA,EAAI,QAAQ,MAAMA,MAAA,GAAA,EAAI,KAAK,UAAU,QAAQA,MAAA,GAAA,EAAI,MAAM,QAAQA,MAAA,GAAA,EAAI,IAAI,IAAI,CAAA;AAAA,MAAA;QAC9GC,mBAkBM,OAAA;AAAA,UAlBA,OAAKF,eAAA,CAAGC,WAAI,QAAQ,MAAMA,MAAA,GAAA,EAAI,MAAM,QAAQA,MAAA,GAAA,EAAI,MAAM,QAAQA,MAAA,GAAA,EAAI,IAAI,IAAI,CAAA;AAAA,QAAA;UAC9EE,YAKEC,aAAA;AAAA,YAJC,UAAU,aAAA,SAAY;AAAA,YACtB,MAAMH,MAAA,IAAA,EAAK;AAAA,YACX,UAAUA,MAAA,QAAA,EAAS;AAAA,YACnB,SAAO;AAAA,UAAA;UAGVC,mBAEO,QAAA;AAAA,YAFA,uBAAQD,MAAA,GAAA,EAAI,KAAK,KAAK,UAAUA,MAAA,GAAA,EAAI,KAAK,MAAM,QAAQ,OAAO,CAAA;AAAA,UAAA,GAChEI,gBAAAJ,MAAA,YAAA,EAAa,aAAA,KAAY,CAAA,IAAI,QAAGI,gBAAGJ,MAAA,YAAA,EAAa,QAAA,SAAS,CAAA,GAAA,CAAA;AAAA,UAG9DE,YAKEC,aAAA;AAAA,YAJC,UAAU,aAAA,SAAgB,QAAA;AAAA,YAC1B,MAAMH,MAAA,IAAA,EAAK;AAAA,YACX,UAAUA,MAAA,QAAA,EAAS;AAAA,YACnB,SAAO;AAAA,UAAA;;QAMJ,MAAM,aAAa,uBAF3BF,mBAKI,KAAA;AAAA;UAJD,uBAAQE,MAAA,GAAA,EAAI,KAAK,KAAK,QAAQA,MAAA,GAAA,EAAI,KAAK,MAAM,QAAQ,OAAO,CAAA;AAAA,QAAA,mBAG1D,YAAA,KAAW,IAAG,MAACI,gBAAG,UAAA,KAAS,IAAG,SAAIA,gBAAGJ,MAAA,YAAA,EAAa,QAAA,YAAY,CAAA,IAAI,aACvE,CAAA;;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./TidePagination.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=TidePagination.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TidePagination.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./TidePopover.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const TidePopover = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c4623b8d"]]);
5
+ export {
6
+ TidePopover as default
7
+ };
8
+ //# sourceMappingURL=TidePopover.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TidePopover.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,156 @@
1
+ import { defineComponent, ref, computed, watch, watchEffect, onBeforeMount, onMounted, onUnmounted, openBlock, createBlock, Teleport, unref, createVNode, Transition, withCtx, withDirectives, createElementVNode, mergeProps, renderSlot, vShow } from "vue";
2
+ import { autoPlacement, offset, shift, useFloating, autoUpdate } from "@floating-ui/vue";
3
+ import { CSS } from "../types/Styles.js";
4
+ import { isClickOutside } from "../utilities/event.js";
5
+ import { initFauxTopLayer, TOP_LAYER_ID } from "../utilities/viewport.js";
6
+ const __default__ = { inheritAttrs: false };
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ ...__default__,
9
+ __name: "TidePopover",
10
+ props: {
11
+ anchorId: {},
12
+ offset: { default: 16 }
13
+ },
14
+ setup(__props) {
15
+ const props = __props;
16
+ const anchor = ref(null);
17
+ const floating = ref(null);
18
+ const root = ref(null);
19
+ const isHovered = ref(false);
20
+ const isToggledOpen = ref(false);
21
+ const isTouchDevice = ref(false);
22
+ const middleware = ref([autoPlacement(), offset({ mainAxis: props.offset }), shift({ padding: 16 })]);
23
+ const isShowPopover = computed(() => isHovered.value || isToggledOpen.value);
24
+ const { floatingStyles } = useFloating(anchor, floating, {
25
+ middleware,
26
+ strategy: "fixed",
27
+ whileElementsMounted: autoUpdate
28
+ });
29
+ const handlePermanentOpenBodyClick = (e) => {
30
+ if (!anchor.value || !floating.value) return;
31
+ if (isClickOutside(e, [anchor.value, floating.value])) {
32
+ isToggledOpen.value = false;
33
+ e.preventDefault();
34
+ e.stopImmediatePropagation();
35
+ }
36
+ };
37
+ const handleAnchorElementMouseOver = () => {
38
+ if (isTouchDevice.value) return;
39
+ isHovered.value = true;
40
+ };
41
+ const handleAnchorElementMouseLeave = () => {
42
+ if (isTouchDevice.value) return;
43
+ isHovered.value = false;
44
+ };
45
+ const handleAnchorElementTouchStart = () => {
46
+ isTouchDevice.value = true;
47
+ };
48
+ const handleAnchorElementClick = (e) => {
49
+ e.preventDefault();
50
+ if (isToggledOpen.value) {
51
+ isToggledOpen.value = false;
52
+ isHovered.value = false;
53
+ } else {
54
+ isToggledOpen.value = true;
55
+ }
56
+ };
57
+ const addListenersToAnchorElement = () => {
58
+ if (!anchor.value) return null;
59
+ anchor.value.addEventListener("touchstart", handleAnchorElementTouchStart, { passive: true });
60
+ anchor.value.addEventListener("mouseover", handleAnchorElementMouseOver);
61
+ anchor.value.addEventListener("mouseleave", handleAnchorElementMouseLeave);
62
+ anchor.value.addEventListener("click", handleAnchorElementClick);
63
+ };
64
+ const removeListenersFromAnchorElement = () => {
65
+ if (!anchor.value) return null;
66
+ anchor.value.removeEventListener("touchstart", handleAnchorElementTouchStart);
67
+ anchor.value.removeEventListener("mouseover", handleAnchorElementMouseOver);
68
+ anchor.value.removeEventListener("mouseleave", handleAnchorElementMouseLeave);
69
+ anchor.value.removeEventListener("click", handleAnchorElementClick);
70
+ };
71
+ const handlePermanentOpenBodyKeydown = (e) => {
72
+ if (e.key === "Escape") {
73
+ isToggledOpen.value = false;
74
+ }
75
+ };
76
+ const addOpenListenersToRoot = () => {
77
+ if (!root.value) return;
78
+ root.value.addEventListener("click", handlePermanentOpenBodyClick, true);
79
+ root.value.addEventListener("keydown", handlePermanentOpenBodyKeydown);
80
+ };
81
+ const removeOpenListenersFromRoot = () => {
82
+ if (!root.value) return;
83
+ root.value.removeEventListener("click", handlePermanentOpenBodyClick, true);
84
+ root.value.removeEventListener("keydown", handlePermanentOpenBodyKeydown);
85
+ };
86
+ const updateAnchorElement = () => {
87
+ anchor.value = document.getElementById(props.anchorId);
88
+ };
89
+ watch(
90
+ () => isToggledOpen.value,
91
+ (newValue) => {
92
+ if (newValue) {
93
+ addOpenListenersToRoot();
94
+ } else {
95
+ removeOpenListenersFromRoot();
96
+ }
97
+ }
98
+ );
99
+ watch(
100
+ () => props.anchorId,
101
+ () => {
102
+ removeListenersFromAnchorElement();
103
+ updateAnchorElement();
104
+ addListenersToAnchorElement();
105
+ }
106
+ );
107
+ watchEffect(() => {
108
+ middleware.value = [autoPlacement(), offset({ mainAxis: props.offset }), shift({ padding: 16 })];
109
+ });
110
+ onBeforeMount(() => {
111
+ initFauxTopLayer();
112
+ });
113
+ onMounted(() => {
114
+ updateAnchorElement();
115
+ root.value = document.documentElement;
116
+ addListenersToAnchorElement();
117
+ });
118
+ onUnmounted(() => {
119
+ removeListenersFromAnchorElement();
120
+ });
121
+ return (_ctx, _cache) => {
122
+ return openBlock(), createBlock(Teleport, {
123
+ to: `#${unref(TOP_LAYER_ID)}`
124
+ }, [
125
+ createVNode(Transition, null, {
126
+ default: withCtx(() => [
127
+ withDirectives(createElementVNode("div", mergeProps(_ctx.$attrs, {
128
+ class: [
129
+ "tide-popover",
130
+ unref(CSS).BG.SURFACE.DEFAULT,
131
+ unref(CSS).BORDER.COLOR.LOW,
132
+ unref(CSS).BORDER.FULL.ONE,
133
+ unref(CSS).BORDER.RADIUS.HALF,
134
+ unref(CSS).FONT.ROLE.BODY_2,
135
+ unref(CSS).PADDING.FULL.ONE,
136
+ unref(CSS).SHADOW.BOTTOM
137
+ ],
138
+ ref_key: "floating",
139
+ ref: floating,
140
+ style: { ...unref(floatingStyles) }
141
+ }), [
142
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
143
+ ], 16), [
144
+ [vShow, isShowPopover.value]
145
+ ])
146
+ ]),
147
+ _: 3
148
+ })
149
+ ], 8, ["to"]);
150
+ };
151
+ }
152
+ });
153
+ export {
154
+ _sfc_main as default
155
+ };
156
+ //# sourceMappingURL=TidePopover.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TidePopover.vue2.js","sources":["../../src/components/TidePopover.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * Renders a popover intended to be used for displaying additional information.\n *\n * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidepopover--docs) for TidePopover\n */\n export default { inheritAttrs: false };\n</script>\n\n<script lang=\"ts\" setup>\n import { autoPlacement, autoUpdate, offset as offsetMiddleware, shift, useFloating } from '@floating-ui/vue';\n import { computed, onBeforeMount, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue';\n\n import { CSS } from '@/types/Styles';\n import { isClickOutside } from '@/utilities/event';\n import { TOP_LAYER_ID, initFauxTopLayer } from '@/utilities/viewport';\n\n import type { Ref } from 'vue';\n\n type Props = {\n /** Determines the HTML node over which the Popover will appear */\n anchorId: string;\n\n /** Determines spacing between Popover and anchor node */\n offset?: number;\n };\n\n const props = withDefaults(defineProps<Props>(), {\n offset: 16,\n });\n\n const anchor: Ref<HTMLElement | null> = ref(null);\n const floating: Ref<HTMLElement | null> = ref(null);\n const root: Ref<HTMLElement | null> = ref(null);\n const isHovered = ref(false);\n const isToggledOpen = ref(false);\n const isTouchDevice = ref(false);\n const middleware = ref([autoPlacement(), offsetMiddleware({ mainAxis: props.offset }), shift({ padding: 16 })]);\n\n const isShowPopover = computed(() => isHovered.value || isToggledOpen.value);\n\n const { floatingStyles } = useFloating(anchor, floating, {\n middleware,\n strategy: 'fixed',\n whileElementsMounted: autoUpdate,\n });\n\n const handlePermanentOpenBodyClick = (e: MouseEvent) => {\n if (!anchor.value || !floating.value) return;\n if (isClickOutside(e, [anchor.value, floating.value])) {\n isToggledOpen.value = false;\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n };\n\n const handleAnchorElementMouseOver = () => {\n if (isTouchDevice.value) return;\n isHovered.value = true;\n };\n\n const handleAnchorElementMouseLeave = () => {\n if (isTouchDevice.value) return;\n isHovered.value = false;\n };\n\n const handleAnchorElementTouchStart = () => {\n isTouchDevice.value = true;\n };\n\n const handleAnchorElementClick = (e: MouseEvent) => {\n e.preventDefault();\n if (isToggledOpen.value) {\n isToggledOpen.value = false;\n isHovered.value = false;\n } else {\n isToggledOpen.value = true;\n }\n };\n\n const addListenersToAnchorElement = () => {\n if (!anchor.value) return null;\n anchor.value.addEventListener('touchstart', handleAnchorElementTouchStart, { passive: true });\n anchor.value.addEventListener('mouseover', handleAnchorElementMouseOver);\n anchor.value.addEventListener('mouseleave', handleAnchorElementMouseLeave);\n anchor.value.addEventListener('click', handleAnchorElementClick);\n };\n\n const removeListenersFromAnchorElement = () => {\n if (!anchor.value) return null;\n anchor.value.removeEventListener('touchstart', handleAnchorElementTouchStart);\n anchor.value.removeEventListener('mouseover', handleAnchorElementMouseOver);\n anchor.value.removeEventListener('mouseleave', handleAnchorElementMouseLeave);\n anchor.value.removeEventListener('click', handleAnchorElementClick);\n };\n\n const handlePermanentOpenBodyKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n isToggledOpen.value = false;\n }\n };\n\n const addOpenListenersToRoot = () => {\n if (!root.value) return;\n root.value.addEventListener('click', handlePermanentOpenBodyClick, true);\n root.value.addEventListener('keydown', handlePermanentOpenBodyKeydown);\n };\n\n const removeOpenListenersFromRoot = () => {\n if (!root.value) return;\n root.value.removeEventListener('click', handlePermanentOpenBodyClick, true);\n root.value.removeEventListener('keydown', handlePermanentOpenBodyKeydown);\n };\n\n const updateAnchorElement = () => {\n anchor.value = document.getElementById(props.anchorId);\n };\n\n watch(\n () => isToggledOpen.value,\n (newValue) => {\n if (newValue) {\n addOpenListenersToRoot();\n } else {\n removeOpenListenersFromRoot();\n }\n }\n );\n\n watch(\n () => props.anchorId,\n () => {\n removeListenersFromAnchorElement();\n updateAnchorElement();\n addListenersToAnchorElement();\n }\n );\n\n watchEffect(() => {\n middleware.value = [autoPlacement(), offsetMiddleware({ mainAxis: props.offset }), shift({ padding: 16 })];\n });\n\n onBeforeMount(() => {\n initFauxTopLayer();\n });\n\n onMounted(() => {\n updateAnchorElement();\n root.value = document.documentElement;\n addListenersToAnchorElement();\n });\n\n onUnmounted(() => {\n removeListenersFromAnchorElement();\n });\n</script>\n\n<template>\n <Teleport :to=\"`#${TOP_LAYER_ID}`\">\n <Transition>\n <div\n v-bind=\"$attrs\"\n :class=\"[\n 'tide-popover',\n CSS.BG.SURFACE.DEFAULT,\n CSS.BORDER.COLOR.LOW,\n CSS.BORDER.FULL.ONE,\n CSS.BORDER.RADIUS.HALF,\n CSS.FONT.ROLE.BODY_2,\n CSS.PADDING.FULL.ONE,\n CSS.SHADOW.BOTTOM,\n ]\"\n ref=\"floating\"\n :style=\"{ ...floatingStyles }\"\n v-show=\"isShowPopover\"\n >\n <slot />\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<style scoped>\n .tide-popover {\n max-width: 256px;\n }\n .v-enter-from,\n .v-leave-to {\n opacity: 0;\n }\n .v-enter-active,\n .v-leave-active {\n transition: opacity var(--tide-animate);\n }\n .v-enter-to,\n .v-leave-from {\n opacity: 1;\n }\n</style>\n"],"names":["offsetMiddleware","_createBlock","_Teleport","_unref","_createVNode","_Transition","_createElementVNode","_mergeProps","_renderSlot"],"mappings":";;;;;AAME,MAAA,cAAe,EAAE,cAAc,MAAA;;;;;;;;;AAqB/B,UAAM,QAAQ;AAId,UAAM,SAAkC,IAAI,IAAI;AAChD,UAAM,WAAoC,IAAI,IAAI;AAClD,UAAM,OAAgC,IAAI,IAAI;AAC9C,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,gBAAgB,IAAI,KAAK;AAC/B,UAAM,aAAa,IAAI,CAAC,iBAAiBA,OAAiB,EAAE,UAAU,MAAM,OAAA,CAAQ,GAAG,MAAM,EAAE,SAAS,GAAA,CAAI,CAAC,CAAC;AAE9G,UAAM,gBAAgB,SAAS,MAAM,UAAU,SAAS,cAAc,KAAK;AAE3E,UAAM,EAAE,eAAA,IAAmB,YAAY,QAAQ,UAAU;AAAA,MACvD;AAAA,MACA,UAAU;AAAA,MACV,sBAAsB;AAAA,IAAA,CACvB;AAED,UAAM,+BAA+B,CAAC,MAAkB;AACtD,UAAI,CAAC,OAAO,SAAS,CAAC,SAAS,MAAO;AACtC,UAAI,eAAe,GAAG,CAAC,OAAO,OAAO,SAAS,KAAK,CAAC,GAAG;AACrD,sBAAc,QAAQ;AACtB,UAAE,eAAA;AACF,UAAE,yBAAA;AAAA,MACJ;AAAA,IACF;AAEA,UAAM,+BAA+B,MAAM;AACzC,UAAI,cAAc,MAAO;AACzB,gBAAU,QAAQ;AAAA,IACpB;AAEA,UAAM,gCAAgC,MAAM;AAC1C,UAAI,cAAc,MAAO;AACzB,gBAAU,QAAQ;AAAA,IACpB;AAEA,UAAM,gCAAgC,MAAM;AAC1C,oBAAc,QAAQ;AAAA,IACxB;AAEA,UAAM,2BAA2B,CAAC,MAAkB;AAClD,QAAE,eAAA;AACF,UAAI,cAAc,OAAO;AACvB,sBAAc,QAAQ;AACtB,kBAAU,QAAQ;AAAA,MACpB,OAAO;AACL,sBAAc,QAAQ;AAAA,MACxB;AAAA,IACF;AAEA,UAAM,8BAA8B,MAAM;AACxC,UAAI,CAAC,OAAO,MAAO,QAAO;AAC1B,aAAO,MAAM,iBAAiB,cAAc,+BAA+B,EAAE,SAAS,MAAM;AAC5F,aAAO,MAAM,iBAAiB,aAAa,4BAA4B;AACvE,aAAO,MAAM,iBAAiB,cAAc,6BAA6B;AACzE,aAAO,MAAM,iBAAiB,SAAS,wBAAwB;AAAA,IACjE;AAEA,UAAM,mCAAmC,MAAM;AAC7C,UAAI,CAAC,OAAO,MAAO,QAAO;AAC1B,aAAO,MAAM,oBAAoB,cAAc,6BAA6B;AAC5E,aAAO,MAAM,oBAAoB,aAAa,4BAA4B;AAC1E,aAAO,MAAM,oBAAoB,cAAc,6BAA6B;AAC5E,aAAO,MAAM,oBAAoB,SAAS,wBAAwB;AAAA,IACpE;AAEA,UAAM,iCAAiC,CAAC,MAAqB;AAC3D,UAAI,EAAE,QAAQ,UAAU;AACtB,sBAAc,QAAQ;AAAA,MACxB;AAAA,IACF;AAEA,UAAM,yBAAyB,MAAM;AACnC,UAAI,CAAC,KAAK,MAAO;AACjB,WAAK,MAAM,iBAAiB,SAAS,8BAA8B,IAAI;AACvE,WAAK,MAAM,iBAAiB,WAAW,8BAA8B;AAAA,IACvE;AAEA,UAAM,8BAA8B,MAAM;AACxC,UAAI,CAAC,KAAK,MAAO;AACjB,WAAK,MAAM,oBAAoB,SAAS,8BAA8B,IAAI;AAC1E,WAAK,MAAM,oBAAoB,WAAW,8BAA8B;AAAA,IAC1E;AAEA,UAAM,sBAAsB,MAAM;AAChC,aAAO,QAAQ,SAAS,eAAe,MAAM,QAAQ;AAAA,IACvD;AAEA;AAAA,MACE,MAAM,cAAc;AAAA,MACpB,CAAC,aAAa;AACZ,YAAI,UAAU;AACZ,iCAAA;AAAA,QACF,OAAO;AACL,sCAAA;AAAA,QACF;AAAA,MACF;AAAA,IAAA;AAGF;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,MAAM;AACJ,yCAAA;AACA,4BAAA;AACA,oCAAA;AAAA,MACF;AAAA,IAAA;AAGF,gBAAY,MAAM;AAChB,iBAAW,QAAQ,CAAC,cAAA,GAAiBA,OAAiB,EAAE,UAAU,MAAM,OAAA,CAAQ,GAAG,MAAM,EAAE,SAAS,GAAA,CAAI,CAAC;AAAA,IAC3G,CAAC;AAED,kBAAc,MAAM;AAClB,uBAAA;AAAA,IACF,CAAC;AAED,cAAU,MAAM;AACd,0BAAA;AACA,WAAK,QAAQ,SAAS;AACtB,kCAAA;AAAA,IACF,CAAC;AAED,gBAAY,MAAM;AAChB,uCAAA;AAAA,IACF,CAAC;;0BAIDC,YAqBWC,UAAA;AAAA,QArBA,QAAQC,MAAA,YAAA,CAAY;AAAA,MAAA;QAC7BC,YAmBaC,YAAA,MAAA;AAAA,2BAlBX,MAiBM;AAAA,2BAjBNC,mBAiBM,OAjBNC,WAiBM,KAAA,QAhBU;AAAA,cACb,OAAK;AAAA;gBAAwCJ,MAAA,GAAA,EAAI,GAAG,QAAQ;AAAA,gBAAmBA,MAAA,GAAA,EAAI,OAAO,MAAM;AAAA,gBAAeA,MAAA,GAAA,EAAI,OAAO,KAAK;AAAA,gBAAeA,MAAA,GAAA,EAAI,OAAO,OAAO;AAAA,gBAAgBA,MAAA,GAAA,EAAI,KAAK,KAAK;AAAA,gBAAkBA,MAAA,GAAA,EAAI,QAAQ,KAAK;AAAA,gBAAeA,MAAA,GAAA,EAAI,OAAO;AAAA,cAAA;AAAA,uBAUxP;AAAA,cAAJ,KAAI;AAAA,cACH,YAAYA,MAAA,cAAA,EAAA;AAAA,YAAc;cAG3BK,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA,YAAA;sBAFA,cAAA,KAAa;AAAA,YAAA;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./TideRating.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const TideRating = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4ae61636"]]);
5
+ export {
6
+ TideRating as default
7
+ };
8
+ //# sourceMappingURL=TideRating.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TideRating.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,75 @@
1
+ import { defineComponent, useModel, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, mergeModels } from "vue";
2
+ import { CSS } from "../types/Styles.js";
3
+ const _hoisted_1 = ["onClick"];
4
+ const __default__ = {};
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...__default__,
7
+ __name: "TideRating",
8
+ props: /* @__PURE__ */ mergeModels({
9
+ description: { default: void 0 },
10
+ maxRating: { default: 10 },
11
+ showRating: { type: Boolean, default: false },
12
+ title: { default: void 0 }
13
+ }, {
14
+ "modelValue": { required: true },
15
+ "modelModifiers": {}
16
+ }),
17
+ emits: ["update:modelValue"],
18
+ setup(__props) {
19
+ const props = __props;
20
+ const ratingValue = useModel(__props, "modelValue");
21
+ const segments = computed(() => Array.from({ length: props.maxRating }, (_, index) => index + 1));
22
+ const handleClick = (segment) => {
23
+ ratingValue.value = segment;
24
+ };
25
+ return (_ctx, _cache) => {
26
+ return openBlock(), createElementBlock("div", {
27
+ class: normalizeClass(["tide-rating", unref(CSS).WIDTH.FULL])
28
+ }, [
29
+ createElementVNode("section", {
30
+ class: normalizeClass([unref(CSS).DISPLAY.FLEX, unref(CSS).AXIS2.CENTER, unref(CSS).AXIS1.BETWEEN, unref(CSS).PADDING.BOTTOM.HALF])
31
+ }, [
32
+ createElementVNode("div", {
33
+ class: normalizeClass([unref(CSS).FONT.ROLE.LABEL_2])
34
+ }, toDisplayString(props.title), 3),
35
+ props.showRating ? (openBlock(), createElementBlock("div", {
36
+ key: 0,
37
+ class: normalizeClass([unref(CSS).FONT.ROLE.LABEL_3, unref(CSS).FONT.COLOR.SURFACE.VARIANT])
38
+ }, toDisplayString(ratingValue.value) + "/" + toDisplayString(props.maxRating), 3)) : createCommentVNode("", true)
39
+ ], 2),
40
+ props.description ? (openBlock(), createElementBlock("section", {
41
+ key: 0,
42
+ class: normalizeClass([unref(CSS).FONT.ROLE.BODY_2, unref(CSS).PADDING.BOTTOM.ONE, unref(CSS).OVERFLOW.XY.HIDDEN, unref(CSS).ELLIPSIS])
43
+ }, toDisplayString(props.description), 3)) : createCommentVNode("", true),
44
+ createElementVNode("section", {
45
+ class: normalizeClass(["tide-rating-bar", unref(CSS).DISPLAY.FLEX, unref(CSS).GAP.QUARTER, unref(CSS).FLEX.GROW.ON, unref(CSS).FLEX.SHRINK.ON])
46
+ }, [
47
+ (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment) => {
48
+ return openBlock(), createElementBlock("button", {
49
+ class: normalizeClass([
50
+ "tide-rating-segment",
51
+ unref(CSS).BG.SURFACE.VARIANT,
52
+ unref(CSS).POSITION.RELATIVE,
53
+ unref(CSS).OVERFLOW.XY.HIDDEN,
54
+ unref(CSS).FLEX.GROW.ON,
55
+ unref(CSS).FLEX.SHRINK.ON,
56
+ unref(CSS).FLEX.BASIS.ZERO,
57
+ unref(CSS).BORDER.FULL.ZERO,
58
+ segment === 1 && ["tide-rating-segment-first"],
59
+ segment === segments.value.length && ["tide-rating-segment-last"],
60
+ segment <= ratingValue.value && [unref(CSS).BG.SURFACE.GRADIENT]
61
+ ]),
62
+ key: segment,
63
+ onClick: ($event) => handleClick(segment),
64
+ type: "button"
65
+ }, null, 10, _hoisted_1);
66
+ }), 128))
67
+ ], 2)
68
+ ], 2);
69
+ };
70
+ }
71
+ });
72
+ export {
73
+ _sfc_main as default
74
+ };
75
+ //# sourceMappingURL=TideRating.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TideRating.vue2.js","sources":["../../src/components/TideRating.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * Renders a rating component intended to be used for displaying and selecting a rating.\n *\n * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tiderating--docs) for TideRating\n */\n export default {};\n</script>\n\n<script lang=\"ts\" setup>\n import { computed } from 'vue';\n\n import { CSS } from '@/types/Styles';\n\n type Props = {\n /** Determines the text displayed below the title */\n description?: string;\n\n /** Maximum rating value / Number of segments */\n maxRating?: number;\n\n /** Determines whether to display the current rating value */\n showRating?: boolean;\n\n /** Determines the title text displayed above the rating component */\n title?: string;\n };\n\n const props = withDefaults(defineProps<Props>(), {\n description: undefined,\n maxRating: 10,\n showRating: false,\n title: undefined,\n });\n\n const ratingValue = defineModel<number>({ required: true });\n\n const segments = computed(() => Array.from({ length: props.maxRating }, (_, index) => index + 1));\n\n const handleClick = (segment: number) => {\n ratingValue.value = segment;\n };\n</script>\n\n<template>\n <div :class=\"['tide-rating', CSS.WIDTH.FULL]\">\n <section :class=\"[CSS.DISPLAY.FLEX, CSS.AXIS2.CENTER, CSS.AXIS1.BETWEEN, CSS.PADDING.BOTTOM.HALF]\">\n <div :class=\"[CSS.FONT.ROLE.LABEL_2]\">\n {{ props.title }}\n </div>\n <div\n :class=\"[CSS.FONT.ROLE.LABEL_3, CSS.FONT.COLOR.SURFACE.VARIANT]\"\n v-if=\"props.showRating\"\n >\n {{ ratingValue }}/{{ props.maxRating }}\n </div>\n </section>\n <section\n :class=\"[CSS.FONT.ROLE.BODY_2, CSS.PADDING.BOTTOM.ONE, CSS.OVERFLOW.XY.HIDDEN, CSS.ELLIPSIS]\"\n v-if=\"props.description\"\n >\n {{ props.description }}\n </section>\n\n <section :class=\"['tide-rating-bar', CSS.DISPLAY.FLEX, CSS.GAP.QUARTER, CSS.FLEX.GROW.ON, CSS.FLEX.SHRINK.ON]\">\n <button\n :class=\"[\n 'tide-rating-segment',\n CSS.BG.SURFACE.VARIANT,\n CSS.POSITION.RELATIVE,\n CSS.OVERFLOW.XY.HIDDEN,\n CSS.FLEX.GROW.ON,\n CSS.FLEX.SHRINK.ON,\n CSS.FLEX.BASIS.ZERO,\n CSS.BORDER.FULL.ZERO,\n segment === 1 && ['tide-rating-segment-first'],\n segment === segments.length && ['tide-rating-segment-last'],\n segment <= ratingValue && [CSS.BG.SURFACE.GRADIENT],\n ]\"\n :key=\"segment\"\n @click=\"handleClick(segment)\"\n type=\"button\"\n v-for=\"segment in segments\"\n />\n </section>\n </div>\n</template>\n\n<style scoped>\n .tide-rating-bar {\n height: 28px;\n }\n\n .tide-rating-segment {\n clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);\n }\n\n .tide-rating-segment-first {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px;\n clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);\n }\n\n .tide-rating-segment-last {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px;\n clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);\n }\n</style>\n"],"names":["_useModel","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_toDisplayString","_Fragment","_renderList"],"mappings":";;;AAME,MAAA,cAAe,CAAA;;;;;;;;;;;;;;;AAsBf,UAAM,QAAQ;AAOd,UAAM,cAAcA,8BAAsC;AAE1D,UAAM,WAAW,SAAS,MAAM,MAAM,KAAK,EAAE,QAAQ,MAAM,UAAA,GAAa,CAAC,GAAG,UAAU,QAAQ,CAAC,CAAC;AAEhG,UAAM,cAAc,CAAC,YAAoB;AACvC,kBAAY,QAAQ;AAAA,IACtB;;0BAIAC,mBAwCM,OAAA;AAAA,QAxCA,OAAKC,eAAA,CAAA,eAAkBC,MAAA,GAAA,EAAI,MAAM,IAAI,CAAA;AAAA,MAAA;QACzCC,mBAUU,WAAA;AAAA,UAVA,OAAKF,eAAA,CAAGC,MAAA,GAAA,EAAI,QAAQ,MAAMA,MAAA,GAAA,EAAI,MAAM,QAAQA,MAAA,GAAA,EAAI,MAAM,SAASA,MAAA,GAAA,EAAI,QAAQ,OAAO,IAAI,CAAA;AAAA,QAAA;UAC9FC,mBAEM,OAAA;AAAA,YAFA,uBAAQD,MAAA,GAAA,EAAI,KAAK,KAAK,OAAO,CAAA;AAAA,UAAA,GAC9BE,gBAAA,MAAM,KAAK,GAAA,CAAA;AAAA,UAIR,MAAM,2BAFdJ,mBAKM,OAAA;AAAA;YAJH,uBAAQE,MAAA,GAAA,EAAI,KAAK,KAAK,SAASA,MAAA,GAAA,EAAI,KAAK,MAAM,QAAQ,OAAO,CAAA;AAAA,UAAA,GAG3DE,gBAAA,YAAA,KAAW,IAAG,MAACA,gBAAG,MAAM,SAAS,GAAA,CAAA;;QAKhC,MAAM,4BAFdJ,mBAKU,WAAA;AAAA;UAJP,OAAKC,eAAA,CAAGC,MAAA,GAAA,EAAI,KAAK,KAAK,QAAQA,MAAA,GAAA,EAAI,QAAQ,OAAO,KAAKA,MAAA,GAAA,EAAI,SAAS,GAAG,QAAQA,MAAA,GAAA,EAAI,QAAQ,CAAA;AAAA,QAAA,GAGxFE,gBAAA,MAAM,WAAW,GAAA,CAAA;QAGtBD,mBAoBU,WAAA;AAAA,UApBA,OAAKF,eAAA,CAAA,mBAAsBC,MAAA,GAAA,EAAI,QAAQ,MAAMA,MAAA,GAAA,EAAI,IAAI,SAASA,MAAA,GAAA,EAAI,KAAK,KAAK,IAAIA,MAAA,GAAA,EAAI,KAAK,OAAO,EAAE,CAAA;AAAA,QAAA;4BAC1GF,mBAkBEK,UAAA,MAAAC,WADkB,SAAA,OAAQ,CAAnB,YAAO;gCAjBhBN,mBAkBE,UAAA;AAAA,cAjBC,OAAKC,eAAA;AAAA;gBAA+CC,MAAA,GAAA,EAAI,GAAG,QAAQ;AAAA,gBAAmBA,MAAA,GAAA,EAAI,SAAS;AAAA,gBAAoBA,MAAA,GAAA,EAAI,SAAS,GAAG;AAAA,gBAAkBA,MAAA,GAAA,EAAI,KAAK,KAAK;AAAA,gBAAcA,MAAA,GAAA,EAAI,KAAK,OAAO;AAAA,gBAAcA,MAAA,GAAA,EAAI,KAAK,MAAM;AAAA,gBAAgBA,MAAA,GAAA,EAAI,OAAO,KAAK;AAAA,gBAAgB,YAAO,KAAA,CAAA,2BAAA;AAAA,gBAAmD,YAAY,SAAA,MAAS,UAAM,CAAA,0BAAA;AAAA,gBAA4C,WAAW,qBAAW,CAAKA,MAAA,GAAA,EAAI,GAAG,QAAQ,QAAQ;AAAA,cAAA;cAarc,KAAK;AAAA,cACL,SAAK,CAAA,WAAE,YAAY,OAAO;AAAA,cAC3B,MAAK;AAAA,YAAA;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./TideRealmLogo.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const TideRealmLogo = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dec575c7"]]);
5
+ export {
6
+ TideRealmLogo as default
7
+ };
8
+ //# sourceMappingURL=TideRealmLogo.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TideRealmLogo.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}