@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.
- package/README.md +28 -35
- package/dist/cedar-compiled.css +944 -1104
- package/dist/cedar.js +8727 -9237
- package/dist/cedar.mjs +8519 -7534
- package/dist/lib/_virtual/plugin-vue_export-helper.js +9 -0
- package/dist/lib/assets/{cedar-compiled-010f67b6.css → cedar-compiled-f3a569d4.css} +2475 -2635
- package/dist/lib/node_modules/@rei/cdr-tokens/dist/js/{cdr-tokens.esm.mjs → cdr-tokens.esm.js} +0 -0
- package/dist/lib/src/components/accordion/CdrAccordion.js +211 -0
- package/dist/lib/src/components/accordion/CdrAccordionGroup.js +112 -0
- package/dist/lib/src/components/banner/CdrBanner.js +91 -0
- package/dist/lib/src/components/breadcrumb/CdrBreadcrumb.js +140 -0
- package/dist/lib/src/components/button/CdrButton.js +124 -0
- package/dist/lib/src/components/caption/CdrCaption.js +40 -0
- package/dist/lib/src/components/card/CdrCard.js +32 -0
- package/dist/lib/src/components/checkbox/CdrCheckbox.js +118 -0
- package/dist/lib/src/components/chip/CdrChip.js +59 -0
- package/dist/lib/src/components/chip/CdrChipGroup.js +109 -0
- package/dist/lib/src/components/container/CdrContainer.js +49 -0
- package/dist/lib/src/components/formError/CdrFormError.js +40 -0
- package/dist/lib/src/components/formGroup/CdrFormGroup.js +99 -0
- package/dist/lib/src/components/grid/CdrGrid.js +54 -0
- package/dist/lib/src/components/icon/CdrIcon.js +67 -0
- package/dist/lib/src/components/icon/comps/account-profile-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/account-profile.js +35 -0
- package/dist/lib/src/components/icon/comps/arrow-down.js +35 -0
- package/dist/lib/src/components/icon/comps/arrow-left.js +35 -0
- package/dist/lib/src/components/icon/comps/arrow-right.js +35 -0
- package/dist/lib/src/components/icon/comps/arrow-up.js +35 -0
- package/dist/lib/src/components/icon/comps/atv.js +35 -0
- package/dist/lib/src/components/icon/comps/bed-outline.js +35 -0
- package/dist/lib/src/components/icon/comps/bike-shop.js +35 -0
- package/dist/lib/src/components/icon/comps/binoculars.js +35 -0
- package/dist/lib/src/components/icon/comps/birding.js +35 -0
- package/dist/lib/src/components/icon/comps/boat.js +35 -0
- package/dist/lib/src/components/icon/comps/boating.js +35 -0
- package/dist/lib/src/components/icon/comps/bookmark-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/bookmark-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-abstract.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-code-sandbox.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-github.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-linkedin.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-rei-ice-axes.js +35 -0
- package/dist/lib/src/components/icon/comps/brand-sketch.js +35 -0
- package/dist/lib/src/components/icon/comps/buddies.js +35 -0
- package/dist/lib/src/components/icon/comps/bus.js +35 -0
- package/dist/lib/src/components/icon/comps/calendar.js +35 -0
- package/dist/lib/src/components/icon/comps/camera.js +35 -0
- package/dist/lib/src/components/icon/comps/canoe.js +35 -0
- package/dist/lib/src/components/icon/comps/car.js +35 -0
- package/dist/lib/src/components/icon/comps/caret-down.js +35 -0
- package/dist/lib/src/components/icon/comps/caret-left.js +35 -0
- package/dist/lib/src/components/icon/comps/caret-right.js +35 -0
- package/dist/lib/src/components/icon/comps/caret-up.js +35 -0
- package/dist/lib/src/components/icon/comps/cart-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/cart.js +35 -0
- package/dist/lib/src/components/icon/comps/chain-link.js +35 -0
- package/dist/lib/src/components/icon/comps/chat.js +35 -0
- package/dist/lib/src/components/icon/comps/check-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/check-lg.js +35 -0
- package/dist/lib/src/components/icon/comps/check-sm.js +35 -0
- package/dist/lib/src/components/icon/comps/check-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/climb.js +35 -0
- package/dist/lib/src/components/icon/comps/clipboard.js +35 -0
- package/dist/lib/src/components/icon/comps/clock.js +35 -0
- package/dist/lib/src/components/icon/comps/code-html.js +35 -0
- package/dist/lib/src/components/icon/comps/code-js.js +35 -0
- package/dist/lib/src/components/icon/comps/compass.js +35 -0
- package/dist/lib/src/components/icon/comps/copy.js +35 -0
- package/dist/lib/src/components/icon/comps/coupon-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/coupon-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/credit-card.js +35 -0
- package/dist/lib/src/components/icon/comps/curbside-pickup.js +35 -0
- package/dist/lib/src/components/icon/comps/day.js +35 -0
- package/dist/lib/src/components/icon/comps/diving.js +35 -0
- package/dist/lib/src/components/icon/comps/dog.js +35 -0
- package/dist/lib/src/components/icon/comps/download.js +35 -0
- package/dist/lib/src/components/icon/comps/edit.js +35 -0
- package/dist/lib/src/components/icon/comps/elevation.js +35 -0
- package/dist/lib/src/components/icon/comps/error-fill.js +37 -0
- package/dist/lib/src/components/icon/comps/error-stroke.js +42 -0
- package/dist/lib/src/components/icon/comps/expand.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-backpacking.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-camping.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-climbing.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-clothing.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-cycling.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-family.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-fitness.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-hiking.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-outdoor-basics.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-paddling.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-rentals.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-snowsports.js +35 -0
- package/dist/lib/src/components/icon/comps/experiences-travel.js +35 -0
- package/dist/lib/src/components/icon/comps/external-link.js +35 -0
- package/dist/lib/src/components/icon/comps/eye-hide.js +35 -0
- package/dist/lib/src/components/icon/comps/eye-show.js +35 -0
- package/dist/lib/src/components/icon/comps/facebook.js +35 -0
- package/dist/lib/src/components/icon/comps/filter-alt.js +35 -0
- package/dist/lib/src/components/icon/comps/filter.js +35 -0
- package/dist/lib/src/components/icon/comps/find-location.js +35 -0
- package/dist/lib/src/components/icon/comps/fire.js +35 -0
- package/dist/lib/src/components/icon/comps/fishing.js +35 -0
- package/dist/lib/src/components/icon/comps/free-product.js +35 -0
- package/dist/lib/src/components/icon/comps/grid-view.js +35 -0
- package/dist/lib/src/components/icon/comps/heart-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/heart-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/hike.js +35 -0
- package/dist/lib/src/components/icon/comps/history.js +35 -0
- package/dist/lib/src/components/icon/comps/home.js +35 -0
- package/dist/lib/src/components/icon/comps/horse.js +35 -0
- package/dist/lib/src/components/icon/comps/horseshoe.js +35 -0
- package/dist/lib/src/components/icon/comps/image.js +35 -0
- package/dist/lib/src/components/icon/comps/information-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/information-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/instagram.js +35 -0
- package/dist/lib/src/components/icon/comps/kayak.js +35 -0
- package/dist/lib/src/components/icon/comps/list-ragged.js +35 -0
- package/dist/lib/src/components/icon/comps/list-view.js +35 -0
- package/dist/lib/src/components/icon/comps/location-pin-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/location-pin-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/lock-locked-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/lock-locked-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/lock-unlocked-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/mail.js +35 -0
- package/dist/lib/src/components/icon/comps/map.js +35 -0
- package/dist/lib/src/components/icon/comps/member-card.js +35 -0
- package/dist/lib/src/components/icon/comps/microphone.js +35 -0
- package/dist/lib/src/components/icon/comps/minus-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/minus-lg.js +35 -0
- package/dist/lib/src/components/icon/comps/minus-sm.js +35 -0
- package/dist/lib/src/components/icon/comps/minus-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/more-functions.js +35 -0
- package/dist/lib/src/components/icon/comps/my-location.js +35 -0
- package/dist/lib/src/components/icon/comps/navigation-menu.js +35 -0
- package/dist/lib/src/components/icon/comps/night.js +35 -0
- package/dist/lib/src/components/icon/comps/paddle.js +35 -0
- package/dist/lib/src/components/icon/comps/pause-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/pause-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/pause.js +35 -0
- package/dist/lib/src/components/icon/comps/photography.js +35 -0
- package/dist/lib/src/components/icon/comps/picnic.js +35 -0
- package/dist/lib/src/components/icon/comps/pinterest.js +35 -0
- package/dist/lib/src/components/icon/comps/plane.js +35 -0
- package/dist/lib/src/components/icon/comps/play-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/play-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/play.js +35 -0
- package/dist/lib/src/components/icon/comps/playground.js +35 -0
- package/dist/lib/src/components/icon/comps/plugin.js +35 -0
- package/dist/lib/src/components/icon/comps/plus-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/plus-lg.js +35 -0
- package/dist/lib/src/components/icon/comps/plus-sm.js +35 -0
- package/dist/lib/src/components/icon/comps/plus-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/print.js +35 -0
- package/dist/lib/src/components/icon/comps/protection-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/protection-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/question-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/question-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/refresh.js +35 -0
- package/dist/lib/src/components/icon/comps/reload.js +35 -0
- package/dist/lib/src/components/icon/comps/returns.js +35 -0
- package/dist/lib/src/components/icon/comps/run.js +35 -0
- package/dist/lib/src/components/icon/comps/scan-barcode.js +35 -0
- package/dist/lib/src/components/icon/comps/search.js +35 -0
- package/dist/lib/src/components/icon/comps/service-shop.js +35 -0
- package/dist/lib/src/components/icon/comps/shipping.js +35 -0
- package/dist/lib/src/components/icon/comps/shopping-bag-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/shopping-bag.js +35 -0
- package/dist/lib/src/components/icon/comps/shrink.js +35 -0
- package/dist/lib/src/components/icon/comps/size-chart.js +35 -0
- package/dist/lib/src/components/icon/comps/ski-boot.js +35 -0
- package/dist/lib/src/components/icon/comps/ski.js +35 -0
- package/dist/lib/src/components/icon/comps/snow-shop.js +35 -0
- package/dist/lib/src/components/icon/comps/snow.js +35 -0
- package/dist/lib/src/components/icon/comps/sort.js +35 -0
- package/dist/lib/src/components/icon/comps/star-100.js +35 -0
- package/dist/lib/src/components/icon/comps/star-25.js +35 -0
- package/dist/lib/src/components/icon/comps/star-50.js +35 -0
- package/dist/lib/src/components/icon/comps/star-75.js +35 -0
- package/dist/lib/src/components/icon/comps/star-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/storefront.js +35 -0
- package/dist/lib/src/components/icon/comps/swim.js +35 -0
- package/dist/lib/src/components/icon/comps/telephone.js +35 -0
- package/dist/lib/src/components/icon/comps/tent.js +35 -0
- package/dist/lib/src/components/icon/comps/trash.js +35 -0
- package/dist/lib/src/components/icon/comps/twitter.js +35 -0
- package/dist/lib/src/components/icon/comps/upload.js +35 -0
- package/dist/lib/src/components/icon/comps/verified-purchaser.js +35 -0
- package/dist/lib/src/components/icon/comps/virtual-outfitting.js +35 -0
- package/dist/lib/src/components/icon/comps/warning-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/warning-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/water.js +35 -0
- package/dist/lib/src/components/icon/comps/wilderness.js +35 -0
- package/dist/lib/src/components/icon/comps/x-fill.js +35 -0
- package/dist/lib/src/components/icon/comps/x-lg.js +35 -0
- package/dist/lib/src/components/icon/comps/x-sm.js +35 -0
- package/dist/lib/src/components/icon/comps/x-stroke.js +35 -0
- package/dist/lib/src/components/icon/comps/youtube.js +35 -0
- package/dist/lib/src/components/icon/comps/zoom-in.js +35 -0
- package/dist/lib/src/components/icon/comps/zoom-out.js +35 -0
- package/dist/lib/src/components/image/CdrImg.js +148 -0
- package/dist/lib/src/components/input/CdrInput.js +305 -0
- package/dist/lib/src/components/labelStandalone/CdrLabelStandalone.js +116 -0
- package/dist/lib/src/components/labelWrapper/CdrLabelWrapper.js +60 -0
- package/dist/lib/src/components/link/CdrLink.js +71 -0
- package/dist/lib/src/components/list/CdrList.js +46 -0
- package/dist/lib/src/components/modal/CdrModal.js +383 -0
- package/dist/lib/src/components/modal/{onTransitionEnd.mjs → onTransitionEnd.js} +15 -13
- package/dist/lib/src/components/pagination/CdrPagination.js +315 -0
- package/dist/lib/src/components/popover/CdrPopover.js +183 -0
- package/dist/lib/src/components/popup/CdrPopup.js +188 -0
- package/dist/lib/src/components/popup/calculatePlacement.js +88 -0
- package/dist/lib/src/components/quote/CdrQuote.js +64 -0
- package/dist/lib/src/components/radio/CdrRadio.js +110 -0
- package/dist/lib/src/components/rating/CdrRating.js +184 -0
- package/dist/lib/src/components/select/CdrSelect.js +277 -0
- package/dist/lib/src/components/table/CdrTable.js +84 -0
- package/dist/lib/src/components/tabs/CdrTabPanel.js +117 -0
- package/dist/lib/src/components/tabs/CdrTabs.js +361 -0
- package/dist/lib/src/components/text/CdrText.js +31 -0
- package/dist/lib/src/components/toast/CdrToast.js +160 -0
- package/dist/lib/src/components/tooltip/CdrTooltip.js +129 -0
- package/dist/lib/src/{index.mjs → index.js} +209 -209
- package/dist/lib/src/mixins/breakpoints.js +21 -0
- package/dist/lib/src/props/background.js +11 -0
- package/dist/lib/src/props/size.js +11 -0
- package/dist/lib/src/utils/buildClass.js +90 -0
- package/dist/lib/src/utils/mapClasses.js +22 -0
- package/dist/lib/src/utils/{propValidator.mjs → propValidator.js} +6 -5
- package/dist/style/cedar-full.css +0 -1
- package/package.json +53 -38
- package/dist/lib/src/components/accordion/CdrAccordion.mjs +0 -198
- package/dist/lib/src/components/accordion/CdrAccordionGroup.mjs +0 -119
- package/dist/lib/src/components/accordion/styles/CdrAccordion.mjs +0 -3
- package/dist/lib/src/components/accordion/styles/CdrAccordionGroup.mjs +0 -3
- package/dist/lib/src/components/banner/CdrBanner.mjs +0 -61
- package/dist/lib/src/components/banner/styles/CdrBanner.mjs +0 -3
- package/dist/lib/src/components/breadcrumb/CdrBreadcrumb.mjs +0 -158
- package/dist/lib/src/components/breadcrumb/styles/CdrBreadcrumb.mjs +0 -3
- package/dist/lib/src/components/button/CdrButton.mjs +0 -118
- package/dist/lib/src/components/button/styles/CdrButton.mjs +0 -3
- package/dist/lib/src/components/caption/CdrCaption.mjs +0 -38
- package/dist/lib/src/components/caption/styles/CdrCaption.mjs +0 -3
- package/dist/lib/src/components/card/CdrCard.mjs +0 -35
- package/dist/lib/src/components/card/styles/CdrCard.mjs +0 -3
- package/dist/lib/src/components/checkbox/CdrCheckbox.mjs +0 -165
- package/dist/lib/src/components/checkbox/styles/CdrCheckbox.mjs +0 -3
- package/dist/lib/src/components/chip/CdrChip.mjs +0 -30
- package/dist/lib/src/components/chip/CdrChipGroup.mjs +0 -105
- package/dist/lib/src/components/chip/styles/CdrChip.mjs +0 -3
- package/dist/lib/src/components/chip/styles/CdrChipGroup.mjs +0 -3
- package/dist/lib/src/components/container/CdrContainer.mjs +0 -49
- package/dist/lib/src/components/container/styles/CdrContainer.mjs +0 -3
- package/dist/lib/src/components/formError/CdrFormError.mjs +0 -39
- package/dist/lib/src/components/formError/styles/CdrFormError.mjs +0 -3
- package/dist/lib/src/components/formGroup/CdrFormGroup.mjs +0 -95
- package/dist/lib/src/components/formGroup/styles/CdrFormGroup.mjs +0 -3
- package/dist/lib/src/components/grid/CdrGrid.mjs +0 -55
- package/dist/lib/src/components/grid/styles/CdrGrid.mjs +0 -3
- package/dist/lib/src/components/icon/CdrIcon.mjs +0 -76
- package/dist/lib/src/components/icon/comps/account-profile-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/account-profile.mjs +0 -27
- package/dist/lib/src/components/icon/comps/arrow-down.mjs +0 -27
- package/dist/lib/src/components/icon/comps/arrow-left.mjs +0 -27
- package/dist/lib/src/components/icon/comps/arrow-right.mjs +0 -27
- package/dist/lib/src/components/icon/comps/arrow-up.mjs +0 -27
- package/dist/lib/src/components/icon/comps/atv.mjs +0 -27
- package/dist/lib/src/components/icon/comps/bed-outline.mjs +0 -27
- package/dist/lib/src/components/icon/comps/bike-shop.mjs +0 -27
- package/dist/lib/src/components/icon/comps/binoculars.mjs +0 -27
- package/dist/lib/src/components/icon/comps/birding.mjs +0 -27
- package/dist/lib/src/components/icon/comps/boat.mjs +0 -27
- package/dist/lib/src/components/icon/comps/boating.mjs +0 -27
- package/dist/lib/src/components/icon/comps/bookmark-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/bookmark-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-abstract.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-code-sandbox.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-github.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-linkedin.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-rei-ice-axes.mjs +0 -27
- package/dist/lib/src/components/icon/comps/brand-sketch.mjs +0 -27
- package/dist/lib/src/components/icon/comps/buddies.mjs +0 -27
- package/dist/lib/src/components/icon/comps/bus.mjs +0 -27
- package/dist/lib/src/components/icon/comps/calendar.mjs +0 -27
- package/dist/lib/src/components/icon/comps/camera.mjs +0 -27
- package/dist/lib/src/components/icon/comps/canoe.mjs +0 -27
- package/dist/lib/src/components/icon/comps/car.mjs +0 -27
- package/dist/lib/src/components/icon/comps/caret-down.mjs +0 -27
- package/dist/lib/src/components/icon/comps/caret-left.mjs +0 -27
- package/dist/lib/src/components/icon/comps/caret-right.mjs +0 -27
- package/dist/lib/src/components/icon/comps/caret-up.mjs +0 -27
- package/dist/lib/src/components/icon/comps/cart-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/cart.mjs +0 -27
- package/dist/lib/src/components/icon/comps/chain-link.mjs +0 -27
- package/dist/lib/src/components/icon/comps/chat.mjs +0 -27
- package/dist/lib/src/components/icon/comps/check-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/check-lg.mjs +0 -27
- package/dist/lib/src/components/icon/comps/check-sm.mjs +0 -27
- package/dist/lib/src/components/icon/comps/check-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/climb.mjs +0 -27
- package/dist/lib/src/components/icon/comps/clipboard.mjs +0 -27
- package/dist/lib/src/components/icon/comps/clock.mjs +0 -27
- package/dist/lib/src/components/icon/comps/code-html.mjs +0 -27
- package/dist/lib/src/components/icon/comps/code-js.mjs +0 -27
- package/dist/lib/src/components/icon/comps/compass.mjs +0 -27
- package/dist/lib/src/components/icon/comps/copy.mjs +0 -27
- package/dist/lib/src/components/icon/comps/coupon-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/coupon-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/credit-card.mjs +0 -27
- package/dist/lib/src/components/icon/comps/curbside-pickup.mjs +0 -27
- package/dist/lib/src/components/icon/comps/day.mjs +0 -27
- package/dist/lib/src/components/icon/comps/diving.mjs +0 -27
- package/dist/lib/src/components/icon/comps/dog.mjs +0 -27
- package/dist/lib/src/components/icon/comps/download.mjs +0 -27
- package/dist/lib/src/components/icon/comps/edit.mjs +0 -27
- package/dist/lib/src/components/icon/comps/elevation.mjs +0 -27
- package/dist/lib/src/components/icon/comps/error-fill.mjs +0 -29
- package/dist/lib/src/components/icon/comps/error-stroke.mjs +0 -33
- package/dist/lib/src/components/icon/comps/expand.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-backpacking.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-camping.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-climbing.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-clothing.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-cycling.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-family.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-fitness.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-hiking.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-outdoor-basics.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-paddling.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-rentals.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-snowsports.mjs +0 -27
- package/dist/lib/src/components/icon/comps/experiences-travel.mjs +0 -27
- package/dist/lib/src/components/icon/comps/external-link.mjs +0 -27
- package/dist/lib/src/components/icon/comps/eye-hide.mjs +0 -27
- package/dist/lib/src/components/icon/comps/eye-show.mjs +0 -27
- package/dist/lib/src/components/icon/comps/facebook.mjs +0 -27
- package/dist/lib/src/components/icon/comps/filter-alt.mjs +0 -27
- package/dist/lib/src/components/icon/comps/filter.mjs +0 -27
- package/dist/lib/src/components/icon/comps/find-location.mjs +0 -27
- package/dist/lib/src/components/icon/comps/fire.mjs +0 -27
- package/dist/lib/src/components/icon/comps/fishing.mjs +0 -27
- package/dist/lib/src/components/icon/comps/free-product.mjs +0 -27
- package/dist/lib/src/components/icon/comps/grid-view.mjs +0 -27
- package/dist/lib/src/components/icon/comps/heart-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/heart-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/hike.mjs +0 -27
- package/dist/lib/src/components/icon/comps/history.mjs +0 -27
- package/dist/lib/src/components/icon/comps/home.mjs +0 -27
- package/dist/lib/src/components/icon/comps/horse.mjs +0 -27
- package/dist/lib/src/components/icon/comps/horseshoe.mjs +0 -27
- package/dist/lib/src/components/icon/comps/image.mjs +0 -27
- package/dist/lib/src/components/icon/comps/information-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/information-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/instagram.mjs +0 -27
- package/dist/lib/src/components/icon/comps/kayak.mjs +0 -27
- package/dist/lib/src/components/icon/comps/list-ragged.mjs +0 -27
- package/dist/lib/src/components/icon/comps/list-view.mjs +0 -27
- package/dist/lib/src/components/icon/comps/location-pin-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/location-pin-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/lock-locked-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/lock-locked-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/lock-unlocked-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/mail.mjs +0 -27
- package/dist/lib/src/components/icon/comps/map.mjs +0 -27
- package/dist/lib/src/components/icon/comps/member-card.mjs +0 -27
- package/dist/lib/src/components/icon/comps/microphone.mjs +0 -27
- package/dist/lib/src/components/icon/comps/minus-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/minus-lg.mjs +0 -27
- package/dist/lib/src/components/icon/comps/minus-sm.mjs +0 -27
- package/dist/lib/src/components/icon/comps/minus-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/more-functions.mjs +0 -27
- package/dist/lib/src/components/icon/comps/my-location.mjs +0 -27
- package/dist/lib/src/components/icon/comps/navigation-menu.mjs +0 -27
- package/dist/lib/src/components/icon/comps/night.mjs +0 -27
- package/dist/lib/src/components/icon/comps/paddle.mjs +0 -27
- package/dist/lib/src/components/icon/comps/pause-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/pause-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/pause.mjs +0 -27
- package/dist/lib/src/components/icon/comps/photography.mjs +0 -27
- package/dist/lib/src/components/icon/comps/picnic.mjs +0 -27
- package/dist/lib/src/components/icon/comps/pinterest.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plane.mjs +0 -27
- package/dist/lib/src/components/icon/comps/play-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/play-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/play.mjs +0 -27
- package/dist/lib/src/components/icon/comps/playground.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plugin.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plus-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plus-lg.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plus-sm.mjs +0 -27
- package/dist/lib/src/components/icon/comps/plus-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/print.mjs +0 -27
- package/dist/lib/src/components/icon/comps/protection-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/protection-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/question-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/question-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/refresh.mjs +0 -27
- package/dist/lib/src/components/icon/comps/reload.mjs +0 -27
- package/dist/lib/src/components/icon/comps/returns.mjs +0 -27
- package/dist/lib/src/components/icon/comps/run.mjs +0 -27
- package/dist/lib/src/components/icon/comps/scan-barcode.mjs +0 -27
- package/dist/lib/src/components/icon/comps/search.mjs +0 -27
- package/dist/lib/src/components/icon/comps/service-shop.mjs +0 -27
- package/dist/lib/src/components/icon/comps/shipping.mjs +0 -27
- package/dist/lib/src/components/icon/comps/shopping-bag-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/shopping-bag.mjs +0 -27
- package/dist/lib/src/components/icon/comps/shrink.mjs +0 -27
- package/dist/lib/src/components/icon/comps/size-chart.mjs +0 -27
- package/dist/lib/src/components/icon/comps/ski-boot.mjs +0 -27
- package/dist/lib/src/components/icon/comps/ski.mjs +0 -27
- package/dist/lib/src/components/icon/comps/snow-shop.mjs +0 -27
- package/dist/lib/src/components/icon/comps/snow.mjs +0 -27
- package/dist/lib/src/components/icon/comps/sort.mjs +0 -27
- package/dist/lib/src/components/icon/comps/star-100.mjs +0 -27
- package/dist/lib/src/components/icon/comps/star-25.mjs +0 -27
- package/dist/lib/src/components/icon/comps/star-50.mjs +0 -27
- package/dist/lib/src/components/icon/comps/star-75.mjs +0 -27
- package/dist/lib/src/components/icon/comps/star-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/storefront.mjs +0 -27
- package/dist/lib/src/components/icon/comps/swim.mjs +0 -27
- package/dist/lib/src/components/icon/comps/telephone.mjs +0 -27
- package/dist/lib/src/components/icon/comps/tent.mjs +0 -27
- package/dist/lib/src/components/icon/comps/trash.mjs +0 -27
- package/dist/lib/src/components/icon/comps/twitter.mjs +0 -27
- package/dist/lib/src/components/icon/comps/upload.mjs +0 -27
- package/dist/lib/src/components/icon/comps/verified-purchaser.mjs +0 -27
- package/dist/lib/src/components/icon/comps/virtual-outfitting.mjs +0 -27
- package/dist/lib/src/components/icon/comps/warning-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/warning-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/water.mjs +0 -27
- package/dist/lib/src/components/icon/comps/wilderness.mjs +0 -27
- package/dist/lib/src/components/icon/comps/x-fill.mjs +0 -27
- package/dist/lib/src/components/icon/comps/x-lg.mjs +0 -27
- package/dist/lib/src/components/icon/comps/x-sm.mjs +0 -27
- package/dist/lib/src/components/icon/comps/x-stroke.mjs +0 -27
- package/dist/lib/src/components/icon/comps/youtube.mjs +0 -27
- package/dist/lib/src/components/icon/comps/zoom-in.mjs +0 -27
- package/dist/lib/src/components/icon/comps/zoom-out.mjs +0 -27
- package/dist/lib/src/components/icon/styles/CdrIcon.mjs +0 -3
- package/dist/lib/src/components/image/CdrImg.mjs +0 -140
- package/dist/lib/src/components/image/styles/CdrImg.mjs +0 -3
- package/dist/lib/src/components/input/CdrInput.mjs +0 -283
- package/dist/lib/src/components/input/styles/CdrInput.mjs +0 -3
- package/dist/lib/src/components/labelStandalone/CdrLabelStandalone.mjs +0 -85
- package/dist/lib/src/components/labelStandalone/styles/CdrLabelStandalone.mjs +0 -3
- package/dist/lib/src/components/labelWrapper/CdrLabelWrapper.mjs +0 -54
- package/dist/lib/src/components/labelWrapper/styles/CdrLabelWrapper.mjs +0 -3
- package/dist/lib/src/components/link/CdrLink.mjs +0 -71
- package/dist/lib/src/components/link/styles/CdrLink.mjs +0 -3
- package/dist/lib/src/components/list/CdrList.mjs +0 -42
- package/dist/lib/src/components/list/styles/CdrList.mjs +0 -3
- package/dist/lib/src/components/modal/CdrModal.mjs +0 -365
- package/dist/lib/src/components/modal/styles/CdrModal.mjs +0 -3
- package/dist/lib/src/components/pagination/CdrPagination.mjs +0 -425
- package/dist/lib/src/components/pagination/styles/CdrPagination.mjs +0 -3
- package/dist/lib/src/components/popover/CdrPopover.mjs +0 -155
- package/dist/lib/src/components/popover/styles/CdrPopover.mjs +0 -3
- package/dist/lib/src/components/popup/CdrPopup.mjs +0 -256
- package/dist/lib/src/components/popup/styles/CdrPopup.mjs +0 -3
- package/dist/lib/src/components/quote/CdrQuote.mjs +0 -66
- package/dist/lib/src/components/quote/styles/CdrQuote.mjs +0 -3
- package/dist/lib/src/components/radio/CdrRadio.mjs +0 -141
- package/dist/lib/src/components/radio/styles/CdrRadio.mjs +0 -3
- package/dist/lib/src/components/rating/CdrRating.mjs +0 -179
- package/dist/lib/src/components/rating/styles/CdrRating.mjs +0 -3
- package/dist/lib/src/components/select/CdrSelect.mjs +0 -255
- package/dist/lib/src/components/select/styles/CdrSelect.mjs +0 -3
- package/dist/lib/src/components/table/CdrTable.mjs +0 -73
- package/dist/lib/src/components/table/styles/CdrTable.mjs +0 -3
- package/dist/lib/src/components/tabs/CdrTabPanel.mjs +0 -105
- package/dist/lib/src/components/tabs/CdrTabs.mjs +0 -353
- package/dist/lib/src/components/tabs/styles/CdrTabPanel.mjs +0 -3
- package/dist/lib/src/components/tabs/styles/CdrTabs.mjs +0 -3
- package/dist/lib/src/components/text/CdrText.mjs +0 -44
- package/dist/lib/src/components/text/styles/CdrText.mjs +0 -3
- package/dist/lib/src/components/toast/CdrToast.mjs +0 -159
- package/dist/lib/src/components/toast/styles/CdrToast.mjs +0 -3
- package/dist/lib/src/components/tooltip/CdrTooltip.mjs +0 -121
- package/dist/lib/src/components/tooltip/styles/CdrTooltip.mjs +0 -3
- package/dist/lib/src/mixins/breakpoints.mjs +0 -26
- package/dist/lib/src/mixins/buildClass.mjs +0 -71
- package/dist/lib/src/mixins/fullWidth.mjs +0 -47
- package/dist/lib/src/mixins/modifier.mjs +0 -22
- package/dist/lib/src/mixins/size.mjs +0 -37
- package/dist/style/cdr-accordion-group.css +0 -1
- package/dist/style/cdr-accordion.css +0 -1
- package/dist/style/cdr-banner-vars.css +0 -0
- package/dist/style/cdr-banner.css +0 -1
- package/dist/style/cdr-breadcrumb.css +0 -1
- package/dist/style/cdr-button.css +0 -1
- package/dist/style/cdr-caption.css +0 -1
- package/dist/style/cdr-card.css +0 -1
- package/dist/style/cdr-checkbox.css +0 -1
- package/dist/style/cdr-chip-group.css +0 -1
- package/dist/style/cdr-chip.css +0 -1
- package/dist/style/cdr-container.css +0 -1
- package/dist/style/cdr-form-error.css +0 -1
- package/dist/style/cdr-form-group.css +0 -1
- package/dist/style/cdr-grid.css +0 -1
- package/dist/style/cdr-icon.css +0 -1
- package/dist/style/cdr-img.css +0 -1
- package/dist/style/cdr-input.css +0 -1
- package/dist/style/cdr-label-standalone.css +0 -1
- package/dist/style/cdr-label-wrapper.css +0 -1
- package/dist/style/cdr-link.css +0 -1
- package/dist/style/cdr-list.css +0 -1
- package/dist/style/cdr-modal.css +0 -1
- package/dist/style/cdr-pagination.css +0 -1
- package/dist/style/cdr-popover.css +0 -1
- package/dist/style/cdr-popup.css +0 -1
- package/dist/style/cdr-quote.css +0 -1
- package/dist/style/cdr-radio.css +0 -1
- package/dist/style/cdr-rating.css +0 -1
- package/dist/style/cdr-select.css +0 -1
- package/dist/style/cdr-tab-panel.css +0 -1
- package/dist/style/cdr-table.css +0 -1
- package/dist/style/cdr-tabs.css +0 -1
- package/dist/style/cdr-text.css +0 -1
- package/dist/style/cdr-toast.css +0 -1
- package/dist/style/cdr-tooltip.css +0 -1
- package/dist/style/reset.css +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { defineComponent, computed, useCssModule, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot } from 'vue';
|
|
2
|
+
import mapClasses from '../../utils/mapClasses.js';
|
|
3
|
+
import { buildClass } from '../../utils/buildClass.js';
|
|
4
|
+
import validateProp from '../../utils/propValidator.js';
|
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
6
|
+
|
|
7
|
+
const _sfc_main = defineComponent({
|
|
8
|
+
name: 'CdrLink',
|
|
9
|
+
props: {
|
|
10
|
+
tag: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: 'a',
|
|
13
|
+
},
|
|
14
|
+
href: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: '#',
|
|
17
|
+
},
|
|
18
|
+
inheritColor: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false,
|
|
21
|
+
},
|
|
22
|
+
modifier: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: '',
|
|
25
|
+
validator: (value) => validateProp(value, ['', 'standalone']),
|
|
26
|
+
},
|
|
27
|
+
/** @ignore */
|
|
28
|
+
target: String,
|
|
29
|
+
/** @ignore */
|
|
30
|
+
rel: String,
|
|
31
|
+
},
|
|
32
|
+
setup(props) {
|
|
33
|
+
const computedHref = computed(() => (props.tag === 'a' ? props.href : null));
|
|
34
|
+
const computedRel = computed(() => {
|
|
35
|
+
if (props.target === '_blank') {
|
|
36
|
+
return props.rel || 'noopener noreferrer';
|
|
37
|
+
}
|
|
38
|
+
return props.rel;
|
|
39
|
+
});
|
|
40
|
+
const baseClass = 'cdr-link';
|
|
41
|
+
const modifierClass = computed(() => props.modifier && buildClass(baseClass, props.modifier));
|
|
42
|
+
const inheritColorClass = computed(() => props.inheritColor && 'cdr-link--inherit-color');
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
style: useCssModule(),
|
|
46
|
+
mapClasses,
|
|
47
|
+
computedHref,
|
|
48
|
+
computedRel,
|
|
49
|
+
baseClass,
|
|
50
|
+
modifierClass,
|
|
51
|
+
inheritColorClass,
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
57
|
+
return (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
|
|
58
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.baseClass, _ctx.modifierClass, _ctx.inheritColorClass)),
|
|
59
|
+
target: _ctx.target,
|
|
60
|
+
rel: _ctx.computedRel,
|
|
61
|
+
href: _ctx.computedHref
|
|
62
|
+
}, {
|
|
63
|
+
default: withCtx(() => [
|
|
64
|
+
renderSlot(_ctx.$slots, "default")
|
|
65
|
+
]),
|
|
66
|
+
_: 3 /* FORWARDED */
|
|
67
|
+
}, 8 /* PROPS */, ["class", "target", "rel", "href"]))
|
|
68
|
+
}
|
|
69
|
+
var CdrLink = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
70
|
+
|
|
71
|
+
export { CdrLink as default };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { defineComponent, computed, useCssModule, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot } from 'vue';
|
|
2
|
+
import { buildClass } from '../../utils/buildClass.js';
|
|
3
|
+
import validateProp from '../../utils/propValidator.js';
|
|
4
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
5
|
+
|
|
6
|
+
const _sfc_main = defineComponent({
|
|
7
|
+
name: 'CdrList',
|
|
8
|
+
props: {
|
|
9
|
+
/**
|
|
10
|
+
* Tag accepts a user defined element and expects either: 'ul' = Unordered List or 'ol' = Ordered List.
|
|
11
|
+
*/
|
|
12
|
+
tag: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: 'ul',
|
|
15
|
+
validator: (value) => validateProp(value, ['ul', 'ol']),
|
|
16
|
+
},
|
|
17
|
+
modifier: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: '',
|
|
20
|
+
validator: (value) => validateProp(value, ['', 'ordered', 'unordered', 'compact', 'inline']),
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
setup(props) {
|
|
24
|
+
const baseClass = 'cdr-list';
|
|
25
|
+
const modifierClass = computed(() => props.modifier && buildClass(baseClass, props.modifier));
|
|
26
|
+
return {
|
|
27
|
+
style: useCssModule(),
|
|
28
|
+
baseClass,
|
|
29
|
+
modifierClass,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
35
|
+
return (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
|
|
36
|
+
class: normalizeClass([_ctx.style[_ctx.baseClass], _ctx.style[_ctx.modifierClass]])
|
|
37
|
+
}, {
|
|
38
|
+
default: withCtx(() => [
|
|
39
|
+
renderSlot(_ctx.$slots, "default")
|
|
40
|
+
]),
|
|
41
|
+
_: 3 /* FORWARDED */
|
|
42
|
+
}, 8 /* PROPS */, ["class"]))
|
|
43
|
+
}
|
|
44
|
+
var CdrList = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
45
|
+
|
|
46
|
+
export { CdrList as default };
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
import debounce from 'lodash/debounce';
|
|
2
|
+
import tabbable from 'tabbable';
|
|
3
|
+
import { defineComponent, ref, computed, watch, onMounted, onUnmounted, useCssModule, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, normalizeStyle, toDisplayString, createCommentVNode, createVNode, withCtx, nextTick } from 'vue';
|
|
4
|
+
import { CdrBreakpointSm, CdrSpaceTwoX, CdrSpaceOneX } from '../../../node_modules/@rei/cdr-tokens/dist/js/cdr-tokens.esm.js';
|
|
5
|
+
import onTransitionEnd from './onTransitionEnd.js';
|
|
6
|
+
import CdrButton from '../button/CdrButton.js';
|
|
7
|
+
import IconXLg from '../icon/comps/x-lg.js';
|
|
8
|
+
import mapClasses from '../../utils/mapClasses.js';
|
|
9
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
10
|
+
|
|
11
|
+
const _sfc_main = defineComponent({
|
|
12
|
+
name: 'CdrModal',
|
|
13
|
+
components: {
|
|
14
|
+
CdrButton,
|
|
15
|
+
IconXLg,
|
|
16
|
+
},
|
|
17
|
+
props: {
|
|
18
|
+
opened: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
22
|
+
label: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
showTitle: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
required: false,
|
|
29
|
+
default: true,
|
|
30
|
+
},
|
|
31
|
+
ariaDescribedby: {
|
|
32
|
+
type: String,
|
|
33
|
+
required: false,
|
|
34
|
+
default: null,
|
|
35
|
+
},
|
|
36
|
+
role: {
|
|
37
|
+
type: String,
|
|
38
|
+
required: false,
|
|
39
|
+
default: 'dialog',
|
|
40
|
+
},
|
|
41
|
+
id: {
|
|
42
|
+
type: String,
|
|
43
|
+
required: false,
|
|
44
|
+
default: null,
|
|
45
|
+
},
|
|
46
|
+
overlayClass: String,
|
|
47
|
+
wrapperClass: String,
|
|
48
|
+
contentClass: String,
|
|
49
|
+
animationDuration: {
|
|
50
|
+
type: Number,
|
|
51
|
+
default: 300,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
setup(props, ctx) {
|
|
55
|
+
const baseClass = 'cdr-modal';
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
const reallyClosed = ref(!props.opened);
|
|
59
|
+
|
|
60
|
+
// REFS or LET?
|
|
61
|
+
let unsubscribe;
|
|
62
|
+
let lastActive;
|
|
63
|
+
const isOpening = ref(false);
|
|
64
|
+
const offset = ref(null);
|
|
65
|
+
const headerHeight = ref(0);
|
|
66
|
+
const totalHeight = ref(0);
|
|
67
|
+
const scrollHeight = ref(0);
|
|
68
|
+
const offsetHeight = ref(0);
|
|
69
|
+
const offsetWidth = ref(0);
|
|
70
|
+
const clientWidth = ref(0);
|
|
71
|
+
const fullscreen = ref(false);
|
|
72
|
+
|
|
73
|
+
const modalEl = ref(null);
|
|
74
|
+
const wrapperEl = ref(null);
|
|
75
|
+
const contentEl = ref(null);
|
|
76
|
+
const headerEl = ref(null);
|
|
77
|
+
|
|
78
|
+
const measureContent = () => {
|
|
79
|
+
nextTick(() => {
|
|
80
|
+
totalHeight.value = window.innerHeight;
|
|
81
|
+
fullscreen.value = window.innerWidth < CdrBreakpointSm; // wrap breakpoint in Number() here???
|
|
82
|
+
headerHeight.value = headerEl.value.offsetHeight;
|
|
83
|
+
scrollHeight.value = contentEl.value.scrollHeight;
|
|
84
|
+
offsetHeight.value = contentEl.value.offsetHeight;
|
|
85
|
+
offsetWidth.value = contentEl.value.offsetWidth;
|
|
86
|
+
clientWidth.value = contentEl.value.clientWidth;
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const handleKeyDown = ({ key }) => {
|
|
90
|
+
switch (key) {
|
|
91
|
+
case 'Escape':
|
|
92
|
+
case 'Esc':
|
|
93
|
+
onClick();
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const handleFocus = (e) => {
|
|
98
|
+
const { documentElement } = document;
|
|
99
|
+
if (modalEl.value.contains(e.target) || !documentElement) return;
|
|
100
|
+
|
|
101
|
+
const tabbables = tabbable(documentElement);
|
|
102
|
+
const these = tabbable(modalEl.value);
|
|
103
|
+
const nextIx = tabbables.indexOf(e.target);
|
|
104
|
+
const firstModalIx = tabbables.indexOf(these[0]);
|
|
105
|
+
const nextRef = nextIx < firstModalIx ? these[these.length - 1] : these[0];
|
|
106
|
+
if (nextRef) nextRef.focus();
|
|
107
|
+
|
|
108
|
+
// ...uhhh???? what?
|
|
109
|
+
// documentElement.scrollTop = this.scrollTop;
|
|
110
|
+
// documentElement.scrollLeft = this.scrollLeft;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const handleResize = debounce(() => {
|
|
114
|
+
measureContent();
|
|
115
|
+
}, 300);
|
|
116
|
+
|
|
117
|
+
const handleOpened = () => {
|
|
118
|
+
const { activeElement } = document;
|
|
119
|
+
addNoScroll();
|
|
120
|
+
isOpening.value = true;
|
|
121
|
+
reallyClosed.value = false;
|
|
122
|
+
lastActive = activeElement;
|
|
123
|
+
|
|
124
|
+
nextTick(() => {
|
|
125
|
+
if (modalEl.value) modalEl.value.focus(); // wrapped in if so testing error isn't thrown
|
|
126
|
+
measureContent();
|
|
127
|
+
addHandlers();
|
|
128
|
+
|
|
129
|
+
setTimeout(() => {
|
|
130
|
+
// for some reason Safari scrolls the wrapper down a bit?
|
|
131
|
+
// doesn't work without setTimeout for some unknown reason
|
|
132
|
+
if (wrapperEl.value) wrapperEl.value.scrollTop = 0;
|
|
133
|
+
|
|
134
|
+
// there is a race condition for measuring overflow when modal defaults to open,
|
|
135
|
+
// this seems to cover that
|
|
136
|
+
measureContent();
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const handleClosed = () => {
|
|
142
|
+
const { documentElement } = document;
|
|
143
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
144
|
+
document.removeEventListener('focusin', handleFocus, true);
|
|
145
|
+
isOpening.value = false;
|
|
146
|
+
|
|
147
|
+
unsubscribe = onTransitionEnd(
|
|
148
|
+
wrapperEl.value,
|
|
149
|
+
() => {
|
|
150
|
+
if (isOpening.value) return;
|
|
151
|
+
unsubscribe();
|
|
152
|
+
removeNoScroll();
|
|
153
|
+
unsubscribe = null;
|
|
154
|
+
reallyClosed.value = true;
|
|
155
|
+
|
|
156
|
+
// handle scroll-behavior: smooth
|
|
157
|
+
if (documentElement) documentElement.style.scrollBehavior = 'auto';
|
|
158
|
+
// restore previous scroll position
|
|
159
|
+
window.scrollTo(offset.value.x, offset.value.y);
|
|
160
|
+
if (documentElement) documentElement.style.scrollBehavior = '';
|
|
161
|
+
|
|
162
|
+
if (lastActive) lastActive.focus();
|
|
163
|
+
},
|
|
164
|
+
props.animationDuration + 16,
|
|
165
|
+
);
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
const addNoScroll = () => {
|
|
169
|
+
const { documentElement, body } = document;
|
|
170
|
+
offset.value = {
|
|
171
|
+
x: window.scrollX
|
|
172
|
+
|| (documentElement || {}).scrollLeft
|
|
173
|
+
|| (body || {}).scrollLeft
|
|
174
|
+
|| 0,
|
|
175
|
+
y: window.scrollY
|
|
176
|
+
|| (documentElement || {}).scrollTop
|
|
177
|
+
|| (body || {}).scrollTop
|
|
178
|
+
|| 0,
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
if (documentElement) {
|
|
182
|
+
documentElement.classList.add('cdr-modal__noscroll');
|
|
183
|
+
// keep current scroll position manually
|
|
184
|
+
documentElement.style.top = `-${offset.value.y}px`;
|
|
185
|
+
documentElement.style.left = `-${offset.value.x}px`;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (body) {
|
|
189
|
+
body.classList.add('cdr-modal__noscroll');
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
const removeNoScroll = () => {
|
|
194
|
+
const { documentElement, body } = document;
|
|
195
|
+
|
|
196
|
+
if (body) {
|
|
197
|
+
body.classList.remove('cdr-modal__noscroll');
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (documentElement) {
|
|
201
|
+
documentElement.classList.remove('cdr-modal__noscroll');
|
|
202
|
+
documentElement.style.top = '';
|
|
203
|
+
documentElement.style.left = '';
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
const addHandlers = () => {
|
|
208
|
+
document.addEventListener('focusin', handleFocus, true);
|
|
209
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
const onClick = (e) => {
|
|
213
|
+
ctx.emit('closed', e);
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
const dialogAttrs = computed(() => {
|
|
217
|
+
// TODO: remove aria-desc and id from props? just ingest as attrs?
|
|
218
|
+
return {
|
|
219
|
+
...ctx.attrs,
|
|
220
|
+
'aria-describedby': props.ariaDescribedby,
|
|
221
|
+
'aria-modal': 'true',
|
|
222
|
+
id: props.id,
|
|
223
|
+
};
|
|
224
|
+
});
|
|
225
|
+
const verticalSpace = computed(() => {
|
|
226
|
+
// contentWrap vertical padding
|
|
227
|
+
const fullscreenSpace = Number(CdrSpaceTwoX);
|
|
228
|
+
const windowedSpace = Number(CdrSpaceTwoX) + Number(CdrSpaceOneX);
|
|
229
|
+
|
|
230
|
+
return fullscreen.value
|
|
231
|
+
? fullscreenSpace
|
|
232
|
+
: windowedSpace + fullscreenSpace;
|
|
233
|
+
// fullscreen, here, would account for outerWrap padding, which is the same CdrSpaceTwoX
|
|
234
|
+
});
|
|
235
|
+
const scrollMaxHeight = computed(() => {
|
|
236
|
+
return totalHeight.value
|
|
237
|
+
- headerHeight.value
|
|
238
|
+
- verticalSpace.value;
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
const scrollPadding = computed(() => {
|
|
242
|
+
const isScrolling = scrollHeight.value > offsetHeight.value;
|
|
243
|
+
const hasScrollbar = offsetWidth.value - clientWidth.value > 0;
|
|
244
|
+
if (isScrolling && hasScrollbar) {
|
|
245
|
+
return 4;
|
|
246
|
+
} else if (isScrolling) {
|
|
247
|
+
return 12;
|
|
248
|
+
} else {
|
|
249
|
+
return 0
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
watch(() => props.opened, (newValue, oldValue) => {
|
|
254
|
+
if (!!newValue === !!oldValue) return;
|
|
255
|
+
newValue ? handleOpened() : handleClosed();
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
onMounted(() => {
|
|
259
|
+
if (props.opened) {
|
|
260
|
+
handleOpened();
|
|
261
|
+
}
|
|
262
|
+
window.addEventListener('resize', handleResize);
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
onUnmounted(() => {
|
|
266
|
+
window.removeEventListener('resize', handleResize);
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
return {
|
|
270
|
+
style: useCssModule(),
|
|
271
|
+
baseClass,
|
|
272
|
+
mapClasses,
|
|
273
|
+
dialogAttrs,
|
|
274
|
+
verticalSpace,
|
|
275
|
+
scrollMaxHeight,
|
|
276
|
+
reallyClosed,
|
|
277
|
+
modalEl,
|
|
278
|
+
wrapperEl,
|
|
279
|
+
contentEl,
|
|
280
|
+
headerEl,
|
|
281
|
+
onClick,
|
|
282
|
+
handleClosed,
|
|
283
|
+
measureContent,
|
|
284
|
+
removeNoScroll,
|
|
285
|
+
scrollPadding,
|
|
286
|
+
handleFocus,
|
|
287
|
+
};
|
|
288
|
+
},
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
const _hoisted_1 = ["tabIndex"];
|
|
292
|
+
const _hoisted_2 = ["role", "aria-modal", "aria-label"];
|
|
293
|
+
const _hoisted_3 = ["tabIndex"];
|
|
294
|
+
|
|
295
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
296
|
+
const _component_icon_x_lg = resolveComponent("icon-x-lg");
|
|
297
|
+
const _component_cdr_button = resolveComponent("cdr-button");
|
|
298
|
+
|
|
299
|
+
return (openBlock(), createElementBlock("div", {
|
|
300
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.baseClass, !_ctx.opened && 'cdr-modal--closed')),
|
|
301
|
+
ref: "wrapperEl"
|
|
302
|
+
}, [
|
|
303
|
+
createElementVNode("div", {
|
|
304
|
+
class: normalizeClass([_ctx.style['cdr-modal__outerWrap'], _ctx.wrapperClass])
|
|
305
|
+
}, [
|
|
306
|
+
createElementVNode("div", {
|
|
307
|
+
"aria-hidden": "true",
|
|
308
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args))),
|
|
309
|
+
class: normalizeClass([_ctx.style['cdr-modal__overlay'], _ctx.overlayClass])
|
|
310
|
+
}, null, 2 /* CLASS */),
|
|
311
|
+
createElementVNode("div", {
|
|
312
|
+
tabIndex: _ctx.opened ? '0' : undefined
|
|
313
|
+
}, null, 8 /* PROPS */, _hoisted_1),
|
|
314
|
+
createElementVNode("div", mergeProps({
|
|
315
|
+
ref: "modalEl",
|
|
316
|
+
class: _ctx.mapClasses(_ctx.style, 'cdr-modal__contentWrap', 'cdr-modal__dialog'),
|
|
317
|
+
tabIndex: "-1",
|
|
318
|
+
role: _ctx.role,
|
|
319
|
+
"aria-modal": !!_ctx.opened,
|
|
320
|
+
"aria-label": _ctx.label
|
|
321
|
+
}, _ctx.dialogAttrs), [
|
|
322
|
+
renderSlot(_ctx.$slots, "modal", {}, () => [
|
|
323
|
+
createElementVNode("div", {
|
|
324
|
+
class: normalizeClass([_ctx.style['cdr-modal__innerWrap'], _ctx.contentClass]),
|
|
325
|
+
style: normalizeStyle(_ctx.reallyClosed ? {display: 'none'} : undefined)
|
|
326
|
+
}, [
|
|
327
|
+
createElementVNode("section", null, [
|
|
328
|
+
createElementVNode("div", {
|
|
329
|
+
class: normalizeClass(_ctx.style['cdr-modal__content'])
|
|
330
|
+
}, [
|
|
331
|
+
createElementVNode("div", {
|
|
332
|
+
class: normalizeClass(_ctx.style['cdr-modal__header']),
|
|
333
|
+
ref: "headerEl"
|
|
334
|
+
}, [
|
|
335
|
+
createElementVNode("div", {
|
|
336
|
+
class: normalizeClass(_ctx.style['cdr-modal__title'])
|
|
337
|
+
}, [
|
|
338
|
+
(_ctx.showTitle)
|
|
339
|
+
? renderSlot(_ctx.$slots, "title", { key: 0 }, () => [
|
|
340
|
+
createElementVNode("h1", null, toDisplayString(_ctx.label), 1 /* TEXT */)
|
|
341
|
+
])
|
|
342
|
+
: createCommentVNode("v-if", true)
|
|
343
|
+
], 2 /* CLASS */),
|
|
344
|
+
createVNode(_component_cdr_button, {
|
|
345
|
+
class: normalizeClass(_ctx.style['cdr-modal__close-button']),
|
|
346
|
+
"icon-only": "",
|
|
347
|
+
"with-background": true,
|
|
348
|
+
onClick: _ctx.onClick,
|
|
349
|
+
"aria-label": "Close"
|
|
350
|
+
}, {
|
|
351
|
+
default: withCtx(() => [
|
|
352
|
+
createVNode(_component_icon_x_lg, { "inherit-color": "" })
|
|
353
|
+
]),
|
|
354
|
+
_: 1 /* STABLE */
|
|
355
|
+
}, 8 /* PROPS */, ["class", "onClick"])
|
|
356
|
+
], 2 /* CLASS */),
|
|
357
|
+
createElementVNode("div", {
|
|
358
|
+
role: "document",
|
|
359
|
+
class: normalizeClass(_ctx.style['cdr-modal__text'])
|
|
360
|
+
}, [
|
|
361
|
+
createElementVNode("div", {
|
|
362
|
+
class: normalizeClass(_ctx.style['cdr-modal__text-content']),
|
|
363
|
+
style: normalizeStyle({ maxHeight: `${_ctx.scrollMaxHeight}px`, paddingRight: `${_ctx.scrollPadding}px`}),
|
|
364
|
+
ref: "contentEl",
|
|
365
|
+
tabindex: "0"
|
|
366
|
+
}, [
|
|
367
|
+
renderSlot(_ctx.$slots, "default")
|
|
368
|
+
], 6 /* CLASS, STYLE */)
|
|
369
|
+
], 2 /* CLASS */)
|
|
370
|
+
], 2 /* CLASS */)
|
|
371
|
+
])
|
|
372
|
+
], 6 /* CLASS, STYLE */)
|
|
373
|
+
])
|
|
374
|
+
], 16 /* FULL_PROPS */, _hoisted_2),
|
|
375
|
+
createElementVNode("div", {
|
|
376
|
+
tabIndex: _ctx.opened ? '0' : undefined
|
|
377
|
+
}, null, 8 /* PROPS */, _hoisted_3)
|
|
378
|
+
], 2 /* CLASS */)
|
|
379
|
+
], 2 /* CLASS */))
|
|
380
|
+
}
|
|
381
|
+
var CdrModal = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
382
|
+
|
|
383
|
+
export { CdrModal as default };
|
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
/* eslint-env browser */
|
|
2
|
-
|
|
2
|
+
var transitions = {
|
|
3
3
|
transition: 'transitionend',
|
|
4
4
|
WebkitTransition: 'webkitTransitionEnd',
|
|
5
5
|
MozTransition: 'transitionend',
|
|
6
6
|
OTransition: 'oTransitionEnd otransitionend'
|
|
7
|
-
};
|
|
8
|
-
|
|
7
|
+
}; // Also has to run on transitioncancel? if modal removed before this runs...
|
|
8
|
+
|
|
9
|
+
var transitionEvent;
|
|
9
10
|
|
|
10
11
|
if (typeof document !== 'undefined') {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
var _document$createEleme = document.createElement('div'),
|
|
13
|
+
style = _document$createEleme.style;
|
|
14
|
+
|
|
15
|
+
var keys = Object.keys(transitions);
|
|
15
16
|
|
|
16
|
-
for (
|
|
17
|
+
for (var i = 0, key = keys[i]; i < keys.length; i += 1, key = keys[i]) {
|
|
17
18
|
if (key in style) {
|
|
18
19
|
transitionEvent = transitions[key];
|
|
20
|
+
console.log(transitionEvent, key);
|
|
19
21
|
break;
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
var onTransitionEnd = ((element, callback, timeout)
|
|
26
|
+
var onTransitionEnd = (function (element, callback, timeout) {
|
|
25
27
|
element.addEventListener(transitionEvent, callback);
|
|
26
|
-
|
|
28
|
+
var timeoutId;
|
|
27
29
|
|
|
28
30
|
if (timeout) {
|
|
29
31
|
// console.log('onTransitionEnd timeout', timeout);
|
|
30
|
-
timeoutId = setTimeout(()
|
|
32
|
+
timeoutId = setTimeout(function () {
|
|
31
33
|
element.removeEventListener(transitionEvent, callback);
|
|
32
34
|
callback();
|
|
33
35
|
}, timeout);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
|
-
return ()
|
|
38
|
+
return function () {
|
|
37
39
|
clearTimeout(timeoutId);
|
|
38
40
|
element.removeEventListener(transitionEvent, callback);
|
|
39
41
|
};
|
|
40
42
|
});
|
|
41
43
|
|
|
42
|
-
export default
|
|
44
|
+
export { onTransitionEnd as default };
|