it-data-nexus-ui-library 1.0.1 → 1.0.3

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.
@@ -1 +1 @@
1
- import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as o}from"../node_modules/style-to-js/cjs/index.mjs";var s=e(o());export{s as default};
1
+ import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as m}from"../node_modules/extend/index.mjs";var o=e(m());export{o as default};
@@ -1 +1 @@
1
- import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as m}from"../node_modules/extend/index.mjs";var o=e(m());export{o as default};
1
+ import{getDefaultExportFromCjs as e}from"./_commonjsHelpers.mjs";import{__require as o}from"../node_modules/style-to-js/cjs/index.mjs";var s=e(o());export{s as default};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Tooltip as a,IconButton as i}from"@mui/material";const o=({title:o,ariaLabel:l,children:t,disabled:e=!1,variant:d="standard",sx:c,...n})=>r(a,{title:o??"",children:r("span",{children:r(i,{...n,"aria-label":l??o,disabled:e,sx:["filled"===d?{bgcolor:"primary.main",color:"primary.contrastText","&:hover":{bgcolor:"primary.dark"},"&.Mui-disabled":{bgcolor:"action.disabledBackground",opacity:.5}}:{},...Array.isArray(c)?c:c?[c]:[]],children:t})})});export{o as IconButton};
1
+ import{jsx as r}from"react/jsx-runtime";import{Tooltip as o,IconButton as a}from"@mui/material";import{useTheme as i,alpha as l}from"@mui/material/styles";const e=({title:e,ariaLabel:t,children:d,disabled:m=!1,variant:n="standard",sx:c,...s})=>{const b=i().palette.primary.main;return r(o,{title:e??"",children:r("span",{children:r(a,{...s,"aria-label":t??e,disabled:m,sx:["filled"===n?{bgcolor:"primary.main",color:"primary.contrastText","&:hover":{bgcolor:"primary.dark"},"&.Mui-disabled":{bgcolor:"action.disabledBackground",opacity:.5}}:{},"outlined"===n?{color:"primary.main",border:"1.5px solid",borderColor:"primary.main","&:hover":{bgcolor:l(b,.12),borderColor:"primary.main"},"&.Mui-disabled":{borderColor:l(b,.4),color:l(b,.4)}}:{},...Array.isArray(c)?c:c?[c]:[]],children:d})})})};export{e as IconButton};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as t}from"react/jsx-runtime";import{useId as r}from"react";import{useTheme as s,alpha as e}from"@mui/material/styles";import{getChartColours as i}from"../theme/chartColours.mjs";import{BarChart as p}from"../node_modules/@mui/x-charts/BarChart/BarChart.mjs";function l({slotProps:l,slots:a,...m}){const c=s(),d=i(c.palette.mode),f=r().replace(/:/g,""),n="horizontal"===m.layout,h=d.map((o,t)=>({id:`${f}bg${t}`,color:o}));return o(p,{colors:h.map(({id:o})=>`url(#${o})`),...m,grid:{vertical:!0,horizontal:!0},slots:a,slotProps:{...l,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},...l?.tooltip}},children:o("defs",{children:h.map(({id:r,color:s})=>t("linearGradient",n?{id:r,x1:"0",y1:"0",x2:"1",y2:"0",children:[o("stop",{offset:"0%",stopColor:e(s,.15)}),o("stop",{offset:"100%",stopColor:s,stopOpacity:1})]}:{id:r,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:s,stopOpacity:1}),o("stop",{offset:"100%",stopColor:e(s,.15)})]},r))})})}export{l as NexusBarChart};
1
+ import{jsx as o,jsxs as t}from"react/jsx-runtime";import{useId as r}from"react";import{useTheme as s,alpha as e}from"@mui/material/styles";import{getChartColours as i}from"../theme/chartColours.mjs";import{BarChart as p}from"../node_modules/@mui/x-charts/BarChart/BarChart.mjs";function l({slotProps:l,slots:a,...m}){const c=s(),d=i(c.palette.mode),n=r().replace(/:/g,""),f="horizontal"===m.layout,h=d.map((o,t)=>({id:`${n}bg${t}`,color:o}));return o(p,{colors:h.map(({id:o})=>`url(#${o})`),...m,grid:{vertical:!0,horizontal:!0},slots:a,slotProps:{...l,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...l?.tooltip}},children:o("defs",{children:h.map(({id:r,color:s})=>t("linearGradient",f?{id:r,x1:"0",y1:"0",x2:"1",y2:"0",children:[o("stop",{offset:"0%",stopColor:e(s,.15)}),o("stop",{offset:"100%",stopColor:s,stopOpacity:1})]}:{id:r,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:s,stopOpacity:1}),o("stop",{offset:"100%",stopColor:e(s,.15)})]},r))})})}export{l as NexusBarChart};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useId as r,useRef as o,useMemo as s}from"react";import{useTheme as i}from"@mui/material/styles";import{getChartColours as a}from"../theme/chartColours.mjs";import{AnimatedArea as n}from"../node_modules/@mui/x-charts/LineChart/AnimatedArea.mjs";import{LineChart as p}from"../node_modules/@mui/x-charts/LineChart/LineChart.mjs";function m({sx:m,xAxis:l,grid:d,series:c=[],slots:f,slotProps:x,children:h,...u}){const g=i(),y=a(g.palette.mode),C=r().replace(/:/g,""),w=l?.map(t=>({scaleType:"point",...t})),A=c.map((t,e)=>t.area&&!t.id?{...t,id:`${C}s${e}`}:t),j=new Map(A.map((t,e)=>({s:t,i:e})).filter(({s:t})=>t.area).map(({s:t,i:e})=>[t.id,`${C}g${e}`])),S=o(j);S.current=j;const $=s(()=>function(e){const r=e.ownerState?.seriesId,o=r?S.current.get(r):void 0;return t(n,{...e,ownerState:o?{...e.ownerState,gradientId:o}:e.ownerState})},[C]);return e(p,{colors:y,xAxis:w,grid:d??{horizontal:!0,vertical:!0},series:A,slots:{area:$,...f},slotProps:{...x,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},...x?.tooltip}},sx:m,...u,children:[j.size>0&&t("defs",{children:Array.from(j.entries()).map(([,r],o)=>e("linearGradient",{id:r,x1:"0",y1:"0",x2:"0",y2:"1",children:[t("stop",{offset:"0%",stopColor:y[o%y.length],stopOpacity:.4}),t("stop",{offset:"100%",stopColor:y[o%y.length],stopOpacity:0})]},r))}),h]})}export{m as NexusLineChart};
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useId as r,useRef as o,useMemo as s}from"react";import{useTheme as i}from"@mui/material/styles";import{getChartColours as a}from"../theme/chartColours.mjs";import{AnimatedArea as n}from"../node_modules/@mui/x-charts/LineChart/AnimatedArea.mjs";import{LineChart as p}from"../node_modules/@mui/x-charts/LineChart/LineChart.mjs";function m({sx:m,xAxis:l,grid:d,series:c=[],slots:f,slotProps:x,children:h,...u}){const g=i(),y=a(g.palette.mode),C=r().replace(/:/g,""),w=l?.map(t=>({scaleType:"point",...t})),A=c.map((t,e)=>t.area&&!t.id?{...t,id:`${C}s${e}`}:t),j=new Map(A.map((t,e)=>({s:t,i:e})).filter(({s:t})=>t.area).map(({s:t,i:e})=>[t.id,`${C}g${e}`])),S=o(j);S.current=j;const $=s(()=>function(e){const r=e.ownerState?.seriesId,o=r?S.current.get(r):void 0;return t(n,{...e,ownerState:o?{...e.ownerState,gradientId:o}:e.ownerState})},[C]);return e(p,{colors:y,xAxis:w,grid:d??{horizontal:!0,vertical:!0},series:A,slots:{area:$,...f},slotProps:{...x,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...x?.tooltip}},sx:m,...u,children:[j.size>0&&t("defs",{children:Array.from(j.entries()).map(([,r],o)=>e("linearGradient",{id:r,x1:"0",y1:"0",x2:"0",y2:"1",children:[t("stop",{offset:"0%",stopColor:y[o%y.length],stopOpacity:.4}),t("stop",{offset:"100%",stopColor:y[o%y.length],stopOpacity:0})]},r))}),h]})}export{m as NexusLineChart};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t,useRef as e}from"react";import{useTheme as s,alpha as i}from"@mui/material/styles";import{getChartColours as p}from"../theme/chartColours.mjs";import{PieArc as c}from"../node_modules/@mui/x-charts/PieChart/PieArc.mjs";import{PieChart as l}from"../node_modules/@mui/x-charts/PieChart/PieChart.mjs";function m({slotProps:m,slots:n,...a}){const d=s(),u=p(d.palette.mode),f=t().replace(/:/g,""),h=u.map((o,r)=>({id:`${f}pg${r}`,color:o})),x=new Map(h.map(({id:o,color:r})=>[r,o])),C=e(x);C.current=x;const P=e(function(r){const t=r.color?C.current.get(r.color):void 0;return o(c,{...r,color:t?`url(#${t})`:r.color})}).current;return o(l,{colors:u,...a,slots:{pieArc:P,...n},slotProps:{...m,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},...m?.tooltip}},children:o("defs",{children:h.map(({id:t,color:e})=>r("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:i(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]},t))})})}export{m as NexusPieChart};
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t,useRef as e}from"react";import{useTheme as i,alpha as s}from"@mui/material/styles";import{getChartColours as c}from"../theme/chartColours.mjs";import{PieArc as p}from"../node_modules/@mui/x-charts/PieChart/PieArc.mjs";import{PieChart as l}from"../node_modules/@mui/x-charts/PieChart/PieChart.mjs";function m({slotProps:m,slots:n,...a}){const d=i(),u=c(d.palette.mode),f=t().replace(/:/g,""),h=u.map((o,r)=>({id:`${f}pg${r}`,color:o})),x=new Map(h.map(({id:o,color:r})=>[r,o])),y=e(x);y.current=x;const C=e(function(r){const t=r.color?y.current.get(r.color):void 0;return o(p,{...r,color:t?`url(#${t})`:r.color})}).current;return o(l,{colors:u,...a,slots:{pieArc:C,...n},slotProps:{...m,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...m?.tooltip}},children:o("defs",{children:h.map(({id:t,color:e})=>r("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:s(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]},t))})})}export{m as NexusPieChart};
@@ -1 +1 @@
1
- const o="1.0.1";export{o as SAGE_NEXUS_UI_VERSION};
1
+ const o="1.0.3";export{o as SAGE_NEXUS_UI_VERSION};
package/dist/index.d.ts CHANGED
@@ -645,13 +645,14 @@ declare const PaperAsync: ({ title, description, actions, isLoading, isError, er
645
645
  type GreenWaveBackgroundProps = BoxProps;
646
646
  declare const GreenWaveBackground: ({ sx, children, ...rest }: GreenWaveBackgroundProps) => react.JSX.Element;
647
647
 
648
- type IconButtonVariant = "standard" | "filled";
648
+ type IconButtonVariant = "standard" | "filled" | "outlined";
649
649
  type IconButtonProps = Omit<IconButtonProps$1, "title"> & {
650
650
  title?: string;
651
651
  ariaLabel?: string;
652
652
  /**
653
653
  * `"standard"` — default MUI icon button (transparent background).
654
654
  * `"filled"` — primary-coloured filled circle; use for primary actions like Send.
655
+ * `"outlined"` — jade border and icon; matches SecondaryButton styling.
655
656
  */
656
657
  variant?: IconButtonVariant;
657
658
  };
@@ -1 +1 @@
1
- import{stringify as e}from"../../comma-separated-tokens/index.mjs";import{ok as t}from"../../devlop/lib/default.mjs";import{svg as n,html as r}from"../../property-information/index.mjs";import{stringify as o}from"../../space-separated-tokens/index.mjs";import s from"../../../_virtual/index3.mjs";import{whitespace as a}from"../../hast-util-whitespace/lib/index.mjs";import{name as i}from"../../estree-util-is-identifier-name/lib/index.mjs";import{VFileMessage as l}from"../../vfile-message/lib/index.mjs";import{find as p}from"../../property-information/lib/find.mjs";import{hastToReact as c}from"../../property-information/lib/hast-to-react.mjs";import{pointStart as u}from"../../unist-util-position/lib/index.mjs";const m={}.hasOwnProperty,f=new Map,d=/[A-Z]/g,y=new Set(["table","tbody","thead","tfoot","tr"]),x=new Set(["td","th"]),v="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function h(e,t){if(!t||void 0===t.Fragment)throw new TypeError("Expected `Fragment` in options");const o=t.filePath||void 0;let s;if(t.development){if("function"!=typeof t.jsxDEV)throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=function(e,t){return n;function n(n,r,o,s){const a=Array.isArray(o.children),i=u(n);return t(r,o,s,a,{columnNumber:i?i.column-1:void 0,fileName:e,lineNumber:i?i.line:void 0},void 0)}}(o,t.jsxDEV)}else{if("function"!=typeof t.jsx)throw new TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw new TypeError("Expected `jsxs` in production options");s=function(e,t,n){return r;function r(e,r,o,s){const a=Array.isArray(o.children)?n:t;return s?a(r,o,s):a(r,o)}}(0,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?n:r,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},i=g(a,e,void 0);return i&&"string"!=typeof i?i:a.create(e,a.Fragment,{children:i||void 0},void 0)}function g(e,r,o){return"element"===r.type?function(e,t,r){const o=e.schema;let s=o;"svg"===t.tagName.toLowerCase()&&"html"===o.space&&(s=n,e.schema=s);e.ancestors.push(t);const i=N(e,t.tagName,!1),l=function(e,t){const n={};let r,o;for(o in t.properties)if("children"!==o&&m.call(t.properties,o)){const s=w(e,o,t.properties[o]);if(s){const[o,a]=s;e.tableCellAlignToStyle&&"align"===o&&"string"==typeof a&&x.has(t.tagName)?r=a:n[o]=a}}if(r){(n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=r}return n}(e,t);let p=j(e,t);y.has(t.tagName)&&(p=p.filter(function(e){return"string"!=typeof e||!a(e)}));return b(e,l,i,t),E(l,p),e.ancestors.pop(),e.schema=o,e.create(t,i,l,r)}(e,r,o):"mdxFlowExpression"===r.type||"mdxTextExpression"===r.type?function(e,n){if(n.data&&n.data.estree&&e.evaluater){const r=n.data.estree.body[0];return t("ExpressionStatement"===r.type),e.evaluater.evaluateExpression(r.expression)}A(e,n.position)}(e,r):"mdxJsxFlowElement"===r.type||"mdxJsxTextElement"===r.type?function(e,r,o){const s=e.schema;let a=s;"svg"===r.name&&"html"===s.space&&(a=n,e.schema=a);e.ancestors.push(r);const i=null===r.name?e.Fragment:N(e,r.name,!0),l=function(e,n){const r={};for(const o of n.attributes)if("mdxJsxExpressionAttribute"===o.type)if(o.data&&o.data.estree&&e.evaluater){const n=o.data.estree.body[0];t("ExpressionStatement"===n.type);const s=n.expression;t("ObjectExpression"===s.type);const a=s.properties[0];t("SpreadElement"===a.type),Object.assign(r,e.evaluater.evaluateExpression(a.argument))}else A(e,n.position);else{const s=o.name;let a;if(o.value&&"object"==typeof o.value)if(o.value.data&&o.value.data.estree&&e.evaluater){const n=o.value.data.estree.body[0];t("ExpressionStatement"===n.type),a=e.evaluater.evaluateExpression(n.expression)}else A(e,n.position);else a=null===o.value||o.value;r[s]=a}return r}(e,r),p=j(e,r);return b(e,l,i,r),E(l,p),e.ancestors.pop(),e.schema=s,e.create(r,i,l,o)}(e,r,o):"mdxjsEsm"===r.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);A(e,t.position)}(e,r):"root"===r.type?function(e,t,n){const r={};return E(r,j(e,t)),e.create(t,e.Fragment,r,n)}(e,r,o):"text"===r.type?function(e,t){return t.value}(0,r):void 0}function b(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function E(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function j(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:f;for(;++r<t.children.length;){const s=t.children[r];let a;if(e.passKeys){const e="element"===s.type?s.tagName:"mdxJsxFlowElement"===s.type||"mdxJsxTextElement"===s.type?s.name:void 0;if(e){const t=o.get(e)||0;a=e+"-"+t,o.set(e,t+1)}}const i=g(e,s,a);void 0!==i&&n.push(i)}return n}function w(t,n,r){const a=p(t.schema,n);if(!(null==r||"number"==typeof r&&Number.isNaN(r))){if(Array.isArray(r)&&(r=a.commaSeparated?e(r):o(r)),"style"===a.property){let e="object"==typeof r?r:function(e,t){try{return s(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};const n=t,r=new l("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=v+"#cannot-parse-style-attribute",r}}(t,String(r));return"css"===t.stylePropertyNameCase&&(e=function(e){const t={};let n;for(n in e)m.call(e,n)&&(t[C(n)]=e[n]);return t}(e)),["style",e]}return["react"===t.elementAttributeNameCase&&a.space?c[a.property]||a.property:a.attribute,r]}}function N(e,t,n){let r;if(n)if(t.includes(".")){const e=t.split(".");let n,o=-1;for(;++o<e.length;){const t=i(e[o])?{type:"Identifier",name:e[o]}:{type:"Literal",value:e[o]};n=n?{type:"MemberExpression",object:n,property:t,computed:Boolean(o&&"Literal"===t.type),optional:!1}:t}r=n}else r=i(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else r={type:"Literal",value:t};if("Literal"===r.type){const t=r.value;return m.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);A(e)}function A(e,t){const n=new l("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=v+"#cannot-handle-mdx-estrees-without-createevaluater",n}function C(e){let t=e.replace(d,S);return"ms-"===t.slice(0,3)&&(t="-"+t),t}function S(e){return"-"+e.toLowerCase()}export{h as toJsxRuntime};
1
+ import{stringify as e}from"../../comma-separated-tokens/index.mjs";import{ok as t}from"../../devlop/lib/default.mjs";import{svg as n,html as r}from"../../property-information/index.mjs";import{stringify as o}from"../../space-separated-tokens/index.mjs";import s from"../../../_virtual/index4.mjs";import{whitespace as a}from"../../hast-util-whitespace/lib/index.mjs";import{name as i}from"../../estree-util-is-identifier-name/lib/index.mjs";import{VFileMessage as l}from"../../vfile-message/lib/index.mjs";import{find as p}from"../../property-information/lib/find.mjs";import{hastToReact as c}from"../../property-information/lib/hast-to-react.mjs";import{pointStart as u}from"../../unist-util-position/lib/index.mjs";const m={}.hasOwnProperty,f=new Map,d=/[A-Z]/g,y=new Set(["table","tbody","thead","tfoot","tr"]),x=new Set(["td","th"]),v="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function h(e,t){if(!t||void 0===t.Fragment)throw new TypeError("Expected `Fragment` in options");const o=t.filePath||void 0;let s;if(t.development){if("function"!=typeof t.jsxDEV)throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=function(e,t){return n;function n(n,r,o,s){const a=Array.isArray(o.children),i=u(n);return t(r,o,s,a,{columnNumber:i?i.column-1:void 0,fileName:e,lineNumber:i?i.line:void 0},void 0)}}(o,t.jsxDEV)}else{if("function"!=typeof t.jsx)throw new TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw new TypeError("Expected `jsxs` in production options");s=function(e,t,n){return r;function r(e,r,o,s){const a=Array.isArray(o.children)?n:t;return s?a(r,o,s):a(r,o)}}(0,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?n:r,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},i=g(a,e,void 0);return i&&"string"!=typeof i?i:a.create(e,a.Fragment,{children:i||void 0},void 0)}function g(e,r,o){return"element"===r.type?function(e,t,r){const o=e.schema;let s=o;"svg"===t.tagName.toLowerCase()&&"html"===o.space&&(s=n,e.schema=s);e.ancestors.push(t);const i=N(e,t.tagName,!1),l=function(e,t){const n={};let r,o;for(o in t.properties)if("children"!==o&&m.call(t.properties,o)){const s=w(e,o,t.properties[o]);if(s){const[o,a]=s;e.tableCellAlignToStyle&&"align"===o&&"string"==typeof a&&x.has(t.tagName)?r=a:n[o]=a}}if(r){(n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=r}return n}(e,t);let p=j(e,t);y.has(t.tagName)&&(p=p.filter(function(e){return"string"!=typeof e||!a(e)}));return b(e,l,i,t),E(l,p),e.ancestors.pop(),e.schema=o,e.create(t,i,l,r)}(e,r,o):"mdxFlowExpression"===r.type||"mdxTextExpression"===r.type?function(e,n){if(n.data&&n.data.estree&&e.evaluater){const r=n.data.estree.body[0];return t("ExpressionStatement"===r.type),e.evaluater.evaluateExpression(r.expression)}A(e,n.position)}(e,r):"mdxJsxFlowElement"===r.type||"mdxJsxTextElement"===r.type?function(e,r,o){const s=e.schema;let a=s;"svg"===r.name&&"html"===s.space&&(a=n,e.schema=a);e.ancestors.push(r);const i=null===r.name?e.Fragment:N(e,r.name,!0),l=function(e,n){const r={};for(const o of n.attributes)if("mdxJsxExpressionAttribute"===o.type)if(o.data&&o.data.estree&&e.evaluater){const n=o.data.estree.body[0];t("ExpressionStatement"===n.type);const s=n.expression;t("ObjectExpression"===s.type);const a=s.properties[0];t("SpreadElement"===a.type),Object.assign(r,e.evaluater.evaluateExpression(a.argument))}else A(e,n.position);else{const s=o.name;let a;if(o.value&&"object"==typeof o.value)if(o.value.data&&o.value.data.estree&&e.evaluater){const n=o.value.data.estree.body[0];t("ExpressionStatement"===n.type),a=e.evaluater.evaluateExpression(n.expression)}else A(e,n.position);else a=null===o.value||o.value;r[s]=a}return r}(e,r),p=j(e,r);return b(e,l,i,r),E(l,p),e.ancestors.pop(),e.schema=s,e.create(r,i,l,o)}(e,r,o):"mdxjsEsm"===r.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);A(e,t.position)}(e,r):"root"===r.type?function(e,t,n){const r={};return E(r,j(e,t)),e.create(t,e.Fragment,r,n)}(e,r,o):"text"===r.type?function(e,t){return t.value}(0,r):void 0}function b(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function E(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function j(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:f;for(;++r<t.children.length;){const s=t.children[r];let a;if(e.passKeys){const e="element"===s.type?s.tagName:"mdxJsxFlowElement"===s.type||"mdxJsxTextElement"===s.type?s.name:void 0;if(e){const t=o.get(e)||0;a=e+"-"+t,o.set(e,t+1)}}const i=g(e,s,a);void 0!==i&&n.push(i)}return n}function w(t,n,r){const a=p(t.schema,n);if(!(null==r||"number"==typeof r&&Number.isNaN(r))){if(Array.isArray(r)&&(r=a.commaSeparated?e(r):o(r)),"style"===a.property){let e="object"==typeof r?r:function(e,t){try{return s(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};const n=t,r=new l("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=v+"#cannot-parse-style-attribute",r}}(t,String(r));return"css"===t.stylePropertyNameCase&&(e=function(e){const t={};let n;for(n in e)m.call(e,n)&&(t[C(n)]=e[n]);return t}(e)),["style",e]}return["react"===t.elementAttributeNameCase&&a.space?c[a.property]||a.property:a.attribute,r]}}function N(e,t,n){let r;if(n)if(t.includes(".")){const e=t.split(".");let n,o=-1;for(;++o<e.length;){const t=i(e[o])?{type:"Identifier",name:e[o]}:{type:"Literal",value:e[o]};n=n?{type:"MemberExpression",object:n,property:t,computed:Boolean(o&&"Literal"===t.type),optional:!1}:t}r=n}else r=i(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else r={type:"Literal",value:t};if("Literal"===r.type){const t=r.value;return m.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);A(e)}function A(e,t){const n=new l("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=v+"#cannot-handle-mdx-estrees-without-createevaluater",n}function C(e){let t=e.replace(d,S);return"ms-"===t.slice(0,3)&&(t="-"+t),t}function S(e){return"-"+e.toLowerCase()}export{h as toJsxRuntime};
@@ -1 +1 @@
1
- import{bail as e}from"../../bail/index.mjs";import t from"../../../_virtual/index4.mjs";import s from"../../is-plain-obj/index.mjs";import{CallableInstance as r}from"./callable-instance.mjs";import{trough as n}from"../../trough/lib/index.mjs";import{VFile as i}from"../../vfile/lib/index.mjs";const o={}.hasOwnProperty;class c extends r{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=n()}copy(){const e=new c;let s=-1;for(;++s<this.attachers.length;){const t=this.attachers[s];e.use(...t)}return e.data(t(!0,{},this.namespace)),e}data(e,t){return"string"==typeof e?2===arguments.length?(p("data",this.frozen),this.namespace[e]=t,this):o.call(this.namespace,e)&&this.namespace[e]||void 0:e?(p("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...s]=this.attachers[this.freezeIndex];if(!1===s[0])continue;!0===s[0]&&(s[0]=void 0);const r=t.call(e,...s);"function"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=m(e),s=this.parser||this.Parser;return f("parse",s),s(String(t),t)}process(e,t){const s=this;return this.freeze(),f("process",this.parser||this.Parser),h("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,n){const i=m(e),o=s.parse(i);function c(e,s){e||!s?n(e):r?r(s):t(void 0,s)}s.run(o,i,function(e,t,r){if(e||!t||!r)return c(e);const n=t,i=s.stringify(n,r);var o;"string"==typeof(o=i)||function(e){return Boolean(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(o)?r.value=i:r.result=i,c(e,r)})}}processSync(t){let s,r=!1;return this.freeze(),f("processSync",this.parser||this.Parser),h("processSync",this.compiler||this.Compiler),this.process(t,function(t,n){r=!0,e(t),s=n}),l("processSync","process",r),s}run(e,t,s){u(e),this.freeze();const r=this.transformers;return s||"function"!=typeof t||(s=t,t=void 0),s?n(void 0,s):new Promise(n);function n(n,i){const o=m(t);r.run(e,o,function(t,r,o){const c=r||e;t?i(t):n?n(c):s(void 0,c,o)})}}runSync(t,s){let r,n=!1;return this.run(t,s,function(t,s){e(t),r=s,n=!0}),l("runSync","run",n),r}stringify(e,t){this.freeze();const s=m(t),r=this.compiler||this.Compiler;return h("stringify",r),u(e),r(e,s)}use(e,...r){const n=this.attachers,i=this.namespace;if(p("use",this.frozen),null==e);else if("function"==typeof e)f(e,r);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?a(e):c(e)}return this;function o(e){if("function"==typeof e)f(e,[]);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){const[t,...s]=e;f(t,s)}else c(e)}}function c(e){if(!("plugins"in e)&&!("settings"in e))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");a(e.plugins),e.settings&&(i.settings=t(!0,i.settings,e.settings))}function a(e){let t=-1;if(null==e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){o(e[t])}}}function f(e,r){let i=-1,o=-1;for(;++i<n.length;)if(n[i][0]===e){o=i;break}if(-1===o)n.push([e,...r]);else if(r.length>0){let[i,...c]=r;const a=n[o][1];s(a)&&s(i)&&(i=t(!0,a,i)),n[o]=[e,i,...c]}}}}const a=(new c).freeze();function f(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `parser`")}function h(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `compiler`")}function p(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function u(e){if(!s(e)||"string"!=typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function l(e,t,s){if(!s)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function m(e){return function(e){return Boolean(e&&"object"==typeof e&&"message"in e&&"messages"in e)}(e)?e:new i(e)}export{c as Processor,a as unified};
1
+ import{bail as e}from"../../bail/index.mjs";import t from"../../../_virtual/index3.mjs";import s from"../../is-plain-obj/index.mjs";import{CallableInstance as r}from"./callable-instance.mjs";import{trough as n}from"../../trough/lib/index.mjs";import{VFile as i}from"../../vfile/lib/index.mjs";const o={}.hasOwnProperty;class c extends r{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=n()}copy(){const e=new c;let s=-1;for(;++s<this.attachers.length;){const t=this.attachers[s];e.use(...t)}return e.data(t(!0,{},this.namespace)),e}data(e,t){return"string"==typeof e?2===arguments.length?(p("data",this.frozen),this.namespace[e]=t,this):o.call(this.namespace,e)&&this.namespace[e]||void 0:e?(p("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...s]=this.attachers[this.freezeIndex];if(!1===s[0])continue;!0===s[0]&&(s[0]=void 0);const r=t.call(e,...s);"function"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=m(e),s=this.parser||this.Parser;return f("parse",s),s(String(t),t)}process(e,t){const s=this;return this.freeze(),f("process",this.parser||this.Parser),h("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,n){const i=m(e),o=s.parse(i);function c(e,s){e||!s?n(e):r?r(s):t(void 0,s)}s.run(o,i,function(e,t,r){if(e||!t||!r)return c(e);const n=t,i=s.stringify(n,r);var o;"string"==typeof(o=i)||function(e){return Boolean(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(o)?r.value=i:r.result=i,c(e,r)})}}processSync(t){let s,r=!1;return this.freeze(),f("processSync",this.parser||this.Parser),h("processSync",this.compiler||this.Compiler),this.process(t,function(t,n){r=!0,e(t),s=n}),l("processSync","process",r),s}run(e,t,s){u(e),this.freeze();const r=this.transformers;return s||"function"!=typeof t||(s=t,t=void 0),s?n(void 0,s):new Promise(n);function n(n,i){const o=m(t);r.run(e,o,function(t,r,o){const c=r||e;t?i(t):n?n(c):s(void 0,c,o)})}}runSync(t,s){let r,n=!1;return this.run(t,s,function(t,s){e(t),r=s,n=!0}),l("runSync","run",n),r}stringify(e,t){this.freeze();const s=m(t),r=this.compiler||this.Compiler;return h("stringify",r),u(e),r(e,s)}use(e,...r){const n=this.attachers,i=this.namespace;if(p("use",this.frozen),null==e);else if("function"==typeof e)f(e,r);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?a(e):c(e)}return this;function o(e){if("function"==typeof e)f(e,[]);else{if("object"!=typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){const[t,...s]=e;f(t,s)}else c(e)}}function c(e){if(!("plugins"in e)&&!("settings"in e))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");a(e.plugins),e.settings&&(i.settings=t(!0,i.settings,e.settings))}function a(e){let t=-1;if(null==e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){o(e[t])}}}function f(e,r){let i=-1,o=-1;for(;++i<n.length;)if(n[i][0]===e){o=i;break}if(-1===o)n.push([e,...r]);else if(r.length>0){let[i,...c]=r;const a=n[o][1];s(a)&&s(i)&&(i=t(!0,a,i)),n[o]=[e,i,...c]}}}}const a=(new c).freeze();function f(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `parser`")}function h(e,t){if("function"!=typeof t)throw new TypeError("Cannot `"+e+"` without `compiler`")}function p(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function u(e){if(!s(e)||"string"!=typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function l(e,t,s){if(!s)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function m(e){return function(e){return Boolean(e&&"object"==typeof e&&"message"in e&&"messages"in e)}(e)?e:new i(e)}export{c as Processor,a as unified};
package/package.json CHANGED
@@ -1,115 +1,115 @@
1
- {
2
- "name": "it-data-nexus-ui-library",
3
- "version": "1.0.1",
4
- "description": "Nexus core components",
5
- "license": "ISC",
6
- "author": "emsmart-sage",
7
- "type": "module",
8
- "main": "dist/index.mjs",
9
- "module": "dist/index.mjs",
10
- "types": "dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "import": "./dist/index.mjs",
14
- "types": "./dist/index.d.ts"
15
- }
16
- },
17
- "engines": {
18
- "node": ">=18.18.0",
19
- "npm": ">=9"
20
- },
21
- "files": [
22
- "dist"
23
- ],
24
- "sideEffects": false,
25
- "scripts": {
26
- "prebuild": "node scripts/write-version.mjs",
27
- "build": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\" && rollup -c",
28
- "build-storybook": "storybook build",
29
- "generate-favicon": "node scripts/generate-favicon.mjs",
30
- "lint": "eslint \"src/**/*.{ts,tsx,js,jsx}\"",
31
- "prepublishOnly": "npm run lint && npm run build",
32
- "storybook": "storybook dev -p 6006",
33
- "test": "echo \"Error: no test specified\" && exit 1"
34
- },
35
- "dependencies": {
36
- "@mui/x-charts": "^9.4.0",
37
- "@radix-ui/react-popover": "^1.1.15",
38
- "react-day-picker": "^9.13.2",
39
- "react-markdown": "^10.1.0",
40
- "remark-gfm": "^4.0.1"
41
- },
42
- "peerDependencies": {
43
- "@emotion/react": "^11.14.0",
44
- "@emotion/styled": "^11.14.1",
45
- "@mui/icons-material": "^7 || ^8 || ^9",
46
- "@mui/material": "^7 || ^8 || ^9",
47
- "@mui/x-data-grid": "^7 || ^8 || ^9",
48
- "@mui/x-date-pickers": "^7 || ^8 || ^9",
49
- "date-fns": "^3 || ^4",
50
- "react": "^18 || ^19",
51
- "react-dom": "^18 || ^19"
52
- },
53
- "peerDependenciesMeta": {
54
- "@radix-ui/react-popover": {
55
- "optional": false
56
- },
57
- "@mui/x-data-grid": {
58
- "optional": true
59
- },
60
- "@mui/x-date-pickers": {
61
- "optional": true
62
- },
63
- "react-day-picker": {
64
- "optional": false
65
- }
66
- },
67
- "devDependencies": {
68
- "@chromatic-com/storybook": "^5.1.1",
69
- "@emotion/react": "^11.14.0",
70
- "@emotion/styled": "^11.14.1",
71
- "@eslint/js": "9.39.4",
72
- "@mui/icons-material": "^9.0.1",
73
- "@mui/material": "^9.0.1",
74
- "@mui/x-data-grid": "^9.0.0",
75
- "@mui/x-date-pickers": "^9.3.0",
76
- "@radix-ui/react-popover": "^1.1.15",
77
- "@rollup/plugin-alias": "^6.0.0",
78
- "@rollup/plugin-commonjs": "^29.0.2",
79
- "@rollup/plugin-json": "^6.0.0",
80
- "@rollup/plugin-node-resolve": "^16.0.3",
81
- "@rollup/plugin-terser": "^1.0.0",
82
- "@rollup/plugin-typescript": "^12.3.0",
83
- "@rollup/plugin-url": "^8.0.2",
84
- "@storybook/addon-a11y": "^10.3.5",
85
- "@storybook/addon-docs": "^10.3.5",
86
- "@storybook/addon-vitest": "^10.3.5",
87
- "@storybook/react-vite": "^10.3.5",
88
- "@types/node": "^25.6.0",
89
- "@types/react": "^19.2.14",
90
- "@types/rollup-plugin-peer-deps-external": "^2.2.6",
91
- "@vitejs/plugin-react": "^6.0.1",
92
- "@vitest/browser-playwright": "^4.1.4",
93
- "@vitest/coverage-v8": "^4.1.4",
94
- "date-fns": "^4.1.0",
95
- "eslint": "9.39.4",
96
- "eslint-plugin-import": "^2.32.0",
97
- "eslint-plugin-react": "^7.37.5",
98
- "globals": "^17.5.0",
99
- "playwright": "^1.59.1",
100
- "png-to-ico": "^2.1.8",
101
- "react": "^19.2.5",
102
- "react-day-picker": "^9.13.2",
103
- "react-dom": "^19.2.5",
104
- "rollup": "^4.60.1",
105
- "rollup-plugin-dts": "^6.4.1",
106
- "rollup-plugin-peer-deps-external": "^2.2.4",
107
- "rollup-plugin-postcss": "^4.0.2",
108
- "sharp": "^0.34.5",
109
- "storybook": "^10.3.5",
110
- "tslib": "^2.8.1",
111
- "typescript": "^6.0.2",
112
- "typescript-eslint": "8.58.2",
113
- "vitest": "^4.1.4"
114
- }
115
- }
1
+ {
2
+ "name": "it-data-nexus-ui-library",
3
+ "version": "1.0.3",
4
+ "description": "Nexus core components",
5
+ "license": "ISC",
6
+ "author": "emsmart-sage",
7
+ "type": "module",
8
+ "main": "dist/index.mjs",
9
+ "module": "dist/index.mjs",
10
+ "types": "dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.mjs",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "engines": {
18
+ "node": ">=18.18.0",
19
+ "npm": ">=9"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "sideEffects": false,
25
+ "scripts": {
26
+ "prebuild": "node scripts/write-version.mjs",
27
+ "build": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\" && rollup -c",
28
+ "build-storybook": "storybook build",
29
+ "generate-favicon": "node scripts/generate-favicon.mjs",
30
+ "lint": "eslint \"src/**/*.{ts,tsx,js,jsx}\"",
31
+ "prepublishOnly": "npm run lint && npm run build",
32
+ "storybook": "storybook dev -p 6006",
33
+ "test": "echo \"Error: no test specified\" && exit 1"
34
+ },
35
+ "dependencies": {
36
+ "@mui/x-charts": "^9.4.0",
37
+ "@radix-ui/react-popover": "^1.1.15",
38
+ "react-day-picker": "^9.13.2",
39
+ "react-markdown": "^10.1.0",
40
+ "remark-gfm": "^4.0.1"
41
+ },
42
+ "peerDependencies": {
43
+ "@emotion/react": "^11.14.0",
44
+ "@emotion/styled": "^11.14.1",
45
+ "@mui/icons-material": "^7 || ^8 || ^9",
46
+ "@mui/material": "^7 || ^8 || ^9",
47
+ "@mui/x-data-grid": "^7 || ^8 || ^9",
48
+ "@mui/x-date-pickers": "^7 || ^8 || ^9",
49
+ "date-fns": "^3 || ^4",
50
+ "react": "^18 || ^19",
51
+ "react-dom": "^18 || ^19"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "@radix-ui/react-popover": {
55
+ "optional": false
56
+ },
57
+ "@mui/x-data-grid": {
58
+ "optional": true
59
+ },
60
+ "@mui/x-date-pickers": {
61
+ "optional": true
62
+ },
63
+ "react-day-picker": {
64
+ "optional": false
65
+ }
66
+ },
67
+ "devDependencies": {
68
+ "@chromatic-com/storybook": "^5.1.1",
69
+ "@emotion/react": "^11.14.0",
70
+ "@emotion/styled": "^11.14.1",
71
+ "@eslint/js": "9.39.4",
72
+ "@mui/icons-material": "^9.0.1",
73
+ "@mui/material": "^9.0.1",
74
+ "@mui/x-data-grid": "^9.0.0",
75
+ "@mui/x-date-pickers": "^9.3.0",
76
+ "@radix-ui/react-popover": "^1.1.15",
77
+ "@rollup/plugin-alias": "^6.0.0",
78
+ "@rollup/plugin-commonjs": "^29.0.2",
79
+ "@rollup/plugin-json": "^6.0.0",
80
+ "@rollup/plugin-node-resolve": "^16.0.3",
81
+ "@rollup/plugin-terser": "^1.0.0",
82
+ "@rollup/plugin-typescript": "^12.3.0",
83
+ "@rollup/plugin-url": "^8.0.2",
84
+ "@storybook/addon-a11y": "^10.3.5",
85
+ "@storybook/addon-docs": "^10.3.5",
86
+ "@storybook/addon-vitest": "^10.3.5",
87
+ "@storybook/react-vite": "^10.3.5",
88
+ "@types/node": "^25.6.0",
89
+ "@types/react": "^19.2.14",
90
+ "@types/rollup-plugin-peer-deps-external": "^2.2.6",
91
+ "@vitejs/plugin-react": "^6.0.1",
92
+ "@vitest/browser-playwright": "^4.1.4",
93
+ "@vitest/coverage-v8": "^4.1.4",
94
+ "date-fns": "^4.1.0",
95
+ "eslint": "9.39.4",
96
+ "eslint-plugin-import": "^2.32.0",
97
+ "eslint-plugin-react": "^7.37.5",
98
+ "globals": "^17.5.0",
99
+ "playwright": "^1.59.1",
100
+ "png-to-ico": "^2.1.8",
101
+ "react": "^19.2.5",
102
+ "react-day-picker": "^9.13.2",
103
+ "react-dom": "^19.2.5",
104
+ "rollup": "^4.60.1",
105
+ "rollup-plugin-dts": "^6.4.1",
106
+ "rollup-plugin-peer-deps-external": "^2.2.4",
107
+ "rollup-plugin-postcss": "^4.0.2",
108
+ "sharp": "^0.34.5",
109
+ "storybook": "^10.3.5",
110
+ "tslib": "^2.8.1",
111
+ "typescript": "^6.0.2",
112
+ "typescript-eslint": "8.58.2",
113
+ "vitest": "^4.1.4"
114
+ }
115
+ }
package/readme.md CHANGED
@@ -1,109 +1,111 @@
1
- Small component library for personal use.
2
- <!-- test change -->
3
- ## Favicon usage
4
-
5
- This package exports the favicon assets and a small helper to make adding
6
- favicon links in consuming apps trivial.
7
-
8
- Files available in package:
9
-
10
- - `nexus-logo-favicon.svg` — modern SVG favicon
11
- - `favicon.ico` — multi-size ICO (legacy support)
12
-
13
- Quick copy approach (recommended):
14
-
15
- 1. Add and then run these asset copy scripts in the consuming project's package.json:
16
-
17
- ```json
18
- "scripts": {
19
- "copy-sage-assets": "cpx \"node_modules/it-data-nexus-ui-library/dist/assets/images/*\" public/assets/it-data-nexus-ui-library/",
20
- "postinstall": "npm run copy-sage-assets"
21
- }
22
- ```
23
-
24
- 2. Add links in your HTML head:
25
-
26
- ```html
27
- <link
28
- rel="icon"
29
- type="image/svg+xml"
30
- href="/assets/it-data-nexus-ui-library/nexus-logo-favicon.svg"
31
- />
32
- <link rel="icon" href="/assets/it-data-nexus-ui-library/favicon.ico" />
33
- ```
34
-
35
- Or, use the React helper exported by this package:
36
-
37
- ```tsx
38
- import { FaviconLinks } from "it-data-nexus-ui-library";
39
-
40
- function AppHead() {
41
- return <FaviconLinks />; // adds versioned SVG and ICO links
42
- }
43
- ```
44
-
45
- ### Next.js example
46
-
47
- If you use Next.js (Pages or App router), you can copy the built assets into your `public/` folder and render the helper component from the app head so the favicon is present on first render.
48
-
49
- 1. Copy assets during install/build (example `package.json` scripts in the consuming app):
50
-
51
- ```json
52
- "scripts": {
53
- "copy-sage-assets": "cpx \"node_modules/it-data-nexus-ui-library/dist/assets/images/*\" public/assets/it-data-nexus-ui-library/",
54
- "postinstall": "npm run copy-sage-assets"
55
- }
56
- ```
57
-
58
- 2. Pages router (`pages/_document.tsx`) example — server-side rendered so the links are available immediately:
59
-
60
- ```tsx
61
- // pages/_document.tsx
62
- import Document, { Html, Head, Main, NextScript } from "next/document";
63
- import { FaviconLinks } from "it-data-nexus-ui-library";
64
-
65
- class MyDocument extends Document {
66
- render() {
67
- return (
68
- <Html>
69
- <Head>
70
- <FaviconLinks />
71
- </Head>
72
- <body>
73
- <Main />
74
- <NextScript />
75
- </body>
76
- </Html>
77
- );
78
- }
79
- }
80
-
81
- export default MyDocument;
82
- ```
83
-
84
- 3. App router (`app/layout.tsx`) example:
85
-
86
- ```tsx
87
- // app/layout.tsx
88
- import { FaviconLinks } from "it-data-nexus-ui-library";
89
-
90
- export default function RootLayout({
91
- children,
92
- }: {
93
- children: React.ReactNode;
94
- }) {
95
- return (
96
- <html>
97
- <head>
98
- <FaviconLinks />
99
- </head>
100
- <body>{children}</body>
101
- </html>
102
- );
103
- }
104
- ```
105
-
106
- Notes:
107
-
108
- - Copying assets into `public/` ensures the files are served as static assets (no runtime JS required) and avoids a flash-of-default-favicon.
109
- - The `FaviconLinks` helper uses versioned URLs by default to help cache-busting when you publish a new library version.
1
+ Small component library for personal use.
2
+
3
+ <!-- test change -->
4
+
5
+ ## Favicon usage
6
+
7
+ This package exports the favicon assets and a small helper to make adding
8
+ favicon links in consuming apps trivial.
9
+
10
+ Files available in package:
11
+
12
+ - `nexus-logo-favicon.svg` — modern SVG favicon
13
+ - `favicon.ico` — multi-size ICO (legacy support)
14
+
15
+ Quick copy approach (recommended):
16
+
17
+ 1. Add and then run these asset copy scripts in the consuming project's package.json:
18
+
19
+ ```json
20
+ "scripts": {
21
+ "copy-sage-assets": "cpx \"node_modules/it-data-nexus-ui-library/dist/assets/images/*\" public/assets/it-data-nexus-ui-library/",
22
+ "postinstall": "npm run copy-sage-assets"
23
+ }
24
+ ```
25
+
26
+ 2. Add links in your HTML head:
27
+
28
+ ```html
29
+ <link
30
+ rel="icon"
31
+ type="image/svg+xml"
32
+ href="/assets/it-data-nexus-ui-library/nexus-logo-favicon.svg"
33
+ />
34
+ <link rel="icon" href="/assets/it-data-nexus-ui-library/favicon.ico" />
35
+ ```
36
+
37
+ Or, use the React helper exported by this package:
38
+
39
+ ```tsx
40
+ import { FaviconLinks } from "it-data-nexus-ui-library";
41
+
42
+ function AppHead() {
43
+ return <FaviconLinks />; // adds versioned SVG and ICO links
44
+ }
45
+ ```
46
+
47
+ ### Next.js example
48
+
49
+ If you use Next.js (Pages or App router), you can copy the built assets into your `public/` folder and render the helper component from the app head so the favicon is present on first render.
50
+
51
+ 1. Copy assets during install/build (example `package.json` scripts in the consuming app):
52
+
53
+ ```json
54
+ "scripts": {
55
+ "copy-sage-assets": "cpx \"node_modules/it-data-nexus-ui-library/dist/assets/images/*\" public/assets/it-data-nexus-ui-library/",
56
+ "postinstall": "npm run copy-sage-assets"
57
+ }
58
+ ```
59
+
60
+ 2. Pages router (`pages/_document.tsx`) example — server-side rendered so the links are available immediately:
61
+
62
+ ```tsx
63
+ // pages/_document.tsx
64
+ import Document, { Html, Head, Main, NextScript } from "next/document";
65
+ import { FaviconLinks } from "it-data-nexus-ui-library";
66
+
67
+ class MyDocument extends Document {
68
+ render() {
69
+ return (
70
+ <Html>
71
+ <Head>
72
+ <FaviconLinks />
73
+ </Head>
74
+ <body>
75
+ <Main />
76
+ <NextScript />
77
+ </body>
78
+ </Html>
79
+ );
80
+ }
81
+ }
82
+
83
+ export default MyDocument;
84
+ ```
85
+
86
+ 3. App router (`app/layout.tsx`) example:
87
+
88
+ ```tsx
89
+ // app/layout.tsx
90
+ import { FaviconLinks } from "it-data-nexus-ui-library";
91
+
92
+ export default function RootLayout({
93
+ children,
94
+ }: {
95
+ children: React.ReactNode;
96
+ }) {
97
+ return (
98
+ <html>
99
+ <head>
100
+ <FaviconLinks />
101
+ </head>
102
+ <body>{children}</body>
103
+ </html>
104
+ );
105
+ }
106
+ ```
107
+
108
+ Notes:
109
+
110
+ - Copying assets into `public/` ensures the files are served as static assets (no runtime JS required) and avoids a flash-of-default-favicon.
111
+ - The `FaviconLinks` helper uses versioned URLs by default to help cache-busting when you publish a new library version.