@yoopta/themes-shadcn 6.0.0-beta.9 → 6.0.1
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/accordion/elements/accordion-item-heading.d.ts.map +1 -1
- package/dist/accordion.js +1 -0
- package/dist/accordion.js.map +1 -0
- package/dist/applyTheme.d.ts.map +1 -1
- package/dist/blockquote.js +1 -0
- package/dist/blockquote.js.map +1 -0
- package/dist/callout/components/callout-element-options.d.ts +24 -0
- package/dist/callout/components/callout-element-options.d.ts.map +1 -0
- package/dist/callout/elements/callout.d.ts.map +1 -1
- package/dist/callout.js +13 -0
- package/dist/callout.js.map +1 -0
- package/dist/carousel.js +1 -0
- package/dist/carousel.js.map +1 -0
- package/dist/chunks/Combination-3c924518.js +1080 -0
- package/dist/chunks/Combination-3c924518.js.map +1 -0
- package/dist/chunks/Combination-575d4475.js +1 -0
- package/dist/chunks/_tslib-35bb891d.js +1 -0
- package/dist/chunks/_tslib-514d60fe.js +67 -0
- package/dist/chunks/_tslib-514d60fe.js.map +1 -0
- package/dist/chunks/arrow-right-38c3a9bd.js +13 -0
- package/dist/chunks/arrow-right-5ddace59.js +30 -0
- package/dist/chunks/arrow-right-5ddace59.js.map +1 -0
- package/dist/chunks/button-27a1fbc2.js +76 -0
- package/dist/chunks/button-27a1fbc2.js.map +1 -0
- package/dist/chunks/button-7aec29d6.js +1 -0
- package/dist/chunks/card-05710740.js +1 -0
- package/dist/chunks/card-12ed876a.js +38 -0
- package/dist/chunks/card-12ed876a.js.map +1 -0
- package/dist/chunks/check-06bd6a78.js +7 -0
- package/dist/chunks/check-9acc031a.js +14 -0
- package/dist/chunks/check-9acc031a.js.map +1 -0
- package/dist/chunks/chevron-down-28dfb290.js +7 -0
- package/dist/chunks/chevron-down-7424d0c3.js +16 -0
- package/dist/chunks/chevron-down-7424d0c3.js.map +1 -0
- package/dist/chunks/chevron-up-546faa64.js +14 -0
- package/dist/chunks/chevron-up-546faa64.js.map +1 -0
- package/dist/chunks/chevron-up-9a13532e.js +7 -0
- package/dist/chunks/code-5407bf8e.js +17 -0
- package/dist/chunks/code-5407bf8e.js.map +1 -0
- package/dist/chunks/code-d31bdce0.js +7 -0
- package/dist/chunks/createLucideIcon-6ba35914.js +56 -0
- package/dist/chunks/createLucideIcon-6ba35914.js.map +1 -0
- package/dist/chunks/createLucideIcon-8605f860.js +13 -0
- package/dist/chunks/dropdown-menu-9ba446af.js +1250 -0
- package/dist/chunks/dropdown-menu-9ba446af.js.map +1 -0
- package/dist/chunks/dropdown-menu-eb328f8d.js +13 -0
- package/dist/chunks/external-link-1579dd7f.js +7 -0
- package/dist/chunks/external-link-1bf3c7a2.js +18 -0
- package/dist/chunks/external-link-1bf3c7a2.js.map +1 -0
- package/dist/chunks/file-text-9e348575.js +23 -0
- package/dist/chunks/file-text-9e348575.js.map +1 -0
- package/dist/chunks/file-text-ad3e3ebb.js +7 -0
- package/dist/chunks/hover-card-22a4067b.js +258 -0
- package/dist/chunks/hover-card-22a4067b.js.map +1 -0
- package/dist/chunks/hover-card-d6a71398.js +1 -0
- package/dist/chunks/index-056e5c06.js +1 -0
- package/dist/chunks/index-0bca29df.js +7 -0
- package/dist/chunks/index-0c94b090.js +222 -0
- package/dist/chunks/index-0c94b090.js.map +1 -0
- package/dist/chunks/index-12e7c5fd.js +155 -0
- package/dist/chunks/index-12e7c5fd.js.map +1 -0
- package/dist/chunks/index-13505606.js +1 -0
- package/dist/chunks/index-1674c2c8.js +1 -0
- package/dist/chunks/index-17323747.js +1 -0
- package/dist/chunks/index-23c7fb16.js +1 -0
- package/dist/chunks/index-23db6fea.js +1 -0
- package/dist/chunks/index-26994c9d.js +131 -0
- package/dist/chunks/index-26994c9d.js.map +1 -0
- package/dist/chunks/index-600be8f8.js +190 -0
- package/dist/chunks/index-600be8f8.js.map +1 -0
- package/dist/chunks/index-70f4e709.js +1 -0
- package/dist/chunks/index-7e966ec9.js +16 -0
- package/dist/chunks/index-7e966ec9.js.map +1 -0
- package/dist/chunks/index-87b75648.js +13 -0
- package/dist/chunks/index-91a5b8d5.js +1 -0
- package/dist/chunks/index-9ac5afe2.js +201 -0
- package/dist/chunks/index-9ac5afe2.js.map +1 -0
- package/dist/chunks/index-9bb7ddb4.js +104 -0
- package/dist/chunks/index-9bb7ddb4.js.map +1 -0
- package/dist/chunks/index-a5cba5f7.js +1 -0
- package/dist/chunks/index-ae9b48d5.js +12 -0
- package/dist/chunks/index-ae9b48d5.js.map +1 -0
- package/dist/chunks/index-b26053ec.js +3805 -0
- package/dist/chunks/index-b26053ec.js.map +1 -0
- package/dist/chunks/index-b8f2908d.js +40 -0
- package/dist/chunks/index-b8f2908d.js.map +1 -0
- package/dist/chunks/index-ba3032f8.js +1 -0
- package/dist/chunks/index-c655a86f.js +7 -0
- package/dist/chunks/index-c655a86f.js.map +1 -0
- package/dist/chunks/index-ce60ba41.js +1 -0
- package/dist/chunks/index-d9171717.js +13 -0
- package/dist/chunks/index-d9171717.js.map +1 -0
- package/dist/chunks/index-e42d0aaf.js +36 -0
- package/dist/chunks/index-e42d0aaf.js.map +1 -0
- package/dist/chunks/index-ebc47eac.js +2765 -0
- package/dist/chunks/index-ebc47eac.js.map +1 -0
- package/dist/chunks/index-f85dae42.js +1 -0
- package/dist/chunks/index-ff0e3962.js +1 -0
- package/dist/chunks/index-ffe23855.js +71 -0
- package/dist/chunks/index-ffe23855.js.map +1 -0
- package/dist/chunks/input-7c5e4260.js +13 -0
- package/dist/chunks/input-7c5e4260.js.map +1 -0
- package/dist/chunks/input-b2431223.js +1 -0
- package/dist/chunks/label-21d46c31.js +1 -0
- package/dist/chunks/label-2a076b3f.js +70 -0
- package/dist/chunks/label-2a076b3f.js.map +1 -0
- package/dist/chunks/language-select-89735035.js +1 -0
- package/dist/chunks/language-select-b35256ab.js +12 -0
- package/dist/chunks/language-select-b35256ab.js.map +1 -0
- package/dist/chunks/play-998f23d2.js +7 -0
- package/dist/chunks/play-c2a06e4e.js +16 -0
- package/dist/chunks/play-c2a06e4e.js.map +1 -0
- package/dist/chunks/plus-840fe920.js +7 -0
- package/dist/chunks/plus-f36f52e8.js +17 -0
- package/dist/chunks/plus-f36f52e8.js.map +1 -0
- package/dist/chunks/popover-4b5c0941.js +385 -0
- package/dist/chunks/popover-4b5c0941.js.map +1 -0
- package/dist/chunks/popover-8e6ee2ab.js +1 -0
- package/dist/chunks/scroll-area-8dc03d8f.js +727 -0
- package/dist/chunks/scroll-area-8dc03d8f.js.map +1 -0
- package/dist/chunks/scroll-area-dae47c2c.js +1 -0
- package/dist/chunks/select-88f1b66c.js +1281 -0
- package/dist/chunks/select-88f1b66c.js.map +1 -0
- package/dist/chunks/select-a8bcd8b5.js +1 -0
- package/dist/chunks/separator-219dc1f7.js +1 -0
- package/dist/chunks/separator-a6b3e5d2.js +74 -0
- package/dist/chunks/separator-a6b3e5d2.js.map +1 -0
- package/dist/chunks/settings-2-84fe63d9.js +7 -0
- package/dist/chunks/settings-2-8e53118c.js +19 -0
- package/dist/chunks/settings-2-8e53118c.js.map +1 -0
- package/dist/chunks/sparkles-a0316be3.js +26 -0
- package/dist/chunks/sparkles-a0316be3.js.map +1 -0
- package/dist/chunks/sparkles-ae42eae3.js +7 -0
- package/dist/chunks/style-inject.es-746bb8ed.js +29 -0
- package/dist/chunks/style-inject.es-746bb8ed.js.map +1 -0
- package/dist/chunks/style-inject.es-e87a8d02.js +1 -0
- package/dist/chunks/tabs-294764a6.js +1 -0
- package/dist/chunks/tabs-38ee85c4.js +205 -0
- package/dist/chunks/tabs-38ee85c4.js.map +1 -0
- package/dist/chunks/tooltip-65b9c3a0.js +12 -0
- package/dist/chunks/tooltip-eb8a0f63.js +1671 -0
- package/dist/chunks/tooltip-eb8a0f63.js.map +1 -0
- package/dist/chunks/trash-2-41ddec45.js +20 -0
- package/dist/chunks/trash-2-41ddec45.js.map +1 -0
- package/dist/chunks/trash-2-f36597ff.js +7 -0
- package/dist/chunks/upload-b1dd210d.js +13 -0
- package/dist/chunks/upload-b987996c.js +44 -0
- package/dist/chunks/upload-b987996c.js.map +1 -0
- package/dist/chunks/utils-208f599b.js +2500 -0
- package/dist/chunks/utils-208f599b.js.map +1 -0
- package/dist/chunks/utils-3345eade.js +1 -0
- package/dist/chunks/x-9bfeb90f.js +7 -0
- package/dist/chunks/x-f7edc87d.js +17 -0
- package/dist/chunks/x-f7edc87d.js.map +1 -0
- package/dist/code/elements/code.d.ts.map +1 -1
- package/dist/code/elements/language-select.d.ts +4 -1
- package/dist/code/elements/language-select.d.ts.map +1 -1
- package/dist/code/elements/theme-select.d.ts +4 -1
- package/dist/code/elements/theme-select.d.ts.map +1 -1
- package/dist/code-group/elements/code-group-container.d.ts.map +1 -1
- package/dist/code-group/elements/code-group-content.d.ts.map +1 -1
- package/dist/code-group/elements/code-group-item-heading.d.ts.map +1 -1
- package/dist/code-group/elements/code-group-list.d.ts.map +1 -1
- package/dist/code-group.js +1 -0
- package/dist/code-group.js.map +1 -0
- package/dist/code.js +1 -0
- package/dist/code.js.map +1 -0
- package/dist/divider/componets/divider-element-options.d.ts +21 -0
- package/dist/divider/componets/divider-element-options.d.ts.map +1 -0
- package/dist/divider/elements/divider.d.ts.map +1 -1
- package/dist/divider.js +1 -0
- package/dist/divider.js.map +1 -0
- package/dist/embed/elements/embed/embed-inline-toolbar.d.ts +1 -1
- package/dist/embed/elements/embed/embed-inline-toolbar.d.ts.map +1 -1
- package/dist/embed/elements/embed/embed-render.d.ts.map +1 -1
- package/dist/embed.js +13 -0
- package/dist/embed.js.map +1 -0
- package/dist/emoji/elements/emoji/emoji-dropdown.d.ts +7 -0
- package/dist/emoji/elements/emoji/emoji-dropdown.d.ts.map +1 -0
- package/dist/emoji/elements/emoji/emoji-item.d.ts +10 -0
- package/dist/emoji/elements/emoji/emoji-item.d.ts.map +1 -0
- package/dist/emoji/index.d.ts +3 -0
- package/dist/emoji/index.d.ts.map +1 -0
- package/dist/emoji.js +1 -0
- package/dist/emoji.js.map +1 -0
- package/dist/file/elements/file/file-icons.d.ts +1 -1
- package/dist/file/elements/file/file-icons.d.ts.map +1 -1
- package/dist/file/elements/file/file-inline-toolbar.d.ts +1 -1
- package/dist/file/elements/file/file-inline-toolbar.d.ts.map +1 -1
- package/dist/file/elements/file/file-render.d.ts.map +1 -1
- package/dist/file.js +13 -0
- package/dist/file.js.map +1 -0
- package/dist/headings/heading-one/elements/heading-one.d.ts.map +1 -1
- package/dist/headings.js +1 -0
- package/dist/headings.js.map +1 -0
- package/dist/image/elements/image/image-element.d.ts.map +1 -1
- package/dist/image/elements/image/image-inline-toolbar.d.ts +1 -1
- package/dist/image/elements/image/image-inline-toolbar.d.ts.map +1 -1
- package/dist/image/elements/image/image-render.d.ts.map +1 -1
- package/dist/image.js +7 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -26
- package/dist/index.js.map +1 -0
- package/dist/link/elements/link/link-element.d.ts.map +1 -1
- package/dist/link/elements/link/link-preview.d.ts.map +1 -1
- package/dist/link.js +7 -0
- package/dist/link.js.map +1 -0
- package/dist/lists.js +1 -0
- package/dist/lists.js.map +1 -0
- package/dist/mention/elements/mention/mention-element.d.ts.map +1 -1
- package/dist/mention.js +13 -0
- package/dist/mention.js.map +1 -0
- package/dist/paragraph.js +1 -0
- package/dist/paragraph.js.map +1 -0
- package/dist/steps/elements/steps-container.d.ts.map +1 -1
- package/dist/steps/elements/steps-list-item.d.ts.map +1 -1
- package/dist/steps.js +1 -0
- package/dist/steps.js.map +1 -0
- package/dist/table/components/row-controls.d.ts.map +1 -1
- package/dist/table/components/table-controls.d.ts.map +1 -1
- package/dist/table/components/table-element-options.d.ts +2 -0
- package/dist/table/components/table-element-options.d.ts.map +1 -0
- package/dist/table/elements/table-data-cell.d.ts.map +1 -1
- package/dist/table/elements/table.d.ts.map +1 -1
- package/dist/table-of-contents/components/toc-element-options.d.ts +2 -0
- package/dist/table-of-contents/components/toc-element-options.d.ts.map +1 -0
- package/dist/table-of-contents/elements/table-of-contents.d.ts +3 -0
- package/dist/table-of-contents/elements/table-of-contents.d.ts.map +1 -0
- package/dist/table-of-contents/index.d.ts +6 -0
- package/dist/table-of-contents/index.d.ts.map +1 -0
- package/dist/table-of-contents.js +1 -0
- package/dist/table-of-contents.js.map +1 -0
- package/dist/table.js +13 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs/elements/tabs-item-heading.d.ts.map +1 -1
- package/dist/tabs/elements/tabs-list.d.ts.map +1 -1
- package/dist/tabs.js +1 -0
- package/dist/tabs.js.map +1 -0
- package/dist/ui/accordion.d.ts.map +1 -1
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/variables.css +50 -0
- package/dist/video/elements/video/video-inline-toolbar.d.ts +1 -1
- package/dist/video/elements/video/video-inline-toolbar.d.ts.map +1 -1
- package/dist/video.js +7 -0
- package/dist/video.js.map +1 -0
- package/package.json +173 -15
- package/LICENSE +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-item-heading.d.ts","sourceRoot":"","sources":["../../../src/accordion/elements/accordion-item-heading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAgB,MAAM,gBAAgB,CAAC;AAQ7E,eAAO,MAAM,oBAAoB,UAAW,wBAAwB,
|
|
1
|
+
{"version":3,"file":"accordion-item-heading.d.ts","sourceRoot":"","sources":["../../../src/accordion/elements/accordion-item-heading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAgB,MAAM,gBAAgB,CAAC;AAQ7E,eAAO,MAAM,oBAAoB,UAAW,wBAAwB,4CA4JnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{_ as n}from"./chunks/_tslib-35bb891d.js";import*as o from"react";import r,{forwardRef as i,useReducer as a,useMemo as s,useCallback as c}from"react";import{c as d,P as l,a as p,u}from"./chunks/index-17323747.js";import{c as f}from"./chunks/index-f85dae42.js";import{u as m}from"./chunks/index-91a5b8d5.js";import{u as h}from"./chunks/index-ff0e3962.js";import{P as b}from"./chunks/index-23db6fea.js";import{u as g}from"./chunks/index-ce60ba41.js";import{u as y}from"./chunks/index-13505606.js";import{c as v}from"./chunks/utils-3345eade.js";import{useYooptaEditor as k,Blocks as x,Elements as w}from"@yoopta/editor";import{Editor as j,Path as N,Transforms as C,Element as O}from"slate";import{P as _}from"./chunks/plus-840fe920.js";import{T as A}from"./chunks/trash-2-f36597ff.js";import{C as I}from"./chunks/chevron-down-28dfb290.js";import{s as E}from"./chunks/style-inject.es-e87a8d02.js";import"react-dom";import"./chunks/createLucideIcon-8605f860.js";var R="Collapsible",[D,P]=d(R),[S,B]=D(R),T=o.forwardRef((t,n)=>{const{__scopeCollapsible:r,open:i,defaultOpen:a,disabled:s,onOpenChange:c,...d}=t,[p,u]=h({prop:i,defaultProp:a??!1,onChange:c,caller:R});return e(S,{scope:r,disabled:s,contentId:g(),open:p,onOpenToggle:o.useCallback(()=>u(e=>!e),[u]),children:e(l.div,{"data-state":F(p),"data-disabled":s?"":void 0,...d,ref:n})})});T.displayName=R;var V="CollapsibleTrigger",z=o.forwardRef((t,n)=>{const{__scopeCollapsible:o,...r}=t,i=B(V,o);return e(l.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":F(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...r,ref:n,onClick:p(t.onClick,i.onOpenToggle)})});z.displayName=V;var H="CollapsibleContent",L=o.forwardRef((t,n)=>{const{forceMount:o,...r}=t,i=B(H,t.__scopeCollapsible);return e(b,{present:o||i.open,children:({present:t})=>e(q,{...r,ref:n,present:t})})});L.displayName=H;var q=o.forwardRef((t,n)=>{const{__scopeCollapsible:r,present:i,children:a,...s}=t,c=B(H,r),[d,p]=o.useState(i),f=o.useRef(null),h=m(n,f),b=o.useRef(0),g=b.current,y=o.useRef(0),v=y.current,k=c.open||d,x=o.useRef(k),w=o.useRef(void 0);return o.useEffect(()=>{const e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),u(()=>{const e=f.current;if(e){w.current=w.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";const t=e.getBoundingClientRect();b.current=t.height,y.current=t.width,x.current||(e.style.transitionDuration=w.current.transitionDuration,e.style.animationName=w.current.animationName),p(i)}},[c.open,i]),e(l.div,{"data-state":F(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!k,...s,ref:h,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...t.style},children:k&&a})});function F(e){return e?"open":"closed"}var K=T,M=z,U=L,$="Accordion",G=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[J,Q,W]=f($),[X,Y]=d($,[W,P]),Z=P(),ee=r.forwardRef((t,n)=>{const{type:o,...r}=t,i=r,a=r;return e(J.Provider,{scope:t.__scopeAccordion,children:"multiple"===o?e(ae,{...a,ref:n}):e(ie,{...i,ref:n})})});ee.displayName=$;var[te,ne]=X($),[oe,re]=X($,{collapsible:!1}),ie=r.forwardRef((t,n)=>{const{value:o,defaultValue:i,onValueChange:a=()=>{},collapsible:s=!1,...c}=t,[d,l]=h({prop:o,defaultProp:i??"",onChange:a,caller:$});return e(te,{scope:t.__scopeAccordion,value:r.useMemo(()=>d?[d]:[],[d]),onItemOpen:l,onItemClose:r.useCallback(()=>s&&l(""),[s,l]),children:e(oe,{scope:t.__scopeAccordion,collapsible:s,children:e(de,{...c,ref:n})})})}),ae=r.forwardRef((t,n)=>{const{value:o,defaultValue:i,onValueChange:a=()=>{},...s}=t,[c,d]=h({prop:o,defaultProp:i??[],onChange:a,caller:$}),l=r.useCallback(e=>d((t=[])=>[...t,e]),[d]),p=r.useCallback(e=>d((t=[])=>t.filter(t=>t!==e)),[d]);return e(te,{scope:t.__scopeAccordion,value:c,onItemOpen:l,onItemClose:p,children:e(oe,{scope:t.__scopeAccordion,collapsible:!0,children:e(de,{...s,ref:n})})})}),[se,ce]=X($),de=r.forwardRef((t,n)=>{const{__scopeAccordion:o,disabled:i,dir:a,orientation:s="vertical",...c}=t,d=r.useRef(null),u=m(d,n),f=Q(o),h="ltr"===y(a),b=p(t.onKeyDown,e=>{if(!G.includes(e.key))return;const t=e.target,n=f().filter(e=>!e.ref.current?.disabled),o=n.findIndex(e=>e.ref.current===t),r=n.length;if(-1===o)return;e.preventDefault();let i=o;const a=r-1,c=()=>{i=o+1,i>a&&(i=0)},d=()=>{i=o-1,i<0&&(i=a)};switch(e.key){case"Home":i=0;break;case"End":i=a;break;case"ArrowRight":"horizontal"===s&&(h?c():d());break;case"ArrowDown":"vertical"===s&&c();break;case"ArrowLeft":"horizontal"===s&&(h?d():c());break;case"ArrowUp":"vertical"===s&&d()}const l=i%r;n[l].ref.current?.focus()});return e(se,{scope:o,disabled:i,direction:a,orientation:s,children:e(J.Slot,{scope:o,children:e(l.div,{...c,"data-orientation":s,ref:u,onKeyDown:i?void 0:b})})})}),le="AccordionItem",[pe,ue]=X(le),fe=r.forwardRef((t,n)=>{const{__scopeAccordion:o,value:r,...i}=t,a=ce(le,o),s=ne(le,o),c=Z(o),d=g(),l=r&&s.value.includes(r)||!1,p=a.disabled||t.disabled;return e(pe,{scope:o,open:l,disabled:p,triggerId:d,children:e(K,{"data-orientation":a.orientation,"data-state":ve(l),...c,...i,ref:n,disabled:p,open:l,onOpenChange:e=>{e?s.onItemOpen(r):s.onItemClose(r)}})})});fe.displayName=le;var me="AccordionHeader";r.forwardRef((t,n)=>{const{__scopeAccordion:o,...r}=t,i=ce($,o),a=ue(me,o);return e(l.h3,{"data-orientation":i.orientation,"data-state":ve(a.open),"data-disabled":a.disabled?"":void 0,...r,ref:n})}).displayName=me;var he="AccordionTrigger",be=r.forwardRef((t,n)=>{const{__scopeAccordion:o,...r}=t,i=ce($,o),a=ue(he,o),s=re(he,o),c=Z(o);return e(J.ItemSlot,{scope:o,children:e(M,{"aria-disabled":a.open&&!s.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...c,...r,ref:n})})});be.displayName=he;var ge="AccordionContent",ye=r.forwardRef((t,n)=>{const{__scopeAccordion:o,...r}=t,i=ce($,o),a=ue(ge,o),s=Z(o);return e(U,{role:"region","aria-labelledby":a.triggerId,"data-orientation":i.orientation,...s,...r,ref:n,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});function ve(e){return e?"open":"closed"}ye.displayName=ge;var ke=ee,xe=fe,we=be,je=ye;const Ne=i((t,o)=>{var{children:r,className:i}=t,a=n(t,["children","className"]);return e(ke,Object.assign({},a,{className:v("w-full rounded-md border",i),ref:o,"data-slot":"accordion"},{children:r}))});Ne.displayName="Accordion";const Ce=i((t,o)=>{var{children:r}=t,i=n(t,["children"]);return e(xe,Object.assign({},i,{ref:o,"data-slot":"accordion-item",className:"border-b last:border-b-0"},{children:r}))});Ce.displayName="AccordionItem";const Oe=t=>{var{children:o}=t,r=n(t,["children"]);return e(we,Object.assign({},r,{type:"button",contentEditable:!1,"data-slot":"accordion-trigger",className:"flex shrink-0 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},{children:o}))},_e=i((t,o)=>{var{children:r}=t,i=n(t,["children"]);return e(je,Object.assign({},i,{ref:o,"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"},{children:e("div",Object.assign({className:"pt-0 pb-4 text-muted-foreground px-5"},{children:r}))}))});_e.displayName="AccordionContent";E("[data-element-type=accordion-list-item-content] [data-slate-node=element],[data-element-type=accordion-list-item-heading] [data-slate-node=element]{margin:0}");const Ae={"accordion-list":{render:t=>{const{attributes:n,children:o,blockId:r,element:i}=t,a=k(),c=s(()=>{const e=[];return i.children.forEach(t=>{var n;"accordion-list-item"===t.type&&(null===(n=t.props)||void 0===n?void 0:n.isExpanded)&&e.push(t.id)}),e},[i]);return e(Ne,Object.assign({},n,{type:"multiple",value:c,onValueChange:e=>{const t=x.getBlockSlate(a,{id:r});if(!t)return;const n=j.nodes(t,{match:e=>O.isElement(e)&&"accordion-list-item"===e.type});j.withoutNormalizing(t,()=>{var o;for(const[r,i]of n){const n=r,a=n.id,s=e.includes(a);(null===(o=n.props)||void 0===o?void 0:o.isExpanded)!==s&&C.setNodes(t,{props:Object.assign(Object.assign({},n.props),{isExpanded:s})},{at:i})}})},className:"w-full mt-2 rounded-md border"},{children:o}))}},"accordion-list-item":{render:t=>{var n;const{attributes:o,children:r,element:i}=t;return e(Ce,Object.assign({value:i.id,"data-state":(null===(n=i.props)||void 0===n?void 0:n.isExpanded)?"open":"closed"},o,{children:r}))}},"accordion-list-item-heading":{render:n=>{var o,r;const{attributes:i,children:d,element:l,blockId:p}=n,u=k(),[,f]=a(e=>e+1,0),m=s(()=>{const e=x.getBlockSlate(u,{id:p});if(e)try{const t=w.getElementPath(u,{blockId:p,element:l});return j.parent(e,t)[0]}catch(e){}},[u,p,l]),h=s(()=>{if(!m)return;if(x.getBlockSlate(u,{id:p}))try{return w.getElementPath(u,{blockId:p,element:m})}catch(e){}},[u,p,m]),b=null!==(r=null===(o=null==m?void 0:m.props)||void 0===o?void 0:o.isExpanded)&&void 0!==r&&r,g=c(()=>{m&&h&&w.updateElement(u,{blockId:p,type:m.type,props:Object.assign(Object.assign({},m.props),{isExpanded:!b}),path:h}),f()},[u,p,m,h,b]),y=c(e=>{if(u.readOnly)return;if(e.preventDefault(),e.stopPropagation(),!m||!h)return;const t=w.getElementChildren(u,{blockId:p,type:"accordion-list"});1!==(null==t?void 0:t.length)?w.deleteElement(u,{blockId:p,type:"accordion-list-item",path:h}):x.deleteBlock(u,{blockId:p})},[u,p,m,h]),v=c(e=>{if(u.readOnly)return;e.preventDefault(),e.stopPropagation();const t=x.getBlockSlate(u,{id:p});if(!t||!h)return;const n=u.y("accordion-list-item",{props:{isExpanded:!1},children:[u.y("accordion-list-item-heading"),u.y("accordion-list-item-content")]});j.withoutNormalizing(t,()=>{const e=N.next(h);C.insertNodes(t,n,{at:e});const o=[...e,0,0];setTimeout(()=>{C.select(t,{offset:0,path:o})},0)})},[u,p,h]);return t("div",Object.assign({},i,{className:"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all px-5"},{children:[e("div",Object.assign({className:"flex-1 min-w-0"},{children:d})),t("div",Object.assign({className:"flex shrink-0 items-center gap-1",contentEditable:!1},{children:[!u.readOnly&&e("button",Object.assign({type:"button",contentEditable:!1,onClick:v,className:"flex items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 p-1",title:"Add accordion item"},{children:e(_,{className:"h-4 w-4 shrink-0 text-muted-foreground"})})),!u.readOnly&&e("button",Object.assign({type:"button",contentEditable:!1,onClick:y,className:"flex items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 p-1",title:"Delete accordion item"},{children:e(A,{className:"h-4 w-4 shrink-0 text-muted-foreground"})})),e(Oe,Object.assign({type:"button",contentEditable:!1,"data-slot":"accordion-trigger",onClick:g,className:"flex shrink-0 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},{children:e(I,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 "+(b?"rotate-180":"")})}))]}))]}))}},"accordion-list-item-content":{render:t=>{const{attributes:n,children:o}=t;return e(_e,Object.assign({},n,{className:"text-muted-foreground px-5"},{children:o}))}}};export{Ae as AccordionUI};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sources":["../../../../node_modules/@radix-ui/react-collapsible/src/collapsible.tsx","../../../../node_modules/@radix-ui/react-accordion/src/accordion.tsx","../src/ui/accordion.tsx","../src/accordion/elements/accordion-item-content.tsx","../src/accordion/elements/accordion-item-heading.tsx","../src/accordion/elements/accordion-list.tsx","../src/accordion/elements/accordion-list-item.tsx","../src/accordion/index.ts"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/\n\nconst COLLAPSIBLE_NAME = 'Collapsible';\n\ntype ScopedProps<P> = P & { __scopeCollapsible?: Scope };\nconst [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n\ntype CollapsibleContextValue = {\n contentId: string;\n disabled?: boolean;\n open: boolean;\n onOpenToggle(): void;\n};\n\nconst [CollapsibleProvider, useCollapsibleContext] =\n createCollapsibleContext<CollapsibleContextValue>(COLLAPSIBLE_NAME);\n\ntype CollapsibleElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface CollapsibleProps extends PrimitiveDivProps {\n defaultOpen?: boolean;\n open?: boolean;\n disabled?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst Collapsible = React.forwardRef<CollapsibleElement, CollapsibleProps>(\n (props: ScopedProps<CollapsibleProps>, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME,\n });\n\n return (\n <CollapsibleProvider\n scope={__scopeCollapsible}\n disabled={disabled}\n contentId={useId()}\n open={open}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n >\n <Primitive.div\n data-state={getState(open)}\n data-disabled={disabled ? '' : undefined}\n {...collapsibleProps}\n ref={forwardedRef}\n />\n </CollapsibleProvider>\n );\n }\n);\n\nCollapsible.displayName = COLLAPSIBLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CollapsibleTrigger';\n\ntype CollapsibleTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface CollapsibleTriggerProps extends PrimitiveButtonProps {}\n\nconst CollapsibleTrigger = React.forwardRef<CollapsibleTriggerElement, CollapsibleTriggerProps>(\n (props: ScopedProps<CollapsibleTriggerProps>, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return (\n <Primitive.button\n type=\"button\"\n aria-controls={context.contentId}\n aria-expanded={context.open || false}\n data-state={getState(context.open)}\n data-disabled={context.disabled ? '' : undefined}\n disabled={context.disabled}\n {...triggerProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n }\n);\n\nCollapsibleTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'CollapsibleContent';\n\ntype CollapsibleContentElement = CollapsibleContentImplElement;\ninterface CollapsibleContentProps extends Omit<CollapsibleContentImplProps, 'present'> {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CollapsibleContent = React.forwardRef<CollapsibleContentElement, CollapsibleContentProps>(\n (props: ScopedProps<CollapsibleContentProps>, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return (\n <Presence present={forceMount || context.open}>\n {({ present }) => (\n <CollapsibleContentImpl {...contentProps} ref={forwardedRef} present={present} />\n )}\n </Presence>\n );\n }\n);\n\nCollapsibleContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype CollapsibleContentImplElement = React.ComponentRef<typeof Primitive.div>;\ninterface CollapsibleContentImplProps extends PrimitiveDivProps {\n present: boolean;\n}\n\nconst CollapsibleContentImpl = React.forwardRef<\n CollapsibleContentImplElement,\n CollapsibleContentImplProps\n>((props: ScopedProps<CollapsibleContentImplProps>, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef<CollapsibleContentImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef<number | undefined>(0);\n const height = heightRef.current;\n const widthRef = React.useRef<number | undefined>(0);\n const width = widthRef.current;\n // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef<Record<string, string>>(undefined);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n };\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none';\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration!;\n node.style.animationName = originalStylesRef.current.animationName!;\n }\n\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */\n }, [context.open, present]);\n\n return (\n <Primitive.div\n data-state={getState(context.open)}\n data-disabled={context.disabled ? '' : undefined}\n id={context.contentId}\n hidden={!isOpen}\n {...contentProps}\n ref={composedRefs}\n style={{\n [`--radix-collapsible-content-height` as any]: height ? `${height}px` : undefined,\n [`--radix-collapsible-content-width` as any]: width ? `${width}px` : undefined,\n ...props.style,\n }}\n >\n {isOpen && children}\n </Primitive.div>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Collapsible;\nconst Trigger = CollapsibleTrigger;\nconst Content = CollapsibleContent;\n\nexport {\n createCollapsibleScope,\n //\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n //\n Root,\n Trigger,\n Content,\n};\nexport type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps };\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\nimport { createCollapsibleScope } from '@radix-ui/react-collapsible';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * Accordion\n * -----------------------------------------------------------------------------------------------*/\n\nconst ACCORDION_NAME = 'Accordion';\nconst ACCORDION_KEYS = ['Home', 'End', 'ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'];\n\nconst [Collection, useCollection, createCollectionScope] =\n createCollection<AccordionTriggerElement>(ACCORDION_NAME);\n\ntype ScopedProps<P> = P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef<AccordionElement, AccordionSingleProps | AccordionMultipleProps>(\n (props: ScopedProps<AccordionSingleProps | AccordionMultipleProps>, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n <Collection.Provider scope={props.__scopeAccordion}>\n {type === 'multiple' ? (\n <AccordionImplMultiple {...multipleProps} ref={forwardedRef} />\n ) : (\n <AccordionImplSingle {...singleProps} ref={forwardedRef} />\n )}\n </Collection.Provider>\n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext<AccordionValueContextValue>(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef<AccordionImplSingleElement, AccordionImplSingleProps>(\n (props: ScopedProps<AccordionImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? '',\n onChange: onValueChange,\n caller: ACCORDION_NAME,\n });\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={React.useMemo(() => (value ? [value] : []), [value])}\n onItemOpen={setValue}\n onItemClose={React.useCallback(() => collapsible && setValue(''), [collapsible, setValue])}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={collapsible}>\n <AccordionImpl {...accordionSingleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps<AccordionImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <AccordionValueProvider\n scope={props.__scopeAccordion}\n value={value}\n onItemOpen={handleItemOpen}\n onItemClose={handleItemClose}\n >\n <AccordionCollapsibleProvider scope={props.__scopeAccordion} collapsible={true}>\n <AccordionImpl {...accordionMultipleProps} ref={forwardedRef} />\n </AccordionCollapsibleProvider>\n </AccordionValueProvider>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n direction: AccordionImplProps['dir'];\n orientation: AccordionImplProps['orientation'];\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext<AccordionImplContextValue>(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * The layout in which the Accordion operates.\n * @default vertical\n */\n orientation?: React.AriaAttributes['aria-orientation'];\n /**\n * The language read direction.\n */\n dir?: Direction;\n}\n\nconst AccordionImpl = React.forwardRef<AccordionImplElement, AccordionImplProps>(\n (props: ScopedProps<AccordionImplProps>, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = 'vertical', ...accordionProps } = props;\n const accordionRef = React.useRef<AccordionImplElement>(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === 'ltr';\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n\n switch (event.key) {\n case 'Home':\n nextIndex = homeIndex;\n break;\n case 'End':\n nextIndex = endIndex;\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n moveNext();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n movePrev();\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex]!.ref.current?.focus();\n });\n\n return (\n <AccordionImplProvider\n scope={__scopeAccordion}\n disabled={disabled}\n direction={dir}\n orientation={orientation}\n >\n <Collection.Slot scope={__scopeAccordion}>\n <Primitive.div\n {...accordionProps}\n data-orientation={orientation}\n ref={composedRefs}\n onKeyDown={disabled ? undefined : handleKeyDown}\n />\n </Collection.Slot>\n </AccordionImplProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext<AccordionItemContextValue>(ITEM_NAME);\n\ntype AccordionItemElement = React.ComponentRef<typeof CollapsiblePrimitive.Root>;\ntype CollapsibleProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;\ninterface AccordionItemProps\n extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props: ScopedProps<AccordionItemProps>, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n <AccordionItemProvider\n scope={__scopeAccordion}\n open={open}\n disabled={disabled}\n triggerId={triggerId}\n >\n <CollapsiblePrimitive.Root\n data-orientation={accordionContext.orientation}\n data-state={getState(open)}\n {...collapsibleScope}\n {...accordionItemProps}\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n onOpenChange={(open) => {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n </AccordionItemProvider>\n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ComponentRef<typeof Primitive.h3>;\ntype PrimitiveHeading3Props = React.ComponentPropsWithoutRef<typeof Primitive.h3>;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props: ScopedProps<AccordionHeaderProps>, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n <Primitive.h3\n data-orientation={accordionContext.orientation}\n data-state={getState(itemContext.open)}\n data-disabled={itemContext.disabled ? '' : undefined}\n {...headerProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ComponentRef<typeof CollapsiblePrimitive.Trigger>;\ntype CollapsibleTriggerProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n (props: ScopedProps<AccordionTriggerProps>, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <Collection.ItemSlot scope={__scopeAccordion}>\n <CollapsiblePrimitive.Trigger\n aria-disabled={(itemContext.open && !collapsibleContext.collapsible) || undefined}\n data-orientation={accordionContext.orientation}\n id={itemContext.triggerId}\n {...collapsibleScope}\n {...triggerProps}\n ref={forwardedRef}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ComponentRef<typeof CollapsiblePrimitive.Content>;\ntype CollapsibleContentProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props: ScopedProps<AccordionContentProps>, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n <CollapsiblePrimitive.Content\n role=\"region\"\n aria-labelledby={itemContext.triggerId}\n data-orientation={accordionContext.orientation}\n {...collapsibleScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ['--radix-accordion-content-height' as any]: 'var(--radix-collapsible-content-height)',\n ['--radix-accordion-content-width' as any]: 'var(--radix-collapsible-content-width)',\n ...props.style,\n }}\n />\n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n","'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentProps } from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\n\nimport { cn } from '../utils';\n\nconst Accordion = forwardRef<HTMLDivElement, ComponentProps<typeof AccordionPrimitive.Root>>(\n ({ children, className, ...props }, ref) => (\n <AccordionPrimitive.Root\n {...props}\n className={cn(\"w-full rounded-md border\", className)}\n ref={ref}\n data-slot=\"accordion\">\n {children}\n </AccordionPrimitive.Root>\n ),\n);\nAccordion.displayName = 'Accordion';\n\nconst AccordionItem = forwardRef<HTMLDivElement, ComponentProps<typeof AccordionPrimitive.Item>>(\n ({ children, ...props }, ref) => (\n <AccordionPrimitive.Item\n {...props}\n ref={ref}\n data-slot=\"accordion-item\"\n className=\"border-b last:border-b-0\">\n {children}\n </AccordionPrimitive.Item>\n ),\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = ({\n children,\n ...props\n}: ComponentProps<typeof AccordionPrimitive.Trigger>) => (\n <AccordionPrimitive.Trigger\n {...props}\n type=\"button\"\n contentEditable={false}\n data-slot=\"accordion-trigger\"\n className=\"flex shrink-0 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\">\n {children}\n </AccordionPrimitive.Trigger>\n);\n\nconst AccordionContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof AccordionPrimitive.Content>\n>(({ children, ...props }, ref) => (\n <AccordionPrimitive.Content\n {...props}\n ref={ref}\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\">\n <div className=\"pt-0 pb-4 text-muted-foreground px-5\">{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = 'AccordionContent';\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n","import type { PluginElementRenderProps } from '@yoopta/editor';\n\nimport { AccordionContent } from '../../ui/accordion';\n\nexport const AccordionItemContent = (props: PluginElementRenderProps) => {\n const { attributes, children } = props;\n\n return (\n <AccordionContent {...attributes} className=\"text-muted-foreground px-5\">\n {children}\n </AccordionContent>\n );\n};\n","import { useCallback, useMemo, useReducer } from 'react';\nimport type { PluginElementRenderProps, SlateElement } from '@yoopta/editor';\nimport { Blocks, Elements, useYooptaEditor } from '@yoopta/editor';\nimport { ChevronDown, Plus, Trash2 } from 'lucide-react';\nimport type { Location } from 'slate';\nimport { Editor, Path, Transforms } from 'slate';\n\nimport { AccordionTrigger } from '../../ui/accordion';\n\nexport const AccordionItemHeading = (props: PluginElementRenderProps) => {\n const { attributes, children, element, blockId } = props;\n const editor = useYooptaEditor();\n const [, forceRerender] = useReducer((x) => x + 1, 0);\n\n const parentListItem = useMemo(() => {\n const slate = Blocks.getBlockSlate(editor, { id: blockId });\n if (!slate) return undefined;\n\n try {\n const elementPath = Elements.getElementPath(editor, {\n blockId,\n element,\n });\n const parentElement = Editor.parent(slate, elementPath as Location);\n return parentElement[0] as SlateElement;\n } catch (error) {\n // Element path not found\n }\n\n return undefined;\n }, [editor, blockId, element]);\n\n const parentListItemPath = useMemo(() => {\n if (!parentListItem) return undefined;\n\n const slate = Blocks.getBlockSlate(editor, { id: blockId });\n if (!slate) return undefined;\n\n try {\n return Elements.getElementPath(editor, { blockId, element: parentListItem });\n } catch (error) {\n // Element path not found\n }\n\n return undefined;\n }, [editor, blockId, parentListItem]);\n\n const isExpanded = parentListItem?.props?.isExpanded ?? false;\n\n const toggleListItem = useCallback(() => {\n if (parentListItem && parentListItemPath) {\n Elements.updateElement(editor, {\n blockId,\n type: parentListItem.type,\n props: {\n ...parentListItem.props,\n isExpanded: !isExpanded,\n },\n path: parentListItemPath,\n });\n }\n\n forceRerender();\n }, [editor, blockId, parentListItem, parentListItemPath, isExpanded]);\n\n const deleteListItem = useCallback(\n (e: React.MouseEvent) => {\n if (editor.readOnly) return;\n e.preventDefault();\n e.stopPropagation();\n\n if (!parentListItem || !parentListItemPath) return;\n\n // Get all accordion-list-item children to check if this is the last one\n const listItems = Elements.getElementChildren(editor, {\n blockId,\n type: 'accordion-list',\n });\n\n if (listItems?.length === 1) {\n Blocks.deleteBlock(editor, { blockId });\n return;\n }\n\n Elements.deleteElement(editor, {\n blockId,\n type: 'accordion-list-item',\n path: parentListItemPath,\n });\n },\n [editor, blockId, parentListItem, parentListItemPath],\n );\n\n const addListItem = useCallback(\n (e: React.MouseEvent) => {\n if (editor.readOnly) return;\n e.preventDefault();\n e.stopPropagation();\n\n const slate = Blocks.getBlockSlate(editor, { id: blockId });\n if (!slate || !parentListItemPath) return;\n\n // Create new accordion-list-item using editor.y()\n const newListItem = editor.y('accordion-list-item', {\n props: { isExpanded: false },\n children: [\n editor.y('accordion-list-item-heading'),\n editor.y('accordion-list-item-content'),\n ],\n });\n\n Editor.withoutNormalizing(slate, () => {\n const nextListItemPath = Path.next(parentListItemPath);\n Transforms.insertNodes(slate, newListItem, { at: nextListItemPath });\n const nextLeafPath = [...nextListItemPath, 0, 0];\n\n setTimeout(() => {\n Transforms.select(slate, { offset: 0, path: nextLeafPath });\n }, 0);\n });\n },\n [editor, blockId, parentListItemPath],\n );\n\n return (\n <div\n {...attributes}\n className=\"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all px-5\">\n <div className=\"flex-1 min-w-0\">{children}</div>\n\n <div className=\"flex shrink-0 items-center gap-1\" contentEditable={false}>\n {!editor.readOnly && (\n <button\n type=\"button\"\n contentEditable={false}\n onClick={addListItem}\n className=\"flex items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 p-1\"\n title=\"Add accordion item\">\n <Plus className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n </button>\n )}\n {!editor.readOnly && (\n <button\n type=\"button\"\n contentEditable={false}\n onClick={deleteListItem}\n className=\"flex items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 p-1\"\n title=\"Delete accordion item\">\n <Trash2 className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n </button>\n )}\n <AccordionTrigger\n type=\"button\"\n contentEditable={false}\n data-slot=\"accordion-trigger\"\n onClick={toggleListItem}\n className=\"flex shrink-0 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\">\n <ChevronDown\n className={`h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 ${isExpanded ? 'rotate-180' : ''\n }`}\n />\n </AccordionTrigger>\n </div>\n </div>\n );\n};\n","import { useMemo } from 'react';\nimport type { PluginElementRenderProps, SlateElement } from '@yoopta/editor';\nimport { Blocks, useYooptaEditor } from '@yoopta/editor';\nimport { Editor, Element, Transforms } from 'slate';\n\nimport { Accordion } from '../../ui/accordion';\n\nexport const AccordionList = (props: PluginElementRenderProps) => {\n const { attributes, children, blockId, element } = props;\n const editor = useYooptaEditor();\n\n const values = useMemo(() => {\n const expandedIds: string[] = [];\n\n element.children.forEach((listItem: any) => {\n if (listItem.type === 'accordion-list-item' && listItem.props?.isExpanded) {\n expandedIds.push(listItem.id);\n }\n });\n\n return expandedIds;\n }, [element]);\n\n const onValueChange = (value: string[]) => {\n const slate = Blocks.getBlockSlate(editor, { id: blockId });\n if (!slate) return;\n\n // Find all accordion-list-item elements\n const itemNodes = Editor.nodes<SlateElement>(slate, {\n match: (n) => Element.isElement(n) && (n as SlateElement).type === 'accordion-list-item',\n });\n\n Editor.withoutNormalizing(slate, () => {\n for (const [node, path] of itemNodes) {\n const itemElement = node as SlateElement;\n const itemId = itemElement.id as string;\n const shouldBeExpanded = value.includes(itemId);\n\n if (itemElement.props?.isExpanded !== shouldBeExpanded) {\n Transforms.setNodes<SlateElement>(\n slate,\n { props: { ...itemElement.props, isExpanded: shouldBeExpanded } },\n { at: path },\n );\n }\n }\n });\n };\n\n return (\n <Accordion\n {...attributes}\n type=\"multiple\"\n value={values}\n onValueChange={onValueChange}\n className=\"w-full mt-2 rounded-md border\">\n {children}\n </Accordion>\n );\n};\n","import type { PluginElementRenderProps } from '@yoopta/editor';\n\nimport { AccordionItem } from '../../ui/accordion';\n\nexport const AccordionListItem = (props: PluginElementRenderProps) => {\n const { attributes, children, element } = props;\n\n return (\n <AccordionItem\n value={element.id}\n data-state={element.props?.isExpanded ? 'open' : 'closed'}\n {...attributes}>\n {children}\n </AccordionItem>\n );\n};\n","import { AccordionItemContent } from './elements/accordion-item-content';\nimport { AccordionItemHeading } from './elements/accordion-item-heading';\nimport { AccordionList } from './elements/accordion-list';\nimport { AccordionListItem } from './elements/accordion-list-item';\nimport './styles.css';\n\nexport const AccordionUI = {\n 'accordion-list': {\n render: AccordionList,\n },\n 'accordion-list-item': {\n render: AccordionListItem,\n },\n 'accordion-list-item-heading': {\n render: AccordionItemHeading,\n },\n 'accordion-list-item-content': {\n render: AccordionItemContent,\n },\n};\n"],"names":["getState","TRIGGER_NAME","CONTENT_NAME","useLayoutEffect","Accordion","React","value","AccordionItem","CollapsiblePrimitive.Root","open","AccordionTrigger","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","Root","Trigger","Content","_jsx","AccordionPrimitive.Root","AccordionPrimitive.Item","AccordionPrimitive.Trigger","AccordionPrimitive.Content","_jsxs"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/applyTheme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyTheme.d.ts","sourceRoot":"","sources":["../src/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"applyTheme.d.ts","sourceRoot":"","sources":["../src/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAwBnD,KAAK,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAG3C,KAAK,gBAAgB,GAAG,MAAM,CAC5B,MAAM,EACN;IACE,yBAAyB,CAAC,EAAE,YAAY,EAAE,CAAC;IAE3C,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,YAAY,EAAE,EACvB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,YAAY,EAAE,CAuDhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";const r={blockquote:{render:r=>{const{attributes:t,children:o}=r;return e("blockquote",Object.assign({},t,{className:"mt-4 border-l-2 pl-6 leading-7"},{children:o}))}}};export{r as BlockquoteUI};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockquote.js","sources":["../src/blockquote/elements/blockquote.tsx","../src/blockquote/index.ts"],"sourcesContent":["import type { PluginElementRenderProps } from '@yoopta/editor';\n\nexport const Blockquote = (props: PluginElementRenderProps) => {\n const { attributes, children } = props;\n\n return (\n <blockquote {...attributes} className=\"mt-4 border-l-2 pl-6 leading-7\">\n {children}\n </blockquote>\n );\n};\n","import { Blockquote } from './elements/blockquote';\n\nexport const BlockquoteUI = {\n blockquote: {\n render: Blockquote,\n },\n};\n"],"names":["_jsx"],"mappings":";;AAEO,MAAM,UAAU,GAAG,CAAC,KAA+B,KAAI;AAC5D,IAAA,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEvC,QACEA,GAAgB,CAAA,YAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,EAAE,EAAA,SAAS,EAAC,gCAAgC,EACnE,EAAA,EAAA,QAAA,EAAA,QAAQ,EACE,CAAA,CAAA,EACb;AACJ,CAAC;;ACRY,MAAA,YAAY,GAAG;AAC1B,IAAA,UAAU,EAAE;AACV,QAAA,MAAM,EAAE,UAAU;AACnB,KAAA;;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const CALLOUT_THEMES: ({
|
|
2
|
+
value: "default";
|
|
3
|
+
label: string;
|
|
4
|
+
icon: import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
} | {
|
|
6
|
+
value: "info";
|
|
7
|
+
label: string;
|
|
8
|
+
icon: import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
} | {
|
|
10
|
+
value: "success";
|
|
11
|
+
label: string;
|
|
12
|
+
icon: import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
} | {
|
|
14
|
+
value: "warning";
|
|
15
|
+
label: string;
|
|
16
|
+
icon: import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
} | {
|
|
18
|
+
value: "error";
|
|
19
|
+
label: string;
|
|
20
|
+
icon: import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
})[];
|
|
22
|
+
export type CalloutTheme = 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
23
|
+
export declare const CalloutElementOptions: () => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=callout-element-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout-element-options.d.ts","sourceRoot":"","sources":["../../../src/callout/components/callout-element-options.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;IAM1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAOhF,eAAO,MAAM,qBAAqB,+CAmCjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../src/callout/elements/callout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../src/callout/elements/callout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAwB/D,eAAO,MAAM,OAAO,UAAW,wBAAwB,4CAoBtD,CAAC"}
|
package/dist/callout.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useElementOptions as l,useUpdateElementProps as t,ElementOptions as a}from"@yoopta/ui/element-options";import{c as o}from"./chunks/utils-3345eade.js";import{c as d}from"./chunks/createLucideIcon-8605f860.js";import"react";
|
|
2
|
+
/**
|
|
3
|
+
* @license lucide-react v0.294.0 - ISC
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the ISC license.
|
|
6
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/const n=d("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),c=d("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),i=d("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),s=d("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]),u=d("XCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),b=[{value:"default",label:"Default",icon:e(s,{className:"h-4 w-4"})},{value:"info",label:"Info",icon:e(i,{className:"h-4 w-4 text-blue-500"})},{value:"success",label:"Success",icon:e(c,{className:"h-4 w-4 text-green-500"})},{value:"warning",label:"Warning",icon:e(n,{className:"h-4 w-4 text-yellow-500"})},{value:"error",label:"Error",icon:e(u,{className:"h-4 w-4 text-red-500"})}],m=()=>{var o,d;const{element:n}=l(),c=t();return e(a.Content,Object.assign({side:"bottom",align:"end",sideOffset:8,className:"min-w-[160px] rounded-lg border bg-popover p-2 shadow-md"},{children:r(a.Group,Object.assign({className:"flex flex-col gap-1"},{children:[e(a.Label,Object.assign({className:"px-2 text-xs font-medium text-muted-foreground"},{children:"Theme"})),e(a.Select,{value:null!==(d=null===(o=n.props)||void 0===o?void 0:o.theme)&&void 0!==d?d:"default",options:b,onValueChange:e=>c({theme:e}),className:"flex h-8 w-full items-center justify-between rounded-md border border-input bg-background px-3 text-sm hover:bg-accent",renderOption:e=>r("span",Object.assign({className:"flex items-center gap-2"},{children:[e.icon,e.label]})),renderValue:e=>{var l;return r("span",Object.assign({className:"flex items-center gap-2"},{children:[null==e?void 0:e.icon,null!==(l=null==e?void 0:e.label)&&void 0!==l?l:"Select theme"]}))}})]}))}))},g=(e="default")=>({default:"bg-muted text-muted-foreground border-muted-foreground/20",info:"bg-blue-50 text-blue-900 border-blue-200 dark:bg-blue-950 dark:text-blue-100 dark:border-blue-800",success:"bg-green-50 text-green-900 border-green-200 dark:bg-green-950 dark:text-green-100 dark:border-green-800",warning:"bg-yellow-50 text-yellow-900 border-yellow-200 dark:bg-yellow-950 dark:text-yellow-100 dark:border-yellow-800",error:"bg-red-50 text-red-900 border-red-200 dark:bg-red-950 dark:text-red-100 dark:border-red-800"}[e]),p={callout:{render:l=>{var t,d;const{attributes:n,children:c,element:i,blockId:s}=l,u=null!==(d=null===(t=i.props)||void 0===t?void 0:t.theme)&&void 0!==d?d:"default";return r("div",Object.assign({},n,{className:o("mt-4 group relative rounded-lg border-l-4 p-4 [&>p]:m-0 [&>p]:text-sm",g(u))},{children:[r(a.Root,Object.assign({blockId:s,element:i},{children:[e(a.Trigger,{className:"absolute right-0 top-0 opacity-0 group-hover:opacity-100 transition-opacity rounded-md p-1 hover:bg-black/5 dark:hover:bg-white/10"}),e(m,{})]})),c]}))}}};
|
|
8
|
+
/**
|
|
9
|
+
* @license lucide-react v0.294.0 - ISC
|
|
10
|
+
*
|
|
11
|
+
* This source code is licensed under the ISC license.
|
|
12
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
13
|
+
*/export{p as CalloutUI};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout.js","sources":["../../../../node_modules/lucide-react/src/icons/alert-circle.ts","../../../../node_modules/lucide-react/src/icons/check-circle.ts","../../../../node_modules/lucide-react/src/icons/info.ts","../../../../node_modules/lucide-react/src/icons/message-square.ts","../../../../node_modules/lucide-react/src/icons/x-circle.ts","../src/callout/components/callout-element-options.tsx","../src/callout/elements/callout.tsx","../src/callout/index.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name AlertCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/alert-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst AlertCircle = createLucideIcon('AlertCircle', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['line', { x1: '12', x2: '12', y1: '8', y2: '12', key: '1pkeuh' }],\n ['line', { x1: '12', x2: '12.01', y1: '16', y2: '16', key: '4dfq90' }],\n]);\n\nexport default AlertCircle;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CheckCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CheckCircle = createLucideIcon('CheckCircle', [\n ['path', { d: 'M22 11.08V12a10 10 0 1 1-5.93-9.14', key: 'g774vq' }],\n ['path', { d: 'm9 11 3 3L22 4', key: '1pflzl' }],\n]);\n\nexport default CheckCircle;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon('Info', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n]);\n\nexport default Info;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon('MessageSquare', [\n ['path', { d: 'M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z', key: '1lielz' }],\n]);\n\nexport default MessageSquare;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name XCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst XCircle = createLucideIcon('XCircle', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm15 9-6 6', key: '1uzhvr' }],\n ['path', { d: 'm9 9 6 6', key: 'z0biqf' }],\n]);\n\nexport default XCircle;\n","import {\n ElementOptions,\n useElementOptions,\n useUpdateElementProps,\n} from '@yoopta/ui/element-options';\nimport { AlertCircle, CheckCircle, Info, MessageSquare, XCircle } from 'lucide-react';\n\nexport const CALLOUT_THEMES = [\n { value: 'default' as const, label: 'Default', icon: <MessageSquare className=\"h-4 w-4\" /> },\n { value: 'info' as const, label: 'Info', icon: <Info className=\"h-4 w-4 text-blue-500\" /> },\n { value: 'success' as const, label: 'Success', icon: <CheckCircle className=\"h-4 w-4 text-green-500\" /> },\n { value: 'warning' as const, label: 'Warning', icon: <AlertCircle className=\"h-4 w-4 text-yellow-500\" /> },\n { value: 'error' as const, label: 'Error', icon: <XCircle className=\"h-4 w-4 text-red-500\" /> },\n];\n\nexport type CalloutTheme = 'default' | 'success' | 'warning' | 'error' | 'info';\n\n\ntype CalloutElementProps = {\n theme: CalloutTheme;\n};\n\nexport const CalloutElementOptions = () => {\n const { element } = useElementOptions();\n const updateProps = useUpdateElementProps<CalloutElementProps>();\n\n return (\n <ElementOptions.Content\n side=\"bottom\"\n align=\"end\"\n sideOffset={8}\n className=\"min-w-[160px] rounded-lg border bg-popover p-2 shadow-md\">\n <ElementOptions.Group className=\"flex flex-col gap-1\">\n <ElementOptions.Label className=\"px-2 text-xs font-medium text-muted-foreground\">\n Theme\n </ElementOptions.Label>\n <ElementOptions.Select\n value={(element.props?.theme as CalloutTheme) ?? 'default'}\n options={CALLOUT_THEMES}\n onValueChange={(value) => updateProps({ theme: value })}\n className=\"flex h-8 w-full items-center justify-between rounded-md border border-input bg-background px-3 text-sm hover:bg-accent\"\n renderOption={(option) => (\n <span className=\"flex items-center gap-2\">\n {option.icon}\n {option.label}\n </span>\n )}\n renderValue={(option) => (\n <span className=\"flex items-center gap-2\">\n {option?.icon}\n {option?.label ?? 'Select theme'}\n </span>\n )}\n />\n </ElementOptions.Group>\n </ElementOptions.Content>\n );\n};\n","import type { PluginElementRenderProps } from '@yoopta/editor';\nimport {\n ElementOptions,\n} from '@yoopta/ui/element-options';\n\nimport { cn } from '../../utils';\nimport type { CalloutTheme } from '../components/callout-element-options';\nimport { CalloutElementOptions } from '../components/callout-element-options';\n\nconst getThemeClasses = (theme: CalloutTheme = 'default'): string => {\n const themeClasses: Record<CalloutTheme, string> = {\n default: 'bg-muted text-muted-foreground border-muted-foreground/20',\n info: 'bg-blue-50 text-blue-900 border-blue-200 dark:bg-blue-950 dark:text-blue-100 dark:border-blue-800',\n success:\n 'bg-green-50 text-green-900 border-green-200 dark:bg-green-950 dark:text-green-100 dark:border-green-800',\n warning:\n 'bg-yellow-50 text-yellow-900 border-yellow-200 dark:bg-yellow-950 dark:text-yellow-100 dark:border-yellow-800',\n error:\n 'bg-red-50 text-red-900 border-red-200 dark:bg-red-950 dark:text-red-100 dark:border-red-800',\n };\n\n return themeClasses[theme];\n};\n\nexport const Callout = (props: PluginElementRenderProps) => {\n const { attributes, children, element, blockId } = props;\n const theme = (element.props?.theme as CalloutTheme) ?? 'default';\n\n return (\n <div\n {...attributes}\n className={cn(\n 'mt-4 group relative rounded-lg border-l-4 p-4 [&>p]:m-0 [&>p]:text-sm',\n getThemeClasses(theme),\n )}>\n <ElementOptions.Root blockId={blockId} element={element}>\n <ElementOptions.Trigger\n className=\"absolute right-0 top-0 opacity-0 group-hover:opacity-100 transition-opacity rounded-md p-1 hover:bg-black/5 dark:hover:bg-white/10\"\n />\n <CalloutElementOptions />\n </ElementOptions.Root>\n {children}\n </div>\n );\n};\n","import { Callout } from './elements/callout';\n\nexport const CalloutUI = {\n callout: {\n render: Callout,\n },\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
package/dist/carousel.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as n,jsxs as t}from"react/jsx-runtime";import{useRef as e,useState as r,useCallback as o,useEffect as i,createContext as s,forwardRef as c,useMemo as a,useContext as u}from"react";import{_ as l}from"./chunks/_tslib-35bb891d.js";import{B as d}from"./chunks/button-7aec29d6.js";import{c as f}from"./chunks/utils-3345eade.js";import{A as p,a as m}from"./chunks/arrow-right-38c3a9bd.js";import{C as g,c as h}from"./chunks/card-05710740.js";import"./chunks/createLucideIcon-8605f860.js";function v(n){return function(n){return"[object Object]"===Object.prototype.toString.call(n)}(n)||Array.isArray(n)}function x(n,t){const e=Object.keys(n),r=Object.keys(t);if(e.length!==r.length)return!1;return JSON.stringify(Object.keys(n.breakpoints||{}))===JSON.stringify(Object.keys(t.breakpoints||{}))&&e.every(e=>{const r=n[e],o=t[e];return"function"==typeof r?`${r}`==`${o}`:v(r)&&v(o)?x(r,o):r===o})}function b(n){return n.concat().sort((n,t)=>n.name>t.name?1:-1).map(n=>n.options)}function y(n){return"number"==typeof n}function w(n){return"string"==typeof n}function S(n){return"boolean"==typeof n}function N(n){return"[object Object]"===Object.prototype.toString.call(n)}function O(n){return Math.abs(n)}function j(n){return Math.sign(n)}function E(n,t){return O(n-t)}function L(n){return I(n).map(Number)}function z(n){return n[k(n)]}function k(n){return Math.max(0,n.length-1)}function A(n,t){return t===k(n)}function D(n,t=0){return Array.from(Array(n),(n,e)=>t+e)}function I(n){return Object.keys(n)}function P(n,t){return[n,t].reduce((n,t)=>(I(t).forEach(e=>{const r=n[e],o=t[e],i=N(r)&&N(o);n[e]=i?P(r,o):o}),n),{})}function M(n,t){return void 0!==t.MouseEvent&&n instanceof t.MouseEvent}function F(){let n=[];const t={add:function(e,r,o,i={passive:!0}){let s;if("addEventListener"in e)e.addEventListener(r,o,i),s=()=>e.removeEventListener(r,o,i);else{const n=e;n.addListener(o),s=()=>n.removeListener(o)}return n.push(s),t},clear:function(){n=n.filter(n=>n())}};return t}function T(n,t,e,r){const o=F(),i=1e3/60;let s=null,c=0,a=0;function u(n){if(!a)return;s||(s=n,e(),e());const o=n-s;for(s=n,c+=o;c>=i;)e(),c-=i;r(c/i),a&&(a=t.requestAnimationFrame(u))}function l(){t.cancelAnimationFrame(a),s=null,c=0,a=0}return{init:function(){o.add(n,"visibilitychange",()=>{n.hidden&&(s=null,c=0)})},destroy:function(){l(),o.clear()},start:function(){a||(a=t.requestAnimationFrame(u))},stop:l,update:e,render:r}}function C(n=0,t=0){const e=O(n-t);function r(t){return t<n}function o(n){return n>t}function i(n){return r(n)||o(n)}return{length:e,max:t,min:n,constrain:function(e){return i(e)?r(e)?n:t:e},reachedAny:i,reachedMax:o,reachedMin:r,removeOffset:function(n){return e?n-e*Math.ceil((n-t)/e):n}}}function H(n,t,e){const{constrain:r}=C(0,n),o=n+1;let i=s(t);function s(n){return e?O((o+n)%o):r(n)}function c(){return i}function a(){return H(n,c(),e)}const u={get:c,set:function(n){return i=s(n),u},add:function(n){return a().set(c()+n)},clone:a};return u}function V(n,t,e,r,o,i,s,c,a,u,l,d,f,p,m,g,h,v,x){const{cross:b,direction:y}=n,w=["INPUT","SELECT","TEXTAREA"],N={passive:!1},L=F(),z=F(),k=C(50,225).constrain(p.measure(20)),A={mouse:300,touch:400},D={mouse:500,touch:600},I=m?43:25;let P=!1,T=0,H=0,V=!1,B=!1,R=!1,q=!1;function G(n){if(!M(n,r)&&n.touches.length>=2)return $(n);const t=i.readPoint(n),e=i.readPoint(n,b),s=E(t,T),a=E(e,H);if(!B&&!q){if(!n.cancelable)return $(n);if(B=s>a,!B)return $(n)}const l=i.pointerMove(n);s>g&&(R=!0),u.useFriction(.3).useDuration(.75),c.start(),o.add(y(l)),n.preventDefault()}function $(n){const t=l.byDistance(0,!1).index!==d.get(),e=i.pointerUp(n)*(m?D:A)[q?"mouse":"touch"],r=function(n,t){const e=d.add(-1*j(n)),r=l.byDistance(n,!m).distance;return m||O(n)<k?r:h&&t?.5*r:l.byIndex(e.get(),0).distance}(y(e),t),o=function(n,t){if(0===n||0===t)return 0;if(O(n)<=O(t))return 0;const e=E(O(n),O(t));return O(e/n)}(e,r),s=I-10*o,c=v+o/50;B=!1,V=!1,z.clear(),u.useDuration(s).useFriction(c),a.distance(r,!m),q=!1,f.emit("pointerUp")}function U(n){R&&(n.stopPropagation(),n.preventDefault(),R=!1)}return{init:function(n){if(!x)return;function c(c){(S(x)||x(n,c))&&function(n){const c=M(n,r);if(q=c,R=m&&c&&!n.buttons&&P,P=E(o.get(),s.get())>=2,c&&0!==n.button)return;if(function(n){const t=n.nodeName||"";return w.includes(t)}(n.target))return;V=!0,i.pointerDown(n),u.useFriction(0).useDuration(0),o.set(s),function(){const n=q?e:t;z.add(n,"touchmove",G,N).add(n,"touchend",$).add(n,"mousemove",G,N).add(n,"mouseup",$)}(),T=i.readPoint(n),H=i.readPoint(n,b),f.emit("pointerDown")}(c)}const a=t;L.add(a,"dragstart",n=>n.preventDefault(),N).add(a,"touchmove",()=>{},N).add(a,"touchend",()=>{}).add(a,"touchstart",c).add(a,"mousedown",c).add(a,"touchcancel",$).add(a,"contextmenu",$).add(a,"click",U,!0)},destroy:function(){L.clear(),z.clear()},pointerDown:function(){return V}}}function B(n,t){let e,r;function o(n){return n.timeStamp}function i(e,r){const o="client"+("x"===(r||n.scroll)?"X":"Y");return(M(e,t)?e:e.touches[0])[o]}return{pointerDown:function(n){return e=n,r=n,i(n)},pointerMove:function(n){const t=i(n)-i(r),s=o(n)-o(e)>170;return r=n,s&&(e=n),t},pointerUp:function(n){if(!e||!r)return 0;const t=i(r)-i(e),s=o(n)-o(e),c=o(n)-o(r)>170,a=t/s;return s&&!c&&O(a)>.1?a:0},readPoint:i}}function R(n,t,e,r,o,i,s){const c=[n].concat(r);let a,u,l=[],d=!1;function f(n){return o.measureSize(s.measure(n))}return{init:function(o){i&&(u=f(n),l=r.map(f),a=new ResizeObserver(e=>{(S(i)||i(o,e))&&function(e){for(const i of e){if(d)return;const e=i.target===n,s=r.indexOf(i.target),c=e?u:l[s];if(O(f(e?n:r[s])-c)>=.5){o.reInit(),t.emit("resize");break}}}(e)}),e.requestAnimationFrame(()=>{c.forEach(n=>a.observe(n))}))},destroy:function(){d=!0,a&&a.disconnect()}}}function q(n,t,e,r,o){const i=o.measure(10),s=o.measure(50),c=C(.1,.99);let a=!1;function u(){return!a&&(!!n.reachedAny(e.get())&&!!n.reachedAny(t.get()))}return{shouldConstrain:u,constrain:function(o){if(!u())return;const a=n.reachedMin(t.get())?"min":"max",l=O(n[a]-t.get()),d=e.get()-t.get(),f=c.constrain(l/s);e.subtract(d*f),!o&&O(d)<i&&(e.set(n.constrain(e.get())),r.useDuration(25).useBaseFriction())},toggleActive:function(n){a=!n}}}function G(n,t,e,r){const o=t.min+.1,i=t.max+.1,{reachedMin:s,reachedMax:c}=C(o,i);return{loop:function(t){if(!function(n){return 1===n?c(e.get()):-1===n&&s(e.get())}(t))return;const o=n*(-1*t);r.forEach(n=>n.add(o))}}}function $(n,t,e,r,o){const{reachedAny:i,removeOffset:s,constrain:c}=r;function a(n){return n.concat().sort((n,t)=>O(n)-O(t))[0]}function u(t,r){const o=[t,t+e,t-e];if(!n)return t;if(!r)return a(o);const i=o.filter(n=>j(n)===r);return i.length?a(i):z(o)-e}return{byDistance:function(e,r){const a=o.get()+e,{index:l,distance:d}=function(e){const r=n?s(e):c(e),o=t.map((n,t)=>({diff:u(n-r,0),index:t})).sort((n,t)=>O(n.diff)-O(t.diff)),{index:i}=o[0];return{index:i,distance:r}}(a),f=!n&&i(a);return!r||f?{index:l,distance:e}:{index:l,distance:e+u(t[l]-d,0)}},byIndex:function(n,e){return{index:n,distance:u(t[n]-o.get(),e)}},shortcut:u}}function U(n,t,e,r,o,i,s,c){const a={passive:!0,capture:!0};let u=0;function l(n){"Tab"===n.code&&(u=(new Date).getTime())}return{init:function(d){c&&(i.add(document,"keydown",l,!1),t.forEach((t,l)=>{i.add(t,"focus",t=>{(S(c)||c(d,t))&&function(t){if((new Date).getTime()-u>10)return;s.emit("slideFocusStart"),n.scrollLeft=0;const i=e.findIndex(n=>n.includes(t));y(i)&&(o.useDuration(0),r.index(i,0),s.emit("slideFocus"))}(l)},a)}))}}}function W(n){let t=n;function e(n){return y(n)?n:n.get()}return{get:function(){return t},set:function(n){t=e(n)},add:function(n){t+=e(n)},subtract:function(n){t-=e(n)}}}function J(n,t){const e="x"===n.scroll?function(n){return`translate3d(${n}px,0px,0px)`}:function(n){return`translate3d(0px,${n}px,0px)`},r=t.style;let o=null,i=!1;return{clear:function(){i||(r.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){if(i)return;const s=(c=n.direction(t),Math.round(100*c)/100);var c;s!==o&&(r.transform=e(s),o=s)},toggleActive:function(n){i=!n}}}function Q(n,t,e,r,o,i,s,c,a){const u=L(o),l=L(o).reverse(),d=function(){const n=s[0];return m(p(l,n),e,!1)}().concat(function(){const n=t-s[0]-1;return m(p(u,n),-e,!0)}());function f(n,t){return n.reduce((n,t)=>n-o[t],t)}function p(n,t){return n.reduce((n,e)=>f(n,t)>0?n.concat([e]):n,[])}function m(o,s,u){const l=function(n){return i.map((e,o)=>({start:e-r[o]+.5+n,end:e+t-.5+n}))}(s);return o.map(t=>{const r=u?0:-e,o=u?e:0,i=u?"end":"start",s=l[t][i];return{index:t,loopPoint:s,slideLocation:W(-1),translate:J(n,a[t]),target:()=>c.get()>s?r:o}})}return{canLoop:function(){return d.every(({index:n})=>f(u.filter(t=>t!==n),t)<=.1)},clear:function(){d.forEach(n=>n.translate.clear())},loop:function(){d.forEach(n=>{const{target:t,translate:e,slideLocation:r}=n,o=t();o!==r.get()&&(e.to(o),r.set(o))})},loopPoints:d}}function X(n,t,e){let r,o=!1;return{init:function(i){e&&(r=new MutationObserver(n=>{o||(S(e)||e(i,n))&&function(n){for(const e of n)if("childList"===e.type){i.reInit(),t.emit("slidesChanged");break}}(n)}),r.observe(n,{childList:!0}))},destroy:function(){r&&r.disconnect(),o=!0}}}function _(n,t,e,r){const o={};let i,s=null,c=null,a=!1;return{init:function(){i=new IntersectionObserver(n=>{a||(n.forEach(n=>{const e=t.indexOf(n.target);o[e]=n}),s=null,c=null,e.emit("slidesInView"))},{root:n.parentElement,threshold:r}),t.forEach(n=>i.observe(n))},destroy:function(){i&&i.disconnect(),a=!0},get:function(n=!0){if(n&&s)return s;if(!n&&c)return c;const t=function(n){return I(o).reduce((t,e)=>{const r=parseInt(e),{isIntersecting:i}=o[r];return(n&&i||!n&&!i)&&t.push(r),t},[])}(n);return n&&(s=t),n||(c=t),t}}}function K(n,t,e,r,o,i,s,c,a){const{startEdge:u,endEdge:l,direction:d}=n,f=y(e);return{groupSlides:function(n){return f?function(n,t){return L(n).filter(n=>n%t===0).map(e=>n.slice(e,e+t))}(n,e):function(n){return n.length?L(n).reduce((e,f,p)=>{const m=z(e)||0,g=0===m,h=f===k(n),v=o[u]-i[m][u],x=o[u]-i[f][l],b=!r&&g?d(s):0,y=O(x-(!r&&h?d(c):0)-(v+b));return p&&y>t+a&&e.push(f),h&&e.push(n.length),e},[]).map((t,e,r)=>{const o=Math.max(r[e-1]||0);return n.slice(o,t)}):[]}(n)}}}function Y(n,t,e,r,o,i,s){const{align:c,axis:a,direction:u,startIndex:l,loop:d,duration:f,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:h,skipSnaps:v,containScroll:x,watchResize:b,watchSlides:y,watchDrag:S,watchFocus:N}=i,I={measure:function(n){const{offsetTop:t,offsetLeft:e,offsetWidth:r,offsetHeight:o}=n;return{top:t,right:e+r,bottom:t+o,left:e,width:r,height:o}}},P=I.measure(t),M=e.map(I.measure),Y=function(n,t){const e="rtl"===t,r="y"===n,o=!r&&e?-1:1;return{scroll:r?"y":"x",cross:r?"x":"y",startEdge:r?"top":e?"right":"left",endEdge:r?"bottom":e?"left":"right",measureSize:function(n){const{height:t,width:e}=n;return r?t:e},direction:function(n){return n*o}}}(a,u),Z=Y.measureSize(P),nn=function(n){return{measure:function(t){return n*(t/100)}}}(Z),tn=function(n,t){const e={start:function(){return 0},center:function(n){return r(n)/2},end:r};function r(n){return t-n}return{measure:function(r,o){return w(n)?e[n](r):n(t,r,o)}}}(c,Z),en=!d&&!!x,rn=d||!!x,{slideSizes:on,slideSizesWithGaps:sn,startGap:cn,endGap:an}=function(n,t,e,r,o,i){const{measureSize:s,startEdge:c,endEdge:a}=n,u=e[0]&&o,l=function(){if(!u)return 0;const n=e[0];return O(t[c]-n[c])}(),d=function(){if(!u)return 0;const n=i.getComputedStyle(z(r));return parseFloat(n.getPropertyValue(`margin-${a}`))}(),f=e.map(s),p=e.map((n,t,e)=>{const r=!t,o=A(e,t);return r?f[t]+l:o?f[t]+d:e[t+1][c]-n[c]}).map(O);return{slideSizes:f,slideSizesWithGaps:p,startGap:l,endGap:d}}(Y,P,M,e,rn,o),un=K(Y,Z,h,d,P,M,cn,an,2),{snaps:ln,snapsAligned:dn}=function(n,t,e,r,o){const{startEdge:i,endEdge:s}=n,{groupSlides:c}=o,a=c(r).map(n=>z(n)[s]-n[0][i]).map(O).map(t.measure),u=r.map(n=>e[i]-n[i]).map(n=>-O(n)),l=c(u).map(n=>n[0]).map((n,t)=>n+a[t]);return{snaps:u,snapsAligned:l}}(Y,tn,P,M,un),fn=-z(ln)+z(sn),{snapsContained:pn,scrollContainLimit:mn}=function(n,t,e,r,o){const i=C(-t+n,0),s=e.map((n,t)=>{const{min:r,max:o}=i,s=i.constrain(n),c=!t,u=A(e,t);return c?o:u||a(r,s)?r:a(o,s)?o:s}).map(n=>parseFloat(n.toFixed(3))),c=function(){const n=s[0],t=z(s);return C(s.lastIndexOf(n),s.indexOf(t)+1)}();function a(n,t){return E(n,t)<=1}return{snapsContained:function(){if(t<=n+o)return[i.max];if("keepSnaps"===r)return s;const{min:e,max:a}=c;return s.slice(e,a)}(),scrollContainLimit:c}}(Z,fn,dn,x,2),gn=en?pn:dn,{limit:hn}=function(n,t,e){const r=t[0];return{limit:C(e?r-n:z(t),r)}}(fn,gn,d),vn=H(k(gn),l,d),xn=vn.clone(),bn=L(e),yn=T(r,o,()=>(({dragHandler:n,scrollBody:t,scrollBounds:e,options:{loop:r}})=>{r||e.constrain(n.pointerDown()),t.seek()})(Mn),n=>(({scrollBody:n,translate:t,location:e,offsetLocation:r,previousLocation:o,scrollLooper:i,slideLooper:s,dragHandler:c,animation:a,eventHandler:u,scrollBounds:l,options:{loop:d}},f)=>{const p=n.settled(),m=!l.shouldConstrain(),g=d?p:p&&m,h=g&&!c.pointerDown();h&&a.stop();const v=e.get()*f+o.get()*(1-f);r.set(v),d&&(i.loop(n.direction()),s.loop()),t.to(r.get()),h&&u.emit("settle"),g||u.emit("scroll")})(Mn,n)),wn=gn[vn.get()],Sn=W(wn),Nn=W(wn),On=W(wn),jn=W(wn),En=function(n,t,e,r,o,i){let s=0,c=0,a=o,u=i,l=n.get(),d=0;function f(n){return a=n,m}function p(n){return u=n,m}const m={direction:function(){return c},duration:function(){return a},velocity:function(){return s},seek:function(){const t=r.get()-n.get();let o=0;return a?(e.set(n),s+=t/a,s*=u,l+=s,n.add(s),o=l-d):(s=0,e.set(r),n.set(r),o=t),c=j(o),d=l,m},settled:function(){return O(r.get()-t.get())<.001},useBaseFriction:function(){return p(i)},useBaseDuration:function(){return f(o)},useFriction:p,useDuration:f};return m}(Sn,On,Nn,jn,f,.68),Ln=$(d,gn,fn,hn,jn),zn=function(n,t,e,r,o,i,s){function c(o){const c=o.distance,a=o.index!==t.get();i.add(c),c&&(r.duration()?n.start():(n.update(),n.render(1),n.update())),a&&(e.set(t.get()),t.set(o.index),s.emit("select"))}return{distance:function(n,t){c(o.byDistance(n,t))},index:function(n,e){const r=t.clone().set(n);c(o.byIndex(r.get(),e))}}}(yn,vn,xn,En,Ln,jn,s),kn=function(n){const{max:t,length:e}=n;return{get:function(n){return e?(n-t)/-e:0}}}(hn),An=F(),Dn=_(t,e,s,g),{slideRegistry:In}=function(n,t,e,r,o,i){const{groupSlides:s}=o,{min:c,max:a}=r;return{slideRegistry:function(){const r=s(i),o=!n||"keepSnaps"===t;return 1===e.length?[i]:o?r:r.slice(c,a).map((n,t,e)=>{const r=!t,o=A(e,t);return r?D(z(e[0])+1):o?D(k(i)-z(e)[0]+1,z(e)[0]):n})}()}}(en,x,gn,mn,un,bn),Pn=U(n,e,In,zn,En,An,s,N),Mn={ownerDocument:r,ownerWindow:o,eventHandler:s,containerRect:P,slideRects:M,animation:yn,axis:Y,dragHandler:V(Y,n,r,o,jn,B(Y,o),Sn,yn,zn,En,Ln,vn,s,nn,p,m,v,.68,S),eventStore:An,percentOfView:nn,index:vn,indexPrevious:xn,limit:hn,location:Sn,offsetLocation:On,previousLocation:Nn,options:i,resizeHandler:R(t,s,o,e,Y,b,I),scrollBody:En,scrollBounds:q(hn,On,jn,En,nn),scrollLooper:G(fn,hn,On,[Sn,On,Nn,jn]),scrollProgress:kn,scrollSnapList:gn.map(kn.get),scrollSnaps:gn,scrollTarget:Ln,scrollTo:zn,slideLooper:Q(Y,Z,fn,on,sn,ln,gn,On,e),slideFocus:Pn,slidesHandler:X(t,s,y),slidesInView:Dn,slideIndexes:bn,slideRegistry:In,slidesToScroll:un,target:jn,translate:J(Y,t)};return Mn}const Z={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function nn(n){function t(n,t){return P(n,t||{})}const e={mergeOptions:t,optionsAtMedia:function(e){const r=e.breakpoints||{},o=I(r).filter(t=>n.matchMedia(t).matches).map(n=>r[n]).reduce((n,e)=>t(n,e),{});return t(e,o)},optionsMediaQueries:function(t){return t.map(n=>I(n.breakpoints||{})).reduce((n,t)=>n.concat(t),[]).map(n.matchMedia)}};return e}function tn(n,t,e){const r=n.ownerDocument,o=r.defaultView,i=nn(o),s=function(n){let t=[];return{init:function(e,r){return t=r.filter(({options:t})=>!1!==n.optionsAtMedia(t).active),t.forEach(t=>t.init(e,n)),r.reduce((n,t)=>Object.assign(n,{[t.name]:t}),{})},destroy:function(){t=t.filter(n=>n.destroy())}}}(i),c=F(),a=function(){let n,t={};function e(n){return t[n]||[]}const r={init:function(t){n=t},emit:function(t){return e(t).forEach(e=>e(n,t)),r},off:function(n,o){return t[n]=e(n).filter(n=>n!==o),r},on:function(n,o){return t[n]=e(n).concat([o]),r},clear:function(){t={}}};return r}(),{mergeOptions:u,optionsAtMedia:l,optionsMediaQueries:d}=i,{on:f,off:p,emit:m}=a,g=L;let h,v,x,b,y=!1,S=u(Z,tn.globalOptions),N=u(S),O=[];function j(t){const e=Y(n,x,b,r,o,t,a);if(t.loop&&!e.slideLooper.canLoop()){return j(Object.assign({},t,{loop:!1}))}return e}function E(t,e){y||(S=u(S,t),N=l(S),O=e||O,function(){const{container:t,slides:e}=N,r=w(t)?n.querySelector(t):t;x=r||n.children[0];const o=w(e)?x.querySelectorAll(e):e;b=[].slice.call(o||x.children)}(),h=j(N),d([S,...O.map(({options:n})=>n)]).forEach(n=>c.add(n,"change",L)),N.active&&(h.translate.to(h.location.get()),h.animation.init(),h.slidesInView.init(),h.slideFocus.init(D),h.eventHandler.init(D),h.resizeHandler.init(D),h.slidesHandler.init(D),h.options.loop&&h.slideLooper.loop(),x.offsetParent&&b.length&&h.dragHandler.init(D),v=s.init(D,O)))}function L(n,t){const e=A();z(),E(u({startIndex:e},n),t),a.emit("reInit")}function z(){h.dragHandler.destroy(),h.eventStore.clear(),h.translate.clear(),h.slideLooper.clear(),h.resizeHandler.destroy(),h.slidesHandler.destroy(),h.slidesInView.destroy(),h.animation.destroy(),s.destroy(),c.clear()}function k(n,t,e){N.active&&!y&&(h.scrollBody.useBaseFriction().useDuration(!0===t?0:N.duration),h.scrollTo.index(n,e||0))}function A(){return h.index.get()}const D={canScrollNext:function(){return h.index.add(1).get()!==A()},canScrollPrev:function(){return h.index.add(-1).get()!==A()},containerNode:function(){return x},internalEngine:function(){return h},destroy:function(){y||(y=!0,c.clear(),z(),a.emit("destroy"),a.clear())},off:p,on:f,emit:m,plugins:function(){return v},previousScrollSnap:function(){return h.indexPrevious.get()},reInit:g,rootNode:function(){return n},scrollNext:function(n){k(h.index.add(1).get(),n,-1)},scrollPrev:function(n){k(h.index.add(-1).get(),n,1)},scrollProgress:function(){return h.scrollProgress.get(h.offsetLocation.get())},scrollSnapList:function(){return h.scrollSnapList},scrollTo:k,selectedScrollSnap:A,slideNodes:function(){return b},slidesInView:function(){return h.slidesInView.get()},slidesNotInView:function(){return h.slidesInView.get(!1)}};return E(t,e),setTimeout(()=>a.emit("init"),0),D}function en(n={},t=[]){const s=e(n),c=e(t),[a,u]=r(),[l,d]=r(),f=o(()=>{a&&a.reInit(s.current,c.current)},[a]);return i(()=>{x(s.current,n)||(s.current=n,f())},[n,f]),i(()=>{(function(n,t){if(n.length!==t.length)return!1;const e=b(n),r=b(t);return e.every((n,t)=>x(n,r[t]))})(c.current,t)||(c.current=t,f())},[t,f]),i(()=>{if("undefined"!=typeof window&&window.document&&window.document.createElement&&l){tn.globalOptions=en.globalOptions;const n=tn(l,s.current,c.current);return u(n),()=>n.destroy()}u(void 0)},[l,u]),[d,a]}tn.globalOptions=void 0,en.globalOptions=void 0;const rn=s(null);function on(){const n=u(rn);if(!n)throw new Error("useCarousel must be used within a <Carousel />");return n}const sn=c((t,e)=>{var{orientation:s="horizontal",opts:c,setApi:u,plugins:d,className:p,children:m}=t,g=l(t,["orientation","opts","setApi","plugins","className","children"]);const[h,v]=en(Object.assign(Object.assign({},c),{axis:"horizontal"===s?"x":"y"}),d),[x,b]=r(!1),[y,w]=r(!1),S=o(n=>{n&&(b(n.canScrollPrev()),w(n.canScrollNext()))},[]),N=o(()=>{null==v||v.scrollPrev()},[v]),O=o(()=>{null==v||v.scrollNext()},[v]),j=o(n=>{"ArrowLeft"===n.key?(n.preventDefault(),N()):"ArrowRight"===n.key&&(n.preventDefault(),O())},[N,O]);i(()=>{v&&u&&u(v)},[v,u]),i(()=>{if(v)return S(v),v.on("reInit",S),v.on("select",S),()=>{null==v||v.off("select",S)}},[v,S]);const E=a(()=>({carouselRef:h,api:v,opts:c,orientation:s||("y"===(null==c?void 0:c.axis)?"vertical":"horizontal"),scrollPrev:N,scrollNext:O,canScrollPrev:x,canScrollNext:y}),[h,v,c,s,N,O,x,y]);return n(rn.Provider,Object.assign({value:E},{children:n("div",Object.assign({onKeyDownCapture:j,className:f("relative",p),role:"region","aria-roledescription":"carousel","data-slot":"carousel",ref:e},g,{children:m}))}))});sn.displayName="Carousel";const cn=c((t,e)=>{var{className:r}=t,o=l(t,["className"]);const{carouselRef:i,orientation:s}=on();return n("div",Object.assign({ref:i,className:"overflow-hidden","data-slot":"carousel-content"},{children:n("div",Object.assign({ref:e,className:f("flex","horizontal"===s?"-ml-4":"-mt-4 flex-col",r)},o))}))});cn.displayName="CarouselContent";const an=c((t,e)=>{var{className:r}=t,o=l(t,["className"]);const{orientation:i}=on();return n("div",Object.assign({ref:e,role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:f("min-w-0 shrink-0 grow-0 basis-full","horizontal"===i?"pl-4":"pt-4",r)},o))});an.displayName="CarouselItem";const un=e=>{var{className:r,variant:o="outline",size:i="icon"}=e,s=l(e,["className","variant","size"]);const{orientation:c,scrollPrev:a,canScrollPrev:u}=on();return t(d,Object.assign({"data-slot":"carousel-previous",variant:o,size:i,className:f("absolute size-8 rounded-full","horizontal"===c?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",r),disabled:!u,onClick:a},s,{children:[n(p,{}),n("span",Object.assign({className:"sr-only"},{children:"Previous slide"}))]}))},ln=e=>{var{className:r,variant:o="outline",size:i="icon"}=e,s=l(e,["className","variant","size"]);const{orientation:c,scrollNext:a,canScrollNext:u}=on();return t(d,Object.assign({"data-slot":"carousel-next",variant:o,size:i,className:f("absolute size-8 rounded-full","horizontal"===c?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",r),disabled:!u,onClick:a},s,{children:[n(m,{}),n("span",Object.assign({className:"sr-only"},{children:"Next slide"}))]}))},dn={"carousel-container":{render:e=>{const{attributes:o,children:s}=e,[c,a]=r(),[u,l]=r(0),[d,f]=r(0);return i(()=>{c&&(f(c.scrollSnapList().length),l(c.selectedScrollSnap()+1),c.on("select",()=>{l(c.selectedScrollSnap()+1)}))},[c]),n("div",Object.assign({className:"flex w-full justify-center data-[align=center]:items-center data-[align=end]:items-end data-[align=start]:items-start"},{children:t("div",Object.assign({className:"mx-auto\n "},{children:[t(sn,Object.assign({},o,{setApi:a,opts:{align:"start",axis:"x",loop:!0},orientation:"horizontal",className:"w-full max-w-lg"},{children:[n(cn,{children:s}),n(un,{contentEditable:!1,className:"select-none"}),n(ln,{contentEditable:!1,className:"select-none"})]})),t("div",Object.assign({contentEditable:!1,className:"select-none text-muted-foreground py-2 text-center text-sm"},{children:["Slide ",u," of ",d]}))]}))}))}},"carousel-list-item":{render:t=>{const{children:e}=t;return n(an,Object.assign({className:"md:basis-1/2 lg:basis-1/3"},{children:n("div",Object.assign({className:"p-1"},{children:n(g,{children:n(h,Object.assign({className:"flex aspect-square items-center justify-center p-6"},{children:e}))})}))}))}}};export{dn as CarouselUI};
|