@rei/cedar 9.1.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +92 -0
- package/dist/cdr-fonts.css +21 -0
- package/dist/cedar-compiled.css +4568 -0
- package/dist/cedar.js +11525 -0
- package/dist/cedar.mjs +9793 -0
- package/dist/lib/assets/cedar-compiled-4bf87549.css +4494 -0
- package/dist/lib/node_modules/@rei/cdr-tokens/dist/js/cdr-tokens.esm.mjs +9 -0
- package/dist/lib/src/components/accordion/CdrAccordion.mjs +206 -0
- package/dist/lib/src/components/accordion/CdrAccordionGroup.mjs +124 -0
- package/dist/lib/src/components/accordion/styles/CdrAccordion.mjs +3 -0
- package/dist/lib/src/components/accordion/styles/CdrAccordionGroup.mjs +3 -0
- package/dist/lib/src/components/banner/CdrBanner.mjs +45 -0
- package/dist/lib/src/components/banner/styles/CdrBanner.mjs +3 -0
- package/dist/lib/src/components/breadcrumb/CdrBreadcrumb.mjs +170 -0
- package/dist/lib/src/components/breadcrumb/styles/CdrBreadcrumb.mjs +3 -0
- package/dist/lib/src/components/button/CdrButton.mjs +128 -0
- package/dist/lib/src/components/button/styles/CdrButton.mjs +3 -0
- package/dist/lib/src/components/caption/CdrCaption.mjs +38 -0
- package/dist/lib/src/components/caption/styles/CdrCaption.mjs +3 -0
- package/dist/lib/src/components/card/CdrCard.mjs +35 -0
- package/dist/lib/src/components/card/styles/CdrCard.mjs +3 -0
- package/dist/lib/src/components/checkbox/CdrCheckbox.mjs +182 -0
- package/dist/lib/src/components/checkbox/styles/CdrCheckbox.mjs +3 -0
- package/dist/lib/src/components/chip/CdrChip.mjs +36 -0
- package/dist/lib/src/components/chip/CdrChipGroup.mjs +108 -0
- package/dist/lib/src/components/chip/styles/CdrChip.mjs +3 -0
- package/dist/lib/src/components/chip/styles/CdrChipGroup.mjs +3 -0
- package/dist/lib/src/components/container/CdrContainer.mjs +51 -0
- package/dist/lib/src/components/container/styles/CdrContainer.mjs +3 -0
- package/dist/lib/src/components/flex-grid/CdrCol.mjs +189 -0
- package/dist/lib/src/components/flex-grid/CdrRow.mjs +231 -0
- package/dist/lib/src/components/flex-grid/styles/CdrCol.mjs +3 -0
- package/dist/lib/src/components/flex-grid/styles/CdrRow.mjs +3 -0
- package/dist/lib/src/components/formError/CdrFormError.mjs +31 -0
- package/dist/lib/src/components/formError/styles/CdrFormError.mjs +3 -0
- package/dist/lib/src/components/formGroup/CdrFormGroup.mjs +95 -0
- package/dist/lib/src/components/formGroup/styles/CdrFormGroup.mjs +3 -0
- package/dist/lib/src/components/grid/CdrGrid.mjs +59 -0
- package/dist/lib/src/components/grid/styles/CdrGrid.mjs +3 -0
- package/dist/lib/src/components/icon/CdrIcon.mjs +76 -0
- package/dist/lib/src/components/icon/comps/account-profile-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/account-profile.mjs +32 -0
- package/dist/lib/src/components/icon/comps/arrow-down.mjs +32 -0
- package/dist/lib/src/components/icon/comps/arrow-left.mjs +32 -0
- package/dist/lib/src/components/icon/comps/arrow-right.mjs +32 -0
- package/dist/lib/src/components/icon/comps/arrow-up.mjs +32 -0
- package/dist/lib/src/components/icon/comps/atv.mjs +32 -0
- package/dist/lib/src/components/icon/comps/bed-outline.mjs +32 -0
- package/dist/lib/src/components/icon/comps/bike-shop.mjs +32 -0
- package/dist/lib/src/components/icon/comps/binoculars.mjs +32 -0
- package/dist/lib/src/components/icon/comps/birding.mjs +32 -0
- package/dist/lib/src/components/icon/comps/boat.mjs +32 -0
- package/dist/lib/src/components/icon/comps/boating.mjs +32 -0
- package/dist/lib/src/components/icon/comps/bookmark-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/bookmark-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-abstract.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-code-sandbox.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-github.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-linkedin.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-rei-ice-axes.mjs +32 -0
- package/dist/lib/src/components/icon/comps/brand-sketch.mjs +32 -0
- package/dist/lib/src/components/icon/comps/buddies.mjs +32 -0
- package/dist/lib/src/components/icon/comps/bus.mjs +32 -0
- package/dist/lib/src/components/icon/comps/calendar.mjs +32 -0
- package/dist/lib/src/components/icon/comps/camera.mjs +32 -0
- package/dist/lib/src/components/icon/comps/canoe.mjs +32 -0
- package/dist/lib/src/components/icon/comps/car.mjs +32 -0
- package/dist/lib/src/components/icon/comps/caret-down.mjs +32 -0
- package/dist/lib/src/components/icon/comps/caret-left.mjs +32 -0
- package/dist/lib/src/components/icon/comps/caret-right.mjs +32 -0
- package/dist/lib/src/components/icon/comps/caret-up.mjs +32 -0
- package/dist/lib/src/components/icon/comps/cart-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/cart.mjs +32 -0
- package/dist/lib/src/components/icon/comps/chain-link.mjs +32 -0
- package/dist/lib/src/components/icon/comps/chat.mjs +32 -0
- package/dist/lib/src/components/icon/comps/check-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/check-lg.mjs +32 -0
- package/dist/lib/src/components/icon/comps/check-sm.mjs +32 -0
- package/dist/lib/src/components/icon/comps/check-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/climb.mjs +32 -0
- package/dist/lib/src/components/icon/comps/clipboard.mjs +32 -0
- package/dist/lib/src/components/icon/comps/clock.mjs +32 -0
- package/dist/lib/src/components/icon/comps/code-html.mjs +32 -0
- package/dist/lib/src/components/icon/comps/code-js.mjs +32 -0
- package/dist/lib/src/components/icon/comps/compass.mjs +32 -0
- package/dist/lib/src/components/icon/comps/copy.mjs +32 -0
- package/dist/lib/src/components/icon/comps/coupon-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/coupon-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/credit-card.mjs +32 -0
- package/dist/lib/src/components/icon/comps/curbside-pickup.mjs +32 -0
- package/dist/lib/src/components/icon/comps/day.mjs +32 -0
- package/dist/lib/src/components/icon/comps/diving.mjs +32 -0
- package/dist/lib/src/components/icon/comps/dog.mjs +32 -0
- package/dist/lib/src/components/icon/comps/download.mjs +32 -0
- package/dist/lib/src/components/icon/comps/edit.mjs +32 -0
- package/dist/lib/src/components/icon/comps/elevation.mjs +32 -0
- package/dist/lib/src/components/icon/comps/error-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/error-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/expand.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-backpacking.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-camping.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-climbing.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-clothing.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-cycling.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-family.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-fitness.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-hiking.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-outdoor-basics.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-paddling.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-rentals.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-snowsports.mjs +32 -0
- package/dist/lib/src/components/icon/comps/experiences-travel.mjs +32 -0
- package/dist/lib/src/components/icon/comps/external-link.mjs +32 -0
- package/dist/lib/src/components/icon/comps/eye-hide.mjs +32 -0
- package/dist/lib/src/components/icon/comps/eye-show.mjs +32 -0
- package/dist/lib/src/components/icon/comps/facebook.mjs +32 -0
- package/dist/lib/src/components/icon/comps/filter-alt.mjs +32 -0
- package/dist/lib/src/components/icon/comps/filter.mjs +32 -0
- package/dist/lib/src/components/icon/comps/find-location.mjs +32 -0
- package/dist/lib/src/components/icon/comps/fire.mjs +32 -0
- package/dist/lib/src/components/icon/comps/fishing.mjs +32 -0
- package/dist/lib/src/components/icon/comps/free-product.mjs +32 -0
- package/dist/lib/src/components/icon/comps/grid-view.mjs +32 -0
- package/dist/lib/src/components/icon/comps/heart-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/heart-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/hike.mjs +32 -0
- package/dist/lib/src/components/icon/comps/history.mjs +32 -0
- package/dist/lib/src/components/icon/comps/home.mjs +32 -0
- package/dist/lib/src/components/icon/comps/horse.mjs +32 -0
- package/dist/lib/src/components/icon/comps/horseshoe.mjs +32 -0
- package/dist/lib/src/components/icon/comps/image.mjs +32 -0
- package/dist/lib/src/components/icon/comps/information-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/information-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/instagram.mjs +32 -0
- package/dist/lib/src/components/icon/comps/kayak.mjs +32 -0
- package/dist/lib/src/components/icon/comps/list-ragged.mjs +32 -0
- package/dist/lib/src/components/icon/comps/list-view.mjs +32 -0
- package/dist/lib/src/components/icon/comps/location-pin-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/location-pin-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/lock-locked-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/lock-locked-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/lock-unlocked-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/mail.mjs +32 -0
- package/dist/lib/src/components/icon/comps/map.mjs +32 -0
- package/dist/lib/src/components/icon/comps/member-card.mjs +32 -0
- package/dist/lib/src/components/icon/comps/microphone.mjs +32 -0
- package/dist/lib/src/components/icon/comps/minus-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/minus-lg.mjs +32 -0
- package/dist/lib/src/components/icon/comps/minus-sm.mjs +32 -0
- package/dist/lib/src/components/icon/comps/minus-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/more-functions.mjs +32 -0
- package/dist/lib/src/components/icon/comps/my-location.mjs +32 -0
- package/dist/lib/src/components/icon/comps/navigation-menu.mjs +32 -0
- package/dist/lib/src/components/icon/comps/night.mjs +32 -0
- package/dist/lib/src/components/icon/comps/paddle.mjs +32 -0
- package/dist/lib/src/components/icon/comps/pause-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/pause-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/pause.mjs +32 -0
- package/dist/lib/src/components/icon/comps/photography.mjs +32 -0
- package/dist/lib/src/components/icon/comps/picnic.mjs +32 -0
- package/dist/lib/src/components/icon/comps/pinterest.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plane.mjs +32 -0
- package/dist/lib/src/components/icon/comps/play-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/play-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/play.mjs +32 -0
- package/dist/lib/src/components/icon/comps/playground.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plugin.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plus-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plus-lg.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plus-sm.mjs +32 -0
- package/dist/lib/src/components/icon/comps/plus-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/print.mjs +32 -0
- package/dist/lib/src/components/icon/comps/protection-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/protection-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/question-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/question-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/refresh.mjs +32 -0
- package/dist/lib/src/components/icon/comps/reload.mjs +32 -0
- package/dist/lib/src/components/icon/comps/returns.mjs +32 -0
- package/dist/lib/src/components/icon/comps/run.mjs +32 -0
- package/dist/lib/src/components/icon/comps/scan-barcode.mjs +32 -0
- package/dist/lib/src/components/icon/comps/search.mjs +32 -0
- package/dist/lib/src/components/icon/comps/service-shop.mjs +32 -0
- package/dist/lib/src/components/icon/comps/shipping.mjs +32 -0
- package/dist/lib/src/components/icon/comps/shopping-bag-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/shopping-bag.mjs +32 -0
- package/dist/lib/src/components/icon/comps/shrink.mjs +32 -0
- package/dist/lib/src/components/icon/comps/size-chart.mjs +32 -0
- package/dist/lib/src/components/icon/comps/ski-boot.mjs +32 -0
- package/dist/lib/src/components/icon/comps/ski.mjs +32 -0
- package/dist/lib/src/components/icon/comps/snow-shop.mjs +32 -0
- package/dist/lib/src/components/icon/comps/snow.mjs +32 -0
- package/dist/lib/src/components/icon/comps/sort.mjs +32 -0
- package/dist/lib/src/components/icon/comps/star-100.mjs +32 -0
- package/dist/lib/src/components/icon/comps/star-25.mjs +32 -0
- package/dist/lib/src/components/icon/comps/star-50.mjs +32 -0
- package/dist/lib/src/components/icon/comps/star-75.mjs +32 -0
- package/dist/lib/src/components/icon/comps/star-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/storefront.mjs +32 -0
- package/dist/lib/src/components/icon/comps/swim.mjs +32 -0
- package/dist/lib/src/components/icon/comps/telephone.mjs +32 -0
- package/dist/lib/src/components/icon/comps/tent.mjs +32 -0
- package/dist/lib/src/components/icon/comps/trash.mjs +32 -0
- package/dist/lib/src/components/icon/comps/twitter.mjs +32 -0
- package/dist/lib/src/components/icon/comps/upload.mjs +32 -0
- package/dist/lib/src/components/icon/comps/verified-purchaser.mjs +32 -0
- package/dist/lib/src/components/icon/comps/virtual-outfitting.mjs +32 -0
- package/dist/lib/src/components/icon/comps/warning-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/warning-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/water.mjs +32 -0
- package/dist/lib/src/components/icon/comps/wilderness.mjs +32 -0
- package/dist/lib/src/components/icon/comps/x-fill.mjs +32 -0
- package/dist/lib/src/components/icon/comps/x-lg.mjs +32 -0
- package/dist/lib/src/components/icon/comps/x-sm.mjs +32 -0
- package/dist/lib/src/components/icon/comps/x-stroke.mjs +32 -0
- package/dist/lib/src/components/icon/comps/youtube.mjs +32 -0
- package/dist/lib/src/components/icon/comps/zoom-in.mjs +32 -0
- package/dist/lib/src/components/icon/comps/zoom-out.mjs +32 -0
- package/dist/lib/src/components/icon/styles/CdrIcon.mjs +3 -0
- package/dist/lib/src/components/image/CdrImg.mjs +151 -0
- package/dist/lib/src/components/image/styles/CdrImg.mjs +3 -0
- package/dist/lib/src/components/input/CdrInput.mjs +296 -0
- package/dist/lib/src/components/input/styles/CdrInput.mjs +3 -0
- package/dist/lib/src/components/labelStandalone/CdrLabelStandalone.mjs +85 -0
- package/dist/lib/src/components/labelStandalone/styles/CdrLabelStandalone.mjs +3 -0
- package/dist/lib/src/components/labelWrapper/CdrLabelWrapper.mjs +56 -0
- package/dist/lib/src/components/labelWrapper/styles/CdrLabelWrapper.mjs +3 -0
- package/dist/lib/src/components/link/CdrLink.mjs +77 -0
- package/dist/lib/src/components/link/styles/CdrLink.mjs +3 -0
- package/dist/lib/src/components/list/CdrList.mjs +44 -0
- package/dist/lib/src/components/list/styles/CdrList.mjs +3 -0
- package/dist/lib/src/components/modal/CdrModal.mjs +377 -0
- package/dist/lib/src/components/modal/onTransitionEnd.mjs +42 -0
- package/dist/lib/src/components/modal/styles/CdrModal.mjs +3 -0
- package/dist/lib/src/components/pagination/CdrPagination.mjs +479 -0
- package/dist/lib/src/components/pagination/styles/CdrPagination.mjs +3 -0
- package/dist/lib/src/components/popover/CdrPopover.mjs +158 -0
- package/dist/lib/src/components/popover/styles/CdrPopover.mjs +3 -0
- package/dist/lib/src/components/popup/CdrPopup.mjs +284 -0
- package/dist/lib/src/components/popup/styles/CdrPopup.mjs +3 -0
- package/dist/lib/src/components/quote/CdrQuote.mjs +68 -0
- package/dist/lib/src/components/quote/styles/CdrQuote.mjs +3 -0
- package/dist/lib/src/components/radio/CdrRadio.mjs +154 -0
- package/dist/lib/src/components/radio/styles/CdrRadio.mjs +3 -0
- package/dist/lib/src/components/rating/CdrRating.mjs +200 -0
- package/dist/lib/src/components/rating/styles/CdrRating.mjs +3 -0
- package/dist/lib/src/components/select/CdrSelect.mjs +285 -0
- package/dist/lib/src/components/select/styles/CdrSelect.mjs +3 -0
- package/dist/lib/src/components/table/CdrTable.mjs +79 -0
- package/dist/lib/src/components/table/styles/CdrTable.mjs +3 -0
- package/dist/lib/src/components/tabs/CdrTabPanel.mjs +107 -0
- package/dist/lib/src/components/tabs/CdrTabs.mjs +385 -0
- package/dist/lib/src/components/tabs/styles/CdrTabPanel.mjs +3 -0
- package/dist/lib/src/components/tabs/styles/CdrTabs.mjs +3 -0
- package/dist/lib/src/components/text/CdrText.mjs +44 -0
- package/dist/lib/src/components/text/styles/CdrText.mjs +3 -0
- package/dist/lib/src/components/tooltip/CdrTooltip.mjs +126 -0
- package/dist/lib/src/components/tooltip/styles/CdrTooltip.mjs +3 -0
- package/dist/lib/src/index.mjs +210 -0
- package/dist/lib/src/mixins/breakpoints.mjs +26 -0
- package/dist/lib/src/mixins/buildClass.mjs +97 -0
- package/dist/lib/src/mixins/fullWidth.mjs +47 -0
- package/dist/lib/src/mixins/modifier.mjs +22 -0
- package/dist/lib/src/mixins/size.mjs +39 -0
- package/dist/lib/src/utils/propValidator.mjs +27 -0
- package/dist/style/cdr-accordion-group.css +1 -0
- package/dist/style/cdr-accordion.css +1 -0
- package/dist/style/cdr-banner-vars.css +0 -0
- package/dist/style/cdr-banner.css +1 -0
- package/dist/style/cdr-breadcrumb.css +1 -0
- package/dist/style/cdr-button.css +1 -0
- package/dist/style/cdr-caption.css +1 -0
- package/dist/style/cdr-card.css +1 -0
- package/dist/style/cdr-checkbox.css +1 -0
- package/dist/style/cdr-chip-group.css +1 -0
- package/dist/style/cdr-chip.css +1 -0
- package/dist/style/cdr-col.css +1 -0
- package/dist/style/cdr-container.css +1 -0
- package/dist/style/cdr-form-error.css +1 -0
- package/dist/style/cdr-form-group.css +1 -0
- package/dist/style/cdr-grid.css +1 -0
- package/dist/style/cdr-icon.css +1 -0
- package/dist/style/cdr-img.css +1 -0
- package/dist/style/cdr-input.css +1 -0
- package/dist/style/cdr-label-standalone.css +1 -0
- package/dist/style/cdr-label-wrapper.css +1 -0
- package/dist/style/cdr-link.css +1 -0
- package/dist/style/cdr-list.css +1 -0
- package/dist/style/cdr-modal.css +1 -0
- package/dist/style/cdr-pagination.css +1 -0
- package/dist/style/cdr-popover.css +1 -0
- package/dist/style/cdr-popup.css +1 -0
- package/dist/style/cdr-quote.css +1 -0
- package/dist/style/cdr-radio.css +1 -0
- package/dist/style/cdr-rating.css +1 -0
- package/dist/style/cdr-row.css +1 -0
- package/dist/style/cdr-select.css +1 -0
- package/dist/style/cdr-tab-panel.css +1 -0
- package/dist/style/cdr-table.css +1 -0
- package/dist/style/cdr-tabs.css +1 -0
- package/dist/style/cdr-text.css +1 -0
- package/dist/style/cdr-tooltip.css +1 -0
- package/dist/style/cedar-full.css +38 -0
- package/dist/style/reset.css +1 -0
- package/dist/svg/icon-error.svg +5 -0
- package/dist/svg/star-0.svg +6 -0
- package/dist/svg/star-100.svg +6 -0
- package/dist/svg/star-25.svg +7 -0
- package/dist/svg/star-50.svg +7 -0
- package/dist/svg/star-75.svg +7 -0
- package/dist/svg/star-null.svg +6 -0
- package/package.json +162 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
|
|
2
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
|
|
3
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
|
|
4
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
5
|
+
import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/slice';
|
|
6
|
+
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
7
|
+
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import IconCaretLeft from '../icon/comps/caret-left.mjs';
|
|
10
|
+
import IconCaretRight from '../icon/comps/caret-right.mjs';
|
|
11
|
+
import CdrSelect from '../select/CdrSelect.mjs';
|
|
12
|
+
import validateProp from '../../utils/propValidator.mjs';
|
|
13
|
+
import modules_951394a1 from './styles/CdrPagination.mjs';
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
18
|
+
var CdrPagination = {
|
|
19
|
+
name: 'CdrPagination',
|
|
20
|
+
components: {
|
|
21
|
+
IconCaretLeft,
|
|
22
|
+
IconCaretRight,
|
|
23
|
+
CdrSelect
|
|
24
|
+
},
|
|
25
|
+
model: {
|
|
26
|
+
prop: 'value',
|
|
27
|
+
event: 'update-pagination'
|
|
28
|
+
},
|
|
29
|
+
props: {
|
|
30
|
+
/**
|
|
31
|
+
* Total number of pages. Sometimes the total number of pages is different than total page data
|
|
32
|
+
* and this prop allows for that.
|
|
33
|
+
*/
|
|
34
|
+
totalPages: {
|
|
35
|
+
type: Number,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Array of objects. Objects have structure of { page: Number, url: String }
|
|
41
|
+
*/
|
|
42
|
+
pages: {
|
|
43
|
+
type: Array,
|
|
44
|
+
required: true,
|
|
45
|
+
validator: function validator(value) {
|
|
46
|
+
var result = value.every(function (obj) {
|
|
47
|
+
if (!Object.prototype.hasOwnProperty.call(obj, 'page') || typeof obj.page !== 'number') {
|
|
48
|
+
console.error('Property "page" is missing or is not a number', obj); // eslint-disable-line
|
|
49
|
+
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!Object.prototype.hasOwnProperty.call(obj, 'url') || typeof obj.url !== 'string') {
|
|
54
|
+
console.error('Property "url" is missing or is not a string', obj); // eslint-disable-line
|
|
55
|
+
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return true;
|
|
60
|
+
});
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
linkTag: {
|
|
65
|
+
type: String,
|
|
66
|
+
default: 'a',
|
|
67
|
+
validator: function validator(value) {
|
|
68
|
+
return validateProp(value, ['a', 'button']);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
forLabel: {
|
|
72
|
+
type: String,
|
|
73
|
+
default: ''
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
/** @ignore used for binding v-model, represents the current page */
|
|
77
|
+
value: {
|
|
78
|
+
type: Number
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
data() {
|
|
83
|
+
return {
|
|
84
|
+
style: modules_951394a1,
|
|
85
|
+
componentID: Math.random().toString(36).substr(2, 9),
|
|
86
|
+
currentIdx: 0
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
computed: {
|
|
91
|
+
// track value internally (for use with select vmodel) and update external value when internal changes
|
|
92
|
+
innerValue: {
|
|
93
|
+
get() {
|
|
94
|
+
return this.value;
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
set(newValue) {
|
|
98
|
+
this.setCurrentIdx(newValue);
|
|
99
|
+
this.$emit('update-pagination', newValue);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
currentUrl() {
|
|
105
|
+
return this.pages[this.currentIdx].url;
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
totalPageData() {
|
|
109
|
+
return this.pages.length;
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
prevPageIdx() {
|
|
113
|
+
return this.currentIdx - 1;
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
nextPageIdx() {
|
|
117
|
+
return this.currentIdx + 1;
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
ariaLabel() {
|
|
121
|
+
return this.forLabel || 'Pagination';
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Creates an array of the pages that should be shown as links with logic for truncation.
|
|
126
|
+
*
|
|
127
|
+
* If total = 20 ([#] indicates current page)
|
|
128
|
+
* [1] 2 3 4 5 ... 20
|
|
129
|
+
* 1 2 3 [4] 5 ... 20
|
|
130
|
+
* 1 ... 4 [5] 6 ... 20
|
|
131
|
+
* 1 ... 15 [16] 17 ... 20
|
|
132
|
+
* 1 ... 16 [17] 18 19 20
|
|
133
|
+
*
|
|
134
|
+
* If total 5 (or anything <= 7)
|
|
135
|
+
* [1] 2 3 4 5
|
|
136
|
+
* 1 2 [3] 4 5
|
|
137
|
+
* 1 2 3 4 [5]
|
|
138
|
+
*
|
|
139
|
+
* Degrades for prev/next only scenario
|
|
140
|
+
* urls = {"4": "url4", "5": "url5", "6": "url6"} (assuming current page is 5)
|
|
141
|
+
* 4 [5] 6
|
|
142
|
+
*/
|
|
143
|
+
paginationData() {
|
|
144
|
+
var total = this.totalPageData;
|
|
145
|
+
var current = this.innerValue;
|
|
146
|
+
var delta = 1;
|
|
147
|
+
var range = [];
|
|
148
|
+
var over5 = true;
|
|
149
|
+
var over5remain = true;
|
|
150
|
+
|
|
151
|
+
if (total <= 7) {
|
|
152
|
+
// all pages
|
|
153
|
+
return this.pages;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (current < 5) {
|
|
157
|
+
var _context;
|
|
158
|
+
|
|
159
|
+
// if first 5 pages
|
|
160
|
+
over5 = false; // [2-5]
|
|
161
|
+
|
|
162
|
+
range = _sliceInstanceProperty(_context = this.pages).call(_context, 1, 5);
|
|
163
|
+
} else if (total - current < 4) {
|
|
164
|
+
var _context2;
|
|
165
|
+
|
|
166
|
+
// if last 5 pages
|
|
167
|
+
over5remain = false;
|
|
168
|
+
range = _sliceInstanceProperty(_context2 = this.pages).call(_context2, -5, -1);
|
|
169
|
+
} else {
|
|
170
|
+
// else in between
|
|
171
|
+
for (var i = Math.max(2, current - delta); i <= Math.min(total - 1, current + delta); i += 1) {
|
|
172
|
+
range.push(this.pages[i - 1]);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (current - delta > 2 && over5) {
|
|
177
|
+
range.unshift('…');
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (current + delta < total - 1 && over5remain) {
|
|
181
|
+
range.push('…');
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
range.unshift(this.pages[0]);
|
|
185
|
+
range.push(this.pages[total - 1]);
|
|
186
|
+
return range;
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
prevElAttrs() {
|
|
190
|
+
var _this = this;
|
|
191
|
+
|
|
192
|
+
var prevPageData = this.pages[this.prevPageIdx];
|
|
193
|
+
return {
|
|
194
|
+
// things that we want to be able to easily bulk bind to scoped slot (for a11y, styling, etc.)
|
|
195
|
+
attrs: {
|
|
196
|
+
class: clsx(this.style['cdr-pagination__link'], this.style['cdr-pagination__prev']),
|
|
197
|
+
'aria-label': 'Go to previous Page',
|
|
198
|
+
ref: "prev-link-".concat(this.componentID)
|
|
199
|
+
},
|
|
200
|
+
// The rest of this is available for binding if needed by user (i.e. optional with vue-router)
|
|
201
|
+
href: prevPageData === undefined ? null : prevPageData.url,
|
|
202
|
+
page: prevPageData === undefined ? null : prevPageData.page,
|
|
203
|
+
content: 'Prev',
|
|
204
|
+
iconClass: this.style['cdr-pagination__caret--prev'],
|
|
205
|
+
iconComponent: 'icon-caret-left',
|
|
206
|
+
iconPath: '#caret-left',
|
|
207
|
+
click: function click(e) {
|
|
208
|
+
return _this.navigate(prevPageData.page, e);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
},
|
|
212
|
+
|
|
213
|
+
prevEl() {
|
|
214
|
+
var h = this.$createElement;
|
|
215
|
+
var LinkTag = this.linkTag;
|
|
216
|
+
return this.innerValue > this.pages[0].page ? h("li", [this.$scopedSlots.prevLink ? this.$scopedSlots.prevLink(this.prevElAttrs) : h(LinkTag, {
|
|
217
|
+
"attrs": _objectSpread(_objectSpread({}, this.prevElAttrs.attrs), {}, {
|
|
218
|
+
"href": LinkTag === 'a' && this.prevElAttrs.href
|
|
219
|
+
}),
|
|
220
|
+
"ref": this.prevElAttrs.attrs.ref,
|
|
221
|
+
"on": {
|
|
222
|
+
"click": this.prevElAttrs.click
|
|
223
|
+
}
|
|
224
|
+
}, [h(this.prevElAttrs.iconComponent, {
|
|
225
|
+
"class": this.prevElAttrs.iconClass
|
|
226
|
+
}), this.prevElAttrs.content])]) : h("li", {
|
|
227
|
+
"attrs": {
|
|
228
|
+
"aria-hidden": "true"
|
|
229
|
+
}
|
|
230
|
+
}, [h("span", {
|
|
231
|
+
"attrs": {
|
|
232
|
+
"aria-disabled": "true"
|
|
233
|
+
},
|
|
234
|
+
"class": [this.prevElAttrs.attrs.class, this.style['cdr-pagination__link--disabled']]
|
|
235
|
+
}, [h(this.prevElAttrs.iconComponent, {
|
|
236
|
+
"class": this.prevElAttrs.iconClass,
|
|
237
|
+
"attrs": {
|
|
238
|
+
"inherit-color": true
|
|
239
|
+
}
|
|
240
|
+
}), this.prevElAttrs.content])]);
|
|
241
|
+
},
|
|
242
|
+
|
|
243
|
+
nextElAttrs() {
|
|
244
|
+
var _this2 = this;
|
|
245
|
+
|
|
246
|
+
var nextPageData = this.pages[this.nextPageIdx];
|
|
247
|
+
return {
|
|
248
|
+
// things that we want to be able to easily bulk bind to scoped slot (for a11y, styling, etc.)
|
|
249
|
+
attrs: {
|
|
250
|
+
class: clsx(this.style['cdr-pagination__link'], this.style['cdr-pagination__next']),
|
|
251
|
+
'aria-label': 'Go to next page',
|
|
252
|
+
ref: "next-link-".concat(this.componentID)
|
|
253
|
+
},
|
|
254
|
+
// The rest of this is available for binding if needed by user (i.e. optional with vue-router)
|
|
255
|
+
href: nextPageData === undefined ? null : nextPageData.url,
|
|
256
|
+
page: nextPageData === undefined ? null : nextPageData.page,
|
|
257
|
+
content: 'Next',
|
|
258
|
+
iconClass: this.style['cdr-pagination__caret--next'],
|
|
259
|
+
iconComponent: 'icon-caret-right',
|
|
260
|
+
iconPath: '#caret-right',
|
|
261
|
+
click: function click(e) {
|
|
262
|
+
return _this2.navigate(nextPageData.page, e);
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
nextEl() {
|
|
268
|
+
var h = this.$createElement;
|
|
269
|
+
var LinkTag = this.linkTag;
|
|
270
|
+
return this.innerValue < this.pages[this.totalPageData - 1].page ? h("li", [this.$scopedSlots.nextLink ? this.$scopedSlots.nextLink(this.nextElAttrs) : h(LinkTag, {
|
|
271
|
+
"attrs": _objectSpread(_objectSpread({}, this.nextElAttrs.attrs), {}, {
|
|
272
|
+
"href": LinkTag === 'a' && this.nextElAttrs.href
|
|
273
|
+
}),
|
|
274
|
+
"ref": this.nextElAttrs.attrs.ref,
|
|
275
|
+
"on": {
|
|
276
|
+
"click": this.nextElAttrs.click
|
|
277
|
+
}
|
|
278
|
+
}, [this.nextElAttrs.content, h(this.nextElAttrs.iconComponent, {
|
|
279
|
+
"class": this.nextElAttrs.iconClass
|
|
280
|
+
})])]) : h("li", {
|
|
281
|
+
"attrs": {
|
|
282
|
+
"aria-hidden": "true"
|
|
283
|
+
}
|
|
284
|
+
}, [h("span", {
|
|
285
|
+
"attrs": {
|
|
286
|
+
"aria-disabled": "true"
|
|
287
|
+
},
|
|
288
|
+
"class": [this.nextElAttrs.attrs.class, this.style['cdr-pagination__link--disabled']]
|
|
289
|
+
}, [this.nextElAttrs.content, h(this.nextElAttrs.iconComponent, {
|
|
290
|
+
"class": this.nextElAttrs.iconClass,
|
|
291
|
+
"attrs": {
|
|
292
|
+
"inherit-color": true
|
|
293
|
+
}
|
|
294
|
+
})])]);
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
desktopEl() {
|
|
298
|
+
var _context3,
|
|
299
|
+
_this3 = this;
|
|
300
|
+
|
|
301
|
+
var h = this.$createElement;
|
|
302
|
+
return _mapInstanceProperty(_context3 = this.paginationData).call(_context3, function (n) {
|
|
303
|
+
var _context4;
|
|
304
|
+
|
|
305
|
+
return h("li", {
|
|
306
|
+
"key": _concatInstanceProperty(_context4 = "".concat(n, "-")).call(_context4, _this3.guid()),
|
|
307
|
+
"class": _this3.style['cdr-pagination__li--links']
|
|
308
|
+
}, [n === '…' && h("span", {
|
|
309
|
+
"class": _this3.style['cdr-pagination__ellipse'],
|
|
310
|
+
"domProps": {
|
|
311
|
+
"innerHTML": n
|
|
312
|
+
}
|
|
313
|
+
}), n !== '…' && _this3.renderLinkEl(n)]);
|
|
314
|
+
});
|
|
315
|
+
},
|
|
316
|
+
|
|
317
|
+
mobileEl() {
|
|
318
|
+
var _this4 = this,
|
|
319
|
+
_context5;
|
|
320
|
+
|
|
321
|
+
var h = this.$createElement;
|
|
322
|
+
return h("li", {
|
|
323
|
+
"class": this.style['cdr-pagination__li--select']
|
|
324
|
+
}, [h("cdr-select", {
|
|
325
|
+
"attrs": {
|
|
326
|
+
"label": "Navigate to page",
|
|
327
|
+
"hide-label": true,
|
|
328
|
+
"id": "select-".concat(this.componentID)
|
|
329
|
+
},
|
|
330
|
+
"on": {
|
|
331
|
+
"change": this.select
|
|
332
|
+
},
|
|
333
|
+
"ref": "select-".concat(this.componentID),
|
|
334
|
+
"model": {
|
|
335
|
+
value: _this4.innerValue,
|
|
336
|
+
callback: function callback($$v) {
|
|
337
|
+
_this4.innerValue = $$v;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}, [_mapInstanceProperty(_context5 = this.paginationData).call(_context5, function (n) {
|
|
341
|
+
var _context6;
|
|
342
|
+
|
|
343
|
+
return n !== '…' && h("option", {
|
|
344
|
+
"key": _concatInstanceProperty(_context6 = "".concat(n, "-")).call(_context6, _this4.guid()),
|
|
345
|
+
"domProps": {
|
|
346
|
+
"value": n.page
|
|
347
|
+
}
|
|
348
|
+
}, ["Page ", n.page, _this4.totalPages === null ? '' : " of ".concat(_this4.totalPages)]);
|
|
349
|
+
})])]);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
},
|
|
353
|
+
watch: {
|
|
354
|
+
pages() {
|
|
355
|
+
this.setCurrentIdx(this.innerValue);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
},
|
|
359
|
+
|
|
360
|
+
beforeMount() {
|
|
361
|
+
this.setCurrentIdx(this.innerValue);
|
|
362
|
+
},
|
|
363
|
+
|
|
364
|
+
methods: {
|
|
365
|
+
setCurrentIdx(page) {
|
|
366
|
+
var _context7;
|
|
367
|
+
|
|
368
|
+
this.currentIdx = _mapInstanceProperty(_context7 = this.pages).call(_context7, function (x) {
|
|
369
|
+
return x.page;
|
|
370
|
+
}).indexOf(page);
|
|
371
|
+
},
|
|
372
|
+
|
|
373
|
+
navigate(pageNum, e) {
|
|
374
|
+
// Dont do anything if clicking the current active page
|
|
375
|
+
if (pageNum === this.innerValue) {
|
|
376
|
+
e.preventDefault();
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
this.innerValue = pageNum;
|
|
381
|
+
this.$emit('navigate', pageNum, this.currentUrl, e);
|
|
382
|
+
this.$nextTick(function () {
|
|
383
|
+
// Done in a nextTick() to ensure rendering complete
|
|
384
|
+
try {
|
|
385
|
+
// Emulate native link click page reloading behaviour by blurring the
|
|
386
|
+
// paginator and returning focus to the document
|
|
387
|
+
var target = e.currentTarget || e.target;
|
|
388
|
+
target.blur();
|
|
389
|
+
} catch (err) {
|
|
390
|
+
// eslint-disable-next-line no-console
|
|
391
|
+
console.error(err);
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
},
|
|
395
|
+
|
|
396
|
+
select(page, e) {
|
|
397
|
+
e.preventDefault();
|
|
398
|
+
|
|
399
|
+
if (this.$scopedSlots.link) {
|
|
400
|
+
var _context8;
|
|
401
|
+
|
|
402
|
+
var ref = this.$scopedSlots.link()[0].context.$refs[_concatInstanceProperty(_context8 = "page-link-".concat(page, "-")).call(_context8, this.componentID)]; // eslint-disable-line max-len
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
if (ref.$el) {
|
|
406
|
+
// it's a component (like vue-router)
|
|
407
|
+
ref.$el.click();
|
|
408
|
+
} else {
|
|
409
|
+
// it's standard markup
|
|
410
|
+
ref.click();
|
|
411
|
+
}
|
|
412
|
+
} else {
|
|
413
|
+
var _context9;
|
|
414
|
+
|
|
415
|
+
this.$refs[_concatInstanceProperty(_context9 = "page-link-".concat(page, "-")).call(_context9, this.componentID)].click();
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
|
|
419
|
+
guid() {
|
|
420
|
+
var _context10, _context11, _context12, _context13, _context14, _context15, _context16;
|
|
421
|
+
|
|
422
|
+
function s4() {
|
|
423
|
+
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
return _concatInstanceProperty(_context10 = _concatInstanceProperty(_context11 = _concatInstanceProperty(_context12 = _concatInstanceProperty(_context13 = _concatInstanceProperty(_context14 = _concatInstanceProperty(_context15 = _concatInstanceProperty(_context16 = "".concat(s4())).call(_context16, s4(), "-")).call(_context15, s4(), "-")).call(_context14, s4(), "-")).call(_context13, s4(), "-")).call(_context12, s4())).call(_context11, s4())).call(_context10, s4());
|
|
427
|
+
},
|
|
428
|
+
|
|
429
|
+
renderLinkEl(n) {
|
|
430
|
+
var _context17,
|
|
431
|
+
_this5 = this;
|
|
432
|
+
|
|
433
|
+
var h = this.$createElement;
|
|
434
|
+
var linkData = {
|
|
435
|
+
// things that we want to be able to easily bulk bind to scoped slot (for a11y, styling, etc.)
|
|
436
|
+
attrs: {
|
|
437
|
+
class: clsx(this.style['cdr-pagination__link'], {
|
|
438
|
+
current: n.page === this.innerValue
|
|
439
|
+
}),
|
|
440
|
+
'aria-label': n.page === this.innerValue ? "Current page, page ".concat(n.page) : "Go to page ".concat(n.page),
|
|
441
|
+
'aria-current': n.page === this.innerValue ? 'page' : null,
|
|
442
|
+
ref: _concatInstanceProperty(_context17 = "page-link-".concat(n.page, "-")).call(_context17, this.componentID)
|
|
443
|
+
},
|
|
444
|
+
// The rest of this is available for binding if needed by user (i.e. optional with vue-router)
|
|
445
|
+
href: n.url,
|
|
446
|
+
click: function click(e) {
|
|
447
|
+
return _this5.navigate(n.page, e);
|
|
448
|
+
},
|
|
449
|
+
page: n.page,
|
|
450
|
+
content: n.page
|
|
451
|
+
};
|
|
452
|
+
var LinkTag = this.linkTag;
|
|
453
|
+
return this.$scopedSlots.link ? this.$scopedSlots.link(linkData) : h(LinkTag, {
|
|
454
|
+
"attrs": _objectSpread(_objectSpread({}, linkData.attrs), {}, {
|
|
455
|
+
"href": LinkTag === 'a' && linkData.href
|
|
456
|
+
}),
|
|
457
|
+
"on": {
|
|
458
|
+
"click": linkData.click
|
|
459
|
+
},
|
|
460
|
+
"ref": linkData.attrs.ref
|
|
461
|
+
}, [linkData.content]);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
},
|
|
465
|
+
|
|
466
|
+
render() {
|
|
467
|
+
var h = arguments[0];
|
|
468
|
+
return h("nav", {
|
|
469
|
+
"attrs": {
|
|
470
|
+
"aria-label": this.ariaLabel
|
|
471
|
+
}
|
|
472
|
+
}, [h("ol", {
|
|
473
|
+
"class": this.style['cdr-pagination']
|
|
474
|
+
}, [this.prevEl, this.desktopEl, this.mobileEl, this.nextEl])]);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
export default CdrPagination;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var modules_951394a1 = {"cdr-pagination":"cdr-pagination_9-1-1-beta-0","cdr-pagination__li--links":"cdr-pagination__li--links_9-1-1-beta-0","cdr-pagination__li--select":"cdr-pagination__li--select_9-1-1-beta-0","cdr-pagination__link":"cdr-pagination__link_9-1-1-beta-0","cdr-pagination__link--disabled":"cdr-pagination__link--disabled_9-1-1-beta-0","cdr-pagination__ellipse":"cdr-pagination__ellipse_9-1-1-beta-0","cdr-pagination__prev":"cdr-pagination__prev_9-1-1-beta-0","cdr-pagination__next":"cdr-pagination__next_9-1-1-beta-0","cdr-pagination__caret--prev":"cdr-pagination__caret--prev_9-1-1-beta-0","cdr-pagination__caret--next":"cdr-pagination__caret--next_9-1-1-beta-0"};
|
|
2
|
+
|
|
3
|
+
export default modules_951394a1;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import tabbable from 'tabbable';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import modules_36d90b1f from './styles/CdrPopover.mjs';
|
|
4
|
+
import validateProp from '../../utils/propValidator.mjs';
|
|
5
|
+
import IconXSm from '../icon/comps/x-sm.mjs';
|
|
6
|
+
import CdrButton from '../button/CdrButton.mjs';
|
|
7
|
+
import CdrPopup from '../popup/CdrPopup.mjs';
|
|
8
|
+
|
|
9
|
+
var CdrPopover = {
|
|
10
|
+
name: 'CdrPopover',
|
|
11
|
+
components: {
|
|
12
|
+
CdrPopup,
|
|
13
|
+
CdrButton,
|
|
14
|
+
IconXSm
|
|
15
|
+
},
|
|
16
|
+
props: {
|
|
17
|
+
position: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: false,
|
|
20
|
+
default: 'top',
|
|
21
|
+
validator: function validator(value) {
|
|
22
|
+
return validateProp(value, ['top', 'bottom', 'left', 'right']);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
autoPosition: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
required: false,
|
|
28
|
+
default: true
|
|
29
|
+
},
|
|
30
|
+
label: {
|
|
31
|
+
type: String,
|
|
32
|
+
required: false
|
|
33
|
+
},
|
|
34
|
+
id: {
|
|
35
|
+
type: String,
|
|
36
|
+
required: true
|
|
37
|
+
},
|
|
38
|
+
contentClass: {
|
|
39
|
+
type: String,
|
|
40
|
+
required: false
|
|
41
|
+
},
|
|
42
|
+
open: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: false,
|
|
45
|
+
required: false
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
data() {
|
|
50
|
+
return {
|
|
51
|
+
style: modules_36d90b1f,
|
|
52
|
+
isOpen: false,
|
|
53
|
+
openHandler: undefined,
|
|
54
|
+
lastActive: undefined
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
watch: {
|
|
59
|
+
open() {
|
|
60
|
+
if (this.open) {
|
|
61
|
+
this.openPopover();
|
|
62
|
+
} else {
|
|
63
|
+
this.closePopover();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
mounted() {
|
|
70
|
+
this.addHandlers();
|
|
71
|
+
var trigger = this.$refs.trigger.children[0];
|
|
72
|
+
|
|
73
|
+
if (trigger) {
|
|
74
|
+
trigger.setAttribute('aria-controls', this.id);
|
|
75
|
+
trigger.setAttribute('aria-haspopup', 'dialog');
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
methods: {
|
|
80
|
+
openPopover(e) {
|
|
81
|
+
var _this = this;
|
|
82
|
+
|
|
83
|
+
var _document = document,
|
|
84
|
+
activeElement = _document.activeElement;
|
|
85
|
+
this.lastActive = activeElement;
|
|
86
|
+
this.isOpen = true;
|
|
87
|
+
this.$emit('opened', e);
|
|
88
|
+
this.$nextTick(function () {
|
|
89
|
+
var tabbables = tabbable(_this.$refs.popup.$el);
|
|
90
|
+
if (tabbables[0]) tabbables[0].focus();
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
closePopover(e) {
|
|
95
|
+
this.isOpen = false;
|
|
96
|
+
this.$emit('closed', e);
|
|
97
|
+
if (this.lastActive) this.lastActive.focus();
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
addHandlers() {
|
|
101
|
+
this.openHandler = this.openPopover.bind(this);
|
|
102
|
+
var triggerElement = this.$refs.trigger.children[0];
|
|
103
|
+
|
|
104
|
+
if (triggerElement) {
|
|
105
|
+
triggerElement.addEventListener('click', this.openHandler);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
render() {
|
|
112
|
+
var h = arguments[0];
|
|
113
|
+
return h("div", {
|
|
114
|
+
"class": clsx(this.style['cdr-popover--wrapper'], this.$slots.trigger ? this.style['cdr-popover--position'] : '')
|
|
115
|
+
}, [h("div", {
|
|
116
|
+
"ref": "trigger"
|
|
117
|
+
}, [this.$slots.trigger]), h("cdr-popup", {
|
|
118
|
+
"class": this.style['cdr-popover'],
|
|
119
|
+
"attrs": {
|
|
120
|
+
"role": "dialog",
|
|
121
|
+
"position": this.position,
|
|
122
|
+
"autoPosition": this.autoPosition,
|
|
123
|
+
"opened": this.isOpen,
|
|
124
|
+
"aria-expanded": "".concat(this.isOpen),
|
|
125
|
+
"id": this.id,
|
|
126
|
+
"contentClass": this.contentClass
|
|
127
|
+
},
|
|
128
|
+
"ref": "popup",
|
|
129
|
+
"on": {
|
|
130
|
+
"closed": this.closePopover
|
|
131
|
+
}
|
|
132
|
+
}, [h("div", {
|
|
133
|
+
"class": this.style['cdr-popover__container']
|
|
134
|
+
}, [h("div", {
|
|
135
|
+
"class": this.style['cdr-popover__content']
|
|
136
|
+
}, [(this.$slots.title || this.label) && h("div", {
|
|
137
|
+
"class": this.style['cdr-popover__title']
|
|
138
|
+
}, [this.$slots.title, !this.$slots.title && this.label && h("span", [this.label])]), this.$slots.default]), h("cdr-button", {
|
|
139
|
+
"class": this.style['cdr-popover__close-button'],
|
|
140
|
+
"attrs": {
|
|
141
|
+
"icon-only": true,
|
|
142
|
+
"aria-label": "Close",
|
|
143
|
+
"size": "small"
|
|
144
|
+
},
|
|
145
|
+
"on": {
|
|
146
|
+
"click": this.closePopover
|
|
147
|
+
}
|
|
148
|
+
}, [h("icon-x-sm", {
|
|
149
|
+
"slot": "icon",
|
|
150
|
+
"attrs": {
|
|
151
|
+
"inherit-color": true
|
|
152
|
+
}
|
|
153
|
+
})])])])]);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export default CdrPopover;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var modules_36d90b1f = {"cdr-popover--position":"cdr-popover--position_9-1-1-beta-0","cdr-popover--wrapper":"cdr-popover--wrapper_9-1-1-beta-0","cdr-popup--closed":"cdr-popup--closed_9-1-1-beta-0","cdr-popover__title":"cdr-popover__title_9-1-1-beta-0","cdr-popover__container":"cdr-popover__container_9-1-1-beta-0","cdr-popover__content":"cdr-popover__content_9-1-1-beta-0","cdr-popover__close-button":"cdr-popover__close-button_9-1-1-beta-0"};
|
|
2
|
+
|
|
3
|
+
export default modules_36d90b1f;
|