@consumidor-positivo/aurora 0.11.1 → 1.0.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/dist/{BadgeWhite-DwzVEF3U.js → BadgeWhite-CkZPPGmT.js} +43 -42
- package/dist/BadgeWhite-CkZPPGmT.js.map +1 -0
- package/dist/components/AdBox/index.d.ts +7 -0
- package/dist/components/AdBox/index.es.js +22 -0
- package/dist/components/AdBox/index.es.js.map +1 -0
- package/dist/components/AdBox/styles.css +1 -0
- package/dist/components/Alert/index.d.ts +8 -2
- package/dist/components/Alert/index.es.js +18 -4
- package/dist/components/Alert/index.es.js.map +1 -1
- package/dist/components/Alert/styles.css +1 -1
- package/dist/components/BadgeInfo/index.d.ts +2 -5
- package/dist/components/BadgeInfo/index.es.js +5 -3
- package/dist/components/BadgeInfo/index.es.js.map +1 -1
- package/dist/components/BadgeState/index.d.ts +3 -2
- package/dist/components/BadgeState/index.es.js +10 -3
- package/dist/components/BadgeState/index.es.js.map +1 -1
- package/dist/components/BadgeState/styles.css +1 -1
- package/dist/components/Button/index.d.ts +9 -0
- package/dist/components/Button/index.es.js.map +1 -1
- package/dist/components/Button/styles.css +1 -1
- package/dist/components/Calendar/index.es.js +2 -2
- package/dist/components/CalendarHeader/index.es.js +3 -2
- package/dist/components/CalendarHeader/index.es.js.map +1 -1
- package/dist/components/Card/Container/index.d.ts +2 -1
- package/dist/components/Card/Emphasis/index.d.ts +2 -1
- package/dist/components/Card/Image/index.d.ts +2 -1
- package/dist/components/Card/Root/index.d.ts +2 -1
- package/dist/components/Card/Tag/index.d.ts +2 -1
- package/dist/components/Card/index.es.js +2 -2
- package/dist/components/Card/index.es.js.map +1 -1
- package/dist/components/Carousel/index.es.js +3 -2
- package/dist/components/Carousel/index.es.js.map +1 -1
- package/dist/components/Checkbox/index.es.js +4 -3
- package/dist/components/Checkbox/index.es.js.map +1 -1
- package/dist/components/Chip/index.d.ts +4 -3
- package/dist/components/Chip/index.es.js +13 -5
- package/dist/components/Chip/index.es.js.map +1 -1
- package/dist/components/Chip/styles.css +1 -1
- package/dist/components/ChipBanner/ChipBanner.test.d.ts +1 -0
- package/dist/components/ChipBanner/index.d.ts +12 -0
- package/dist/components/ChipBanner/index.es.js +99 -0
- package/dist/components/ChipBanner/index.es.js.map +1 -0
- package/dist/components/ChipBanner/styles.css +1 -0
- package/dist/components/Container/index.d.ts +2 -1
- package/dist/components/Container/index.es.js +13 -2
- package/dist/components/Container/index.es.js.map +1 -1
- package/dist/components/Datepicker/index.es.js +4 -4
- package/dist/components/Divider/index.d.ts +6 -0
- package/dist/components/Divider/index.es.js +17 -0
- package/dist/components/Divider/index.es.js.map +1 -0
- package/dist/components/Divider/styles.css +1 -0
- package/dist/components/Drawer/index.d.ts +8 -1
- package/dist/components/Drawer/index.es.js +7 -2
- package/dist/components/Drawer/index.es.js.map +1 -1
- package/dist/components/Drawer/styles.css +1 -1
- package/dist/components/Emphasis/index.es.js +3 -2
- package/dist/components/Emphasis/index.es.js.map +1 -1
- package/dist/components/Footer/index.d.ts +1 -1
- package/dist/components/Footer/index.es.js +5 -3
- package/dist/components/Footer/index.es.js.map +1 -1
- package/dist/components/Footer/types.d.ts +1 -0
- package/dist/components/Group/index.es.js +3 -2
- package/dist/components/Group/index.es.js.map +1 -1
- package/dist/components/Header/index.es.js +54 -17
- package/dist/components/Header/index.es.js.map +1 -1
- package/dist/components/Header/parts/HeaderActions.d.ts +2 -1
- package/dist/components/Header/parts/HeaderBadges.d.ts +2 -1
- package/dist/components/Header/parts/HeaderButton.d.ts +2 -1
- package/dist/components/Header/parts/HeaderHamburger.d.ts +2 -1
- package/dist/components/Header/parts/HeaderLogo.d.ts +2 -1
- package/dist/components/Header/parts/HeaderNavbar.d.ts +2 -1
- package/dist/components/Header/parts/HeaderNavigation.d.ts +2 -1
- package/dist/components/Header/parts/HeaderProfile.d.ts +2 -1
- package/dist/components/Header/parts/HeaderWrap.d.ts +2 -1
- package/dist/components/Header/types.d.ts +1 -0
- package/dist/components/Icon/index.es.js +17 -3
- package/dist/components/Icon/index.es.js.map +1 -1
- package/dist/components/Image/index.es.js +1 -1
- package/dist/components/Label/index.es.js +2 -1
- package/dist/components/Label/index.es.js.map +1 -1
- package/dist/components/LazyImage/index.d.ts +2 -1
- package/dist/components/LazyImage/index.es.js +4 -2
- package/dist/components/LazyImage/index.es.js.map +1 -1
- package/dist/components/LazyImage/types.d.ts +1 -0
- package/dist/components/LinkButton/LinkButton.test.d.ts +1 -0
- package/dist/components/LinkButton/index.d.ts +27 -0
- package/dist/components/LinkButton/index.es.js +56 -0
- package/dist/components/LinkButton/index.es.js.map +1 -0
- package/dist/components/LinkButton/styles.css +1 -0
- package/dist/components/Logo/Logo.d.ts +6 -1
- package/dist/components/Logo/ac/BadgeFullWhite.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhite.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhiteStroke.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhiteStrokeDefault.d.ts +2 -1
- package/dist/components/Logo/ac/Badget.d.ts +2 -1
- package/dist/components/Logo/ac/Primary.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryFillWhite.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryFullWhite.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryNegative.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryWhite.d.ts +2 -1
- package/dist/components/Logo/ac/Tertiary.d.ts +2 -1
- package/dist/components/Logo/ac/TertiaryWhite.d.ts +2 -1
- package/dist/components/Logo/cp/BadgeWhiteStroke.d.ts +2 -1
- package/dist/components/Logo/cp/Badget.d.ts +2 -1
- package/dist/components/Logo/cp/Primary.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryFillWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryFullWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryLogoWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryNegative.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryWhite.d.ts +2 -1
- package/dist/components/Logo/index.es.js +1 -1
- package/dist/components/Modal/index.d.ts +4 -1
- package/dist/components/Modal/index.es.js +11 -1
- package/dist/components/Modal/index.es.js.map +1 -1
- package/dist/components/NavbarVertical/index.d.ts +4 -2
- package/dist/components/NavbarVertical/index.es.js +6 -3
- package/dist/components/NavbarVertical/index.es.js.map +1 -1
- package/dist/components/NotificationsBar/index.d.ts +9 -6
- package/dist/components/NotificationsBar/index.es.js +21 -9
- package/dist/components/NotificationsBar/index.es.js.map +1 -1
- package/dist/components/PartnerBanner/PartnerBanner.test.d.ts +1 -0
- package/dist/components/PartnerBanner/index.d.ts +11 -0
- package/dist/components/PartnerBanner/index.es.js +45 -0
- package/dist/components/PartnerBanner/index.es.js.map +1 -0
- package/dist/components/PartnerBanner/styles.css +1 -0
- package/dist/components/PortalHolder/index.es.js +1 -1
- package/dist/components/ProfileNav/index.d.ts +2 -1
- package/dist/components/ProfileNav/index.es.js +6 -2
- package/dist/components/ProfileNav/index.es.js.map +1 -1
- package/dist/components/ProgressBar/index.d.ts +1 -0
- package/dist/components/ProgressBar/index.es.js +3 -1
- package/dist/components/ProgressBar/index.es.js.map +1 -1
- package/dist/components/Prototype/Carousel/index.d.ts +1 -1
- package/dist/components/Prototype/Carousel/types.d.ts +1 -0
- package/dist/components/Pure/index.es.js +3 -2
- package/dist/components/Pure/index.es.js.map +1 -1
- package/dist/components/Segment/index.es.js +2 -1
- package/dist/components/Segment/index.es.js.map +1 -1
- package/dist/components/SelectField/index.es.js +4 -2
- package/dist/components/SelectField/index.es.js.map +1 -1
- package/dist/components/SelectField/styles.css +1 -1
- package/dist/components/Skeleton/Skeleton.stories.d.ts +2 -0
- package/dist/components/Skeleton/index.d.ts +2 -1
- package/dist/components/Skeleton/index.es.js +3 -2
- package/dist/components/Skeleton/index.es.js.map +1 -1
- package/dist/components/SpecialButton/SpecialButton.test.d.ts +1 -0
- package/dist/components/SpecialButton/index.d.ts +38 -0
- package/dist/components/SpecialButton/index.es.js +193 -0
- package/dist/components/SpecialButton/index.es.js.map +1 -0
- package/dist/components/SpecialButton/styles.css +1 -0
- package/dist/components/Spinner/index.d.ts +10 -5
- package/dist/components/Spinner/index.es.js +28 -13
- package/dist/components/Spinner/index.es.js.map +1 -1
- package/dist/components/SubHeader/index.d.ts +2 -1
- package/dist/components/SubHeader/index.es.js +4 -1
- package/dist/components/SubHeader/index.es.js.map +1 -1
- package/dist/components/Switch/Card/types.d.ts +1 -0
- package/dist/components/Switch/Pure/types.d.ts +1 -0
- package/dist/components/Tabs/index.d.ts +4 -4
- package/dist/components/Tabs/index.es.js +81 -83
- package/dist/components/Tabs/index.es.js.map +1 -1
- package/dist/components/Tabs/styles.css +1 -1
- package/dist/components/Tag/index.es.js +10 -87
- package/dist/components/Tag/index.es.js.map +1 -1
- package/dist/components/Text/styles.css +1 -1
- package/dist/components/Text/types.d.ts +1 -1
- package/dist/components/TextareaField/index.es.js.map +1 -1
- package/dist/components/TokenField/index.es.js +3 -2
- package/dist/components/TokenField/index.es.js.map +1 -1
- package/dist/components/Tooltip/index.d.ts +2 -1
- package/dist/components/Tooltip/index.es.js +3 -2
- package/dist/components/Tooltip/index.es.js.map +1 -1
- package/dist/components/Transition/Transition.test.d.ts +1 -0
- package/dist/components/Transition/hooks.d.ts +11 -0
- package/dist/components/Transition/index.d.ts +11 -0
- package/dist/components/Transition/index.es.js +131 -0
- package/dist/components/Transition/index.es.js.map +1 -0
- package/dist/components/Transition/styles.css +1 -0
- package/dist/components/dataTestId.test.d.ts +1 -0
- package/dist/components/default/index.es.js +4 -0
- package/dist/components/default/index.es.js.map +1 -1
- package/dist/components/form/Checkbox/Group/index.d.ts +1 -1
- package/dist/components/form/Checkbox/types.d.ts +1 -0
- package/dist/components/form/Radio/Group/index.d.ts +1 -1
- package/dist/components/form/Radio/types.d.ts +1 -0
- package/dist/components/form/SelectField/index.d.ts +1 -1
- package/dist/components/form/SelectField/types.d.ts +2 -0
- package/dist/components/form/TextareaField/index.d.ts +1 -0
- package/dist/components/form/TokenField/index.d.ts +2 -1
- package/dist/components/icons/Icon.d.ts +1 -0
- package/dist/components/icons/Icon.test/index.es.js +23 -5
- package/dist/components/icons/Icon.test/index.es.js.map +1 -1
- package/dist/components/icons/IconCollapseClose/index.es.js +16 -0
- package/dist/components/icons/IconCollapseClose/index.es.js.map +1 -0
- package/dist/components/icons/IconCollapseOpen/index.es.js +16 -0
- package/dist/components/icons/IconCollapseOpen/index.es.js.map +1 -0
- package/dist/components/icons/default/IconCollapseClose.d.ts +2 -0
- package/dist/components/icons/default/IconCollapseOpen.d.ts +2 -0
- package/dist/components/icons/default/index.d.ts +2 -0
- package/dist/components/icons/index.es.js +4 -0
- package/dist/components/icons/index.es.js.map +1 -1
- package/dist/{index-vsYzka4t.js → index-BgBOcVUP.js} +3 -3
- package/dist/{index-vsYzka4t.js.map → index-BgBOcVUP.js.map} +1 -1
- package/dist/{index-NIxlEyxx.js → index-DHwXRotU.js} +3 -3
- package/dist/{index-NIxlEyxx.js.map → index-DHwXRotU.js.map} +1 -1
- package/dist/{index-BvQw_Wgb.js → index-DnQGzfVW.js} +3 -3
- package/dist/{index-BvQw_Wgb.js.map → index-DnQGzfVW.js.map} +1 -1
- package/dist/main.d.ts +9 -2
- package/dist/main.es.js +80 -68
- package/dist/main.es.js.map +1 -1
- package/dist/{tokens-eEtvWiuX.js → tokens-C4yCunfz.js} +45 -45
- package/dist/{tokens-eEtvWiuX.js.map → tokens-C4yCunfz.js.map} +1 -1
- package/package.json +3 -3
- package/dist/BadgeWhite-DwzVEF3U.js.map +0 -1
- package/dist/components/Tag/index.d.ts +0 -21
- package/dist/components/Tag/styles.css +0 -1
- /package/dist/components/{Tag/Tag.test.d.ts → AdBox/AdBox.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Prototype/Carousel/Scrollbar.tsx","../../../lib/components/Prototype/Carousel/helpers.ts","../../../lib/components/Prototype/Carousel/Pagination.tsx","../../../node_modules/react-snap-carousel/dist/use-snap-carousel.mjs","../../../lib/components/Prototype/Carousel/useCarouselDrag.ts","../../../lib/components/Prototype/Carousel/useCarousel.ts","../../../lib/components/Prototype/Carousel/index.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype ScrollbarProps = {\n pages: number[][];\n pageToEnterIndex: number;\n};\n\nexport const Scrollbar = ({ pageToEnterIndex, pages }: ScrollbarProps) => {\n const scrollTrail = useRef<HTMLDivElement>(null);\n const scrollbar = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!scrollTrail.current || !scrollbar.current) return;\n const trailSize = scrollTrail.current.offsetWidth;\n const barSize = scrollbar.current.offsetWidth;\n const availableScrollSpace = trailSize - barSize;\n\n const currentPercentage = (pageToEnterIndex + 1) / pages.length;\n const scrollDistance = currentPercentage * availableScrollSpace;\n\n const barTranslate = pageToEnterIndex === 0 ? 0 : scrollDistance;\n scrollbar.current.style.transform = `translateX(${barTranslate}px)`;\n }, [pages, pageToEnterIndex]);\n\n return (\n <div className=\"au-carousel__scrollbar\" ref={scrollTrail}>\n <div className=\"au-carousel__scrollbar-scroll\" ref={scrollbar}></div>\n </div>\n );\n};\n","//TODO remove\n\nconst isClient = () =>\n !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n )\n\nexport function isMobile() {\n if (!isClient()) return\n return !!window.matchMedia('screen and (max-width:767px)').matches\n}\n","import { Conditional } from '@components/misc'\nimport { isMobile } from './helpers'\nimport { Text } from '@components/Text'\n\ntype PaginationProps = {\n pages: number[][]\n pageToEnterIndex: number\n mobileText: string\n}\n\nexport const Pagination = ({\n pageToEnterIndex,\n pages,\n mobileText,\n}: PaginationProps) => {\n return (\n <div className=\"au-carousel__pagination\">\n <Text color=\"secondary\" weight=\"regular\">\n <Conditional\n condition={!isMobile()}\n renderIf={'Página'}\n renderElse={mobileText}\n />{' '}\n <b>\n {pageToEnterIndex + 1} de {pages.length}\n </b>\n </Text>\n </div>\n )\n}\n","// src/use-snap-carousel.tsx\nimport { useState, useCallback, useEffect as useEffect2, useMemo } from \"react\";\n\n// src/use-isomorphic-layout-effect.tsx\nimport { useEffect, useLayoutEffect } from \"react\";\nvar useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/use-snap-carousel.tsx\nvar useSnapCarousel = ({\n axis = \"x\",\n initialPages = []\n} = {}) => {\n const dimension = axis === \"x\" ? \"width\" : \"height\";\n const scrollDimension = axis === \"x\" ? \"scrollWidth\" : \"scrollHeight\";\n const clientDimension = axis === \"x\" ? \"clientWidth\" : \"clientHeight\";\n const nearSidePos = axis === \"x\" ? \"left\" : \"top\";\n const farSidePos = axis === \"x\" ? \"right\" : \"bottom\";\n const scrollPos = axis === \"x\" ? \"scrollLeft\" : \"scrollTop\";\n const [scrollEl, setScrollEl] = useState(null);\n const [{ pages, activePageIndex }, setCarouselState] = useState({\n pages: initialPages,\n activePageIndex: 0\n });\n const refreshActivePage = useCallback(\n (pages2) => {\n if (!scrollEl) {\n return;\n }\n const hasScrolledToEnd = Math.floor(scrollEl[scrollDimension] - scrollEl[scrollPos]) <= scrollEl[clientDimension];\n if (hasScrolledToEnd) {\n setCarouselState({ pages: pages2, activePageIndex: pages2.length - 1 });\n return;\n }\n const items = Array.from(scrollEl.children);\n const scrollPort = scrollEl.getBoundingClientRect();\n const offsets = pages2.map((page) => {\n const leadIndex = page[0];\n const leadEl = items[leadIndex];\n assert(leadEl instanceof HTMLElement, \"Expected HTMLElement\");\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n leadEl,\n nearSidePos\n );\n const rect = leadEl.getBoundingClientRect();\n const offset = rect[nearSidePos] - scrollPort[nearSidePos] - scrollSpacing;\n return Math.abs(offset);\n });\n const minOffset = Math.min(...offsets);\n const nextActivePageIndex = offsets.indexOf(minOffset);\n setCarouselState({ pages: pages2, activePageIndex: nextActivePageIndex });\n },\n [scrollEl, clientDimension, nearSidePos, scrollDimension, scrollPos]\n );\n const refresh = useCallback(() => {\n if (!scrollEl) {\n return;\n }\n const items = Array.from(scrollEl.children);\n const scrollPort = scrollEl.getBoundingClientRect();\n let currPageStartPos;\n const pages2 = items.reduce((acc, item, i) => {\n assert(item instanceof HTMLElement, \"Expected HTMLElement\");\n const currPage = acc[acc.length - 1];\n const rect = getOffsetRect(item, item.parentElement);\n if (!currPage || item.dataset.shouldSnap === \"true\" || rect[farSidePos] - currPageStartPos > Math.ceil(scrollPort[dimension])) {\n acc.push([i]);\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n item,\n nearSidePos\n );\n currPageStartPos = rect[nearSidePos] - scrollSpacing;\n } else {\n currPage.push(i);\n }\n return acc;\n }, []);\n refreshActivePage(pages2);\n }, [refreshActivePage, scrollEl, dimension, farSidePos, nearSidePos]);\n useIsomorphicLayoutEffect(() => {\n refresh();\n }, [refresh]);\n useEffect2(() => {\n const handle = () => {\n refresh();\n };\n window.addEventListener(\"resize\", handle);\n window.addEventListener(\"orientationchange\", handle);\n return () => {\n window.removeEventListener(\"resize\", handle);\n window.removeEventListener(\"orientationchange\", handle);\n };\n }, [refresh]);\n useEffect2(() => {\n if (!scrollEl) {\n return;\n }\n const handle = () => {\n refreshActivePage(pages);\n };\n scrollEl.addEventListener(\"scroll\", handle);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handle);\n };\n }, [refreshActivePage, pages, scrollEl]);\n const handleGoTo = (index, opts) => {\n if (!scrollEl) {\n return;\n }\n const page = pages[index];\n if (!page) {\n return;\n }\n const items = Array.from(scrollEl.children);\n const leadIndex = page[0];\n const leadEl = items[leadIndex];\n if (!(leadEl instanceof HTMLElement)) {\n return;\n }\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n leadEl,\n nearSidePos\n );\n const behavior = (opts == null ? void 0 : opts.behavior) || \"smooth\";\n scrollEl.scrollTo({\n behavior,\n [nearSidePos]: getOffsetRect(leadEl, leadEl.parentElement)[nearSidePos] - scrollSpacing\n });\n };\n const handlePrev = (opts) => {\n handleGoTo(activePageIndex - 1, opts);\n };\n const handleNext = (opts) => {\n handleGoTo(activePageIndex + 1, opts);\n };\n const snapPointIndexes = useMemo(\n () => new Set(pages.map((page) => page[0])),\n [pages]\n );\n const hasPrevPage = activePageIndex > 0;\n const hasNextPage = activePageIndex < pages.length - 1;\n return {\n hasPrevPage,\n hasNextPage,\n prev: handlePrev,\n next: handleNext,\n goTo: handleGoTo,\n refresh,\n pages,\n activePageIndex,\n snapPointIndexes,\n scrollRef: setScrollEl\n };\n};\nvar getOffsetRect = (el, relativeTo) => {\n const rect = _getOffsetRect(el);\n if (!relativeTo) {\n return rect;\n }\n const relativeRect = _getOffsetRect(relativeTo);\n return {\n left: rect.left - relativeRect.left,\n top: rect.top - relativeRect.top,\n right: rect.right - relativeRect.left,\n bottom: rect.bottom - relativeRect.top,\n width: rect.width,\n height: rect.height\n };\n};\nvar _getOffsetRect = (el) => {\n const rect = el.getBoundingClientRect();\n let scrollLeft = 0;\n let scrollTop = 0;\n let parentEl = el.parentElement;\n while (parentEl) {\n scrollLeft += parentEl.scrollLeft;\n scrollTop += parentEl.scrollTop;\n parentEl = parentEl.parentElement;\n }\n const left = rect.left + scrollLeft;\n const top = rect.top + scrollTop;\n return {\n left,\n top,\n right: left + rect.width,\n bottom: top + rect.height,\n width: rect.width,\n height: rect.height\n };\n};\nvar getScrollPaddingUsedValue = (el, pos) => {\n const style = window.getComputedStyle(el);\n const scrollPadding = style.getPropertyValue(`scroll-padding-${pos}`) || \"0px\";\n if (scrollPadding === \"auto\") {\n return 0;\n }\n const invalidMsg = `Unsupported scroll padding value, expected <length> or <percentage> value, received ${scrollPadding}`;\n if (scrollPadding.endsWith(\"px\")) {\n const value = parseInt(scrollPadding);\n assert(!Number.isNaN(value), invalidMsg);\n return value;\n }\n if (scrollPadding.endsWith(\"%\")) {\n const value = parseInt(scrollPadding);\n assert(!Number.isNaN(value), invalidMsg);\n return el.clientWidth / 100 * value;\n }\n throw new RSCError(invalidMsg);\n};\nvar getScrollMarginUsedValue = (el, pos) => {\n const style = window.getComputedStyle(el);\n const scrollMargin = style.getPropertyValue(`scroll-margin-${pos}`) || \"0px\";\n const invalidMsg = `Unsupported scroll margin value, expected <length> value, received ${scrollMargin}`;\n assert(scrollMargin.endsWith(\"px\"), invalidMsg);\n const value = parseInt(scrollMargin);\n assert(!Number.isNaN(value), invalidMsg);\n return value;\n};\nvar getEffectiveScrollSpacing = (scrollEl, itemEl, pos) => {\n const scrollPadding = getScrollPaddingUsedValue(scrollEl, pos);\n const scrollMargin = getScrollMarginUsedValue(itemEl, pos);\n const rect = getOffsetRect(itemEl, itemEl.parentElement);\n return Math.min(scrollPadding + scrollMargin, rect[pos]);\n};\nfunction assert(value, message) {\n if (value) {\n return;\n }\n throw new RSCError(message);\n}\nvar RSCError = class extends Error {\n constructor(message) {\n super(`[react-snap-carousel]: ${message}`);\n }\n};\nexport {\n useSnapCarousel\n};\n","import { isMobile } from './helpers'\nimport { useState } from 'react'\n\ntype UseCarouselDragArgs = {\n goPrevious: () => void\n goNext: () => void\n}\n\nexport function useCarouselDrag({ goPrevious, goNext }: UseCarouselDragArgs) {\n const [isPressing, setIsPressing] = useState(false)\n const [dragStartPosition, setDragStartPosition] = useState(0)\n\n function handleStartDrag(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n if (isMobile()) return\n setIsPressing(true)\n document.addEventListener('mouseup', handleRelease)\n setDragStartPosition(e.clientX)\n }\n\n function handleRelease() {\n document.removeEventListener('mouseup', handleRelease)\n setIsPressing(false)\n setDragStartPosition(0)\n }\n\n function handleMouseMove(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n if (isMobile() || (!isMobile() && !isPressing)) return\n\n const currentX = e.clientX\n if (currentX > dragStartPosition) {\n goPrevious()\n } else if (currentX < dragStartPosition) {\n goNext()\n }\n }\n\n return {\n handleMouseMove,\n handleStartDrag,\n }\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { SnapCarouselResult, useSnapCarousel } from 'react-snap-carousel'\nimport { useCarouselDrag } from './useCarouselDrag'\n\ntype UseCarouselArgs = {\n items: unknown[]\n}\n\nexport default function useCarousel({ items }: UseCarouselArgs) {\n const {\n scrollRef,\n pages,\n activePageIndex,\n hasPrevPage,\n hasNextPage,\n prev,\n next,\n snapPointIndexes,\n refresh,\n }: SnapCarouselResult = useSnapCarousel({ axis: 'x' })\n const showControls = snapPointIndexes.size > 1\n const [numberOfItems, setNumberOfItems] = useState(items.length)\n const [nextPage, setNextPage] = useState(0)\n const railRef = useRef<HTMLElement | null>(null)\n const rootRef = useRef<HTMLDivElement | null>(null)\n const { handleMouseMove, handleStartDrag } = useCarouselDrag({\n goNext,\n goPrevious,\n })\n\n useEffect(() => {\n if (items.length !== numberOfItems) {\n refresh()\n setNumberOfItems(items.length)\n }\n }, [items])\n\n function setRef(el: HTMLElement | null) {\n scrollRef(el)\n railRef.current = el\n }\n\n function goNext() {\n const nextIndex = activePageIndex + 1\n setNextPage(nextIndex)\n next()\n }\n\n function goPrevious() {\n setNextPage(activePageIndex === 0 ? activePageIndex : activePageIndex - 1)\n prev()\n }\n\n return {\n rootRef,\n setRef,\n nextPage,\n pages,\n railRef,\n hasPrevPage,\n hasNextPage,\n goPrevious,\n goNext,\n snapPointIndexes,\n activePageIndex,\n handleMouseMove,\n handleStartDrag,\n showControls,\n }\n}\n","/**\n * Carousel Component\n * \n * @requires react-snap-carousel\n * This component requires the 'react-snap-carousel' package to be installed.\n * Install it using: npm install react-snap-carousel\n */\n\nimport classNames from 'classnames'\nimport { Scrollbar } from './Scrollbar'\nimport { Pagination } from './Pagination'\nimport useCarousel from './useCarousel'\nimport { CarouselProps } from './types'\n\nimport { Button } from '@components/Button'\nimport { Conditional } from '@components/misc'\nimport { IconChevronLeft, IconChevronRight } from '@components/icons'\n\nimport './styles.scss'\n\nexport const Carousel = ({\n items,\n type,\n mobileText = '',\n draggable = true,\n}: CarouselProps) => {\n const {\n rootRef,\n setRef,\n snapPointIndexes,\n activePageIndex,\n pages,\n hasPrevPage,\n goPrevious,\n hasNextPage,\n goNext,\n handleStartDrag,\n handleMouseMove,\n showControls,\n } = useCarousel({\n items,\n })\n\n const cl = classNames('au-carousel', { 'au-carousel--draggable': draggable })\n return (\n <div className={cl} ref={rootRef}>\n <ul\n className=\"au-carousel__rail\"\n ref={setRef}\n onMouseDown={draggable ? handleStartDrag : undefined}\n onMouseMove={draggable ? handleMouseMove : undefined}>\n {items.map((item, i) => {\n const key = `au-${item.key || i}`\n return (\n <li\n className={classNames('au-carousel__item', {\n 'au-carousel__item--snap': snapPointIndexes.has(i),\n })}\n data-key={key}\n key={key}>\n {item}\n </li>\n )\n })}\n </ul>\n\n <Conditional\n condition={showControls}\n renderIf={\n <div className=\"au-carousel__actions\">\n {type === 'scrollbar' && (\n <Scrollbar pageToEnterIndex={activePageIndex} pages={pages} />\n )}\n\n {type === 'pages' && (\n <Pagination\n pageToEnterIndex={activePageIndex}\n pages={pages}\n mobileText={mobileText}\n />\n )}\n\n <div\n className={classNames('au-carousel__btns', {\n 'au-carousel__btns--pages': type === 'pages',\n })}>\n <Button\n round\n type=\"outlined\"\n disabled={!hasPrevPage}\n onClick={goPrevious}\n aria-label=\"Anterior\">\n <IconChevronLeft aria-hidden=\"true\" />\n </Button>\n <Button\n round\n type=\"outlined\"\n disabled={!hasNextPage}\n onClick={goNext}\n aria-label=\"Próximo\">\n <IconChevronRight aria-hidden=\"true\" />\n </Button>\n </div>\n </div>\n }\n />\n </div>\n )\n}\n"],"names":["useEffect2"],"mappings":"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","x_google_ignoreList":[3]}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Prototype/Carousel/Scrollbar.tsx","../../../lib/components/Prototype/Carousel/helpers.ts","../../../lib/components/Prototype/Carousel/Pagination.tsx","../../../node_modules/react-snap-carousel/dist/use-snap-carousel.mjs","../../../lib/components/Prototype/Carousel/useCarouselDrag.ts","../../../lib/components/Prototype/Carousel/useCarousel.ts","../../../lib/components/Prototype/Carousel/index.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ntype ScrollbarProps = {\n pages: number[][];\n pageToEnterIndex: number;\n};\n\nexport const Scrollbar = ({ pageToEnterIndex, pages }: ScrollbarProps) => {\n const scrollTrail = useRef<HTMLDivElement>(null);\n const scrollbar = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!scrollTrail.current || !scrollbar.current) return;\n const trailSize = scrollTrail.current.offsetWidth;\n const barSize = scrollbar.current.offsetWidth;\n const availableScrollSpace = trailSize - barSize;\n\n const currentPercentage = (pageToEnterIndex + 1) / pages.length;\n const scrollDistance = currentPercentage * availableScrollSpace;\n\n const barTranslate = pageToEnterIndex === 0 ? 0 : scrollDistance;\n scrollbar.current.style.transform = `translateX(${barTranslate}px)`;\n }, [pages, pageToEnterIndex]);\n\n return (\n <div className=\"au-carousel__scrollbar\" ref={scrollTrail}>\n <div className=\"au-carousel__scrollbar-scroll\" ref={scrollbar}></div>\n </div>\n );\n};\n","//TODO remove\n\nconst isClient = () =>\n !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n )\n\nexport function isMobile() {\n if (!isClient()) return\n return !!window.matchMedia('screen and (max-width:767px)').matches\n}\n","import { Conditional } from '@components/misc'\nimport { isMobile } from './helpers'\nimport { Text } from '@components/Text'\n\ntype PaginationProps = {\n pages: number[][]\n pageToEnterIndex: number\n mobileText: string\n}\n\nexport const Pagination = ({\n pageToEnterIndex,\n pages,\n mobileText,\n}: PaginationProps) => {\n return (\n <div className=\"au-carousel__pagination\">\n <Text color=\"secondary\" weight=\"regular\">\n <Conditional\n condition={!isMobile()}\n renderIf={'Página'}\n renderElse={mobileText}\n />{' '}\n <b>\n {pageToEnterIndex + 1} de {pages.length}\n </b>\n </Text>\n </div>\n )\n}\n","// src/use-snap-carousel.tsx\nimport { useState, useCallback, useEffect as useEffect2, useMemo } from \"react\";\n\n// src/use-isomorphic-layout-effect.tsx\nimport { useEffect, useLayoutEffect } from \"react\";\nvar useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/use-snap-carousel.tsx\nvar useSnapCarousel = ({\n axis = \"x\",\n initialPages = []\n} = {}) => {\n const dimension = axis === \"x\" ? \"width\" : \"height\";\n const scrollDimension = axis === \"x\" ? \"scrollWidth\" : \"scrollHeight\";\n const clientDimension = axis === \"x\" ? \"clientWidth\" : \"clientHeight\";\n const nearSidePos = axis === \"x\" ? \"left\" : \"top\";\n const farSidePos = axis === \"x\" ? \"right\" : \"bottom\";\n const scrollPos = axis === \"x\" ? \"scrollLeft\" : \"scrollTop\";\n const [scrollEl, setScrollEl] = useState(null);\n const [{ pages, activePageIndex }, setCarouselState] = useState({\n pages: initialPages,\n activePageIndex: 0\n });\n const refreshActivePage = useCallback(\n (pages2) => {\n if (!scrollEl) {\n return;\n }\n const hasScrolledToEnd = Math.floor(scrollEl[scrollDimension] - scrollEl[scrollPos]) <= scrollEl[clientDimension];\n if (hasScrolledToEnd) {\n setCarouselState({ pages: pages2, activePageIndex: pages2.length - 1 });\n return;\n }\n const items = Array.from(scrollEl.children);\n const scrollPort = scrollEl.getBoundingClientRect();\n const offsets = pages2.map((page) => {\n const leadIndex = page[0];\n const leadEl = items[leadIndex];\n assert(leadEl instanceof HTMLElement, \"Expected HTMLElement\");\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n leadEl,\n nearSidePos\n );\n const rect = leadEl.getBoundingClientRect();\n const offset = rect[nearSidePos] - scrollPort[nearSidePos] - scrollSpacing;\n return Math.abs(offset);\n });\n const minOffset = Math.min(...offsets);\n const nextActivePageIndex = offsets.indexOf(minOffset);\n setCarouselState({ pages: pages2, activePageIndex: nextActivePageIndex });\n },\n [scrollEl, clientDimension, nearSidePos, scrollDimension, scrollPos]\n );\n const refresh = useCallback(() => {\n if (!scrollEl) {\n return;\n }\n const items = Array.from(scrollEl.children);\n const scrollPort = scrollEl.getBoundingClientRect();\n let currPageStartPos;\n const pages2 = items.reduce((acc, item, i) => {\n assert(item instanceof HTMLElement, \"Expected HTMLElement\");\n const currPage = acc[acc.length - 1];\n const rect = getOffsetRect(item, item.parentElement);\n if (!currPage || item.dataset.shouldSnap === \"true\" || rect[farSidePos] - currPageStartPos > Math.ceil(scrollPort[dimension])) {\n acc.push([i]);\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n item,\n nearSidePos\n );\n currPageStartPos = rect[nearSidePos] - scrollSpacing;\n } else {\n currPage.push(i);\n }\n return acc;\n }, []);\n refreshActivePage(pages2);\n }, [refreshActivePage, scrollEl, dimension, farSidePos, nearSidePos]);\n useIsomorphicLayoutEffect(() => {\n refresh();\n }, [refresh]);\n useEffect2(() => {\n const handle = () => {\n refresh();\n };\n window.addEventListener(\"resize\", handle);\n window.addEventListener(\"orientationchange\", handle);\n return () => {\n window.removeEventListener(\"resize\", handle);\n window.removeEventListener(\"orientationchange\", handle);\n };\n }, [refresh]);\n useEffect2(() => {\n if (!scrollEl) {\n return;\n }\n const handle = () => {\n refreshActivePage(pages);\n };\n scrollEl.addEventListener(\"scroll\", handle);\n return () => {\n scrollEl.removeEventListener(\"scroll\", handle);\n };\n }, [refreshActivePage, pages, scrollEl]);\n const handleGoTo = (index, opts) => {\n if (!scrollEl) {\n return;\n }\n const page = pages[index];\n if (!page) {\n return;\n }\n const items = Array.from(scrollEl.children);\n const leadIndex = page[0];\n const leadEl = items[leadIndex];\n if (!(leadEl instanceof HTMLElement)) {\n return;\n }\n const scrollSpacing = getEffectiveScrollSpacing(\n scrollEl,\n leadEl,\n nearSidePos\n );\n const behavior = (opts == null ? void 0 : opts.behavior) || \"smooth\";\n scrollEl.scrollTo({\n behavior,\n [nearSidePos]: getOffsetRect(leadEl, leadEl.parentElement)[nearSidePos] - scrollSpacing\n });\n };\n const handlePrev = (opts) => {\n handleGoTo(activePageIndex - 1, opts);\n };\n const handleNext = (opts) => {\n handleGoTo(activePageIndex + 1, opts);\n };\n const snapPointIndexes = useMemo(\n () => new Set(pages.map((page) => page[0])),\n [pages]\n );\n const hasPrevPage = activePageIndex > 0;\n const hasNextPage = activePageIndex < pages.length - 1;\n return {\n hasPrevPage,\n hasNextPage,\n prev: handlePrev,\n next: handleNext,\n goTo: handleGoTo,\n refresh,\n pages,\n activePageIndex,\n snapPointIndexes,\n scrollRef: setScrollEl\n };\n};\nvar getOffsetRect = (el, relativeTo) => {\n const rect = _getOffsetRect(el);\n if (!relativeTo) {\n return rect;\n }\n const relativeRect = _getOffsetRect(relativeTo);\n return {\n left: rect.left - relativeRect.left,\n top: rect.top - relativeRect.top,\n right: rect.right - relativeRect.left,\n bottom: rect.bottom - relativeRect.top,\n width: rect.width,\n height: rect.height\n };\n};\nvar _getOffsetRect = (el) => {\n const rect = el.getBoundingClientRect();\n let scrollLeft = 0;\n let scrollTop = 0;\n let parentEl = el.parentElement;\n while (parentEl) {\n scrollLeft += parentEl.scrollLeft;\n scrollTop += parentEl.scrollTop;\n parentEl = parentEl.parentElement;\n }\n const left = rect.left + scrollLeft;\n const top = rect.top + scrollTop;\n return {\n left,\n top,\n right: left + rect.width,\n bottom: top + rect.height,\n width: rect.width,\n height: rect.height\n };\n};\nvar getScrollPaddingUsedValue = (el, pos) => {\n const style = window.getComputedStyle(el);\n const scrollPadding = style.getPropertyValue(`scroll-padding-${pos}`) || \"0px\";\n if (scrollPadding === \"auto\") {\n return 0;\n }\n const invalidMsg = `Unsupported scroll padding value, expected <length> or <percentage> value, received ${scrollPadding}`;\n if (scrollPadding.endsWith(\"px\")) {\n const value = parseInt(scrollPadding);\n assert(!Number.isNaN(value), invalidMsg);\n return value;\n }\n if (scrollPadding.endsWith(\"%\")) {\n const value = parseInt(scrollPadding);\n assert(!Number.isNaN(value), invalidMsg);\n return el.clientWidth / 100 * value;\n }\n throw new RSCError(invalidMsg);\n};\nvar getScrollMarginUsedValue = (el, pos) => {\n const style = window.getComputedStyle(el);\n const scrollMargin = style.getPropertyValue(`scroll-margin-${pos}`) || \"0px\";\n const invalidMsg = `Unsupported scroll margin value, expected <length> value, received ${scrollMargin}`;\n assert(scrollMargin.endsWith(\"px\"), invalidMsg);\n const value = parseInt(scrollMargin);\n assert(!Number.isNaN(value), invalidMsg);\n return value;\n};\nvar getEffectiveScrollSpacing = (scrollEl, itemEl, pos) => {\n const scrollPadding = getScrollPaddingUsedValue(scrollEl, pos);\n const scrollMargin = getScrollMarginUsedValue(itemEl, pos);\n const rect = getOffsetRect(itemEl, itemEl.parentElement);\n return Math.min(scrollPadding + scrollMargin, rect[pos]);\n};\nfunction assert(value, message) {\n if (value) {\n return;\n }\n throw new RSCError(message);\n}\nvar RSCError = class extends Error {\n constructor(message) {\n super(`[react-snap-carousel]: ${message}`);\n }\n};\nexport {\n useSnapCarousel\n};\n","import { isMobile } from './helpers'\nimport { useState } from 'react'\n\ntype UseCarouselDragArgs = {\n goPrevious: () => void\n goNext: () => void\n}\n\nexport function useCarouselDrag({ goPrevious, goNext }: UseCarouselDragArgs) {\n const [isPressing, setIsPressing] = useState(false)\n const [dragStartPosition, setDragStartPosition] = useState(0)\n\n function handleStartDrag(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n if (isMobile()) return\n setIsPressing(true)\n document.addEventListener('mouseup', handleRelease)\n setDragStartPosition(e.clientX)\n }\n\n function handleRelease() {\n document.removeEventListener('mouseup', handleRelease)\n setIsPressing(false)\n setDragStartPosition(0)\n }\n\n function handleMouseMove(e: React.MouseEvent<HTMLUListElement, MouseEvent>) {\n if (isMobile() || (!isMobile() && !isPressing)) return\n\n const currentX = e.clientX\n if (currentX > dragStartPosition) {\n goPrevious()\n } else if (currentX < dragStartPosition) {\n goNext()\n }\n }\n\n return {\n handleMouseMove,\n handleStartDrag,\n }\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { SnapCarouselResult, useSnapCarousel } from 'react-snap-carousel'\nimport { useCarouselDrag } from './useCarouselDrag'\n\ntype UseCarouselArgs = {\n items: unknown[]\n}\n\nexport default function useCarousel({ items }: UseCarouselArgs) {\n const {\n scrollRef,\n pages,\n activePageIndex,\n hasPrevPage,\n hasNextPage,\n prev,\n next,\n snapPointIndexes,\n refresh,\n }: SnapCarouselResult = useSnapCarousel({ axis: 'x' })\n const showControls = snapPointIndexes.size > 1\n const [numberOfItems, setNumberOfItems] = useState(items.length)\n const [nextPage, setNextPage] = useState(0)\n const railRef = useRef<HTMLElement | null>(null)\n const rootRef = useRef<HTMLDivElement | null>(null)\n const { handleMouseMove, handleStartDrag } = useCarouselDrag({\n goNext,\n goPrevious,\n })\n\n useEffect(() => {\n if (items.length !== numberOfItems) {\n refresh()\n setNumberOfItems(items.length)\n }\n }, [items])\n\n function setRef(el: HTMLElement | null) {\n scrollRef(el)\n railRef.current = el\n }\n\n function goNext() {\n const nextIndex = activePageIndex + 1\n setNextPage(nextIndex)\n next()\n }\n\n function goPrevious() {\n setNextPage(activePageIndex === 0 ? activePageIndex : activePageIndex - 1)\n prev()\n }\n\n return {\n rootRef,\n setRef,\n nextPage,\n pages,\n railRef,\n hasPrevPage,\n hasNextPage,\n goPrevious,\n goNext,\n snapPointIndexes,\n activePageIndex,\n handleMouseMove,\n handleStartDrag,\n showControls,\n }\n}\n","/**\n * Carousel Component\n * \n * @requires react-snap-carousel\n * This component requires the 'react-snap-carousel' package to be installed.\n * Install it using: npm install react-snap-carousel\n */\n\nimport classNames from 'classnames'\nimport { Scrollbar } from './Scrollbar'\nimport { Pagination } from './Pagination'\nimport useCarousel from './useCarousel'\nimport { CarouselProps } from './types'\n\nimport { Button } from '@components/Button'\nimport { Conditional } from '@components/misc'\nimport { IconChevronLeft, IconChevronRight } from '@components/icons'\n\nimport './styles.scss'\n\nexport const Carousel = ({\n items,\n type,\n mobileText = '',\n draggable = true,\n 'data-testid': dataTestId,\n}: CarouselProps) => {\n const {\n rootRef,\n setRef,\n snapPointIndexes,\n activePageIndex,\n pages,\n hasPrevPage,\n goPrevious,\n hasNextPage,\n goNext,\n handleStartDrag,\n handleMouseMove,\n showControls,\n } = useCarousel({\n items,\n })\n\n const cl = classNames('au-carousel', { 'au-carousel--draggable': draggable })\n return (\n <div className={cl} ref={rootRef} data-testid={dataTestId}>\n <ul\n className=\"au-carousel__rail\"\n ref={setRef}\n onMouseDown={draggable ? handleStartDrag : undefined}\n onMouseMove={draggable ? handleMouseMove : undefined}>\n {items.map((item, i) => {\n const key = `au-${item.key || i}`\n return (\n <li\n className={classNames('au-carousel__item', {\n 'au-carousel__item--snap': snapPointIndexes.has(i),\n })}\n data-key={key}\n key={key}>\n {item}\n </li>\n )\n })}\n </ul>\n\n <Conditional\n condition={showControls}\n renderIf={\n <div className=\"au-carousel__actions\">\n {type === 'scrollbar' && (\n <Scrollbar pageToEnterIndex={activePageIndex} pages={pages} />\n )}\n\n {type === 'pages' && (\n <Pagination\n pageToEnterIndex={activePageIndex}\n pages={pages}\n mobileText={mobileText}\n />\n )}\n\n <div\n className={classNames('au-carousel__btns', {\n 'au-carousel__btns--pages': type === 'pages',\n })}>\n <Button\n round\n type=\"outlined\"\n disabled={!hasPrevPage}\n onClick={goPrevious}\n aria-label=\"Anterior\">\n <IconChevronLeft aria-hidden=\"true\" />\n </Button>\n <Button\n round\n type=\"outlined\"\n disabled={!hasNextPage}\n onClick={goNext}\n aria-label=\"Próximo\">\n <IconChevronRight aria-hidden=\"true\" />\n </Button>\n </div>\n </div>\n }\n />\n </div>\n )\n}\n"],"names":["useEffect2"],"mappings":"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","x_google_ignoreList":[3]}
|
|
@@ -3,7 +3,7 @@ import $8WNJc$react__default, { useState, useEffect } from "react";
|
|
|
3
3
|
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
4
4
|
import "../Icon/index.es.js";
|
|
5
5
|
import { IconCheck } from "../icons/IconCheck/index.es.js";
|
|
6
|
-
import {
|
|
6
|
+
import { i as COLOR_NEUTRAL_00 } from "../../tokens-C4yCunfz.js";
|
|
7
7
|
import { F as Field } from "../../index-ZE6zszxw.js";
|
|
8
8
|
import { Conditional } from "../Conditional/index.es.js";
|
|
9
9
|
import { Text } from "../Text/index.es.js";
|
|
@@ -95,7 +95,8 @@ const CheckboxGroup = ({
|
|
|
95
95
|
required = false,
|
|
96
96
|
children,
|
|
97
97
|
onChange,
|
|
98
|
-
onFocus
|
|
98
|
+
onFocus,
|
|
99
|
+
"data-testid": dataTestId
|
|
99
100
|
}) => {
|
|
100
101
|
const groupClass = classNames("au-checkbox-group", {
|
|
101
102
|
"au-checkbox-group--horizontal": orientation === "horizontal"
|
|
@@ -118,7 +119,7 @@ const CheckboxGroup = ({
|
|
|
118
119
|
}
|
|
119
120
|
return child;
|
|
120
121
|
});
|
|
121
|
-
return /* @__PURE__ */ jsxs("div", { className: groupClass, children: [
|
|
122
|
+
return /* @__PURE__ */ jsxs("div", { className: groupClass, "data-testid": dataTestId, children: [
|
|
122
123
|
/* @__PURE__ */ jsx(
|
|
123
124
|
Conditional,
|
|
124
125
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/form/Checkbox/Field/index.tsx","../../../lib/components/form/Checkbox/Group/hook.tsx","../../../lib/components/form/Checkbox/Group/index.tsx","../../../lib/components/form/Checkbox/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport classNames from 'classnames'\nimport { IconCheck } from '@components/icons'\nimport { COLOR_NEUTRAL_00 } from '@core/tokens'\nimport Field from '../../Field'\n\nimport { Conditional } from '@components/misc'\n\nimport { CheckboxFieldProps } from '../types'\nimport './styles.scss'\n\nexport const CheckboxField = ({\n label,\n error,\n errorMessage,\n disabled,\n id,\n style,\n ...props\n}: CheckboxFieldProps) => {\n const checkboxClasses = classNames('au-checkbox', {\n 'au-checkbox--error': !!error,\n 'au-checkbox--disabled': !!disabled,\n })\n\n const getSafeId = (id: CheckboxFieldProps['id']) => {\n return id ? id : `au-checkbox-${Math.random()}`\n }\n const [safeId] = useState(getSafeId(id))\n\n return (\n <div className={checkboxClasses} style={style}>\n <label htmlFor={safeId} className=\"au-checkbox__holder\">\n <input\n className=\"au-checkbox__input\"\n type=\"checkbox\"\n id={safeId}\n disabled={disabled}\n {...props}\n />\n <span className=\"au-checkbox__check\">\n <IconCheck rawColor={COLOR_NEUTRAL_00} size=\"small\" />\n </span>\n <Conditional\n condition={typeof label === 'string'}\n renderIf={\n <span\n className=\"au-checkbox__label\"\n dangerouslySetInnerHTML={{ __html: label || '' }}\n />\n }\n renderElse={\n <span className=\"au-checkbox__label\">\n {label}\n </span>\n }\n />\n </label>\n <Field.ErrorMessage hasError={!!error} message={errorMessage} />\n </div>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { CheckboxFieldProps } from '../types'\n\ntype UseCheckboxGroupProps = {\n name?: string\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n}\n\nexport const useCheckboxGroup = ({ onChange, name }: UseCheckboxGroupProps) => {\n const getSafeName = (name?: string): string => {\n return name ? name : `au-checkbox-group-${Math.random()}`\n }\n const [safeName] = useState(getSafeName(name))\n\n const [selectedOptions, setSelectedOptions] = useState([{}])\n\n function handleSelectOption(\n checked: boolean,\n option: CheckboxFieldProps,\n index: number,\n ) {\n setSelectedOptions({\n ...selectedOptions,\n [index]: checked ? option : false,\n })\n }\n\n useEffect(() => {\n const returnResponse = Object.values(selectedOptions).filter(\n (item) => !!item,\n )\n\n if (onChange) {\n const event = {\n target: {\n checked: returnResponse,\n },\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n onChange(event)\n }\n }, [selectedOptions])\n\n return {\n handleSelectOption,\n safeName,\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport './styles.scss'\nimport Field from '@components/form/Field'\nimport { Conditional } from '@components/misc'\nimport { Text } from '@components/Text'\nimport { CheckboxField } from '../Field'\nimport { CheckboxFieldProps, CheckboxGroupProps } from '../types'\nimport { useCheckboxGroup } from './hook'\n\nexport const CheckboxGroup = ({\n name,\n defaultValue,\n orientation = 'vertical',\n label,\n error,\n errorMessage,\n required = false,\n children,\n onChange,\n onFocus,\n}: CheckboxGroupProps) => {\n const groupClass = classNames('au-checkbox-group', {\n 'au-checkbox-group--horizontal': orientation === 'horizontal',\n })\n\n const { handleSelectOption, safeName } = useCheckboxGroup({onChange, name})\n\n const childrenWithProps = React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n const childProps = child.props as CheckboxFieldProps\n\n return (\n <CheckboxField\n name={safeName}\n error={error}\n defaultChecked={defaultValue === childProps.value}\n onChange={(e) =>\n handleSelectOption(e.target.checked, childProps, index)\n }\n onFocus={onFocus}\n {...child.props}\n />\n )\n }\n return child\n })\n\n return (\n <div className={groupClass}>\n <Conditional\n condition={!!label}\n renderIf={\n <Text variant=\"body-small\" weight=\"semibold\" color=\"secondary\">\n {label}{' '}\n {!!required && (\n <span className=\"au-checkbox-group__label--required\">*</span>\n )}\n </Text>\n }\n />\n <div className=\"au-checkbox-group__fields\">{childrenWithProps}</div>\n <Field.ErrorMessage hasError={!!error} message={errorMessage} />\n </div>\n )\n}\n","import { CheckboxField } from './Field'\nimport { CheckboxGroup } from './Group'\nimport { CheckboxFieldProps, CheckboxGroupProps } from './types'\n\ntype Components = {\n Field: React.FC<CheckboxFieldProps>\n Group: React.FC<CheckboxGroupProps>\n}\n\nconst components: Components = {\n Field: CheckboxField,\n Group: CheckboxGroup,\n}\n\nObject.keys(components).forEach((key) => {\n const component = components[key as keyof Components]\n component.displayName = `Checkbox.${key}`\n})\n\nexport { components as Checkbox }\n"],"names":["id","name","React"],"mappings":";;;;;;;;;AAWO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA0B;AACxB,QAAM,kBAAkB,WAAW,eAAe;AAAA,IAChD,sBAAsB,CAAC,CAAC;AAAA,IACxB,yBAAyB,CAAC,CAAC;AAAA,EAAA,CAC5B;AAED,QAAM,YAAY,CAACA,QAAiC;AAClD,WAAOA,MAAKA,MAAK,eAAe,KAAK,QAAQ;AAAA,EAC/C;AACA,QAAM,CAAC,MAAM,IAAI,SAAS,UAAU,EAAE,CAAC;AAEvC,SACE,qBAAC,OAAA,EAAI,WAAW,iBAAiB,OAC/B,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAM,SAAS,QAAQ,WAAU,uBAChC,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,IAAI;AAAA,UACJ;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAEN,oBAAC,QAAA,EAAK,WAAU,sBACd,UAAA,oBAAC,aAAU,UAAU,kBAAkB,MAAK,QAAA,CAAQ,EAAA,CACtD;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,OAAO,UAAU;AAAA,UAC5B,UACE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,yBAAyB,EAAE,QAAQ,SAAS,GAAA;AAAA,YAAG;AAAA,UAAA;AAAA,UAGnD,YACE,oBAAC,QAAA,EAAK,WAAU,sBACb,UAAA,MAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ,GACF;AAAA,IACA,oBAAC,MAAM,cAAN,EAAmB,UAAU,CAAC,CAAC,OAAO,SAAS,aAAA,CAAc;AAAA,EAAA,GAChE;AAEJ;ACrDO,MAAM,mBAAmB,CAAC,EAAE,UAAU,WAAkC;AAC7E,QAAM,cAAc,CAACC,UAA0B;AAC7C,WAAOA,QAAOA,QAAO,qBAAqB,KAAK,QAAQ;AAAA,EACzD;AACA,QAAM,CAAC,QAAQ,IAAI,SAAS,YAAY,IAAI,CAAC;AAE7C,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,CAAC,CAAA,CAAE,CAAC;AAE3D,WAAS,mBACP,SACA,QACA,OACA;AACA,uBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,CAAC,KAAK,GAAG,UAAU,SAAS;AAAA,IAAA,CAC7B;AAAA,EACH;AAEA,YAAU,MAAM;AACd,UAAM,iBAAiB,OAAO,OAAO,eAAe,EAAE;AAAA,MACpD,CAAC,SAAS,CAAC,CAAC;AAAA,IAAA;AAGd,QAAI,UAAU;AACZ,YAAM,QAAQ;AAAA,QACZ,QAAQ;AAAA,UACN,SAAS;AAAA,QAAA;AAAA,MACX;AAGF,eAAS,KAAK;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,eAAe,CAAC;AAEpB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;ACrCO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/form/Checkbox/Field/index.tsx","../../../lib/components/form/Checkbox/Group/hook.tsx","../../../lib/components/form/Checkbox/Group/index.tsx","../../../lib/components/form/Checkbox/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport classNames from 'classnames'\nimport { IconCheck } from '@components/icons'\nimport { COLOR_NEUTRAL_00 } from '@core/tokens'\nimport Field from '../../Field'\n\nimport { Conditional } from '@components/misc'\n\nimport { CheckboxFieldProps } from '../types'\nimport './styles.scss'\n\nexport const CheckboxField = ({\n label,\n error,\n errorMessage,\n disabled,\n id,\n style,\n ...props\n}: CheckboxFieldProps) => {\n const checkboxClasses = classNames('au-checkbox', {\n 'au-checkbox--error': !!error,\n 'au-checkbox--disabled': !!disabled,\n })\n\n const getSafeId = (id: CheckboxFieldProps['id']) => {\n return id ? id : `au-checkbox-${Math.random()}`\n }\n const [safeId] = useState(getSafeId(id))\n\n return (\n <div className={checkboxClasses} style={style}>\n <label htmlFor={safeId} className=\"au-checkbox__holder\">\n <input\n className=\"au-checkbox__input\"\n type=\"checkbox\"\n id={safeId}\n disabled={disabled}\n {...props}\n />\n <span className=\"au-checkbox__check\">\n <IconCheck rawColor={COLOR_NEUTRAL_00} size=\"small\" />\n </span>\n <Conditional\n condition={typeof label === 'string'}\n renderIf={\n <span\n className=\"au-checkbox__label\"\n dangerouslySetInnerHTML={{ __html: label || '' }}\n />\n }\n renderElse={\n <span className=\"au-checkbox__label\">\n {label}\n </span>\n }\n />\n </label>\n <Field.ErrorMessage hasError={!!error} message={errorMessage} />\n </div>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { CheckboxFieldProps } from '../types'\n\ntype UseCheckboxGroupProps = {\n name?: string\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n}\n\nexport const useCheckboxGroup = ({ onChange, name }: UseCheckboxGroupProps) => {\n const getSafeName = (name?: string): string => {\n return name ? name : `au-checkbox-group-${Math.random()}`\n }\n const [safeName] = useState(getSafeName(name))\n\n const [selectedOptions, setSelectedOptions] = useState([{}])\n\n function handleSelectOption(\n checked: boolean,\n option: CheckboxFieldProps,\n index: number,\n ) {\n setSelectedOptions({\n ...selectedOptions,\n [index]: checked ? option : false,\n })\n }\n\n useEffect(() => {\n const returnResponse = Object.values(selectedOptions).filter(\n (item) => !!item,\n )\n\n if (onChange) {\n const event = {\n target: {\n checked: returnResponse,\n },\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n onChange(event)\n }\n }, [selectedOptions])\n\n return {\n handleSelectOption,\n safeName,\n }\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport './styles.scss'\nimport Field from '@components/form/Field'\nimport { Conditional } from '@components/misc'\nimport { Text } from '@components/Text'\nimport { CheckboxField } from '../Field'\nimport { CheckboxFieldProps, CheckboxGroupProps } from '../types'\nimport { useCheckboxGroup } from './hook'\n\nexport const CheckboxGroup = ({\n name,\n defaultValue,\n orientation = 'vertical',\n label,\n error,\n errorMessage,\n required = false,\n children,\n onChange,\n onFocus,\n 'data-testid': dataTestId,\n}: CheckboxGroupProps) => {\n const groupClass = classNames('au-checkbox-group', {\n 'au-checkbox-group--horizontal': orientation === 'horizontal',\n })\n\n const { handleSelectOption, safeName } = useCheckboxGroup({onChange, name})\n\n const childrenWithProps = React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n const childProps = child.props as CheckboxFieldProps\n\n return (\n <CheckboxField\n name={safeName}\n error={error}\n defaultChecked={defaultValue === childProps.value}\n onChange={(e) =>\n handleSelectOption(e.target.checked, childProps, index)\n }\n onFocus={onFocus}\n {...child.props}\n />\n )\n }\n return child\n })\n\n return (\n <div className={groupClass} data-testid={dataTestId}>\n <Conditional\n condition={!!label}\n renderIf={\n <Text variant=\"body-small\" weight=\"semibold\" color=\"secondary\">\n {label}{' '}\n {!!required && (\n <span className=\"au-checkbox-group__label--required\">*</span>\n )}\n </Text>\n }\n />\n <div className=\"au-checkbox-group__fields\">{childrenWithProps}</div>\n <Field.ErrorMessage hasError={!!error} message={errorMessage} />\n </div>\n )\n}\n","import { CheckboxField } from './Field'\nimport { CheckboxGroup } from './Group'\nimport { CheckboxFieldProps, CheckboxGroupProps } from './types'\n\ntype Components = {\n Field: React.FC<CheckboxFieldProps>\n Group: React.FC<CheckboxGroupProps>\n}\n\nconst components: Components = {\n Field: CheckboxField,\n Group: CheckboxGroup,\n}\n\nObject.keys(components).forEach((key) => {\n const component = components[key as keyof Components]\n component.displayName = `Checkbox.${key}`\n})\n\nexport { components as Checkbox }\n"],"names":["id","name","React"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
type ChipProps = {
|
|
1
|
+
export type ChipProps = {
|
|
2
2
|
isActive: boolean;
|
|
3
3
|
isDisabled?: boolean;
|
|
4
4
|
label: string;
|
|
5
5
|
icon?: React.ReactNode;
|
|
6
|
+
variant?: 'filter' | 'order';
|
|
6
7
|
onClick: () => void;
|
|
8
|
+
'data-testid'?: string;
|
|
7
9
|
};
|
|
8
|
-
export declare const Chip: ({ onClick, label, icon, isActive, isDisabled, }: ChipProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
|
10
|
+
export declare const Chip: ({ onClick, label, icon, isActive, isDisabled, variant, "data-testid": dataTestId, }: ChipProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,26 +1,34 @@
|
|
|
1
|
-
import { jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
3
3
|
import { Button } from "../Button/index.es.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import "../Icon/index.es.js";
|
|
6
|
+
import { IconChevronDown } from "../icons/IconChevronDown/index.es.js";
|
|
4
7
|
import './styles.css';const Chip = ({
|
|
5
8
|
onClick,
|
|
6
9
|
label,
|
|
7
10
|
icon,
|
|
8
11
|
isActive,
|
|
9
|
-
isDisabled
|
|
12
|
+
isDisabled,
|
|
13
|
+
variant = "filter",
|
|
14
|
+
"data-testid": dataTestId
|
|
10
15
|
}) => {
|
|
16
|
+
const isOrder = variant === "order";
|
|
11
17
|
return /* @__PURE__ */ jsxs(
|
|
12
18
|
Button,
|
|
13
19
|
{
|
|
14
|
-
className: classNames("au-chip", {
|
|
20
|
+
className: classNames("au-chip", `au-chip--variant-${variant}`, {
|
|
15
21
|
"au-chip--active": isActive,
|
|
16
22
|
"au-chip--disabled": isDisabled
|
|
17
23
|
}),
|
|
18
24
|
type: "outlined",
|
|
19
25
|
disabled: isDisabled,
|
|
20
26
|
onClick,
|
|
27
|
+
"data-testid": dataTestId,
|
|
21
28
|
children: [
|
|
22
|
-
icon,
|
|
23
|
-
label
|
|
29
|
+
!isOrder && icon,
|
|
30
|
+
label,
|
|
31
|
+
isOrder && /* @__PURE__ */ jsx(IconChevronDown, {})
|
|
24
32
|
]
|
|
25
33
|
}
|
|
26
34
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Chip/index.tsx"],"sourcesContent":["import cn from 'classnames'\nimport { Button } from '@components/Button'\n\nimport './styles.scss'\n\
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Chip/index.tsx"],"sourcesContent":["import cn from 'classnames'\nimport { Button } from '@components/Button'\nimport { IconChevronDown } from '@components/icons'\n\nimport './styles.scss'\n\nexport type ChipProps = {\n isActive: boolean\n isDisabled?: boolean\n label: string\n icon?: React.ReactNode\n variant?: 'filter' | 'order'\n onClick: () => void\n 'data-testid'?: string\n}\n\nexport const Chip = ({\n onClick,\n label,\n icon,\n isActive,\n isDisabled,\n variant = 'filter',\n 'data-testid': dataTestId,\n}: ChipProps) => {\n const isOrder = variant === 'order'\n\n return (\n <Button\n className={cn('au-chip', `au-chip--variant-${variant}`, {\n 'au-chip--active': isActive,\n 'au-chip--disabled': isDisabled,\n })}\n type=\"outlined\"\n disabled={isDisabled}\n onClick={onClick}\n data-testid={dataTestId}>\n {!isOrder && icon}\n {label}\n {isOrder && <IconChevronDown />}\n </Button>\n )\n}\n"],"names":["cn"],"mappings":";;;;;;AAgBO,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AACjB,MAAiB;AACf,QAAM,UAAU,YAAY;AAE5B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWA,WAAG,WAAW,oBAAoB,OAAO,IAAI;AAAA,QACtD,mBAAmB;AAAA,QACnB,qBAAqB;AAAA,MAAA,CACtB;AAAA,MACD,MAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA,eAAa;AAAA,MACZ,UAAA;AAAA,QAAA,CAAC,WAAW;AAAA,QACZ;AAAA,QACA,+BAAY,iBAAA,CAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.au-chip{font-size:14px;font-weight:600;padding:8px 16px;height:38px;border-color:#e2e4e9;color:#454a54;transition:all .2s ease;margin-right:8px}.au-chip .au-icon svg,.au-chip svg{color:#454a54}.au-chip:hover{border-color:#5e6573}.au-chip:disabled,.au-chip--disabled,.au-chip:disabled:hover,.au-chip--disabled:hover{background-color:#f6f7fa;color:#5e6573;border-color:#e2e4e9}.au-chip:disabled .au-icon svg,.au-chip:disabled svg,.au-chip--disabled .au-icon svg,.au-chip--disabled svg,.au-chip:disabled:hover .au-icon svg,.au-chip:disabled:hover svg,.au-chip--disabled:hover .au-icon svg,.au-chip--disabled:hover svg{color:#454a54}.au-chip:focus-visible{border:1px solid #
|
|
1
|
+
.au-chip{font-size:14px;font-weight:600;padding:8px 16px;height:38px;border-color:#e2e4e9;color:#454a54;transition:all .2s ease;margin-right:8px}.au-chip .au-icon svg,.au-chip svg{color:#454a54}.au-chip:hover{background-color:transparent;border-color:#5e6573}.au-chip:disabled,.au-chip--disabled,.au-chip:disabled:hover,.au-chip--disabled:hover{background-color:#f6f7fa;color:#5e6573;border-color:#e2e4e9}.au-chip:disabled .au-icon svg,.au-chip:disabled svg,.au-chip--disabled .au-icon svg,.au-chip--disabled svg,.au-chip:disabled:hover .au-icon svg,.au-chip:disabled:hover svg,.au-chip--disabled:hover .au-icon svg,.au-chip--disabled:hover svg{color:#454a54}.au-chip:focus-visible{background-color:transparent;border:1px solid #c4c9d4;outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0048db}.au-chip--variant-order{gap:4px;padding:8px 12px 8px 16px}.au-chip--active{background-color:#fafbff;border-color:#0048db;color:#0048db}.au-chip--active:hover{background-color:#fafbff;color:#1737a4;border-color:#1737a4}.au-chip--active:focus-visible{background-color:#fafbff;border-color:#9abcff}.au-chip--active .au-icon svg,.au-chip--active svg{color:#0048db}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ChipBannerProps = {
|
|
2
|
+
type?: 'play' | 'pause';
|
|
3
|
+
timeInSeconds?: number;
|
|
4
|
+
loop?: boolean;
|
|
5
|
+
onComplete?: () => void;
|
|
6
|
+
negative?: boolean;
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
className?: string;
|
|
10
|
+
'data-testid'?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const ChipBanner: ({ type, timeInSeconds, loop, onComplete, negative, ariaLabel, onClick, className, "data-testid": dataTestId, }: ChipBannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
4
|
+
import { Text } from "../Text/index.es.js";
|
|
5
|
+
import "../Icon/index.es.js";
|
|
6
|
+
import { IconPlay } from "../icons/IconPlay/index.es.js";
|
|
7
|
+
import './styles.css';const pauseIcon = '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M5.99995 2.66653C6.36793 2.66667 6.66622 2.96496 6.66636 3.33294V12.6665C6.66636 13.0346 6.36802 13.3328 5.99995 13.3329C5.63176 13.3329 5.33276 13.0347 5.33276 12.6665V3.33294C5.3329 2.96487 5.63185 2.66653 5.99995 2.66653Z" fill="currentColor"/>\n<path d="M9.99995 2.66653C10.3679 2.66667 10.6662 2.96496 10.6664 3.33294V12.6665C10.6664 13.0346 10.368 13.3328 9.99995 13.3329C9.63176 13.3329 9.33276 13.0347 9.33276 12.6665V3.33294C9.3329 2.96487 9.63185 2.66653 9.99995 2.66653Z" fill="currentColor"/>\n</svg>\n';
|
|
8
|
+
const ChipBanner = ({
|
|
9
|
+
type = "pause",
|
|
10
|
+
timeInSeconds,
|
|
11
|
+
loop = false,
|
|
12
|
+
onComplete,
|
|
13
|
+
negative = false,
|
|
14
|
+
ariaLabel,
|
|
15
|
+
onClick,
|
|
16
|
+
className = "",
|
|
17
|
+
"data-testid": dataTestId
|
|
18
|
+
}) => {
|
|
19
|
+
const [isPlaying, setIsPlaying] = useState(() => type === "pause");
|
|
20
|
+
const [runId, setRunId] = useState(0);
|
|
21
|
+
const label = isPlaying ? "Pausar" : "Reproduzir";
|
|
22
|
+
const defaultAriaLabel = isPlaying ? "Pausar reprodução" : "Reproduzir conteúdo";
|
|
23
|
+
const hasTimer = typeof timeInSeconds === "number" && timeInSeconds > 0;
|
|
24
|
+
const handleClick = () => {
|
|
25
|
+
setIsPlaying((prev) => !prev);
|
|
26
|
+
onClick == null ? void 0 : onClick();
|
|
27
|
+
};
|
|
28
|
+
const handleRingEnd = () => {
|
|
29
|
+
if (loop) return;
|
|
30
|
+
setIsPlaying(false);
|
|
31
|
+
setRunId((prev) => prev + 1);
|
|
32
|
+
onComplete == null ? void 0 : onComplete();
|
|
33
|
+
};
|
|
34
|
+
const classes = classNames("au-chip-banner", {
|
|
35
|
+
"au-chip-banner--negative": negative,
|
|
36
|
+
[className]: !!className
|
|
37
|
+
});
|
|
38
|
+
return /* @__PURE__ */ jsxs(
|
|
39
|
+
"button",
|
|
40
|
+
{
|
|
41
|
+
type: "button",
|
|
42
|
+
className: classes,
|
|
43
|
+
"aria-pressed": isPlaying,
|
|
44
|
+
"aria-label": ariaLabel ?? defaultAriaLabel,
|
|
45
|
+
onClick: handleClick,
|
|
46
|
+
"data-testid": dataTestId,
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsxs("span", { className: "au-chip-banner__icon", "aria-hidden": "true", children: [
|
|
49
|
+
isPlaying ? /* @__PURE__ */ jsx(
|
|
50
|
+
"span",
|
|
51
|
+
{
|
|
52
|
+
className: "au-chip-banner__pause",
|
|
53
|
+
dangerouslySetInnerHTML: { __html: pauseIcon }
|
|
54
|
+
}
|
|
55
|
+
) : /* @__PURE__ */ jsx(IconPlay, {}),
|
|
56
|
+
hasTimer && /* @__PURE__ */ jsx(
|
|
57
|
+
"svg",
|
|
58
|
+
{
|
|
59
|
+
className: "au-chip-banner__ring",
|
|
60
|
+
viewBox: "0 0 24 24",
|
|
61
|
+
"aria-hidden": "true",
|
|
62
|
+
style: { visibility: isPlaying ? "visible" : "hidden" },
|
|
63
|
+
children: /* @__PURE__ */ jsx(
|
|
64
|
+
"circle",
|
|
65
|
+
{
|
|
66
|
+
className: "au-chip-banner__ring-progress",
|
|
67
|
+
cx: "12",
|
|
68
|
+
cy: "12",
|
|
69
|
+
r: "10",
|
|
70
|
+
fill: "none",
|
|
71
|
+
style: {
|
|
72
|
+
animationDuration: `${timeInSeconds}s`,
|
|
73
|
+
animationIterationCount: loop ? "infinite" : 1,
|
|
74
|
+
animationPlayState: isPlaying ? "running" : "paused"
|
|
75
|
+
},
|
|
76
|
+
onAnimationEnd: handleRingEnd
|
|
77
|
+
},
|
|
78
|
+
runId
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] }),
|
|
83
|
+
/* @__PURE__ */ jsx(
|
|
84
|
+
Text,
|
|
85
|
+
{
|
|
86
|
+
as: "span",
|
|
87
|
+
variant: "body-medium",
|
|
88
|
+
className: "au-chip-banner__label",
|
|
89
|
+
children: label
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
export {
|
|
97
|
+
ChipBanner
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/ChipBanner/pause.svg?raw","../../../lib/components/ChipBanner/index.tsx"],"sourcesContent":["export default \"<svg width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<path d=\\\"M5.99995 2.66653C6.36793 2.66667 6.66622 2.96496 6.66636 3.33294V12.6665C6.66636 13.0346 6.36802 13.3328 5.99995 13.3329C5.63176 13.3329 5.33276 13.0347 5.33276 12.6665V3.33294C5.3329 2.96487 5.63185 2.66653 5.99995 2.66653Z\\\" fill=\\\"currentColor\\\"/>\\n<path d=\\\"M9.99995 2.66653C10.3679 2.66667 10.6662 2.96496 10.6664 3.33294V12.6665C10.6664 13.0346 10.368 13.3328 9.99995 13.3329C9.63176 13.3329 9.33276 13.0347 9.33276 12.6665V3.33294C9.3329 2.96487 9.63185 2.66653 9.99995 2.66653Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\"","import { useState } from 'react'\nimport classNames from 'classnames'\nimport { Text } from '@components/Text'\nimport { IconPlay } from '@components/icons'\nimport pauseIcon from './pause.svg?raw'\nimport './styles.scss'\n\nexport type ChipBannerProps = {\n type?: 'play' | 'pause'\n timeInSeconds?: number\n loop?: boolean\n onComplete?: () => void\n negative?: boolean\n ariaLabel?: string\n onClick?: () => void\n className?: string\n 'data-testid'?: string\n}\n\nexport const ChipBanner = ({\n type = 'pause',\n timeInSeconds,\n loop = false,\n onComplete,\n negative = false,\n ariaLabel,\n onClick,\n className = '',\n 'data-testid': dataTestId,\n}: ChipBannerProps) => {\n const [isPlaying, setIsPlaying] = useState(() => type === 'pause')\n // Bumping the key remounts the ring, resetting the sweep to 0. We only do\n // this when a run finishes — pausing/resuming keeps the same instance so it\n // freezes and continues from where it stopped.\n const [runId, setRunId] = useState(0)\n\n const label = isPlaying ? 'Pausar' : 'Reproduzir'\n const defaultAriaLabel = isPlaying\n ? 'Pausar reprodução'\n : 'Reproduzir conteúdo'\n\n const hasTimer = typeof timeInSeconds === 'number' && timeInSeconds > 0\n\n const handleClick = () => {\n setIsPlaying((prev) => !prev)\n onClick?.()\n }\n\n const handleRingEnd = () => {\n if (loop) return\n setIsPlaying(false)\n setRunId((prev) => prev + 1)\n onComplete?.()\n }\n\n const classes = classNames('au-chip-banner', {\n 'au-chip-banner--negative': negative,\n [className]: !!className,\n })\n\n return (\n <button\n type=\"button\"\n className={classes}\n aria-pressed={isPlaying}\n aria-label={ariaLabel ?? defaultAriaLabel}\n onClick={handleClick}\n data-testid={dataTestId}>\n <span className=\"au-chip-banner__icon\" aria-hidden=\"true\">\n {isPlaying ? (\n <span\n className=\"au-chip-banner__pause\"\n dangerouslySetInnerHTML={{ __html: pauseIcon }}\n />\n ) : (\n <IconPlay />\n )}\n {hasTimer && (\n <svg\n className=\"au-chip-banner__ring\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n style={{ visibility: isPlaying ? 'visible' : 'hidden' }}>\n <circle\n key={runId}\n className=\"au-chip-banner__ring-progress\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n fill=\"none\"\n style={{\n animationDuration: `${timeInSeconds}s`,\n animationIterationCount: loop ? 'infinite' : 1,\n animationPlayState: isPlaying ? 'running' : 'paused',\n }}\n onAnimationEnd={handleRingEnd}\n />\n </svg>\n )}\n </span>\n <Text\n as=\"span\"\n variant=\"body-medium\"\n className=\"au-chip-banner__label\">\n {label}\n </Text>\n </button>\n )\n}\n"],"names":[],"mappings":";;;;;;AAAA,MAAA,YAAe;ACmBR,MAAM,aAAa,CAAC;AAAA,EACzB,OAAO;AAAA,EACP;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,eAAe;AACjB,MAAuB;AACrB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,MAAM,SAAS,OAAO;AAIjE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AAEpC,QAAM,QAAQ,YAAY,WAAW;AACrC,QAAM,mBAAmB,YACrB,sBACA;AAEJ,QAAM,WAAW,OAAO,kBAAkB,YAAY,gBAAgB;AAEtE,QAAM,cAAc,MAAM;AACxB,iBAAa,CAAC,SAAS,CAAC,IAAI;AAC5B;AAAA,EACF;AAEA,QAAM,gBAAgB,MAAM;AAC1B,QAAI,KAAM;AACV,iBAAa,KAAK;AAClB,aAAS,CAAC,SAAS,OAAO,CAAC;AAC3B;AAAA,EACF;AAEA,QAAM,UAAU,WAAW,kBAAkB;AAAA,IAC3C,4BAA4B;AAAA,IAC5B,CAAC,SAAS,GAAG,CAAC,CAAC;AAAA,EAAA,CAChB;AAED,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,MACX,gBAAc;AAAA,MACd,cAAY,aAAa;AAAA,MACzB,SAAS;AAAA,MACT,eAAa;AAAA,MACb,UAAA;AAAA,QAAA,qBAAC,QAAA,EAAK,WAAU,wBAAuB,eAAY,QAChD,UAAA;AAAA,UAAA,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,yBAAyB,EAAE,QAAQ,UAAA;AAAA,YAAU;AAAA,UAAA,wBAG9C,UAAA,EAAS;AAAA,UAEX,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,eAAY;AAAA,cACZ,OAAO,EAAE,YAAY,YAAY,YAAY,SAAA;AAAA,cAC7C,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAU;AAAA,kBACV,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,kBACF,MAAK;AAAA,kBACL,OAAO;AAAA,oBACL,mBAAmB,GAAG,aAAa;AAAA,oBACnC,yBAAyB,OAAO,aAAa;AAAA,oBAC7C,oBAAoB,YAAY,YAAY;AAAA,kBAAA;AAAA,kBAE9C,gBAAgB;AAAA,gBAAA;AAAA,gBAXX;AAAA,cAAA;AAAA,YAYP;AAAA,UAAA;AAAA,QACF,GAEJ;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,SAAQ;AAAA,YACR,WAAU;AAAA,YACT,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@keyframes au-chip-banner-fill{0%{stroke-dashoffset:62.832}to{stroke-dashoffset:0}}.au-chip-banner{position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid transparent;border-radius:500px;background-color:transparent;color:#16181d;cursor:pointer;transition:all .2s ease}.au-chip-banner .au-chip-banner__label{margin:0;color:#16181d;white-space:nowrap}.au-chip-banner .au-chip-banner__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.au-chip-banner .au-chip-banner__icon .au-chip-banner__pause{display:inline-flex}.au-chip-banner .au-chip-banner__icon .au-icon svg,.au-chip-banner .au-chip-banner__icon .au-chip-banner__pause svg,.au-chip-banner .au-chip-banner__icon>svg:not(.au-chip-banner__ring){color:#16181d}.au-chip-banner .au-chip-banner__icon .au-icon svg,.au-chip-banner .au-chip-banner__icon>svg:not(.au-chip-banner__ring){width:24px;height:24px}.au-chip-banner .au-chip-banner__icon .au-chip-banner__pause svg{width:16px;height:16px}.au-chip-banner .au-chip-banner__ring{position:absolute;top:0;right:0;bottom:0;left:0;width:24px;height:24px;transform:rotate(-90deg);transform-origin:center;pointer-events:none}.au-chip-banner .au-chip-banner__ring-progress{stroke:#0048db;stroke-width:2;stroke-linecap:round;stroke-dasharray:62.832;stroke-dashoffset:62.832;animation-name:au-chip-banner-fill;animation-timing-function:linear;animation-fill-mode:forwards}.au-chip-banner:before{content:"";position:absolute;top:50%;left:50%;min-width:44px;min-height:44px;width:100%;height:100%;transform:translate(-50%,-50%)}.au-chip-banner:hover{background-color:#f2f5fc;border-color:#0048db}.au-chip-banner:hover .au-chip-banner__icon .au-icon svg,.au-chip-banner:hover .au-chip-banner__icon .au-chip-banner__pause svg,.au-chip-banner:hover .au-chip-banner__icon>svg:not(.au-chip-banner__ring){color:#0048db}.au-chip-banner:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0048db}.au-chip-banner--negative,.au-chip-banner--negative .au-chip-banner__label{color:#fff}.au-chip-banner--negative .au-chip-banner__icon .au-icon svg,.au-chip-banner--negative .au-chip-banner__icon .au-chip-banner__pause svg,.au-chip-banner--negative .au-chip-banner__icon>svg:not(.au-chip-banner__ring){color:#fff}.au-chip-banner--negative .au-chip-banner__ring-progress{stroke:#fff}.au-chip-banner--negative:hover{background-color:#f2f5fc;border-color:#0048db;color:#16181d}.au-chip-banner--negative:hover .au-chip-banner__label{color:#16181d}.au-chip-banner--negative:hover .au-chip-banner__icon .au-icon svg,.au-chip-banner--negative:hover .au-chip-banner__icon .au-chip-banner__pause svg,.au-chip-banner--negative:hover .au-chip-banner__icon>svg:not(.au-chip-banner__ring){color:#0048db}.au-chip-banner--negative:hover .au-chip-banner__ring-progress{stroke:#0048db}@media(prefers-reduced-motion:reduce){.au-chip-banner__ring-progress{animation:none}}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
type ContainerProps = {
|
|
2
2
|
customClass?: string;
|
|
3
3
|
children: React.ReactNode;
|
|
4
|
+
'data-testid'?: string;
|
|
4
5
|
};
|
|
5
|
-
export declare const Container: ({ customClass, children }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const Container: ({ customClass, children, "data-testid": dataTestId, }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export {};
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
3
|
-
import './styles.css';const Container = ({
|
|
4
|
-
|
|
3
|
+
import './styles.css';const Container = ({
|
|
4
|
+
customClass,
|
|
5
|
+
children,
|
|
6
|
+
"data-testid": dataTestId
|
|
7
|
+
}) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: classNames("au-container", { [`${customClass}`]: !!customClass }),
|
|
12
|
+
"data-testid": dataTestId,
|
|
13
|
+
children
|
|
14
|
+
}
|
|
15
|
+
);
|
|
5
16
|
};
|
|
6
17
|
export {
|
|
7
18
|
Container
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Container/index.tsx"],"sourcesContent":["import cn from 'classnames'\n\nimport './styles.scss'\n\ntype ContainerProps = {\n customClass?: string\n children: React.ReactNode\n}\n\nexport const Container = ({
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Container/index.tsx"],"sourcesContent":["import cn from 'classnames'\n\nimport './styles.scss'\n\ntype ContainerProps = {\n customClass?: string\n children: React.ReactNode\n 'data-testid'?: string\n}\n\nexport const Container = ({\n customClass,\n children,\n 'data-testid': dataTestId,\n}: ContainerProps) => {\n return (\n <div\n className={cn('au-container', { [`${customClass}`]: !!customClass })}\n data-testid={dataTestId}>\n {children}\n </div>\n )\n}\n"],"names":["cn"],"mappings":";;AAUO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAsB;AACpB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWA,WAAG,gBAAgB,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,aAAa;AAAA,MACnE,eAAa;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { B as BREAKPOINT_MD, c as COLOR_NEUTRAL_40 } from "../../tokens-
|
|
2
|
+
import { B as BREAKPOINT_MD, c as COLOR_NEUTRAL_40 } from "../../tokens-C4yCunfz.js";
|
|
3
3
|
import "../../index-C6Q03EyZ.js";
|
|
4
|
+
import { useRef, useState, useMemo, useEffect } from "react";
|
|
4
5
|
import "../Icon/index.es.js";
|
|
5
6
|
import { IconCalendar } from "../icons/IconCalendar/index.es.js";
|
|
6
7
|
import { InputField } from "../InputField/index.es.js";
|
|
7
|
-
import { D as DDMMYYYY, g as getDefaultDate, a as DatepickerCalendar, A as AUCalendarDate } from "../../index-
|
|
8
|
-
import { useRef, useState, useMemo, useEffect } from "react";
|
|
8
|
+
import { D as DDMMYYYY, g as getDefaultDate, a as DatepickerCalendar, A as AUCalendarDate } from "../../index-DHwXRotU.js";
|
|
9
9
|
import { a as above } from "../../screen-DfYo7XQ_.js";
|
|
10
|
-
import { u as useOutsideClick } from "../../index-
|
|
10
|
+
import { u as useOutsideClick } from "../../index-DnQGzfVW.js";
|
|
11
11
|
import './styles.css';function useDatepicker({
|
|
12
12
|
value,
|
|
13
13
|
defaultValue = "empty",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
3
|
+
import './styles.css';const Divider = ({
|
|
4
|
+
borderWidth = 1,
|
|
5
|
+
state = "visible",
|
|
6
|
+
"data-testid": dataTestId
|
|
7
|
+
}) => {
|
|
8
|
+
const classes = classNames("au-divider", {
|
|
9
|
+
[`au-divider--width-${borderWidth}`]: !!borderWidth,
|
|
10
|
+
"au-divider--invisible": state === "invisible"
|
|
11
|
+
});
|
|
12
|
+
return /* @__PURE__ */ jsx("hr", { className: classes, "data-testid": dataTestId });
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
Divider
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Divider/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport './styles.scss'\n\nexport type DividerProps = {\n borderWidth?: 1 | 2\n state?: 'visible' | 'invisible'\n 'data-testid'?: string\n}\n\nexport const Divider = ({\n borderWidth = 1,\n state = 'visible',\n 'data-testid': dataTestId,\n}: DividerProps) => {\n const classes = classNames('au-divider', {\n [`au-divider--width-${borderWidth}`]: !!borderWidth,\n 'au-divider--invisible': state === 'invisible',\n })\n\n return <hr className={classes} data-testid={dataTestId} />\n}\n"],"names":[],"mappings":";;AASO,MAAM,UAAU,CAAC;AAAA,EACtB,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,eAAe;AACjB,MAAoB;AAClB,QAAM,UAAU,WAAW,cAAc;AAAA,IACvC,CAAC,qBAAqB,WAAW,EAAE,GAAG,CAAC,CAAC;AAAA,IACxC,yBAAyB,UAAU;AAAA,EAAA,CACpC;AAED,SAAO,oBAAC,MAAA,EAAG,WAAW,SAAS,eAAa,YAAY;AAC1D;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.au-divider{width:100%;margin:0;border:none;border-top-style:solid;border-top-color:#f2f5fc}.au-divider--width-1{border-top-width:1px}.au-divider--width-2{border-top-width:2px}.au-divider--invisible{border-top-color:transparent;display:none}
|
|
@@ -4,6 +4,13 @@ type DrawerProps = {
|
|
|
4
4
|
renderContent: ReactNode | string | JSX.Element | JSX.Element[];
|
|
5
5
|
isOpen: boolean;
|
|
6
6
|
handleOpen: () => void;
|
|
7
|
+
/**
|
|
8
|
+
* Edge the drawer slides in from. 'right' is the classic side sheet;
|
|
9
|
+
* 'bottom' renders the Bottom Sheet surface (Figma: Modal v2, Surface=BottomSheet).
|
|
10
|
+
* @default 'right'
|
|
11
|
+
*/
|
|
12
|
+
position?: 'right' | 'bottom';
|
|
13
|
+
'data-testid'?: string;
|
|
7
14
|
};
|
|
8
|
-
export declare const Drawer: ({ renderHeader, renderContent, isOpen, handleOpen, }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const Drawer: ({ renderHeader, renderContent, isOpen, handleOpen, position, "data-testid": dataTestId, }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
16
|
export {};
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
3
|
+
import "react";
|
|
3
4
|
import "../Icon/index.es.js";
|
|
4
5
|
import { IconX } from "../icons/IconX/index.es.js";
|
|
5
6
|
import './styles.css';const Drawer = ({
|
|
6
7
|
renderHeader,
|
|
7
8
|
renderContent,
|
|
8
9
|
isOpen = false,
|
|
9
|
-
handleOpen
|
|
10
|
+
handleOpen,
|
|
11
|
+
position = "right",
|
|
12
|
+
"data-testid": dataTestId
|
|
10
13
|
}) => {
|
|
11
14
|
return /* @__PURE__ */ jsx(
|
|
12
15
|
"div",
|
|
13
16
|
{
|
|
14
17
|
className: classNames("au-drawer", {
|
|
15
|
-
"au-drawer--is-open": isOpen
|
|
18
|
+
"au-drawer--is-open": isOpen,
|
|
19
|
+
"au-drawer--position-bottom": position === "bottom"
|
|
16
20
|
}),
|
|
17
21
|
role: "dialog",
|
|
18
22
|
"aria-modal": "true",
|
|
23
|
+
"data-testid": dataTestId,
|
|
19
24
|
children: /* @__PURE__ */ jsxs("div", { className: "au-drawer__container", children: [
|
|
20
25
|
/* @__PURE__ */ jsxs("div", { className: "au-drawer__header", children: [
|
|
21
26
|
renderHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Drawer/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\nimport { IconX } from '../icons/default'\nimport './styles.scss'\n\ntype DrawerProps = {\n renderHeader: ReactNode | string | JSX.Element | JSX.Element[]\n renderContent: ReactNode | string | JSX.Element | JSX.Element[]\n isOpen: boolean\n handleOpen: () => void\n}\n\nexport const Drawer = ({\n renderHeader,\n renderContent,\n isOpen = false,\n handleOpen,\n}: DrawerProps) => {\n
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Drawer/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\nimport { IconX } from '../icons/default'\nimport './styles.scss'\n\ntype DrawerProps = {\n renderHeader: ReactNode | string | JSX.Element | JSX.Element[]\n renderContent: ReactNode | string | JSX.Element | JSX.Element[]\n isOpen: boolean\n handleOpen: () => void\n /**\n * Edge the drawer slides in from. 'right' is the classic side sheet;\n * 'bottom' renders the Bottom Sheet surface (Figma: Modal v2, Surface=BottomSheet).\n * @default 'right'\n */\n position?: 'right' | 'bottom'\n 'data-testid'?: string\n}\n\nexport const Drawer = ({\n renderHeader,\n renderContent,\n isOpen = false,\n handleOpen,\n position = 'right',\n 'data-testid': dataTestId,\n}: DrawerProps) => {\n\n return (\n <div\n className={classNames('au-drawer', {\n 'au-drawer--is-open': isOpen,\n 'au-drawer--position-bottom': position === 'bottom',\n })}\n role=\"dialog\"\n aria-modal=\"true\"\n data-testid={dataTestId}>\n <div className=\"au-drawer__container\">\n <div className=\"au-drawer__header\">\n {renderHeader}\n <button className=\"au-drawer__header-close\" onClick={handleOpen} aria-label=\"Fechar\">\n <IconX aria-hidden=\"true\" />\n </button>\n </div>\n <div className=\"au-drawer__content\">{renderContent}</div>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;;;AAmBO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AACjB,MAAmB;AAEjB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,aAAa;AAAA,QACjC,sBAAsB;AAAA,QACtB,8BAA8B,aAAa;AAAA,MAAA,CAC5C;AAAA,MACD,MAAK;AAAA,MACL,cAAW;AAAA,MACX,eAAa;AAAA,MACb,UAAA,qBAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAA;AAAA,UACD,oBAAC,UAAA,EAAO,WAAU,2BAA0B,SAAS,YAAY,cAAW,UAC1E,UAAA,oBAAC,OAAA,EAAM,eAAY,OAAA,CAAO,EAAA,CAC5B;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAA,EAAI,WAAU,sBAAsB,UAAA,cAAA,CAAc;AAAA,MAAA,EAAA,CACrD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.au-drawer{height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:#16181dcc;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .4s ease;z-index:5}.au-drawer--is-open{opacity:1;visibility:visible;pointer-events:all;transition:opacity .3s ease}.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer__container{background-color:#fff;width:100%;height:100vh;height:100dvh;position:fixed;z-index:6;top:0;right:0;transform:translate(100%);transition:transform .3s ease;overflow:hidden}@media(min-width:600px){.au-drawer__container{border-radius:16px 0 0 16px;box-shadow:0 24px 56px #7686ad14,0 12px 12px #0048db0a;max-width:414px}}.au-drawer__header{position:relative;border-bottom:1px solid #e2e4e9;padding:16px 24px;height:80px;display:flex;align-items:center;justify-content:space-between}.au-drawer__header-close{cursor:pointer;background-color:transparent;border:none}.au-drawer__header .au-logo{margin:8px 0;display:block;height:100%}.au-drawer__header .au-logo svg{height:100%}.au-drawer__content{height:calc(100% - 80px);overflow-y:scroll}
|
|
1
|
+
.au-drawer{height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:#16181dcc;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .4s ease;z-index:5}.au-drawer--is-open{opacity:1;visibility:visible;pointer-events:all;transition:opacity .3s ease}.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer__container{background-color:#fff;width:100%;height:100vh;height:100dvh;position:fixed;z-index:6;top:0;right:0;transform:translate(100%);transition:transform .3s ease;overflow:hidden}@media(min-width:600px){.au-drawer__container{border-radius:16px 0 0 16px;box-shadow:0 24px 56px #7686ad14,0 12px 12px #0048db0a;max-width:414px}}.au-drawer__header{position:relative;border-bottom:1px solid #e2e4e9;padding:16px 24px;height:80px;display:flex;align-items:center;justify-content:space-between}.au-drawer__header-close{cursor:pointer;background-color:transparent;border:none}.au-drawer__header .au-logo{margin:8px 0;display:block;height:100%}.au-drawer__header .au-logo svg{height:100%}.au-drawer__content{height:calc(100% - 80px);overflow-y:scroll}.au-drawer--position-bottom .au-drawer__container{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;max-height:90vh;max-height:90dvh;margin:0 auto;transform:translateY(100%);border-radius:16px 16px 0 0}@media(min-width:600px){.au-drawer--position-bottom .au-drawer__container{max-width:480px;border-radius:16px 16px 0 0}}.au-drawer--position-bottom.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer--position-bottom .au-drawer__content{height:auto;max-height:calc(90vh - 80px);max-height:calc(90dvh - 80px);overflow-y:auto}
|
|
@@ -3,13 +3,14 @@ import { Text } from "../Text/index.es.js";
|
|
|
3
3
|
const CardEmphasis = ({
|
|
4
4
|
content,
|
|
5
5
|
height,
|
|
6
|
-
maxHeight
|
|
6
|
+
maxHeight,
|
|
7
|
+
"data-testid": dataTestId
|
|
7
8
|
}) => {
|
|
8
9
|
const emphasisSize = {
|
|
9
10
|
height: `${height}px`,
|
|
10
11
|
maxHeight: `${maxHeight}px`
|
|
11
12
|
};
|
|
12
|
-
return /* @__PURE__ */ jsx("div", { style: emphasisSize, className: "au-card__emphasis", children: content == null ? void 0 : content.map((item, index) => {
|
|
13
|
+
return /* @__PURE__ */ jsx("div", { style: emphasisSize, className: "au-card__emphasis", "data-testid": dataTestId, children: content == null ? void 0 : content.map((item, index) => {
|
|
13
14
|
return /* @__PURE__ */ jsxs("div", { className: "au-card__emphasis-container", children: [
|
|
14
15
|
/* @__PURE__ */ jsx(Text, { variant: "body-small", color: "secondary", children: item.title }),
|
|
15
16
|
/* @__PURE__ */ jsx(Text, { variant: "body-small", weight: "semibold", children: item.description })
|