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,198 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * @deprecated Use `TideInputTextarea.vue` imported from 'tide-design-system' npm package instead.
4
- */
5
- export default {};
6
- </script>
7
-
8
- <script lang="ts" setup>
9
- import { computed, ref, watch } from 'vue';
10
-
11
- import TideIcon from '@/components/TideIcon.vue';
12
- import { ICON } from '@/types/Icon';
13
- import { SIZE } from '@/types/Size';
14
- import { CSS } from '@/types/Styles';
15
- import { getErrorMessage, getFieldHasError, handleFieldValidation } from '@/utilities/validation-deprecated';
16
-
17
- import type { ValidationError } from '@/types/ValidationDeprecated';
18
-
19
- type Props = {
20
- error?: ValidationError;
21
- inputId?: string;
22
- label?: string;
23
- maxlength?: number | undefined;
24
- minlength?: number | undefined;
25
- name?: string;
26
- required?: boolean;
27
- rows?: number;
28
- supportingText?: string;
29
- value?: string;
30
- };
31
-
32
- const props = withDefaults(defineProps<Props>(), {
33
- error: false,
34
- inputId: undefined,
35
- label: undefined,
36
- maxlength: undefined,
37
- minlength: undefined,
38
- name: undefined,
39
- required: false,
40
- rows: 8,
41
- supportingText: undefined,
42
- value: undefined,
43
- });
44
-
45
- const error = ref(props.error);
46
- const hasFocus = ref(false);
47
- const input = ref<HTMLInputElement | null>(null);
48
- const value = ref(props.value);
49
-
50
- const errorMessage = computed(() => getErrorMessage(props.error, error.value));
51
- const formattedLabel = computed(() => (props.required ? `${props.label} *` : props.label));
52
- const hasError = computed(
53
- () => (props.required && value.value !== undefined && !value.value) || getFieldHasError(error.value, props.error)
54
- );
55
- const hasMinilabel = computed(() => hasFocus.value || !isEmpty.value);
56
- const isEmpty = computed(() => value.value === '' || value.value === undefined);
57
-
58
- const handleFocus = () => {
59
- hasFocus.value = true;
60
- };
61
-
62
- const handleFocusOut = () => {
63
- hasFocus.value = false;
64
-
65
- if (!value.value) {
66
- value.value = '';
67
- }
68
- };
69
-
70
- const handleValidation = () => {
71
- return handleFieldValidation({
72
- error,
73
- errorFromProps: props.error,
74
- maxlength: props.maxlength,
75
- minlength: props.minlength,
76
- required: props.required,
77
- value,
78
- });
79
- };
80
-
81
- watch(
82
- () => props.value,
83
- (newValue, oldValue) => {
84
- if (newValue !== oldValue || newValue !== value.value) {
85
- value.value = newValue;
86
- }
87
- }
88
- );
89
-
90
- defineExpose({
91
- error,
92
- required: props.required,
93
- value,
94
- });
95
- </script>
96
-
97
- <template>
98
- <div
99
- :class="['tide-input-textarea', CSS.DISPLAY.FLEX, CSS.FLEX.DIRECTION.COLUMN, CSS.GAP.QUARTER, hasError && 'error']"
100
- >
101
- <label
102
- :class="[
103
- 'tide-input-textarea-field',
104
- CSS.GAP.HALF,
105
- CSS.POSITION.RELATIVE,
106
- CSS.BORDER.RADIUS.HALF,
107
- CSS.PADDING.LEFT.ONE,
108
- CSS.PADDING.TOP.HALF,
109
- CSS.OVERFLOW.XY.HIDDEN,
110
- CSS.BG.SURFACE.DEFAULT,
111
- CSS.CURSOR.TEXT,
112
- ]"
113
- :for="inputId"
114
- >
115
- <div
116
- :class="[
117
- 'tide-input-textarea-label',
118
- hasMinilabel ? ['minilabel', CSS.FONT.ROLE.LABEL_3] : CSS.FONT.ROLE.LABEL_1,
119
- !hasError && CSS.FONT.COLOR.SURFACE.VARIANT,
120
- CSS.POINTER_EVENTS.OFF,
121
- ]"
122
- v-if="label"
123
- >
124
- {{ formattedLabel }}
125
- </div>
126
-
127
- <textarea
128
- :class="[CSS.DISPLAY.BLOCK, CSS.WIDTH.FULL, CSS.FONT.ROLE.BODY_1]"
129
- :maxlength="maxlength"
130
- :minlength="minlength"
131
- :name="name"
132
- ref="input"
133
- :required="required"
134
- :rows="rows"
135
- @change="handleValidation"
136
- @focus="handleFocus"
137
- @focusout="handleFocusOut"
138
- :id="inputId"
139
- v-model="value"
140
- />
141
- </label>
142
-
143
- <div
144
- :class="[CSS.DISPLAY.FLEX, CSS.AXIS2.CENTER, CSS.GAP.QUARTER]"
145
- v-if="supportingText || hasError"
146
- >
147
- <TideIcon
148
- :icon="ICON.ERROR"
149
- :size="SIZE.SMALL"
150
- v-if="hasError"
151
- />
152
-
153
- <div :class="[CSS.FONT.ROLE.LABEL_3]">
154
- {{ hasError ? errorMessage : supportingText }}
155
- </div>
156
- </div>
157
- </div>
158
- </template>
159
-
160
- <style scoped>
161
- textarea {
162
- resize: vertical;
163
- }
164
-
165
- .tide-input-textarea-label {
166
- height: 1.1875rem;
167
- transition: font-size var(--tide-animate), transform var(--tide-animate);
168
- }
169
-
170
- .tide-input-textarea.error {
171
- color: var(--tide-error-primary);
172
- }
173
-
174
- .tide-input-textarea.error .tide-input-textarea-field {
175
- outline-color: var(--tide-error-border);
176
- background-color: var(--tide-error-surface);
177
- }
178
-
179
- .tide-input-textarea.error:focus-within .tide-input-textarea-field {
180
- outline-color: var(--tide-error-border);
181
- }
182
-
183
- .tide-input-textarea:focus-within .tide-input-textarea-field {
184
- --tide-input-outline-width: var(--tide-border-width-2);
185
- outline-color: var(--tide-border-high);
186
- }
187
-
188
- .tide-input-textarea textarea {
189
- outline: none;
190
- }
191
-
192
- .tide-input-textarea-field {
193
- --tide-input-outline-width: var(--tide-border-width-1);
194
- outline: var(--tide-input-outline-width) solid var(--tide-border);
195
- outline-offset: calc(var(--tide-input-outline-width) * -1);
196
- color: var(--tide-on-surface);
197
- }
198
- </style>
@@ -1,95 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a link element.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidelink--docs) for TideLink
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script lang="ts" setup>
11
- import { computed } from 'vue';
12
-
13
- import InternalBaseLink from '@/components/InternalBaseLink.vue';
14
- import TideIcon from '@/components/TideIcon.vue';
15
- import { ELEMENT } from '@/types/Element';
16
- import { SIZE } from '@/types/Size';
17
- import { CSS } from '@/types/Styles';
18
- import { TARGET } from '@/types/Target';
19
-
20
- import type { Element } from '@/types/Element';
21
- import type { Icon } from '@/types/Icon';
22
- import type { Size } from '@/types/Size';
23
-
24
- type Props = {
25
- /** HTML tag type */
26
- element?: Element;
27
-
28
- /** URL to open (Link only) */
29
- href?: string;
30
-
31
- /** Icon to left of label */
32
- iconLeading?: Icon;
33
-
34
- /** Size of the icons */
35
- iconSize?: Size;
36
-
37
- /** Icon to right of label */
38
- iconTrailing?: Icon;
39
-
40
- /** Determines whether to target a new browser tab (Link only) */
41
- isNewTab?: boolean;
42
-
43
- /** Link text */
44
- label: string;
45
-
46
- /** Hides the underline until hovered, de-emphasizing the link */
47
- subtle?: boolean;
48
- };
49
-
50
- const props = withDefaults(defineProps<Props>(), {
51
- element: ELEMENT.LINK,
52
- href: undefined,
53
- iconLeading: undefined,
54
- iconSize: SIZE.SMALL,
55
- iconTrailing: undefined,
56
- isNewTab: false,
57
- label: undefined,
58
- subtle: false,
59
- });
60
-
61
- const rootElement = computed(() => (props.element === ELEMENT.LINK ? InternalBaseLink : props.element));
62
- </script>
63
-
64
- <template>
65
- <component
66
- :class="[
67
- 'tide-link',
68
- CSS.DISPLAY.INLINE,
69
- CSS.ALIGN.X.LEFT,
70
- subtle ? [CSS.UNDERLINE.REST.OFF, CSS.UNDERLINE.HOVER.ON] : [CSS.UNDERLINE.REST.ON, CSS.UNDERLINE.HOVER.OFF],
71
- ]"
72
- :href="props.href"
73
- :target="props.isNewTab ? TARGET.BLANK : TARGET.SELF"
74
- :type="element === ELEMENT.BUTTON ? ELEMENT.BUTTON : undefined"
75
- :is="rootElement"
76
- >
77
- <TideIcon
78
- :class="[CSS.DISPLAY.INLINE_BLOCK, CSS.ALIGN.Y.MIDDLE, CSS.MARGIN.RIGHT.QUARTER, CSS.POINTER_EVENTS.OFF]"
79
- :icon="props.iconLeading"
80
- :size="iconSize"
81
- v-if="props.iconLeading"
82
- />
83
-
84
- <span :class="[CSS.ALIGN.Y.MIDDLE]">
85
- {{ props.label }}
86
- </span>
87
-
88
- <TideIcon
89
- :class="[CSS.DISPLAY.INLINE_BLOCK, CSS.ALIGN.Y.MIDDLE, CSS.MARGIN.LEFT.QUARTER, CSS.POINTER_EVENTS.OFF]"
90
- :icon="props.iconTrailing"
91
- :size="iconSize"
92
- v-if="props.iconTrailing"
93
- />
94
- </component>
95
- </template>
@@ -1,83 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a generic menu item intended to be used in navigation menus or dropdowns.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidemenuitem--docs) for TideMenuItem
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script setup lang="ts">
11
- import TideIcon from '@/components/TideIcon.vue';
12
- import { ELEMENT } from '@/types/Element';
13
- import { SIZE } from '@/types/Size';
14
- import { CSS } from '@/types/Styles';
15
- import { TARGET } from '@/types/Target';
16
-
17
- import type { Element } from '@/types/Element';
18
- import type { Icon } from '@/types/Icon';
19
-
20
- type Props = {
21
- /** The element to render the root element as. */
22
- element?: Element;
23
-
24
- /** The href attribute to apply when the element is a link. */
25
- href?: string;
26
-
27
- /** Whether to open link in a new tab. */
28
- isNewTab?: boolean;
29
-
30
- /** Icon to show after the label. */
31
- iconTrailing?: Icon;
32
-
33
- /** The label to be displayed. */
34
- label: string;
35
- };
36
-
37
- withDefaults(defineProps<Props>(), {
38
- element: ELEMENT.LINK,
39
- href: undefined,
40
- iconTrailing: undefined,
41
- isNewTab: false,
42
- });
43
- </script>
44
-
45
- <template>
46
- <component
47
- :class="[
48
- 'tide-menu-item',
49
- CSS.AXIS2.CENTER,
50
- CSS.BORDER.RADIUS.ZERO,
51
- CSS.DISPLAY.FLEX,
52
- CSS.ELLIPSIS,
53
- CSS.FONT.ROLE.LABEL_1,
54
- CSS.GAP.QUARTER,
55
- CSS.PADDING.X.ONE,
56
- CSS.PADDING.Y.HALF,
57
- CSS.UNDERLINE.REST.OFF,
58
- CSS.WIDTH.FULL,
59
- ]"
60
- :href="href"
61
- :target="isNewTab ? TARGET.BLANK : undefined"
62
- :is="element"
63
- >
64
- <span>{{ label }}</span>
65
-
66
- <TideIcon
67
- :class="[CSS.MARGIN.LEFT.AUTO]"
68
- :icon="iconTrailing"
69
- :size="SIZE.LARGE"
70
- v-if="iconTrailing"
71
- />
72
- </component>
73
- </template>
74
-
75
- <style scoped>
76
- .tide-menu-item {
77
- height: 40px;
78
- }
79
-
80
- .tide-menu-item:hover {
81
- background-color: var(--tide-surface-variant);
82
- }
83
- </style>
@@ -1,281 +0,0 @@
1
- <script lang="ts">
2
- /**
3
- * Renders a modal intended to be used for displaying additional information or options.
4
- *
5
- * @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidemodal--docs) for TideModal
6
- */
7
- export default {};
8
- </script>
9
-
10
- <script lang="ts" setup>
11
- import { nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';
12
-
13
- import TideButtonIcon from '@/components/TideButtonIcon.vue';
14
- import { BREAKPOINT } from '@/types/Breakpoint';
15
- import { ICON } from '@/types/Icon';
16
- import { PRIORITY } from '@/types/Priority';
17
- import { CSS } from '@/types/Styles';
18
- import { TOP_LAYER_ID, initFauxTopLayer, setScrollLock } from '@/utilities/viewport';
19
-
20
- import type { Ref } from 'vue';
21
-
22
- type Props = {
23
- /**
24
- * Called before the modal closes.
25
- *
26
- * Return `false` to cancel the close event.
27
- */
28
- beforeClose?: () => void | boolean | Promise<void | boolean>;
29
- /** Controls display of the back button. */
30
- isBackButton?: boolean;
31
- /** Controls whether the modal can be dismissed with a close button or other gestures. */
32
- isDismissible?: boolean;
33
- /** The title to display in the modal's header. */
34
- title?: string;
35
- /** Custom override to the modal's width constraint. Include units. */
36
- width?: string;
37
- };
38
-
39
- const props = withDefaults(defineProps<Props>(), {
40
- beforeClose: undefined,
41
- isBackButton: false,
42
- isDismissible: true,
43
- title: undefined,
44
- width: undefined,
45
- });
46
-
47
- type Emits = {
48
- (e: 'back'): void;
49
- };
50
-
51
- const emit = defineEmits<Emits>();
52
-
53
- const modalContent: Ref<HTMLDivElement | undefined> = ref();
54
- const modalDialog: Ref<HTMLDialogElement | undefined> = ref();
55
-
56
- const isOpen = defineModel<boolean>({ required: true });
57
-
58
- const triggerNativeDialogOpen = () => {
59
- modalDialog.value?.showModal();
60
- setScrollLock(true);
61
- };
62
-
63
- const triggerNativeDialogClose = () => {
64
- modalDialog.value?.close();
65
- setScrollLock(false);
66
- };
67
-
68
- const scrollContentToTop = () => {
69
- nextTick(() => {
70
- if (!modalContent.value) return;
71
- modalContent.value.scrollTop = 0;
72
- });
73
- };
74
-
75
- const close = async () => {
76
- if (props.beforeClose) {
77
- const result = await props.beforeClose();
78
- if (result === false) return;
79
- }
80
-
81
- isOpen.value = false;
82
- };
83
-
84
- const handleBackdropClick = () => {
85
- if (props.isDismissible) close();
86
- };
87
-
88
- const handleEscapeKeydown = (e: Event) => {
89
- e.preventDefault();
90
- if (props.isDismissible) close();
91
- };
92
-
93
- watch(isOpen, () => {
94
- if (!modalDialog.value) return;
95
- if (isOpen.value) {
96
- triggerNativeDialogOpen();
97
- scrollContentToTop();
98
- } else {
99
- triggerNativeDialogClose();
100
- }
101
- });
102
-
103
- onBeforeMount(() => {
104
- initFauxTopLayer();
105
- });
106
-
107
- onMounted(() => {
108
- if (isOpen.value) {
109
- triggerNativeDialogOpen();
110
- }
111
- });
112
-
113
- onBeforeUnmount(() => {
114
- if (isOpen.value) {
115
- isOpen.value = false;
116
- triggerNativeDialogClose();
117
- }
118
- });
119
- </script>
120
-
121
- <template>
122
- <Teleport :to="`#${TOP_LAYER_ID}`">
123
- <dialog
124
- :class="['tide-modal', CSS.BG.INITIAL, CSS.HEIGHT.FULL, CSS.WIDTH.FULL, CSS.OVERFLOW.XY.HIDDEN]"
125
- ref="modalDialog"
126
- :style="{ '--modal-width': width }"
127
- @click.self="handleBackdropClick"
128
- @close.prevent
129
- @keydown.escape="handleEscapeKeydown"
130
- >
131
- <div
132
- :class="[
133
- 'tide-modal-body',
134
- CSS.BG.SURFACE.DEFAULT,
135
- CSS.BORDER.RADIUS.ONE,
136
- CSS.DISPLAY.FLEX,
137
- CSS.FLEX.DIRECTION.COLUMN,
138
- CSS.OVERFLOW.XY.HIDDEN,
139
- CSS.POSITION.ABSOLUTE,
140
- CSS.POSITIONING.BOTTOM,
141
- CSS.SHADOW.TOP,
142
- CSS.WIDTH.FULL,
143
- CSS.WIDTH.MAX_FULL,
144
- CSS.withBreakpoint([CSS.SHADOW.BOTTOM], BREAKPOINT.SM),
145
- ]"
146
- >
147
- <header
148
- :class="[
149
- 'tide-modal-header',
150
- CSS.AXIS2.CENTER,
151
- CSS.BORDER.BOTTOM.ONE,
152
- CSS.BORDER.COLOR.LOW,
153
- CSS.DISPLAY.FLEX,
154
- CSS.GAP.HALF,
155
- CSS.ISOLATION.ISOLATE,
156
- CSS.PADDING.Y.ONE,
157
- CSS.POSITION.RELATIVE,
158
- CSS.Z_INDEX.ONE,
159
- ]"
160
- >
161
- <TideButtonIcon
162
- :icon="ICON.CHEVRON_LEFT"
163
- :priority="PRIORITY.QUATERNARY"
164
- @click="emit('back')"
165
- title="Back"
166
- v-if="isBackButton"
167
- />
168
-
169
- <div
170
- :class="[CSS.FONT.ROLE.HEADLINE_2]"
171
- v-text="title"
172
- />
173
-
174
- <TideButtonIcon
175
- :class="[CSS.FLEX.GROW.OFF, CSS.FLEX.SHRINK.OFF, CSS.MARGIN.LEFT.AUTO]"
176
- :icon="ICON.CLOSE"
177
- :priority="PRIORITY.QUATERNARY"
178
- @click="close"
179
- v-if="isDismissible"
180
- />
181
- </header>
182
-
183
- <div
184
- :class="[
185
- 'tide-modal-content',
186
- CSS.DISPLAY.GRID,
187
- CSS.ISOLATION.ISOLATE,
188
- CSS.OVERFLOW.X.HIDDEN,
189
- CSS.OVERFLOW.Y.AUTO,
190
- CSS.PADDING.Y.TWO,
191
- CSS.WIDTH.FULL,
192
- ]"
193
- ref="modalContent"
194
- >
195
- <slot />
196
- </div>
197
-
198
- <footer
199
- :class="[
200
- 'tide-modal-footer',
201
- CSS.AXIS1.END,
202
- CSS.DISPLAY.FLEX,
203
- CSS.GAP.TWO,
204
- CSS.ISOLATION.ISOLATE,
205
- CSS.PADDING.Y.ONE,
206
- CSS.SHADOW.TOP,
207
- ]"
208
- v-if="$slots.footer"
209
- >
210
- <slot name="footer" />
211
- </footer>
212
- </div>
213
- </dialog>
214
- </Teleport>
215
- </template>
216
-
217
- <style scoped>
218
- .tide-modal {
219
- --modal-padding-x: 20px;
220
- max-width: unset;
221
- max-height: unset;
222
- place-items: center;
223
- display: none;
224
- transition: all var(--tide-animate) allow-discrete;
225
- transform: translateY(100%);
226
- }
227
- .tide-modal[open] {
228
- display: grid;
229
- transform: translateY(0%);
230
- }
231
- .tide-modal::backdrop {
232
- background-color: transparent;
233
- transition: all var(--tide-animate) allow-discrete;
234
- backdrop-filter: blur(0px);
235
- }
236
- .tide-modal[open]::backdrop {
237
- background-color: var(--tide-transparent-400);
238
- backdrop-filter: var(--tide-bg-blur);
239
- }
240
- @starting-style {
241
- .tide-modal[open] {
242
- display: grid;
243
- transform: translateY(100%);
244
- }
245
- .tide-modal[open]::backdrop {
246
- background-color: transparent;
247
- backdrop-filter: var(--tide-bg-blur);
248
- }
249
- }
250
- .tide-modal-body {
251
- width: var(--modal-width, 576px);
252
- max-height: calc(100% - var(--tide-spacing-2));
253
- }
254
-
255
- .tide-modal-header,
256
- .tide-modal-footer {
257
- padding-inline: var(--modal-padding-x);
258
- }
259
- .tide-modal-content {
260
- grid-template-columns: var(--modal-padding-x) var(--tide-safe-fr) var(--modal-padding-x);
261
- }
262
- :where(.tide-modal-content):deep(> :where(*)) {
263
- grid-column: 2;
264
- }
265
-
266
- @media (max-width: 767px) {
267
- .tide-modal-body {
268
- border-bottom-left-radius: 0;
269
- border-bottom-right-radius: 0;
270
- }
271
- }
272
- @media (min-width: 768px) {
273
- .tide-modal {
274
- --modal-padding-x: var(--tide-spacing-2);
275
- }
276
- .tide-modal-body {
277
- max-height: 85%;
278
- bottom: initial;
279
- }
280
- }
281
- </style>