@rei/cedar 11.0.1 → 13.0.0-alpha.kurt-test

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 (521) hide show
  1. package/README.md +28 -35
  2. package/dist/cedar-compiled.css +944 -1104
  3. package/dist/cedar.js +8727 -9237
  4. package/dist/cedar.mjs +8519 -7534
  5. package/dist/lib/_virtual/plugin-vue_export-helper.js +9 -0
  6. package/dist/lib/assets/{cedar-compiled-010f67b6.css → cedar-compiled-f3a569d4.css} +2475 -2635
  7. package/dist/lib/node_modules/@rei/cdr-tokens/dist/js/{cdr-tokens.esm.mjs → cdr-tokens.esm.js} +0 -0
  8. package/dist/lib/src/components/accordion/CdrAccordion.js +211 -0
  9. package/dist/lib/src/components/accordion/CdrAccordionGroup.js +112 -0
  10. package/dist/lib/src/components/banner/CdrBanner.js +91 -0
  11. package/dist/lib/src/components/breadcrumb/CdrBreadcrumb.js +140 -0
  12. package/dist/lib/src/components/button/CdrButton.js +124 -0
  13. package/dist/lib/src/components/caption/CdrCaption.js +40 -0
  14. package/dist/lib/src/components/card/CdrCard.js +32 -0
  15. package/dist/lib/src/components/checkbox/CdrCheckbox.js +118 -0
  16. package/dist/lib/src/components/chip/CdrChip.js +59 -0
  17. package/dist/lib/src/components/chip/CdrChipGroup.js +109 -0
  18. package/dist/lib/src/components/container/CdrContainer.js +49 -0
  19. package/dist/lib/src/components/formError/CdrFormError.js +40 -0
  20. package/dist/lib/src/components/formGroup/CdrFormGroup.js +99 -0
  21. package/dist/lib/src/components/grid/CdrGrid.js +54 -0
  22. package/dist/lib/src/components/icon/CdrIcon.js +67 -0
  23. package/dist/lib/src/components/icon/comps/account-profile-fill.js +35 -0
  24. package/dist/lib/src/components/icon/comps/account-profile.js +35 -0
  25. package/dist/lib/src/components/icon/comps/arrow-down.js +35 -0
  26. package/dist/lib/src/components/icon/comps/arrow-left.js +35 -0
  27. package/dist/lib/src/components/icon/comps/arrow-right.js +35 -0
  28. package/dist/lib/src/components/icon/comps/arrow-up.js +35 -0
  29. package/dist/lib/src/components/icon/comps/atv.js +35 -0
  30. package/dist/lib/src/components/icon/comps/bed-outline.js +35 -0
  31. package/dist/lib/src/components/icon/comps/bike-shop.js +35 -0
  32. package/dist/lib/src/components/icon/comps/binoculars.js +35 -0
  33. package/dist/lib/src/components/icon/comps/birding.js +35 -0
  34. package/dist/lib/src/components/icon/comps/boat.js +35 -0
  35. package/dist/lib/src/components/icon/comps/boating.js +35 -0
  36. package/dist/lib/src/components/icon/comps/bookmark-fill.js +35 -0
  37. package/dist/lib/src/components/icon/comps/bookmark-stroke.js +35 -0
  38. package/dist/lib/src/components/icon/comps/brand-abstract.js +35 -0
  39. package/dist/lib/src/components/icon/comps/brand-code-sandbox.js +35 -0
  40. package/dist/lib/src/components/icon/comps/brand-github.js +35 -0
  41. package/dist/lib/src/components/icon/comps/brand-linkedin.js +35 -0
  42. package/dist/lib/src/components/icon/comps/brand-rei-ice-axes.js +35 -0
  43. package/dist/lib/src/components/icon/comps/brand-sketch.js +35 -0
  44. package/dist/lib/src/components/icon/comps/buddies.js +35 -0
  45. package/dist/lib/src/components/icon/comps/bus.js +35 -0
  46. package/dist/lib/src/components/icon/comps/calendar.js +35 -0
  47. package/dist/lib/src/components/icon/comps/camera.js +35 -0
  48. package/dist/lib/src/components/icon/comps/canoe.js +35 -0
  49. package/dist/lib/src/components/icon/comps/car.js +35 -0
  50. package/dist/lib/src/components/icon/comps/caret-down.js +35 -0
  51. package/dist/lib/src/components/icon/comps/caret-left.js +35 -0
  52. package/dist/lib/src/components/icon/comps/caret-right.js +35 -0
  53. package/dist/lib/src/components/icon/comps/caret-up.js +35 -0
  54. package/dist/lib/src/components/icon/comps/cart-fill.js +35 -0
  55. package/dist/lib/src/components/icon/comps/cart.js +35 -0
  56. package/dist/lib/src/components/icon/comps/chain-link.js +35 -0
  57. package/dist/lib/src/components/icon/comps/chat.js +35 -0
  58. package/dist/lib/src/components/icon/comps/check-fill.js +35 -0
  59. package/dist/lib/src/components/icon/comps/check-lg.js +35 -0
  60. package/dist/lib/src/components/icon/comps/check-sm.js +35 -0
  61. package/dist/lib/src/components/icon/comps/check-stroke.js +35 -0
  62. package/dist/lib/src/components/icon/comps/climb.js +35 -0
  63. package/dist/lib/src/components/icon/comps/clipboard.js +35 -0
  64. package/dist/lib/src/components/icon/comps/clock.js +35 -0
  65. package/dist/lib/src/components/icon/comps/code-html.js +35 -0
  66. package/dist/lib/src/components/icon/comps/code-js.js +35 -0
  67. package/dist/lib/src/components/icon/comps/compass.js +35 -0
  68. package/dist/lib/src/components/icon/comps/copy.js +35 -0
  69. package/dist/lib/src/components/icon/comps/coupon-fill.js +35 -0
  70. package/dist/lib/src/components/icon/comps/coupon-stroke.js +35 -0
  71. package/dist/lib/src/components/icon/comps/credit-card.js +35 -0
  72. package/dist/lib/src/components/icon/comps/curbside-pickup.js +35 -0
  73. package/dist/lib/src/components/icon/comps/day.js +35 -0
  74. package/dist/lib/src/components/icon/comps/diving.js +35 -0
  75. package/dist/lib/src/components/icon/comps/dog.js +35 -0
  76. package/dist/lib/src/components/icon/comps/download.js +35 -0
  77. package/dist/lib/src/components/icon/comps/edit.js +35 -0
  78. package/dist/lib/src/components/icon/comps/elevation.js +35 -0
  79. package/dist/lib/src/components/icon/comps/error-fill.js +37 -0
  80. package/dist/lib/src/components/icon/comps/error-stroke.js +42 -0
  81. package/dist/lib/src/components/icon/comps/expand.js +35 -0
  82. package/dist/lib/src/components/icon/comps/experiences-backpacking.js +35 -0
  83. package/dist/lib/src/components/icon/comps/experiences-camping.js +35 -0
  84. package/dist/lib/src/components/icon/comps/experiences-climbing.js +35 -0
  85. package/dist/lib/src/components/icon/comps/experiences-clothing.js +35 -0
  86. package/dist/lib/src/components/icon/comps/experiences-cycling.js +35 -0
  87. package/dist/lib/src/components/icon/comps/experiences-family.js +35 -0
  88. package/dist/lib/src/components/icon/comps/experiences-fitness.js +35 -0
  89. package/dist/lib/src/components/icon/comps/experiences-hiking.js +35 -0
  90. package/dist/lib/src/components/icon/comps/experiences-outdoor-basics.js +35 -0
  91. package/dist/lib/src/components/icon/comps/experiences-paddling.js +35 -0
  92. package/dist/lib/src/components/icon/comps/experiences-rentals.js +35 -0
  93. package/dist/lib/src/components/icon/comps/experiences-snowsports.js +35 -0
  94. package/dist/lib/src/components/icon/comps/experiences-travel.js +35 -0
  95. package/dist/lib/src/components/icon/comps/external-link.js +35 -0
  96. package/dist/lib/src/components/icon/comps/eye-hide.js +35 -0
  97. package/dist/lib/src/components/icon/comps/eye-show.js +35 -0
  98. package/dist/lib/src/components/icon/comps/facebook.js +35 -0
  99. package/dist/lib/src/components/icon/comps/filter-alt.js +35 -0
  100. package/dist/lib/src/components/icon/comps/filter.js +35 -0
  101. package/dist/lib/src/components/icon/comps/find-location.js +35 -0
  102. package/dist/lib/src/components/icon/comps/fire.js +35 -0
  103. package/dist/lib/src/components/icon/comps/fishing.js +35 -0
  104. package/dist/lib/src/components/icon/comps/free-product.js +35 -0
  105. package/dist/lib/src/components/icon/comps/grid-view.js +35 -0
  106. package/dist/lib/src/components/icon/comps/heart-fill.js +35 -0
  107. package/dist/lib/src/components/icon/comps/heart-stroke.js +35 -0
  108. package/dist/lib/src/components/icon/comps/hike.js +35 -0
  109. package/dist/lib/src/components/icon/comps/history.js +35 -0
  110. package/dist/lib/src/components/icon/comps/home.js +35 -0
  111. package/dist/lib/src/components/icon/comps/horse.js +35 -0
  112. package/dist/lib/src/components/icon/comps/horseshoe.js +35 -0
  113. package/dist/lib/src/components/icon/comps/image.js +35 -0
  114. package/dist/lib/src/components/icon/comps/information-fill.js +35 -0
  115. package/dist/lib/src/components/icon/comps/information-stroke.js +35 -0
  116. package/dist/lib/src/components/icon/comps/instagram.js +35 -0
  117. package/dist/lib/src/components/icon/comps/kayak.js +35 -0
  118. package/dist/lib/src/components/icon/comps/list-ragged.js +35 -0
  119. package/dist/lib/src/components/icon/comps/list-view.js +35 -0
  120. package/dist/lib/src/components/icon/comps/location-pin-fill.js +35 -0
  121. package/dist/lib/src/components/icon/comps/location-pin-stroke.js +35 -0
  122. package/dist/lib/src/components/icon/comps/lock-locked-fill.js +35 -0
  123. package/dist/lib/src/components/icon/comps/lock-locked-stroke.js +35 -0
  124. package/dist/lib/src/components/icon/comps/lock-unlocked-stroke.js +35 -0
  125. package/dist/lib/src/components/icon/comps/mail.js +35 -0
  126. package/dist/lib/src/components/icon/comps/map.js +35 -0
  127. package/dist/lib/src/components/icon/comps/member-card.js +35 -0
  128. package/dist/lib/src/components/icon/comps/microphone.js +35 -0
  129. package/dist/lib/src/components/icon/comps/minus-fill.js +35 -0
  130. package/dist/lib/src/components/icon/comps/minus-lg.js +35 -0
  131. package/dist/lib/src/components/icon/comps/minus-sm.js +35 -0
  132. package/dist/lib/src/components/icon/comps/minus-stroke.js +35 -0
  133. package/dist/lib/src/components/icon/comps/more-functions.js +35 -0
  134. package/dist/lib/src/components/icon/comps/my-location.js +35 -0
  135. package/dist/lib/src/components/icon/comps/navigation-menu.js +35 -0
  136. package/dist/lib/src/components/icon/comps/night.js +35 -0
  137. package/dist/lib/src/components/icon/comps/paddle.js +35 -0
  138. package/dist/lib/src/components/icon/comps/pause-fill.js +35 -0
  139. package/dist/lib/src/components/icon/comps/pause-stroke.js +35 -0
  140. package/dist/lib/src/components/icon/comps/pause.js +35 -0
  141. package/dist/lib/src/components/icon/comps/photography.js +35 -0
  142. package/dist/lib/src/components/icon/comps/picnic.js +35 -0
  143. package/dist/lib/src/components/icon/comps/pinterest.js +35 -0
  144. package/dist/lib/src/components/icon/comps/plane.js +35 -0
  145. package/dist/lib/src/components/icon/comps/play-fill.js +35 -0
  146. package/dist/lib/src/components/icon/comps/play-stroke.js +35 -0
  147. package/dist/lib/src/components/icon/comps/play.js +35 -0
  148. package/dist/lib/src/components/icon/comps/playground.js +35 -0
  149. package/dist/lib/src/components/icon/comps/plugin.js +35 -0
  150. package/dist/lib/src/components/icon/comps/plus-fill.js +35 -0
  151. package/dist/lib/src/components/icon/comps/plus-lg.js +35 -0
  152. package/dist/lib/src/components/icon/comps/plus-sm.js +35 -0
  153. package/dist/lib/src/components/icon/comps/plus-stroke.js +35 -0
  154. package/dist/lib/src/components/icon/comps/print.js +35 -0
  155. package/dist/lib/src/components/icon/comps/protection-fill.js +35 -0
  156. package/dist/lib/src/components/icon/comps/protection-stroke.js +35 -0
  157. package/dist/lib/src/components/icon/comps/question-fill.js +35 -0
  158. package/dist/lib/src/components/icon/comps/question-stroke.js +35 -0
  159. package/dist/lib/src/components/icon/comps/refresh.js +35 -0
  160. package/dist/lib/src/components/icon/comps/reload.js +35 -0
  161. package/dist/lib/src/components/icon/comps/returns.js +35 -0
  162. package/dist/lib/src/components/icon/comps/run.js +35 -0
  163. package/dist/lib/src/components/icon/comps/scan-barcode.js +35 -0
  164. package/dist/lib/src/components/icon/comps/search.js +35 -0
  165. package/dist/lib/src/components/icon/comps/service-shop.js +35 -0
  166. package/dist/lib/src/components/icon/comps/shipping.js +35 -0
  167. package/dist/lib/src/components/icon/comps/shopping-bag-fill.js +35 -0
  168. package/dist/lib/src/components/icon/comps/shopping-bag.js +35 -0
  169. package/dist/lib/src/components/icon/comps/shrink.js +35 -0
  170. package/dist/lib/src/components/icon/comps/size-chart.js +35 -0
  171. package/dist/lib/src/components/icon/comps/ski-boot.js +35 -0
  172. package/dist/lib/src/components/icon/comps/ski.js +35 -0
  173. package/dist/lib/src/components/icon/comps/snow-shop.js +35 -0
  174. package/dist/lib/src/components/icon/comps/snow.js +35 -0
  175. package/dist/lib/src/components/icon/comps/sort.js +35 -0
  176. package/dist/lib/src/components/icon/comps/star-100.js +35 -0
  177. package/dist/lib/src/components/icon/comps/star-25.js +35 -0
  178. package/dist/lib/src/components/icon/comps/star-50.js +35 -0
  179. package/dist/lib/src/components/icon/comps/star-75.js +35 -0
  180. package/dist/lib/src/components/icon/comps/star-stroke.js +35 -0
  181. package/dist/lib/src/components/icon/comps/storefront.js +35 -0
  182. package/dist/lib/src/components/icon/comps/swim.js +35 -0
  183. package/dist/lib/src/components/icon/comps/telephone.js +35 -0
  184. package/dist/lib/src/components/icon/comps/tent.js +35 -0
  185. package/dist/lib/src/components/icon/comps/trash.js +35 -0
  186. package/dist/lib/src/components/icon/comps/twitter.js +35 -0
  187. package/dist/lib/src/components/icon/comps/upload.js +35 -0
  188. package/dist/lib/src/components/icon/comps/verified-purchaser.js +35 -0
  189. package/dist/lib/src/components/icon/comps/virtual-outfitting.js +35 -0
  190. package/dist/lib/src/components/icon/comps/warning-fill.js +35 -0
  191. package/dist/lib/src/components/icon/comps/warning-stroke.js +35 -0
  192. package/dist/lib/src/components/icon/comps/water.js +35 -0
  193. package/dist/lib/src/components/icon/comps/wilderness.js +35 -0
  194. package/dist/lib/src/components/icon/comps/x-fill.js +35 -0
  195. package/dist/lib/src/components/icon/comps/x-lg.js +35 -0
  196. package/dist/lib/src/components/icon/comps/x-sm.js +35 -0
  197. package/dist/lib/src/components/icon/comps/x-stroke.js +35 -0
  198. package/dist/lib/src/components/icon/comps/youtube.js +35 -0
  199. package/dist/lib/src/components/icon/comps/zoom-in.js +35 -0
  200. package/dist/lib/src/components/icon/comps/zoom-out.js +35 -0
  201. package/dist/lib/src/components/image/CdrImg.js +148 -0
  202. package/dist/lib/src/components/input/CdrInput.js +305 -0
  203. package/dist/lib/src/components/labelStandalone/CdrLabelStandalone.js +116 -0
  204. package/dist/lib/src/components/labelWrapper/CdrLabelWrapper.js +60 -0
  205. package/dist/lib/src/components/link/CdrLink.js +71 -0
  206. package/dist/lib/src/components/list/CdrList.js +46 -0
  207. package/dist/lib/src/components/modal/CdrModal.js +383 -0
  208. package/dist/lib/src/components/modal/{onTransitionEnd.mjs → onTransitionEnd.js} +15 -13
  209. package/dist/lib/src/components/pagination/CdrPagination.js +315 -0
  210. package/dist/lib/src/components/popover/CdrPopover.js +183 -0
  211. package/dist/lib/src/components/popup/CdrPopup.js +188 -0
  212. package/dist/lib/src/components/popup/calculatePlacement.js +88 -0
  213. package/dist/lib/src/components/quote/CdrQuote.js +64 -0
  214. package/dist/lib/src/components/radio/CdrRadio.js +110 -0
  215. package/dist/lib/src/components/rating/CdrRating.js +184 -0
  216. package/dist/lib/src/components/select/CdrSelect.js +277 -0
  217. package/dist/lib/src/components/table/CdrTable.js +84 -0
  218. package/dist/lib/src/components/tabs/CdrTabPanel.js +117 -0
  219. package/dist/lib/src/components/tabs/CdrTabs.js +361 -0
  220. package/dist/lib/src/components/text/CdrText.js +31 -0
  221. package/dist/lib/src/components/toast/CdrToast.js +160 -0
  222. package/dist/lib/src/components/tooltip/CdrTooltip.js +129 -0
  223. package/dist/lib/src/{index.mjs → index.js} +209 -209
  224. package/dist/lib/src/mixins/breakpoints.js +21 -0
  225. package/dist/lib/src/props/background.js +11 -0
  226. package/dist/lib/src/props/size.js +11 -0
  227. package/dist/lib/src/utils/buildClass.js +90 -0
  228. package/dist/lib/src/utils/mapClasses.js +22 -0
  229. package/dist/lib/src/utils/{propValidator.mjs → propValidator.js} +6 -5
  230. package/dist/style/cedar-full.css +0 -1
  231. package/package.json +53 -38
  232. package/dist/lib/src/components/accordion/CdrAccordion.mjs +0 -198
  233. package/dist/lib/src/components/accordion/CdrAccordionGroup.mjs +0 -119
  234. package/dist/lib/src/components/accordion/styles/CdrAccordion.mjs +0 -3
  235. package/dist/lib/src/components/accordion/styles/CdrAccordionGroup.mjs +0 -3
  236. package/dist/lib/src/components/banner/CdrBanner.mjs +0 -61
  237. package/dist/lib/src/components/banner/styles/CdrBanner.mjs +0 -3
  238. package/dist/lib/src/components/breadcrumb/CdrBreadcrumb.mjs +0 -158
  239. package/dist/lib/src/components/breadcrumb/styles/CdrBreadcrumb.mjs +0 -3
  240. package/dist/lib/src/components/button/CdrButton.mjs +0 -118
  241. package/dist/lib/src/components/button/styles/CdrButton.mjs +0 -3
  242. package/dist/lib/src/components/caption/CdrCaption.mjs +0 -38
  243. package/dist/lib/src/components/caption/styles/CdrCaption.mjs +0 -3
  244. package/dist/lib/src/components/card/CdrCard.mjs +0 -35
  245. package/dist/lib/src/components/card/styles/CdrCard.mjs +0 -3
  246. package/dist/lib/src/components/checkbox/CdrCheckbox.mjs +0 -165
  247. package/dist/lib/src/components/checkbox/styles/CdrCheckbox.mjs +0 -3
  248. package/dist/lib/src/components/chip/CdrChip.mjs +0 -30
  249. package/dist/lib/src/components/chip/CdrChipGroup.mjs +0 -105
  250. package/dist/lib/src/components/chip/styles/CdrChip.mjs +0 -3
  251. package/dist/lib/src/components/chip/styles/CdrChipGroup.mjs +0 -3
  252. package/dist/lib/src/components/container/CdrContainer.mjs +0 -49
  253. package/dist/lib/src/components/container/styles/CdrContainer.mjs +0 -3
  254. package/dist/lib/src/components/formError/CdrFormError.mjs +0 -39
  255. package/dist/lib/src/components/formError/styles/CdrFormError.mjs +0 -3
  256. package/dist/lib/src/components/formGroup/CdrFormGroup.mjs +0 -95
  257. package/dist/lib/src/components/formGroup/styles/CdrFormGroup.mjs +0 -3
  258. package/dist/lib/src/components/grid/CdrGrid.mjs +0 -55
  259. package/dist/lib/src/components/grid/styles/CdrGrid.mjs +0 -3
  260. package/dist/lib/src/components/icon/CdrIcon.mjs +0 -76
  261. package/dist/lib/src/components/icon/comps/account-profile-fill.mjs +0 -27
  262. package/dist/lib/src/components/icon/comps/account-profile.mjs +0 -27
  263. package/dist/lib/src/components/icon/comps/arrow-down.mjs +0 -27
  264. package/dist/lib/src/components/icon/comps/arrow-left.mjs +0 -27
  265. package/dist/lib/src/components/icon/comps/arrow-right.mjs +0 -27
  266. package/dist/lib/src/components/icon/comps/arrow-up.mjs +0 -27
  267. package/dist/lib/src/components/icon/comps/atv.mjs +0 -27
  268. package/dist/lib/src/components/icon/comps/bed-outline.mjs +0 -27
  269. package/dist/lib/src/components/icon/comps/bike-shop.mjs +0 -27
  270. package/dist/lib/src/components/icon/comps/binoculars.mjs +0 -27
  271. package/dist/lib/src/components/icon/comps/birding.mjs +0 -27
  272. package/dist/lib/src/components/icon/comps/boat.mjs +0 -27
  273. package/dist/lib/src/components/icon/comps/boating.mjs +0 -27
  274. package/dist/lib/src/components/icon/comps/bookmark-fill.mjs +0 -27
  275. package/dist/lib/src/components/icon/comps/bookmark-stroke.mjs +0 -27
  276. package/dist/lib/src/components/icon/comps/brand-abstract.mjs +0 -27
  277. package/dist/lib/src/components/icon/comps/brand-code-sandbox.mjs +0 -27
  278. package/dist/lib/src/components/icon/comps/brand-github.mjs +0 -27
  279. package/dist/lib/src/components/icon/comps/brand-linkedin.mjs +0 -27
  280. package/dist/lib/src/components/icon/comps/brand-rei-ice-axes.mjs +0 -27
  281. package/dist/lib/src/components/icon/comps/brand-sketch.mjs +0 -27
  282. package/dist/lib/src/components/icon/comps/buddies.mjs +0 -27
  283. package/dist/lib/src/components/icon/comps/bus.mjs +0 -27
  284. package/dist/lib/src/components/icon/comps/calendar.mjs +0 -27
  285. package/dist/lib/src/components/icon/comps/camera.mjs +0 -27
  286. package/dist/lib/src/components/icon/comps/canoe.mjs +0 -27
  287. package/dist/lib/src/components/icon/comps/car.mjs +0 -27
  288. package/dist/lib/src/components/icon/comps/caret-down.mjs +0 -27
  289. package/dist/lib/src/components/icon/comps/caret-left.mjs +0 -27
  290. package/dist/lib/src/components/icon/comps/caret-right.mjs +0 -27
  291. package/dist/lib/src/components/icon/comps/caret-up.mjs +0 -27
  292. package/dist/lib/src/components/icon/comps/cart-fill.mjs +0 -27
  293. package/dist/lib/src/components/icon/comps/cart.mjs +0 -27
  294. package/dist/lib/src/components/icon/comps/chain-link.mjs +0 -27
  295. package/dist/lib/src/components/icon/comps/chat.mjs +0 -27
  296. package/dist/lib/src/components/icon/comps/check-fill.mjs +0 -27
  297. package/dist/lib/src/components/icon/comps/check-lg.mjs +0 -27
  298. package/dist/lib/src/components/icon/comps/check-sm.mjs +0 -27
  299. package/dist/lib/src/components/icon/comps/check-stroke.mjs +0 -27
  300. package/dist/lib/src/components/icon/comps/climb.mjs +0 -27
  301. package/dist/lib/src/components/icon/comps/clipboard.mjs +0 -27
  302. package/dist/lib/src/components/icon/comps/clock.mjs +0 -27
  303. package/dist/lib/src/components/icon/comps/code-html.mjs +0 -27
  304. package/dist/lib/src/components/icon/comps/code-js.mjs +0 -27
  305. package/dist/lib/src/components/icon/comps/compass.mjs +0 -27
  306. package/dist/lib/src/components/icon/comps/copy.mjs +0 -27
  307. package/dist/lib/src/components/icon/comps/coupon-fill.mjs +0 -27
  308. package/dist/lib/src/components/icon/comps/coupon-stroke.mjs +0 -27
  309. package/dist/lib/src/components/icon/comps/credit-card.mjs +0 -27
  310. package/dist/lib/src/components/icon/comps/curbside-pickup.mjs +0 -27
  311. package/dist/lib/src/components/icon/comps/day.mjs +0 -27
  312. package/dist/lib/src/components/icon/comps/diving.mjs +0 -27
  313. package/dist/lib/src/components/icon/comps/dog.mjs +0 -27
  314. package/dist/lib/src/components/icon/comps/download.mjs +0 -27
  315. package/dist/lib/src/components/icon/comps/edit.mjs +0 -27
  316. package/dist/lib/src/components/icon/comps/elevation.mjs +0 -27
  317. package/dist/lib/src/components/icon/comps/error-fill.mjs +0 -29
  318. package/dist/lib/src/components/icon/comps/error-stroke.mjs +0 -33
  319. package/dist/lib/src/components/icon/comps/expand.mjs +0 -27
  320. package/dist/lib/src/components/icon/comps/experiences-backpacking.mjs +0 -27
  321. package/dist/lib/src/components/icon/comps/experiences-camping.mjs +0 -27
  322. package/dist/lib/src/components/icon/comps/experiences-climbing.mjs +0 -27
  323. package/dist/lib/src/components/icon/comps/experiences-clothing.mjs +0 -27
  324. package/dist/lib/src/components/icon/comps/experiences-cycling.mjs +0 -27
  325. package/dist/lib/src/components/icon/comps/experiences-family.mjs +0 -27
  326. package/dist/lib/src/components/icon/comps/experiences-fitness.mjs +0 -27
  327. package/dist/lib/src/components/icon/comps/experiences-hiking.mjs +0 -27
  328. package/dist/lib/src/components/icon/comps/experiences-outdoor-basics.mjs +0 -27
  329. package/dist/lib/src/components/icon/comps/experiences-paddling.mjs +0 -27
  330. package/dist/lib/src/components/icon/comps/experiences-rentals.mjs +0 -27
  331. package/dist/lib/src/components/icon/comps/experiences-snowsports.mjs +0 -27
  332. package/dist/lib/src/components/icon/comps/experiences-travel.mjs +0 -27
  333. package/dist/lib/src/components/icon/comps/external-link.mjs +0 -27
  334. package/dist/lib/src/components/icon/comps/eye-hide.mjs +0 -27
  335. package/dist/lib/src/components/icon/comps/eye-show.mjs +0 -27
  336. package/dist/lib/src/components/icon/comps/facebook.mjs +0 -27
  337. package/dist/lib/src/components/icon/comps/filter-alt.mjs +0 -27
  338. package/dist/lib/src/components/icon/comps/filter.mjs +0 -27
  339. package/dist/lib/src/components/icon/comps/find-location.mjs +0 -27
  340. package/dist/lib/src/components/icon/comps/fire.mjs +0 -27
  341. package/dist/lib/src/components/icon/comps/fishing.mjs +0 -27
  342. package/dist/lib/src/components/icon/comps/free-product.mjs +0 -27
  343. package/dist/lib/src/components/icon/comps/grid-view.mjs +0 -27
  344. package/dist/lib/src/components/icon/comps/heart-fill.mjs +0 -27
  345. package/dist/lib/src/components/icon/comps/heart-stroke.mjs +0 -27
  346. package/dist/lib/src/components/icon/comps/hike.mjs +0 -27
  347. package/dist/lib/src/components/icon/comps/history.mjs +0 -27
  348. package/dist/lib/src/components/icon/comps/home.mjs +0 -27
  349. package/dist/lib/src/components/icon/comps/horse.mjs +0 -27
  350. package/dist/lib/src/components/icon/comps/horseshoe.mjs +0 -27
  351. package/dist/lib/src/components/icon/comps/image.mjs +0 -27
  352. package/dist/lib/src/components/icon/comps/information-fill.mjs +0 -27
  353. package/dist/lib/src/components/icon/comps/information-stroke.mjs +0 -27
  354. package/dist/lib/src/components/icon/comps/instagram.mjs +0 -27
  355. package/dist/lib/src/components/icon/comps/kayak.mjs +0 -27
  356. package/dist/lib/src/components/icon/comps/list-ragged.mjs +0 -27
  357. package/dist/lib/src/components/icon/comps/list-view.mjs +0 -27
  358. package/dist/lib/src/components/icon/comps/location-pin-fill.mjs +0 -27
  359. package/dist/lib/src/components/icon/comps/location-pin-stroke.mjs +0 -27
  360. package/dist/lib/src/components/icon/comps/lock-locked-fill.mjs +0 -27
  361. package/dist/lib/src/components/icon/comps/lock-locked-stroke.mjs +0 -27
  362. package/dist/lib/src/components/icon/comps/lock-unlocked-stroke.mjs +0 -27
  363. package/dist/lib/src/components/icon/comps/mail.mjs +0 -27
  364. package/dist/lib/src/components/icon/comps/map.mjs +0 -27
  365. package/dist/lib/src/components/icon/comps/member-card.mjs +0 -27
  366. package/dist/lib/src/components/icon/comps/microphone.mjs +0 -27
  367. package/dist/lib/src/components/icon/comps/minus-fill.mjs +0 -27
  368. package/dist/lib/src/components/icon/comps/minus-lg.mjs +0 -27
  369. package/dist/lib/src/components/icon/comps/minus-sm.mjs +0 -27
  370. package/dist/lib/src/components/icon/comps/minus-stroke.mjs +0 -27
  371. package/dist/lib/src/components/icon/comps/more-functions.mjs +0 -27
  372. package/dist/lib/src/components/icon/comps/my-location.mjs +0 -27
  373. package/dist/lib/src/components/icon/comps/navigation-menu.mjs +0 -27
  374. package/dist/lib/src/components/icon/comps/night.mjs +0 -27
  375. package/dist/lib/src/components/icon/comps/paddle.mjs +0 -27
  376. package/dist/lib/src/components/icon/comps/pause-fill.mjs +0 -27
  377. package/dist/lib/src/components/icon/comps/pause-stroke.mjs +0 -27
  378. package/dist/lib/src/components/icon/comps/pause.mjs +0 -27
  379. package/dist/lib/src/components/icon/comps/photography.mjs +0 -27
  380. package/dist/lib/src/components/icon/comps/picnic.mjs +0 -27
  381. package/dist/lib/src/components/icon/comps/pinterest.mjs +0 -27
  382. package/dist/lib/src/components/icon/comps/plane.mjs +0 -27
  383. package/dist/lib/src/components/icon/comps/play-fill.mjs +0 -27
  384. package/dist/lib/src/components/icon/comps/play-stroke.mjs +0 -27
  385. package/dist/lib/src/components/icon/comps/play.mjs +0 -27
  386. package/dist/lib/src/components/icon/comps/playground.mjs +0 -27
  387. package/dist/lib/src/components/icon/comps/plugin.mjs +0 -27
  388. package/dist/lib/src/components/icon/comps/plus-fill.mjs +0 -27
  389. package/dist/lib/src/components/icon/comps/plus-lg.mjs +0 -27
  390. package/dist/lib/src/components/icon/comps/plus-sm.mjs +0 -27
  391. package/dist/lib/src/components/icon/comps/plus-stroke.mjs +0 -27
  392. package/dist/lib/src/components/icon/comps/print.mjs +0 -27
  393. package/dist/lib/src/components/icon/comps/protection-fill.mjs +0 -27
  394. package/dist/lib/src/components/icon/comps/protection-stroke.mjs +0 -27
  395. package/dist/lib/src/components/icon/comps/question-fill.mjs +0 -27
  396. package/dist/lib/src/components/icon/comps/question-stroke.mjs +0 -27
  397. package/dist/lib/src/components/icon/comps/refresh.mjs +0 -27
  398. package/dist/lib/src/components/icon/comps/reload.mjs +0 -27
  399. package/dist/lib/src/components/icon/comps/returns.mjs +0 -27
  400. package/dist/lib/src/components/icon/comps/run.mjs +0 -27
  401. package/dist/lib/src/components/icon/comps/scan-barcode.mjs +0 -27
  402. package/dist/lib/src/components/icon/comps/search.mjs +0 -27
  403. package/dist/lib/src/components/icon/comps/service-shop.mjs +0 -27
  404. package/dist/lib/src/components/icon/comps/shipping.mjs +0 -27
  405. package/dist/lib/src/components/icon/comps/shopping-bag-fill.mjs +0 -27
  406. package/dist/lib/src/components/icon/comps/shopping-bag.mjs +0 -27
  407. package/dist/lib/src/components/icon/comps/shrink.mjs +0 -27
  408. package/dist/lib/src/components/icon/comps/size-chart.mjs +0 -27
  409. package/dist/lib/src/components/icon/comps/ski-boot.mjs +0 -27
  410. package/dist/lib/src/components/icon/comps/ski.mjs +0 -27
  411. package/dist/lib/src/components/icon/comps/snow-shop.mjs +0 -27
  412. package/dist/lib/src/components/icon/comps/snow.mjs +0 -27
  413. package/dist/lib/src/components/icon/comps/sort.mjs +0 -27
  414. package/dist/lib/src/components/icon/comps/star-100.mjs +0 -27
  415. package/dist/lib/src/components/icon/comps/star-25.mjs +0 -27
  416. package/dist/lib/src/components/icon/comps/star-50.mjs +0 -27
  417. package/dist/lib/src/components/icon/comps/star-75.mjs +0 -27
  418. package/dist/lib/src/components/icon/comps/star-stroke.mjs +0 -27
  419. package/dist/lib/src/components/icon/comps/storefront.mjs +0 -27
  420. package/dist/lib/src/components/icon/comps/swim.mjs +0 -27
  421. package/dist/lib/src/components/icon/comps/telephone.mjs +0 -27
  422. package/dist/lib/src/components/icon/comps/tent.mjs +0 -27
  423. package/dist/lib/src/components/icon/comps/trash.mjs +0 -27
  424. package/dist/lib/src/components/icon/comps/twitter.mjs +0 -27
  425. package/dist/lib/src/components/icon/comps/upload.mjs +0 -27
  426. package/dist/lib/src/components/icon/comps/verified-purchaser.mjs +0 -27
  427. package/dist/lib/src/components/icon/comps/virtual-outfitting.mjs +0 -27
  428. package/dist/lib/src/components/icon/comps/warning-fill.mjs +0 -27
  429. package/dist/lib/src/components/icon/comps/warning-stroke.mjs +0 -27
  430. package/dist/lib/src/components/icon/comps/water.mjs +0 -27
  431. package/dist/lib/src/components/icon/comps/wilderness.mjs +0 -27
  432. package/dist/lib/src/components/icon/comps/x-fill.mjs +0 -27
  433. package/dist/lib/src/components/icon/comps/x-lg.mjs +0 -27
  434. package/dist/lib/src/components/icon/comps/x-sm.mjs +0 -27
  435. package/dist/lib/src/components/icon/comps/x-stroke.mjs +0 -27
  436. package/dist/lib/src/components/icon/comps/youtube.mjs +0 -27
  437. package/dist/lib/src/components/icon/comps/zoom-in.mjs +0 -27
  438. package/dist/lib/src/components/icon/comps/zoom-out.mjs +0 -27
  439. package/dist/lib/src/components/icon/styles/CdrIcon.mjs +0 -3
  440. package/dist/lib/src/components/image/CdrImg.mjs +0 -140
  441. package/dist/lib/src/components/image/styles/CdrImg.mjs +0 -3
  442. package/dist/lib/src/components/input/CdrInput.mjs +0 -283
  443. package/dist/lib/src/components/input/styles/CdrInput.mjs +0 -3
  444. package/dist/lib/src/components/labelStandalone/CdrLabelStandalone.mjs +0 -85
  445. package/dist/lib/src/components/labelStandalone/styles/CdrLabelStandalone.mjs +0 -3
  446. package/dist/lib/src/components/labelWrapper/CdrLabelWrapper.mjs +0 -54
  447. package/dist/lib/src/components/labelWrapper/styles/CdrLabelWrapper.mjs +0 -3
  448. package/dist/lib/src/components/link/CdrLink.mjs +0 -71
  449. package/dist/lib/src/components/link/styles/CdrLink.mjs +0 -3
  450. package/dist/lib/src/components/list/CdrList.mjs +0 -42
  451. package/dist/lib/src/components/list/styles/CdrList.mjs +0 -3
  452. package/dist/lib/src/components/modal/CdrModal.mjs +0 -365
  453. package/dist/lib/src/components/modal/styles/CdrModal.mjs +0 -3
  454. package/dist/lib/src/components/pagination/CdrPagination.mjs +0 -425
  455. package/dist/lib/src/components/pagination/styles/CdrPagination.mjs +0 -3
  456. package/dist/lib/src/components/popover/CdrPopover.mjs +0 -155
  457. package/dist/lib/src/components/popover/styles/CdrPopover.mjs +0 -3
  458. package/dist/lib/src/components/popup/CdrPopup.mjs +0 -256
  459. package/dist/lib/src/components/popup/styles/CdrPopup.mjs +0 -3
  460. package/dist/lib/src/components/quote/CdrQuote.mjs +0 -66
  461. package/dist/lib/src/components/quote/styles/CdrQuote.mjs +0 -3
  462. package/dist/lib/src/components/radio/CdrRadio.mjs +0 -141
  463. package/dist/lib/src/components/radio/styles/CdrRadio.mjs +0 -3
  464. package/dist/lib/src/components/rating/CdrRating.mjs +0 -179
  465. package/dist/lib/src/components/rating/styles/CdrRating.mjs +0 -3
  466. package/dist/lib/src/components/select/CdrSelect.mjs +0 -255
  467. package/dist/lib/src/components/select/styles/CdrSelect.mjs +0 -3
  468. package/dist/lib/src/components/table/CdrTable.mjs +0 -73
  469. package/dist/lib/src/components/table/styles/CdrTable.mjs +0 -3
  470. package/dist/lib/src/components/tabs/CdrTabPanel.mjs +0 -105
  471. package/dist/lib/src/components/tabs/CdrTabs.mjs +0 -353
  472. package/dist/lib/src/components/tabs/styles/CdrTabPanel.mjs +0 -3
  473. package/dist/lib/src/components/tabs/styles/CdrTabs.mjs +0 -3
  474. package/dist/lib/src/components/text/CdrText.mjs +0 -44
  475. package/dist/lib/src/components/text/styles/CdrText.mjs +0 -3
  476. package/dist/lib/src/components/toast/CdrToast.mjs +0 -159
  477. package/dist/lib/src/components/toast/styles/CdrToast.mjs +0 -3
  478. package/dist/lib/src/components/tooltip/CdrTooltip.mjs +0 -121
  479. package/dist/lib/src/components/tooltip/styles/CdrTooltip.mjs +0 -3
  480. package/dist/lib/src/mixins/breakpoints.mjs +0 -26
  481. package/dist/lib/src/mixins/buildClass.mjs +0 -71
  482. package/dist/lib/src/mixins/fullWidth.mjs +0 -47
  483. package/dist/lib/src/mixins/modifier.mjs +0 -22
  484. package/dist/lib/src/mixins/size.mjs +0 -37
  485. package/dist/style/cdr-accordion-group.css +0 -1
  486. package/dist/style/cdr-accordion.css +0 -1
  487. package/dist/style/cdr-banner-vars.css +0 -0
  488. package/dist/style/cdr-banner.css +0 -1
  489. package/dist/style/cdr-breadcrumb.css +0 -1
  490. package/dist/style/cdr-button.css +0 -1
  491. package/dist/style/cdr-caption.css +0 -1
  492. package/dist/style/cdr-card.css +0 -1
  493. package/dist/style/cdr-checkbox.css +0 -1
  494. package/dist/style/cdr-chip-group.css +0 -1
  495. package/dist/style/cdr-chip.css +0 -1
  496. package/dist/style/cdr-container.css +0 -1
  497. package/dist/style/cdr-form-error.css +0 -1
  498. package/dist/style/cdr-form-group.css +0 -1
  499. package/dist/style/cdr-grid.css +0 -1
  500. package/dist/style/cdr-icon.css +0 -1
  501. package/dist/style/cdr-img.css +0 -1
  502. package/dist/style/cdr-input.css +0 -1
  503. package/dist/style/cdr-label-standalone.css +0 -1
  504. package/dist/style/cdr-label-wrapper.css +0 -1
  505. package/dist/style/cdr-link.css +0 -1
  506. package/dist/style/cdr-list.css +0 -1
  507. package/dist/style/cdr-modal.css +0 -1
  508. package/dist/style/cdr-pagination.css +0 -1
  509. package/dist/style/cdr-popover.css +0 -1
  510. package/dist/style/cdr-popup.css +0 -1
  511. package/dist/style/cdr-quote.css +0 -1
  512. package/dist/style/cdr-radio.css +0 -1
  513. package/dist/style/cdr-rating.css +0 -1
  514. package/dist/style/cdr-select.css +0 -1
  515. package/dist/style/cdr-tab-panel.css +0 -1
  516. package/dist/style/cdr-table.css +0 -1
  517. package/dist/style/cdr-tabs.css +0 -1
  518. package/dist/style/cdr-text.css +0 -1
  519. package/dist/style/cdr-toast.css +0 -1
  520. package/dist/style/cdr-tooltip.css +0 -1
  521. package/dist/style/reset.css +0 -1
@@ -0,0 +1,315 @@
1
+ import { defineComponent, ref, computed, onMounted, watch, useCssModule, resolveComponent, openBlock, createElementBlock, createElementVNode, normalizeClass, createBlock, resolveDynamicComponent, withCtx, createVNode, Fragment, renderList, createTextVNode, toDisplayString, nextTick } from 'vue';
2
+ import mapClasses from '../../utils/mapClasses.js';
3
+ import validateProp from '../../utils/propValidator.js';
4
+ import IconCaretLeft from '../icon/comps/caret-left.js';
5
+ import IconCaretRight from '../icon/comps/caret-right.js';
6
+ import CdrSelect from '../select/CdrSelect.js';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
8
+
9
+ const _sfc_main = defineComponent({
10
+ name: 'CdrPagination',
11
+ components: {
12
+ IconCaretLeft,
13
+ IconCaretRight,
14
+ CdrSelect,
15
+ },
16
+ props: {
17
+ // NOTE pagination now requires an ID
18
+ id: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ /**
23
+ * Total number of pages. Sometimes the total number of pages is different than total page data
24
+ * and this prop allows for that.
25
+ */
26
+ totalPages: {
27
+ type: Number,
28
+ default: null,
29
+ },
30
+ /**
31
+ * Array of objects. Objects have structure of { page: Number, url: String }
32
+ */
33
+ pages: {
34
+ type: Array,
35
+ required: true,
36
+ validator: (value) => {
37
+ const result = value.every((obj) => {
38
+ if (!Object.prototype.hasOwnProperty.call(obj, 'page')
39
+ || typeof obj.page !== 'number') {
40
+ console.error('Property "page" is missing or is not a number', obj); // eslint-disable-line
41
+ return false;
42
+ } if (!Object.prototype.hasOwnProperty.call(obj, 'url')
43
+ || typeof obj.url !== 'string') {
44
+ console.error('Property "url" is missing or is not a string', obj); // eslint-disable-line
45
+ return false;
46
+ }
47
+ return true;
48
+ });
49
+ return result;
50
+ },
51
+ },
52
+ linkTag: {
53
+ type: String,
54
+ default: 'a',
55
+ validator: (value) => validateProp(
56
+ value,
57
+ ['a', 'button'],
58
+ ),
59
+ },
60
+ forLabel: {
61
+ type: String,
62
+ default: '',
63
+ },
64
+ /** @ignore used for binding v-model, represents the current page */
65
+ modelValue: {
66
+ type: Number,
67
+ },
68
+ },
69
+ setup(props, ctx) {
70
+ const currentIdx = ref(0);
71
+
72
+ const innerValue = computed({
73
+ get: () => props.modelValue,
74
+ set: val => {
75
+ setCurrentIdx(val);
76
+ ctx.emit('update:modelValue', val);
77
+ }
78
+ });
79
+
80
+ const setCurrentIdx = (page) => {
81
+ currentIdx.value = props.pages.map((x) => x.page).indexOf(page);
82
+ };
83
+
84
+ const navigate = (pageNum, e) => {
85
+ // TODO: provide option to just emit without navigating to support vue-router?
86
+ // Dont do anything if clicking the current active page
87
+ if (pageNum === innerValue.value) {
88
+ e.preventDefault();
89
+ return;
90
+ }
91
+ innerValue.value = pageNum;
92
+ ctx.emit('navigate', pageNum, currentUrl.value, e);
93
+
94
+ // TODO: is this still necessary?
95
+ nextTick(() => {
96
+ // Done in a nextTick() to ensure rendering complete
97
+ try {
98
+ // Emulate native link click page reloading behaviour by blurring the
99
+ // paginator and returning focus to the document
100
+ const target = e.currentTarget || e.target;
101
+ target.blur();
102
+ } catch (err) {
103
+ // eslint-disable-next-line no-console
104
+ console.error(err);
105
+ }
106
+ });
107
+ };
108
+ const select = (page, e) => {
109
+ e.preventDefault();
110
+ console.log('IMPLEMENT ME!', page);
111
+ // TODO: add page links to refs array? better way to do this???
112
+ // $refs[`page-link-${page}-${componentID}`].click();
113
+ };
114
+
115
+ const currentUrl = computed(() => props.pages[currentIdx.value].url);
116
+ const ariaLabel = computed(() => props.forLabel || 'Pagination');
117
+
118
+ const prevPageData = computed(() => props.pages[currentIdx.value - 1]);
119
+ const nextPageData = computed(() => props.pages[currentIdx.value + 1]);
120
+
121
+
122
+ const paginationData = computed(() => {
123
+ const total = props.pages.length;
124
+ const current = innerValue.value;
125
+ const delta = 1;
126
+ let range = [];
127
+ let over5 = true;
128
+ let over5remain = true;
129
+
130
+ if (total <= 7) {
131
+ // all pages
132
+ return props.pages;
133
+ }
134
+
135
+ if (current < 5) {
136
+ // if first 5 pages
137
+ over5 = false;
138
+ // [2-5]
139
+ range = props.pages.slice(1, 5);
140
+ } else if (total - current < 4) {
141
+ // if last 5 pages
142
+ over5remain = false;
143
+ range = props.pages.slice(-5, -1);
144
+ } else {
145
+ // else in between
146
+ for (
147
+ let i = Math.max(2, current - delta);
148
+ i <= Math.min(total - 1, current + delta);
149
+ i += 1
150
+ ) {
151
+ range.push(props.pages[i - 1]);
152
+ }
153
+ }
154
+
155
+ if ((current - delta > 2) && over5) {
156
+ range.unshift('&hellip;');
157
+ }
158
+ if ((current + delta < total - 1) && over5remain) {
159
+ range.push('&hellip;');
160
+ }
161
+
162
+ range.unshift(props.pages[0]);
163
+ range.push(props.pages[total - 1]);
164
+
165
+ return range;
166
+ });
167
+
168
+ onMounted(() => setCurrentIdx(innerValue.value));
169
+
170
+ watch(() => props.pages, () => setCurrentIdx(innerValue.value));
171
+
172
+ return {
173
+ style: useCssModule(),
174
+ innerValue,
175
+ currentIdx,
176
+ ariaLabel,
177
+ prevPageData,
178
+ nextPageData,
179
+ paginationData,
180
+ select,
181
+ navigate,
182
+ mapClasses,
183
+ };
184
+ },
185
+ });
186
+
187
+ const _hoisted_1 = ["aria-label"];
188
+ const _hoisted_2 = { key: 0 };
189
+ const _hoisted_3 = {
190
+ key: 1,
191
+ "aria-hidden": "true"
192
+ };
193
+ const _hoisted_4 = ["value"];
194
+ const _hoisted_5 = { key: 2 };
195
+ const _hoisted_6 = {
196
+ key: 3,
197
+ "aria-hidden": "true"
198
+ };
199
+
200
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
201
+ const _component_icon_caret_left = resolveComponent("icon-caret-left");
202
+ const _component_cdr_select = resolveComponent("cdr-select");
203
+ const _component_icon_caret_right = resolveComponent("icon-caret-right");
204
+
205
+ return (openBlock(), createElementBlock("nav", { "aria-label": _ctx.ariaLabel }, [
206
+ createElementVNode("ol", {
207
+ class: normalizeClass(_ctx.style['cdr-pagination'])
208
+ }, [
209
+ (_ctx.innerValue > _ctx.pages[0].page)
210
+ ? (openBlock(), createElementBlock("li", _hoisted_2, [
211
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.linkTag), {
212
+ "aria-label": "Go to previous page",
213
+ href: (_ctx.linkTag === 'a' && _ctx.prevPageData && _ctx.prevPageData.url) || undefined,
214
+ class: normalizeClass(_ctx.mapClasses(_ctx.style, 'cdr-pagination__link', 'cdr-pagination__prev')),
215
+ onClick: _cache[0] || (_cache[0] = (e) => _ctx.navigate(_ctx.prevPageData.page, e))
216
+ }, {
217
+ default: withCtx(() => [
218
+ createVNode(_component_icon_caret_left, {
219
+ class: normalizeClass(_ctx.style['cdr-pagination_caret--prev'])
220
+ }, null, 8 /* PROPS */, ["class"])
221
+ ]),
222
+ _: 1 /* STABLE */
223
+ }, 8 /* PROPS */, ["href", "class"]))
224
+ ]))
225
+ : (openBlock(), createElementBlock("li", _hoisted_3, [
226
+ createElementVNode("span", {
227
+ "aria-disabled": "true",
228
+ class: normalizeClass(_ctx.mapClasses(_ctx.style, 'cdr-pagination__link', 'cdr-pagination__prev', 'cdr-pagination__link--disabled'))
229
+ }, [
230
+ createVNode(_component_icon_caret_left, {
231
+ class: normalizeClass(_ctx.style['cdr-pagination_caret--prev']),
232
+ "inherit-color": ""
233
+ }, null, 8 /* PROPS */, ["class"])
234
+ ], 2 /* CLASS */)
235
+ ])),
236
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.paginationData, (n) => {
237
+ return (openBlock(), createElementBlock("li", {
238
+ key: `pagination-${_ctx.id}-li-${n.page}`,
239
+ class: normalizeClass(_ctx.style['cdr-pagination__li--links'])
240
+ }, [
241
+ (n.page)
242
+ ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.linkTag), {
243
+ key: 0,
244
+ class: normalizeClass(_ctx.mapClasses(_ctx.style, 'cdr-pagination__link', n.page === _ctx.innerValue && 'cdr-pagination__link--current')),
245
+ "aria-label": n.page === _ctx.innerValue ? `Current page, page ${n.page}` : `Go to page ${n.page}`,
246
+ "aria-current": n.page === _ctx.innerValue ? 'page' : null,
247
+ href: (_ctx.linkTag === 'a' && n.url) || undefined,
248
+ onClick: (e) => _ctx.navigate(n.page, e)
249
+ }, {
250
+ default: withCtx(() => [
251
+ createTextVNode(toDisplayString(n.page), 1 /* TEXT */)
252
+ ]),
253
+ _: 2 /* DYNAMIC */
254
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "aria-label", "aria-current", "href", "onClick"]))
255
+ : (openBlock(), createElementBlock("span", {
256
+ key: 1,
257
+ class: normalizeClass(_ctx.style['cdr-pagination__ellipse'])
258
+ }, " … ", 2 /* CLASS */))
259
+ ], 2 /* CLASS */))
260
+ }), 128 /* KEYED_FRAGMENT */)),
261
+ createElementVNode("li", {
262
+ class: normalizeClass(_ctx.style['cdr-pagination__li--select'])
263
+ }, [
264
+ createVNode(_component_cdr_select, {
265
+ id: `pagination-select-${_ctx.id}`,
266
+ modelValue: _ctx.innerValue,
267
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => ((_ctx.innerValue) = $event)),
268
+ label: "Navigate to page",
269
+ "hide-label": "",
270
+ onChange: _ctx.select
271
+ }, {
272
+ default: withCtx(() => [
273
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.paginationData.filter(n => n.page), (page) => {
274
+ return (openBlock(), createElementBlock("option", {
275
+ key: `pagination-${_ctx.id}-select-${page.page}`,
276
+ value: page.page
277
+ }, " Page " + toDisplayString(page.page) + toDisplayString(_ctx.totalPages === null ? '' : ` of ${_ctx.totalPages}`), 9 /* TEXT, PROPS */, _hoisted_4))
278
+ }), 128 /* KEYED_FRAGMENT */))
279
+ ]),
280
+ _: 1 /* STABLE */
281
+ }, 8 /* PROPS */, ["id", "modelValue", "onChange"])
282
+ ], 2 /* CLASS */),
283
+ (_ctx.innerValue < _ctx.pages[_ctx.pages.length - 1].page)
284
+ ? (openBlock(), createElementBlock("li", _hoisted_5, [
285
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.linkTag), {
286
+ "aria-label": "Go to next page",
287
+ href: (_ctx.linkTag === 'a' && _ctx.nextPageData && _ctx.nextPageData.url) || undefined,
288
+ class: normalizeClass(_ctx.mapClasses(_ctx.style, 'cdr-pagination__link', 'cdr-pagination__next')),
289
+ onClick: _cache[2] || (_cache[2] = (e) => _ctx.navigate(_ctx.nextPageData.page, e))
290
+ }, {
291
+ default: withCtx(() => [
292
+ createVNode(_component_icon_caret_right, {
293
+ class: normalizeClass(_ctx.style['cdr-pagination_caret--next'])
294
+ }, null, 8 /* PROPS */, ["class"])
295
+ ]),
296
+ _: 1 /* STABLE */
297
+ }, 8 /* PROPS */, ["href", "class"]))
298
+ ]))
299
+ : (openBlock(), createElementBlock("li", _hoisted_6, [
300
+ createElementVNode("span", {
301
+ "aria-disabled": "true",
302
+ class: normalizeClass(_ctx.mapClasses(_ctx.style, 'cdr-pagination__link', 'cdr-pagination__next', 'cdr-pagination__link--disabled'))
303
+ }, [
304
+ createVNode(_component_icon_caret_right, {
305
+ class: normalizeClass(_ctx.style['cdr-pagination_caret--next']),
306
+ "inherit-color": ""
307
+ }, null, 8 /* PROPS */, ["class"])
308
+ ], 2 /* CLASS */)
309
+ ]))
310
+ ], 2 /* CLASS */)
311
+ ], 8 /* PROPS */, _hoisted_1))
312
+ }
313
+ var CdrPagination = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
314
+
315
+ export { CdrPagination as default };
@@ -0,0 +1,183 @@
1
+ import { defineComponent, ref, watch, onMounted, useCssModule, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode, nextTick } from 'vue';
2
+ import tabbable from 'tabbable';
3
+ import IconXSm from '../icon/comps/x-sm.js';
4
+ import CdrButton from '../button/CdrButton.js';
5
+ import CdrPopup from '../popup/CdrPopup.js';
6
+ import validateProp from '../../utils/propValidator.js';
7
+ import mapClasses from '../../utils/mapClasses.js';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
9
+
10
+ const _sfc_main = defineComponent({
11
+ name: 'CdrPopover',
12
+ components: {
13
+ CdrPopup,
14
+ CdrButton,
15
+ IconXSm,
16
+ },
17
+ props: {
18
+ position: {
19
+ type: String,
20
+ required: false,
21
+ default: 'top',
22
+ validator: (value) => validateProp(
23
+ value,
24
+ ['top', 'bottom', 'left', 'right'],
25
+ ),
26
+ },
27
+ autoPosition: {
28
+ type: Boolean,
29
+ required: false,
30
+ default: true,
31
+ },
32
+ label: {
33
+ type: String,
34
+ required: false,
35
+ },
36
+ id: {
37
+ type: String,
38
+ required: true,
39
+ },
40
+ contentClass: {
41
+ type: String,
42
+ required: false,
43
+ },
44
+ open: {
45
+ type: Boolean,
46
+ default: false,
47
+ required: false,
48
+ },
49
+ },
50
+ setup(props, ctx) {
51
+ const isOpen = ref(false);
52
+ let lastActive;
53
+
54
+ const triggerEl = ref(null);
55
+ const popupEl = ref(null);
56
+
57
+ const hasTrigger = ctx.slots.trigger;
58
+ const hasTitle = ctx.slots.title || props.label;
59
+
60
+ const openPopover = (e) => {
61
+ const { activeElement } = document;
62
+
63
+ lastActive = activeElement;
64
+ isOpen.value = true;
65
+ ctx.emit('opened', e);
66
+ nextTick(() => {
67
+ const tabbables = tabbable(popupEl.value);
68
+ if (tabbables[0]) tabbables[0].focus();
69
+ });
70
+ };
71
+
72
+ const closePopover = (e) => {
73
+ isOpen.value = false;
74
+ ctx.emit('closed', e);
75
+ if (lastActive) lastActive.focus();
76
+ };
77
+
78
+ const addHandlers = () =>{
79
+ const triggerElement = triggerEl.value.children[0];
80
+ if (triggerElement) {
81
+ triggerElement.addEventListener('click', openPopover);
82
+ }
83
+ };
84
+
85
+ watch(() => props.open, () => {
86
+ // TODO: if eslint yells about this then eslint must go :)
87
+ props.open ? openPopover() : closePopover();
88
+ });
89
+
90
+ onMounted(() => {
91
+ addHandlers();
92
+
93
+ const trigger = triggerEl.value.children[0];
94
+ if (trigger) {
95
+ trigger.setAttribute('aria-controls', props.id);
96
+ trigger.setAttribute('aria-haspopup', 'dialog');
97
+ }
98
+ });
99
+
100
+ return {
101
+ style: useCssModule(),
102
+ mapClasses,
103
+ hasTrigger,
104
+ triggerEl,
105
+ hasTitle,
106
+ closePopover,
107
+ openPopover,
108
+ isOpen,
109
+ };
110
+ },
111
+ });
112
+
113
+ const _hoisted_1 = { ref: "triggerEl" };
114
+
115
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
116
+ const _component_icon_x_sm = resolveComponent("icon-x-sm");
117
+ const _component_cdr_button = resolveComponent("cdr-button");
118
+ const _component_cdr_popup = resolveComponent("cdr-popup");
119
+
120
+ return (openBlock(), createElementBlock("div", {
121
+ class: normalizeClass(_ctx.mapClasses(
122
+ _ctx.style,
123
+ 'cdr-popover--wrapper',
124
+ _ctx.hasTrigger && 'cdr-popover--position',
125
+ ))
126
+ }, [
127
+ createElementVNode("div", _hoisted_1, [
128
+ renderSlot(_ctx.$slots, "trigger")
129
+ ], 512 /* NEED_PATCH */),
130
+ createVNode(_component_cdr_popup, {
131
+ role: "dialog",
132
+ ref: "popupEl",
133
+ onClosed: _ctx.closePopover,
134
+ position: _ctx.position,
135
+ "auto-position": _ctx.autoPosition,
136
+ opened: _ctx.isOpen,
137
+ "aria-expanded": `${_ctx.isOpen}`,
138
+ id: _ctx.id,
139
+ "content-class": _ctx.contentClass
140
+ }, {
141
+ default: withCtx(() => [
142
+ createElementVNode("div", {
143
+ class: normalizeClass(_ctx.style['cdr-popover__container'])
144
+ }, [
145
+ createElementVNode("div", {
146
+ class: normalizeClass(_ctx.style['cdr-popover__content'])
147
+ }, [
148
+ (_ctx.hasTitle)
149
+ ? (openBlock(), createElementBlock("div", {
150
+ key: 0,
151
+ class: normalizeClass(_ctx.style['cdr-popover__title'])
152
+ }, [
153
+ renderSlot(_ctx.$slots, "title", {}, () => [
154
+ createTextVNode(toDisplayString(_ctx.label), 1 /* TEXT */)
155
+ ])
156
+ ], 2 /* CLASS */))
157
+ : createCommentVNode("v-if", true),
158
+ renderSlot(_ctx.$slots, "default")
159
+ ], 2 /* CLASS */),
160
+ createVNode(_component_cdr_button, {
161
+ class: normalizeClass(_ctx.style['cdr-popover__close-button']),
162
+ "icon-only": "",
163
+ onClick: _ctx.closePopover,
164
+ "aria-label": "Close",
165
+ size: "small"
166
+ }, {
167
+ default: withCtx(() => [
168
+ createVNode(_component_icon_x_sm, {
169
+ slot: "icon",
170
+ "inherit-color": ""
171
+ })
172
+ ]),
173
+ _: 1 /* STABLE */
174
+ }, 8 /* PROPS */, ["class", "onClick"])
175
+ ], 2 /* CLASS */)
176
+ ]),
177
+ _: 3 /* FORWARDED */
178
+ }, 8 /* PROPS */, ["onClosed", "position", "auto-position", "opened", "aria-expanded", "id", "content-class"])
179
+ ], 2 /* CLASS */))
180
+ }
181
+ var CdrPopover = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
182
+
183
+ export { CdrPopover as default };
@@ -0,0 +1,188 @@
1
+ import { defineComponent, ref, computed, watch, onMounted, onUnmounted, useCssModule, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, nextTick } from 'vue';
2
+ import debounce from 'lodash/debounce';
3
+ import validateProp from '../../utils/propValidator.js';
4
+ import calculatePlacement from './calculatePlacement.js';
5
+ import mapClasses from '../../utils/mapClasses.js';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
7
+
8
+ const _sfc_main = defineComponent({
9
+ name: 'CdrPopup',
10
+ inheritAttrs: false,
11
+ props: {
12
+ opened: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ position: {
17
+ type: String,
18
+ required: false,
19
+ default: 'top',
20
+ validator: (value) => validateProp(
21
+ value,
22
+ ['top', 'bottom', 'left', 'right'],
23
+ ),
24
+ },
25
+ autoPosition: {
26
+ type: Boolean,
27
+ default: true,
28
+ },
29
+ contentClass: {
30
+ type: String,
31
+ },
32
+ },
33
+ setup(props, ctx) {
34
+ const baseClass = 'cdr-popup';
35
+
36
+ // const keyHandler = ref(undefined);
37
+ // const clickHandler = ref(undefined);
38
+ // const resizeHandler = ref(undefined); // NOT NEEDED?
39
+ const pos = ref(props.position);
40
+ const corner = ref(undefined);
41
+ const exiting = ref(false);
42
+ const popupRect = ref(undefined); // DOES this have to be a ref?
43
+ const closed = ref(!props.opened);
44
+
45
+ const popupEl = ref(null);
46
+ const rootEl = ref(null);
47
+
48
+ const positionClass = computed(() => (props.opened || exiting.value ? `cdr-popup--${pos.value}` : undefined));
49
+ const cornerClass = computed(() => (corner.value ? `cdr-popup--corner-${corner.value}` : undefined));
50
+ const openClass = computed(() => (props.opened ? 'cdr-popup--open' : undefined));
51
+ const closedClass = computed(() => (closed.value && !exiting.value ? 'cdr-popup--closed' : undefined));
52
+ const exitingClass = computed(() => (exiting.value ? 'cdr-popup--exit' : undefined));
53
+
54
+ const closePopup = (e) => {
55
+ ctx.emit('closed', e);
56
+ };
57
+
58
+ const handleKeydown = (e) => {
59
+ switch (e.key) {
60
+ case 'Escape':
61
+ case 'Esc':
62
+ closePopup(e);
63
+ break;
64
+ }
65
+ };
66
+
67
+ const handleClick = (e) => {
68
+ nextTick(() => {
69
+ if (e.target !== popupEl.value && !popupEl.value.contains(e.target)) {
70
+ closePopup(e);
71
+ }
72
+ });
73
+ };
74
+
75
+ const handleResize = () => {
76
+ debounce(() => {
77
+ measurePopup();
78
+ }, 300);
79
+ };
80
+
81
+ const addHandlers = () => {
82
+ document.addEventListener('keydown', handleKeydown);
83
+ document.addEventListener('click', handleClick);
84
+ };
85
+
86
+ const measurePopup = () => {
87
+ closed.value = false;
88
+ nextTick(() => {
89
+ popupRect.value = popupEl.value.getBoundingClientRect();
90
+ closed.value = true;
91
+ });
92
+ };
93
+
94
+ const handleOpened = () => {
95
+ closed.value = false;
96
+ pos.value = props.position;
97
+ corner.value = undefined;
98
+
99
+ if (props.autoPosition) {
100
+ nextTick(() => {
101
+ // TODO: how to get $el?????
102
+ const triggerRect = rootEl.value.parentElement.getBoundingClientRect();
103
+ const { innerHeight, innerWidth } = window;
104
+ calculatePlacement(triggerRect, popupRect.value, innerWidth, innerHeight, props.position);
105
+ });
106
+ }
107
+
108
+ setTimeout(() => {
109
+ addHandlers();
110
+ }, 1);
111
+ };
112
+
113
+ const handleClosed = () => {
114
+ closed.value = true;
115
+ document.removeEventListener('keydown', handleKeydown);
116
+ document.removeEventListener('click', handleClick);
117
+ exiting.value = true;
118
+ setTimeout(() => {
119
+ exiting.value = false;
120
+ }, 200); // $cdr-duration-2;
121
+ };
122
+
123
+ watch(() => props.position, () => pos.value = props.position);
124
+ watch(() => props.opened, () => {
125
+ // if (!!newValue === !!oldValue) return;
126
+ // TODO: watch doesnt run unless it changes???? might need to use `watch`
127
+ if (props.opened) {
128
+ handleOpened();
129
+ } else {
130
+ handleClosed();
131
+ }
132
+ });
133
+
134
+ onMounted(() => {
135
+ measurePopup();
136
+ // resizeHandler = handleResize.bind(this); TODO: bind this?
137
+ window.addEventListener('resize', handleResize);
138
+ });
139
+ onUnmounted(() => {
140
+ document.removeEventListener('keydown', handleKeydown);
141
+ document.removeEventListener('click', handleClick);
142
+ window.removeEventListener('resize', handleResize);
143
+ });
144
+
145
+ return {
146
+ style: useCssModule(),
147
+ mapClasses,
148
+ rootEl,
149
+ popupEl,
150
+ baseClass,
151
+ openClass,
152
+ exitingClass,
153
+ positionClass,
154
+ cornerClass,
155
+ closedClass,
156
+ handleClick,
157
+ handleKeydown,
158
+ };
159
+ },
160
+ });
161
+
162
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
163
+ return (openBlock(), createElementBlock("div", {
164
+ ref: "rootEl",
165
+ class: normalizeClass(_ctx.mapClasses(
166
+ _ctx.style,
167
+ _ctx.baseClass,
168
+ _ctx.openClass,
169
+ _ctx.exitingClass,
170
+ _ctx.positionClass,
171
+ _ctx.cornerClass,
172
+ _ctx.closedClass,
173
+ ))
174
+ }, [
175
+ createElementVNode("div", mergeProps(_ctx.$attrs, {
176
+ class: _ctx.mapClasses(_ctx.style, 'cdr-popup__content', _ctx.contentClass),
177
+ ref: "popupEl"
178
+ }), [
179
+ renderSlot(_ctx.$slots, "default")
180
+ ], 16 /* FULL_PROPS */),
181
+ createElementVNode("div", {
182
+ class: normalizeClass(_ctx.style['cdr-popup__arrow'])
183
+ }, null, 2 /* CLASS */)
184
+ ], 2 /* CLASS */))
185
+ }
186
+ var CdrPopup = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
187
+
188
+ export { CdrPopup as default };