@purpur/library 9.4.3 → 9.6.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/CHANGELOG.json +27 -0
- package/CHANGELOG.md +16 -1
- package/dist/LICENSE.txt +23 -2
- package/dist/avatar-CYnD57o4.js +2 -0
- package/dist/avatar-CYnD57o4.js.map +1 -0
- package/dist/avatar-CzbDD1MK.mjs +27 -0
- package/dist/avatar-CzbDD1MK.mjs.map +1 -0
- package/dist/avatar.cjs.js +2 -0
- package/dist/avatar.cjs.js.map +1 -0
- package/dist/avatar.es.js +5 -0
- package/dist/avatar.es.js.map +1 -0
- package/dist/color-dot-BEE5rKco.js +2 -0
- package/dist/color-dot-BEE5rKco.js.map +1 -0
- package/dist/color-dot-Dz9yzVX3.mjs +28 -0
- package/dist/color-dot-Dz9yzVX3.mjs.map +1 -0
- package/dist/color-dot.cjs.js +1 -1
- package/dist/color-dot.es.js +4 -3
- package/dist/comparison-table-CZMKl1TX.mjs +292 -0
- package/dist/comparison-table-CZMKl1TX.mjs.map +1 -0
- package/dist/comparison-table-Nhp5W6Yc.js +2 -0
- package/dist/comparison-table-Nhp5W6Yc.js.map +1 -0
- package/dist/comparison-table.cjs.js +1 -1
- package/dist/comparison-table.es.js +1 -1
- package/dist/components/avatar/src/avatar-constants.d.ts +2 -0
- package/dist/components/avatar/src/avatar-constants.d.ts.map +1 -0
- package/dist/components/avatar/src/avatar.d.ts +26 -0
- package/dist/components/avatar/src/avatar.d.ts.map +1 -0
- package/dist/components/color-dot/src/color-dot.d.ts +18 -8
- package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
- package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts.map +1 -1
- package/dist/components/loading/src/loading-dots.d.ts +19 -0
- package/dist/components/loading/src/loading-dots.d.ts.map +1 -0
- package/dist/components/loading/src/loading-text.d.ts +21 -0
- package/dist/components/loading/src/loading-text.d.ts.map +1 -0
- package/dist/components/loading/src/loading.d.ts +10 -0
- package/dist/components/loading/src/loading.d.ts.map +1 -0
- package/dist/components/message/src/message-bubble.d.ts +22 -0
- package/dist/components/message/src/message-bubble.d.ts.map +1 -0
- package/dist/components/message/src/message-stamp.d.ts +26 -0
- package/dist/components/message/src/message-stamp.d.ts.map +1 -0
- package/dist/components/message/src/message-utils.d.ts +3 -0
- package/dist/components/message/src/message-utils.d.ts.map +1 -0
- package/dist/components/message/src/message.d.ts +42 -0
- package/dist/components/message/src/message.d.ts.map +1 -0
- package/dist/components-metadata.js +33 -2
- package/dist/libraries/library/src/avatar.d.ts +6 -0
- package/dist/libraries/library/src/avatar.d.ts.map +1 -0
- package/dist/libraries/library/src/library.d.ts +3 -0
- package/dist/libraries/library/src/library.d.ts.map +1 -1
- package/dist/libraries/library/src/loading.d.ts +6 -0
- package/dist/libraries/library/src/loading.d.ts.map +1 -0
- package/dist/libraries/library/src/message.d.ts +6 -0
- package/dist/libraries/library/src/message.d.ts.map +1 -0
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +632 -625
- package/dist/library.es.js.map +1 -1
- package/dist/loading-Dwtkjstg.js +2 -0
- package/dist/loading-Dwtkjstg.js.map +1 -0
- package/dist/loading-r23nxJSz.mjs +107 -0
- package/dist/loading-r23nxJSz.mjs.map +1 -0
- package/dist/loading.cjs.js +2 -0
- package/dist/loading.cjs.js.map +1 -0
- package/dist/loading.es.js +5 -0
- package/dist/loading.es.js.map +1 -0
- package/dist/message-0yTS5pOF.js +3 -0
- package/dist/message-0yTS5pOF.js.map +1 -0
- package/dist/message-D9CDwcw9.mjs +132 -0
- package/dist/message-D9CDwcw9.mjs.map +1 -0
- package/dist/message.cjs.js +2 -0
- package/dist/message.cjs.js.map +1 -0
- package/dist/message.es.js +5 -0
- package/dist/message.es.js.map +1 -0
- package/dist/{product-card-CoY1KggV.js → product-card-8X-Ld2d_.js} +2 -2
- package/dist/{product-card-CoY1KggV.js.map → product-card-8X-Ld2d_.js.map} +1 -1
- package/dist/{product-card-C3_N0t-R.mjs → product-card-Bt-F0wKr.mjs} +10 -10
- package/dist/{product-card-C3_N0t-R.mjs.map → product-card-Bt-F0wKr.mjs.map} +1 -1
- package/dist/product-card.cjs.js +1 -1
- package/dist/product-card.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/package.json +29 -26
- package/src/aliases.ts +12 -0
- package/src/avatar.ts +6 -0
- package/src/entries.js +3 -0
- package/src/library.ts +6 -0
- package/src/loading.ts +6 -0
- package/src/message.ts +6 -0
- package/dist/color-dot-6Mxngvce.mjs +0 -34
- package/dist/color-dot-6Mxngvce.mjs.map +0 -1
- package/dist/color-dot-B9w_ucWb.js +0 -2
- package/dist/color-dot-B9w_ucWb.js.map +0 -1
- package/dist/comparison-table-C74IAVqz.js +0 -2
- package/dist/comparison-table-C74IAVqz.js.map +0 -1
- package/dist/comparison-table-DctKxmX9.mjs +0 -267
- package/dist/comparison-table-DctKxmX9.mjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),t=require("react"),O=require("./bind-DeUYJ6m9.js"),V=require("./checkmark.es-lYntWFA3.js"),F=require("./minus.es-DtXArdKK.js"),P=require("./chevron-down.es-BMjgiS3F.js"),z=require("./paragraph-By4jMjnH.js"),K=require("./badge-CQ0SS_t8.js"),M=require("./button-DmybVApa.js"),W=require("./heading-drD5ugCC.js"),G=require("./arrow-left.es-CCWJyrcQ.js"),J=require("./arrow-right.es-eH-IgGi9.js"),Q={"purpur-comparison-table__wrapper":"_purpur-comparison-table__wrapper_1udkj_1","purpur-comparison-table":"_purpur-comparison-table_1udkj_1","purpur-comparison-table--primary":"_purpur-comparison-table--primary_1udkj_11","purpur-comparison-table--secondary":"_purpur-comparison-table--secondary_1udkj_15","purpur-comparison-table__feature-row":"_purpur-comparison-table__feature-row_1udkj_32","purpur-comparison-table__cards":"_purpur-comparison-table__cards_1udkj_32","purpur-comparison-table__separator":"_purpur-comparison-table__separator_1udkj_49"},U={"purpur-comparison-table-cell":"_purpur-comparison-table-cell_17tn6_1","purpur-comparison-table-cell--check":"_purpur-comparison-table-cell--check_17tn6_16","purpur-comparison-table-cell--minus":"_purpur-comparison-table-cell--minus_17tn6_19","purpur-comparison-table-cell__icon":"_purpur-comparison-table-cell__icon_17tn6_22"},D=O.c.bind(U),T="purpur-comparison-table-cell",X=({value:o})=>{const c=t.isValidElement(o)||["string","number"].includes(typeof o),a=D(T,[c?"":`${T}--${o?"check":"minus"}`]),j=o?V.a:F.e;return r.jsx("span",{className:D(a),children:c?o:r.jsx(j,{size:"xs",className:D(`${T}__icon`)})})},Y={"purpur-comparison-table-lead-cell":"_purpur-comparison-table-lead-cell_rqs9w_1","purpur-comparison-table-lead-cell__description":"_purpur-comparison-table-lead-cell__description_rqs9w_5","purpur-comparison-table-lead-cell__summary":"_purpur-comparison-table-lead-cell__summary_rqs9w_40","purpur-comparison-table-lead-cell__summary-title":"_purpur-comparison-table-lead-cell__summary-title_rqs9w_48","purpur-comparison-table-lead-cell__summary-icon":"_purpur-comparison-table-lead-cell__summary-icon_rqs9w_51"},I=O.c.bind(Y),R="purpur-comparison-table-lead-cell",Z=({title:o,description:c})=>{const p=typeof c=="string",a=I(R);return r.jsxs("details",{className:a,"data-is-expandable":p,children:[r.jsxs("summary",{className:I(`${R}__summary`),tabIndex:p?0:-1,children:[r.jsx(z.Paragraph,{className:I(`${R}__summary-title`),variant:"paragraph-100-bold",children:o}),r.jsx(P.l,{className:I(`${R}__summary-icon`),size:"sm"})]}),c&&r.jsx(z.Paragraph,{variant:"paragraph-100",className:I(`${R}__description`),children:c})]})},rr={"purpur-comparison-table-option-card":"_purpur-comparison-table-option-card_18fdt_1","purpur-comparison-table-option-card--highlighted":"_purpur-comparison-table-option-card--highlighted_18fdt_11","purpur-comparison-table-option-card__badge":"_purpur-comparison-table-option-card__badge_18fdt_14","purpur-comparison-table-option-card__main-content":"_purpur-comparison-table-option-card__main-content_18fdt_19","purpur-comparison-table-option-card__image":"_purpur-comparison-table-option-card__image_18fdt_25","purpur-comparison-table-option-card__body":"_purpur-comparison-table-option-card__body_18fdt_31","purpur-comparison-table-option-card__description":"_purpur-comparison-table-option-card__description_18fdt_36","purpur-comparison-table-option-card__description-text":"_purpur-comparison-table-option-card__description-text_18fdt_41","purpur-comparison-table-option-card__read-more":"_purpur-comparison-table-option-card__read-more_18fdt_50","purpur-comparison-table-option-card__read-more--hidden":"_purpur-comparison-table-option-card__read-more--hidden_18fdt_54","purpur-comparison-table-option-card__read-more-icon":"_purpur-comparison-table-option-card__read-more-icon_18fdt_57","purpur-comparison-table-option-card__footer":"_purpur-comparison-table-option-card__footer_18fdt_65","purpur-comparison-table-option-card__price":"_purpur-comparison-table-option-card__price_18fdt_70","purpur-comparison-table-option-card--show-full-descriptions":"_purpur-comparison-table-option-card--show-full-descriptions_18fdt_77","purpur-comparison-table-option-card--first-card":"_purpur-comparison-table-option-card--first-card_18fdt_110"},m=O.c.bind(rr),i="purpur-comparison-table-option-card",er=({id:o,cardIndex:c,description:p,variablePriceText:a,price:j,isHighlighted:f,ariaLabels:g,badge:h,actions:v,isFirstCard:k,image:e,title:l,showFullDescriptions:_,toggleShowFullDescriptions:d})=>{const u=t.useRef(null),n=t.useRef(null),s=t.useRef(_),[b,y]=t.useState(!1),w=m(i,{[`${i}--highlighted`]:f,[`${i}--first-card`]:k,[`${i}--show-full-descriptions`]:_});t.useEffect(()=>{s.current=_},[_]);const C=t.useCallback(()=>{if(s.current)return;const q=u.current,S=n.current;if(!q||!S){y(!1);return}const H=q.clientHeight,B=S.offsetHeight;y(B>H+1)},[]);t.useEffect(()=>{const q=u.current;if(C(),!q||typeof ResizeObserver>"u")return;const S=new ResizeObserver(C);return S.observe(q),()=>{S.disconnect()}},[C,p]);const A=()=>p?r.jsxs("div",{className:m(`${i}__description`),children:[r.jsx(z.Paragraph,{ref:u,className:m(`${i}__description-text`),children:r.jsx("span",{ref:n,children:p})}),r.jsxs(M.Button,{variant:"text",size:"xs",className:m(`${i}__read-more`,{[`${i}__read-more--hidden`]:!b}),onClick:d,"aria-hidden":!b,tabIndex:b?void 0:-1,children:[r.jsx("span",{className:m(`${i}__read-more-text`),children:_?g.readLess:g.readMore}),r.jsx(P.l,{className:m(`${i}__read-more-icon`),size:"xs"})]})]}):null;return r.jsxs("article",{className:w,"data-card-id":o,"data-card-index":c,children:[h&&r.jsx(K.Badge,{...h,className:m(`${i}__badge`)}),r.jsxs("section",{className:m(`${i}__main-content`),children:[r.jsx("img",{src:e.src,alt:e.alt,className:m(`${i}__image`)}),r.jsxs("div",{className:m(`${i}__body`),children:[r.jsx(W.Heading,{tag:"h3",variant:"title-200",className:m(`${i}__title`),children:l}),A()]})]}),r.jsxs("footer",{className:m(`${i}__footer`),children:[r.jsxs("span",{className:m(`${i}__price`),id:o,children:[r.jsx(z.Paragraph,{variant:"paragraph-100",children:a}),r.jsx(z.Paragraph,{variant:"paragraph-100-bold",children:j})]}),v]})]})},sr="_active_kvsnm_44",or={"purpur-comparison-table-scroll-progress":"_purpur-comparison-table-scroll-progress_kvsnm_1","purpur-comparison-table-scroll-progress__indicators":"_purpur-comparison-table-scroll-progress__indicators_kvsnm_15","purpur-comparison-table-scroll-progress__indicator":"_purpur-comparison-table-scroll-progress__indicator_kvsnm_15",active:sr,"purpur-comparison-table-scroll-progress__buttons":"_purpur-comparison-table-scroll-progress__buttons_kvsnm_48","purpur-comparison-table-scroll-progress__button":"_purpur-comparison-table-scroll-progress__button_kvsnm_48","purpur-comparison-table-scroll-progress__button-icon":"_purpur-comparison-table-scroll-progress__button-icon_kvsnm_57"},x=O.c.bind(or),$="purpur-comparison-table-scroll-progress",tr=({items:o,container:c,ariaLabels:p})=>{const[a,j]=t.useState(new Set),f=t.useCallback(e=>{const l=window.matchMedia("(prefers-reduced-motion: reduce)").matches;c.current?.querySelector(`[data-card-index="${e}"]`)?.scrollIntoView({behavior:l?"instant":"smooth",block:"nearest"})},[c]),g=t.useCallback(()=>{if(a.size===0)return;const l=Math.min(...Array.from(a))-1;l<0||f(l)},[a,f]),h=t.useCallback(()=>{if(a.size===0)return;const l=Math.max(...Array.from(a))+1;l>=o.length||f(l)},[a,o.length,f]),v=t.useCallback(e=>{(e.key==="ArrowRight"||e.key==="ArrowLeft")&&(e.preventDefault(),e.key==="ArrowRight"?h():e.key==="ArrowLeft"&&g())},[h,g]);t.useEffect(()=>{const e=c.current;if(!e)return;const l=new IntersectionObserver(_=>{j(d=>{const u=new Set(d);return _.forEach(n=>{const s=Number(n.target.getAttribute("data-card-index"));Number.isNaN(s)||(n.isIntersecting?u.add(s):u.delete(s))}),u})},{root:e,threshold:.5});return o.forEach((_,d)=>{const u=e.querySelector(`[data-card-index="${d}"]`);u&&l.observe(u)}),()=>l.disconnect()},[c,o]),t.useEffect(()=>{const e=c.current;if(e)return e.addEventListener("keydown",v),()=>e.removeEventListener("keydown",v)},[c,v]);const k=()=>{if(a.size===0)return;const e=[],l=a.size,_=Math.min(...Array.from(a)),d=o.slice(0,_).length,u=o.slice(_+l).length;let n=0;for(let s=0;s<o.length;s++){if(d+1!==s&&d<=s&&s<o.length-u)continue;let b="active";(s<d||s>o.length-1-u)&&(b=""),e.push(r.jsx("li",{className:x(`${$}__indicator`,b)},`indicator-${n++}`))}return e.length<2?null:e};return r.jsxs("li",{className:x($),children:[r.jsx("ul",{className:x(`${$}__indicators`),children:k()}),r.jsxs("div",{className:x(`${$}__buttons`),children:[r.jsx(M.Button,{"aria-label":p.previous,variant:"secondary",iconOnly:!0,className:x(`${$}__button`),disabled:a.has(0),onClick:g,children:r.jsx(G.l,{className:x(`${$}__button-icon`),size:"xs"})}),r.jsx(M.Button,{"aria-label":p.next,variant:"secondary",iconOnly:!0,className:x(`${$}__button`),disabled:a.has(o.length-1),onClick:h,children:r.jsx(J.i,{className:x(`${$}__button-icon`),size:"xs"})})]})]})},E=O.c.bind(Q),N="purpur-comparison-table",L=({classname:o,features:c,items:p,ariaLabels:a,variant:j="primary"})=>{const f=t.useId(),g=E(o,N,`${N}--${j}`),h=t.useRef(null),[v,k]=t.useState(!1),e=t.useCallback(()=>{k(n=>!n)},[]),l=()=>r.jsxs("li",{className:E(`${N}__cards`),children:[r.jsx("div",{className:E(`${N}__separator`)}),p.map((n,s)=>t.createElement(er,{...n,showFullDescriptions:v,toggleShowFullDescriptions:e,key:s,isFirstCard:s===0,ariaLabels:a,cardIndex:s,id:`${s}-${f}`}))]}),_=()=>Object.entries(c).map(([n,s],b)=>r.jsxs("li",{className:E(`${N}__feature-row`),children:[r.jsx(Z,{title:n,description:s}),p.map((y,w)=>r.jsx(X,{value:y.features[n]??!1},w))]},b)),d=t.useRef(0),u=n=>{const s=n.currentTarget,b=s.querySelector("[data-card-id]")?.clientWidth??0,y=Math.round(s.scrollLeft/b),w=y*b+y,C=n.timeStamp-d.current,A=Math.abs(s.scrollLeft-w);d.current&&C<200||A<10||(d.current=n.timeStamp,s.scrollTo({left:w,behavior:"smooth"}))};return r.jsx("div",{className:E(N+"__wrapper"),children:r.jsxs("ul",{id:N+`-${f}`,ref:h,className:g,onScrollEnd:u,style:{"--initial-columns":p.length+1},children:[r.jsx(tr,{items:p,container:h,ariaLabels:a}),l(),_()]})})};L.displayName="ComparisonTable";exports.ComparisonTable=L;
|
|
2
|
+
//# sourceMappingURL=comparison-table-Nhp5W6Yc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparison-table-Nhp5W6Yc.js","sources":["../../../components/comparison-table/src/components/Cell/cell.tsx","../../../components/comparison-table/src/components/LeadCell/lead-cell.tsx","../../../components/comparison-table/src/components/OptionCard/option-card.tsx","../../../components/comparison-table/src/components/ScrollProgress/scroll-progress.tsx","../../../components/comparison-table/src/comparison-table.tsx"],"sourcesContent":["import React, { isValidElement, type ReactNode } from \"react\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport { IconMinus } from \"@purpur/icon/minus\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./cell.module.scss\";\n\ntype CellProps = {\n value: boolean | ReactNode;\n};\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-comparison-table-cell\";\n\nexport const Cell = ({ value }: CellProps) => {\n const isReactNode = isValidElement(value) || [\"string\", \"number\"].includes(typeof value);\n\n const getClassName = () => {\n if (isReactNode) return \"\";\n return `${rootClassName}--${value ? \"check\" : \"minus\"}`;\n };\n\n const classes = cx(rootClassName, [getClassName()]);\n\n const Icon = value ? IconCheckmark : IconMinus;\n\n return (\n <span className={cx(classes)}>\n {isReactNode ? value : <Icon size=\"xs\" className={cx(`${rootClassName}__icon`)} />}\n </span>\n );\n};\n","import React, { type ReactNode } from \"react\";\nimport { IconChevronDown } from \"@purpur/icon/chevron-down\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./lead-cell.module.scss\";\n\ntype LeadCellProps = {\n title: string;\n description?: ReactNode;\n};\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-comparison-table-lead-cell\";\n\nexport const LeadCell = ({ title, description }: LeadCellProps) => {\n const isExpandable = typeof description === \"string\";\n const classes = cx(rootClassName);\n\n return (\n <details className={classes} data-is-expandable={isExpandable}>\n <summary className={cx(`${rootClassName}__summary`)} tabIndex={isExpandable ? 0 : -1}>\n <Paragraph className={cx(`${rootClassName}__summary-title`)} variant=\"paragraph-100-bold\">\n {title}\n </Paragraph>\n <IconChevronDown className={cx(`${rootClassName}__summary-icon`)} size=\"sm\" />\n </summary>\n {description && (\n <Paragraph variant=\"paragraph-100\" className={cx(`${rootClassName}__description`)}>\n {description}\n </Paragraph>\n )}\n </details>\n );\n};\n","import React, { type ReactNode, useCallback, useEffect, useRef, useState } from \"react\";\nimport { Badge, type BadgeProps } from \"@purpur/badge\";\nimport { Button } from \"@purpur/button\";\nimport { Heading } from \"@purpur/heading\";\nimport { IconChevronDown } from \"@purpur/icon/chevron-down\";\nimport { Paragraph } from \"@purpur/paragraph\";\nimport c from \"classnames/bind\";\n\nimport { type ComparisonTableProps } from \"../../comparison-table\";\nimport styles from \"./option-card.module.scss\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-comparison-table-option-card\";\n\nexport type OptionCardProps = {\n image: {\n src: string;\n alt: string;\n };\n\n title: string;\n description: string;\n variablePriceText: string;\n price: string;\n\n actions: ReactNode;\n\n badge?: BadgeProps;\n isHighlighted?: boolean;\n};\n\ntype OptionCardPropsAdditions = {\n id: string;\n cardIndex: number;\n isFirstCard: boolean;\n ariaLabels: ComparisonTableProps[\"ariaLabels\"];\n\n showFullDescriptions: boolean;\n toggleShowFullDescriptions: () => void;\n};\n\nexport const OptionCard = ({\n id,\n cardIndex,\n description,\n variablePriceText,\n price,\n isHighlighted,\n ariaLabels,\n badge,\n actions,\n isFirstCard,\n image,\n title,\n showFullDescriptions,\n toggleShowFullDescriptions,\n}: OptionCardProps & OptionCardPropsAdditions) => {\n const descriptionRef = useRef<HTMLParagraphElement>(null);\n const descriptionContentRef = useRef<HTMLSpanElement>(null);\n const showFullDescriptionsRef = useRef(showFullDescriptions);\n const [descriptionOverflows, setDescriptionOverflows] = useState(false);\n\n const classes = cx(rootClassName, {\n [`${rootClassName}--highlighted`]: isHighlighted,\n [`${rootClassName}--first-card`]: isFirstCard,\n [`${rootClassName}--show-full-descriptions`]: showFullDescriptions,\n });\n\n useEffect(() => {\n showFullDescriptionsRef.current = showFullDescriptions;\n }, [showFullDescriptions]);\n\n const checkDescriptionOverflow = useCallback(() => {\n if (showFullDescriptionsRef.current) {\n return;\n }\n\n const description = descriptionRef.current;\n const descriptionContent = descriptionContentRef.current;\n\n if (!description || !descriptionContent) {\n setDescriptionOverflows(false);\n return;\n }\n\n const descriptionHeight = description.clientHeight;\n const contentHeight = descriptionContent.offsetHeight;\n\n setDescriptionOverflows(contentHeight > descriptionHeight + 1);\n }, []);\n\n useEffect(() => {\n const descriptionElement = descriptionRef.current;\n\n checkDescriptionOverflow();\n\n if (!descriptionElement || typeof ResizeObserver === \"undefined\") {\n return undefined;\n }\n\n const resizeObserver = new ResizeObserver(checkDescriptionOverflow);\n resizeObserver.observe(descriptionElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [checkDescriptionOverflow, description]);\n\n const renderDescription = () => {\n if (!description) return null;\n\n return (\n <div className={cx(`${rootClassName}__description`)}>\n <Paragraph ref={descriptionRef} className={cx(`${rootClassName}__description-text`)}>\n <span ref={descriptionContentRef}>{description}</span>\n </Paragraph>\n <Button\n variant=\"text\"\n size=\"xs\"\n className={cx(`${rootClassName}__read-more`, {\n [`${rootClassName}__read-more--hidden`]: !descriptionOverflows,\n })}\n onClick={toggleShowFullDescriptions}\n aria-hidden={!descriptionOverflows}\n tabIndex={descriptionOverflows ? undefined : -1}\n >\n <span className={cx(`${rootClassName}__read-more-text`)}>\n {showFullDescriptions ? ariaLabels.readLess : ariaLabels.readMore}\n </span>\n <IconChevronDown className={cx(`${rootClassName}__read-more-icon`)} size=\"xs\" />\n </Button>\n </div>\n );\n };\n\n return (\n <article className={classes} data-card-id={id} data-card-index={cardIndex}>\n {badge && <Badge {...badge} className={cx(`${rootClassName}__badge`)} />}\n\n <section className={cx(`${rootClassName}__main-content`)}>\n <img src={image.src} alt={image.alt} className={cx(`${rootClassName}__image`)} />\n\n <div className={cx(`${rootClassName}__body`)}>\n <Heading tag=\"h3\" variant=\"title-200\" className={cx(`${rootClassName}__title`)}>\n {title}\n </Heading>\n {renderDescription()}\n </div>\n </section>\n\n <footer className={cx(`${rootClassName}__footer`)}>\n <span className={cx(`${rootClassName}__price`)} id={id}>\n <Paragraph variant=\"paragraph-100\">{variablePriceText}</Paragraph>\n <Paragraph variant=\"paragraph-100-bold\">{price}</Paragraph>\n </span>\n\n {actions}\n </footer>\n </article>\n );\n};\n","import React, { type RefObject, useCallback, useEffect, useState } from \"react\";\nimport { Button } from \"@purpur/button\";\nimport { IconArrowLeft } from \"@purpur/icon/arrow-left\";\nimport { IconArrowRight } from \"@purpur/icon/arrow-right\";\nimport c from \"classnames/bind\";\n\nimport { type ComparisonTableProps, type Features, type Item } from \"../../comparison-table\";\nimport styles from \"./scroll-progress.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-comparison-table-scroll-progress\";\n\ntype ScrollProgressProps = {\n items: Array<Item<Features>>;\n container: RefObject<HTMLUListElement | null>;\n ariaLabels: ComparisonTableProps[\"ariaLabels\"];\n};\n\nexport const ScrollProgress = ({ items, container, ariaLabels }: ScrollProgressProps) => {\n const [inViewSet, setInViewSet] = useState<Set<number>>(new Set());\n\n const scrollToCard = useCallback(\n (index: number) => {\n const reduceMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n const card = container.current?.querySelector(\n `[data-card-index=\"${index}\"]`\n ) as HTMLElement | null;\n card?.scrollIntoView({ behavior: reduceMotion ? \"instant\" : \"smooth\", block: \"nearest\" });\n },\n [container]\n );\n\n const previousCard = useCallback(() => {\n if (inViewSet.size === 0) return;\n\n const leftmostactiveIndex = Math.min(...Array.from(inViewSet));\n const targetIndex = leftmostactiveIndex - 1;\n\n if (targetIndex < 0) return;\n\n scrollToCard(targetIndex);\n }, [inViewSet, scrollToCard]);\n\n const nextCard = useCallback(() => {\n if (inViewSet.size === 0) return;\n\n const rightmostactiveIndex = Math.max(...Array.from(inViewSet));\n const targetIndex = rightmostactiveIndex + 1;\n\n if (targetIndex >= items.length) return;\n\n scrollToCard(targetIndex);\n }, [inViewSet, items.length, scrollToCard]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n e.preventDefault();\n\n if (e.key === \"ArrowRight\") nextCard();\n else if (e.key === \"ArrowLeft\") previousCard();\n }\n },\n [nextCard, previousCard]\n );\n\n useEffect(() => {\n const root = container.current;\n\n if (!root) return;\n\n const observer = new IntersectionObserver(\n (entries) => {\n setInViewSet((prev) => {\n const next = new Set(prev);\n\n entries.forEach((entry) => {\n const index = Number(entry.target.getAttribute(\"data-card-index\"));\n\n if (Number.isNaN(index)) return;\n\n if (entry.isIntersecting) {\n next.add(index);\n } else {\n next.delete(index);\n }\n });\n return next;\n });\n },\n { root, threshold: 0.5 }\n );\n\n items.forEach((_, index) => {\n const card = root.querySelector(`[data-card-index=\"${index}\"]`) as HTMLElement | null;\n\n if (card) observer.observe(card);\n });\n\n return () => observer.disconnect();\n }, [container, items]);\n\n useEffect(() => {\n const root = container.current;\n\n if (!root) return;\n\n root.addEventListener(\"keydown\", handleKeyDown);\n\n return () => root.removeEventListener(\"keydown\", handleKeyDown);\n }, [container, handleKeyDown]);\n\n const renderIndicators = () => {\n if (inViewSet.size === 0) return;\n\n const indicators = [];\n const viewCapacity = inViewSet.size;\n const leftmostActiveIndex = Math.min(...Array.from(inViewSet));\n const head = items.slice(0, leftmostActiveIndex).length;\n const trail = items.slice(leftmostActiveIndex + viewCapacity).length;\n\n let key = 0;\n\n for (let i = 0; i < items.length; i++) {\n if (head + 1 !== i && head <= i && i < items.length - trail) continue;\n\n let status = \"active\";\n\n if (i < head || i > items.length - 1 - trail) status = \"\";\n\n indicators.push(\n <li key={`indicator-${key++}`} className={cx(`${rootClassName}__indicator`, status)} />\n );\n }\n\n if (indicators.length < 2) return null;\n\n return indicators;\n };\n\n return (\n <li className={cx(rootClassName)}>\n <ul className={cx(`${rootClassName}__indicators`)}>{renderIndicators()}</ul>\n\n <div className={cx(`${rootClassName}__buttons`)}>\n <Button\n aria-label={ariaLabels.previous}\n variant=\"secondary\"\n iconOnly\n className={cx(`${rootClassName}__button`)}\n disabled={inViewSet.has(0)}\n onClick={previousCard}\n >\n <IconArrowLeft className={cx(`${rootClassName}__button-icon`)} size=\"xs\" />\n </Button>\n <Button\n aria-label={ariaLabels.next}\n variant=\"secondary\"\n iconOnly\n className={cx(`${rootClassName}__button`)}\n disabled={inViewSet.has(items.length - 1)}\n onClick={nextCard}\n >\n <IconArrowRight className={cx(`${rootClassName}__button-icon`)} size=\"xs\" />\n </Button>\n </div>\n </li>\n );\n};\n","import React, { type ReactNode, type UIEvent, useCallback, useId, useRef, useState } from \"react\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./comparison-table.module.scss\";\nimport { Cell } from \"./components/Cell/cell\";\nimport { LeadCell } from \"./components/LeadCell/lead-cell\";\nimport { OptionCard, type OptionCardProps } from \"./components/OptionCard/option-card\";\nimport { ScrollProgress } from \"./components/ScrollProgress/scroll-progress\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-comparison-table\";\n\nexport type Features = Record<string, ReactNode | null>;\n\nexport type Item<TFeatures extends Features = Features> = OptionCardProps & {\n features: Partial<Record<keyof TFeatures, ReactNode | string | boolean>>;\n};\n\nexport type ComparisonTableProps<TFeatures extends Features = Features> = {\n /** List of features that can be supported by the comparison table\n *\n * string = description of the feature that can be viewed by expanding cell.\n *\n * null = no description\n *\n {\n [featureName]: ReactNode | null\n }\n */\n features: TFeatures;\n\n /** List of items to be displayed in the comparison table\n *\n *\n Item = {\n image: {\n src: string;\n alt: string;\n };\n\n title: string;\n description: string;\n variablePriceText: string;\n price: string;\n actions: ReactNode;\n badge?: BadgeProps;\n isHighlighted?: boolean;\n\n features: {\n [featureName in keyof Features]?: string | boolean;\n };\n }\n */\n items: Array<Item<TFeatures>>;\n\n /** Aria labels for the comparison table and various components\n *\n {\n previous: string;\n next: string;\n readMore: string;\n readLess: string;\n }\n */\n ariaLabels: {\n previous: string;\n next: string;\n readMore: string;\n readLess: string;\n };\n variant?: \"primary\" | \"secondary\";\n classname?: string;\n};\n\nexport const ComparisonTable = <TFeatures extends Features>({\n classname,\n features,\n items,\n ariaLabels,\n variant = \"primary\",\n}: ComparisonTableProps<TFeatures>) => {\n const id = useId();\n const classes = cx(classname, rootClassName, `${rootClassName}--${variant}`);\n const containerRef = useRef<HTMLUListElement>(null);\n const [showFullDescriptions, setShowFullDescriptions] = useState(false);\n\n const handleToggleShowFullDescriptions = useCallback(() => {\n setShowFullDescriptions((prev) => !prev);\n }, []);\n\n const renderCards = () => {\n return (\n <li className={cx(`${rootClassName}__cards`)}>\n <div className={cx(`${rootClassName}__separator`)} />\n {items.map((item, index) => (\n <OptionCard\n {...item}\n showFullDescriptions={showFullDescriptions}\n toggleShowFullDescriptions={handleToggleShowFullDescriptions}\n key={index}\n isFirstCard={index === 0}\n ariaLabels={ariaLabels}\n cardIndex={index}\n id={`${index}-${id}`}\n />\n ))}\n </li>\n );\n };\n\n const renderFeatures = () => {\n return Object.entries(features).map(([title, description], i) => (\n <li key={i} className={cx(`${rootClassName}__feature-row`)}>\n <LeadCell title={title} description={description} />\n {items.map((item, index) => (\n <Cell key={index} value={item.features[title as keyof TFeatures] ?? false} />\n ))}\n </li>\n ));\n };\n\n const deltaTime = useRef(0);\n\n const handleScrollEnd = (e: UIEvent<HTMLUListElement>) => {\n /**\n * This function makes sure that the scroll position is never stuck between two cards, since scroll snap is not fully reliable.\n */\n\n const target = e.currentTarget;\n const cardwidth = target.querySelector(\"[data-card-id]\")?.clientWidth ?? 0;\n const cardPos = Math.round(target.scrollLeft / cardwidth);\n const scrollTarget = cardPos * cardwidth + cardPos;\n const timeDiff = e.timeStamp - deltaTime.current;\n const scrollDiff = Math.abs(target.scrollLeft - scrollTarget);\n\n if (deltaTime.current && timeDiff < 200) return;\n if (scrollDiff < 10) return;\n\n deltaTime.current = e.timeStamp;\n\n target.scrollTo({ left: scrollTarget, behavior: \"smooth\" });\n };\n\n return (\n <div className={cx(rootClassName + \"__wrapper\")}>\n <ul\n id={rootClassName + `-${id}`}\n ref={containerRef}\n className={classes}\n // eslint-disable-next-line react/no-unknown-property\n onScrollEnd={handleScrollEnd}\n style={{\n // @ts-expect-error | Typescript doesn't recognize the CSS variable, but it works as intended\n [\"--initial-columns\"]: items.length + 1,\n }}\n >\n <ScrollProgress items={items} container={containerRef} ariaLabels={ariaLabels} />\n {renderCards()}\n {renderFeatures()}\n </ul>\n </div>\n );\n};\n\nComparisonTable.displayName = \"ComparisonTable\";\n"],"names":["cx","c","styles","rootClassName","Cell","value","isReactNode","isValidElement","classes","Icon","IconCheckmark","IconMinus","jsx","LeadCell","title","description","isExpandable","jsxs","Paragraph","IconChevronDown","OptionCard","id","cardIndex","variablePriceText","price","isHighlighted","ariaLabels","badge","actions","isFirstCard","image","showFullDescriptions","toggleShowFullDescriptions","descriptionRef","useRef","descriptionContentRef","showFullDescriptionsRef","descriptionOverflows","setDescriptionOverflows","useState","useEffect","checkDescriptionOverflow","useCallback","descriptionContent","descriptionHeight","contentHeight","descriptionElement","resizeObserver","renderDescription","Button","Badge","Heading","ScrollProgress","items","container","inViewSet","setInViewSet","scrollToCard","index","reduceMotion","previousCard","targetIndex","nextCard","handleKeyDown","root","observer","entries","prev","next","entry","card","renderIndicators","indicators","viewCapacity","leftmostActiveIndex","head","trail","key","i","status","IconArrowLeft","IconArrowRight","ComparisonTable","classname","features","variant","useId","containerRef","setShowFullDescriptions","handleToggleShowFullDescriptions","renderCards","item","createElement","renderFeatures","deltaTime","handleScrollEnd","e","target","cardwidth","cardPos","scrollTarget","timeDiff","scrollDiff"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./comparison-table-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./comparison-table-Nhp5W6Yc.js");exports.ComparisonTable=e.ComparisonTable;
|
|
2
2
|
//# sourceMappingURL=comparison-table.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-constants.d.ts","sourceRoot":"","sources":["../../../../../../components/avatar/src/avatar-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,0CAA2C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { AVATAR_SIZE } from './avatar-constants';
|
|
3
|
+
export type AvatarSize = (typeof AVATAR_SIZE)[number];
|
|
4
|
+
type AvatarBaseProps = {
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Text or element rendered inside the avatar, typically initials. */
|
|
7
|
+
label: ReactNode;
|
|
8
|
+
size?: AvatarSize;
|
|
9
|
+
};
|
|
10
|
+
type AvatarDecorativeProps = AvatarBaseProps & {
|
|
11
|
+
/** Hides the avatar from assistive technologies. */
|
|
12
|
+
decorative: true;
|
|
13
|
+
"aria-label"?: never;
|
|
14
|
+
};
|
|
15
|
+
type AvatarAccessibleProps = AvatarBaseProps & {
|
|
16
|
+
/** Accessible label for assistive technologies. Required when avatar is not decorative. */
|
|
17
|
+
"aria-label": string;
|
|
18
|
+
decorative?: false;
|
|
19
|
+
};
|
|
20
|
+
export type AvatarProps = AvatarDecorativeProps | AvatarAccessibleProps;
|
|
21
|
+
export declare const Avatar: {
|
|
22
|
+
(props: AvatarProps): React.JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../../../components/avatar/src/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,KAAK,eAAe,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,KAAK,qBAAqB,GAAG,eAAe,GAAG;IAC7C,oDAAoD;IACpD,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG,eAAe,GAAG;IAC7C,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAExE,eAAO,MAAM,MAAM;YAAW,WAAW;;CAiBxC,CAAC"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
4
|
-
export type
|
|
5
|
-
export type
|
|
1
|
+
import { default as React, HTMLAttributes } from 'react';
|
|
2
|
+
export declare const STATIC_COLOR_DOT_SIZE: readonly ["xs", "sm", "md", "lg"];
|
|
3
|
+
export declare const BUTTON_COLOR_DOT_SIZE: ("sm" | "md" | "lg")[];
|
|
4
|
+
export type StaticColorDotSize = (typeof STATIC_COLOR_DOT_SIZE)[number];
|
|
5
|
+
export type ButtonColorDotSize = (typeof BUTTON_COLOR_DOT_SIZE)[number];
|
|
6
|
+
export type StaticColorDotProps = HTMLAttributes<HTMLDivElement> & {
|
|
7
|
+
variant?: "static";
|
|
8
|
+
isSelected?: never;
|
|
9
|
+
size: StaticColorDotSize;
|
|
10
|
+
};
|
|
11
|
+
export type ButtonColorDotProps = HTMLAttributes<HTMLButtonElement> & {
|
|
12
|
+
variant?: "button";
|
|
13
|
+
isSelected?: boolean;
|
|
14
|
+
size: ButtonColorDotSize;
|
|
15
|
+
};
|
|
16
|
+
export type ColorDotProps = {
|
|
6
17
|
color: string;
|
|
7
|
-
size: ColorDotSize;
|
|
8
18
|
withBorder?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export declare const ColorDot: ({
|
|
19
|
+
} & (StaticColorDotProps | ButtonColorDotProps);
|
|
20
|
+
export declare const ColorDot: ({ size, withBorder, variant, ...props }: ColorDotProps) => React.JSX.Element;
|
|
11
21
|
//# sourceMappingURL=color-dot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-dot.d.ts","sourceRoot":"","sources":["../../../../../../components/color-dot/src/color-dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"color-dot.d.ts","sourceRoot":"","sources":["../../../../../../components/color-dot/src/color-dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAQnD,eAAO,MAAM,qBAAqB,mCAAoC,CAAC;AACvE,eAAO,MAAM,qBAAqB,wBAAwD,CAAC;AAE3F,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACjE,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAEhD,eAAO,MAAM,QAAQ,GAAI,yCAAoD,aAAa,sBAiBzF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-card.d.ts","sourceRoot":"","sources":["../../../../../../../../components/comparison-table/src/components/OptionCard/option-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"option-card.d.ts","sourceRoot":"","sources":["../../../../../../../../components/comparison-table/src/components/OptionCard/option-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AACxF,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAOvD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IAEF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,SAAS,CAAC;IAEnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAE/C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,MAAM,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,mLAexB,eAAe,GAAG,wBAAwB,sBAwG5C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React, AriaAttributes, AriaRole } from 'react';
|
|
2
|
+
export type LoadingDotsProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
negative?: boolean;
|
|
5
|
+
/** Optional ARIA role for the live region. Defaults to `status`. */
|
|
6
|
+
role?: AriaRole;
|
|
7
|
+
/** Optional ARIA atomic setting for the live region. Defaults to `true`. */
|
|
8
|
+
"aria-atomic"?: AriaAttributes["aria-atomic"];
|
|
9
|
+
/** Optional ARIA live politeness setting. Defaults to `polite`. */
|
|
10
|
+
"aria-live"?: AriaAttributes["aria-live"];
|
|
11
|
+
/** Accessible label announced by assistive technologies for the typing indicator. */
|
|
12
|
+
"aria-label": string;
|
|
13
|
+
};
|
|
14
|
+
declare const LoadingDots: {
|
|
15
|
+
({ className, negative, "aria-label": ariaLabel, role, "aria-atomic": ariaAtomic, "aria-live": ariaLive, }: LoadingDotsProps): React.JSX.Element;
|
|
16
|
+
displayName: string;
|
|
17
|
+
};
|
|
18
|
+
export { LoadingDots };
|
|
19
|
+
//# sourceMappingURL=loading-dots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-dots.d.ts","sourceRoot":"","sources":["../../../../../../components/loading/src/loading-dots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAuB,MAAM,OAAO,CAAC;AASvF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9C,mEAAmE;IACnE,WAAW,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,WAAW;gHAOd,gBAAgB;;CA+BlB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React, AriaAttributes, AriaRole } from 'react';
|
|
2
|
+
export type LoadingTextProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
negative?: boolean;
|
|
5
|
+
/** Visible label displayed during the deep-thinking state. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Optional accessible label for deep-thinking. Falls back to `label` when omitted. */
|
|
8
|
+
"aria-label"?: string;
|
|
9
|
+
/** Optional ARIA role for the live region. Defaults to `status`. */
|
|
10
|
+
role?: AriaRole;
|
|
11
|
+
/** Optional ARIA atomic setting for the live region. Defaults to `true`. */
|
|
12
|
+
"aria-atomic"?: AriaAttributes["aria-atomic"];
|
|
13
|
+
/** Optional ARIA live politeness setting. Defaults to `polite`. */
|
|
14
|
+
"aria-live"?: AriaAttributes["aria-live"];
|
|
15
|
+
};
|
|
16
|
+
declare const LoadingText: {
|
|
17
|
+
({ className, negative, label, "aria-label": ariaLabel, role, "aria-atomic": ariaAtomic, "aria-live": ariaLive, }: LoadingTextProps): React.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
export { LoadingText };
|
|
21
|
+
//# sourceMappingURL=loading-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-text.d.ts","sourceRoot":"","sources":["../../../../../../components/loading/src/loading-text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAuB,MAAM,OAAO,CAAC;AAUvF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9C,mEAAmE;IACnE,WAAW,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;CAC3C,CAAC;AAEF,QAAA,MAAM,WAAW;uHAQd,gBAAgB;;CAmClB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LoadingDots, LoadingDotsProps } from './loading-dots';
|
|
2
|
+
import { LoadingText, LoadingTextProps } from './loading-text';
|
|
3
|
+
type LoadingComponent = {
|
|
4
|
+
Dots: typeof LoadingDots;
|
|
5
|
+
Text: typeof LoadingText;
|
|
6
|
+
};
|
|
7
|
+
declare const Loading: LoadingComponent;
|
|
8
|
+
export { Loading };
|
|
9
|
+
export type { LoadingDotsProps, LoadingTextProps };
|
|
10
|
+
//# sourceMappingURL=loading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../../../components/loading/src/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,IAAI,EAAE,OAAO,WAAW,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,OAAO,EAAS,gBAAgB,CAAC;AAIvC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type MessageBubbleProps = {
|
|
3
|
+
/**
|
|
4
|
+
* String message content.
|
|
5
|
+
*
|
|
6
|
+
* Real newline characters (`\n`) are preserved as-is.
|
|
7
|
+
* Escaped newline sequences (`\\n` — the two-character literal backslash-n) are
|
|
8
|
+
* converted to real newlines, so API responses that serialize newlines as `\\n`
|
|
9
|
+
* are rendered correctly without pre-processing by the caller.
|
|
10
|
+
*/
|
|
11
|
+
text: string;
|
|
12
|
+
/** Enables the entry animation. Defaults to true. */
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/** Optional class name for the bubble element. */
|
|
15
|
+
className?: string;
|
|
16
|
+
};
|
|
17
|
+
declare const MessageBubble: {
|
|
18
|
+
({ text, animate, className }: MessageBubbleProps): React.JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
};
|
|
21
|
+
export { MessageBubble };
|
|
22
|
+
//# sourceMappingURL=message-bubble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-bubble.d.ts","sourceRoot":"","sources":["../../../../../../components/message/src/message-bubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,aAAa;mCAAyC,kBAAkB;;CAY7E,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
type MessageStampBaseProps = {
|
|
3
|
+
/** Optional class name for the stamp element. */
|
|
4
|
+
className?: string;
|
|
5
|
+
/** Enables negative color tokens for dark surfaces. */
|
|
6
|
+
negative?: boolean;
|
|
7
|
+
/** Text content centered in the divider. */
|
|
8
|
+
text: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
type MessageStampAvatarProps = MessageStampBaseProps & {
|
|
11
|
+
variant: "avatar";
|
|
12
|
+
/** Accessible label for the avatar. When omitted, avatar is rendered as decorative. */
|
|
13
|
+
avatarAriaLabel?: string;
|
|
14
|
+
/** Label content rendered inside the avatar, typically initials. */
|
|
15
|
+
avatarLabel: ReactNode;
|
|
16
|
+
};
|
|
17
|
+
type MessageStampTextProps = MessageStampBaseProps & {
|
|
18
|
+
variant: "text";
|
|
19
|
+
};
|
|
20
|
+
export type MessageStampProps = MessageStampAvatarProps | MessageStampTextProps;
|
|
21
|
+
declare const MessageStamp: {
|
|
22
|
+
(props: MessageStampProps): React.JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
export { MessageStamp };
|
|
26
|
+
//# sourceMappingURL=message-stamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-stamp.d.ts","sourceRoot":"","sources":["../../../../../../components/message/src/message-stamp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAS9C,KAAK,qBAAqB,GAAG;IAC3B,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG,qBAAqB,GAAG;IACrD,OAAO,EAAE,QAAQ,CAAC;IAClB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,KAAK,qBAAqB,GAAG,qBAAqB,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC;AAEhF,QAAA,MAAM,YAAY;YAAW,iBAAiB;;CAyC7C,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../../../../components/message/src/message-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,OAAO,IAAI,GAAG,MAAM,GAAG,MAAM,gBAMxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,YAAY,IAAI,kBAiB/C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { MessageBubble, MessageBubbleProps } from './message-bubble';
|
|
3
|
+
import { MessageStamp, MessageStampProps } from './message-stamp';
|
|
4
|
+
export type { MessageBubbleProps, MessageStampProps };
|
|
5
|
+
type MessageBaseProps = {
|
|
6
|
+
/** Enables negative color tokens for dark surfaces. Applied to the header name and timestamp. */
|
|
7
|
+
negative?: boolean;
|
|
8
|
+
/** Optional class name for the message root element. */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Message content - can include Message.Bubble and Message.Stamp subcomponents. */
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
/** Timestamp source used for automatic time/date formatting. When provided, the timestamp is displayed. */
|
|
13
|
+
sentAt?: Date | string | number;
|
|
14
|
+
};
|
|
15
|
+
export type IncomingMessageProps = MessageBaseProps & {
|
|
16
|
+
/** Message variant for incoming messages (assistant/employee). */
|
|
17
|
+
variant: "incoming";
|
|
18
|
+
/** Optional sender name displayed as a header above the bubbles. */
|
|
19
|
+
senderName?: string;
|
|
20
|
+
/** Optional avatar element rendered on the left. */
|
|
21
|
+
avatar?: ReactNode;
|
|
22
|
+
};
|
|
23
|
+
export type OutgoingMessageProps = MessageBaseProps & {
|
|
24
|
+
/** Message variant for outgoing messages (user). */
|
|
25
|
+
variant: "outgoing";
|
|
26
|
+
/** Outgoing messages do not support sender metadata. */
|
|
27
|
+
senderName?: never;
|
|
28
|
+
/** Outgoing messages do not support avatars. */
|
|
29
|
+
avatar?: never;
|
|
30
|
+
};
|
|
31
|
+
export type MessageProps = IncomingMessageProps | OutgoingMessageProps;
|
|
32
|
+
declare const Message: {
|
|
33
|
+
({ variant, negative, className, children, ...variantProps }: MessageProps): React.JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
type MessageComponent = typeof Message & {
|
|
37
|
+
Bubble: typeof MessageBubble;
|
|
38
|
+
Stamp: typeof MessageStamp;
|
|
39
|
+
};
|
|
40
|
+
declare const MessageNamespace: MessageComponent;
|
|
41
|
+
export { MessageNamespace as Message };
|
|
42
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../../components/message/src/message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMvE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;AAEtD,KAAK,gBAAgB,GAAG;IACtB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2GAA2G;IAC3G,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,kEAAkE;IAClE,OAAO,EAAE,UAAU,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,oDAAoD;IACpD,OAAO,EAAE,UAAU,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEvE,QAAA,MAAM,OAAO;kEAAiE,YAAY;;CAgEzF,CAAC;AAIF,KAAK,gBAAgB,GAAG,OAAO,OAAO,GAAG;IACvC,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,KAAK,EAAE,OAAO,YAAY,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAc,gBAAgB,CAAC;AAIrD,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -28,6 +28,14 @@ module.exports = [
|
|
|
28
28
|
"useAutocomplete"
|
|
29
29
|
]
|
|
30
30
|
},
|
|
31
|
+
{
|
|
32
|
+
"moduleName": "avatar",
|
|
33
|
+
"exports": [
|
|
34
|
+
"AvatarSize",
|
|
35
|
+
"AvatarProps",
|
|
36
|
+
"Avatar"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
31
39
|
{
|
|
32
40
|
"moduleName": "badge",
|
|
33
41
|
"exports": [
|
|
@@ -112,8 +120,12 @@ module.exports = [
|
|
|
112
120
|
{
|
|
113
121
|
"moduleName": "color-dot",
|
|
114
122
|
"exports": [
|
|
115
|
-
"
|
|
116
|
-
"
|
|
123
|
+
"STATIC_COLOR_DOT_SIZE",
|
|
124
|
+
"BUTTON_COLOR_DOT_SIZE",
|
|
125
|
+
"StaticColorDotSize",
|
|
126
|
+
"ButtonColorDotSize",
|
|
127
|
+
"StaticColorDotProps",
|
|
128
|
+
"ButtonColorDotProps",
|
|
117
129
|
"ColorDotProps",
|
|
118
130
|
"ColorDot"
|
|
119
131
|
]
|
|
@@ -6323,12 +6335,31 @@ module.exports = [
|
|
|
6323
6335
|
"ListboxItemProps"
|
|
6324
6336
|
]
|
|
6325
6337
|
},
|
|
6338
|
+
{
|
|
6339
|
+
"moduleName": "loading",
|
|
6340
|
+
"exports": [
|
|
6341
|
+
"Loading",
|
|
6342
|
+
"LoadingDotsProps",
|
|
6343
|
+
"LoadingTextProps"
|
|
6344
|
+
]
|
|
6345
|
+
},
|
|
6326
6346
|
{
|
|
6327
6347
|
"moduleName": "logo",
|
|
6328
6348
|
"exports": [
|
|
6329
6349
|
"Logo"
|
|
6330
6350
|
]
|
|
6331
6351
|
},
|
|
6352
|
+
{
|
|
6353
|
+
"moduleName": "message",
|
|
6354
|
+
"exports": [
|
|
6355
|
+
"MessageBubbleProps",
|
|
6356
|
+
"MessageStampProps",
|
|
6357
|
+
"IncomingMessageProps",
|
|
6358
|
+
"OutgoingMessageProps",
|
|
6359
|
+
"MessageProps",
|
|
6360
|
+
"Message"
|
|
6361
|
+
]
|
|
6362
|
+
},
|
|
6332
6363
|
{
|
|
6333
6364
|
"moduleName": "modal",
|
|
6334
6365
|
"exports": [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from '../../../components/accordion/src/accordion';
|
|
2
2
|
export * from '../../../components/alert-badge/src/alert-badge';
|
|
3
3
|
export * from '../../../components/autocomplete/src/autocomplete';
|
|
4
|
+
export * from '../../../components/avatar/src/avatar';
|
|
4
5
|
export * from '../../../components/badge/src/badge';
|
|
5
6
|
export * from '../../../components/breadcrumbs/src/breadcrumbs';
|
|
6
7
|
export * from '../../../components/button/src/button';
|
|
@@ -32,6 +33,8 @@ export * from '../../../components/hero-banner/src/hero-banner';
|
|
|
32
33
|
export * from '../../../components/label/src/label';
|
|
33
34
|
export * from '../../../components/link/src/link';
|
|
34
35
|
export * from '../../../components/listbox/src/listbox';
|
|
36
|
+
export * from '../../../components/loading/src/loading';
|
|
37
|
+
export * from '../../../components/message/src/message';
|
|
35
38
|
export * from '../../../components/modal/src/modal';
|
|
36
39
|
export * from '../../../components/notification/src/notification';
|
|
37
40
|
export * from '../../../components/notification-banner/src/notification-banner';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../src/library.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,cAAc,CAAC;AAEtB,OAAO,qBAAqB,CAAC;AAE7B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,qBAAqB,CAAC;AAE7B,OAAO,+BAA+B,CAAC;AAEvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AAErC,cAAc,eAAe,CAAC;AAE9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,sBAAsB,CAAC;AAErC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,sBAAsB,CAAC;AAErC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AAExC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../src/library.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,cAAc,CAAC;AAEtB,OAAO,qBAAqB,CAAC;AAE7B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,qBAAqB,CAAC;AAE7B,OAAO,+BAA+B,CAAC;AAEvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAE9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,sBAAsB,CAAC;AAErC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,sBAAsB,CAAC;AAErC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,sBAAsB,CAAC;AAErC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,yBAAyB,CAAC;AAExC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../src/loading.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC"}
|