@rei/cedar 13.4.0-alpha.0 → 13.4.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 (325) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.mjs +9 -0
  2. package/dist/cedar-compiled.css +1031 -1145
  3. package/dist/node_modules/@rei/cdr-tokens/dist/js/cdr-tokens.mjs +10 -0
  4. package/dist/src/components/accordion/CdrAccordion.vue.mjs +155 -0
  5. package/dist/src/components/accordion/CdrAccordionGroup.vue.mjs +78 -0
  6. package/dist/src/components/accordion/styles/CdrAccordion.module.scss.mjs +34 -0
  7. package/dist/src/components/accordion/styles/CdrAccordionGroup.module.scss.mjs +7 -0
  8. package/dist/src/components/banner/CdrBanner.vue.mjs +56 -0
  9. package/dist/src/components/banner/styles/CdrBanner.module.scss.mjs +19 -0
  10. package/dist/src/components/breadcrumb/CdrBreadcrumb.vue.mjs +101 -0
  11. package/dist/src/components/breadcrumb/styles/CdrBreadcrumb.module.scss.mjs +12 -0
  12. package/dist/src/components/button/CdrButton.vue.mjs +75 -0
  13. package/dist/src/components/button/styles/CdrButton.module.scss.mjs +36 -0
  14. package/dist/src/components/caption/CdrCaption.vue.mjs +39 -0
  15. package/dist/src/components/caption/styles/CdrCaption.module.scss.mjs +7 -0
  16. package/dist/src/components/card/CdrCard.vue.mjs +32 -0
  17. package/dist/src/components/card/styles/CdrCard.module.scss.mjs +6 -0
  18. package/dist/src/components/checkbox/CdrCheckbox.vue.mjs +123 -0
  19. package/dist/src/components/checkbox/styles/CdrCheckbox.module.scss.mjs +30 -0
  20. package/dist/src/components/chip/CdrChip.vue.mjs +31 -0
  21. package/dist/src/components/chip/CdrChipGroup.vue.mjs +79 -0
  22. package/dist/src/components/chip/styles/CdrChip.module.scss.mjs +9 -0
  23. package/dist/src/components/chip/styles/CdrChipGroup.module.scss.mjs +9 -0
  24. package/dist/src/components/container/CdrContainer.vue.mjs +43 -0
  25. package/dist/src/components/container/styles/CdrContainer.module.scss.mjs +7 -0
  26. package/dist/src/components/formError/CdrFormError.vue.mjs +38 -0
  27. package/dist/src/components/formError/styles/CdrFormError.module.scss.mjs +7 -0
  28. package/dist/src/components/formGroup/CdrFormGroup.vue.mjs +72 -0
  29. package/dist/src/components/formGroup/styles/CdrFormGroup.module.scss.mjs +13 -0
  30. package/dist/src/components/grid/CdrGrid.vue.mjs +48 -0
  31. package/dist/src/components/grid/styles/CdrGrid.module.scss.mjs +26 -0
  32. package/dist/src/components/icon/CdrIcon.vue.mjs +57 -0
  33. package/dist/src/components/icon/comps/account-profile-fill.vue.mjs +28 -0
  34. package/dist/src/components/icon/comps/account-profile.vue.mjs +28 -0
  35. package/dist/src/components/icon/comps/arrow-down.vue.mjs +28 -0
  36. package/dist/src/components/icon/comps/arrow-left.vue.mjs +28 -0
  37. package/dist/src/components/icon/comps/arrow-right.vue.mjs +28 -0
  38. package/dist/src/components/icon/comps/arrow-up.vue.mjs +28 -0
  39. package/dist/src/components/icon/comps/atv.vue.mjs +28 -0
  40. package/dist/src/components/icon/comps/bed-outline.vue.mjs +28 -0
  41. package/dist/src/components/icon/comps/bike-shop.vue.mjs +28 -0
  42. package/dist/src/components/icon/comps/binoculars.vue.mjs +28 -0
  43. package/dist/src/components/icon/comps/birding.vue.mjs +28 -0
  44. package/dist/src/components/icon/comps/boat.vue.mjs +28 -0
  45. package/dist/src/components/icon/comps/boating.vue.mjs +28 -0
  46. package/dist/src/components/icon/comps/bookmark-fill.vue.mjs +28 -0
  47. package/dist/src/components/icon/comps/bookmark-stroke.vue.mjs +28 -0
  48. package/dist/src/components/icon/comps/brand-abstract.vue.mjs +28 -0
  49. package/dist/src/components/icon/comps/brand-code-sandbox.vue.mjs +28 -0
  50. package/dist/src/components/icon/comps/brand-github.vue.mjs +28 -0
  51. package/dist/src/components/icon/comps/brand-linkedin.vue.mjs +28 -0
  52. package/dist/src/components/icon/comps/brand-rei-ice-axes.vue.mjs +28 -0
  53. package/dist/src/components/icon/comps/brand-sketch.vue.mjs +28 -0
  54. package/dist/src/components/icon/comps/brand-tiktok.vue.mjs +29 -0
  55. package/dist/src/components/icon/comps/buddies.vue.mjs +28 -0
  56. package/dist/src/components/icon/comps/bus.vue.mjs +28 -0
  57. package/dist/src/components/icon/comps/calendar.vue.mjs +28 -0
  58. package/dist/src/components/icon/comps/camera.vue.mjs +28 -0
  59. package/dist/src/components/icon/comps/canoe.vue.mjs +28 -0
  60. package/dist/src/components/icon/comps/car.vue.mjs +28 -0
  61. package/dist/src/components/icon/comps/caret-down.vue.mjs +28 -0
  62. package/dist/src/components/icon/comps/caret-left.vue.mjs +28 -0
  63. package/dist/src/components/icon/comps/caret-right.vue.mjs +28 -0
  64. package/dist/src/components/icon/comps/caret-up.vue.mjs +28 -0
  65. package/dist/src/components/icon/comps/cart-fill.vue.mjs +28 -0
  66. package/dist/src/components/icon/comps/cart.vue.mjs +28 -0
  67. package/dist/src/components/icon/comps/chain-link.vue.mjs +28 -0
  68. package/dist/src/components/icon/comps/chat.vue.mjs +28 -0
  69. package/dist/src/components/icon/comps/check-fill.vue.mjs +28 -0
  70. package/dist/src/components/icon/comps/check-lg.vue.mjs +28 -0
  71. package/dist/src/components/icon/comps/check-sm.vue.mjs +28 -0
  72. package/dist/src/components/icon/comps/check-stroke.vue.mjs +28 -0
  73. package/dist/src/components/icon/comps/climb.vue.mjs +28 -0
  74. package/dist/src/components/icon/comps/clipboard.vue.mjs +28 -0
  75. package/dist/src/components/icon/comps/clock.vue.mjs +28 -0
  76. package/dist/src/components/icon/comps/code-html.vue.mjs +28 -0
  77. package/dist/src/components/icon/comps/code-js.vue.mjs +28 -0
  78. package/dist/src/components/icon/comps/compass.vue.mjs +28 -0
  79. package/dist/src/components/icon/comps/copy.vue.mjs +28 -0
  80. package/dist/src/components/icon/comps/coupon-fill.vue.mjs +28 -0
  81. package/dist/src/components/icon/comps/coupon-stroke.vue.mjs +28 -0
  82. package/dist/src/components/icon/comps/credit-card.vue.mjs +28 -0
  83. package/dist/src/components/icon/comps/curbside-pickup.vue.mjs +28 -0
  84. package/dist/src/components/icon/comps/day.vue.mjs +28 -0
  85. package/dist/src/components/icon/comps/diving.vue.mjs +28 -0
  86. package/dist/src/components/icon/comps/dog.vue.mjs +28 -0
  87. package/dist/src/components/icon/comps/download.vue.mjs +28 -0
  88. package/dist/src/components/icon/comps/duplicate.vue.mjs +29 -0
  89. package/dist/src/components/icon/comps/edit.vue.mjs +28 -0
  90. package/dist/src/components/icon/comps/elevation.vue.mjs +28 -0
  91. package/dist/src/components/icon/comps/error-fill.vue.mjs +30 -0
  92. package/dist/src/components/icon/comps/error-stroke.vue.mjs +32 -0
  93. package/dist/src/components/icon/comps/expand.vue.mjs +28 -0
  94. package/dist/src/components/icon/comps/experiences-backpacking.vue.mjs +28 -0
  95. package/dist/src/components/icon/comps/experiences-camping.vue.mjs +28 -0
  96. package/dist/src/components/icon/comps/experiences-climbing.vue.mjs +28 -0
  97. package/dist/src/components/icon/comps/experiences-clothing.vue.mjs +28 -0
  98. package/dist/src/components/icon/comps/experiences-cycling.vue.mjs +28 -0
  99. package/dist/src/components/icon/comps/experiences-family.vue.mjs +28 -0
  100. package/dist/src/components/icon/comps/experiences-fitness.vue.mjs +28 -0
  101. package/dist/src/components/icon/comps/experiences-hiking.vue.mjs +28 -0
  102. package/dist/src/components/icon/comps/experiences-outdoor-basics.vue.mjs +28 -0
  103. package/dist/src/components/icon/comps/experiences-paddling.vue.mjs +28 -0
  104. package/dist/src/components/icon/comps/experiences-rentals.vue.mjs +28 -0
  105. package/dist/src/components/icon/comps/experiences-running.vue.mjs +29 -0
  106. package/dist/src/components/icon/comps/experiences-snowsports.vue.mjs +28 -0
  107. package/dist/src/components/icon/comps/experiences-travel.vue.mjs +28 -0
  108. package/dist/src/components/icon/comps/external-link-alt.vue.mjs +29 -0
  109. package/dist/src/components/icon/comps/external-link.vue.mjs +28 -0
  110. package/dist/src/components/icon/comps/eye-hide.vue.mjs +28 -0
  111. package/dist/src/components/icon/comps/eye-show.vue.mjs +28 -0
  112. package/dist/src/components/icon/comps/facebook.vue.mjs +28 -0
  113. package/dist/src/components/icon/comps/filter-alt.vue.mjs +28 -0
  114. package/dist/src/components/icon/comps/filter.vue.mjs +28 -0
  115. package/dist/src/components/icon/comps/find-location.vue.mjs +28 -0
  116. package/dist/src/components/icon/comps/fire.vue.mjs +28 -0
  117. package/dist/src/components/icon/comps/fishing.vue.mjs +28 -0
  118. package/dist/src/components/icon/comps/free-product.vue.mjs +28 -0
  119. package/dist/src/components/icon/comps/grid-view.vue.mjs +28 -0
  120. package/dist/src/components/icon/comps/heart-fill.vue.mjs +28 -0
  121. package/dist/src/components/icon/comps/heart-stroke.vue.mjs +28 -0
  122. package/dist/src/components/icon/comps/hike.vue.mjs +28 -0
  123. package/dist/src/components/icon/comps/history.vue.mjs +28 -0
  124. package/dist/src/components/icon/comps/home.vue.mjs +28 -0
  125. package/dist/src/components/icon/comps/horse.vue.mjs +28 -0
  126. package/dist/src/components/icon/comps/horseshoe.vue.mjs +28 -0
  127. package/dist/src/components/icon/comps/image.vue.mjs +28 -0
  128. package/dist/src/components/icon/comps/information-fill.vue.mjs +28 -0
  129. package/dist/src/components/icon/comps/information-stroke.vue.mjs +28 -0
  130. package/dist/src/components/icon/comps/instagram.vue.mjs +28 -0
  131. package/dist/src/components/icon/comps/kayak.vue.mjs +28 -0
  132. package/dist/src/components/icon/comps/link-alt.vue.mjs +29 -0
  133. package/dist/src/components/icon/comps/list-ragged.vue.mjs +28 -0
  134. package/dist/src/components/icon/comps/list-view.vue.mjs +28 -0
  135. package/dist/src/components/icon/comps/location-pin-fill.vue.mjs +28 -0
  136. package/dist/src/components/icon/comps/location-pin-stroke.vue.mjs +28 -0
  137. package/dist/src/components/icon/comps/lock-locked-fill.vue.mjs +28 -0
  138. package/dist/src/components/icon/comps/lock-locked-stroke.vue.mjs +28 -0
  139. package/dist/src/components/icon/comps/lock-unlocked-stroke.vue.mjs +28 -0
  140. package/dist/src/components/icon/comps/mail.vue.mjs +28 -0
  141. package/dist/src/components/icon/comps/map.vue.mjs +28 -0
  142. package/dist/src/components/icon/comps/member-card.vue.mjs +28 -0
  143. package/dist/src/components/icon/comps/membership.vue.mjs +29 -0
  144. package/dist/src/components/icon/comps/microphone.vue.mjs +28 -0
  145. package/dist/src/components/icon/comps/minus-fill.vue.mjs +28 -0
  146. package/dist/src/components/icon/comps/minus-lg.vue.mjs +28 -0
  147. package/dist/src/components/icon/comps/minus-sm.vue.mjs +28 -0
  148. package/dist/src/components/icon/comps/minus-stroke.vue.mjs +28 -0
  149. package/dist/src/components/icon/comps/more-functions.vue.mjs +28 -0
  150. package/dist/src/components/icon/comps/my-location.vue.mjs +28 -0
  151. package/dist/src/components/icon/comps/navigation-menu.vue.mjs +28 -0
  152. package/dist/src/components/icon/comps/night.vue.mjs +28 -0
  153. package/dist/src/components/icon/comps/paddle.vue.mjs +28 -0
  154. package/dist/src/components/icon/comps/pause-fill.vue.mjs +28 -0
  155. package/dist/src/components/icon/comps/pause-stroke.vue.mjs +28 -0
  156. package/dist/src/components/icon/comps/pause.vue.mjs +28 -0
  157. package/dist/src/components/icon/comps/photography.vue.mjs +28 -0
  158. package/dist/src/components/icon/comps/picnic.vue.mjs +28 -0
  159. package/dist/src/components/icon/comps/pinterest.vue.mjs +28 -0
  160. package/dist/src/components/icon/comps/plane.vue.mjs +28 -0
  161. package/dist/src/components/icon/comps/play-fill.vue.mjs +28 -0
  162. package/dist/src/components/icon/comps/play-stroke.vue.mjs +28 -0
  163. package/dist/src/components/icon/comps/play.vue.mjs +28 -0
  164. package/dist/src/components/icon/comps/playground.vue.mjs +28 -0
  165. package/dist/src/components/icon/comps/plugin.vue.mjs +28 -0
  166. package/dist/src/components/icon/comps/plus-fill.vue.mjs +28 -0
  167. package/dist/src/components/icon/comps/plus-lg.vue.mjs +28 -0
  168. package/dist/src/components/icon/comps/plus-sm.vue.mjs +28 -0
  169. package/dist/src/components/icon/comps/plus-stroke.vue.mjs +28 -0
  170. package/dist/src/components/icon/comps/print.vue.mjs +28 -0
  171. package/dist/src/components/icon/comps/protection-fill.vue.mjs +28 -0
  172. package/dist/src/components/icon/comps/protection-stroke.vue.mjs +28 -0
  173. package/dist/src/components/icon/comps/question-fill.vue.mjs +28 -0
  174. package/dist/src/components/icon/comps/question-stroke.vue.mjs +28 -0
  175. package/dist/src/components/icon/comps/refresh.vue.mjs +28 -0
  176. package/dist/src/components/icon/comps/reload.vue.mjs +28 -0
  177. package/dist/src/components/icon/comps/returns.vue.mjs +29 -0
  178. package/dist/src/components/icon/comps/run.vue.mjs +28 -0
  179. package/dist/src/components/icon/comps/scan-barcode.vue.mjs +28 -0
  180. package/dist/src/components/icon/comps/search.vue.mjs +28 -0
  181. package/dist/src/components/icon/comps/service-shop.vue.mjs +28 -0
  182. package/dist/src/components/icon/comps/shipping-prep.vue.mjs +29 -0
  183. package/dist/src/components/icon/comps/shipping-truck.vue.mjs +29 -0
  184. package/dist/src/components/icon/comps/shipping.vue.mjs +28 -0
  185. package/dist/src/components/icon/comps/shopping-bag-fill.vue.mjs +28 -0
  186. package/dist/src/components/icon/comps/shopping-bag.vue.mjs +28 -0
  187. package/dist/src/components/icon/comps/shrink.vue.mjs +28 -0
  188. package/dist/src/components/icon/comps/size-chart.vue.mjs +28 -0
  189. package/dist/src/components/icon/comps/ski-boot.vue.mjs +28 -0
  190. package/dist/src/components/icon/comps/ski.vue.mjs +28 -0
  191. package/dist/src/components/icon/comps/snow-shop.vue.mjs +28 -0
  192. package/dist/src/components/icon/comps/snow.vue.mjs +28 -0
  193. package/dist/src/components/icon/comps/sort.vue.mjs +28 -0
  194. package/dist/src/components/icon/comps/star-100.vue.mjs +28 -0
  195. package/dist/src/components/icon/comps/star-25.vue.mjs +28 -0
  196. package/dist/src/components/icon/comps/star-50.vue.mjs +28 -0
  197. package/dist/src/components/icon/comps/star-75.vue.mjs +28 -0
  198. package/dist/src/components/icon/comps/star-stroke.vue.mjs +28 -0
  199. package/dist/src/components/icon/comps/storefront.vue.mjs +28 -0
  200. package/dist/src/components/icon/comps/swim.vue.mjs +28 -0
  201. package/dist/src/components/icon/comps/telephone.vue.mjs +28 -0
  202. package/dist/src/components/icon/comps/tent.vue.mjs +28 -0
  203. package/dist/src/components/icon/comps/trash.vue.mjs +28 -0
  204. package/dist/src/components/icon/comps/twitter.vue.mjs +28 -0
  205. package/dist/src/components/icon/comps/upload.vue.mjs +28 -0
  206. package/dist/src/components/icon/comps/verified-purchaser.vue.mjs +28 -0
  207. package/dist/src/components/icon/comps/virtual-outfitting.vue.mjs +28 -0
  208. package/dist/src/components/icon/comps/warning-fill.vue.mjs +28 -0
  209. package/dist/src/components/icon/comps/warning-stroke.vue.mjs +28 -0
  210. package/dist/src/components/icon/comps/water.vue.mjs +28 -0
  211. package/dist/src/components/icon/comps/wilderness.vue.mjs +28 -0
  212. package/dist/src/components/icon/comps/x-fill.vue.mjs +28 -0
  213. package/dist/src/components/icon/comps/x-lg.vue.mjs +28 -0
  214. package/dist/src/components/icon/comps/x-sm.vue.mjs +28 -0
  215. package/dist/src/components/icon/comps/x-stroke.vue.mjs +28 -0
  216. package/dist/src/components/icon/comps/youtube.vue.mjs +28 -0
  217. package/dist/src/components/icon/comps/zoom-in.vue.mjs +28 -0
  218. package/dist/src/components/icon/comps/zoom-out.vue.mjs +28 -0
  219. package/dist/src/components/icon/styles/CdrIcon.module.scss.mjs +17 -0
  220. package/dist/src/components/image/CdrImg.vue.mjs +114 -0
  221. package/dist/src/components/image/styles/CdrImg.module.scss.mjs +13 -0
  222. package/dist/src/components/input/CdrInput.vue.mjs +219 -0
  223. package/dist/src/components/input/styles/CdrInput.module.scss.mjs +37 -0
  224. package/dist/src/components/labelStandalone/CdrLabelStandalone.vue.mjs +70 -0
  225. package/dist/src/components/labelStandalone/styles/CdrLabelStandalone.module.scss.mjs +17 -0
  226. package/dist/src/components/labelWrapper/CdrLabelWrapper.vue.mjs +44 -0
  227. package/dist/src/components/labelWrapper/styles/CdrLabelWrapper.module.scss.mjs +28 -0
  228. package/dist/src/components/link/CdrLink.vue.mjs +60 -0
  229. package/dist/src/components/link/styles/CdrLink.module.scss.mjs +8 -0
  230. package/dist/src/components/list/CdrList.vue.mjs +44 -0
  231. package/dist/src/components/list/styles/CdrList.module.scss.mjs +10 -0
  232. package/dist/src/components/modal/CdrModal.vue.mjs +214 -0
  233. package/dist/src/components/modal/onTransitionEnd.mjs +29 -0
  234. package/dist/src/components/modal/styles/CdrModal.module.scss.mjs +17 -0
  235. package/dist/src/components/pagination/CdrPagination.vue.mjs +199 -0
  236. package/dist/src/components/pagination/styles/CdrPagination.module.scss.mjs +58 -0
  237. package/dist/src/components/popover/CdrPopover.vue.mjs +130 -0
  238. package/dist/src/components/popover/styles/CdrPopover.module.scss.mjs +68 -0
  239. package/dist/src/components/popup/CdrPopup.vue.mjs +111 -0
  240. package/dist/src/components/popup/calculatePlacement.mjs +27 -0
  241. package/dist/src/components/popup/styles/CdrPopup.module.scss.mjs +19 -0
  242. package/dist/src/components/quote/CdrQuote.vue.mjs +56 -0
  243. package/dist/src/components/quote/styles/CdrQuote.module.scss.mjs +9 -0
  244. package/dist/src/components/radio/CdrRadio.vue.mjs +99 -0
  245. package/dist/src/components/radio/styles/CdrRadio.module.scss.mjs +30 -0
  246. package/dist/src/components/rating/CdrRating.vue.mjs +103 -0
  247. package/dist/src/components/rating/styles/CdrRating.module.scss.mjs +33 -0
  248. package/dist/src/components/select/CdrSelect.vue.mjs +198 -0
  249. package/dist/src/components/select/styles/CdrSelect.module.scss.mjs +47 -0
  250. package/dist/src/components/skeleton/CdrSkeleton.vue.mjs +32 -0
  251. package/dist/src/components/skeleton/CdrSkeletonBone.vue.mjs +38 -0
  252. package/dist/src/components/skeleton/styles/CdrSkeleton.module.scss.mjs +6 -0
  253. package/dist/src/components/skeleton/styles/CdrSkeletonBone.module.scss.mjs +13 -0
  254. package/dist/src/components/switch/CdrSwitch.vue.mjs +76 -0
  255. package/dist/src/components/switch/styles/CdrSwitch.module.scss.mjs +13 -0
  256. package/dist/src/components/table/CdrTable.vue.mjs +63 -0
  257. package/dist/src/components/table/styles/CdrTable.module.scss.mjs +18 -0
  258. package/dist/src/components/tabs/CdrTabPanel.vue.mjs +38 -0
  259. package/dist/src/components/tabs/CdrTabs.vue.mjs +168 -0
  260. package/dist/src/components/tabs/styles/CdrTabPanel.module.scss.mjs +10 -0
  261. package/dist/src/components/tabs/styles/CdrTabs.module.scss.mjs +33 -0
  262. package/dist/src/components/text/CdrText.vue.mjs +31 -0
  263. package/dist/src/components/text/styles/CdrText.module.scss.mjs +6 -0
  264. package/dist/src/components/toast/CdrToast.vue.mjs +110 -0
  265. package/dist/src/components/toast/styles/CdrToast.module.scss.mjs +62 -0
  266. package/dist/src/components/toggleButton/CdrToggleButton.vue.mjs +38 -0
  267. package/dist/src/components/toggleButton/CdrToggleGroup.vue.mjs +75 -0
  268. package/dist/src/components/toggleButton/styles/CdrToggleButton.module.scss.mjs +7 -0
  269. package/dist/src/components/toggleButton/styles/CdrToggleGroup.module.scss.mjs +10 -0
  270. package/dist/src/components/tooltip/CdrTooltip.vue.mjs +94 -0
  271. package/dist/src/components/tooltip/styles/CdrTooltip.module.scss.mjs +21 -0
  272. package/dist/src/lib.mjs +446 -0
  273. package/dist/src/mixins/breakpoints.mjs +8 -0
  274. package/dist/src/props/background.mjs +9 -0
  275. package/dist/src/props/size.mjs +9 -0
  276. package/dist/src/utils/buildClass.mjs +6 -0
  277. package/dist/src/utils/mapClasses.mjs +6 -0
  278. package/dist/src/utils/propValidator.mjs +9 -0
  279. package/dist/src/utils/uid.mjs +6 -0
  280. package/dist/style/cdr-accordion-group.css +1 -1
  281. package/dist/style/cdr-accordion.css +1 -1
  282. package/dist/style/cdr-banner.css +1 -1
  283. package/dist/style/cdr-breadcrumb.css +1 -1
  284. package/dist/style/cdr-button.css +1 -1
  285. package/dist/style/cdr-caption.css +1 -1
  286. package/dist/style/cdr-card.css +1 -1
  287. package/dist/style/cdr-checkbox.css +1 -1
  288. package/dist/style/cdr-chip-group.css +1 -1
  289. package/dist/style/cdr-chip.css +1 -1
  290. package/dist/style/cdr-container.css +1 -1
  291. package/dist/style/cdr-form-error.css +1 -1
  292. package/dist/style/cdr-form-group.css +1 -1
  293. package/dist/style/cdr-grid.css +1 -1
  294. package/dist/style/cdr-icon.css +1 -1
  295. package/dist/style/cdr-img.css +1 -1
  296. package/dist/style/cdr-input.css +1 -1
  297. package/dist/style/cdr-label-standalone.css +1 -1
  298. package/dist/style/cdr-label-wrapper.css +1 -1
  299. package/dist/style/cdr-link.css +1 -1
  300. package/dist/style/cdr-list.css +1 -1
  301. package/dist/style/cdr-modal.css +1 -1
  302. package/dist/style/cdr-pagination.css +1 -1
  303. package/dist/style/cdr-popover.css +1 -1
  304. package/dist/style/cdr-popup.css +1 -1
  305. package/dist/style/cdr-quote.css +1 -1
  306. package/dist/style/cdr-radio.css +1 -1
  307. package/dist/style/cdr-rating.css +1 -1
  308. package/dist/style/cdr-select.css +1 -1
  309. package/dist/style/cdr-skeleton-bone.css +1 -1
  310. package/dist/style/cdr-skeleton.css +1 -1
  311. package/dist/style/cdr-switch.css +1 -1
  312. package/dist/style/cdr-tab-panel.css +1 -1
  313. package/dist/style/cdr-table.css +1 -1
  314. package/dist/style/cdr-tabs.css +1 -1
  315. package/dist/style/cdr-text.css +1 -1
  316. package/dist/style/cdr-toast.css +1 -1
  317. package/dist/style/cdr-toggle-button.css +1 -1
  318. package/dist/style/cdr-toggle-group.css +1 -1
  319. package/dist/style/cdr-tooltip.css +1 -1
  320. package/dist/style.css +1 -1
  321. package/package.json +7 -15
  322. package/dist/cedar.mjs +0 -10590
  323. package/dist/cedar.umd.js +0 -5
  324. package/dist/component-docgen.json +0 -3178
  325. package/dist/icon-component-docgen.json +0 -3536
@@ -0,0 +1,199 @@
1
+ import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/es.array.unshift.js";
3
+ import { defineComponent as B, ref as q, computed as d, onMounted as G, watch as R, useCssModule as U, resolveComponent as $, openBlock as l, createElementBlock as u, createElementVNode as k, normalizeClass as r, createBlock as D, resolveDynamicComponent as T, withCtx as h, createVNode as f, createTextVNode as m, Fragment as N, renderList as w, toDisplayString as I, withModifiers as E, nextTick as H } from "vue";
4
+ import z from "../../utils/mapClasses.mjs";
5
+ import A from "../../utils/propValidator.mjs";
6
+ import F from "../icon/comps/caret-left.vue.mjs";
7
+ import W from "../icon/comps/caret-right.vue.mjs";
8
+ import J from "../select/CdrSelect.vue.mjs";
9
+ import K from "../../utils/uid.mjs";
10
+ import Q from "./styles/CdrPagination.module.scss.mjs";
11
+ import X from "../../../_virtual/_plugin-vue_export-helper.mjs";
12
+ const Y = B({
13
+ name: "CdrPagination",
14
+ components: {
15
+ IconCaretLeft: F,
16
+ IconCaretRight: W,
17
+ CdrSelect: J
18
+ },
19
+ props: {
20
+ // NOTE pagination now requires an ID
21
+ id: {
22
+ type: String
23
+ },
24
+ /**
25
+ * Total number of pages. Sometimes the total number of pages is different than total page data
26
+ * and this prop allows for that.
27
+ */
28
+ totalPages: {
29
+ type: Number,
30
+ default: null
31
+ },
32
+ /**
33
+ * Array of objects. Objects have structure of { page: Number, url: String }
34
+ */
35
+ pages: {
36
+ type: Array,
37
+ required: !0,
38
+ validator: (e) => e.every((i) => !Object.prototype.hasOwnProperty.call(i, "page") || typeof i.page != "number" ? (console.error('Property "page" is missing or is not a number', i), !1) : !Object.prototype.hasOwnProperty.call(i, "url") || typeof i.url != "string" ? (console.error('Property "url" is missing or is not a string', i), !1) : !0)
39
+ },
40
+ linkTag: {
41
+ type: String,
42
+ default: "a",
43
+ validator: (e) => A(e, ["a", "button"])
44
+ },
45
+ forLabel: {
46
+ type: String,
47
+ default: ""
48
+ },
49
+ /** @ignore used for binding v-model, represents the current page */
50
+ modelValue: {
51
+ type: Number
52
+ }
53
+ },
54
+ emits: ["update:modelValue", "navigate"],
55
+ setup(e, s) {
56
+ const i = q(0), C = q([]), _ = e.id ? e.id : K(), y = (n) => {
57
+ i.value = e.pages.map((t) => t.page).indexOf(n);
58
+ }, p = d({
59
+ get: () => e.modelValue,
60
+ set: (n) => {
61
+ y(n), s.emit("update:modelValue", n);
62
+ }
63
+ }), P = d(() => e.pages[i.value].url), v = (n, t) => {
64
+ const g = t.target.offsetWidth > 0 && t.target.offsetHeight > 0;
65
+ if (n === p.value && g) {
66
+ t.preventDefault();
67
+ return;
68
+ }
69
+ p.value = n, s.emit("navigate", n, P.value, t), H(() => {
70
+ try {
71
+ (t.currentTarget || t.target).blur();
72
+ } catch (o) {
73
+ console.error(o);
74
+ }
75
+ });
76
+ }, a = (n) => {
77
+ C.value.find((g) => (g == null ? void 0 : g.innerHTML) === n.target.value).click();
78
+ }, b = d(() => e.forLabel || "Pagination"), c = d(() => e.pages[i.value - 1]), O = d(() => e.pages[i.value + 1]), S = d(() => {
79
+ const n = e.pages.length, t = p.value, g = 1;
80
+ let o = [], L = !0, M = !0;
81
+ if (n <= 7)
82
+ return e.pages;
83
+ if (t < 5)
84
+ L = !1, o = e.pages.slice(1, 5);
85
+ else if (n - t < 4)
86
+ M = !1, o = e.pages.slice(-5, -1);
87
+ else
88
+ for (let V = Math.max(2, t - g); V <= Math.min(n - 1, t + g); V += 1)
89
+ o.push(e.pages[V - 1]);
90
+ return t - g > 2 && L && o.unshift("&hellip;"), t + g < n - 1 && M && o.push("&hellip;"), o.unshift(e.pages[0]), o.push(e.pages[n - 1]), o;
91
+ });
92
+ return G(() => y(p.value)), R(() => e.pages, () => y(p.value)), {
93
+ style: U(),
94
+ mapClasses: z,
95
+ uniqueId: _,
96
+ linkRefs: C,
97
+ navigate: v,
98
+ select: a,
99
+ ariaLabel: b,
100
+ prevPageData: c,
101
+ nextPageData: O,
102
+ paginationData: S,
103
+ innerValue: p,
104
+ currentIdx: i
105
+ };
106
+ }
107
+ }), Z = ["aria-label"], j = {
108
+ key: 0
109
+ }, x = {
110
+ key: 1,
111
+ "aria-hidden": "true"
112
+ }, ee = ["value"], ae = {
113
+ key: 2
114
+ }, ne = {
115
+ key: 3,
116
+ "aria-hidden": "true"
117
+ };
118
+ function te(e, s, i, C, _, y) {
119
+ const p = $("icon-caret-left"), P = $("cdr-select"), v = $("icon-caret-right");
120
+ return l(), u("nav", {
121
+ "aria-label": e.ariaLabel
122
+ }, [k("ol", {
123
+ class: r(e.style["cdr-pagination"])
124
+ }, [e.innerValue > e.pages[0].page ? (l(), u("li", j, [(l(), D(T(e.linkTag), {
125
+ "aria-label": "Go to previous page",
126
+ href: e.linkTag === "a" && e.prevPageData && e.prevPageData.url || void 0,
127
+ class: r(e.mapClasses(e.style, "cdr-pagination__link", "cdr-pagination__prev")),
128
+ onClick: s[0] || (s[0] = (a) => e.navigate(e.prevPageData.page, a))
129
+ }, {
130
+ default: h(() => [f(p, {
131
+ class: r(e.style["cdr-pagination_caret--prev"])
132
+ }, null, 8, ["class"]), m(" Prev ")]),
133
+ _: 1
134
+ }, 8, ["href", "class"]))])) : (l(), u("li", x, [k("span", {
135
+ "aria-disabled": "true",
136
+ class: r(e.mapClasses(e.style, "cdr-pagination__link", "cdr-pagination__prev", "cdr-pagination__link--disabled"))
137
+ }, [f(p, {
138
+ class: r(e.style["cdr-pagination_caret--prev"]),
139
+ "inherit-color": ""
140
+ }, null, 8, ["class"]), m(" Prev ")], 2)])), (l(!0), u(N, null, w(e.paginationData, (a, b) => (l(), u("li", {
141
+ key: `pagination-${e.uniqueId}-li-${a.page}`,
142
+ class: r(e.style["cdr-pagination__li--links"])
143
+ }, [a.page ? (l(), D(T(e.linkTag), {
144
+ key: 0,
145
+ id: `pagination-${e.uniqueId}-link-${a.page}`,
146
+ class: r(e.mapClasses(e.style, "cdr-pagination__link", a.page === e.innerValue && "cdr-pagination__link--current")),
147
+ "aria-label": a.page === e.innerValue ? `Current page, page ${a.page}` : `Go to page ${a.page}`,
148
+ "aria-current": a.page === e.innerValue ? "page" : null,
149
+ href: e.linkTag === "a" && a.url || void 0,
150
+ ref_for: !0,
151
+ ref: (c) => {
152
+ e.linkRefs[b] = c;
153
+ },
154
+ onClick: (c) => e.navigate(a.page, c)
155
+ }, {
156
+ default: h(() => [m(I(a.page), 1)]),
157
+ _: 2
158
+ }, 1032, ["id", "class", "aria-label", "aria-current", "href", "onClick"])) : (l(), u("span", {
159
+ key: 1,
160
+ class: r(e.style["cdr-pagination__ellipse"])
161
+ }, " … ", 2))], 2))), 128)), k("li", {
162
+ class: r(e.style["cdr-pagination__li--select"])
163
+ }, [f(P, {
164
+ id: `pagination-select-${e.uniqueId}`,
165
+ modelValue: e.innerValue,
166
+ "onUpdate:modelValue": s[1] || (s[1] = (a) => e.innerValue = a),
167
+ label: "Navigate to page",
168
+ "hide-label": "",
169
+ onChange: s[2] || (s[2] = E((a) => e.select(a), ["prevent"]))
170
+ }, {
171
+ default: h(() => [(l(!0), u(N, null, w(e.paginationData.filter((a) => a.page), (a) => (l(), u("option", {
172
+ key: `pagination-${e.uniqueId}-select-${a.page}`,
173
+ value: a.page
174
+ }, " Page " + I(a.page) + I(e.totalPages === null ? "" : ` of ${e.totalPages}`), 9, ee))), 128))]),
175
+ _: 1
176
+ }, 8, ["id", "modelValue"])], 2), e.innerValue < e.pages[e.pages.length - 1].page ? (l(), u("li", ae, [(l(), D(T(e.linkTag), {
177
+ "aria-label": "Go to next page",
178
+ href: e.linkTag === "a" && e.nextPageData && e.nextPageData.url || void 0,
179
+ class: r(e.mapClasses(e.style, "cdr-pagination__link", "cdr-pagination__next")),
180
+ onClick: s[3] || (s[3] = (a) => e.navigate(e.nextPageData.page, a))
181
+ }, {
182
+ default: h(() => [m(" Next "), f(v, {
183
+ class: r(e.style["cdr-pagination_caret--next"])
184
+ }, null, 8, ["class"])]),
185
+ _: 1
186
+ }, 8, ["href", "class"]))])) : (l(), u("li", ne, [k("span", {
187
+ "aria-disabled": "true",
188
+ class: r(e.mapClasses(e.style, "cdr-pagination__link", "cdr-pagination__next", "cdr-pagination__link--disabled"))
189
+ }, [m(" Next "), f(v, {
190
+ class: r(e.style["cdr-pagination_caret--next"]),
191
+ "inherit-color": ""
192
+ }, null, 8, ["class"])], 2)]))], 2)], 8, Z);
193
+ }
194
+ const ie = {
195
+ $style: Q
196
+ }, ye = /* @__PURE__ */ X(Y, [["render", te], ["__cssModules", ie]]);
197
+ export {
198
+ ye as default
199
+ };
@@ -0,0 +1,58 @@
1
+ const l = {
2
+ "cdr-icon": "cdr-icon_13-4-0",
3
+ "cdr-icon--small": "cdr-icon--small_13-4-0",
4
+ "cdr-icon--large": "cdr-icon--large_13-4-0",
5
+ "cdr-icon--small@xs": "cdr-icon--small@xs_13-4-0",
6
+ "cdr-icon--large@xs": "cdr-icon--large@xs_13-4-0",
7
+ "cdr-icon--small@sm": "cdr-icon--small@sm_13-4-0",
8
+ "cdr-icon--large@sm": "cdr-icon--large@sm_13-4-0",
9
+ "cdr-icon--small@md": "cdr-icon--small@md_13-4-0",
10
+ "cdr-icon--large@md": "cdr-icon--large@md_13-4-0",
11
+ "cdr-icon--small@lg": "cdr-icon--small@lg_13-4-0",
12
+ "cdr-icon--large@lg": "cdr-icon--large@lg_13-4-0",
13
+ "cdr-icon--inherit-color": "cdr-icon--inherit-color_13-4-0",
14
+ "cdr-label-standalone": "cdr-label-standalone_13-4-0",
15
+ "cdr-label-standalone__label-wrapper": "cdr-label-standalone__label-wrapper_13-4-0",
16
+ "cdr-label-standalone__label": "cdr-label-standalone__label_13-4-0",
17
+ "cdr-label-standalone__label--sr-only": "cdr-label-standalone__label--sr-only_13-4-0",
18
+ "cdr-label-standalone__label--disabled": "cdr-label-standalone__label--disabled_13-4-0",
19
+ "cdr-label-standalone__optional": "cdr-label-standalone__optional_13-4-0",
20
+ "cdr-label-standalone__helper": "cdr-label-standalone__helper_13-4-0",
21
+ "cdr-label-standalone__info": "cdr-label-standalone__info_13-4-0",
22
+ "cdr-label-standalone__post-content": "cdr-label-standalone__post-content_13-4-0",
23
+ "cdr-label-standalone__info-action": "cdr-label-standalone__info-action_13-4-0",
24
+ "cdr-label-standalone__input-wrap": "cdr-label-standalone__input-wrap_13-4-0",
25
+ "cdr-label-standalone__input-spacing": "cdr-label-standalone__input-spacing_13-4-0",
26
+ "cdr-form-error": "cdr-form-error_13-4-0",
27
+ "cdr-form-error__icon": "cdr-form-error__icon_13-4-0",
28
+ "cdr-select": "cdr-select_13-4-0",
29
+ "cdr-select--primary": "cdr-select--primary_13-4-0",
30
+ "cdr-select--secondary": "cdr-select--secondary_13-4-0",
31
+ "cdr-select--error": "cdr-select--error_13-4-0",
32
+ "cdr-select--preicon": "cdr-select--preicon_13-4-0",
33
+ "cdr-select__prompt": "cdr-select__prompt_13-4-0",
34
+ "cdr-select__caret": "cdr-select__caret_13-4-0",
35
+ "cdr-select__caret--disabled": "cdr-select__caret--disabled_13-4-0",
36
+ "cdr-select__pre-icon": "cdr-select__pre-icon_13-4-0",
37
+ "cdr-select--multiple": "cdr-select--multiple_13-4-0",
38
+ "cdr-select--large@xs": "cdr-select--large@xs_13-4-0",
39
+ "cdr-select--large": "cdr-select--large_13-4-0",
40
+ "cdr-select--large@sm": "cdr-select--large@sm_13-4-0",
41
+ "cdr-select--large@md": "cdr-select--large@md_13-4-0",
42
+ "cdr-select--large@lg": "cdr-select--large@lg_13-4-0",
43
+ "cdr-select-wrap": "cdr-select-wrap_13-4-0",
44
+ "cdr-pagination": "cdr-pagination_13-4-0",
45
+ "cdr-pagination__li--links": "cdr-pagination__li--links_13-4-0",
46
+ "cdr-pagination__li--select": "cdr-pagination__li--select_13-4-0",
47
+ "cdr-pagination__link": "cdr-pagination__link_13-4-0",
48
+ "cdr-pagination__link--current": "cdr-pagination__link--current_13-4-0",
49
+ "cdr-pagination__link--disabled": "cdr-pagination__link--disabled_13-4-0",
50
+ "cdr-pagination__ellipse": "cdr-pagination__ellipse_13-4-0",
51
+ "cdr-pagination__prev": "cdr-pagination__prev_13-4-0",
52
+ "cdr-pagination__next": "cdr-pagination__next_13-4-0",
53
+ "cdr-pagination__caret--prev": "cdr-pagination__caret--prev_13-4-0",
54
+ "cdr-pagination__caret--next": "cdr-pagination__caret--next_13-4-0"
55
+ };
56
+ export {
57
+ l as default
58
+ };
@@ -0,0 +1,130 @@
1
+ import { defineComponent as P, ref as u, watch as E, onMounted as S, useCssModule as k, resolveComponent as m, openBlock as y, createElementBlock as b, normalizeClass as n, createElementVNode as f, renderSlot as a, createVNode as v, withCtx as h, createTextVNode as q, toDisplayString as T, createCommentVNode as B } from "vue";
2
+ import M from "tabbable";
3
+ import N from "../icon/comps/x-sm.vue.mjs";
4
+ import V from "../button/CdrButton.vue.mjs";
5
+ import w from "../popup/CdrPopup.vue.mjs";
6
+ import A from "../../utils/propValidator.mjs";
7
+ import O from "../../utils/mapClasses.mjs";
8
+ import z from "./styles/CdrPopover.module.scss.mjs";
9
+ import D from "../../../_virtual/_plugin-vue_export-helper.mjs";
10
+ const H = P({
11
+ name: "CdrPopover",
12
+ components: {
13
+ IconXSm: N,
14
+ CdrButton: V,
15
+ CdrPopup: w
16
+ },
17
+ props: {
18
+ position: {
19
+ type: String,
20
+ required: !1,
21
+ default: "top",
22
+ validator: (e) => A(e, ["top", "bottom", "left", "right"])
23
+ },
24
+ autoPosition: {
25
+ type: Boolean,
26
+ required: !1,
27
+ default: !0
28
+ },
29
+ label: {
30
+ type: String,
31
+ required: !1
32
+ },
33
+ id: {
34
+ type: String,
35
+ required: !0
36
+ },
37
+ contentClass: {
38
+ type: String,
39
+ required: !1
40
+ },
41
+ open: {
42
+ type: Boolean,
43
+ default: !1,
44
+ required: !1
45
+ }
46
+ },
47
+ emits: ["opened", "closed"],
48
+ setup(e, t) {
49
+ const s = u(!1);
50
+ let l;
51
+ const i = u(null), p = u(null), d = t.slots.trigger, c = t.slots.title || e.label, r = (o) => {
52
+ if (s.value === !0)
53
+ return;
54
+ const {
55
+ activeElement: $
56
+ } = document;
57
+ l = $, s.value = !0, t.emit("opened", o), setTimeout(() => {
58
+ const C = M(p.value.$el);
59
+ C[0] && C[0].focus();
60
+ }, 50);
61
+ }, g = (o) => {
62
+ s.value = !1, t.emit("closed", o), l && l.focus();
63
+ }, _ = () => {
64
+ const o = i.value.children[0];
65
+ o && o.addEventListener("click", r);
66
+ };
67
+ return E(() => e.open, () => {
68
+ e.open ? r() : g();
69
+ }), S(() => {
70
+ _();
71
+ const o = i.value.children[0];
72
+ o && (o.setAttribute("aria-controls", e.id), o.setAttribute("aria-haspopup", "dialog"));
73
+ }), {
74
+ style: k(),
75
+ mapClasses: O,
76
+ hasTrigger: d,
77
+ triggerEl: i,
78
+ popupEl: p,
79
+ closePopover: g,
80
+ openPopover: r,
81
+ isOpen: s,
82
+ hasTitle: c
83
+ };
84
+ }
85
+ }), I = {
86
+ ref: "triggerEl"
87
+ };
88
+ function L(e, t, s, l, i, p) {
89
+ const d = m("icon-x-sm"), c = m("cdr-button"), r = m("cdr-popup");
90
+ return y(), b("div", {
91
+ class: n(e.mapClasses(e.style, "cdr-popover--wrapper", e.hasTrigger && "cdr-popover--position"))
92
+ }, [f("div", I, [a(e.$slots, "trigger")], 512), v(r, {
93
+ role: "dialog",
94
+ ref: "popupEl",
95
+ onClosed: e.closePopover,
96
+ position: e.position,
97
+ "auto-position": e.autoPosition,
98
+ opened: e.isOpen,
99
+ "aria-expanded": `${e.isOpen}`,
100
+ id: e.id,
101
+ "content-class": e.contentClass
102
+ }, {
103
+ default: h(() => [f("div", {
104
+ class: n(e.style["cdr-popover__container"])
105
+ }, [f("div", {
106
+ class: n(e.style["cdr-popover__content"])
107
+ }, [e.hasTitle ? (y(), b("div", {
108
+ key: 0,
109
+ class: n(e.style["cdr-popover__title"])
110
+ }, [a(e.$slots, "title", {}, () => [q(T(e.label), 1)])], 2)) : B("", !0), a(e.$slots, "default")], 2), v(c, {
111
+ class: n(e.style["cdr-popover__close-button"]),
112
+ "icon-only": "",
113
+ onClick: e.closePopover,
114
+ "aria-label": "Close",
115
+ size: "small"
116
+ }, {
117
+ default: h(() => [a(e.$slots, "icon", {}, () => [v(d, {
118
+ "inherit-color": ""
119
+ })])]),
120
+ _: 3
121
+ }, 8, ["class", "onClick"])], 2)]),
122
+ _: 3
123
+ }, 8, ["onClosed", "position", "auto-position", "opened", "aria-expanded", "id", "content-class"])], 2);
124
+ }
125
+ const X = {
126
+ $style: z
127
+ }, Y = /* @__PURE__ */ D(H, [["render", L], ["__cssModules", X]]);
128
+ export {
129
+ Y as default
130
+ };
@@ -0,0 +1,68 @@
1
+ const r = {
2
+ "cdr-popup": "cdr-popup_13-4-0",
3
+ "cdr-popup--open": "cdr-popup--open_13-4-0",
4
+ "cdr-popup--closed": "cdr-popup--closed_13-4-0",
5
+ "cdr-popup__content": "cdr-popup__content_13-4-0",
6
+ "cdr-popup__arrow": "cdr-popup__arrow_13-4-0",
7
+ "cdr-popup--top": "cdr-popup--top_13-4-0",
8
+ "cdr-popup--bottom": "cdr-popup--bottom_13-4-0",
9
+ "cdr-popup--exit": "cdr-popup--exit_13-4-0",
10
+ "cdr-popup--corner-left": "cdr-popup--corner-left_13-4-0",
11
+ "cdr-popup--corner-right": "cdr-popup--corner-right_13-4-0",
12
+ "cdr-popup--left": "cdr-popup--left_13-4-0",
13
+ "cdr-popup--right": "cdr-popup--right_13-4-0",
14
+ "cdr-popup--corner-top": "cdr-popup--corner-top_13-4-0",
15
+ "cdr-popup--corner-bottom": "cdr-popup--corner-bottom_13-4-0",
16
+ "cdr-button": "cdr-button_13-4-0",
17
+ "cdr-button--has-icon-left": "cdr-button--has-icon-left_13-4-0",
18
+ "cdr-button--has-icon-right": "cdr-button--has-icon-right_13-4-0",
19
+ "cdr-button--primary": "cdr-button--primary_13-4-0",
20
+ "cdr-button--secondary": "cdr-button--secondary_13-4-0",
21
+ "cdr-button--dark": "cdr-button--dark_13-4-0",
22
+ "cdr-button--sale": "cdr-button--sale_13-4-0",
23
+ "cdr-button--link": "cdr-button--link_13-4-0",
24
+ "cdr-button--large": "cdr-button--large_13-4-0",
25
+ "cdr-button--medium": "cdr-button--medium_13-4-0",
26
+ "cdr-button--small": "cdr-button--small_13-4-0",
27
+ "cdr-button--icon-only": "cdr-button--icon-only_13-4-0",
28
+ "cdr-button--icon-only-large": "cdr-button--icon-only-large_13-4-0",
29
+ "cdr-button--with-background": "cdr-button--with-background_13-4-0",
30
+ "cdr-button--full-width": "cdr-button--full-width_13-4-0",
31
+ "cdr-button--small@xs": "cdr-button--small@xs_13-4-0",
32
+ "cdr-button--medium@xs": "cdr-button--medium@xs_13-4-0",
33
+ "cdr-button--large@xs": "cdr-button--large@xs_13-4-0",
34
+ "cdr-button--full-width@xs": "cdr-button--full-width@xs_13-4-0",
35
+ "cdr-button--small@sm": "cdr-button--small@sm_13-4-0",
36
+ "cdr-button--medium@sm": "cdr-button--medium@sm_13-4-0",
37
+ "cdr-button--large@sm": "cdr-button--large@sm_13-4-0",
38
+ "cdr-button--full-width@sm": "cdr-button--full-width@sm_13-4-0",
39
+ "cdr-button--small@md": "cdr-button--small@md_13-4-0",
40
+ "cdr-button--medium@md": "cdr-button--medium@md_13-4-0",
41
+ "cdr-button--large@md": "cdr-button--large@md_13-4-0",
42
+ "cdr-button--full-width@md": "cdr-button--full-width@md_13-4-0",
43
+ "cdr-button--small@lg": "cdr-button--small@lg_13-4-0",
44
+ "cdr-button--medium@lg": "cdr-button--medium@lg_13-4-0",
45
+ "cdr-button--large@lg": "cdr-button--large@lg_13-4-0",
46
+ "cdr-button--full-width@lg": "cdr-button--full-width@lg_13-4-0",
47
+ "cdr-icon": "cdr-icon_13-4-0",
48
+ "cdr-icon--small": "cdr-icon--small_13-4-0",
49
+ "cdr-icon--large": "cdr-icon--large_13-4-0",
50
+ "cdr-icon--small@xs": "cdr-icon--small@xs_13-4-0",
51
+ "cdr-icon--large@xs": "cdr-icon--large@xs_13-4-0",
52
+ "cdr-icon--small@sm": "cdr-icon--small@sm_13-4-0",
53
+ "cdr-icon--large@sm": "cdr-icon--large@sm_13-4-0",
54
+ "cdr-icon--small@md": "cdr-icon--small@md_13-4-0",
55
+ "cdr-icon--large@md": "cdr-icon--large@md_13-4-0",
56
+ "cdr-icon--small@lg": "cdr-icon--small@lg_13-4-0",
57
+ "cdr-icon--large@lg": "cdr-icon--large@lg_13-4-0",
58
+ "cdr-icon--inherit-color": "cdr-icon--inherit-color_13-4-0",
59
+ "cdr-popover--position": "cdr-popover--position_13-4-0",
60
+ "cdr-popover--wrapper": "cdr-popover--wrapper_13-4-0",
61
+ "cdr-popover__title": "cdr-popover__title_13-4-0",
62
+ "cdr-popover__container": "cdr-popover__container_13-4-0",
63
+ "cdr-popover__content": "cdr-popover__content_13-4-0",
64
+ "cdr-popover__close-button": "cdr-popover__close-button_13-4-0"
65
+ };
66
+ export {
67
+ r as default
68
+ };
@@ -0,0 +1,111 @@
1
+ import { defineComponent as H, ref as n, computed as i, watch as w, onMounted as O, onUnmounted as q, useCssModule as A, openBlock as K, createElementBlock as N, normalizeClass as h, createElementVNode as k, mergeProps as U, renderSlot as V, nextTick as m } from "vue";
2
+ import { debounce as W } from "lodash-es";
3
+ import j from "../../utils/propValidator.mjs";
4
+ import D from "./calculatePlacement.mjs";
5
+ import F from "../../utils/mapClasses.mjs";
6
+ import G from "./styles/CdrPopup.module.scss.mjs";
7
+ import I from "../../../_virtual/_plugin-vue_export-helper.mjs";
8
+ const J = H({
9
+ name: "CdrPopup",
10
+ inheritAttrs: !1,
11
+ customOptions: {},
12
+ props: {
13
+ opened: {
14
+ type: Boolean,
15
+ default: !1
16
+ },
17
+ position: {
18
+ type: String,
19
+ required: !1,
20
+ default: "top",
21
+ validator: (e) => j(e, ["top", "bottom", "left", "right"])
22
+ },
23
+ autoPosition: {
24
+ type: Boolean,
25
+ default: !0
26
+ },
27
+ contentClass: {
28
+ type: String
29
+ }
30
+ },
31
+ emits: ["closed"],
32
+ setup(e, v) {
33
+ const f = "cdr-popup", s = n(e.position), l = n(void 0), t = n(!1), C = n(void 0), a = n(!e.opened), d = n(null), E = n(null), P = i(() => e.opened || t.value ? `cdr-popup--${s.value}` : void 0), $ = i(() => l.value ? `cdr-popup--corner-${l.value}` : void 0), L = i(() => e.opened ? "cdr-popup--open" : void 0), B = i(() => a.value && !t.value ? "cdr-popup--closed" : void 0), b = i(() => t.value ? "cdr-popup--exit" : void 0), c = (o) => {
34
+ v.emit("closed", o);
35
+ }, r = (o) => {
36
+ switch (o.key) {
37
+ case "Escape":
38
+ case "Esc":
39
+ c(o);
40
+ break;
41
+ }
42
+ }, u = (o) => {
43
+ m(() => {
44
+ o.target !== d.value && !d.value.contains(o.target) && c(o);
45
+ });
46
+ }, g = () => {
47
+ a.value = !1, m(() => {
48
+ C.value = d.value.getBoundingClientRect(), a.value = !0;
49
+ });
50
+ }, p = () => {
51
+ W(() => {
52
+ g();
53
+ }, 300);
54
+ }, R = () => {
55
+ document.addEventListener("keydown", r), document.addEventListener("click", u);
56
+ }, z = () => {
57
+ s.value = e.position, l.value = void 0, e.autoPosition && m(() => {
58
+ const o = E.value.parentElement.getBoundingClientRect(), {
59
+ innerHeight: S,
60
+ innerWidth: T
61
+ } = window, y = D(o, C.value, T, S, e.position);
62
+ s.value = y.pos, l.value = y.corner;
63
+ }), a.value = !1, setTimeout(() => {
64
+ R();
65
+ }, 1);
66
+ }, M = () => {
67
+ a.value = !0, document.removeEventListener("keydown", r), document.removeEventListener("click", u), t.value = !0, setTimeout(() => {
68
+ t.value = !1;
69
+ }, 200);
70
+ };
71
+ return w(() => e.position, () => s.value = e.position), w(() => e.opened, () => {
72
+ e.opened ? z() : M();
73
+ }), O(() => {
74
+ g(), window.addEventListener("resize", p);
75
+ }), q(() => {
76
+ document.removeEventListener("keydown", r), document.removeEventListener("click", u), window.removeEventListener("resize", p);
77
+ }), {
78
+ style: A(),
79
+ mapClasses: F,
80
+ baseClass: f,
81
+ positionClass: P,
82
+ cornerClass: $,
83
+ openClass: L,
84
+ closedClass: B,
85
+ exitingClass: b,
86
+ closePopup: c,
87
+ handleClick: u,
88
+ handleKeydown: r,
89
+ handleResize: p,
90
+ popupEl: d,
91
+ rootEl: E
92
+ };
93
+ }
94
+ });
95
+ function Q(e, v, f, s, l, t) {
96
+ return K(), N("div", {
97
+ ref: "rootEl",
98
+ class: h(e.mapClasses(e.style, e.baseClass, e.openClass, e.exitingClass, e.positionClass, e.cornerClass, e.closedClass))
99
+ }, [k("div", U(e.$attrs, {
100
+ class: e.mapClasses(e.style, "cdr-popup__content", e.contentClass),
101
+ ref: "popupEl"
102
+ }), [V(e.$slots, "default")], 16), k("div", {
103
+ class: h(e.style["cdr-popup__arrow"])
104
+ }, null, 2)], 2);
105
+ }
106
+ const X = {
107
+ $style: G
108
+ }, te = /* @__PURE__ */ I(J, [["render", Q], ["__cssModules", X]]);
109
+ export {
110
+ te as default
111
+ };
@@ -0,0 +1,27 @@
1
+ function j(e, o, l, n, h) {
2
+ const b = e.top + e.height / 2, d = e.left + e.width / 2;
3
+ let f, s;
4
+ const t = {
5
+ top: e.top - o.height - 14,
6
+ bottom: n - e.bottom - o.height - 14,
7
+ left: e.left - o.width - 14,
8
+ right: l - e.right - o.width - 14
9
+ }, r = {
10
+ left: d - o.width / 2 - 2 <= 0,
11
+ right: d + o.width / 2 + 2 >= l,
12
+ top: b - o.height / 2 - 2 <= 0,
13
+ bottom: b + o.height / 2 + 2 >= n
14
+ }, m = {
15
+ top: "bottom",
16
+ bottom: "top",
17
+ left: "right",
18
+ right: "left"
19
+ }[h], w = Object.keys(t).filter((i) => t[i] > 0), S = Object.keys(t).sort((i, z) => t[i] > t[z] ? -1 : t[i] < t[z] ? 1 : 0);
20
+ return t[h] > 0 ? f = h : t[m] > 0 ? f = m : w.length ? [f] = w : [f] = S, f === "bottom" || f === "top" ? r.left ? s = "left" : r.right && (s = "right") : r.top ? s = "top" : r.bottom && (s = "bottom"), {
21
+ pos: f,
22
+ corner: s
23
+ };
24
+ }
25
+ export {
26
+ j as default
27
+ };
@@ -0,0 +1,19 @@
1
+ const p = {
2
+ "cdr-popup": "cdr-popup_13-4-0",
3
+ "cdr-popup--open": "cdr-popup--open_13-4-0",
4
+ "cdr-popup--closed": "cdr-popup--closed_13-4-0",
5
+ "cdr-popup__content": "cdr-popup__content_13-4-0",
6
+ "cdr-popup__arrow": "cdr-popup__arrow_13-4-0",
7
+ "cdr-popup--top": "cdr-popup--top_13-4-0",
8
+ "cdr-popup--bottom": "cdr-popup--bottom_13-4-0",
9
+ "cdr-popup--exit": "cdr-popup--exit_13-4-0",
10
+ "cdr-popup--corner-left": "cdr-popup--corner-left_13-4-0",
11
+ "cdr-popup--corner-right": "cdr-popup--corner-right_13-4-0",
12
+ "cdr-popup--left": "cdr-popup--left_13-4-0",
13
+ "cdr-popup--right": "cdr-popup--right_13-4-0",
14
+ "cdr-popup--corner-top": "cdr-popup--corner-top_13-4-0",
15
+ "cdr-popup--corner-bottom": "cdr-popup--corner-bottom_13-4-0"
16
+ };
17
+ export {
18
+ p as default
19
+ };
@@ -0,0 +1,56 @@
1
+ import { defineComponent as d, computed as c, useCssModule as p, openBlock as t, createBlock as f, resolveDynamicComponent as y, normalizeClass as o, withCtx as C, createElementBlock as l, toDisplayString as m, createCommentVNode as n, renderSlot as g } from "vue";
2
+ import $ from "../../utils/mapClasses.mjs";
3
+ import u from "../../utils/propValidator.mjs";
4
+ import k from "./styles/CdrQuote.module.scss.mjs";
5
+ import q from "../../../_virtual/_plugin-vue_export-helper.mjs";
6
+ const S = d({
7
+ name: "CdrQuote",
8
+ props: {
9
+ tag: {
10
+ type: String,
11
+ default: "blockquote",
12
+ validator: (s) => u(s, ["blockquote", "aside", "q", "div"])
13
+ },
14
+ modifier: {
15
+ type: String,
16
+ default: "",
17
+ validator: (s) => u(s, ["", "pull"])
18
+ },
19
+ /** Caption summary text */
20
+ summary: String,
21
+ /** Caption credit text */
22
+ citation: String
23
+ },
24
+ setup(s) {
25
+ const e = "cdr-quote", a = "cdr-quote__summary", r = "cdr-quote__citation", i = c(() => s.modifier && `${e}--${s.modifier}`);
26
+ return {
27
+ style: p(),
28
+ mapClasses: $,
29
+ baseClass: e,
30
+ summaryClass: a,
31
+ citationClass: r,
32
+ modifierClass: i
33
+ };
34
+ }
35
+ });
36
+ function v(s, e, a, r, i, B) {
37
+ return t(), f(y(s.tag), {
38
+ class: o(s.mapClasses(s.style, s.baseClass, s.modifierClass))
39
+ }, {
40
+ default: C(() => [s.summary ? (t(), l("p", {
41
+ key: 0,
42
+ class: o(s.style[s.summaryClass])
43
+ }, m(s.summary), 3)) : n("", !0), g(s.$slots, "default"), s.citation ? (t(), l("cite", {
44
+ key: 1,
45
+ class: o(s.style[s.citationClass]),
46
+ tag: "cite"
47
+ }, m(s.citation), 3)) : n("", !0)]),
48
+ _: 3
49
+ }, 8, ["class"]);
50
+ }
51
+ const b = {
52
+ $style: k
53
+ }, z = /* @__PURE__ */ q(S, [["render", v], ["__cssModules", b]]);
54
+ export {
55
+ z as default
56
+ };