@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
package/dist/lib/node_modules/@rei/cdr-tokens/dist/js/{cdr-tokens.esm.mjs → cdr-tokens.esm.js}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { defineComponent, inject, computed, ref, watch, onMounted, useCssModule, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, resolveDynamicComponent, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString, createVNode, normalizeStyle } from 'vue';
|
|
2
|
+
import IconCaretDown from '../icon/comps/caret-down.js';
|
|
3
|
+
import { modifyClassName, buildClass } from '../../utils/buildClass.js';
|
|
4
|
+
import mapClasses from '../../utils/mapClasses.js';
|
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
6
|
+
|
|
7
|
+
const _sfc_main = defineComponent({
|
|
8
|
+
name: 'CdrAccordion',
|
|
9
|
+
components: {
|
|
10
|
+
IconCaretDown,
|
|
11
|
+
},
|
|
12
|
+
props: {
|
|
13
|
+
/**
|
|
14
|
+
* The unique id of an accordion.
|
|
15
|
+
*/
|
|
16
|
+
id: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: true,
|
|
19
|
+
},
|
|
20
|
+
/**
|
|
21
|
+
* Toggle this value to open/close the accordion.
|
|
22
|
+
*/
|
|
23
|
+
opened: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: false,
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* Sets a compact style.
|
|
29
|
+
*/
|
|
30
|
+
compact: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false,
|
|
33
|
+
},
|
|
34
|
+
/**
|
|
35
|
+
* Sets a border-aligned style.
|
|
36
|
+
*/
|
|
37
|
+
borderAligned: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false,
|
|
40
|
+
},
|
|
41
|
+
// Sets the heading level
|
|
42
|
+
level: {
|
|
43
|
+
type: [String, Number],
|
|
44
|
+
required: true,
|
|
45
|
+
},
|
|
46
|
+
label: {
|
|
47
|
+
type: String,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
setup(props, ctx) {
|
|
52
|
+
|
|
53
|
+
const unwrap = inject('unwrap', {val: false});
|
|
54
|
+
|
|
55
|
+
console.log('HEY', unwrap.value);
|
|
56
|
+
|
|
57
|
+
const headingTag = `h${props.level}`;
|
|
58
|
+
const headingClass = computed(() => (unwrap.value && unwrap.value.val
|
|
59
|
+
? 'cdr-accordion__header--unwrapped'
|
|
60
|
+
: 'cdr-accordion__header'));
|
|
61
|
+
|
|
62
|
+
const buttonClass = 'cdr-accordion__button js-cdr-accordion-button';
|
|
63
|
+
|
|
64
|
+
const accordionContentEl = ref(null);
|
|
65
|
+
const focused = ref(false);
|
|
66
|
+
const maxHeight = ref(props.opened ? 'none' : 0);
|
|
67
|
+
|
|
68
|
+
const labelClass = 'cdr-accordion__label';
|
|
69
|
+
|
|
70
|
+
const baseClass = 'cdr-accordion';
|
|
71
|
+
const compactClass = computed(() => (props.compact
|
|
72
|
+
? modifyClassName('cdr-accordion', 'compact')
|
|
73
|
+
: ''));
|
|
74
|
+
const borderAlignedClass = computed(() => (props.borderAligned
|
|
75
|
+
? modifyClassName('cdr-accordion', 'border-aligned')
|
|
76
|
+
: ''));
|
|
77
|
+
const focusedClass = computed(() => (focused.value
|
|
78
|
+
? modifyClassName('cdr-accordion', 'focused')
|
|
79
|
+
: null));
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
const unwrapClass = computed(() => {
|
|
83
|
+
return unwrap.value && unwrap.value.val ? modifyClassName('cdr-accordion', 'unwrap') : null;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const modifierClass = computed(() => buildClass(baseClass, props.modifier));
|
|
87
|
+
|
|
88
|
+
const iconClass = 'cdr-accordion__icon';
|
|
89
|
+
|
|
90
|
+
const containerClass = 'cdr-accordion__content-container';
|
|
91
|
+
|
|
92
|
+
// is this class really not scoped?!?!?!?
|
|
93
|
+
const isOpenClass = computed(() => (props.opened ? 'cdr-tabs--open' : 'cdr-tabs--closed'));
|
|
94
|
+
const contentClass = 'cdr-accordion__content';
|
|
95
|
+
|
|
96
|
+
const onClick = (event) => {
|
|
97
|
+
ctx.emit('accordion-toggle', event);
|
|
98
|
+
};
|
|
99
|
+
const onFocus = () => {
|
|
100
|
+
focused.value = true;
|
|
101
|
+
};
|
|
102
|
+
const onBlur = () => {
|
|
103
|
+
focused.value = false;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
watch(() => props.opened, (opened) => {
|
|
107
|
+
maxHeight.value = !opened ? `${accordionContentEl.value.clientHeight}px` : 0;
|
|
108
|
+
// nextTick is not sufficient here, must wait for CSS to re-paint
|
|
109
|
+
setTimeout(() => {
|
|
110
|
+
// on next frame, set maxHeight to new value
|
|
111
|
+
maxHeight.value = opened ? `${accordionContentEl.value.clientHeight}px` : 0;
|
|
112
|
+
setTimeout(() => {
|
|
113
|
+
// after animation is complete, remove max-height so content can reflow
|
|
114
|
+
maxHeight.value = opened ? 'none' : 0;
|
|
115
|
+
}, 350); // cdr-duration-3x + 50ms
|
|
116
|
+
}, 50);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
onMounted(() => {
|
|
120
|
+
if (props.opened && accordionContentEl.value) {
|
|
121
|
+
maxHeight.value = 'none';
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
style: useCssModule(),
|
|
128
|
+
headingTag,
|
|
129
|
+
headingClass,
|
|
130
|
+
buttonClass,
|
|
131
|
+
accordionContentEl,
|
|
132
|
+
focused,
|
|
133
|
+
maxHeight,
|
|
134
|
+
baseClass,
|
|
135
|
+
labelClass,
|
|
136
|
+
compactClass,
|
|
137
|
+
borderAlignedClass,
|
|
138
|
+
focusedClass,
|
|
139
|
+
iconClass,
|
|
140
|
+
containerClass,
|
|
141
|
+
isOpenClass,
|
|
142
|
+
contentClass,
|
|
143
|
+
modifierClass,
|
|
144
|
+
onClick,
|
|
145
|
+
onFocus,
|
|
146
|
+
onBlur,
|
|
147
|
+
unwrapClass,
|
|
148
|
+
mapClasses,
|
|
149
|
+
};
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
const _hoisted_1 = ["id"];
|
|
154
|
+
const _hoisted_2 = ["id", "aria-expanded", "aria-controls"];
|
|
155
|
+
const _hoisted_3 = ["id"];
|
|
156
|
+
const _hoisted_4 = ["aria-hidden", "id"];
|
|
157
|
+
|
|
158
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
159
|
+
const _component_icon_caret_down = resolveComponent("icon-caret-down");
|
|
160
|
+
|
|
161
|
+
return (openBlock(), createElementBlock("li", {
|
|
162
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.baseClass, _ctx.modifierClass, _ctx.compactClass, _ctx.borderAlignedClass, _ctx.focusedClass)),
|
|
163
|
+
id: `${_ctx.id}-accordion`
|
|
164
|
+
}, [
|
|
165
|
+
(openBlock(), createBlock(resolveDynamicComponent(_ctx.headingTag), {
|
|
166
|
+
class: normalizeClass(_ctx.style[_ctx.headingClass])
|
|
167
|
+
}, {
|
|
168
|
+
default: withCtx(() => [
|
|
169
|
+
createElementVNode("button", {
|
|
170
|
+
class: normalizeClass([_ctx.style['cdr-accordion__button'], 'js-cdr-accordion-button']),
|
|
171
|
+
id: _ctx.id,
|
|
172
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.onClick && _ctx.onClick(...args))),
|
|
173
|
+
onFocus: _cache[1] || (_cache[1] = (...args) => (_ctx.onFocus && _ctx.onFocus(...args))),
|
|
174
|
+
onBlur: _cache[2] || (_cache[2] = (...args) => (_ctx.onBlur && _ctx.onBlur(...args))),
|
|
175
|
+
"aria-expanded": `${_ctx.opened}`,
|
|
176
|
+
"aria-controls": `${_ctx.id}-collapsible`
|
|
177
|
+
}, [
|
|
178
|
+
createElementVNode("span", {
|
|
179
|
+
class: normalizeClass(_ctx.style['cdr-accordion__label']),
|
|
180
|
+
id: `${_ctx.id}-label`
|
|
181
|
+
}, [
|
|
182
|
+
renderSlot(_ctx.$slots, "label", {}, () => [
|
|
183
|
+
createTextVNode(toDisplayString(_ctx.label), 1 /* TEXT */)
|
|
184
|
+
])
|
|
185
|
+
], 10 /* CLASS, PROPS */, _hoisted_3),
|
|
186
|
+
createVNode(_component_icon_caret_down, {
|
|
187
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.iconClass, _ctx.isOpenClass)),
|
|
188
|
+
size: _ctx.compact ? 'small' : null
|
|
189
|
+
}, null, 8 /* PROPS */, ["class", "size"])
|
|
190
|
+
], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_2)
|
|
191
|
+
]),
|
|
192
|
+
_: 3 /* FORWARDED */
|
|
193
|
+
}, 8 /* PROPS */, ["class"])),
|
|
194
|
+
createElementVNode("div", {
|
|
195
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.containerClass, _ctx.isOpenClass)),
|
|
196
|
+
style: normalizeStyle({ maxHeight: _ctx.maxHeight })
|
|
197
|
+
}, [
|
|
198
|
+
createElementVNode("div", {
|
|
199
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style, _ctx.contentClass, _ctx.isOpenClass)),
|
|
200
|
+
"aria-hidden": `${!_ctx.opened}`,
|
|
201
|
+
id: `${_ctx.id}-collapsible`,
|
|
202
|
+
ref: "accordionContentEl"
|
|
203
|
+
}, [
|
|
204
|
+
renderSlot(_ctx.$slots, "default")
|
|
205
|
+
], 10 /* CLASS, PROPS */, _hoisted_4)
|
|
206
|
+
], 6 /* CLASS, STYLE */)
|
|
207
|
+
], 10 /* CLASS, PROPS */, _hoisted_1))
|
|
208
|
+
}
|
|
209
|
+
var CdrAccordion = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
210
|
+
|
|
211
|
+
export { CdrAccordion as default };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { defineComponent, ref, computed, onMounted, provide, useCssModule, openBlock, createElementBlock, normalizeClass, renderSlot } from 'vue';
|
|
2
|
+
import debounce from 'lodash/debounce';
|
|
3
|
+
import validateProp from '../../utils/propValidator.js';
|
|
4
|
+
import getCurrentBreakpoint from '../../mixins/breakpoints.js';
|
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
6
|
+
|
|
7
|
+
const _sfc_main = defineComponent({
|
|
8
|
+
name: 'CdrAccordionGroup',
|
|
9
|
+
props: {
|
|
10
|
+
unwrap: {
|
|
11
|
+
type: [String, Boolean],
|
|
12
|
+
default: false,
|
|
13
|
+
validator: (value) => {
|
|
14
|
+
if (typeof value === 'string') {
|
|
15
|
+
return validateProp(
|
|
16
|
+
value,
|
|
17
|
+
['@xs', '@sm', '@md', '@lg'],
|
|
18
|
+
false,
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
return typeof value === 'boolean';
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
setup(props, ctx) {
|
|
26
|
+
const baseClass = 'cdr-accordion-group';
|
|
27
|
+
const currentIdx = ref(0);
|
|
28
|
+
const accordionButtons = ref([]);
|
|
29
|
+
const accordionGroupEl = ref(null);
|
|
30
|
+
|
|
31
|
+
const isUnwrapped = ref(!!props.unwrap);
|
|
32
|
+
//
|
|
33
|
+
const nextIdx = computed(() => {
|
|
34
|
+
const idx = currentIdx.value + 1;
|
|
35
|
+
return idx >= accordionButtons.value.length ? 0 : idx;
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const prevIdx = computed(() => {
|
|
39
|
+
const idx = currentIdx.value - 1;
|
|
40
|
+
return idx <= -1 ? accordionButtons.value.length - 1 : idx;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
console.log('what', props);
|
|
44
|
+
// TODO: how to handle $el?
|
|
45
|
+
onMounted(() => {
|
|
46
|
+
console.log('what', props.unwrap);
|
|
47
|
+
accordionButtons.value = accordionGroupEl.value.querySelectorAll('.js-cdr-accordion-button');
|
|
48
|
+
if (typeof props.unwrap === 'string') {
|
|
49
|
+
console.log('unwrappy', props.unwrap);
|
|
50
|
+
isUnwrapped.value = props.unwrap.indexOf(getCurrentBreakpoint()) !== -1;
|
|
51
|
+
window.addEventListener('resize', debounce(() => {
|
|
52
|
+
isUnwrapped.value = props.unwrap.indexOf(getCurrentBreakpoint()) !== -1;
|
|
53
|
+
}, 300));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// TODO: unwrap logic needs to be refactored. Might need to pass a reactive object into provide? Is not currently working
|
|
57
|
+
provide('unwrap', { val: isUnwrapped.value });
|
|
58
|
+
|
|
59
|
+
const handleKeyDown = (e) => {
|
|
60
|
+
// something besides the button is focused
|
|
61
|
+
if (currentIdx.value === -1) return;
|
|
62
|
+
|
|
63
|
+
const { key } = e;
|
|
64
|
+
switch (key) {
|
|
65
|
+
case 'Home':
|
|
66
|
+
e.preventDefault();
|
|
67
|
+
accordionButtons.value[0].focus();
|
|
68
|
+
break;
|
|
69
|
+
case 'End':
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
accordionButtons.value[accordionButtons.value.length - 1].focus();
|
|
72
|
+
break;
|
|
73
|
+
case 'ArrowDown':
|
|
74
|
+
case 'Down':
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
accordionButtons.value[nextIdx.value].focus();
|
|
77
|
+
break;
|
|
78
|
+
case 'ArrowUp':
|
|
79
|
+
case 'Up':
|
|
80
|
+
e.preventDefault();
|
|
81
|
+
accordionButtons.value[prevIdx.value].focus();
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
const focusin = (e) => {
|
|
86
|
+
// find out which, if any, button is focused
|
|
87
|
+
currentIdx.value = Array.prototype.indexOf.call(accordionButtons, e.target);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
style: useCssModule(),
|
|
92
|
+
handleKeyDown,
|
|
93
|
+
focusin,
|
|
94
|
+
baseClass,
|
|
95
|
+
accordionGroupEl,
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
101
|
+
return (openBlock(), createElementBlock("ul", {
|
|
102
|
+
class: normalizeClass(_ctx.style[_ctx.baseClass]),
|
|
103
|
+
ref: "accordionGroupEl",
|
|
104
|
+
onFocusin: _cache[0] || (_cache[0] = (...args) => (_ctx.focusin && _ctx.focusin(...args))),
|
|
105
|
+
onKeydown: _cache[1] || (_cache[1] = (...args) => (_ctx.handleKeyDown && _ctx.handleKeyDown(...args)))
|
|
106
|
+
}, [
|
|
107
|
+
renderSlot(_ctx.$slots, "default")
|
|
108
|
+
], 34 /* CLASS, HYDRATE_EVENTS */))
|
|
109
|
+
}
|
|
110
|
+
var CdrAccordionGroup = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
111
|
+
|
|
112
|
+
export { CdrAccordionGroup as default };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { useSlots, useCssModule, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createCommentVNode } from 'vue';
|
|
2
|
+
import validateProp from '../../utils/propValidator.js';
|
|
3
|
+
import { buildClass } from '../../utils/buildClass.js';
|
|
4
|
+
|
|
5
|
+
const _sfc_main = {
|
|
6
|
+
props: {
|
|
7
|
+
type: {
|
|
8
|
+
type: String,
|
|
9
|
+
validator: (value) => validateProp(
|
|
10
|
+
value,
|
|
11
|
+
['info', 'warning', 'success', 'error', 'default'],
|
|
12
|
+
),
|
|
13
|
+
default: 'default',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
setup(__props) {
|
|
17
|
+
|
|
18
|
+
const props = __props;
|
|
19
|
+
|
|
20
|
+
const slots = useSlots();
|
|
21
|
+
|
|
22
|
+
const baseClass = 'cdr-banner';
|
|
23
|
+
const style = useCssModule();
|
|
24
|
+
const typeClass = computed(() => props.type && buildClass(baseClass, props.type));
|
|
25
|
+
const prominenceClass = computed(() => (slots['message-body']
|
|
26
|
+
? buildClass(`${baseClass}__wrapper`, 'prominence')
|
|
27
|
+
: undefined));
|
|
28
|
+
const hasIconLeft = slots['icon-left'];
|
|
29
|
+
const hasIconRight = slots['icon-right'];
|
|
30
|
+
const hasMessageBody = slots['message-body'];
|
|
31
|
+
const hasInfoAction = slots['info-action'];
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
return (_ctx, _cache) => {
|
|
35
|
+
return (openBlock(), createElementBlock("div", {
|
|
36
|
+
class: normalizeClass([unref(style)[baseClass], unref(style)[unref(typeClass)]])
|
|
37
|
+
}, [
|
|
38
|
+
createElementVNode("div", {
|
|
39
|
+
class: normalizeClass([unref(style)['cdr-banner__wrapper'], unref(style)[unref(prominenceClass)]])
|
|
40
|
+
}, [
|
|
41
|
+
createElementVNode("div", {
|
|
42
|
+
class: normalizeClass([unref(style)['cdr-banner__main']])
|
|
43
|
+
}, [
|
|
44
|
+
(unref(hasIconLeft))
|
|
45
|
+
? (openBlock(), createElementBlock("div", {
|
|
46
|
+
key: 0,
|
|
47
|
+
class: normalizeClass([unref(style)['cdr-banner__icon-left']])
|
|
48
|
+
}, [
|
|
49
|
+
renderSlot(_ctx.$slots, "icon-left")
|
|
50
|
+
], 2 /* CLASS */))
|
|
51
|
+
: createCommentVNode("v-if", true),
|
|
52
|
+
createElementVNode("span", {
|
|
53
|
+
class: normalizeClass([unref(style)['cdr-banner__message']])
|
|
54
|
+
}, [
|
|
55
|
+
renderSlot(_ctx.$slots, "default")
|
|
56
|
+
], 2 /* CLASS */),
|
|
57
|
+
(unref(hasIconRight))
|
|
58
|
+
? (openBlock(), createElementBlock("div", {
|
|
59
|
+
key: 1,
|
|
60
|
+
class: normalizeClass([unref(style)['cdr-banner__icon-right']])
|
|
61
|
+
}, [
|
|
62
|
+
renderSlot(_ctx.$slots, "icon-right")
|
|
63
|
+
], 2 /* CLASS */))
|
|
64
|
+
: createCommentVNode("v-if", true)
|
|
65
|
+
], 2 /* CLASS */),
|
|
66
|
+
(unref(hasMessageBody))
|
|
67
|
+
? (openBlock(), createElementBlock("div", {
|
|
68
|
+
key: 0,
|
|
69
|
+
class: normalizeClass([unref(style)['cdr-banner__message-body']])
|
|
70
|
+
}, [
|
|
71
|
+
renderSlot(_ctx.$slots, "message-body")
|
|
72
|
+
], 2 /* CLASS */))
|
|
73
|
+
: createCommentVNode("v-if", true)
|
|
74
|
+
], 2 /* CLASS */),
|
|
75
|
+
(unref(hasInfoAction))
|
|
76
|
+
? (openBlock(), createElementBlock("div", {
|
|
77
|
+
key: 0,
|
|
78
|
+
class: normalizeClass([unref(style)['cdr-banner__info-action']])
|
|
79
|
+
}, [
|
|
80
|
+
renderSlot(_ctx.$slots, "info-action")
|
|
81
|
+
], 2 /* CLASS */))
|
|
82
|
+
: createCommentVNode("v-if", true)
|
|
83
|
+
], 2 /* CLASS */))
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var _sfc_main$1 = _sfc_main;
|
|
90
|
+
|
|
91
|
+
export { _sfc_main$1 as default };
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { defineComponent, ref, watch, computed, useCssModule, openBlock, createElementBlock, normalizeClass, createElementVNode, createCommentVNode, Fragment, renderList, withDirectives, renderSlot, toDisplayString, vShow } from 'vue';
|
|
2
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
3
|
+
|
|
4
|
+
const _sfc_main = defineComponent({
|
|
5
|
+
name: 'CdrBreadcrumb',
|
|
6
|
+
props: {
|
|
7
|
+
items: {
|
|
8
|
+
type: Array,
|
|
9
|
+
default: () => [],
|
|
10
|
+
validator: (value) => {
|
|
11
|
+
if (value.length && value.length > 0) {
|
|
12
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
13
|
+
if (!(typeof value[i].item === 'object')) {
|
|
14
|
+
console.error('Breadcrumb items array missing item key at index ', i); // eslint-disable-line no-console
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
if (!Object.hasOwnProperty.call(value[i].item, 'name')) {
|
|
18
|
+
console.error('Breadcrumb items array is missing item.name value at index ', i); // eslint-disable-line no-console
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Flag to track container width threshold exceeded
|
|
28
|
+
*/
|
|
29
|
+
truncationEnabled: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: true,
|
|
32
|
+
},
|
|
33
|
+
id: {
|
|
34
|
+
type: String,
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
setup(props) {
|
|
39
|
+
const truncate = ref(props.truncationEnabled && props.items.length > 2);
|
|
40
|
+
|
|
41
|
+
watch(() => props.items, () => {
|
|
42
|
+
truncate.value = props.truncationEnabled && props.items.length > 2;
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const itemListEl = ref(null);
|
|
46
|
+
const handleEllipsisClick = () => {
|
|
47
|
+
truncate.value = false;
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
// TODO: ref does not seem to update children here?
|
|
50
|
+
console.log(itemListEl.value.querySelector('.cdr-breadcrumb__item'));
|
|
51
|
+
itemListEl.value.querySelector('.cdr-breadcrumb__item').focus();
|
|
52
|
+
}, 1000);
|
|
53
|
+
};
|
|
54
|
+
const ellipsisLabel = computed(() => {
|
|
55
|
+
const s = (props.items.length - 2) > 1 ? 's' : '';
|
|
56
|
+
return `show ${props.items.length - 2} more navigation level${s}`;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
style: useCssModule(),
|
|
61
|
+
truncate,
|
|
62
|
+
handleEllipsisClick,
|
|
63
|
+
itemListEl,
|
|
64
|
+
ellipsisLabel,
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const _hoisted_1 = ["id"];
|
|
70
|
+
const _hoisted_2 = ["id"];
|
|
71
|
+
const _hoisted_3 = ["aria-controls", "aria-label"];
|
|
72
|
+
const _hoisted_4 = ["href", "onClick"];
|
|
73
|
+
|
|
74
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
75
|
+
return (openBlock(), createElementBlock("nav", {
|
|
76
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb']),
|
|
77
|
+
id: _ctx.id,
|
|
78
|
+
"aria-label": "breadcrumbs"
|
|
79
|
+
}, [
|
|
80
|
+
createElementVNode("ol", {
|
|
81
|
+
id: `${_ctx.id}List`,
|
|
82
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__list']),
|
|
83
|
+
ref: "itemListEl"
|
|
84
|
+
}, [
|
|
85
|
+
(_ctx.truncate)
|
|
86
|
+
? (openBlock(), createElementBlock("li", {
|
|
87
|
+
key: 0,
|
|
88
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__item'])
|
|
89
|
+
}, [
|
|
90
|
+
createElementVNode("button", {
|
|
91
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (_ctx.handleEllipsisClick && _ctx.handleEllipsisClick(...args))),
|
|
92
|
+
"aria-expanded": "false",
|
|
93
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__ellipses']),
|
|
94
|
+
"aria-controls": `${_ctx.id}List`,
|
|
95
|
+
"aria-label": _ctx.ellipsisLabel
|
|
96
|
+
}, [
|
|
97
|
+
createElementVNode("span", {
|
|
98
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__ellipses-icon']),
|
|
99
|
+
"aria-hidden": "true"
|
|
100
|
+
}, " . . . ", 2 /* CLASS */)
|
|
101
|
+
], 10 /* CLASS, PROPS */, _hoisted_3),
|
|
102
|
+
createElementVNode("span", {
|
|
103
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__delimiter']),
|
|
104
|
+
"aria-hidden": "true"
|
|
105
|
+
}, " / ", 2 /* CLASS */)
|
|
106
|
+
], 2 /* CLASS */))
|
|
107
|
+
: createCommentVNode("v-if", true),
|
|
108
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (breadcrumb, index) => {
|
|
109
|
+
return withDirectives((openBlock(), createElementBlock("li", {
|
|
110
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__item']),
|
|
111
|
+
key: breadcrumb.item.id || breadcrumb.item.name.replace(/ /g, '-').toLowerCase()
|
|
112
|
+
}, [
|
|
113
|
+
renderSlot(_ctx.$slots, "link", {
|
|
114
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__link']),
|
|
115
|
+
href: breadcrumb.item.url,
|
|
116
|
+
content: breadcrumb.item.name
|
|
117
|
+
}, () => [
|
|
118
|
+
createElementVNode("a", {
|
|
119
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__link']),
|
|
120
|
+
href: breadcrumb.item.url,
|
|
121
|
+
onClick: $event => (_ctx.$emit('navigate', breadcrumb, _ctx.e))
|
|
122
|
+
}, toDisplayString(breadcrumb.item.name), 11 /* TEXT, CLASS, PROPS */, _hoisted_4)
|
|
123
|
+
]),
|
|
124
|
+
(index < _ctx.items.length - 1)
|
|
125
|
+
? (openBlock(), createElementBlock("span", {
|
|
126
|
+
key: 0,
|
|
127
|
+
class: normalizeClass(_ctx.style['cdr-breadcrumb__delimiter']),
|
|
128
|
+
"aria-hidden": "true"
|
|
129
|
+
}, " / ", 2 /* CLASS */))
|
|
130
|
+
: createCommentVNode("v-if", true)
|
|
131
|
+
], 2 /* CLASS */)), [
|
|
132
|
+
[vShow, !_ctx.truncate || (index >= _ctx.items.length - 2)]
|
|
133
|
+
])
|
|
134
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
135
|
+
], 10 /* CLASS, PROPS */, _hoisted_2)
|
|
136
|
+
], 10 /* CLASS, PROPS */, _hoisted_1))
|
|
137
|
+
}
|
|
138
|
+
var CdrBreadcrumb = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
139
|
+
|
|
140
|
+
export { CdrBreadcrumb as default };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { defineComponent, computed, useCssModule, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot } from 'vue';
|
|
2
|
+
import mapClasses from '../../utils/mapClasses.js';
|
|
3
|
+
import { buildClass, buildBooleanClass } 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: 'CdrButton',
|
|
9
|
+
props: {
|
|
10
|
+
/**
|
|
11
|
+
* Controls render as button or anchor. {button, a}
|
|
12
|
+
*/
|
|
13
|
+
tag: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: 'button',
|
|
16
|
+
validator: (value) => validateProp(value, ['button', 'a']),
|
|
17
|
+
},
|
|
18
|
+
/**
|
|
19
|
+
* Sets the button type. {button, submit, reset}
|
|
20
|
+
*/
|
|
21
|
+
type: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: 'button',
|
|
24
|
+
validator: (value) => validateProp(value, ['button', 'submit', 'reset']),
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Sets the button style
|
|
28
|
+
*/
|
|
29
|
+
modifier: {
|
|
30
|
+
type: String,
|
|
31
|
+
default: 'primary',
|
|
32
|
+
validator: (value) => validateProp(value, ['primary', 'secondary', 'sale', 'dark']),
|
|
33
|
+
},
|
|
34
|
+
size: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: 'medium',
|
|
37
|
+
validator: (value) => validateProp(
|
|
38
|
+
value,
|
|
39
|
+
['small', 'medium', 'large'],
|
|
40
|
+
),
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Increases box-shadow around button to enhance contrast against background
|
|
44
|
+
*/
|
|
45
|
+
elevated: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: false,
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Renders an icon-only button. Default slot is disabled. Overrides size and responsiveSize props.
|
|
51
|
+
*/
|
|
52
|
+
iconOnly: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false,
|
|
55
|
+
},
|
|
56
|
+
/**
|
|
57
|
+
* Used in conjunction with `icon-only`, renders a border and background around the icon button
|
|
58
|
+
*/
|
|
59
|
+
withBackground: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
default: false,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
setup(props, ctx) {
|
|
65
|
+
const baseClass = 'cdr-button';
|
|
66
|
+
const modifierClass = computed(() => buildClass(baseClass, props.modifier));
|
|
67
|
+
const elevatedClass = computed(() => props.elevated && buildClass(baseClass, 'elevated'));
|
|
68
|
+
const fullWidthClass = computed(() => !props.iconOnly && props.fullWidth
|
|
69
|
+
&& buildBooleanClass(baseClass, props.fullWidth, 'full-width'));
|
|
70
|
+
const sizeClass = computed(() => (!props.iconOnly
|
|
71
|
+
? buildClass(baseClass, props.size)
|
|
72
|
+
: `cdr-button--icon-only-${props.size}`));
|
|
73
|
+
const iconLeftClass = computed(() => ctx.slots['icon-left'] && ctx.slots.default
|
|
74
|
+
&& buildClass(baseClass, 'has-icon-left'));
|
|
75
|
+
const iconRightClass = computed(() => ctx.slots['icon-right'] && ctx.slots.default
|
|
76
|
+
&& buildClass(baseClass, 'has-icon-right'));
|
|
77
|
+
const iconOnlyClass = computed(() => props.iconOnly && buildClass(baseClass, 'icon-only'));
|
|
78
|
+
const withBackgroundClass = computed(() => props.iconOnly
|
|
79
|
+
&& props.withBackground && buildClass(baseClass, 'with-background'));
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
style: useCssModule(),
|
|
83
|
+
buttonType: props.tag === 'button' ? props.type : null,
|
|
84
|
+
baseClass,
|
|
85
|
+
modifierClass,
|
|
86
|
+
fullWidthClass,
|
|
87
|
+
sizeClass,
|
|
88
|
+
iconOnlyClass,
|
|
89
|
+
iconLeftClass,
|
|
90
|
+
iconRightClass,
|
|
91
|
+
elevatedClass,
|
|
92
|
+
withBackgroundClass,
|
|
93
|
+
mapClasses,
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
99
|
+
return (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
|
|
100
|
+
class: normalizeClass(_ctx.mapClasses(_ctx.style,
|
|
101
|
+
_ctx.baseClass,
|
|
102
|
+
_ctx.modifierClass,
|
|
103
|
+
_ctx.sizeClass,
|
|
104
|
+
_ctx.fullWidthClass,
|
|
105
|
+
_ctx.iconOnlyClass,
|
|
106
|
+
_ctx.iconLeftClass,
|
|
107
|
+
_ctx.iconRightClass,
|
|
108
|
+
_ctx.elevatedClass,
|
|
109
|
+
_ctx.iconOnlyClass,
|
|
110
|
+
_ctx.withBackgroundClass,
|
|
111
|
+
)),
|
|
112
|
+
type: _ctx.buttonType
|
|
113
|
+
}, {
|
|
114
|
+
default: withCtx(() => [
|
|
115
|
+
renderSlot(_ctx.$slots, "icon-left"),
|
|
116
|
+
renderSlot(_ctx.$slots, "default"),
|
|
117
|
+
renderSlot(_ctx.$slots, "icon-right")
|
|
118
|
+
]),
|
|
119
|
+
_: 3 /* FORWARDED */
|
|
120
|
+
}, 8 /* PROPS */, ["class", "type"]))
|
|
121
|
+
}
|
|
122
|
+
var CdrButton = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render]]);
|
|
123
|
+
|
|
124
|
+
export { CdrButton as default };
|