tide-design-system 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +55 -0
  2. package/dist/IconAccountBalance-91cf067b.js +10 -0
  3. package/dist/IconAdd-95c51c0e.js +10 -0
  4. package/dist/IconAi-08172540.js +22 -0
  5. package/dist/IconAlignSpace-9ab2bdf2.js +10 -0
  6. package/dist/IconApplePay-1ee6317b.js +10 -0
  7. package/dist/IconArrowBack-a2226a94.js +10 -0
  8. package/dist/IconArrowForward-e1ca9957.js +10 -0
  9. package/dist/IconArrowRight-53382084.js +10 -0
  10. package/dist/IconAssignment-332c2b2b.js +10 -0
  11. package/dist/IconAwardStar-1ca35385.js +10 -0
  12. package/dist/IconBookmark-49b42628.js +10 -0
  13. package/dist/IconCalendarMonth-22c938d7.js +10 -0
  14. package/dist/IconCall-989a47fc.js +10 -0
  15. package/dist/IconCheck-a3467b47.js +10 -0
  16. package/dist/IconChevronLeft-c1d90bb7.js +10 -0
  17. package/dist/IconChevronRight-ad47891f.js +10 -0
  18. package/dist/IconClear-7c8fad4e.js +10 -0
  19. package/dist/IconClose-4b6c5aed.js +10 -0
  20. package/dist/IconCycle-99d40f2d.js +10 -0
  21. package/dist/IconDelete-446eff93.js +10 -0
  22. package/dist/IconDiamond-765a7d8d.js +10 -0
  23. package/dist/IconEdit-ce05f3b5.js +10 -0
  24. package/dist/IconError-7983707a.js +10 -0
  25. package/dist/IconExpandContent-8b6e2125.js +10 -0
  26. package/dist/IconExpandLess-9e23f1e9.js +10 -0
  27. package/dist/IconExpandMore-ded098a7.js +10 -0
  28. package/dist/IconFacebook-3cab65a8.js +10 -0
  29. package/dist/IconFavorite-5fe831f4.js +10 -0
  30. package/dist/IconFavoriteFilled-58fa0bf7.js +10 -0
  31. package/dist/IconFormatBold-889f6b8b.js +10 -0
  32. package/dist/IconFormatItalic-103eba00.js +10 -0
  33. package/dist/IconFormatListBulleted-4c824025.js +10 -0
  34. package/dist/IconForum-abc2fe82.js +10 -0
  35. package/dist/IconGoogle-281b6d80.js +27 -0
  36. package/dist/IconGooglePay-cc83c5c8.js +10 -0
  37. package/dist/IconGrid-ef763745.js +10 -0
  38. package/dist/IconHelp-2ad33f76.js +10 -0
  39. package/dist/IconInfo-5878df77.js +10 -0
  40. package/dist/IconInsertText-0c62badf.js +10 -0
  41. package/dist/IconInstagram-69e21cfb.js +10 -0
  42. package/dist/IconIosShare-be5f117c.js +10 -0
  43. package/dist/IconLayout-c1ffbcd3.js +10 -0
  44. package/dist/IconLinkedIn-807ef6f5.js +10 -0
  45. package/dist/IconLocalShipping-2c6d71e0.js +10 -0
  46. package/dist/IconLock-9178e816.js +10 -0
  47. package/dist/IconMail-0123a7c6.js +10 -0
  48. package/dist/IconMenu-33ed2d99.js +10 -0
  49. package/dist/IconMoreHoriz-c281099f.js +10 -0
  50. package/dist/IconNotifications-89f80e0f.js +10 -0
  51. package/dist/IconOpenInNew-87ad0454.js +10 -0
  52. package/dist/IconPalette-7ee5b40c.js +10 -0
  53. package/dist/IconPaypal-e311eadd.js +10 -0
  54. package/dist/IconPerson-932fbcbc.js +10 -0
  55. package/dist/IconPhotoCamera-fdbd5767.js +10 -0
  56. package/dist/IconPinterest-2d19c2eb.js +10 -0
  57. package/dist/IconPlayArrow-9837a5c0.js +10 -0
  58. package/dist/IconRemove-29ef8f82.js +10 -0
  59. package/dist/IconRoundedCorners-8ad194fc.js +10 -0
  60. package/dist/IconSearch-5ff23d26.js +10 -0
  61. package/dist/IconSell-0e0ecd20.js +10 -0
  62. package/dist/IconShare-47084765.js +10 -0
  63. package/dist/IconShoppingCart-9d6495b3.js +10 -0
  64. package/dist/IconSms-5ba18382.js +10 -0
  65. package/dist/IconStar-ef69284b.js +10 -0
  66. package/dist/IconSwapVert-05e14e3d.js +10 -0
  67. package/dist/IconThreeDRotation-2433b2e8.js +25 -0
  68. package/dist/IconTune-3c6452f0.js +10 -0
  69. package/dist/IconTwitter-a634cef4.js +10 -0
  70. package/dist/IconVideocam-5712435e.js +10 -0
  71. package/dist/IconViewInAr-d38a23d5.js +10 -0
  72. package/dist/IconVisibility-8cdf7151.js +10 -0
  73. package/dist/IconWarning-b9e61180.js +10 -0
  74. package/dist/IconYoutube-92447826.js +10 -0
  75. package/dist/css/animation.css +14 -0
  76. package/dist/css/dynamic-buttons.css +79 -0
  77. package/dist/css/dynamic-inputs.css +43 -0
  78. package/dist/css/dynamic-utilities.css +30 -0
  79. package/dist/css/main.css +10 -0
  80. package/dist/css/page-layout.css +57 -0
  81. package/dist/css/realm/aero.css +42 -0
  82. package/dist/css/realm/atv.css +43 -0
  83. package/dist/css/realm/boatmart.css +42 -0
  84. package/dist/css/realm/cycle.css +42 -0
  85. package/dist/css/realm/equip.css +42 -0
  86. package/dist/css/realm/pwc.css +42 -0
  87. package/dist/css/realm/rv.css +42 -0
  88. package/dist/css/realm/snow.css +42 -0
  89. package/dist/css/realm/truck.css +42 -0
  90. package/dist/css/reset.css +79 -0
  91. package/dist/css/storybook.css +4 -0
  92. package/dist/css/utilities.css +301 -0
  93. package/dist/css/variables.css +114 -0
  94. package/dist/index-c5bc4216.js +1910 -0
  95. package/dist/style.css +1 -0
  96. package/dist/tide2-design-system.js +36 -0
  97. package/dist/types/Alert.ts +8 -0
  98. package/dist/types/Badge.ts +21 -0
  99. package/dist/types/BreadCrumb.ts +5 -0
  100. package/dist/types/Detail.ts +4 -0
  101. package/dist/types/Element.ts +13 -0
  102. package/dist/types/Field.ts +55 -0
  103. package/dist/types/Form.ts +1 -0
  104. package/dist/types/Formatted.ts +22 -0
  105. package/dist/types/Icon.ts +77 -0
  106. package/dist/types/Link.ts +5 -0
  107. package/dist/types/ListingMedia.ts +43 -0
  108. package/dist/types/Priority.ts +11 -0
  109. package/dist/types/Raw.ts +5 -0
  110. package/dist/types/Realm.ts +12 -0
  111. package/dist/types/RealmConfig.ts +14 -0
  112. package/dist/types/Select.ts +4 -0
  113. package/dist/types/Size.ts +6 -0
  114. package/dist/types/Storybook.ts +14 -0
  115. package/dist/types/StorybookStyles.ts +209 -0
  116. package/dist/types/Styles.ts +479 -0
  117. package/dist/types/Tab.ts +5 -0
  118. package/dist/types/Target.ts +6 -0
  119. package/dist/types/TextInput.ts +16 -0
  120. package/dist/types/Validation.ts +18 -0
  121. package/dist/types/Vehicle.ts +139 -0
  122. package/dist/types/VehicleDetail.ts +44 -0
  123. package/dist/types/index.d.ts +7 -0
  124. package/dist/utilities/format.ts +148 -0
  125. package/dist/utilities/forms.ts +47 -0
  126. package/dist/utilities/media.ts +77 -0
  127. package/dist/utilities/storybook.ts +237 -0
  128. package/dist/utilities/validation.ts +92 -0
  129. package/package.json +63 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";.tide-icon svg[data-v-335984a7]{width:1.5rem;height:1.5rem}.tide-icon.small svg[data-v-335984a7]{width:1.25rem;height:1.25rem}.tide-indicator[data-v-c83d0232]{width:.5rem;height:.5rem}.tide-indicator-label[data-v-c83d0232]{width:1rem;height:1rem}.tide-accordion-body[data-v-8d7c88a9]{transition:grid-template-rows var(--animate)}.tide-alert{grid-template-areas:"icon heading close" ". body .";grid-template-columns:auto 1fr auto;grid-column-gap:.5rem;max-width:40rem}.tide-alert-icon{grid-area:icon}.tide-alert-heading{grid-area:heading}.tide-alert-close{grid-area:close}.tide-alert-body{grid-area:body}.error{background-color:var(--error-surface)}.info{background-color:var(--info-surface)}.success{background-color:var(--success-surface)}.warning{background-color:var(--warning-surface)}.tide-icon.error{background-color:var(--error-primary)}.tide-icon.info{background-color:var(--info-primary)}.tide-icon.success{background-color:var(--success-primary)}.tide-icon.warning{background-color:var(--warning-primary)}.tide-button-icon[data-v-da022c05],.tide-link-as-button-icon[data-v-da022c05]{border:1px solid var(--white);background:var(--white);color:var(--secondary)}.tide-button-icon[data-v-da022c05]:not(:disabled):hover,.tide-link-as-button-icon[data-v-da022c05]:not(:disabled):hover{border:1px solid var(--surface-variant);background:var(--surface-variant)}.tide-button-icon[data-v-da022c05]:disabled,.tide-link-as-button-icon[data-v-da022c05]:disabled{border:1px solid var(--border-high)}.tide-button-icon .label[data-v-da022c05],.tide-link-as-button-icon .label[data-v-da022c05]{width:1.5rem;height:1.5rem}.tide-chip-action[data-v-075e9916]:hover{background-color:var(--surface-variant);border-color:var(--border-high)}.tide-chip-filter[data-v-7cdf9402]{border-color:var(--surface-variant)}.tide-chip-filter.active[data-v-7cdf9402]{border-color:var(--secondary)}.tide-chip-filter[data-v-7cdf9402]:hover{background-color:var(--surface-variant);border-color:var(--border);color:var(--on-surface)}.tide-chip-input[data-v-ac1feac9]:hover{background-color:var(--surface-variant);border-color:var(--border-high)}ul.tide-display-flex.tide-flex-wrap>.tide-columns-column{width:100%}@media (min-width: 992px){ul.tide-display-flex.tide-flex-wrap>.tide-columns-column{width:calc((100% - 2rem)/2)}}@media (min-width: 1232px){ul.tide-display-flex.tide-flex-wrap>.tide-columns-column{width:calc((100% - 6rem)/4)}}.tide-svg-icon svg[data-v-fecfca9d]{width:1.5rem;height:1.5rem}.tide-svg-icon.small svg[data-v-fecfca9d]{width:1rem;height:1rem}select[data-v-b1bb4363]{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea[data-v-18902ba3]{resize:vertical}.tide-modal-bg[data-v-33d67c7c]{transition:backdrop-filter .3s ease,background-color .3s ease;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tide-modal[data-v-33d67c7c]{width:var(--modal-width);max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);box-shadow:0 10px 25px #122b3a33;animation:modalOpen .3s ease}.modal-header[data-v-33d67c7c]{min-height:5rem}.modal-content[data-v-33d67c7c]{display:grid;grid-template-columns:2rem 1fr 2rem}.modal-content[data-v-33d67c7c]>*{grid-column:2}.v-enter-from[data-v-33d67c7c],.v-leave-to[data-v-33d67c7c]{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#fff0}.v-enter-from .tide-modal[data-v-33d67c7c],.v-leave-to .tide-modal[data-v-33d67c7c]{transform:translateY(100vh)}.v-enter-active[data-v-33d67c7c],.v-leave-active[data-v-33d67c7c]{transition:backdrop-filter var(--animate),background-color var(--animate)}.v-enter-active .tide-modal[data-v-33d67c7c],.v-leave-active .tide-modal[data-v-33d67c7c]{transition:transform var(--animate)}.v-enter-to[data-v-33d67c7c],.v-leave-from[data-v-33d67c7c]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff4d}.v-enter-to .tide-modal[data-v-33d67c7c],.v-leave-from .tide-modal[data-v-33d67c7c]{transform:translateY(0)}ul.tide-display-flex.tide-flex-wrap>.tide-width-1\/4{width:100%}@media (min-width: 992px){ul.tide-display-flex.tide-flex-wrap>.tide-width-1\/4{width:calc((100% - 2rem)/2)}}@media (min-width: 1232px){ul.tide-display-flex.tide-flex-wrap>.tide-width-1\/4{width:calc((100% - 6rem)/4)}}.tide-tabs[data-v-bbd05072]{max-width:23.3rem}.tide-tabs-tab[data-v-bbd05072]{flex:1;transition:background-color var(--animate)}.tide-toggle[data-v-a4d75625]{width:64px;height:32px;transition:background-color var(--animate)}.tide-toggle[data-v-a4d75625]:disabled{opacity:.32}.tide-toggle-indicator[data-v-a4d75625]{left:4px;width:24px;height:24px;transition:left var(--animate)}.active[data-v-a4d75625]{left:36px}:root{--font-12: .75rem;--font-14: .875rem;--font-16: 1rem;--font-20: 1.25rem;--font-24: 1.5rem;--font-28: 1.75rem;--font-32: 2rem;--font-400: 400;--font-500: 500;--font-600: 600;--font-700: 700;--animate: .3s ease-in-out;--spacing-0: 0rem;--spacing-1\/4: .25rem;--spacing-1\/2: .5rem;--spacing-1: 1rem;--spacing-2: 2rem;--spacing-4: 4rem;--border-width-1: 1px;--border-width-2: 2px;--border-1: var(--border-width-1) solid var(--black);--border-2: var(--border-width-2) solid var(--black);--radius-1\/4: 4px;--radius-1\/2: 8px;--radius-1: 16px;--radius-full: 99999px;--blue-100: #D1E0EB;--blue-200: #A4C1D7;--blue-300: #76A3C4;--blue-400: #4984B0;--gray-100: #FFFFFF;--gray-200: #F5F5F5;--gray-300: #E4E4E4;--gray-400: #C9CACB;--gray-500: #AEAFB2;--gray-600: #939598;--gray-700: #6E7072;--gray-800: #494A4C;--gray-900: #252526;--gray-1000: #000000;--green-100: #E6EFCF;--green-200: #CDE09E;--green-300: #B4D06E;--green-400: #9BC13D;--red-100: #EFCFCF;--red-200: #E09E9E;--red-300: #D06E6E;--red-400: #C13D3D;--red-500: #912E2E;--yellow-100: #FEF2CC;--yellow-200: #FCE499;--yellow-300: #FBD766;--yellow-400: #FACA33;--black: var(--gray-900);--white: var(--gray-100);--shadow-bottom: 0px 2px 8px 2px rgba(0, 0, 0, .07);--shadow-top: 0px -2px 8px 2px rgba(0, 0, 0, .07);--transparent-100: rgba(255, 255, 255, .9);--transparent-200: rgba(255, 255, 255, .75);--transparent-300: rgba(0, 0, 0, .1);--transparent-400: rgba(0, 0, 0, .5);--error-primary: var(--red-400);--error-primary-border: var(--red-300);--error-surface: var(--red-100);--error-border: var(--red-200);--error-border-low: var(--red-200);--error-border-high: var(--red-200);--error-on-surface: var(--red-200);--error-on-surface-variant: var(--red-200);--info-primary: var(--blue-400);--info-primary-border: var(--blue-300);--info-surface: var(--blue-100);--info-border: var(--blue-200);--success-primary: var(--green-400);--success-primary-border: var(--green-300);--success-surface: var(--green-100);--success-border: var(--green-200);--warning-primary: var(--yellow-400);--warning-primary-border: var(--yellow-300);--warning-surface: var(--yellow-100);--warning-border: var(--yellow-200)}html,body{color:var(--on-surface)}*,*:before,*:after{box-sizing:border-box;margin:0;border:0;padding:0;color:inherit;font-family:Montserrat;font-weight:var(--font-500);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--font-32)}h2{font-size:var(--font-24)}h3{font-size:var(--font-20)}h4,h5{font-size:var(--font-16)}h1,h2,h3,h4,h5{font-weight:var(--font-700)}img,label{display:block}img{max-width:100%}p{max-width:80ch;line-height:150%}button,input,option,select,textarea{background-color:unset;font-family:inherit;font-size:inherit}button:enabled,select{cursor:pointer}button:disabled{cursor:not-allowed}input::placeholder{color:var(--gray);opacity:1}input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none}.tide-position-absolute{position:absolute}.tide-position-fixed{position:fixed}.tide-position-relative{position:relative}.tide-position-sticky{position:sticky}.tide-top-0{top:0}.tide-right-0{right:0}.tide-bottom-0{bottom:0}.tide-left-0{left:0}.tide-display-block{display:block}.tide-display-contents{display:contents}.tide-display-flex{display:flex}.tide-display-grid{display:grid}.tide-display-initial{display:initial}.tide-display-inline{display:inline}.tide-display-inline-block{display:inline-block}.tide-display-inline-flex{display:inline-flex}.tide-display-none{display:none}.tide-flex-column{flex-direction:column}.tide-flex-column-reverse{flex-direction:column-reverse}.tide-flex-row{flex-direction:row}.tide-flex-row-reverse{flex-direction:row-reverse}.tide-grow{flex-grow:1}.tide-grow-none{flex-grow:0}.tide-shrink{flex-shrink:1}.tide-shrink-none{flex-shrink:0}.tide-flex-wrap{flex-wrap:wrap}.tide-axis1-around{justify-content:space-around}.tide-axis1-between{justify-content:space-between}.tide-axis1-center{justify-content:center}.tide-axis1-end{justify-content:end}.tide-axis2-around{align-items:space-around}.tide-axis2-center{align-items:center}.tide-axis2-end{align-items:flex-end}.tide-axis2-start{align-items:flex-start}.tide-axis2-stretch{align-items:stretch}.tide-gap-1\/4{gap:var(--spacing-1\/4)}.tide-gap-1\/2{gap:var(--spacing-1\/2)}.tide-gap-1{gap:var(--spacing-1)}.tide-gap-2{gap:var(--spacing-2)}.tide-gap-4{gap:var(--spacing-4)}.tide-box-border{box-sizing:border-box}.tide-box-content{box-sizing:content-box}.tide-margin-0{margin:0}.tide-margin-1\/4{margin:var(--spacing-1\/4)}.tide-margin-1\/2{margin:var(--spacing-1\/2)}.tide-margin-1{margin:var(--spacing-1)}.tide-margin-2{margin:var(--spacing-2)}.tide-margin-4{margin:var(--spacing-4)}.tide-margin-x-0{margin-left:0;margin-right:0}.tide-margin-x-1\/4{margin-left:var(--spacing-1\/4);margin-right:var(--spacing-1\/4)}.tide-margin-x-1\/2{margin-left:var(--spacing-1\/2);margin-right:var(--spacing-1\/2)}.tide-margin-x-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.tide-margin-x-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.tide-margin-x-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.tide-margin-x-auto{margin-left:auto;margin-right:auto}.tide-margin-y-0{margin-top:0;margin-bottom:0}.tide-margin-y-1\/4{margin-top:var(--spacing-1\/4);margin-bottom:var(--spacing-1\/4)}.tide-margin-y-1\/2{margin-top:var(--spacing-1\/2);margin-bottom:var(--spacing-1\/2)}.tide-margin-y-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.tide-margin-y-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.tide-margin-y-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.tide-margin-top-0{margin-top:0}.tide-margin-top-1\/4{margin-top:var(--spacing-1\/4)}.tide-margin-top-1\/2{margin-top:var(--spacing-1\/2)}.tide-margin-top-1{margin-top:var(--spacing-1)}.tide-margin-top-2{margin-top:var(--spacing-2)}.tide-margin-top-4{margin-top:var(--spacing-4)}.tide-margin-right-0{margin-right:0}.tide-margin-right-1\/4{margin-right:var(--spacing-1\/4)}.tide-margin-right-1\/2{margin-right:var(--spacing-1\/2)}.tide-margin-right-1{margin-right:var(--spacing-1)}.tide-margin-right-2{margin-right:var(--spacing-2)}.tide-margin-right-4{margin-right:var(--spacing-4)}.tide-margin-right-auto{margin-right:auto}.tide-margin-bottom-0{margin-bottom:0}.tide-margin-bottom-1\/4{margin-bottom:var(--spacing-1\/4)}.tide-margin-bottom-1\/2{margin-bottom:var(--spacing-1\/2)}.tide-margin-bottom-1{margin-bottom:var(--spacing-1)}.tide-margin-bottom-2{margin-bottom:var(--spacing-2)}.tide-margin-bottom-4{margin-bottom:var(--spacing-4)}.tide-margin-left-0{margin-left:0}.tide-margin-left-1\/2{margin-left:var(--spacing-1\/2)}.tide-margin-left-1{margin-left:var(--spacing-1)}.tide-margin-left-2{margin-left:var(--spacing-2)}.tide-margin-left-4{margin-left:var(--spacing-4)}.tide-margin-left-auto{margin-left:auto}.tide-border-1,.tide-border-2,.tide-border-bottom-1,.tide-border-bottom-2,.tide-border-left-1,.tide-border-left-2,.tide-border-right-1,.tide-border-right-2,.tide-border-top-1,.tide-border-top-2{border-style:solid}.tide-border-1{border-width:var(--border-width-1)}.tide-border-2{border-width:var(--border-width-2)}.tide-border-top-1{border-top-width:var(--border-width-1)}.tide-border-right-1{border-right-width:var(--border-width-1)}.tide-border-bottom-1{border-bottom-width:var(--border-width-1)}.tide-border-left-1{border-left-width:var(--border-width-1)}.tide-border-top-2{border-top-width:var(--border-width-2)}.tide-border-right-2{border-right-width:var(--border-width-2)}.tide-border-bottom-2{border-bottom-width:var(--border-width-2)}.tide-border-left-2{border-left-width:var(--border-width-2)}.tide-radius-1\/4{border-radius:var(--radius-1\/4)}.tide-radius-1\/2{border-radius:var(--radius-1\/2)}.tide-radius-1{border-radius:var(--radius-1)}.tide-radius-full{border-radius:var(--radius-full)}.tide-padding-0{padding:0}.tide-padding-1\/4{padding:var(--spacing-1\/4)}.tide-padding-1\/2{padding:var(--spacing-1\/2)}.tide-padding-1{padding:var(--spacing-1)}.tide-padding-2{padding:var(--spacing-2)}.tide-padding-4{padding:var(--spacing-4)}.tide-padding-x-0{padding-left:0;padding-right:0}.tide-padding-x-1\/4{padding-left:var(--spacing-1\/4);padding-right:var(--spacing-1\/4)}.tide-padding-x-1\/2{padding-left:var(--spacing-1\/2);padding-right:var(--spacing-1\/2)}.tide-padding-x-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.tide-padding-x-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.tide-padding-x-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.tide-padding-y-0{padding-top:0;padding-bottom:0}.tide-padding-y-1\/4{padding-top:var(--spacing-1\/4);padding-bottom:var(--spacing-1\/4)}.tide-padding-y-1\/2{padding-top:var(--spacing-1\/2);padding-bottom:var(--spacing-1\/2)}.tide-padding-y-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.tide-padding-y-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.tide-padding-y-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.tide-padding-top-0{padding-top:0}.tide-padding-top-1\/4{padding-top:var(--spacing-1\/4)}.tide-padding-top-1\/2{padding-top:var(--spacing-1\/2)}.tide-padding-top-1{padding-top:var(--spacing-1)}.tide-padding-top-2{padding-top:var(--spacing-2)}.tide-padding-top-4{padding-top:var(--spacing-4)}.tide-padding-right-0{padding-right:0}.tide-padding-right-1\/4{padding-right:var(--spacing-1\/4)}.tide-padding-right-1\/2{padding-right:var(--spacing-1\/2)}.tide-padding-right-1{padding-right:var(--spacing-1)}.tide-padding-right-2{padding-right:var(--spacing-2)}.tide-padding-right-4{padding-right:var(--spacing-4)}.tide-padding-bottom-0{padding-bottom:0}.tide-padding-bottom-1\/4{padding-bottom:var(--spacing-1\/4)}.tide-padding-bottom-1\/2{padding-bottom:var(--spacing-1\/2)}.tide-padding-bottom-1{padding-bottom:var(--spacing-1)}.tide-padding-bottom-2{padding-bottom:var(--spacing-2)}.tide-padding-bottom-4{padding-bottom:var(--spacing-4)}.tide-padding-left-0{padding-left:0}.tide-padding-left-1\/4{padding-left:var(--spacing-1\/4)}.tide-padding-left-1\/2{padding-left:var(--spacing-1\/2)}.tide-padding-left-1{padding-left:var(--spacing-1)}.tide-padding-left-2{padding-left:var(--spacing-2)}.tide-padding-left-4{padding-left:var(--spacing-4)}.tide-max-width-full{max-width:100%}.tide-min-width-0{min-width:0}.tide-max-height-full{max-height:100%}.tide-min-height-0{min-height:0}.tide-width-container{max-width:1168px}.tide-width-full{width:100%}.tide-height-full{height:100%}.tide-transparent-100{background-color:var(--transparent-100)}.tide-transparent-200{background-color:var(--transparent-200)}.tide-transparent-300{background-color:var(--transparent-300)}.tide-transparent-400{background-color:var(--transparent-400)}.tide-font-10{font-size:.625rem}.tide-font-12{font-size:.75rem}.tide-font-14{font-size:.875rem}.tide-font-16{font-size:1rem}.tide-font-20{font-size:1.25rem}.tide-font-24{font-size:1.5rem}.tide-font-32{font-size:2rem}.tide-font-400{font-weight:400}.tide-font-500{font-weight:500}.tide-font-600{font-weight:600}.tide-font-700{font-weight:700}.tide-align-middle{vertical-align:middle}.tide-break-word{overflow-wrap:break-word}.tide-cursor-pointer{cursor:pointer}.tide-cursor-not-allowed{cursor:not-allowed}.tide-leading-default{line-height:100%}.tide-leading-normal{line-height:normal}.tide-list-none{list-style-type:none}.tide-object-center{object-position:center}.tide-object-cover{object-fit:cover}.tide-object-contain{object-fit:contain}.tide-object-scale-down{object-fit:scale-down}.tide-pointer-events{pointer-events:auto}.tide-pointer-events-none{pointer-events:none}.tide-scrollbar-none::-webkit-scrollbar{display:none}.tide-scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.tide-scroll-snap{scroll-snap-stop:always;scroll-snap-type:both mandatory;scroll-behavior:smooth}.tide-scroll-snap-start{scroll-snap-align:start}.tide-shadow-bottom{box-shadow:var(--shadow-bottom)}.tide-shadow-top{box-shadow:var(--shadow-top)}.tide-text-center{text-align:center}.tide-text-left{text-align:left}.tide-text-right{text-align:right}.tide-text-transform-lower{text-transform:lowercase}.tide-text-transform-none{text-transform:none}.tide-text-transform-upper{text-transform:uppercase}.tide-underline,.tide-underline:hover,.tide-underline-hover:hover{text-decoration:underline}.tide-underline-none,.tide-underline-none:hover,.tide-underline-hover{text-decoration:none}.tide-visible{visibility:visible}.tide-visible-none{visibility:hidden}.tide-whitespace-nowrap{white-space:nowrap}.tide-x-auto{overflow-x:auto}.tide-x-hidden{overflow-x:hidden}.tide-x-scroll{overflow-x:scroll}.tide-xy-auto{overflow:auto}.tide-xy-hidden{overflow:hidden}.tide-y-auto{overflow-y:auto}.tide-y-hidden{overflow-y:hidden}.tide-link-as-button,.tide-button{padding-top:.75rem;padding-bottom:.75rem}.tide-link-as-button.quaternary,.tide-button.quaternary{padding-right:1rem;padding-left:1rem}.primary{background:var(--primary);border:2px solid var(--primary);color:var(--on-primary)}.secondary{background:2px solid var(--surface);border:2px solid var(--primary);color:var(--primary)}.tertiary{background:var(--white);border:1px solid var(--border);color:var(--secondary)}.quaternary{background:var(--white);color:var(--secondary)}.floating{background-color:var(--transparent-100);color:var(--secondary);box-shadow:var(--shadow-bottom)}a.primary:hover,button.primary:enabled:hover{border:2px solid var(--primary);background:2px solid var(--white);color:var(--primary)}a.secondary:hover,button.secondary:enabled:hover{background:var(--primary);color:var(--on-primary)}a.tertiary:hover,button.tertiary:enabled:hover{border:1px solid var(--border-high)}a.quaternary:hover,button.quaternary:enabled:hover{background:var(--surface-variant)}.floating:hover,button.floating:enabled:hover{background-color:var(--white)}button.primary:disabled,button.secondary:disabled,button.tertiary:disabled,button.quaternary:disabled,button.floating:disabled{opacity:.32}.block-field .field{--input-outline-width: var(--border-w-1);outline:var(--input-outline-width) solid var(--ti-surface-border-rest);outline-offset:calc(var(--input-outline-width) * -1);color:var(--ti-surface-foreground)}.block-field .field::placeholder{color:var(--ti-surface-variant-foreground)}.block-field.error{color:var(--error-on-surface)}.block-field.error .field{outline-color:var(--error-border-rest)}.block-field.error:focus-within .field{outline-color:var(--error-border-rest)}.block-field.error:hover{color:var(--error-on-surface-variant)}.block-field.error:hover .field{outline-color:var(--error-border-high)}.block-field.disabled{opacity:.333}.block-field:hover .field{outline-color:var(--ti-surface-border-high)}.block-field:focus-within .field{--input-outline-width: var(--border-w-2);outline-color:var(--ti-surface-border-high)}.tide-bg-primary{background:var(--primary)}.tide-bg-secondary{background:var(--secondary)}.tide-bg-surface{background:var(--surface)}.tide-bg-surface-variant{background:var(--surface-variant)}.tide-bg-surface-brand{background:var(--surface-brand)}.tide-bg-surface-accent{background:var(--surface-accent)}.tide-bg-surface-accent-variant{background:var(--surface-accent-variant)}.tide-bg-surface-gradient{background:var(--surface-gradient)}.tide-bg-surface-floating{background:var(--surface-floating)}.tide-border-primary{border-color:var(--primary)}.tide-border{border-color:var(--border)}.tide-border-low{border-color:var(--border-low)}.tide-border-high{border-color:var(--border-high)}.tide-border-floating{border-color:var(--border-floating)}.tide-font-on-primary{color:var(--on-primary)}.tide-font-on-secondary{color:var(--on-secondary)}.tide-font-on-surface{color:var(--on-surface)}.tide-font-on-surface-variant{color:var(--on-surface-variant)}.tide-font-on-surface-brand{color:var(--on-surface-brand)}.tide-font-on-surface-inverse{color:var(--on-surface-inverse)}.tide-font-on-surface-variant-inverse{color:var(--on-surface-inverse-variant)}.slide-down-from-top-enter-active,.slide-down-from-top-leave-active{transition:transform var(--animate)}.slide-down-from-top-enter-from,.slide-down-from-top-leave-to{transform:translateY(-100%)}.slide-down-from-top-enter-to,.slide-down-from-top-leave-from{transform:translateY(0)}.page-layout{--max-content-width: 1168px;--gap: 0px;--column-count: 12;--min-gutter-width: var(--spacing-1);--gutter-width: minmax(var(--min-gutter-width), 1fr);--max-column-size: calc((var(--max-content-width) - (var(--gap) * (var(--column-count) - 1))) / var(--column-count));--content-columns: repeat(var(--column-count), minmax(0px, var(--max-column-size)));display:grid;gap:0 var(--gap);grid-auto-rows:min-content;grid-template-columns:[start] var(--gutter-width) [content-start] var(--content-columns) [content-end] var(--gutter-width) [end]}.page-layout>*,.layout-item{--start: calc(var(--column-start) + 1);--end: calc(var(--column-end) + 2);--start-end: var(--start, content-start) / var(--end, content-end);grid-column:var(--column, var(--start-end))}.tide-fluid{grid-column:1 / -1}.tide-start-0{--column-start: 0}.tide-start-1{--column-start: 1}.tide-start-2{--column-start: 2}.tide-start-3{--column-start: 3}.tide-start-4{--column-start: 4}.tide-start-5{--column-start: 5}.tide-start-6{--column-start: 6}.tide-start-7{--column-start: 7}.tide-start-8{--column-start: 8}.tide-start-9{--column-start: 9}.tide-start-10{--column-start: 10}.tide-start-11{--column-start: 11}.tide-start-12{--column-start: 12}.tide-end-1{--column-end: 1}.tide-end-2{--column-end: 2}.tide-end-3{--column-end: 3}.tide-end-4{--column-end: 4}.tide-end-5{--column-end: 5}.tide-end-6{--column-end: 6}.tide-end-7{--column-end: 7}.tide-end-8{--column-end: 8}.tide-end-9{--column-end: 9}.tide-end-10{--column-end: 10}.tide-end-11{--column-end: 11}.tide-end-12{--column-end: 12}.tide-end-13{--column-end: 13}.site-main{isolation:isolate}
@@ -0,0 +1,36 @@
1
+ import { T as d, a as s, b as T, c as t, d as n, e as o, f as r, g as u, h as g, i as p, j as I, k as c, l as B, m, n as C, o as l, p as h, q as x, r as A, s as P, t as b, u as k, v, w as S, x as f, y as D, z as L, A as M, B as j, C as q, D as w, E as y } from "./index-c5bc4216.js";
2
+ import "vue";
3
+ export {
4
+ d as TideAccordionItem,
5
+ s as TideAlert,
6
+ T as TideBadge,
7
+ t as TideBadgeCounter,
8
+ n as TideBadgeMisc,
9
+ o as TideBadgePremium,
10
+ r as TideBadgeTrustedPartner,
11
+ u as TideBreadCrumbs,
12
+ g as TideButton,
13
+ p as TideButtonIcon,
14
+ I as TideButtonPagination,
15
+ c as TideCard,
16
+ B as TideCarousel,
17
+ m as TideChipAction,
18
+ C as TideChipFilter,
19
+ l as TideChipInput,
20
+ h as TideColumns,
21
+ x as TideDivider,
22
+ A as TideIcon,
23
+ P as TideImage,
24
+ b as TideIndicator,
25
+ k as TideInputRadio,
26
+ v as TideInputSelect,
27
+ S as TideInputText,
28
+ f as TideInputTextarea,
29
+ D as TideLink,
30
+ L as TideModal,
31
+ M as TidePagination,
32
+ j as TideSeoLinks,
33
+ q as TideSvgIcon,
34
+ w as TideTabs,
35
+ y as TideToggle
36
+ };
@@ -0,0 +1,8 @@
1
+ export const ALERT = {
2
+ ERROR: 'error',
3
+ INFO: 'info',
4
+ SUCCESS: 'success',
5
+ WARNING: 'warning',
6
+ } as const;
7
+
8
+ export type Alert = (typeof ALERT)[keyof typeof ALERT];
@@ -0,0 +1,21 @@
1
+ export const BADGE = {
2
+ JUST_LISTED: 'Just listed',
3
+ NATIONWIDE: 'Nationwide',
4
+ REDUCED: 'Reduced',
5
+ UPDATED: 'Updated',
6
+ } as const;
7
+
8
+ export const BADGE_PREMIUM = {
9
+ PREMIUM: 'Premium',
10
+ PREMIUM_SELECT: 'Premium SELECT',
11
+ } as const;
12
+
13
+ export const BADGE_TRUSTED = {
14
+ YEARS_10: '10',
15
+ YEARS_15: '15',
16
+ YEARS_5: '5',
17
+ } as const;
18
+
19
+ export type Badge = (typeof BADGE)[keyof typeof BADGE];
20
+ export type BadgePremium = (typeof BADGE_PREMIUM)[keyof typeof BADGE_PREMIUM];
21
+ export type BadgeTrustedYears = (typeof BADGE_TRUSTED)[keyof typeof BADGE_TRUSTED];
@@ -0,0 +1,5 @@
1
+ export type BreadCrumb = {
2
+ dataTrack?: string;
3
+ label: string;
4
+ url?: string;
5
+ };
@@ -0,0 +1,4 @@
1
+ export type Detail = {
2
+ label: string;
3
+ value: string;
4
+ };
@@ -0,0 +1,13 @@
1
+ export const ELEMENT = {
2
+ BUTTON: 'button',
3
+ LINK: 'a',
4
+ } as const;
5
+
6
+ export const ELEMENT_TEXT_AS_ICON = {
7
+ BUTTON: 'button',
8
+ DIV: 'div',
9
+ LINK: 'a',
10
+ } as const;
11
+
12
+ export type Element = (typeof ELEMENT)[keyof typeof ELEMENT];
13
+ export type ElementTextAsIcon = (typeof ELEMENT_TEXT_AS_ICON)[keyof typeof ELEMENT_TEXT_AS_ICON];
@@ -0,0 +1,55 @@
1
+ import type { FormValueTransformer } from '@/types/Form';
2
+ import type { SelectOption } from '@/types/Select';
3
+ import type { TextInputType } from '@/types/TextInput';
4
+ import type { ValidationError, Validator } from '@/types/Validation';
5
+
6
+ interface BooleanValue {
7
+ value?: boolean;
8
+ }
9
+
10
+ interface CheckboxField extends GenericInput, BooleanValue {
11
+ indeterminate?: boolean;
12
+ }
13
+
14
+ interface GenericField extends GenericInput {
15
+ transformValue?: FormValueTransformer;
16
+ validators?: Validator[];
17
+ }
18
+
19
+ interface GenericInput {
20
+ disabled?: boolean;
21
+ error: ValidationError;
22
+ label?: string;
23
+ name: string;
24
+ required?: boolean;
25
+ }
26
+
27
+ interface SelectField extends GenericInput, StringValue {
28
+ options: SelectOption[];
29
+ placeholder?: string;
30
+ }
31
+
32
+ interface StringValue {
33
+ value?: string;
34
+ }
35
+
36
+ interface TextareaField extends GenericField, StringValue {
37
+ maxlength?: number;
38
+ minlength?: number;
39
+ placeholder?: string;
40
+ value?: string;
41
+ }
42
+
43
+ interface TextField extends GenericField, StringValue {
44
+ maxlength?: number;
45
+ minlength?: number;
46
+ placeholder?: string;
47
+ type?: TextInputType;
48
+ value?: string;
49
+ }
50
+
51
+ export type BooleanField = CheckboxField;
52
+ export type Field = SelectField | TextField | TextareaField | CheckboxField;
53
+ export type StringField = SelectField | TextField | TextareaField;
54
+ export type { BooleanValue, StringValue };
55
+ export type { CheckboxField, GenericField, GenericInput, SelectField, TextareaField, TextField };
@@ -0,0 +1 @@
1
+ export type FormValueTransformer = (value: string) => string;
@@ -0,0 +1,22 @@
1
+ import { formatNumber, formatPhone, formatPrice } from '@/utilities/format';
2
+
3
+ export type Formatted = {
4
+ [key: string]: string | string[] | number;
5
+ };
6
+
7
+ export const FORMAT = {
8
+ NUMBER: formatNumber,
9
+ PHONE: formatPhone,
10
+ PRICE: formatPrice,
11
+ } as const;
12
+
13
+ export const FORMAT_REGEX = {
14
+ alpha: /^[a-zA-Z]+$/g,
15
+ alphaNumberOrEmpty: /^$|^[a-z0-9]+$/i,
16
+ alphaSpace: /^[a-zA-Z ]+$/g,
17
+ email:
18
+ /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
19
+ numberFormatted: /^$|(?=.)^\$?(([1-9][0-9]{0,2}(,[0-9]{3})*)|0)?(\.[0-9]{1,2})?$/,
20
+ phone: /^(?:\d{3}-\d{3}-\d{4}|\d{1}-\d{3}-\d{3}-\d{4})?$/,
21
+ price: /(?=.)^\$?(([1-9][0-9]{0,2}(,[0-9]{3})*)|0)?(\.[0-9]{1,2})?$/,
22
+ };
@@ -0,0 +1,77 @@
1
+ export const ICON = {
2
+ ACCOUNT_BALANCE: 'account-balance',
3
+ ADD: 'add',
4
+ AI: 'ai',
5
+ ALIGN_SPACE: 'align-space',
6
+ APPLE_PAY: 'apple-pay',
7
+ ARROW_BACK: 'arrow-back',
8
+ ARROW_FORWARD: 'arrow-forward',
9
+ ARROW_RIGHT: 'arrow-right',
10
+ ASSIGNMENT: 'assignment',
11
+ AWARD_STAR: 'award-star',
12
+ BOOKMARK: 'bookmark',
13
+ CALENDAR_MONTH: 'calendar-month',
14
+ CALL: 'call',
15
+ CHECK: 'check',
16
+ CHEVRON_LEFT: 'chevron-left',
17
+ CHEVRON_RIGHT: 'chevron-right',
18
+ CLEAR: 'clear',
19
+ CLOSE: 'close',
20
+ CYCLE: 'cycle',
21
+ DELETE: 'delete',
22
+ DIAMOND: 'diamond',
23
+ EDIT: 'edit',
24
+ ERROR: 'error',
25
+ EXPAND_CONTENT: 'expand-content',
26
+ EXPAND_LESS: 'expand-less',
27
+ EXPAND_MORE: 'expand-more',
28
+ FACEBOOK: 'facebook',
29
+ FAVORITE: 'favorite',
30
+ FAVORITE_FILLED: 'favorite-filled',
31
+ FORMAT_BOLD: 'format-bold',
32
+ FORMAT_ITALIC: 'format-italic',
33
+ FORMAT_LIST_BULLETED: 'format-list-bulleted',
34
+ FORUM: 'forum',
35
+ GOOGLE: 'google',
36
+ GOOGLE_PAY: 'google-pay',
37
+ GRID: 'grid',
38
+ HELP: 'help',
39
+ INFO: 'info',
40
+ INSERT_TEXT: 'insert-text',
41
+ INSTAGRAM: 'instagram',
42
+ IOS_SHARE: 'ios-share',
43
+ LAYOUT: 'layout',
44
+ LINKED_IN: 'linked in',
45
+ LOCAL_SHIPPING: 'local-shipping',
46
+ LOCK: 'lock',
47
+ MAIL: 'mail',
48
+ MENU: 'menu',
49
+ MORE_HORIZ: 'more-horiz',
50
+ NOTIFICATIONS: 'notifications',
51
+ OPEN_IN_NEW: 'open-in-new',
52
+ PALETTE: 'palette',
53
+ PAYPAL: 'paypal',
54
+ PERSON: 'person',
55
+ PHOTO_CAMERA: 'photo-camera',
56
+ PINTEREST: 'pinterest',
57
+ PLAY_ARROW: 'play-arrow',
58
+ REMOVE: 'remove',
59
+ ROUNDED_CORNERS: 'rounded-corners',
60
+ SEARCH: 'search',
61
+ SELL: 'sell',
62
+ SHARE: 'share',
63
+ SHOPPING_CART: 'shopping-cart',
64
+ SMS: 'sms',
65
+ STAR: 'star',
66
+ SWAP_VERT: 'swap-vert',
67
+ THREE_D_ROTATION: 'three-d-rotation',
68
+ TUNE: 'tune',
69
+ TWITTER: 'twitter',
70
+ VIDEOCAM: 'videocam',
71
+ VIEW_IN_AR: 'view-in-ar',
72
+ VISIBILITY: 'visibility',
73
+ WARNING: 'warning',
74
+ YOUTUBE: 'youtube',
75
+ } as const;
76
+
77
+ export type Icon = (typeof ICON)[keyof typeof ICON];
@@ -0,0 +1,5 @@
1
+ export type Link = {
2
+ label: string;
3
+ url: string;
4
+ isNewTab?: boolean;
5
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * These slides are used in both the inline detail page photo slider
3
+ * and the fullscreen media gallery.
4
+ */
5
+
6
+ export const MEDIA_SLIDE_TYPES = {
7
+ IMAGE: {
8
+ FLOORPLAN: 'floorplan',
9
+ IMAGE: 'image',
10
+ },
11
+ VIDEO: 'video',
12
+ VR: 'vr',
13
+ } as const;
14
+
15
+ export type MediaSlideType =
16
+ | (typeof MEDIA_SLIDE_TYPES.IMAGE)[keyof typeof MEDIA_SLIDE_TYPES.IMAGE]
17
+ | typeof MEDIA_SLIDE_TYPES.VIDEO
18
+ | typeof MEDIA_SLIDE_TYPES.VR;
19
+
20
+ export type ImageSlideType = (typeof MEDIA_SLIDE_TYPES.IMAGE)[keyof typeof MEDIA_SLIDE_TYPES.IMAGE];
21
+
22
+ type ImageSlide = {
23
+ imageUrl: string;
24
+ type: ImageSlideType;
25
+ };
26
+
27
+ export type VideoSlideType = typeof MEDIA_SLIDE_TYPES.VIDEO;
28
+
29
+ type VideoSlide = {
30
+ imageUrl: string;
31
+ type: VideoSlideType;
32
+ videoUrl: string;
33
+ };
34
+
35
+ export type VrSlideType = typeof MEDIA_SLIDE_TYPES.VR;
36
+
37
+ type VrSlide = {
38
+ imageUrl: string;
39
+ type: VrSlideType;
40
+ vrUrl: string;
41
+ };
42
+
43
+ export type ListingMedia = ImageSlide | VideoSlide | VrSlide;
@@ -0,0 +1,11 @@
1
+ /* eslint-disable vue/sort-keys */
2
+
3
+ export const PRIORITY = {
4
+ PRIMARY: 'primary',
5
+ SECONDARY: 'secondary',
6
+ TERTIARY: 'tertiary',
7
+ QUATERNARY: 'quaternary',
8
+ FLOATING: 'floating',
9
+ } as const;
10
+
11
+ export type Priority = (typeof PRIORITY)[keyof typeof PRIORITY];
@@ -0,0 +1,5 @@
1
+ export type Raw = {
2
+ [key: string]: {
3
+ raw: number | string | string[];
4
+ };
5
+ };
@@ -0,0 +1,12 @@
1
+ export const REALM = {
2
+ AERO: 'aero',
3
+ ATV: 'atv',
4
+ CYCLE: 'cycle',
5
+ EQUIP: 'equip',
6
+ PWC: 'pwc',
7
+ RV: 'rv',
8
+ SNOW: 'snow',
9
+ TRUCK: 'truck',
10
+ } as const;
11
+
12
+ export type Realm = (typeof REALM)[keyof typeof REALM];
@@ -0,0 +1,14 @@
1
+ import type { Realm } from '@/types/Realm';
2
+
3
+ export type RealmConfig = {
4
+ cdn: {
5
+ domain: string;
6
+ version: string;
7
+ };
8
+ id: Realm;
9
+ label: {
10
+ plural: string;
11
+ singular: string;
12
+ singularWithArticle: string;
13
+ };
14
+ };
@@ -0,0 +1,4 @@
1
+ export type SelectOption = {
2
+ label: string | number;
3
+ value: any;
4
+ };
@@ -0,0 +1,6 @@
1
+ export const SIZE = {
2
+ LARGE: 'large',
3
+ SMALL: 'small',
4
+ } as const;
5
+
6
+ export type Size = (typeof SIZE)[keyof typeof SIZE];
@@ -0,0 +1,14 @@
1
+ /* eslint vue/sort-keys: 0 */
2
+ // ^ Storybook controls are based on iterating over object properties instead of array slots (bad form), so these can't be ordered alphabetically.
3
+
4
+ // import { prependNoneAsEmpty } from '@/utilities/storybook';
5
+
6
+ export const NoneAsEmpty = { None: '' };
7
+ export const NoneAsUndefined = { None: undefined };
8
+
9
+ // These objects are intended exclusively for use in demonstrating the Storybook UI.
10
+ export const BOOLEAN_UNREQUIRED = {
11
+ None: undefined,
12
+ True: true,
13
+ False: false,
14
+ };
@@ -0,0 +1,209 @@
1
+ /* eslint vue/sort-keys: 0 */
2
+ // ^ Storybook controls are based on iterating over object properties instead of array slots (bad form), so these can't be ordered alphabetically.
3
+
4
+ import { CSS } from '@/types/Styles';
5
+
6
+ export const BADGE_TRUSTED = {
7
+ YEARS_5: '5',
8
+ YEARS_10: '10',
9
+ YEARS_15: '15',
10
+ };
11
+
12
+ export const BORDER_RADIUS = {
13
+ '0.25 REM': 'tide-radius-1/4',
14
+ '0.5 REM': 'tide-radius-1/2',
15
+ '1 REM': 'tide-radius-1',
16
+ 'Full': 'tide-radius-full',
17
+ };
18
+
19
+ export const BORDER_SIDE = {
20
+ Full: 'tide-border',
21
+ Top: 'tide-border-top',
22
+ Right: 'tide-border-right',
23
+ Bottom: 'tide-border-bottom',
24
+ Left: 'tide-border-left',
25
+ };
26
+
27
+ export const BORDER_WIDTH = {
28
+ '1px': '1',
29
+ '2px': '2',
30
+ };
31
+
32
+ export const DISPLAY = {
33
+ 'Block': 'tide-display-block',
34
+ 'Contents': 'tide-contents',
35
+ 'Flex': 'tide-display-flex',
36
+ 'Grid': 'tide-display-grid',
37
+ 'Inline Block': 'tide-display-inline-block',
38
+ 'Inline Flex': 'tide-display-inline-flex',
39
+ 'Inline': 'tide-display-inline',
40
+ 'None (Hidden)': 'tide-display-none',
41
+ };
42
+
43
+ export const FLEX_AXIS1 = {
44
+ Around: 'tide-axis1-around',
45
+ Between: 'tide-axis1-between',
46
+ Center: 'tide-axis1-center',
47
+ End: 'tide-axis1-end',
48
+ Start: 'tide-axis1-start',
49
+ };
50
+
51
+ export const FLEX_AXIS2 = {
52
+ Center: 'tide-axis2-center',
53
+ End: 'tide-axis2-end',
54
+ Normal: 'tide-axis2-normal',
55
+ Start: 'tide-axis2-start',
56
+ };
57
+
58
+ export const FLEX_DIRECTION = {
59
+ Column: 'tide-flex-column',
60
+ Row: 'tide-flex-row',
61
+ };
62
+
63
+ export const FONT_SIZE = {
64
+ '12px': 'tide-font-12',
65
+ '14px': 'tide-font-14',
66
+ '16px': 'tide-font-16',
67
+ '20px': 'tide-font-20',
68
+ '24px': 'tide-font-24',
69
+ '32px': 'tide-font-32',
70
+ };
71
+
72
+ export const FONT_WEIGHT = {
73
+ '400 Regular': 'tide-font-400',
74
+ '500 Medium': 'tide-font-500',
75
+ '600 Semibold': 'tide-font-600',
76
+ '700 Bold': 'tide-font-700',
77
+ };
78
+
79
+ export const GAP = {
80
+ '4 REM': 'tide-gap-4',
81
+ '2 REM': 'tide-gap-2',
82
+ '1 REM': 'tide-gap-1',
83
+ '0.5 REM': 'tide-gap-1/2',
84
+ '0.25 REM': 'tide-gap-1/4',
85
+ };
86
+
87
+ export const LINK_SIZE = {
88
+ TWELVE: 'tide-font-12',
89
+ FOURTEEN: 'tide-font-14',
90
+ SIXTEEN: 'tide-font-16',
91
+ };
92
+
93
+ export const MARGIN = {
94
+ 'Full 4 REM': 'tide-margin-4',
95
+ 'Full 2 REM': 'tide-margin-2',
96
+ 'Full 1 REM': 'tide-margin-1',
97
+ 'Full 0.5 REM': 'tide-margin-1/2',
98
+ 'Full 0.25 REM': 'tide-margin-1/4',
99
+
100
+ 'X-axis Auto': 'tide-margin-x-auto',
101
+ 'X-axis 4 REM': 'tide-margin-x-4',
102
+ 'X-axis 2 REM': 'tide-margin-x-2',
103
+ 'X-axis 1 REM': 'tide-margin-x-1',
104
+ 'X-axis 0.5 REM': 'tide-margin-x-1/2',
105
+ 'X-axis 0.25 REM': 'tide-margin-x-1/4',
106
+
107
+ 'Y-axis 4 REM': 'tide-margin-y-4',
108
+ 'Y-axis 2 REM': 'tide-margin-y-2',
109
+ 'Y-axis 1 REM': 'tide-margin-y-1',
110
+ 'Y-axis 0.5 REM': 'tide-margin-y-1/2',
111
+ 'Y-axis 0.25 REM': 'tide-margin-y-1/4',
112
+
113
+ 'Top 4 REM': 'tide-margin-top-4',
114
+ 'Top 2 REM': 'tide-margin-top-2',
115
+ 'Top 1 REM': 'tide-margin-top-1',
116
+ 'Top 0.5 REM': 'tide-margin-top-1/2',
117
+ 'Top 0.25 REM': 'tide-margin-top-1/4',
118
+
119
+ 'Right Auto': 'tide-margin-right-auto',
120
+ 'Right 4 REM': 'tide-margin-right-4',
121
+ 'Right 2 REM': 'tide-margin-right-2',
122
+ 'Right 1 REM': 'tide-margin-right-1',
123
+ 'Right 0.5 REM': 'tide-margin-right-1/2',
124
+ 'Right 0.25 REM': 'tide-margin-right-1/4',
125
+
126
+ 'Bottom 4 REM': 'tide-margin-bottom-4',
127
+ 'Bottom 2 REM': 'tide-margin-bottom-2',
128
+ 'Bottom 1 REM': 'tide-margin-bottom-1',
129
+ 'Bottom 0.5 REM': 'tide-margin-bottom-1/2',
130
+ 'Bottom 0.25 REM': 'tide-margin-bottom-1/4',
131
+
132
+ 'Left Auto': 'tide-margin-left-auto',
133
+ 'Left 4 REM': 'tide-margin-left-4',
134
+ 'Left 2 REM': 'tide-margin-left-2',
135
+ 'Left 1 REM': 'tide-margin-left-1',
136
+ 'Left 0.5 REM': 'tide-margin-left-1/2',
137
+ 'Left 0.25 REM': 'tide-margin-left-1/4',
138
+ };
139
+
140
+ export const PADDING = {
141
+ 'Full 4 REM': 'tide-padding-4',
142
+ 'Full 2 REM': 'tide-padding-2',
143
+ 'Full 1 REM': 'tide-padding-1',
144
+ 'Full 0.5 REM': 'tide-padding-1/2',
145
+ 'Full 0.25 REM': 'tide-padding-1/4',
146
+
147
+ 'X-axis 4 REM': 'tide-padding-x-4',
148
+ 'X-axis 2 REM': 'tide-padding-x-2',
149
+ 'X-axis 1 REM': 'tide-padding-x-1',
150
+ 'X-axis 0.5 REM': 'tide-padding-x-1/2',
151
+ 'X-axis 0.25 REM': 'tide-padding-x-1/4',
152
+
153
+ 'Y-axis 4 REM': 'tide-padding-y-4',
154
+ 'Y-axis 2 REM': 'tide-padding-y-2',
155
+ 'Y-axis 1 REM': 'tide-padding-y-1',
156
+ 'Y-axis 0.5 REM': 'tide-padding-y-1/2',
157
+ 'Y-axis 0.25 REM': 'tide-padding-y-1/4',
158
+
159
+ 'Top 4 REM': 'tide-padding-top-4',
160
+ 'Top 2 REM': 'tide-padding-top-2',
161
+ 'Top 1 REM': 'tide-padding-top-1',
162
+ 'Top 0.5 REM': 'tide-padding-top-1/2',
163
+ 'Top 0.25 REM': 'tide-padding-top-1/4',
164
+
165
+ 'Right 4 REM': 'tide-padding-right-4',
166
+ 'Right 2 REM': 'tide-padding-right-2',
167
+ 'Right 1 REM': 'tide-padding-right-1',
168
+ 'Right 0.5 REM': 'tide-padding-right-1/2',
169
+ 'Right 0.25 REM': 'tide-padding-right-1/4',
170
+
171
+ 'Bottom 4 REM': 'tide-padding-bottom-4',
172
+ 'Bottom 2 REM': 'tide-padding-bottom-2',
173
+ 'Bottom 1 REM': 'tide-padding-bottom-1',
174
+ 'Bottom 0.5 REM': 'tide-padding-bottom-1/2',
175
+ 'Bottom 0.25 REM': 'tide-padding-bottom-1/4',
176
+
177
+ 'Left 4 REM': 'tide-padding-left-4',
178
+ 'Left 2 REM': 'tide-padding-left-2',
179
+ 'Left 1 REM': 'tide-padding-left-1',
180
+ 'Left 0.5 REM': 'tide-padding-left-1/2',
181
+ 'Left 0.25 REM': 'tide-padding-left-1/4',
182
+ };
183
+
184
+ export const SHADOW = {
185
+ Bottom: 'tide-shadow-bottom',
186
+ Top: 'tide-shadow-top',
187
+ };
188
+
189
+ export const TYPOGRAPHY = {
190
+ DISPLAY_1: [CSS.FONT.SIZE.THIRTY_TWO, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
191
+ HEADLINE_1: [CSS.FONT.SIZE.TWENTY_FOUR, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
192
+ HEADLINE_2: [CSS.FONT.SIZE.TWENTY, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
193
+ HEADLINE_3: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
194
+ TITLE_1: [CSS.FONT.SIZE.TWENTY, CSS.FONT.WEIGHT.SIX_HUNDRED],
195
+ TITLE_2: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
196
+ BODY_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.FOUR_HUNDRED],
197
+ BODY_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.FOUR_HUNDRED],
198
+ LABEL_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.FIVE_HUNDRED],
199
+ LABEL_1_SEMIBOLD: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
200
+ LABEL_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.FIVE_HUNDRED],
201
+ LABEL_2_SEMIBOLD: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
202
+ LABEL_3: [CSS.FONT.SIZE.TWELVE, CSS.FONT.WEIGHT.FIVE_HUNDRED],
203
+ LINK_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
204
+ LINK_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
205
+ LINK_3: [CSS.FONT.SIZE.TWELVE, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
206
+ BUTTON_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
207
+ };
208
+
209
+ export type Typography = (typeof TYPOGRAPHY)[keyof typeof TYPOGRAPHY];