@shared-cms/ui-react-standalone
Version:
Standalone React UI component library with all Shared CMS React components embedded
2 lines (1 loc) • 3.66 kB
JavaScript
(function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.SharedUIReact={},l.React))})(this,function(l,e){"use strict";const v=e.forwardRef(({variant:r="info",dismissible:n=!1,visible:i=!0,className:f="",onDismiss:s,children:u,icon:a,action:o,...h},m)=>e.createElement("shared-alert",{ref:m,variant:r,dismissible:n,visible:i,className:f,onDismiss:s,...h},[a?e.createElement("span",{slot:"icon",key:"icon"},a):null,u||e.createElement("span",{key:"content"},u),o?e.createElement("span",{slot:"action",key:"action"},o):null].filter(Boolean)));v.displayName="SharedAlert";const y=e.forwardRef(({label:r,variant:n="primary",size:i="medium",count:f=null,removable:s=!1,dot:u=!1,onClick:a,onBadgeClick:o,onBadgeRemove:h,className:m,id:E,autoFocus:c,tabIndex:L,"aria-label":d,"aria-labelledby":p,"aria-describedby":w,...A},N)=>{const O=e.useRef(null),S=N||O,P=e.useCallback(t=>{a==null||a(t)},[a]);return e.useEffect(()=>{const t=S.current;if(!t)return;const D=g=>{const j=g;o==null||o(j)},I=g=>{const j=g;h==null||h(j)};return t.addEventListener("badge-click",D),t.addEventListener("badge-remove",I),()=>{t.removeEventListener("badge-click",D),t.removeEventListener("badge-remove",I)}},[o,h,S]),e.useEffect(()=>{const t=S.current;t&&(r!==void 0&&t.label!==r&&(t.label=r),n!==void 0&&t.variant!==n&&(t.variant=n),i!==void 0&&t.size!==i&&(t.size=i),f!==void 0&&t.count!==f&&(t.count=f),s!==void 0&&t.removable!==s&&(t.removable=s),u!==void 0&&t.dot!==u&&(t.dot=u))},[r,n,i,f,s,u,S]),e.useEffect(()=>{const t=S.current;t&&c&&setTimeout(()=>t.focus(),0)},[c,S]),e.createElement("shared-badge",{ref:S,label:r,variant:n,size:i,count:f,removable:s,dot:u,className:m,id:E,autoFocus:c,tabIndex:L,"aria-label":d,"aria-labelledby":p,"aria-describedby":w,onClick:P,...A})});y.displayName="SharedBadge";const b=e.forwardRef(({label:r,variant:n="primary",disabled:i=!1,onClick:f,onButtonClick:s,className:u,id:a,autoFocus:o,...h},m)=>{const E=e.useRef(null),c=m||E,L=e.useCallback(d=>{f==null||f(d)},[f]);return e.useEffect(()=>{const d=c.current;if(!d)return;const p=w=>{const A=w;s==null||s(A)};return d.addEventListener("button-click",p),()=>{d.removeEventListener("button-click",p)}},[s,c]),e.useEffect(()=>{const d=c.current;d&&(r!==void 0&&d.label!==r&&(d.label=r),n!==void 0&&d.variant!==n&&(d.variant=n),i!==void 0&&d.disabled!==i&&(d.disabled=i))},[r,n,i,c]),e.useEffect(()=>{const d=c.current;d&&o&&setTimeout(()=>d.focus(),0)},[o,c]),e.createElement("shared-button",{ref:c,label:r,variant:n,disabled:i,className:u,id:a,onClick:L,...h})});b.displayName="SharedButton";const T=e.forwardRef(({variant:r="info",position:n="top",visible:i=!1,message:f="",className:s="",children:u,...a},o)=>{const h=e.useRef(null),m=o||h;return e.useEffect(()=>{if(m.current){const E=m.current;r&&(E.variant=r),n&&(E.position=n),f!==void 0&&(E.message=f),s&&(E.className=s),console.log("SharedTooltip props updated:",{variant:r,position:n,message:f,className:s})}},[r,n,f,s,m]),e.createElement("shared-tooltip",{ref:m,variant:r,position:n,message:f,class:s,...a},u)});T.displayName="SharedTooltip";const M=customElements.define,_=new Set;customElements.define=function(r,n,i){if(!_.has(r))return _.add(r),M.call(this,r,n,i)},customElements.define=M;const q={ReactSharedAlert:v,ReactSharedBadge:y,ReactSharedButton:b,ReactSharedTooltip:T};l.ReactSharedAlert=v,l.ReactSharedBadge=y,l.ReactSharedButton=b,l.ReactSharedTooltip=T,l.SharedComponents=q,l.default=q,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});