tide-design-system 2.5.6 → 2.5.9
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.
- package/.storybook/main.ts +2 -0
- package/README.md +1 -0
- package/dist/{IconAccountBalance-B9rJ09ax.js → IconAccountBalance-dARjIrfY.js} +3 -3
- package/dist/{IconAcute-9dHrmblT.js → IconAcute-BWwq_P2g.js} +3 -3
- package/dist/{IconAdd-BsJiPHYa.js → IconAdd-DtInpvF3.js} +3 -3
- package/dist/{IconAiDescription-fQ_B1UGe.js → IconAiDescription-C-OGiP7T.js} +3 -3
- package/dist/{IconAlignSpaceEven-B2UIi1ao.js → IconAlignSpaceEven-CTm_RFZr.js} +3 -3
- package/dist/{IconApplePay-DS6fQdV_.js → IconApplePay-BEECKvxd.js} +3 -3
- package/dist/{IconArrowBack-CZSCZ-Jf.js → IconArrowBack-CJYjUSAT.js} +3 -3
- package/dist/{IconArrowCycle-D3f38VT-.js → IconArrowCycle-B-SIKRjr.js} +3 -3
- package/dist/{IconArrowForward-CICM-aJ1.js → IconArrowForward-CTC_pWUJ.js} +3 -3
- package/dist/{IconArrowRight-CwweSeyO.js → IconArrowRight-DVgboHar.js} +3 -3
- package/dist/{IconArrowUp-7TI0p224.js → IconArrowUp-8yer6-rz.js} +3 -3
- package/dist/{IconAssignment-DQQnmJc_.js → IconAssignment-CKdgR4IZ.js} +3 -3
- package/dist/{IconAttachMoney-sLj77NOR.js → IconAttachMoney-BOqK4Ty3.js} +3 -3
- package/dist/{IconAtvAtv-bfqGL_Iq.js → IconAtvAtv-CVxNZw3x.js} +3 -3
- package/dist/{IconAtvDuneBuggy-CbiyQRZg.js → IconAtvDuneBuggy-ChpKK_uj.js} +3 -3
- package/dist/{IconAtvGoKart-BxqcGKzS.js → IconAtvGoKart-BA3-opIb.js} +3 -3
- package/dist/{IconAtvGolfCart-6Xwju3k6.js → IconAtvGolfCart-DIQybI94.js} +3 -3
- package/dist/{IconAtvSandRail-dKmA3KoG.js → IconAtvSandRail-vMg9E1B1.js} +3 -3
- package/dist/{IconAtvSideBySide-CVSUrX7w.js → IconAtvSideBySide-DpAgficE.js} +3 -3
- package/dist/{IconAtvTrailer-BB6C_WKk.js → IconAtvTrailer-DmqyaW6g.js} +3 -3
- package/dist/{IconAutoRenew-Bl-Obhh6.js → IconAutoRenew-PKxzoFUm.js} +3 -3
- package/dist/{IconAwardStar-KYYsH2ss.js → IconAwardStar-C80c-wJ9.js} +3 -3
- package/dist/{IconBed-BVLiRAhU.js → IconBed-D8iyGBIR.js} +3 -3
- package/dist/{IconBoatmartPwc-B3seLCYC.js → IconBoatmartPwc-a1AOjs7L.js} +3 -3
- package/dist/{IconBoatmartTrailer-BosS4Ix8.js → IconBoatmartTrailer-CprxPgWU.js} +3 -3
- package/dist/{IconBolt-D-BSIXex.js → IconBolt-D7tpOZMC.js} +3 -3
- package/dist/{IconBookmark-D3Pu86n4.js → IconBookmark-ZpQyXxtb.js} +3 -3
- package/dist/{IconBunkhouse-B4PaVH2y.js → IconBunkhouse-rPtR_Mct.js} +3 -3
- package/dist/IconCalculate-Bbp4hHOW.js +16 -0
- package/dist/IconCalculate-CGwDSRuU.cjs +2 -0
- package/dist/{IconCalendarMonth-CortoSy-.js → IconCalendarMonth-CKF3HJsX.js} +3 -3
- package/dist/{IconCall-DRysHKSn.js → IconCall-D6EvqV8k.js} +3 -3
- package/dist/{IconCallQuality-BMVs2M2s.js → IconCallQuality-FekMElKo.js} +3 -3
- package/dist/{IconCarRental-qvIsiGfR.js → IconCarRental-Cw5T4p4_.js} +3 -3
- package/dist/{IconCheck-CliQNN_D.js → IconCheck-Dmmvwu7-.js} +3 -3
- package/dist/{IconChevronLeft-hQC1St0W.js → IconChevronLeft-BF0qcV0B.js} +3 -3
- package/dist/{IconChevronRight-DVYcrzWE.js → IconChevronRight-CdE3lIbm.js} +3 -3
- package/dist/{IconClear-COYKsp8t.js → IconClear-YX6AUd3q.js} +3 -3
- package/dist/{IconClose-HSRbXCDE.js → IconClose-BKDRiJCn.js} +3 -3
- package/dist/{IconContract-BaV1mGEr.js → IconContract-7-9lX0ZL.js} +3 -3
- package/dist/{IconCrash-ClWQK2fw.js → IconCrash-Cz7QujvF.js} +3 -3
- package/dist/IconCycleMotorcycle-B8syyXoU.cjs +2 -0
- package/dist/IconCycleMotorcycle-DVRTUcId.js +21 -0
- package/dist/IconCycleTrailer-COTSVorR.cjs +2 -0
- package/dist/IconCycleTrailer-Cp2Ak9pX.js +20 -0
- package/dist/{IconDashboardCustomize-BJEcZ-jN.js → IconDashboardCustomize-g3VnCCx1.js} +3 -3
- package/dist/{IconDelete-DJwergoy.js → IconDelete-Dnyl1uzD.js} +3 -3
- package/dist/{IconDiamond-D34wtBhd.js → IconDiamond-sAYziqWh.js} +3 -3
- package/dist/{IconDirectionsBoat-ByiHuypy.js → IconDirectionsBoat-D0xl5It-.js} +3 -3
- package/dist/{IconDomain-CXsBLm5C.js → IconDomain-as7lGUZz.js} +3 -3
- package/dist/{IconDraft-qSYk5cPm.js → IconDraft-BTRj5LyI.js} +3 -3
- package/dist/{IconEdit-CFeDlBN2.js → IconEdit-Z8QjfAFi.js} +3 -3
- package/dist/{IconEngine-BLi3BThi.js → IconEngine-Nq1jLYrS.js} +3 -3
- package/dist/{IconEngineering-DKDW6b3b.js → IconEngineering-CDeCKiuN.js} +3 -3
- package/dist/{IconError-BsmS7Ido.js → IconError-CHkF1F4l.js} +3 -3
- package/dist/{IconExpandContent-CUz-acoJ.js → IconExpandContent-BKW1v-s1.js} +3 -3
- package/dist/{IconExpandLess-kI04ZTDg.js → IconExpandLess-DuwH_WmO.js} +3 -3
- package/dist/{IconExpandMore-BpIrNsXP.js → IconExpandMore-C-Fof15e.js} +3 -3
- package/dist/{IconFacebook-DiMWgcSK.js → IconFacebook-94UC5eci.js} +3 -3
- package/dist/{IconFavorite-CDLEUDWu.js → IconFavorite-Bi2ZLSFU.js} +3 -3
- package/dist/{IconFavoriteFilled--f1zeXKy.js → IconFavoriteFilled-BOzK3oQt.js} +3 -3
- package/dist/{IconFlag-CmppikB3.js → IconFlag-D3BdWSHX.js} +3 -3
- package/dist/{IconFormatBold-rtvyBotR.js → IconFormatBold-ptl4C5om.js} +3 -3
- package/dist/{IconFormatItalic-BlcS8gnO.js → IconFormatItalic-wjYo3E6V.js} +3 -3
- package/dist/{IconFormatListBulleted-BbJCNSJG.js → IconFormatListBulleted-Z4H5EHHL.js} +3 -3
- package/dist/{IconForum-CFa_3MsA.js → IconForum-dExYXhMs.js} +3 -3
- package/dist/{IconGas-rD46ubiw.js → IconGas-BeL_PidJ.js} +3 -3
- package/dist/{IconGavel-l3k6jtN3.js → IconGavel-b699C85e.js} +3 -3
- package/dist/{IconGears-CaXA9HK2.js → IconGears-DY0BIt9k.js} +3 -3
- package/dist/{IconGlobeLocationPin-cTdYm_5A.js → IconGlobeLocationPin-PPiJIaCW.js} +3 -3
- package/dist/{IconGoogle-6R7roJzd.js → IconGoogle-B1k1zKq5.js} +3 -3
- package/dist/{IconGooglePay-XLqJKvZe.js → IconGooglePay-CnoBw2gC.js} +3 -3
- package/dist/{IconGrid-BoplWzPb.js → IconGrid-DPAFjLOo.js} +3 -3
- package/dist/{IconHandshake-CsYF9kmp.js → IconHandshake-CF0rWfIQ.js} +3 -3
- package/dist/{IconHandyman-CQL-qu8p.js → IconHandyman-DqbZcABm.js} +3 -3
- package/dist/{IconHeight-CTAQLi2I.js → IconHeight-1sxFnuqb.js} +3 -3
- package/dist/{IconHelp-BEzzbWr3.js → IconHelp-BfxZeVdy.js} +3 -3
- package/dist/{IconInfo-BACpUpXu.js → IconInfo-ZZNZK4Fs.js} +3 -3
- package/dist/{IconInformation-CGYah4Eo.js → IconInformation-CQc0HSVc.js} +3 -3
- package/dist/{IconInsertText-C5HjwAuL.js → IconInsertText-dHM33CGA.js} +3 -3
- package/dist/{IconInstagram-DEPxn51x.js → IconInstagram-BbTbVTQe.js} +3 -3
- package/dist/{IconIosShare-jNePPJBV.js → IconIosShare-fe7iyZSt.js} +3 -3
- package/dist/{IconLayout-CgFL9FBD.js → IconLayout-BYkhBGPm.js} +3 -3
- package/dist/{IconLevellingJack-rO4KepKs.js → IconLevellingJack-CuuMfb9e.js} +3 -3
- package/dist/{IconLinkedIn-GWoK01li.js → IconLinkedIn-iC2pYpmX.js} +3 -3
- package/dist/{IconLocalShipping-Bayc9OL_.js → IconLocalShipping-sAYdRn-q.js} +3 -3
- package/dist/{IconLock-WfiVOWPI.js → IconLock-c8yaYnyT.js} +3 -3
- package/dist/{IconMail-ejl1H7D9.js → IconMail-D0yowPmX.js} +3 -3
- package/dist/{IconMenu-FlE3z6fX.js → IconMenu-Btzwi7Bu.js} +3 -3
- package/dist/{IconMoneyBag-CYq7aYjH.js → IconMoneyBag-BcZCfjrN.js} +3 -3
- package/dist/{IconMoreHoriz-B0mCtW1_.js → IconMoreHoriz-CYiGX78Y.js} +3 -3
- package/dist/{IconNotifications-Bm_gSQGu.js → IconNotifications-uBv1nZZ2.js} +3 -3
- package/dist/{IconOdometer-COcVC_eb.js → IconOdometer-DZASryD7.js} +3 -3
- package/dist/{IconOpenInNew-DFieFQIk.js → IconOpenInNew-VuTM8uiR.js} +3 -3
- package/dist/{IconPalette-DoDIzZJO.js → IconPalette-B78tp213.js} +3 -3
- package/dist/{IconPaypal-CX6Z2rvX.js → IconPaypal-z7u9aPLj.js} +3 -3
- package/dist/{IconPerson-CK0AXlS_.js → IconPerson-DWwdRmJX.js} +3 -3
- package/dist/{IconPersonSearch-Da5EdDrS.js → IconPersonSearch-4ESzm5yH.js} +3 -3
- package/dist/{IconPhotoCamera-DZHI-Yb7.js → IconPhotoCamera-Drkhsfpi.js} +3 -3
- package/dist/{IconPinterest-B3UM6t9-.js → IconPinterest-BhgYE6Fc.js} +3 -3
- package/dist/{IconPlayArrow-CR7bXHC8.js → IconPlayArrow-ztNUkoji.js} +3 -3
- package/dist/{IconPolicy-CzN-v54O.js → IconPolicy-DrcQUdvI.js} +3 -3
- package/dist/{IconPower-C5MJihEZ.js → IconPower-BISw4q1i.js} +3 -3
- package/dist/{IconPowerOff-BziDMScz.js → IconPowerOff-D94o_eIX.js} +3 -3
- package/dist/{IconPriorityHigh-Bv-j3DaQ.js → IconPriorityHigh-DzCnK1QW.js} +3 -3
- package/dist/{IconRemove-Bo4RUocr.js → IconRemove-gGo2PMeX.js} +3 -3
- package/dist/{IconRequestQuote-BUNyScQ-.js → IconRequestQuote-CWfytYvA.js} +3 -3
- package/dist/{IconResetWrench-DCcBmojh.js → IconResetWrench-B0tYLDcb.js} +3 -3
- package/dist/{IconRoad-BGTu-WPJ.js → IconRoad-m4Orr44c.js} +3 -3
- package/dist/{IconRoundedCorner-DycjfuJj.js → IconRoundedCorner-CqdpAVGU.js} +3 -3
- package/dist/{IconRuler-Da8zNDvf.js → IconRuler-C8SSjTfX.js} +3 -3
- package/dist/{IconRvClassA-D2-lug19.js → IconRvClassA-CFQOw02-.js} +3 -3
- package/dist/{IconRvClassB-Coe3FpBI.js → IconRvClassB-p-03DBol.js} +3 -3
- package/dist/{IconRvClassC-DWnLqMGg.js → IconRvClassC-BP5Zzlj_.js} +3 -3
- package/dist/{IconRvFifthWheel-CB_mQ-tO.js → IconRvFifthWheel-BMGxt3_M.js} +3 -3
- package/dist/{IconRvFishHouse-Cs2fm3r1.js → IconRvFishHouse-C7iNMr-3.js} +3 -3
- package/dist/{IconRvParkModel-D4S_iYTG.js → IconRvParkModel-l4Rx5P9F.js} +3 -3
- package/dist/{IconRvPopUpCamper-CW47dgll.js → IconRvPopUpCamper-BY6aLEic.js} +3 -3
- package/dist/{IconRvTravelTrailer-CC48bci7.js → IconRvTravelTrailer-FstodwFk.js} +3 -3
- package/dist/{IconRvTruckCamper-EoEVfaJM.js → IconRvTruckCamper-lLLE86pz.js} +3 -3
- package/dist/{IconSailing-CPcgnYwx.js → IconSailing-svTfDLn9.js} +3 -3
- package/dist/{IconSchool-3Dy70s11.js → IconSchool-CUB4fiMX.js} +3 -3
- package/dist/{IconSearch-C8WeOYws.js → IconSearch-QZW19aza.js} +3 -3
- package/dist/{IconSeating-D7B47LU4.js → IconSeating-B3MAIZkv.js} +3 -3
- package/dist/{IconSell-B95iGdOh.js → IconSell-CG2i7EOI.js} +3 -3
- package/dist/{IconSensors-Ckv6BEOK.js → IconSensors-BVBTJDAv.js} +3 -3
- package/dist/{IconSettings-CLrLZmQs.js → IconSettings-BGJv8ylA.js} +3 -3
- package/dist/{IconShare-CH2w2udo.js → IconShare-DLN_ze1T.js} +3 -3
- package/dist/{IconShieldCheck-BBHcsJhF.js → IconShieldCheck-DwGlL83P.js} +3 -3
- package/dist/{IconShoppingCart-_CKPKJ12.js → IconShoppingCart-BWcDIQ0t.js} +3 -3
- package/dist/{IconSleeps-CTzXW2RS.js → IconSleeps-Bl1OHp_d.js} +3 -3
- package/dist/{IconSms-C_jULP6X.js → IconSms-DXF4Rvv5.js} +3 -3
- package/dist/{IconSnowflake-DYpTwl2q.js → IconSnowflake-3DOCBRxO.js} +3 -3
- package/dist/{IconStar-CR0UA_S9.js → IconStar-y4w1Q_Ly.js} +3 -3
- package/dist/{IconStarFilled-DEnQm6s8.js → IconStarFilled-h3V6lcA1.js} +3 -3
- package/dist/{IconStarHalf-DZqwFVlC.js → IconStarHalf-CD3Otd__.js} +3 -3
- package/dist/{IconSummarize-BwU7xViX.js → IconSummarize-DQAFpTrk.js} +3 -3
- package/dist/{IconSwapHoriz-B7Nu99ui.js → IconSwapHoriz-C3usXzhR.js} +3 -3
- package/dist/{IconSwapVert-D83OnTLJ.js → IconSwapVert-CODa7if1.js} +3 -3
- package/dist/{IconThreeDRotation-WuabFIaS.js → IconThreeDRotation-Dt-qEsTU.js} +3 -3
- package/dist/{IconThumbUp-DwPs1Aog.js → IconThumbUp-2aoi8Hn6.js} +3 -3
- package/dist/{IconTrendingDown-CKqQl7o7.js → IconTrendingDown-Cc1jUDOB.js} +3 -3
- package/dist/{IconTrophy-DRcIPW-F.js → IconTrophy-CWU4189G.js} +3 -3
- package/dist/{IconTune-CXVj1kqb.js → IconTune-PtcGFHGO.js} +3 -3
- package/dist/{IconTwitter-B5AwI_-2.js → IconTwitter-Q7-VmjkP.js} +3 -3
- package/dist/{IconUmbrella-BWmv4GFi.js → IconUmbrella-B_1l6UAu.js} +3 -3
- package/dist/{IconVerified-BMRocsAd.js → IconVerified-BCiRYMzp.js} +3 -3
- package/dist/{IconVideocam-D5eUdBxR.js → IconVideocam-TZ4vpxTp.js} +3 -3
- package/dist/{IconViewInAr-CvR2gh_r.js → IconViewInAr-Dn4BjPYu.js} +3 -3
- package/dist/{IconVisibility-BlzyaCVD.js → IconVisibility-nxEIwt29.js} +3 -3
- package/dist/{IconVolumeOff-DB757krU.js → IconVolumeOff-D_ASm6Jk.js} +3 -3
- package/dist/{IconVolumeOn-CYf77UaC.js → IconVolumeOn-CTVNBoFQ.js} +3 -3
- package/dist/{IconWarehouse-DIRQdX8P.js → IconWarehouse-DP-BJpYG.js} +3 -3
- package/dist/{IconWarning-n_GTsWOM.js → IconWarning-DcYnbH1n.js} +3 -3
- package/dist/{IconWater-DFV09TyV.js → IconWater-Bh1ru5aW.js} +3 -3
- package/dist/{IconWeight-Cq12caT_.js → IconWeight-DfxHx8iL.js} +3 -3
- package/dist/{IconWidth-DtPjsKm8.js → IconWidth-E4u3XnEj.js} +3 -3
- package/dist/{IconWorkspacePremium-_Olggt_G.js → IconWorkspacePremium-Cn2NhzIu.js} +3 -3
- package/dist/{IconWrench-C2MHGxho.js → IconWrench-DHpCQriM.js} +3 -3
- package/dist/{IconYoutube-C8cHj1uF.js → IconYoutube-DHlDGTQp.js} +3 -3
- package/dist/css/reset.css +2 -2
- package/dist/css/utilities-base.css +66 -38
- package/dist/css/utilities-responsive.css +424 -312
- package/dist/css/variables.css +5 -0
- package/dist/logo-aero-CkTVffxb.js +17 -0
- package/dist/logo-aero-Z-V0eOLB.cjs +2 -0
- package/dist/logo-atv-BC9pKXBl.js +21 -0
- package/dist/logo-atv-xQMzut2h.cjs +2 -0
- package/dist/logo-boatmart-B9upxiMl.cjs +2 -0
- package/dist/logo-boatmart-DroAqtiq.js +16 -0
- package/dist/logo-cycle-c9schUUY.cjs +2 -0
- package/dist/logo-cycle-iWCyRwSL.js +21 -0
- package/dist/logo-equipment-3VYa6YcW.cjs +2 -0
- package/dist/logo-equipment-BoqO9oqu.js +17 -0
- package/dist/logo-pwc-BBFWrkvE.js +21 -0
- package/dist/logo-pwc-DhXtaTyu.cjs +2 -0
- package/dist/logo-rv-BRXxuciP.cjs +2 -0
- package/dist/logo-rv-DzHxIw2C.js +21 -0
- package/dist/logo-snow-Dzpaeho2.js +17 -0
- package/dist/logo-snow-PVobISvF.cjs +2 -0
- package/dist/logo-truck-DE0J4OIJ.cjs +2 -0
- package/dist/logo-truck-MUfLC0tr.js +21 -0
- package/dist/mark-aero-CFjGMjbx.cjs +2 -0
- package/dist/mark-aero-D8m3JDkS.js +23 -0
- package/dist/mark-atv-1Vppojls.js +19 -0
- package/dist/mark-atv-BhRn5mUA.cjs +2 -0
- package/dist/mark-boatmart-Bmkv3dOs.cjs +2 -0
- package/dist/mark-boatmart-b77RvD0c.js +16 -0
- package/dist/mark-cycle-BFxZOD4K.js +23 -0
- package/dist/mark-cycle-QCLSEZTF.cjs +2 -0
- package/dist/mark-equipment-BbnRZ0vl.js +19 -0
- package/dist/mark-equipment-ThuZOvf6.cjs +2 -0
- package/dist/mark-pwc-CQWDRntw.cjs +2 -0
- package/dist/mark-pwc-CQa98Z9S.js +21 -0
- package/dist/mark-rv-BtQWH4-a.cjs +2 -0
- package/dist/mark-rv-DY1wwuIO.js +21 -0
- package/dist/mark-snow-BEUxteW6.js +23 -0
- package/dist/mark-snow-Bek2T8IY.cjs +2 -0
- package/dist/mark-truck-BsOOC6Lx.cjs +2 -0
- package/dist/mark-truck-CUaX6FYM.js +19 -0
- package/dist/style.css +1 -1
- package/dist/tide-design-system.cjs +2 -2
- package/dist/tide-design-system.esm.d.ts +0 -2041
- package/dist/tide-design-system.esm.js +1332 -1072
- package/dist/utilities/realm.ts +17 -0
- package/dist/utilities/storybook.ts +0 -2
- package/dist/utilities/viewport.ts +2 -2
- package/docs/images.md +50 -0
- package/docs/toast.md +61 -0
- package/index.ts +10 -1
- package/package.json +4 -4
- package/src/assets/css/reset.css +2 -2
- package/src/assets/css/utilities-base.css +66 -38
- package/src/assets/css/utilities-responsive.css +424 -312
- package/src/assets/css/variables.css +5 -0
- package/src/assets/svg/branding/logo/logo-aero.svg +9 -0
- package/src/assets/svg/branding/logo/logo-atv.svg +3 -0
- package/src/assets/svg/branding/logo/logo-boatmart.svg +18 -0
- package/src/assets/svg/branding/logo/logo-cycle.svg +3 -0
- package/src/assets/svg/branding/logo/logo-equipment.svg +11 -0
- package/src/assets/svg/branding/logo/logo-pwc.svg +3 -0
- package/src/assets/svg/branding/logo/logo-rv.svg +3 -0
- package/src/assets/svg/branding/logo/logo-snow.svg +12 -0
- package/src/assets/svg/branding/logo/logo-truck.svg +3 -0
- package/src/assets/svg/branding/mark/mark-aero.svg +4 -0
- package/src/assets/svg/branding/mark/mark-atv.svg +3 -0
- package/src/assets/svg/branding/mark/mark-boatmart.svg +17 -0
- package/src/assets/svg/branding/mark/mark-cycle.svg +4 -0
- package/src/assets/svg/branding/mark/mark-equipment.svg +3 -0
- package/src/assets/svg/branding/mark/mark-pwc.svg +3 -0
- package/src/assets/svg/branding/mark/mark-rv.svg +3 -0
- package/src/assets/svg/branding/mark/mark-snow.svg +4 -0
- package/src/assets/svg/branding/mark/mark-truck.svg +3 -0
- package/src/assets/svg/icons/IconCalculate.svg +3 -0
- package/src/assets/svg/icons/realm/cycle/IconCycleMotorcycle.svg +4 -0
- package/src/assets/svg/icons/realm/cycle/IconCycleTrailer.svg +3 -0
- package/src/components/TideAccordionItem.vue +38 -4
- package/src/components/TideAlert.vue +22 -4
- package/src/components/TideBadge.vue +16 -0
- package/src/components/TideBadgeTrustedPartner.vue +10 -0
- package/src/components/TideBadgeVerifiedVehicle.vue +9 -0
- package/src/components/TideBreadCrumbs.vue +10 -0
- package/src/components/TideButton.vue +45 -16
- package/src/components/TideButtonIcon.vue +35 -9
- package/src/components/TideButtonPagination.vue +16 -0
- package/src/components/TideButtonSave.vue +9 -0
- package/src/components/TideButtonSegmented.vue +10 -0
- package/src/components/TideCard.vue +21 -1
- package/src/components/TideCarousel.vue +24 -0
- package/src/components/TideChipAction.vue +24 -2
- package/src/components/TideChipFilter.vue +10 -0
- package/src/components/TideChipInput.vue +10 -0
- package/src/components/TideColumns.vue +10 -0
- package/src/components/TideDivider.vue +10 -0
- package/src/components/TideForm.vue +9 -0
- package/src/components/TideIcon.vue +12 -0
- package/src/components/TideImage.vue +34 -4
- package/src/components/TideImageBackground.vue +16 -0
- package/src/components/TideIndicator.vue +10 -0
- package/src/components/TideInputCheckbox.vue +24 -0
- package/src/components/TideInputRadio.vue +20 -0
- package/src/components/TideInputSelect.vue +108 -48
- package/src/components/TideInputSupportingText.vue +9 -0
- package/src/components/TideInputText.vue +47 -1
- package/src/components/TideInputTextarea.vue +30 -0
- package/src/components/TideLink.vue +24 -0
- package/src/components/TideModal.vue +23 -2
- package/src/components/TidePopover.vue +12 -0
- package/src/components/TideRating.vue +16 -0
- package/src/components/TideRealmLogo.vue +80 -0
- package/src/components/TideSheet.vue +20 -2
- package/src/components/TideSwitch.vue +10 -0
- package/src/components/TideTabs.vue +14 -9
- package/src/components/TideToaster.vue +97 -0
- package/src/composables/useTideToaster.ts +63 -0
- package/src/stories/TideAccordionItem.stories.ts +5 -13
- package/src/stories/TideAlert.stories.ts +2 -11
- package/src/stories/TideBadge.stories.ts +0 -4
- package/src/stories/TideBadgeTrustedPartner.stories.ts +0 -1
- package/src/stories/TideBreadCrumbs.stories.ts +0 -1
- package/src/stories/TideButton.stories.ts +9 -9
- package/src/stories/TideButtonIcon.stories.ts +9 -7
- package/src/stories/TideButtonPagination.stories.ts +0 -4
- package/src/stories/TideButtonSegmented.stories.ts +0 -1
- package/src/stories/TideCard.stories.ts +9 -8
- package/src/stories/TideCarousel.stories.ts +0 -7
- package/src/stories/TideChipAction.stories.ts +12 -6
- package/src/stories/TideChipFilter.stories.ts +0 -1
- package/src/stories/TideChipInput.stories.ts +0 -1
- package/src/stories/TideColumns.stories.ts +0 -1
- package/src/stories/TideDivider.stories.ts +0 -1
- package/src/stories/TideIcon.stories.ts +0 -2
- package/src/stories/TideImage.stories.ts +1 -11
- package/src/stories/TideImageBackground.stories.ts +3 -8
- package/src/stories/TideIndicator.stories.ts +0 -1
- package/src/stories/TideInputCheckbox.stories.ts +2 -14
- package/src/stories/TideInputRadio.stories.ts +1 -9
- package/src/stories/TideInputSelect.stories.ts +19 -16
- package/src/stories/TideInputText.stories.ts +1 -22
- package/src/stories/TideInputTextarea.stories.ts +1 -14
- package/src/stories/TideLink.stories.ts +1 -10
- package/src/stories/TideModal.stories.ts +0 -4
- package/src/stories/TidePopover.stories.ts +0 -2
- package/src/stories/TideRating.stories.ts +1 -7
- package/src/stories/TideRealmLogo.stories.ts +25 -0
- package/src/stories/TideSheet.stories.ts +0 -1
- package/src/stories/TideSwitch.stories.ts +1 -4
- package/src/stories/TideTabs.stories.ts +0 -1
- package/src/stories/TideToaster.stories.ts +117 -0
- package/src/types/Icon.ts +5 -0
- package/src/types/RealmLogo.ts +38 -0
- package/src/types/Styles.ts +2 -1
- package/src/types/Toast.ts +21 -0
- package/src/utilities/realm.ts +17 -0
- package/src/utilities/storybook.ts +0 -2
- package/src/utilities/viewport.ts +2 -2
- package/tests/TideRealmLogo.spec.ts +58 -0
- package/tsconfig.json +18 -5
- package/tsconfig.node.json +7 -0
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* Renders a sheet component intended to be used for displaying content in a modal-like menu overlay on the right side of the screen.
|
|
4
|
+
*
|
|
5
|
+
* @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidesheet--docs) for TideSheet
|
|
6
|
+
*/
|
|
7
|
+
export default {};
|
|
8
|
+
</script>
|
|
9
|
+
|
|
1
10
|
<script lang="ts" setup>
|
|
2
|
-
import { onBeforeMount, onMounted, ref, watch } from 'vue';
|
|
11
|
+
import { onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';
|
|
3
12
|
|
|
4
13
|
import TideButtonIcon from '@/components/TideButtonIcon.vue';
|
|
5
14
|
import TideDivider from '@/components/TideDivider.vue';
|
|
@@ -11,6 +20,7 @@
|
|
|
11
20
|
import type { Ref } from 'vue';
|
|
12
21
|
|
|
13
22
|
type Props = {
|
|
23
|
+
/** Controls display of the back button. */
|
|
14
24
|
isBackButton?: boolean;
|
|
15
25
|
};
|
|
16
26
|
|
|
@@ -30,10 +40,12 @@
|
|
|
30
40
|
|
|
31
41
|
const triggerNativeDialogOpen = () => {
|
|
32
42
|
dialogElement.value?.showModal();
|
|
43
|
+
setScrollLock(true);
|
|
33
44
|
};
|
|
34
45
|
|
|
35
46
|
const triggerNativeDialogClose = () => {
|
|
36
47
|
dialogElement.value?.close();
|
|
48
|
+
setScrollLock(false);
|
|
37
49
|
};
|
|
38
50
|
|
|
39
51
|
const close = () => {
|
|
@@ -56,7 +68,6 @@
|
|
|
56
68
|
} else {
|
|
57
69
|
triggerNativeDialogClose();
|
|
58
70
|
}
|
|
59
|
-
setScrollLock(isOpen.value);
|
|
60
71
|
});
|
|
61
72
|
|
|
62
73
|
onBeforeMount(() => {
|
|
@@ -68,6 +79,13 @@
|
|
|
68
79
|
triggerNativeDialogOpen();
|
|
69
80
|
}
|
|
70
81
|
});
|
|
82
|
+
|
|
83
|
+
onBeforeUnmount(() => {
|
|
84
|
+
if (isOpen.value) {
|
|
85
|
+
isOpen.value = false;
|
|
86
|
+
triggerNativeDialogClose();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
71
89
|
</script>
|
|
72
90
|
|
|
73
91
|
<template>
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* Renders a switch component intended to be used for toggling a boolean value.
|
|
4
|
+
*
|
|
5
|
+
* @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tideswitch--docs) for TideSwitch
|
|
6
|
+
*/
|
|
7
|
+
export default {};
|
|
8
|
+
</script>
|
|
9
|
+
|
|
1
10
|
<script lang="ts" setup>
|
|
2
11
|
import TideIcon from '@/components/TideIcon.vue';
|
|
3
12
|
import { ICON } from '@/types/Icon';
|
|
@@ -5,6 +14,7 @@
|
|
|
5
14
|
import { CSS } from '@/types/Styles';
|
|
6
15
|
|
|
7
16
|
type Props = {
|
|
17
|
+
/** Determines clickability */
|
|
8
18
|
disabled?: boolean;
|
|
9
19
|
};
|
|
10
20
|
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* Renders a tabs component intended to be used for navigation.
|
|
4
|
+
*
|
|
5
|
+
* @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidetabs--docs) for TideTabs
|
|
6
|
+
*/
|
|
7
|
+
export default {};
|
|
8
|
+
</script>
|
|
9
|
+
|
|
1
10
|
<script setup lang="ts">
|
|
2
11
|
import TideCarousel from '@/components/TideCarousel.vue';
|
|
3
12
|
import TideLink from '@/components/TideLink.vue';
|
|
@@ -7,6 +16,7 @@
|
|
|
7
16
|
import type { Tab } from '@/types/Tab';
|
|
8
17
|
|
|
9
18
|
type Props = {
|
|
19
|
+
/** Sets labels and callback for each tab */
|
|
10
20
|
tabs: Tab[];
|
|
11
21
|
};
|
|
12
22
|
|
|
@@ -23,12 +33,13 @@
|
|
|
23
33
|
<div :class="['tide-tabs', CSS.DISPLAY.FLEX, CSS.BORDER.BOTTOM.TWO, CSS.BORDER.COLOR.LOW]">
|
|
24
34
|
<TideCarousel :is-floating="true">
|
|
25
35
|
<li
|
|
36
|
+
:class="[CSS.PADDING.X.HALF]"
|
|
26
37
|
:key="tab.label"
|
|
27
38
|
v-for="(tab, index) in tabs"
|
|
28
39
|
>
|
|
29
40
|
<TideLink
|
|
30
41
|
:class="[
|
|
31
|
-
index === currentTab ? CSS.FONT.COLOR.SURFACE.BRAND : CSS.FONT.COLOR.SURFACE.VARIANT,
|
|
42
|
+
index === currentTab ? [CSS.FONT.COLOR.SURFACE.BRAND] : [CSS.FONT.COLOR.SURFACE.VARIANT],
|
|
32
43
|
CSS.PADDING.BOTTOM.ONE,
|
|
33
44
|
CSS.FONT.ROLE.LABEL_1,
|
|
34
45
|
CSS.WHITESPACE_WRAP.OFF,
|
|
@@ -38,7 +49,7 @@
|
|
|
38
49
|
:subtle="true"
|
|
39
50
|
@click="handleClick(index)"
|
|
40
51
|
/>
|
|
41
|
-
<div :class="['rounded-border', index === currentTab &&
|
|
52
|
+
<div :class="['rounded-border', CSS.MARGIN.X.HALF, index === currentTab && [CSS.BG.PRIMARY]]" />
|
|
42
53
|
</li>
|
|
43
54
|
</TideCarousel>
|
|
44
55
|
</div>
|
|
@@ -46,13 +57,7 @@
|
|
|
46
57
|
|
|
47
58
|
<style scoped>
|
|
48
59
|
.rounded-border {
|
|
60
|
+
height: 4px;
|
|
49
61
|
border-radius: var(--tide-radius-full) var(--tide-radius-full) 0 0;
|
|
50
|
-
border-top-width: 4px;
|
|
51
|
-
border-top-style: solid;
|
|
52
|
-
border-color: transparent;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.active {
|
|
56
|
-
border-color: var(--tide-on-surface-brand);
|
|
57
62
|
}
|
|
58
63
|
</style>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* Renders a toaster component intended to be used for displaying notifications.
|
|
4
|
+
*
|
|
5
|
+
* @see the [Storybook interface](https://tide-design-system.netlify.app/?path=/docs/components-tidetoaster--docs) for TideToaster
|
|
6
|
+
*/
|
|
7
|
+
export default {};
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<script setup lang="ts">
|
|
11
|
+
import { onBeforeMount } from 'vue';
|
|
12
|
+
|
|
13
|
+
import TideAlert from '@/components/TideAlert.vue';
|
|
14
|
+
import { useTideToaster } from '@/composables/useTideToaster';
|
|
15
|
+
import { CSS } from '@/types/Styles';
|
|
16
|
+
import { TOP_LAYER_ID, initFauxTopLayer } from '@/utilities/viewport';
|
|
17
|
+
|
|
18
|
+
const { toasts, clearToasts, cancelAutoDismiss, startAutoDismiss } = useTideToaster();
|
|
19
|
+
|
|
20
|
+
onBeforeMount(() => {
|
|
21
|
+
initFauxTopLayer();
|
|
22
|
+
});
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<Teleport :to="`#${TOP_LAYER_ID}`">
|
|
27
|
+
<div
|
|
28
|
+
:class="[
|
|
29
|
+
'tide-toaster',
|
|
30
|
+
CSS.HEIGHT.FULL,
|
|
31
|
+
CSS.POINTER_EVENTS.OFF,
|
|
32
|
+
CSS.POSITION.FIXED,
|
|
33
|
+
CSS.POSITIONING.LEFT,
|
|
34
|
+
CSS.POSITIONING.TOP,
|
|
35
|
+
CSS.WIDTH.FULL,
|
|
36
|
+
]"
|
|
37
|
+
>
|
|
38
|
+
<TransitionGroup name="pop">
|
|
39
|
+
<div
|
|
40
|
+
:class="[
|
|
41
|
+
'tide-toast-wrap',
|
|
42
|
+
CSS.POINTER_EVENTS.ON,
|
|
43
|
+
CSS.POSITION.ABSOLUTE,
|
|
44
|
+
CSS.Z_INDEX.ONE,
|
|
45
|
+
CSS.POSITIONING.RIGHT,
|
|
46
|
+
CSS.POSITIONING.TOP,
|
|
47
|
+
CSS.MARGIN.FULL.ONE,
|
|
48
|
+
CSS.WIDTH.STRETCH,
|
|
49
|
+
]"
|
|
50
|
+
:key="toast.id"
|
|
51
|
+
@mouseenter="cancelAutoDismiss"
|
|
52
|
+
@mouseleave="startAutoDismiss"
|
|
53
|
+
v-for="toast in toasts"
|
|
54
|
+
>
|
|
55
|
+
<TideAlert
|
|
56
|
+
:cta-label="toast.action?.label"
|
|
57
|
+
:heading="toast.heading"
|
|
58
|
+
:style="{ '--tide-max-width': 'none' }"
|
|
59
|
+
@close="clearToasts"
|
|
60
|
+
@cta-click="toast?.action?.callback"
|
|
61
|
+
is-dismissible
|
|
62
|
+
is-toast
|
|
63
|
+
>
|
|
64
|
+
{{ toast.description }}
|
|
65
|
+
</TideAlert>
|
|
66
|
+
</div>
|
|
67
|
+
</TransitionGroup>
|
|
68
|
+
</div>
|
|
69
|
+
</Teleport>
|
|
70
|
+
</template>
|
|
71
|
+
|
|
72
|
+
<style scoped>
|
|
73
|
+
.pop-enter-active,
|
|
74
|
+
.pop-leave-active {
|
|
75
|
+
transition: var(--tide-animate);
|
|
76
|
+
transition-property: opacity, transform, translate;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.pop-enter-from {
|
|
80
|
+
translate: 100% 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.pop-leave-to {
|
|
84
|
+
opacity: 0;
|
|
85
|
+
z-index: 0 !important;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.pop-leave-active {
|
|
89
|
+
position: absolute;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@media (min-width: 768px) {
|
|
93
|
+
.tide-toast-wrap {
|
|
94
|
+
width: 400px;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
</style>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { inject, provide, readonly, ref } from 'vue';
|
|
2
|
+
|
|
3
|
+
import type { TideToast, TideToastOmitId, TideToaster } from '@/types/Toast';
|
|
4
|
+
|
|
5
|
+
const TOASTER_KEY = Symbol('tide-toaster');
|
|
6
|
+
|
|
7
|
+
const AUTO_DISMISS_DURATION_MS = {
|
|
8
|
+
ACTIONABLE: 10000,
|
|
9
|
+
INFORMATIONAL: 5000,
|
|
10
|
+
} as const;
|
|
11
|
+
|
|
12
|
+
export const useTideToaster = () => {
|
|
13
|
+
const injected = inject<TideToaster>(TOASTER_KEY);
|
|
14
|
+
if (injected) return injected;
|
|
15
|
+
|
|
16
|
+
const timeoutId = ref<ReturnType<typeof setTimeout> | null>(null);
|
|
17
|
+
const toasts = ref<TideToast[]>([]);
|
|
18
|
+
const id = ref<number>(0);
|
|
19
|
+
|
|
20
|
+
const addToast = (newToast: TideToastOmitId) => {
|
|
21
|
+
id.value++;
|
|
22
|
+
clearToasts();
|
|
23
|
+
|
|
24
|
+
toasts.value.push({
|
|
25
|
+
...newToast,
|
|
26
|
+
id: `tide-toast-${id.value}`,
|
|
27
|
+
} as TideToast);
|
|
28
|
+
|
|
29
|
+
if (typeof window !== 'undefined') {
|
|
30
|
+
cancelAutoDismiss();
|
|
31
|
+
startAutoDismiss();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const clearToasts = () => {
|
|
36
|
+
toasts.value = [];
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const cancelAutoDismiss = () => {
|
|
40
|
+
if (timeoutId.value) clearTimeout(timeoutId.value);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const startAutoDismiss = () => {
|
|
44
|
+
if (!toasts.value.length) return;
|
|
45
|
+
|
|
46
|
+
const autoDismissDuration = toasts.value[0].action
|
|
47
|
+
? AUTO_DISMISS_DURATION_MS.ACTIONABLE
|
|
48
|
+
: AUTO_DISMISS_DURATION_MS.INFORMATIONAL;
|
|
49
|
+
timeoutId.value = setTimeout(clearToasts, autoDismissDuration);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const toaster: TideToaster = {
|
|
53
|
+
addToast,
|
|
54
|
+
cancelAutoDismiss,
|
|
55
|
+
clearToasts,
|
|
56
|
+
startAutoDismiss,
|
|
57
|
+
toasts: readonly(toasts),
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
provide(TOASTER_KEY, toaster);
|
|
61
|
+
|
|
62
|
+
return toaster;
|
|
63
|
+
};
|
|
@@ -50,21 +50,12 @@ export default {
|
|
|
50
50
|
type: { summary: 'HTML' },
|
|
51
51
|
},
|
|
52
52
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
hasTopDivider: {
|
|
58
|
-
...argTypeBooleanUnrequired,
|
|
59
|
-
description: 'Determines whether to include bottom divider',
|
|
60
|
-
},
|
|
61
|
-
isOptional: {
|
|
62
|
-
...argTypeBooleanUnrequired,
|
|
63
|
-
description: 'Determines whether to show "(optional)" indicator after label',
|
|
64
|
-
},
|
|
53
|
+
disabled: argTypeBooleanUnrequired,
|
|
54
|
+
hasBottomDivider: argTypeBooleanUnrequired,
|
|
55
|
+
hasTopDivider: argTypeBooleanUnrequired,
|
|
56
|
+
isOptional: argTypeBooleanUnrequired,
|
|
65
57
|
label: {
|
|
66
58
|
control: 'text',
|
|
67
|
-
description: 'Label exposed when collapsed',
|
|
68
59
|
table: {
|
|
69
60
|
defaultValue: { summary: 'None' },
|
|
70
61
|
type: { summary: 'string' },
|
|
@@ -83,6 +74,7 @@ export default {
|
|
|
83
74
|
args: {
|
|
84
75
|
dataTrack: '',
|
|
85
76
|
default: 'Lorem Ipsum',
|
|
77
|
+
disabled: undefined,
|
|
86
78
|
hasBottomDivider: undefined,
|
|
87
79
|
hasTopDivider: undefined,
|
|
88
80
|
isOptional: undefined,
|
|
@@ -60,7 +60,6 @@ export default {
|
|
|
60
60
|
close: disabledArgType,
|
|
61
61
|
ctaLabel: {
|
|
62
62
|
control: 'text',
|
|
63
|
-
description: 'Call To Action that renders as a TideLink; clicking emits a separate `click` event',
|
|
64
63
|
table: {
|
|
65
64
|
defaultValue: { summary: 'None' },
|
|
66
65
|
type: { summary: 'string' },
|
|
@@ -99,23 +98,15 @@ export default {
|
|
|
99
98
|
},
|
|
100
99
|
heading: {
|
|
101
100
|
control: 'text',
|
|
102
|
-
description: 'Heading text',
|
|
103
101
|
table: {
|
|
104
102
|
defaultValue: { summary: 'None' },
|
|
105
103
|
type: { summary: 'HTML' },
|
|
106
104
|
},
|
|
107
105
|
},
|
|
108
|
-
isDismissible:
|
|
109
|
-
|
|
110
|
-
description: 'Determines whether the Alert can be closed by the user',
|
|
111
|
-
},
|
|
112
|
-
isToast: {
|
|
113
|
-
...argTypeBooleanUnrequired,
|
|
114
|
-
description: 'Determines whether the Alert is an overlay or displaces content',
|
|
115
|
-
},
|
|
106
|
+
isDismissible: argTypeBooleanUnrequired,
|
|
107
|
+
isToast: argTypeBooleanUnrequired,
|
|
116
108
|
type: {
|
|
117
109
|
...formatArgType({ ALERT }),
|
|
118
|
-
description: 'Alert type',
|
|
119
110
|
table: {
|
|
120
111
|
defaultValue: { summary: 'ALERT' },
|
|
121
112
|
},
|
|
@@ -46,7 +46,6 @@ export default {
|
|
|
46
46
|
argTypes: {
|
|
47
47
|
color: {
|
|
48
48
|
...formatArgType({ BADGE_COLOR }),
|
|
49
|
-
description: 'Determines which color option to adopt (if any)',
|
|
50
49
|
table: {
|
|
51
50
|
category: 'Props',
|
|
52
51
|
defaultValue: { summary: 'None' },
|
|
@@ -54,7 +53,6 @@ export default {
|
|
|
54
53
|
},
|
|
55
54
|
iconLeading: {
|
|
56
55
|
...formatArgType({ ICON }),
|
|
57
|
-
description: 'Icon to left of label',
|
|
58
56
|
table: {
|
|
59
57
|
category: 'Props',
|
|
60
58
|
defaultValue: { summary: 'None' },
|
|
@@ -62,7 +60,6 @@ export default {
|
|
|
62
60
|
},
|
|
63
61
|
isFloating: {
|
|
64
62
|
...argTypeBooleanUnrequired,
|
|
65
|
-
description: 'Determines whether to display the "Floating" variant styles',
|
|
66
63
|
table: {
|
|
67
64
|
category: 'Props',
|
|
68
65
|
defaultValue: { summary: 'None' },
|
|
@@ -70,7 +67,6 @@ export default {
|
|
|
70
67
|
},
|
|
71
68
|
label: {
|
|
72
69
|
control: 'text',
|
|
73
|
-
description: 'Badge text',
|
|
74
70
|
table: {
|
|
75
71
|
category: 'Props',
|
|
76
72
|
defaultValue: { summary: 'None' },
|
|
@@ -5,6 +5,7 @@ import * as STANDARD_ELEMENT from '@/types/Element';
|
|
|
5
5
|
import * as STANDARD_ICON from '@/types/Icon';
|
|
6
6
|
import * as STANDARD_PRIORITY from '@/types/Priority';
|
|
7
7
|
import * as STANDARD_SIZE_BUTTON from '@/types/Size';
|
|
8
|
+
import * as STANDARD_TYPE_BUTTON from '@/types/Type';
|
|
8
9
|
import {
|
|
9
10
|
argTypeBooleanUnrequired,
|
|
10
11
|
click,
|
|
@@ -22,7 +23,9 @@ type Args = InstanceType<typeof TideButton>['$props'] & {
|
|
|
22
23
|
const ELEMENT = prependNoneAsUndefined(STANDARD_ELEMENT.ELEMENT);
|
|
23
24
|
const ICON = prependNoneAsUndefined(STANDARD_ICON.ICON);
|
|
24
25
|
const PRIORITY = prependNoneAsUndefined(STANDARD_PRIORITY.PRIORITY);
|
|
26
|
+
delete PRIORITY['FLOATING']; // Floating is only available in TideButtonIcon
|
|
25
27
|
const SIZE_BUTTON = prependNoneAsUndefined(STANDARD_SIZE_BUTTON.SIZE_BUTTON);
|
|
28
|
+
const BUTTON_TYPE = prependNoneAsUndefined(STANDARD_TYPE_BUTTON.BUTTON_TYPE);
|
|
26
29
|
|
|
27
30
|
const render = (args: Args) => ({
|
|
28
31
|
components: { TideButton },
|
|
@@ -55,18 +58,15 @@ export default {
|
|
|
55
58
|
dataTrack,
|
|
56
59
|
disabled: {
|
|
57
60
|
...argTypeBooleanUnrequired,
|
|
58
|
-
description: 'Determines clickability<br />(Button only)',
|
|
59
61
|
if: { arg: 'element', neq: ELEMENT.LINK },
|
|
60
62
|
},
|
|
61
63
|
element: {
|
|
62
64
|
...formatArgType({ ELEMENT }),
|
|
63
|
-
description: 'HTML tag type',
|
|
64
65
|
table: {
|
|
65
66
|
defaultValue: { summary: 'BUTTON' },
|
|
66
67
|
},
|
|
67
68
|
},
|
|
68
69
|
href: {
|
|
69
|
-
description: 'URL to open<br />(Link only)',
|
|
70
70
|
if: { arg: 'element', eq: ELEMENT.LINK },
|
|
71
71
|
table: {
|
|
72
72
|
defaultValue: { summary: 'None' },
|
|
@@ -75,20 +75,16 @@ export default {
|
|
|
75
75
|
},
|
|
76
76
|
iconLeading: {
|
|
77
77
|
...formatArgType({ ICON }),
|
|
78
|
-
description: 'Icon to left of label',
|
|
79
78
|
},
|
|
80
79
|
iconTrailing: {
|
|
81
80
|
...formatArgType({ ICON }),
|
|
82
|
-
description: 'Icon to right of label',
|
|
83
81
|
},
|
|
84
82
|
isNewTab: {
|
|
85
83
|
...argTypeBooleanUnrequired,
|
|
86
|
-
description: 'Determines whether to target a new browser tab<br />(Link only)',
|
|
87
84
|
if: { arg: 'element', eq: ELEMENT.LINK },
|
|
88
85
|
},
|
|
89
86
|
label: {
|
|
90
87
|
control: 'text',
|
|
91
|
-
description: 'Button text',
|
|
92
88
|
table: {
|
|
93
89
|
defaultValue: { summary: 'None' },
|
|
94
90
|
type: { summary: 'string' },
|
|
@@ -96,18 +92,22 @@ export default {
|
|
|
96
92
|
},
|
|
97
93
|
priority: {
|
|
98
94
|
...formatArgType({ PRIORITY }),
|
|
99
|
-
description: 'Determines visual prominence',
|
|
100
95
|
table: {
|
|
101
96
|
defaultValue: { summary: 'PRIMARY' },
|
|
102
97
|
},
|
|
103
98
|
},
|
|
104
99
|
size: {
|
|
105
100
|
...formatArgType({ SIZE_BUTTON }),
|
|
106
|
-
description: 'Determines rendered size',
|
|
107
101
|
table: {
|
|
108
102
|
defaultValue: { summary: 'LARGE' },
|
|
109
103
|
},
|
|
110
104
|
},
|
|
105
|
+
type: {
|
|
106
|
+
...formatArgType({ BUTTON_TYPE }),
|
|
107
|
+
table: {
|
|
108
|
+
defaultValue: { summary: 'BUTTON' },
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
111
|
},
|
|
112
112
|
args: {
|
|
113
113
|
click: 'doSomething',
|
|
@@ -4,6 +4,7 @@ import TideButtonIcon from '@/components/TideButtonIcon.vue';
|
|
|
4
4
|
import * as STANDARD_ELEMENT from '@/types/Element';
|
|
5
5
|
import { ICON } from '@/types/Icon';
|
|
6
6
|
import * as STANDARD_PRIORITY from '@/types/Priority';
|
|
7
|
+
import * as STANDARD_TYPE_BUTTON from '@/types/Type';
|
|
7
8
|
import {
|
|
8
9
|
argTypeBooleanUnrequired,
|
|
9
10
|
click,
|
|
@@ -20,6 +21,7 @@ type Args = InstanceType<typeof TideButtonIcon>['$props'] & {
|
|
|
20
21
|
|
|
21
22
|
const ELEMENT = prependNoneAsUndefined(STANDARD_ELEMENT.ELEMENT);
|
|
22
23
|
const PRIORITY = prependNoneAsUndefined(STANDARD_PRIORITY.PRIORITY);
|
|
24
|
+
const BUTTON_TYPE = prependNoneAsUndefined(STANDARD_TYPE_BUTTON.BUTTON_TYPE);
|
|
23
25
|
|
|
24
26
|
const render = (args: Args) => ({
|
|
25
27
|
components: { TideButtonIcon },
|
|
@@ -40,7 +42,7 @@ const render = (args: Args) => ({
|
|
|
40
42
|
},
|
|
41
43
|
},
|
|
42
44
|
setup: () => ({ args }),
|
|
43
|
-
template: '<TideButtonIcon @click="handleClick"
|
|
45
|
+
template: '<TideButtonIcon @click="handleClick" v-bind="args" />',
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
export default {
|
|
@@ -52,18 +54,15 @@ export default {
|
|
|
52
54
|
dataTrack,
|
|
53
55
|
disabled: {
|
|
54
56
|
...argTypeBooleanUnrequired,
|
|
55
|
-
description: 'Determines clickability<br />(Button only)',
|
|
56
57
|
if: { arg: 'element', neq: ELEMENT.LINK },
|
|
57
58
|
},
|
|
58
59
|
element: {
|
|
59
60
|
...formatArgType({ ELEMENT }),
|
|
60
|
-
description: 'HTML tag type',
|
|
61
61
|
table: {
|
|
62
62
|
defaultValue: { summary: 'BUTTON' },
|
|
63
63
|
},
|
|
64
64
|
},
|
|
65
65
|
href: {
|
|
66
|
-
description: 'URL to open<br />(Link only)',
|
|
67
66
|
if: { arg: 'element', eq: ELEMENT.LINK },
|
|
68
67
|
table: {
|
|
69
68
|
defaultValue: { summary: 'None' },
|
|
@@ -72,20 +71,23 @@ export default {
|
|
|
72
71
|
},
|
|
73
72
|
icon: {
|
|
74
73
|
...formatArgType({ ICON }),
|
|
75
|
-
description: 'Icon',
|
|
76
74
|
},
|
|
77
75
|
isNewTab: {
|
|
78
76
|
...argTypeBooleanUnrequired,
|
|
79
|
-
description: 'Determines whether to target a new browser tab<br />(Link only)',
|
|
80
77
|
if: { arg: 'element', eq: ELEMENT.LINK },
|
|
81
78
|
},
|
|
82
79
|
priority: {
|
|
83
80
|
...formatArgType({ PRIORITY }),
|
|
84
|
-
description: 'Determines visual prominence',
|
|
85
81
|
table: {
|
|
86
82
|
defaultValue: { summary: 'PRIMARY' },
|
|
87
83
|
},
|
|
88
84
|
},
|
|
85
|
+
type: {
|
|
86
|
+
...formatArgType({ BUTTON_TYPE }),
|
|
87
|
+
table: {
|
|
88
|
+
defaultValue: { summary: 'BUTTON' },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
89
91
|
},
|
|
90
92
|
args: {
|
|
91
93
|
click: 'doSomething',
|
|
@@ -49,7 +49,6 @@ export default {
|
|
|
49
49
|
dataTrack,
|
|
50
50
|
disabled: {
|
|
51
51
|
...argTypeBooleanUnrequired,
|
|
52
|
-
description: 'Indicates whether Pagination Button is associated with the displayed page',
|
|
53
52
|
if: {
|
|
54
53
|
arg: 'element',
|
|
55
54
|
eq: ELEMENT_BROAD.BUTTON,
|
|
@@ -57,13 +56,11 @@ export default {
|
|
|
57
56
|
},
|
|
58
57
|
element: {
|
|
59
58
|
...formatArgType({ ELEMENT_BROAD }),
|
|
60
|
-
description: 'HTML tag type',
|
|
61
59
|
table: {
|
|
62
60
|
defaultValue: { summary: 'BUTTON' },
|
|
63
61
|
},
|
|
64
62
|
},
|
|
65
63
|
href: {
|
|
66
|
-
description: 'URL to open<br />(Link only)',
|
|
67
64
|
if: { arg: 'element', eq: ELEMENT_BROAD.LINK },
|
|
68
65
|
table: {
|
|
69
66
|
defaultValue: { summary: 'None' },
|
|
@@ -77,7 +74,6 @@ export default {
|
|
|
77
74
|
},
|
|
78
75
|
label: {
|
|
79
76
|
control: 'text',
|
|
80
|
-
description: 'Button text',
|
|
81
77
|
table: {
|
|
82
78
|
defaultValue: { summary: 'None' },
|
|
83
79
|
type: { summary: 'string' },
|
|
@@ -48,7 +48,6 @@ export default {
|
|
|
48
48
|
},
|
|
49
49
|
description: {
|
|
50
50
|
control: 'text',
|
|
51
|
-
description: 'Optional description text displayed below the heading.',
|
|
52
51
|
table: {
|
|
53
52
|
defaultValue: { summary: 'None' },
|
|
54
53
|
type: { summary: 'string' },
|
|
@@ -56,7 +55,13 @@ export default {
|
|
|
56
55
|
},
|
|
57
56
|
heading: {
|
|
58
57
|
control: 'text',
|
|
59
|
-
|
|
58
|
+
table: {
|
|
59
|
+
defaultValue: { summary: 'None' },
|
|
60
|
+
type: { summary: 'string' },
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
href: {
|
|
64
|
+
control: 'text',
|
|
60
65
|
table: {
|
|
61
66
|
defaultValue: { summary: 'None' },
|
|
62
67
|
type: { summary: 'string' },
|
|
@@ -64,19 +69,14 @@ export default {
|
|
|
64
69
|
},
|
|
65
70
|
icon: {
|
|
66
71
|
...formatArgType({ CARD_ICON }),
|
|
67
|
-
description: 'Optional icon displayed on the card.',
|
|
68
72
|
table: {
|
|
69
73
|
defaultValue: { summary: 'None' },
|
|
70
74
|
type: { summary: 'Icon' },
|
|
71
75
|
},
|
|
72
76
|
},
|
|
73
|
-
selected:
|
|
74
|
-
...argTypeBooleanUnrequired,
|
|
75
|
-
description: 'Determines whether the Card is selected (for selectable cards).',
|
|
76
|
-
},
|
|
77
|
+
selected: argTypeBooleanUnrequired,
|
|
77
78
|
type: {
|
|
78
79
|
...formatArgType({ TYPE_CARD }),
|
|
79
|
-
description: 'Type of the card.',
|
|
80
80
|
table: {
|
|
81
81
|
defaultValue: { summary: 'INFORMATIONAL' },
|
|
82
82
|
type: { summary: 'CardType' },
|
|
@@ -87,6 +87,7 @@ export default {
|
|
|
87
87
|
click: 'doSomething',
|
|
88
88
|
description: '',
|
|
89
89
|
heading: 'Demo',
|
|
90
|
+
href: '',
|
|
90
91
|
icon: CARD_ICON.None,
|
|
91
92
|
selected: undefined,
|
|
92
93
|
type: TYPE_CARD.None,
|