tide-design-system 2.5.13 → 2.5.14

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 (392) hide show
  1. package/dist/tide-design-system.d.ts +2742 -0
  2. package/dist/tide-design-system.js +2 -2
  3. package/package.json +13 -2
  4. package/.eslintrc.cjs +0 -119
  5. package/.github/workflows/publish-release.yml +0 -38
  6. package/.storybook/main.ts +0 -70
  7. package/.storybook/preview.ts +0 -256
  8. package/docs/assets/full-bleed.gif +0 -0
  9. package/docs/assets/layout-grid-default.webp +0 -0
  10. package/docs/assets/layout-grid-fluid.webp +0 -0
  11. package/docs/assets/layout-grid.webp +0 -0
  12. package/docs/assets/native-input-validation.png +0 -0
  13. package/docs/configuation.md +0 -47
  14. package/docs/development.md +0 -163
  15. package/docs/figma.md +0 -43
  16. package/docs/forms.md +0 -484
  17. package/docs/grid-layout.md +0 -83
  18. package/docs/images.md +0 -50
  19. package/docs/integration-full.md +0 -84
  20. package/docs/integration-partial.md +0 -39
  21. package/docs/migration.md +0 -74
  22. package/docs/storybook.md +0 -44
  23. package/docs/style-guide.md +0 -22
  24. package/docs/toast.md +0 -61
  25. package/docs/token-cheatsheet.md +0 -63
  26. package/docs/upgrading.md +0 -188
  27. package/docs/workflows.md +0 -20
  28. package/index.html +0 -14
  29. package/index.ts +0 -201
  30. package/netlify.toml +0 -3
  31. package/src/assets/css/fonts.css +0 -36
  32. package/src/assets/css/grid-layout.css +0 -34
  33. package/src/assets/css/main.css +0 -5
  34. package/src/assets/css/realm/aero.css +0 -25
  35. package/src/assets/css/realm/atv.css +0 -25
  36. package/src/assets/css/realm/boatmart.css +0 -25
  37. package/src/assets/css/realm/cycle.css +0 -24
  38. package/src/assets/css/realm/equipment.css +0 -25
  39. package/src/assets/css/realm/pwc.css +0 -25
  40. package/src/assets/css/realm/rv.css +0 -25
  41. package/src/assets/css/realm/snow.css +0 -25
  42. package/src/assets/css/realm/truck.css +0 -25
  43. package/src/assets/css/reset.css +0 -99
  44. package/src/assets/css/storybook.css +0 -18
  45. package/src/assets/css/utilities-base.css +0 -574
  46. package/src/assets/css/utilities-responsive.css +0 -2307
  47. package/src/assets/css/utilities.css +0 -16
  48. package/src/assets/css/variables.css +0 -223
  49. package/src/assets/svg/branding/logo/logo-aero.svg +0 -4
  50. package/src/assets/svg/branding/logo/logo-atv.svg +0 -6
  51. package/src/assets/svg/branding/logo/logo-boatmart.svg +0 -4
  52. package/src/assets/svg/branding/logo/logo-cycle.svg +0 -4
  53. package/src/assets/svg/branding/logo/logo-equipment.svg +0 -4
  54. package/src/assets/svg/branding/logo/logo-pwc.svg +0 -4
  55. package/src/assets/svg/branding/logo/logo-rv.svg +0 -6
  56. package/src/assets/svg/branding/logo/logo-snow.svg +0 -4
  57. package/src/assets/svg/branding/logo/logo-truck.svg +0 -5
  58. package/src/assets/svg/branding/mark/mark-aero.svg +0 -3
  59. package/src/assets/svg/branding/mark/mark-atv.svg +0 -4
  60. package/src/assets/svg/branding/mark/mark-boatmart.svg +0 -3
  61. package/src/assets/svg/branding/mark/mark-cycle.svg +0 -3
  62. package/src/assets/svg/branding/mark/mark-equipment.svg +0 -3
  63. package/src/assets/svg/branding/mark/mark-pwc.svg +0 -3
  64. package/src/assets/svg/branding/mark/mark-rv.svg +0 -4
  65. package/src/assets/svg/branding/mark/mark-snow.svg +0 -3
  66. package/src/assets/svg/branding/mark/mark-truck.svg +0 -4
  67. package/src/assets/svg/icons/IconAccountBalance.svg +0 -5
  68. package/src/assets/svg/icons/IconAcute.svg +0 -3
  69. package/src/assets/svg/icons/IconAdd.svg +0 -3
  70. package/src/assets/svg/icons/IconAiDescription.svg +0 -7
  71. package/src/assets/svg/icons/IconAlignSpaceEven.svg +0 -3
  72. package/src/assets/svg/icons/IconApplePay.svg +0 -5
  73. package/src/assets/svg/icons/IconArrowBack.svg +0 -3
  74. package/src/assets/svg/icons/IconArrowCycle.svg +0 -5
  75. package/src/assets/svg/icons/IconArrowForward.svg +0 -3
  76. package/src/assets/svg/icons/IconArrowRight.svg +0 -3
  77. package/src/assets/svg/icons/IconArrowUp.svg +0 -3
  78. package/src/assets/svg/icons/IconAssignment.svg +0 -3
  79. package/src/assets/svg/icons/IconAttachMoney.svg +0 -4
  80. package/src/assets/svg/icons/IconAutoRenew.svg +0 -3
  81. package/src/assets/svg/icons/IconAwardStar.svg +0 -5
  82. package/src/assets/svg/icons/IconBed.svg +0 -3
  83. package/src/assets/svg/icons/IconBolt.svg +0 -3
  84. package/src/assets/svg/icons/IconBookmark.svg +0 -5
  85. package/src/assets/svg/icons/IconBunkhouse.svg +0 -3
  86. package/src/assets/svg/icons/IconCalculate.svg +0 -3
  87. package/src/assets/svg/icons/IconCalendarMonth.svg +0 -5
  88. package/src/assets/svg/icons/IconCall.svg +0 -5
  89. package/src/assets/svg/icons/IconCallQuality.svg +0 -3
  90. package/src/assets/svg/icons/IconCarRental.svg +0 -3
  91. package/src/assets/svg/icons/IconCheck.svg +0 -3
  92. package/src/assets/svg/icons/IconChevronLeft.svg +0 -3
  93. package/src/assets/svg/icons/IconChevronRight.svg +0 -3
  94. package/src/assets/svg/icons/IconClear.svg +0 -3
  95. package/src/assets/svg/icons/IconClose.svg +0 -3
  96. package/src/assets/svg/icons/IconContract.svg +0 -3
  97. package/src/assets/svg/icons/IconCrash.svg +0 -3
  98. package/src/assets/svg/icons/IconDashboardCustomize.svg +0 -3
  99. package/src/assets/svg/icons/IconDelete.svg +0 -5
  100. package/src/assets/svg/icons/IconDiamond.svg +0 -5
  101. package/src/assets/svg/icons/IconDirectionsBoat.svg +0 -3
  102. package/src/assets/svg/icons/IconDomain.svg +0 -3
  103. package/src/assets/svg/icons/IconDraft.svg +0 -3
  104. package/src/assets/svg/icons/IconEdit.svg +0 -5
  105. package/src/assets/svg/icons/IconEngine.svg +0 -3
  106. package/src/assets/svg/icons/IconEngineering.svg +0 -3
  107. package/src/assets/svg/icons/IconError.svg +0 -5
  108. package/src/assets/svg/icons/IconExpandContent.svg +0 -3
  109. package/src/assets/svg/icons/IconExpandLess.svg +0 -3
  110. package/src/assets/svg/icons/IconExpandMore.svg +0 -3
  111. package/src/assets/svg/icons/IconFacebook.svg +0 -3
  112. package/src/assets/svg/icons/IconFavorite.svg +0 -5
  113. package/src/assets/svg/icons/IconFavoriteFilled.svg +0 -5
  114. package/src/assets/svg/icons/IconFlag.svg +0 -3
  115. package/src/assets/svg/icons/IconFormatBold.svg +0 -5
  116. package/src/assets/svg/icons/IconFormatItalic.svg +0 -3
  117. package/src/assets/svg/icons/IconFormatListBulleted.svg +0 -5
  118. package/src/assets/svg/icons/IconForum.svg +0 -5
  119. package/src/assets/svg/icons/IconGas.svg +0 -3
  120. package/src/assets/svg/icons/IconGavel.svg +0 -5
  121. package/src/assets/svg/icons/IconGears.svg +0 -3
  122. package/src/assets/svg/icons/IconGlobeLocationPin.svg +0 -3
  123. package/src/assets/svg/icons/IconGoogle.svg +0 -18
  124. package/src/assets/svg/icons/IconGooglePay.svg +0 -5
  125. package/src/assets/svg/icons/IconGrid.svg +0 -3
  126. package/src/assets/svg/icons/IconHandshake.svg +0 -3
  127. package/src/assets/svg/icons/IconHandyman.svg +0 -3
  128. package/src/assets/svg/icons/IconHeight.svg +0 -3
  129. package/src/assets/svg/icons/IconHelp.svg +0 -5
  130. package/src/assets/svg/icons/IconInfo.svg +0 -5
  131. package/src/assets/svg/icons/IconInformation.svg +0 -3
  132. package/src/assets/svg/icons/IconInsertText.svg +0 -5
  133. package/src/assets/svg/icons/IconInstagram.svg +0 -3
  134. package/src/assets/svg/icons/IconIosShare.svg +0 -5
  135. package/src/assets/svg/icons/IconLayout.svg +0 -3
  136. package/src/assets/svg/icons/IconLevellingJack.svg +0 -3
  137. package/src/assets/svg/icons/IconLinkedIn.svg +0 -3
  138. package/src/assets/svg/icons/IconLocalShipping.svg +0 -5
  139. package/src/assets/svg/icons/IconLock.svg +0 -5
  140. package/src/assets/svg/icons/IconMail.svg +0 -5
  141. package/src/assets/svg/icons/IconMenu.svg +0 -3
  142. package/src/assets/svg/icons/IconMoneyBag.svg +0 -3
  143. package/src/assets/svg/icons/IconMoreHoriz.svg +0 -5
  144. package/src/assets/svg/icons/IconMove.svg +0 -3
  145. package/src/assets/svg/icons/IconNotifications.svg +0 -5
  146. package/src/assets/svg/icons/IconOdometer.svg +0 -3
  147. package/src/assets/svg/icons/IconOpenInNew.svg +0 -5
  148. package/src/assets/svg/icons/IconPalette.svg +0 -5
  149. package/src/assets/svg/icons/IconPaypal.svg +0 -5
  150. package/src/assets/svg/icons/IconPerson.svg +0 -5
  151. package/src/assets/svg/icons/IconPersonSearch.svg +0 -3
  152. package/src/assets/svg/icons/IconPhotoCamera.svg +0 -5
  153. package/src/assets/svg/icons/IconPinterest.svg +0 -5
  154. package/src/assets/svg/icons/IconPlayArrow.svg +0 -3
  155. package/src/assets/svg/icons/IconPolicy.svg +0 -3
  156. package/src/assets/svg/icons/IconPower.svg +0 -3
  157. package/src/assets/svg/icons/IconPowerOff.svg +0 -3
  158. package/src/assets/svg/icons/IconPriorityHigh.svg +0 -3
  159. package/src/assets/svg/icons/IconRemove.svg +0 -3
  160. package/src/assets/svg/icons/IconRequestQuote.svg +0 -3
  161. package/src/assets/svg/icons/IconResetWrench.svg +0 -3
  162. package/src/assets/svg/icons/IconRoad.svg +0 -3
  163. package/src/assets/svg/icons/IconRoundedCorner.svg +0 -5
  164. package/src/assets/svg/icons/IconRuler.svg +0 -3
  165. package/src/assets/svg/icons/IconSailing.svg +0 -3
  166. package/src/assets/svg/icons/IconSchool.svg +0 -3
  167. package/src/assets/svg/icons/IconSearch.svg +0 -5
  168. package/src/assets/svg/icons/IconSeating.svg +0 -3
  169. package/src/assets/svg/icons/IconSell.svg +0 -5
  170. package/src/assets/svg/icons/IconSensors.svg +0 -3
  171. package/src/assets/svg/icons/IconSettings.svg +0 -3
  172. package/src/assets/svg/icons/IconShare.svg +0 -5
  173. package/src/assets/svg/icons/IconShieldCheck.svg +0 -3
  174. package/src/assets/svg/icons/IconShoppingCart.svg +0 -5
  175. package/src/assets/svg/icons/IconSleeps.svg +0 -3
  176. package/src/assets/svg/icons/IconSms.svg +0 -5
  177. package/src/assets/svg/icons/IconSnowflake.svg +0 -3
  178. package/src/assets/svg/icons/IconStar.svg +0 -5
  179. package/src/assets/svg/icons/IconStarFilled.svg +0 -3
  180. package/src/assets/svg/icons/IconStarHalf.svg +0 -3
  181. package/src/assets/svg/icons/IconSummarize.svg +0 -3
  182. package/src/assets/svg/icons/IconSwapHoriz.svg +0 -3
  183. package/src/assets/svg/icons/IconSwapVert.svg +0 -5
  184. package/src/assets/svg/icons/IconThreeDRotation.svg +0 -18
  185. package/src/assets/svg/icons/IconThumbUp.svg +0 -3
  186. package/src/assets/svg/icons/IconTrendingDown.svg +0 -5
  187. package/src/assets/svg/icons/IconTrophy.svg +0 -5
  188. package/src/assets/svg/icons/IconTune.svg +0 -5
  189. package/src/assets/svg/icons/IconTwitter.svg +0 -5
  190. package/src/assets/svg/icons/IconUmbrella.svg +0 -3
  191. package/src/assets/svg/icons/IconVerified.svg +0 -4
  192. package/src/assets/svg/icons/IconVideocam.svg +0 -5
  193. package/src/assets/svg/icons/IconViewInAr.svg +0 -5
  194. package/src/assets/svg/icons/IconVisibility.svg +0 -5
  195. package/src/assets/svg/icons/IconVolumeOff.svg +0 -5
  196. package/src/assets/svg/icons/IconVolumeOn.svg +0 -5
  197. package/src/assets/svg/icons/IconWarehouse.svg +0 -3
  198. package/src/assets/svg/icons/IconWarning.svg +0 -5
  199. package/src/assets/svg/icons/IconWater.svg +0 -3
  200. package/src/assets/svg/icons/IconWeight.svg +0 -3
  201. package/src/assets/svg/icons/IconWidth.svg +0 -3
  202. package/src/assets/svg/icons/IconWorkspacePremium.svg +0 -3
  203. package/src/assets/svg/icons/IconWrench.svg +0 -3
  204. package/src/assets/svg/icons/IconYoutube.svg +0 -5
  205. package/src/assets/svg/icons/realm/aero/IconAeroFlight.svg +0 -3
  206. package/src/assets/svg/icons/realm/aero/IconAeroHelicopter.svg +0 -3
  207. package/src/assets/svg/icons/realm/aero/IconAeroModeFan.svg +0 -3
  208. package/src/assets/svg/icons/realm/aero/IconAeroPlaneContrails.svg +0 -3
  209. package/src/assets/svg/icons/realm/atv/IconAtvAtv.svg +0 -3
  210. package/src/assets/svg/icons/realm/atv/IconAtvDuneBuggy.svg +0 -3
  211. package/src/assets/svg/icons/realm/atv/IconAtvGoKart.svg +0 -3
  212. package/src/assets/svg/icons/realm/atv/IconAtvGolfCart.svg +0 -3
  213. package/src/assets/svg/icons/realm/atv/IconAtvSandRail.svg +0 -3
  214. package/src/assets/svg/icons/realm/atv/IconAtvSideBySide.svg +0 -3
  215. package/src/assets/svg/icons/realm/atv/IconAtvTrailer.svg +0 -3
  216. package/src/assets/svg/icons/realm/boatmart/IconBoatmartPwc.svg +0 -3
  217. package/src/assets/svg/icons/realm/boatmart/IconBoatmartTrailer.svg +0 -3
  218. package/src/assets/svg/icons/realm/cycle/IconCycleMotorcycle.svg +0 -4
  219. package/src/assets/svg/icons/realm/cycle/IconCycleTrailer.svg +0 -3
  220. package/src/assets/svg/icons/realm/pwc/IconPwcPwc.svg +0 -3
  221. package/src/assets/svg/icons/realm/pwc/IconPwcSnowmobile.svg +0 -3
  222. package/src/assets/svg/icons/realm/pwc/IconPwcTrailer.svg +0 -3
  223. package/src/assets/svg/icons/realm/rv/IconRvClassA.svg +0 -3
  224. package/src/assets/svg/icons/realm/rv/IconRvClassB.svg +0 -3
  225. package/src/assets/svg/icons/realm/rv/IconRvClassC.svg +0 -3
  226. package/src/assets/svg/icons/realm/rv/IconRvDestinationTrailer.svg +0 -5
  227. package/src/assets/svg/icons/realm/rv/IconRvFifthWheel.svg +0 -3
  228. package/src/assets/svg/icons/realm/rv/IconRvFishHouse.svg +0 -3
  229. package/src/assets/svg/icons/realm/rv/IconRvParkModel.svg +0 -3
  230. package/src/assets/svg/icons/realm/rv/IconRvPopUpCamper.svg +0 -3
  231. package/src/assets/svg/icons/realm/rv/IconRvTeardropTrailer.svg +0 -4
  232. package/src/assets/svg/icons/realm/rv/IconRvTravelTrailer.svg +0 -3
  233. package/src/assets/svg/icons/realm/rv/IconRvTruckCamper.svg +0 -3
  234. package/src/assets/svg/icons/realm/snow/IconSnowMotorcycle.svg +0 -4
  235. package/src/assets/svg/icons/realm/snow/IconSnowPwc.svg +0 -3
  236. package/src/assets/svg/icons/realm/snow/IconSnowSideBySide.svg +0 -3
  237. package/src/assets/svg/icons/realm/snow/IconSnowSnowmobile.svg +0 -3
  238. package/src/assets/svg/icons/realm/snow/IconSnowTrailer.svg +0 -3
  239. package/src/components/InternalBaseLink.vue +0 -11
  240. package/src/components/TideAccordionItem.vue +0 -120
  241. package/src/components/TideAlert.vue +0 -186
  242. package/src/components/TideBadge.vue +0 -64
  243. package/src/components/TideBadgeTrustedPartner.vue +0 -52
  244. package/src/components/TideBadgeVerifiedVehicle.vue +0 -46
  245. package/src/components/TideBreadCrumbs.vue +0 -62
  246. package/src/components/TideButton.vue +0 -115
  247. package/src/components/TideButtonIcon.vue +0 -91
  248. package/src/components/TideButtonPagination.vue +0 -87
  249. package/src/components/TideButtonSave.vue +0 -109
  250. package/src/components/TideButtonSegmented.vue +0 -115
  251. package/src/components/TideCard.vue +0 -107
  252. package/src/components/TideCarousel.vue +0 -489
  253. package/src/components/TideChipAction.vue +0 -83
  254. package/src/components/TideChipFilter.vue +0 -71
  255. package/src/components/TideChipInput.vue +0 -54
  256. package/src/components/TideColumns.vue +0 -65
  257. package/src/components/TideDivider.vue +0 -43
  258. package/src/components/TideForm.vue +0 -33
  259. package/src/components/TideIcon.vue +0 -85
  260. package/src/components/TideImage.vue +0 -126
  261. package/src/components/TideImageBackground.vue +0 -69
  262. package/src/components/TideIndicator.vue +0 -63
  263. package/src/components/TideInputCheckbox.vue +0 -210
  264. package/src/components/TideInputCheckboxDeprecated.vue +0 -117
  265. package/src/components/TideInputRadio.vue +0 -115
  266. package/src/components/TideInputRadioDeprecated.vue +0 -119
  267. package/src/components/TideInputSelect.vue +0 -331
  268. package/src/components/TideInputSelectDeprecated.vue +0 -245
  269. package/src/components/TideInputSupportingText.vue +0 -44
  270. package/src/components/TideInputText.vue +0 -382
  271. package/src/components/TideInputTextDeprecated.vue +0 -327
  272. package/src/components/TideInputTextarea.vue +0 -235
  273. package/src/components/TideInputTextareaDeprecated.vue +0 -198
  274. package/src/components/TideLink.vue +0 -95
  275. package/src/components/TideMenuItem.vue +0 -83
  276. package/src/components/TideModal.vue +0 -281
  277. package/src/components/TidePagination.vue +0 -65
  278. package/src/components/TidePopover.vue +0 -198
  279. package/src/components/TideRating.vue +0 -109
  280. package/src/components/TideRealmLogo.vue +0 -154
  281. package/src/components/TideSeoLinks.vue +0 -59
  282. package/src/components/TideSheet.vue +0 -209
  283. package/src/components/TideSwitch.vue +0 -101
  284. package/src/components/TideTabs.vue +0 -63
  285. package/src/components/TideToaster.vue +0 -97
  286. package/src/composables/useTideConfig.ts +0 -23
  287. package/src/composables/useTideForm.ts +0 -25
  288. package/src/composables/useTideToaster.ts +0 -63
  289. package/src/contexts/sandbox/AppSandbox.vue +0 -7
  290. package/src/contexts/sandbox/app-sandbox.ts +0 -10
  291. package/src/stories/DemoCssUtilities.stories.ts +0 -154
  292. package/src/stories/DemoCssUtilitiesByTextInput.stories.ts +0 -61
  293. package/src/stories/FoundationsBorder.stories.ts +0 -272
  294. package/src/stories/FoundationsColor.stories.ts +0 -311
  295. package/src/stories/FoundationsFlexbox.stories.ts +0 -184
  296. package/src/stories/FoundationsGrid.stories.ts +0 -126
  297. package/src/stories/FoundationsMargin.stories.ts +0 -155
  298. package/src/stories/FoundationsPadding.stories.ts +0 -108
  299. package/src/stories/FoundationsShadow.stories.ts +0 -103
  300. package/src/stories/FoundationsTransparency.stories.ts +0 -114
  301. package/src/stories/FoundationsTypography.stories.ts +0 -212
  302. package/src/stories/Template.stories.ts +0 -73
  303. package/src/stories/TideAccordionItem.stories.ts +0 -91
  304. package/src/stories/TideAlert.stories.ts +0 -133
  305. package/src/stories/TideBadge.stories.ts +0 -90
  306. package/src/stories/TideBadgeTrustedPartner.stories.ts +0 -34
  307. package/src/stories/TideBadgeVerifiedVehicle.stories.ts +0 -22
  308. package/src/stories/TideBreadCrumbs.stories.ts +0 -42
  309. package/src/stories/TideButton.stories.ts +0 -132
  310. package/src/stories/TideButtonIcon.stories.ts +0 -109
  311. package/src/stories/TideButtonPagination.stories.ts +0 -99
  312. package/src/stories/TideButtonSave.stories.ts +0 -62
  313. package/src/stories/TideButtonSegmented.stories.ts +0 -110
  314. package/src/stories/TideCard.stories.ts +0 -102
  315. package/src/stories/TideCarousel.stories.ts +0 -219
  316. package/src/stories/TideChipAction.stories.ts +0 -81
  317. package/src/stories/TideChipFilter.stories.ts +0 -84
  318. package/src/stories/TideChipInput.stories.ts +0 -56
  319. package/src/stories/TideColumns.stories.ts +0 -89
  320. package/src/stories/TideDivider.stories.ts +0 -48
  321. package/src/stories/TideIcon.stories.ts +0 -31
  322. package/src/stories/TideImage.stories.ts +0 -124
  323. package/src/stories/TideImageBackground.stories.ts +0 -114
  324. package/src/stories/TideIndicator.stories.ts +0 -32
  325. package/src/stories/TideInputCheckbox.stories.ts +0 -138
  326. package/src/stories/TideInputRadio.stories.ts +0 -100
  327. package/src/stories/TideInputSelect.stories.ts +0 -244
  328. package/src/stories/TideInputText.stories.ts +0 -221
  329. package/src/stories/TideInputTextarea.stories.ts +0 -156
  330. package/src/stories/TideLink.stories.ts +0 -127
  331. package/src/stories/TideMenuItem.stories.ts +0 -117
  332. package/src/stories/TideModal.stories.ts +0 -219
  333. package/src/stories/TidePagination.stories.ts +0 -100
  334. package/src/stories/TidePopover.stories.ts +0 -101
  335. package/src/stories/TideRating.stories.ts +0 -114
  336. package/src/stories/TideRealmLogo.stories.ts +0 -93
  337. package/src/stories/TideSeoLinks.stories.ts +0 -68
  338. package/src/stories/TideSheet.stories.ts +0 -152
  339. package/src/stories/TideSwitch.stories.ts +0 -72
  340. package/src/stories/TideTabs.stories.ts +0 -114
  341. package/src/stories/TideToaster.stories.ts +0 -117
  342. package/src/stories/Welcome.mdx +0 -17
  343. package/src/types/Alert.ts +0 -8
  344. package/src/types/Badge.ts +0 -76
  345. package/src/types/BreadCrumb.ts +0 -5
  346. package/src/types/Breakpoint.ts +0 -18
  347. package/src/types/Card.ts +0 -7
  348. package/src/types/Element.ts +0 -13
  349. package/src/types/FieldDeprecated.ts +0 -92
  350. package/src/types/Form.ts +0 -1
  351. package/src/types/FormDeprecated.ts +0 -91
  352. package/src/types/Formatted.ts +0 -23
  353. package/src/types/Icon.ts +0 -202
  354. package/src/types/Image.ts +0 -7
  355. package/src/types/Link.ts +0 -5
  356. package/src/types/Orientation.ts +0 -6
  357. package/src/types/Priority.ts +0 -11
  358. package/src/types/Realm.ts +0 -14
  359. package/src/types/RealmLogo.ts +0 -23
  360. package/src/types/Select.ts +0 -9
  361. package/src/types/Size.ts +0 -13
  362. package/src/types/Source.ts +0 -6
  363. package/src/types/Storybook.ts +0 -253
  364. package/src/types/Styles.ts +0 -526
  365. package/src/types/Tab.ts +0 -5
  366. package/src/types/Target.ts +0 -6
  367. package/src/types/TextInput.ts +0 -28
  368. package/src/types/Toast.ts +0 -21
  369. package/src/types/Type.ts +0 -6
  370. package/src/types/Validation.ts +0 -33
  371. package/src/types/ValidationDeprecated.ts +0 -41
  372. package/src/utilities/event.ts +0 -4
  373. package/src/utilities/format.ts +0 -184
  374. package/src/utilities/forms.ts +0 -22
  375. package/src/utilities/realm.ts +0 -17
  376. package/src/utilities/storybook.ts +0 -354
  377. package/src/utilities/validation-deprecated.ts +0 -252
  378. package/src/utilities/validation.ts +0 -132
  379. package/src/utilities/viewport.ts +0 -63
  380. package/tests/InternalBaseLink.spec.ts +0 -61
  381. package/tests/TideRealmLogo.spec.ts +0 -58
  382. package/tests/svg-icons.spec.ts +0 -74
  383. package/tests/utilities-format.spec.ts +0 -470
  384. package/tests/utilities-storybook.spec.ts +0 -99
  385. package/tsconfig.app.json +0 -14
  386. package/tsconfig.config.json +0 -12
  387. package/tsconfig.json +0 -35
  388. package/tsconfig.node.json +0 -7
  389. package/tsconfig.vitest.json +0 -10
  390. package/vite-env.d.ts +0 -2
  391. package/vite.config.sandbox.ts +0 -29
  392. package/vite.config.ts +0 -37
@@ -1,65 +0,0 @@
1
- <script lang="ts" setup>
2
- import { computed } from 'vue';
3
-
4
- import TideButtonIcon from '@/components/TideButtonIcon.vue';
5
- import TideButtonPagination from '@/components/TideButtonPagination.vue';
6
- import { ICON } from '@/types/Icon';
7
- import { PRIORITY } from '@/types/Priority';
8
- import { CSS } from '@/types/Styles';
9
-
10
- type Props = {
11
- pageTotal: number;
12
- };
13
-
14
- const props = defineProps<Props>();
15
-
16
- const currentIndex = defineModel<number>({ required: true });
17
-
18
- const paginationButtons = computed(() => new Array(props.pageTotal).fill('').map((empty, index) => index + 1));
19
-
20
- const handleClick = (index: number) => {
21
- currentIndex.value = index;
22
- };
23
-
24
- const handlePreviousClick = () => {
25
- currentIndex.value--;
26
- };
27
-
28
- const handleNextClick = () => {
29
- currentIndex.value++;
30
- };
31
- </script>
32
-
33
- <template>
34
- <section
35
- :class="['tide-pagination', CSS.DISPLAY.FLEX, CSS.AXIS1.CENTER, CSS.AXIS2.CENTER, CSS.GAP.QUARTER, CSS.WIDTH.FULL]"
36
- >
37
- <TideButtonIcon
38
- :disabled="currentIndex <= 1"
39
- :icon="ICON.CHEVRON_LEFT"
40
- :priority="PRIORITY.QUATERNARY"
41
- @click="handlePreviousClick"
42
- />
43
-
44
- <ul :class="[CSS.DISPLAY.FLEX, CSS.AXIS2.CENTER, CSS.GAP.QUARTER, CSS.LIST_BULLETS.OFF]">
45
- <li
46
- :key="paginationButton"
47
- v-for="paginationButton in paginationButtons"
48
- >
49
- <TideButtonPagination
50
- :disabled="currentIndex === paginationButton"
51
- :label="paginationButton"
52
- :priority="PRIORITY.QUATERNARY"
53
- @click="handleClick(paginationButton)"
54
- />
55
- </li>
56
- </ul>
57
-
58
- <TideButtonIcon
59
- :disabled="currentIndex >= paginationButtons[paginationButtons.length - 1]"
60
- :icon="ICON.CHEVRON_RIGHT"
61
- :priority="PRIORITY.QUATERNARY"
62
- @click="handleNextClick"
63
- />
64
- </section>
65
- </template>
@@ -1,198 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a popover intended to be used for displaying additional information.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidepopover--docs) for TidePopover
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script lang="ts" setup>
11
- import { autoPlacement, autoUpdate, offset as offsetMiddleware, shift, useFloating } from '@floating-ui/vue';
12
- import { computed, onBeforeMount, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue';
13
-
14
- import { CSS } from '@/types/Styles';
15
- import { isClickOutside } from '@/utilities/event';
16
- import { TOP_LAYER_ID, initFauxTopLayer } from '@/utilities/viewport';
17
-
18
- import type { Ref } from 'vue';
19
-
20
- type Props = {
21
- /** Determines the HTML node over which the Popover will appear */
22
- anchorId: string;
23
-
24
- /** Determines spacing between Popover and anchor node */
25
- offset?: number;
26
- };
27
-
28
- const props = withDefaults(defineProps<Props>(), {
29
- offset: 16,
30
- });
31
-
32
- const anchor: Ref<HTMLElement | null> = ref(null);
33
- const floating: Ref<HTMLElement | null> = ref(null);
34
- const root: Ref<HTMLElement | null> = ref(null);
35
- const isHovered = ref(false);
36
- const isToggledOpen = ref(false);
37
- const isTouchDevice = ref(false);
38
- const middleware = ref([autoPlacement(), offsetMiddleware({ mainAxis: props.offset }), shift({ padding: 16 })]);
39
-
40
- const isShowPopover = computed(() => isHovered.value || isToggledOpen.value);
41
-
42
- const { floatingStyles } = useFloating(anchor, floating, {
43
- middleware,
44
- strategy: 'fixed',
45
- whileElementsMounted: autoUpdate,
46
- });
47
-
48
- const handlePermanentOpenBodyClick = (e: MouseEvent) => {
49
- if (!anchor.value || !floating.value) return;
50
- if (isClickOutside(e, [anchor.value, floating.value])) {
51
- isToggledOpen.value = false;
52
- e.preventDefault();
53
- e.stopImmediatePropagation();
54
- }
55
- };
56
-
57
- const handleAnchorElementMouseOver = () => {
58
- if (isTouchDevice.value) return;
59
- isHovered.value = true;
60
- };
61
-
62
- const handleAnchorElementMouseLeave = () => {
63
- if (isTouchDevice.value) return;
64
- isHovered.value = false;
65
- };
66
-
67
- const handleAnchorElementTouchStart = () => {
68
- isTouchDevice.value = true;
69
- };
70
-
71
- const handleAnchorElementClick = (e: MouseEvent) => {
72
- e.preventDefault();
73
- if (isToggledOpen.value) {
74
- isToggledOpen.value = false;
75
- isHovered.value = false;
76
- } else {
77
- isToggledOpen.value = true;
78
- }
79
- };
80
-
81
- const addListenersToAnchorElement = () => {
82
- if (!anchor.value) return null;
83
- anchor.value.addEventListener('touchstart', handleAnchorElementTouchStart, { passive: true });
84
- anchor.value.addEventListener('mouseover', handleAnchorElementMouseOver);
85
- anchor.value.addEventListener('mouseleave', handleAnchorElementMouseLeave);
86
- anchor.value.addEventListener('click', handleAnchorElementClick);
87
- };
88
-
89
- const removeListenersFromAnchorElement = () => {
90
- if (!anchor.value) return null;
91
- anchor.value.removeEventListener('touchstart', handleAnchorElementTouchStart);
92
- anchor.value.removeEventListener('mouseover', handleAnchorElementMouseOver);
93
- anchor.value.removeEventListener('mouseleave', handleAnchorElementMouseLeave);
94
- anchor.value.removeEventListener('click', handleAnchorElementClick);
95
- };
96
-
97
- const handlePermanentOpenBodyKeydown = (e: KeyboardEvent) => {
98
- if (e.key === 'Escape') {
99
- isToggledOpen.value = false;
100
- }
101
- };
102
-
103
- const addOpenListenersToRoot = () => {
104
- if (!root.value) return;
105
- root.value.addEventListener('click', handlePermanentOpenBodyClick, true);
106
- root.value.addEventListener('keydown', handlePermanentOpenBodyKeydown);
107
- };
108
-
109
- const removeOpenListenersFromRoot = () => {
110
- if (!root.value) return;
111
- root.value.removeEventListener('click', handlePermanentOpenBodyClick, true);
112
- root.value.removeEventListener('keydown', handlePermanentOpenBodyKeydown);
113
- };
114
-
115
- const updateAnchorElement = () => {
116
- anchor.value = document.getElementById(props.anchorId);
117
- };
118
-
119
- watch(
120
- () => isToggledOpen.value,
121
- (newValue) => {
122
- if (newValue) {
123
- addOpenListenersToRoot();
124
- } else {
125
- removeOpenListenersFromRoot();
126
- }
127
- }
128
- );
129
-
130
- watch(
131
- () => props.anchorId,
132
- () => {
133
- removeListenersFromAnchorElement();
134
- updateAnchorElement();
135
- addListenersToAnchorElement();
136
- }
137
- );
138
-
139
- watchEffect(() => {
140
- middleware.value = [autoPlacement(), offsetMiddleware({ mainAxis: props.offset }), shift({ padding: 16 })];
141
- });
142
-
143
- onBeforeMount(() => {
144
- initFauxTopLayer();
145
- });
146
-
147
- onMounted(() => {
148
- updateAnchorElement();
149
- root.value = document.documentElement;
150
- addListenersToAnchorElement();
151
- });
152
-
153
- onUnmounted(() => {
154
- removeListenersFromAnchorElement();
155
- });
156
- </script>
157
-
158
- <template>
159
- <Teleport :to="`#${TOP_LAYER_ID}`">
160
- <Transition>
161
- <div
162
- :class="[
163
- 'tide-popover',
164
- CSS.BG.SURFACE.DEFAULT,
165
- CSS.BORDER.COLOR.LOW,
166
- CSS.BORDER.FULL.ONE,
167
- CSS.BORDER.RADIUS.HALF,
168
- CSS.FONT.ROLE.BODY_2,
169
- CSS.PADDING.FULL.ONE,
170
- CSS.SHADOW.BOTTOM,
171
- ]"
172
- ref="floating"
173
- :style="{ ...floatingStyles }"
174
- v-show="isShowPopover"
175
- >
176
- <slot />
177
- </div>
178
- </Transition>
179
- </Teleport>
180
- </template>
181
-
182
- <style scoped>
183
- .tide-popover {
184
- max-width: 256px;
185
- }
186
- .v-enter-from,
187
- .v-leave-to {
188
- opacity: 0;
189
- }
190
- .v-enter-active,
191
- .v-leave-active {
192
- transition: opacity var(--tide-animate);
193
- }
194
- .v-enter-to,
195
- .v-leave-from {
196
- opacity: 1;
197
- }
198
- </style>
@@ -1,109 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a rating component intended to be used for displaying and selecting a rating.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tiderating--docs) for TideRating
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script lang="ts" setup>
11
- import { computed } from 'vue';
12
-
13
- import { CSS } from '@/types/Styles';
14
-
15
- type Props = {
16
- /** Determines the text displayed below the title */
17
- description?: string;
18
-
19
- /** Maximum rating value / Number of segments */
20
- maxRating?: number;
21
-
22
- /** Determines whether to display the current rating value */
23
- showRating?: boolean;
24
-
25
- /** Determines the title text displayed above the rating component */
26
- title?: string;
27
- };
28
-
29
- const props = withDefaults(defineProps<Props>(), {
30
- description: undefined,
31
- maxRating: 10,
32
- showRating: false,
33
- title: undefined,
34
- });
35
-
36
- const ratingValue = defineModel<number>({ required: true });
37
-
38
- const segments = computed(() => Array.from({ length: props.maxRating }, (_, index) => index + 1));
39
-
40
- const handleClick = (segment: number) => {
41
- ratingValue.value = segment;
42
- };
43
- </script>
44
-
45
- <template>
46
- <div :class="['tide-rating', CSS.WIDTH.FULL]">
47
- <section :class="[CSS.DISPLAY.FLEX, CSS.AXIS2.CENTER, CSS.AXIS1.BETWEEN, CSS.PADDING.BOTTOM.HALF]">
48
- <div :class="[CSS.FONT.ROLE.LABEL_2]">
49
- {{ props.title }}
50
- </div>
51
- <div
52
- :class="[CSS.FONT.ROLE.LABEL_3, CSS.FONT.COLOR.SURFACE.VARIANT]"
53
- v-if="props.showRating"
54
- >
55
- {{ ratingValue }}/{{ props.maxRating }}
56
- </div>
57
- </section>
58
- <section
59
- :class="[CSS.FONT.ROLE.BODY_2, CSS.PADDING.BOTTOM.ONE, CSS.OVERFLOW.XY.HIDDEN, CSS.ELLIPSIS]"
60
- v-if="props.description"
61
- >
62
- {{ props.description }}
63
- </section>
64
-
65
- <section :class="['tide-rating-bar', CSS.DISPLAY.FLEX, CSS.GAP.QUARTER, CSS.FLEX.GROW.ON, CSS.FLEX.SHRINK.ON]">
66
- <button
67
- :class="[
68
- 'tide-rating-segment',
69
- CSS.BG.SURFACE.VARIANT,
70
- CSS.POSITION.RELATIVE,
71
- CSS.OVERFLOW.XY.HIDDEN,
72
- CSS.FLEX.GROW.ON,
73
- CSS.FLEX.SHRINK.ON,
74
- CSS.FLEX.BASIS.ZERO,
75
- CSS.BORDER.FULL.ZERO,
76
- segment === 1 && ['tide-rating-segment-first'],
77
- segment === segments.length && ['tide-rating-segment-last'],
78
- segment <= ratingValue && [CSS.BG.SURFACE.GRADIENT],
79
- ]"
80
- :key="segment"
81
- @click="handleClick(segment)"
82
- type="button"
83
- v-for="segment in segments"
84
- />
85
- </section>
86
- </div>
87
- </template>
88
-
89
- <style scoped>
90
- .tide-rating-bar {
91
- height: 28px;
92
- }
93
-
94
- .tide-rating-segment {
95
- clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
96
- }
97
-
98
- .tide-rating-segment-first {
99
- border-top-left-radius: 9999px;
100
- border-bottom-left-radius: 9999px;
101
- clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
102
- }
103
-
104
- .tide-rating-segment-last {
105
- border-top-right-radius: 9999px;
106
- border-bottom-right-radius: 9999px;
107
- clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
108
- }
109
- </style>
@@ -1,154 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a realm logo component intended to be used for displaying a realm's logo.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tiderealmlogo--docs) for TideRealmLogo
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script setup lang="ts">
11
- import { computed, defineAsyncComponent, markRaw, ref, watch } from 'vue';
12
-
13
- import { LOGO_HEIGHT, LOGO_WIDTH_LARGE } from '@/types/RealmLogo';
14
- import { CSS } from '@/types/Styles';
15
- import { getRealmKeyFromRealm } from '@/utilities/realm';
16
-
17
- import type { Realm } from '@/types/Realm';
18
- import type { Component } from 'vue';
19
-
20
- type Props = {
21
- /** Determines whether to include text in the logo */
22
- markOnly?: boolean;
23
-
24
- /** Sets the realm for this logo instance */
25
- realm: Realm;
26
- };
27
- const props = withDefaults(defineProps<Props>(), {
28
- markOnly: false,
29
- });
30
-
31
- const innerSVG = ref<Component>();
32
-
33
- type CssLengthPixels = `${number}px`;
34
- type LogoSize = {
35
- height: CssLengthPixels;
36
- width: CssLengthPixels;
37
- };
38
-
39
- const logoFull = computed<LogoSize>(() => ({
40
- height: `${LOGO_HEIGHT.LARGE}px`,
41
- width: `${LOGO_WIDTH_LARGE[getRealmKeyFromRealm(props.realm)]}px`,
42
- }));
43
-
44
- const logoSmall = computed<LogoSize>(() => {
45
- const shrinkFactor = LOGO_HEIGHT.SMALL / LOGO_HEIGHT.LARGE;
46
- return {
47
- height: `${LOGO_HEIGHT.SMALL}px`,
48
- width: `${Math.round(LOGO_WIDTH_LARGE[getRealmKeyFromRealm(props.realm)] * shrinkFactor)}px`,
49
- };
50
- });
51
-
52
- const logoMark: LogoSize = {
53
- height: '32px',
54
- width: '32px',
55
- } as const;
56
-
57
- watch(
58
- () => [props.markOnly, props.realm],
59
- async () => {
60
- const component = defineAsyncComponent(() => {
61
- if (props.markOnly) return import(`../assets/svg/branding/mark/mark-${props.realm}.svg?component`);
62
- else return import(`../assets/svg/branding/logo/logo-${props.realm}.svg?component`);
63
- });
64
- innerSVG.value = markRaw(component);
65
- },
66
- { immediate: true }
67
- );
68
- </script>
69
-
70
- <template>
71
- <div
72
- :class="['tide-realm-logo', props.markOnly ? 'mark' : 'full']"
73
- :style="{
74
- '--logo-height-full': logoFull.height,
75
- '--logo-height-mark': logoMark.height,
76
- '--logo-height-small': logoSmall.height,
77
- '--logo-width-full': logoFull.width,
78
- '--logo-width-mark': logoMark.width,
79
- '--logo-width-small': logoSmall.width,
80
- }"
81
- >
82
- <Component
83
- :class="[CSS.DISPLAY.BLOCK]"
84
- :is="innerSVG"
85
- v-if="innerSVG"
86
- />
87
- </div>
88
- </template>
89
-
90
- <style scoped>
91
- .tide-realm-logo,
92
- .tide-realm-logo.large {
93
- width: var(--logo-width-full);
94
- height: var(--logo-height-full);
95
- }
96
-
97
- .tide-realm-logo.small {
98
- width: var(--logo-width-small);
99
- height: var(--logo-height-small);
100
- }
101
-
102
- .tide-realm-logo.mark {
103
- width: var(--logo-width-mark);
104
- height: var(--logo-height-mark);
105
- }
106
-
107
- @media (min-width: 768px) {
108
- .tide-realm-logo.sm-small {
109
- width: var(--logo-width-small);
110
- height: var(--logo-height-small);
111
- }
112
-
113
- .tide-realm-logo.sm-large {
114
- width: var(--logo-width-full);
115
- height: var(--logo-height-full);
116
- }
117
- }
118
-
119
- @media (min-width: 992px) {
120
- .tide-realm-logo.md-small {
121
- width: var(--logo-width-small);
122
- height: var(--logo-height-small);
123
- }
124
-
125
- .tide-realm-logo.md-large {
126
- width: var(--logo-width-full);
127
- height: var(--logo-height-full);
128
- }
129
- }
130
-
131
- @media (min-width: 1232px) {
132
- .tide-realm-logo.lg-small {
133
- width: var(--logo-width-small);
134
- height: var(--logo-height-small);
135
- }
136
-
137
- .tide-realm-logo.lg-large {
138
- width: var(--logo-width-full);
139
- height: var(--logo-height-full);
140
- }
141
- }
142
-
143
- @media (min-width: 1920px) {
144
- .tide-realm-logo.xl-small {
145
- width: var(--logo-width-small);
146
- height: var(--logo-height-small);
147
- }
148
-
149
- .tide-realm-logo.xl-large {
150
- width: var(--logo-width-full);
151
- height: var(--logo-height-full);
152
- }
153
- }
154
- </style>
@@ -1,59 +0,0 @@
1
- <script lang="ts" setup>
2
- import InternalBaseLink from '@/components/InternalBaseLink.vue';
3
- import { CSS } from '@/types/Styles';
4
- import { TARGET } from '@/types/Target';
5
-
6
- import type { Link } from '@/types/Link';
7
-
8
- type Props = {
9
- heading?: string;
10
- links: Link[];
11
- };
12
-
13
- const props = withDefaults(defineProps<Props>(), {
14
- heading: '',
15
- });
16
- </script>
17
-
18
- <template>
19
- <section class="tide-seo-links">
20
- <h2 :class="[CSS.MARGIN.BOTTOM.HALF]">
21
- {{ props.heading }}
22
- </h2>
23
-
24
- <ul :class="[CSS.DISPLAY.FLEX, CSS.FLEX.WRAP, CSS.GAP.TWO, CSS.LIST_BULLETS.OFF]">
25
- <li
26
- :class="['tide-seo-link', CSS.DISPLAY.FLEX, CSS.FLEX.DIRECTION.COLUMN, CSS.GAP.QUARTER, CSS.FONT.ROLE.BODY_2]"
27
- :key="link.label"
28
- v-for="link in props.links"
29
- >
30
- <InternalBaseLink
31
- :class="[CSS.UNDERLINE.REST.OFF]"
32
- :href="link.url"
33
- :target="link.isNewTab ? TARGET.BLANK : TARGET.SELF"
34
- >
35
- {{ link.label }}
36
- </InternalBaseLink>
37
- </li>
38
- </ul>
39
- </section>
40
- </template>
41
-
42
- <style scoped>
43
- /* TODO: Refactor to accept breakpoint prop in order to accomplish this with neither custom breakpoints nor dependency on ViewportStore. */
44
- .tide-seo-link {
45
- width: 100%;
46
- }
47
-
48
- @media (min-width: 992px) {
49
- .tide-seo-link {
50
- width: calc((100% - 2rem) / 2);
51
- }
52
- }
53
-
54
- @media (min-width: 1232px) {
55
- .tide-seo-link {
56
- width: calc((100% - 6rem) / 4);
57
- }
58
- }
59
- </style>