@sudobility/scheduling-components 1.0.8
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/calendar.d.ts +44 -0
- package/dist/calendar.d.ts.map +1 -0
- package/dist/date-range-picker.d.ts +50 -0
- package/dist/date-range-picker.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +903 -0
- package/dist/index.umd.js +6 -0
- package/dist/interview-scheduler.d.ts +18 -0
- package/dist/interview-scheduler.d.ts.map +1 -0
- package/dist/meeting-scheduler.d.ts +33 -0
- package/dist/meeting-scheduler.d.ts.map +1 -0
- package/dist/port-schedule.d.ts +18 -0
- package/dist/port-schedule.d.ts.map +1 -0
- package/dist/relative-time.d.ts +34 -0
- package/dist/relative-time.d.ts.map +1 -0
- package/dist/schedule-timeline.d.ts +33 -0
- package/dist/schedule-timeline.d.ts.map +1 -0
- package/dist/sentiment-indicator.d.ts +33 -0
- package/dist/sentiment-indicator.d.ts.map +1 -0
- package/dist/time-slot-picker.d.ts +33 -0
- package/dist/time-slot-picker.d.ts.map +1 -0
- package/dist/timeline-vertical.d.ts +39 -0
- package/dist/timeline-vertical.d.ts.map +1 -0
- package/dist/timeline.d.ts +50 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/work-calendar.d.ts +33 -0
- package/dist/work-calendar.d.ts.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(function(b,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("react"),require("@sudobility/components")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components"],D):(b=typeof globalThis<"u"?globalThis:b||self,D(b.Components={},b.React,b.components))})(this,(function(b,D,f){"use strict";var z={exports:{}},$={};var H;function te(){if(H)return $;H=1;var t=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function a(g,u,n){var p=null;if(n!==void 0&&(p=""+n),u.key!==void 0&&(p=""+u.key),"key"in u){n={};for(var c in u)c!=="key"&&(n[c]=u[c])}else n=u;return u=n.ref,{$$typeof:t,type:g,key:p,ref:u!==void 0?u:null,props:n}}return $.Fragment=i,$.jsx=a,$.jsxs=a,$}var I={};var Z;function ne(){return Z||(Z=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===w?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case M:return"Fragment";case W:return"Profiler";case O:return"StrictMode";case C:return"Suspense";case l:return"SuspenseList";case _:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case P:return"Portal";case o:return e.displayName||"Context";case q:return(e._context.displayName||"Context")+".Consumer";case x:var s=e.render;return e=e.displayName,e||(e=s.displayName||s.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case d:return s=e.displayName||null,s!==null?s:t(e.type)||"Memo";case h:s=e._payload,e=e._init;try{return t(e(s))}catch{}}return null}function i(e){return""+e}function a(e){try{i(e);var s=!1}catch{s=!0}if(s){s=console;var m=s.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return m.call(s,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),i(e)}}function g(e){if(e===M)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===h)return"<...>";try{var s=t(e);return s?"<"+s+">":"<...>"}catch{return"<...>"}}function u(){var e=A.A;return e===null?null:e.getOwner()}function n(){return Error("react-stack-top-frame")}function p(e){if(Y.call(e,"key")){var s=Object.getOwnPropertyDescriptor(e,"key").get;if(s&&s.isReactWarning)return!1}return e.key!==void 0}function c(e,s){function m(){V||(V=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",s))}m.isReactWarning=!0,Object.defineProperty(e,"key",{get:m,configurable:!0})}function y(){var e=t(this.type);return B[e]||(B[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function U(e,s,m,k,J,G){var v=m.ref;return e={$$typeof:E,type:e,key:s,props:m,_owner:k},(v!==void 0?v:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:y}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:J}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:G}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function R(e,s,m,k,J,G){var v=s.children;if(v!==void 0)if(k)if(S(v)){for(k=0;k<v.length;k++)j(v[k]);Object.freeze&&Object.freeze(v)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else j(v);if(Y.call(s,"key")){v=t(e);var L=Object.keys(s).filter(function(be){return be!=="key"});k=0<L.length?"{key: someKey, "+L.join(": ..., ")+": ...}":"{key: someKey}",re[v+k]||(L=0<L.length?"{"+L.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
+
let props = %s;
|
|
3
|
+
<%s {...props} />
|
|
4
|
+
React keys must be passed directly to JSX without using spread:
|
|
5
|
+
let props = %s;
|
|
6
|
+
<%s key={someKey} {...props} />`,k,v,L,v),re[v+k]=!0)}if(v=null,m!==void 0&&(a(m),v=""+m),p(s)&&(a(s.key),v=""+s.key),"key"in s){m={};for(var X in s)X!=="key"&&(m[X]=s[X])}else m=s;return v&&c(m,typeof e=="function"?e.displayName||e.name||"Unknown":e),U(e,v,m,u(),J,G)}function j(e){N(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===h&&(e._payload.status==="fulfilled"?N(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function N(e){return typeof e=="object"&&e!==null&&e.$$typeof===E}var T=D,E=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),q=Symbol.for("react.consumer"),o=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),l=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),_=Symbol.for("react.activity"),w=Symbol.for("react.client.reference"),A=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=Object.prototype.hasOwnProperty,S=Array.isArray,F=console.createTask?console.createTask:function(){return null};T={react_stack_bottom_frame:function(e){return e()}};var V,B={},K=T.react_stack_bottom_frame.bind(T,n)(),ee=F(g(n)),re={};I.Fragment=M,I.jsx=function(e,s,m){var k=1e4>A.recentlyCreatedOwnerStacks++;return R(e,s,m,!1,k?Error("react-stack-top-frame"):K,k?F(g(e)):ee)},I.jsxs=function(e,s,m){var k=1e4>A.recentlyCreatedOwnerStacks++;return R(e,s,m,!0,k?Error("react-stack-top-frame"):K,k?F(g(e)):ee)}})()),I}var Q;function ae(){return Q||(Q=1,process.env.NODE_ENV==="production"?z.exports=te():z.exports=ne()),z.exports}var r=ae();const se=({value:t,onChange:i,minDate:a,maxDate:g,disabledDates:u=[],showOutsideDays:n=!0,className:p})=>{const[c,y]=D.useState(t||new Date),U=o=>{const x=o.getFullYear(),C=o.getMonth();return new Date(x,C+1,0).getDate()},R=o=>{const x=o.getFullYear(),C=o.getMonth();return new Date(x,C,1).getDay()},j=(o,x)=>o.getFullYear()===x.getFullYear()&&o.getMonth()===x.getMonth()&&o.getDate()===x.getDate(),N=o=>a&&o<a||g&&o>g?!0:u.some(x=>j(o,x)),T=()=>{y(new Date(c.getFullYear(),c.getMonth()-1))},E=()=>{y(new Date(c.getFullYear(),c.getMonth()+1))},M=(()=>{const o=c.getFullYear(),x=c.getMonth(),C=U(c),l=R(c),d=[];if(n){const h=U(new Date(o,x-1));for(let _=l-1;_>=0;_--)d.push(new Date(o,x-1,h-_))}else for(let h=0;h<l;h++)d.push(null);for(let h=1;h<=C;h++)d.push(new Date(o,x,h));if(n){const h=42-d.length;for(let _=1;_<=h;_++)d.push(new Date(o,x+1,_))}return d})(),O=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],W=o=>{!o||N(o)||i(o)},q=c.toLocaleDateString("en-US",{month:"long",year:"numeric"});return r.jsxs("div",{className:f.cn("bg-white dark:bg-gray-900 rounded-lg p-4",p),children:[r.jsxs("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("button",{onClick:T,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors","aria-label":"Previous month",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),r.jsx("h2",{className:"text-base font-semibold text-gray-900 dark:text-white",children:q}),r.jsx("button",{onClick:E,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors","aria-label":"Next month",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),r.jsx("div",{className:"grid grid-cols-7 gap-1 mb-2",children:O.map(o=>r.jsx("div",{className:"text-center text-xs font-medium text-gray-600 dark:text-gray-400 py-2",children:o},o))}),r.jsx("div",{className:"grid grid-cols-7 gap-1",children:M.map((o,x)=>{if(!o)return r.jsx("div",{className:"aspect-square"},x);const C=o.getMonth()===c.getMonth(),l=t&&j(o,t),d=j(o,new Date),h=N(o);return r.jsx("button",{onClick:()=>W(o),disabled:h,className:f.cn("aspect-square flex items-center justify-center rounded-md text-sm transition-colors","hover:bg-gray-100 dark:hover:bg-gray-800","disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",C?"text-gray-900 dark:text-white":"text-gray-400 dark:text-gray-600",l&&"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",d&&!l&&"border-2 border-blue-600 dark:border-blue-400"),children:o.getDate()},x)})})]})},oe=({value:t,onChange:i,minDate:a,maxDate:g,disabledDates:u=[],months:n=2,className:p})=>{const[c,y]=D.useState(new Date),[U,R]=D.useState(null),j=(l,d)=>l.getFullYear()===d.getFullYear()&&l.getMonth()===d.getMonth()&&l.getDate()===d.getDate(),N=l=>a&&l<a||g&&l>g?!0:u.some(d=>j(l,d)),T=l=>{if(!t.start||!t.end&&!U)return!1;const d=t.end||U;return d?l>t.start&&l<d:!1},E=l=>t.start?j(l,t.start):!1,P=l=>t.end?j(l,t.end):!1,M=l=>{N(l)||(!t.start||t.start&&t.end?i({start:l,end:null}):l<t.start?i({start:l,end:t.start}):i({start:t.start,end:l}))},O=l=>{const d=l.getFullYear(),h=l.getMonth();return new Date(d,h+1,0).getDate()},W=l=>{const d=l.getFullYear(),h=l.getMonth();return new Date(d,h,1).getDay()},q=l=>{const d=new Date(c.getFullYear(),c.getMonth()+l),h=d.getFullYear(),_=d.getMonth(),w=O(d),A=W(d),Y=[];for(let S=0;S<A;S++)Y.push(null);for(let S=1;S<=w;S++)Y.push(new Date(h,_,S));return{days:Y,monthName:d.toLocaleDateString("en-US",{month:"long",year:"numeric"})}},o=()=>{y(new Date(c.getFullYear(),c.getMonth()-1))},x=()=>{y(new Date(c.getFullYear(),c.getMonth()+1))},C=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return r.jsxs("div",{className:f.cn("bg-white dark:bg-gray-900 rounded-lg p-4",p),children:[r.jsxs("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("button",{onClick:o,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors","aria-label":"Previous month",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),r.jsx("button",{onClick:x,className:"p-2 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors","aria-label":"Next month",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),r.jsx("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${n}, 1fr)`},children:Array.from({length:n},(l,d)=>{const{days:h,monthName:_}=q(d);return r.jsxs("div",{children:[r.jsx("h3",{className:"text-base font-semibold text-gray-900 dark:text-white mb-4 text-center",children:_}),r.jsx("div",{className:"grid grid-cols-7 gap-1 mb-2",children:C.map(w=>r.jsx("div",{className:"text-center text-xs font-medium text-gray-600 dark:text-gray-400 py-2",children:w},w))}),r.jsx("div",{className:"grid grid-cols-7 gap-1",children:h.map((w,A)=>{if(!w)return r.jsx("div",{className:"aspect-square"},A);const Y=N(w),S=E(w),F=P(w),V=T(w),B=j(w,new Date);return r.jsx("button",{onClick:()=>M(w),onMouseEnter:()=>R(w),onMouseLeave:()=>R(null),disabled:Y,className:f.cn("aspect-square flex items-center justify-center rounded-md text-sm transition-colors relative","disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",V&&"bg-blue-100 dark:bg-blue-900/30",(S||F)&&"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600",!S&&!F&&!V&&"hover:bg-gray-100 dark:hover:bg-gray-800",B&&!S&&!F&&"border-2 border-blue-600 dark:border-blue-400"),children:w.getDate()},A)})})]},d)})}),(t.start||t.end)&&r.jsx("div",{className:"mt-4 pt-4 border-t border-gray-200 dark:border-gray-700",children:r.jsxs("div",{className:"flex items-center justify-between text-sm",children:[r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:"Start: "}),r.jsx("span",{className:"font-medium text-gray-900 dark:text-white",children:t.start?.toLocaleDateString()||"Not selected"})]}),r.jsxs("div",{children:[r.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:"End: "}),r.jsx("span",{className:"font-medium text-gray-900 dark:text-white",children:t.end?.toLocaleDateString()||"Not selected"})]})]})})]})},le=({className:t,children:i,disabled:a})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"InterviewScheduler",children:i||"InterviewScheduler Component"}),ie=({className:t,children:i,disabled:a=!1,onClick:g})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:a?void 0:g,role:"region","aria-label":"UmeetingUscheduler",children:i||"UmeetingUscheduler Component"}),ce=({className:t,children:i,disabled:a})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed",t),role:"region","aria-label":"PortSchedule",children:i||"PortSchedule Component"}),de=({date:t,showTooltip:i=!0,updateInterval:a=0,className:g})=>{const[,u]=D.useState(0),n=D.useMemo(()=>t instanceof Date?t:new Date(t),[t]);D.useEffect(()=>{if(a===0)return;const U=setInterval(()=>{u(R=>R+1)},a*1e3);return()=>clearInterval(U)},[a]);const c=(()=>{const R=new Date().getTime()-n.getTime(),j=Math.floor(R/1e3),N=Math.floor(j/60),T=Math.floor(N/60),E=Math.floor(T/24),P=Math.floor(E/7),M=Math.floor(E/30),O=Math.floor(E/365);return j<60?"just now":N<60?`${N} ${N===1?"minute":"minutes"} ago`:T<24?`${T} ${T===1?"hour":"hours"} ago`:E<7?`${E} ${E===1?"day":"days"} ago`:P<4?`${P} ${P===1?"week":"weeks"} ago`:M<12?`${M} ${M===1?"month":"months"} ago`:`${O} ${O===1?"year":"years"} ago`})(),y=n.toLocaleString();return r.jsx("time",{dateTime:n.toISOString(),title:i?y:void 0,className:f.cn(g),children:c})},ue=({className:t,children:i,disabled:a=!1,onClick:g})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:a?void 0:g,role:"region","aria-label":"UscheduleUtimeline",children:i||"UscheduleUtimeline Component"}),ge=({className:t,children:i,disabled:a=!1,onClick:g})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:a?void 0:g,role:"region","aria-label":"UsentimentUindicator",children:i||"UsentimentUindicator Component"}),he=({className:t,children:i,disabled:a=!1,onClick:g})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:a?void 0:g,role:"region","aria-label":"UtimeUslotUpicker",children:i||"UtimeUslotUpicker Component"}),fe=({events:t,align:i="left",showConnectors:a=!0,className:g})=>r.jsx("div",{className:f.cn("relative",g),children:t.map((u,n)=>{const p=n===t.length-1,c=u.color||"#3b82f6";return r.jsxs("div",{className:f.cn("relative flex gap-4 pb-8",i==="center"&&"justify-center",i==="right"&&"justify-end"),children:[a&&!p&&r.jsx("div",{className:"absolute left-4 top-8 w-0.5 h-full bg-gray-300 dark:bg-gray-600",style:i==="center"?{left:"50%"}:i==="right"?{right:"2rem"}:void 0}),r.jsx("div",{className:"relative z-10 flex-shrink-0",children:u.icon?r.jsx("div",{className:"w-8 h-8 rounded-full flex items-center justify-center text-white",style:{backgroundColor:c},children:u.icon}):r.jsx("div",{className:"w-4 h-4 rounded-full border-4 border-white dark:border-gray-900",style:{backgroundColor:c}})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[r.jsx("h4",{className:"font-semibold text-gray-900 dark:text-white",children:u.title}),u.timestamp&&r.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-400",children:u.timestamp})]}),u.description&&r.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:u.description})]})]},u.id)})}),me=({items:t,orientation:i="vertical",className:a})=>{const g={completed:"bg-green-500 border-green-500",active:"bg-blue-500 border-blue-500",pending:"bg-gray-300 dark:bg-gray-600 border-gray-300 dark:border-gray-600",error:"bg-red-500 border-red-500"},u={completed:"text-white",active:"text-white",pending:"text-gray-500 dark:text-gray-400",error:"text-white"};return i==="horizontal"?r.jsx("div",{className:f.cn("w-full overflow-x-auto",a),children:r.jsx("div",{className:"flex items-start min-w-max px-4",children:t.map((n,p)=>{const c=p===t.length-1,y=n.status||"pending";return r.jsxs(D.Fragment,{children:[r.jsxs("div",{className:"flex flex-col items-center",children:[r.jsx("div",{className:f.cn("w-10 h-10 rounded-full flex items-center justify-center border-2",g[y]),children:n.icon?r.jsx("span",{className:f.cn("w-5 h-5",u[y]),children:n.icon}):y==="completed"?r.jsx("svg",{className:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})}):null}),r.jsxs("div",{className:"mt-4 text-center max-w-[200px]",children:[r.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:n.title}),n.description&&r.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 mt-1",children:n.description}),n.timestamp&&r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-500 mt-1",children:n.timestamp})]})]}),!c&&r.jsx("div",{className:"flex-shrink-0 w-16 h-0.5 bg-gray-300 dark:bg-gray-700 mt-5 mx-2 relative",children:r.jsx("div",{className:f.cn("absolute left-0 top-0 h-full transition-all duration-300",y==="completed"?"w-full bg-green-500":"w-0")})})]},n.id)})})}):r.jsx("div",{className:f.cn("w-full",a),children:r.jsx("div",{className:"space-y-4",children:t.map((n,p)=>{const c=p===t.length-1,y=n.status||"pending";return r.jsxs("div",{className:"flex gap-4",children:[r.jsxs("div",{className:"flex flex-col items-center",children:[r.jsx("div",{className:f.cn("w-10 h-10 rounded-full flex items-center justify-center border-2 flex-shrink-0",g[y]),children:n.icon?r.jsx("span",{className:f.cn("w-5 h-5",u[y]),children:n.icon}):y==="completed"?r.jsx("svg",{className:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})}):null}),!c&&r.jsx("div",{className:"w-0.5 flex-1 min-h-[32px] bg-gray-300 dark:bg-gray-700 relative mt-2",children:r.jsx("div",{className:f.cn("absolute top-0 left-0 w-full transition-all duration-300",y==="completed"?"h-full bg-green-500":"h-0")})})]}),r.jsx("div",{className:"flex-1 pb-4",children:r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsxs("div",{className:"flex-1",children:[r.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:n.title}),n.description&&r.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-1",children:n.description})]}),n.timestamp&&r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-500 ml-4 flex-shrink-0",children:n.timestamp})]})})]},n.id)})})})},xe=({className:t,children:i,disabled:a=!1,onClick:g})=>r.jsx("div",{className:f.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",a&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",t),onClick:a?void 0:g,role:"region","aria-label":"UworkUcalendar",children:i||"UworkUcalendar Component"});b.Calendar=se,b.DateRangePicker=oe,b.InterviewScheduler=le,b.PortSchedule=ce,b.RelativeTime=de,b.Timeline=me,b.TimelineVertical=fe,b.UmeetingUscheduler=ie,b.UscheduleUtimeline=ue,b.UsentimentUindicator=ge,b.UtimeUslotUpicker=he,b.UworkUcalendar=xe,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InterviewScheduler Component
|
|
3
|
+
*
|
|
4
|
+
* HR & recruiting component with full dark mode support.
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <InterviewScheduler className="custom-class" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface InterviewSchedulerProps {
|
|
13
|
+
className?: string;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const InterviewScheduler: ({ className, children, disabled, }: InterviewSchedulerProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=interview-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interview-scheduler.d.ts","sourceRoot":"","sources":["../src/interview-scheduler.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,GAAI,oCAIhC,uBAAuB,4CAiBzB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UmeetingUscheduler Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UmeetingUscheduler component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UmeetingUscheduler className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/meeting-scheduler}
|
|
21
|
+
*/
|
|
22
|
+
export interface UmeetingUschedulerProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UmeetingUscheduler: ({ className, children, disabled, onClick, }: UmeetingUschedulerProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=meeting-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meeting-scheduler.d.ts","sourceRoot":"","sources":["../src/meeting-scheduler.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,uBAAuB;IACtC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,GAAI,6CAKhC,uBAAuB,4CAmBzB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PortSchedule Component
|
|
3
|
+
*
|
|
4
|
+
* Maritime component with full dark mode support.
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <PortSchedule className="custom-class" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface PortScheduleProps {
|
|
13
|
+
className?: string;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const PortSchedule: ({ className, children, disabled, }: PortScheduleProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=port-schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-schedule.d.ts","sourceRoot":"","sources":["../src/port-schedule.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,GAAI,oCAI1B,iBAAiB,4CAiBnB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface RelativeTimeProps {
|
|
3
|
+
/** Date to display */
|
|
4
|
+
date: Date | string | number;
|
|
5
|
+
/** Show full date on hover */
|
|
6
|
+
showTooltip?: boolean;
|
|
7
|
+
/** Update interval in seconds (0 to disable) */
|
|
8
|
+
updateInterval?: number;
|
|
9
|
+
/** Additional className */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* RelativeTime Component
|
|
14
|
+
*
|
|
15
|
+
* Displays relative time (e.g., "2 hours ago", "just now").
|
|
16
|
+
* Optionally shows full timestamp on hover and auto-updates.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <RelativeTime date={new Date()} />
|
|
21
|
+
* <RelativeTime date="2024-01-15T10:30:00Z" showTooltip />
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <RelativeTime
|
|
27
|
+
* date={message.timestamp}
|
|
28
|
+
* updateInterval={60}
|
|
29
|
+
* showTooltip
|
|
30
|
+
* />
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const RelativeTime: React.FC<RelativeTimeProps>;
|
|
34
|
+
//# sourceMappingURL=relative-time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relative-time.d.ts","sourceRoot":"","sources":["../src/relative-time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,iBAAiB;IAChC,sBAAsB;IACtB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkEpD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UscheduleUtimeline Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UscheduleUtimeline component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UscheduleUtimeline className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/schedule-timeline}
|
|
21
|
+
*/
|
|
22
|
+
export interface UscheduleUtimelineProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UscheduleUtimeline: ({ className, children, disabled, onClick, }: UscheduleUtimelineProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=schedule-timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-timeline.d.ts","sourceRoot":"","sources":["../src/schedule-timeline.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,uBAAuB;IACtC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,GAAI,6CAKhC,uBAAuB,4CAmBzB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UsentimentUindicator Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UsentimentUindicator component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UsentimentUindicator className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/sentiment-indicator}
|
|
21
|
+
*/
|
|
22
|
+
export interface UsentimentUindicatorProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UsentimentUindicator: ({ className, children, disabled, onClick, }: UsentimentUindicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=sentiment-indicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentiment-indicator.d.ts","sourceRoot":"","sources":["../src/sentiment-indicator.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,yBAAyB;IACxC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,GAAI,6CAKlC,yBAAyB,4CAmB3B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UtimeUslotUpicker Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UtimeUslotUpicker component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UtimeUslotUpicker className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/time-slot-picker}
|
|
21
|
+
*/
|
|
22
|
+
export interface UtimeUslotUpickerProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UtimeUslotUpicker: ({ className, children, disabled, onClick, }: UtimeUslotUpickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=time-slot-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-slot-picker.d.ts","sourceRoot":"","sources":["../src/time-slot-picker.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,GAAI,6CAK/B,sBAAsB,4CAmBxB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface TimelineEvent {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
timestamp?: string;
|
|
7
|
+
icon?: React.ReactNode;
|
|
8
|
+
color?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface TimelineVerticalProps {
|
|
11
|
+
/** Timeline events */
|
|
12
|
+
events: TimelineEvent[];
|
|
13
|
+
/** Align timeline */
|
|
14
|
+
align?: 'left' | 'center' | 'right';
|
|
15
|
+
/** Show connectors */
|
|
16
|
+
showConnectors?: boolean;
|
|
17
|
+
/** Additional className */
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* TimelineVertical Component
|
|
22
|
+
*
|
|
23
|
+
* Vertical timeline for displaying chronological events.
|
|
24
|
+
* Shows events with connecting lines and optional icons.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <TimelineVertical
|
|
29
|
+
* events={[
|
|
30
|
+
* { id: '1', title: 'Order placed', timestamp: '2 hours ago' },
|
|
31
|
+
* { id: '2', title: 'Processing', timestamp: '1 hour ago' },
|
|
32
|
+
* { id: '3', title: 'Shipped', timestamp: '30 min ago' }
|
|
33
|
+
* ]}
|
|
34
|
+
* align="left"
|
|
35
|
+
* />
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare const TimelineVertical: React.FC<TimelineVerticalProps>;
|
|
39
|
+
//# sourceMappingURL=timeline-vertical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline-vertical.d.ts","sourceRoot":"","sources":["../src/timeline-vertical.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2E5D,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface TimelineItem {
|
|
3
|
+
/** Item ID */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Item title */
|
|
6
|
+
title: React.ReactNode;
|
|
7
|
+
/** Item description */
|
|
8
|
+
description?: React.ReactNode;
|
|
9
|
+
/** Item timestamp */
|
|
10
|
+
timestamp?: string;
|
|
11
|
+
/** Item icon */
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
/** Item status */
|
|
14
|
+
status?: 'completed' | 'active' | 'pending' | 'error';
|
|
15
|
+
}
|
|
16
|
+
export interface TimelineProps {
|
|
17
|
+
/** Timeline items */
|
|
18
|
+
items: TimelineItem[];
|
|
19
|
+
/** Orientation */
|
|
20
|
+
orientation?: 'vertical' | 'horizontal';
|
|
21
|
+
/** Additional className */
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Timeline Component
|
|
26
|
+
*
|
|
27
|
+
* Chronological timeline for events and activities.
|
|
28
|
+
* Supports vertical and horizontal orientations.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <Timeline
|
|
33
|
+
* items={[
|
|
34
|
+
* { id: '1', title: 'Project Started', timestamp: '2024-01-01', status: 'completed' },
|
|
35
|
+
* { id: '2', title: 'In Progress', description: 'Working on features', status: 'active' },
|
|
36
|
+
* { id: '3', title: 'Pending Review', status: 'pending' }
|
|
37
|
+
* ]}
|
|
38
|
+
* />
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* <Timeline
|
|
44
|
+
* items={events}
|
|
45
|
+
* orientation="horizontal"
|
|
46
|
+
* />
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare const Timeline: React.FC<TimelineProps>;
|
|
50
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,uBAAuB;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,kBAAkB;IAClB,MAAM,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,kBAAkB;IAClB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgL5C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UworkUcalendar Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UworkUcalendar component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UworkUcalendar className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/work-calendar}
|
|
21
|
+
*/
|
|
22
|
+
export interface UworkUcalendarProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UworkUcalendar: ({ className, children, disabled, onClick, }: UworkUcalendarProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=work-calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-calendar.d.ts","sourceRoot":"","sources":["../src/work-calendar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,6CAK5B,mBAAmB,4CAmBrB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sudobility/scheduling-components",
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"description": "scheduling UI components for React",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.umd.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.esm.js",
|
|
13
|
+
"require": "./dist/index.umd.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc && vite build",
|
|
22
|
+
"dev": "vite build --watch",
|
|
23
|
+
"type-check": "tsc --noEmit"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@sudobility/components": "^3.0.0",
|
|
27
|
+
"@sudobility/design": "^1.1.3",
|
|
28
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
29
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@sudobility/components": "^3.0.0",
|
|
33
|
+
"@sudobility/design": "^1.1.3",
|
|
34
|
+
"@types/node": "^24.7.1",
|
|
35
|
+
"@types/react": "^19.2.2",
|
|
36
|
+
"@types/react-dom": "^19.2.2",
|
|
37
|
+
"@vitejs/plugin-react": "^5.1.0",
|
|
38
|
+
"class-variance-authority": "^0.7.1",
|
|
39
|
+
"clsx": "^2.1.1",
|
|
40
|
+
"react": "^19.2.0",
|
|
41
|
+
"react-dom": "^19.2.0",
|
|
42
|
+
"tailwind-merge": "^3.3.1",
|
|
43
|
+
"typescript": "^5.9.3",
|
|
44
|
+
"vite": "^7.1.12",
|
|
45
|
+
"vite-plugin-dts": "^4.5.4"
|
|
46
|
+
}
|
|
47
|
+
}
|