@xylabs/react-accordion 3.1.0-rc.3 → 3.1.0-rc.4

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.
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var AccordionGroup_exports = {};
20
+ __export(AccordionGroup_exports, {
21
+ AccordionGroup: () => AccordionGroup,
22
+ SimpleAccordion: () => SimpleAccordion
23
+ });
24
+ module.exports = __toCommonJS(AccordionGroup_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_icons_material = require("@mui/icons-material");
27
+ var import_material = require("@mui/material");
28
+ var import_react_button = require("@xylabs/react-button");
29
+ var import_react = require("react");
30
+ const AccordionGroup = ({ defaultExpandedIndex, data }) => {
31
+ const [expandedIndex, setExpandedIndex] = (0, import_react.useState)(defaultExpandedIndex ?? 0);
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: data?.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleAccordion, { ...item, expanded: index === expandedIndex, onChange: () => setExpandedIndex(index) }, index)) });
33
+ };
34
+ const SimpleAccordion = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
35
+ const theme = (0, import_material.useTheme)();
36
+ const isMobile = (0, import_material.useMediaQuery)(theme.breakpoints.down("md"));
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Accordion, { expanded, onChange: () => onChange?.(), children: [
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ExpandMoreRounded, {}), "aria-controls": "panel1bh-content", id: "panel1bh-header", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "h6", textAlign: "left", gutterBottom: isMobile ? true : false, children: name }) }),
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.AccordionDetails, { children: [
40
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: description }),
41
+ children,
42
+ (href || to) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_button.ButtonEx, { href, to, target: href ?? "_blank", children: linkText ?? "Learn More" })
43
+ ] })
44
+ ] });
45
+ };
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ AccordionGroup,
49
+ SimpleAccordion
50
+ });
51
+ //# sourceMappingURL=AccordionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ReactNode, useState } from 'react'\n\ntype Override<T1, T2> = Omit<T1, keyof T2> & T2\n\ninterface SimpleAccordionCardAdditionalProps extends AccordionProps {\n description?: string\n expanded?: boolean\n href?: string\n linkText?: string\n name: string\n onChange?: () => void\n to?: string\n}\n\ninterface OptionalChildren {\n children?: ReactNode\n}\n//this makes the requirement for children from AccordionProps go away\nexport type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>\n\ninterface AccordionGroupProps {\n data?: SimpleAccordionCardProps[]\n defaultExpandedIndex?: number\n}\n\nexport const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedIndex, data }) => {\n const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0)\n\n return (\n <>\n {data?.map((item, index) => (\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n return (\n <Accordion expanded={expanded} onChange={() => onChange?.()}>\n <AccordionSummary expandIcon={<ExpandMoreRounded />} aria-controls=\"panel1bh-content\" id=\"panel1bh-header\">\n <Typography variant=\"h6\" textAlign=\"left\" gutterBottom={isMobile ? true : false}>\n {name}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n {description && (\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {description}\n </Typography>\n )}\n {children}\n {(href || to) && (\n <ButtonEx href={href} to={to} target={href ?? '_blank'}>\n {linkText ?? 'Learn More'}\n </ButtonEx>\n )}\n </AccordionDetails>\n </Accordion>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCI;AAhCJ,4BAAkC;AAClC,sBAAmH;AACnH,0BAAyB;AACzB,mBAAoC;AAyB7B,MAAM,iBAAgD,CAAC,EAAE,sBAAsB,KAAK,MAAM;AAC/F,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,wBAAwB,CAAC;AAE5E,SACE,2EACG,gBAAM,IAAI,CAAC,MAAM,UAChB,4CAAC,mBAA6B,GAAG,MAAM,UAAU,UAAU,eAAe,UAAU,MAAM,iBAAiB,KAAK,KAA1F,KAA6F,CACpH,GACH;AAEJ;AACO,MAAM,kBAAsD,CAAC,EAAE,MAAM,UAAU,IAAI,MAAM,aAAa,UAAU,UAAU,SAAS,MAAM;AAC9I,QAAM,YAAQ,0BAAS;AACvB,QAAM,eAAW,+BAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAC3D,SACE,6CAAC,6BAAU,UAAoB,UAAU,MAAM,WAAW,GACxD;AAAA,gDAAC,oCAAiB,YAAY,4CAAC,2CAAkB,GAAI,iBAAc,oBAAmB,IAAG,mBACvF,sDAAC,8BAAW,SAAQ,MAAK,WAAU,QAAO,cAAc,WAAW,OAAO,OACvE,gBACH,GACF;AAAA,IACA,6CAAC,oCACE;AAAA,qBACC,4CAAC,8BAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,uBACH;AAAA,MAED;AAAA,OACC,QAAQ,OACR,4CAAC,gCAAS,MAAY,IAAQ,QAAQ,QAAQ,UAC3C,sBAAY,cACf;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,26 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { ExpandMoreRounded } from "@mui/icons-material";
3
+ import { Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme } from "@mui/material";
4
+ import { ButtonEx } from "@xylabs/react-button";
5
+ import { useState } from "react";
6
+ const AccordionGroup = ({ defaultExpandedIndex, data }) => {
7
+ const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0);
8
+ return /* @__PURE__ */ jsx(Fragment, { children: data?.map((item, index) => /* @__PURE__ */ jsx(SimpleAccordion, { ...item, expanded: index === expandedIndex, onChange: () => setExpandedIndex(index) }, index)) });
9
+ };
10
+ const SimpleAccordion = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
11
+ const theme = useTheme();
12
+ const isMobile = useMediaQuery(theme.breakpoints.down("md"));
13
+ return /* @__PURE__ */ jsxs(Accordion, { expanded, onChange: () => onChange?.(), children: [
14
+ /* @__PURE__ */ jsx(AccordionSummary, { expandIcon: /* @__PURE__ */ jsx(ExpandMoreRounded, {}), "aria-controls": "panel1bh-content", id: "panel1bh-header", children: /* @__PURE__ */ jsx(Typography, { variant: "h6", textAlign: "left", gutterBottom: isMobile ? true : false, children: name }) }),
15
+ /* @__PURE__ */ jsxs(AccordionDetails, { children: [
16
+ description && /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: description }),
17
+ children,
18
+ (href || to) && /* @__PURE__ */ jsx(ButtonEx, { href, to, target: href ?? "_blank", children: linkText ?? "Learn More" })
19
+ ] })
20
+ ] });
21
+ };
22
+ export {
23
+ AccordionGroup,
24
+ SimpleAccordion
25
+ };
26
+ //# sourceMappingURL=AccordionGroup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ReactNode, useState } from 'react'\n\ntype Override<T1, T2> = Omit<T1, keyof T2> & T2\n\ninterface SimpleAccordionCardAdditionalProps extends AccordionProps {\n description?: string\n expanded?: boolean\n href?: string\n linkText?: string\n name: string\n onChange?: () => void\n to?: string\n}\n\ninterface OptionalChildren {\n children?: ReactNode\n}\n//this makes the requirement for children from AccordionProps go away\nexport type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>\n\ninterface AccordionGroupProps {\n data?: SimpleAccordionCardProps[]\n defaultExpandedIndex?: number\n}\n\nexport const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedIndex, data }) => {\n const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0)\n\n return (\n <>\n {data?.map((item, index) => (\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n return (\n <Accordion expanded={expanded} onChange={() => onChange?.()}>\n <AccordionSummary expandIcon={<ExpandMoreRounded />} aria-controls=\"panel1bh-content\" id=\"panel1bh-header\">\n <Typography variant=\"h6\" textAlign=\"left\" gutterBottom={isMobile ? true : false}>\n {name}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n {description && (\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {description}\n </Typography>\n )}\n {children}\n {(href || to) && (\n <ButtonEx href={href} to={to} target={href ?? '_blank'}>\n {linkText ?? 'Learn More'}\n </ButtonEx>\n )}\n </AccordionDetails>\n </Accordion>\n )\n}\n"],"mappings":"AAgCI,mBAEI,KAeF,YAjBF;AAhCJ,SAAS,yBAAyB;AAClC,SAAS,WAAW,kBAAkC,kBAAkB,YAAY,eAAe,gBAAgB;AACnH,SAAS,gBAAgB;AACzB,SAAoB,gBAAgB;AAyB7B,MAAM,iBAAgD,CAAC,EAAE,sBAAsB,KAAK,MAAM;AAC/F,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,wBAAwB,CAAC;AAE5E,SACE,gCACG,gBAAM,IAAI,CAAC,MAAM,UAChB,oBAAC,mBAA6B,GAAG,MAAM,UAAU,UAAU,eAAe,UAAU,MAAM,iBAAiB,KAAK,KAA1F,KAA6F,CACpH,GACH;AAEJ;AACO,MAAM,kBAAsD,CAAC,EAAE,MAAM,UAAU,IAAI,MAAM,aAAa,UAAU,UAAU,SAAS,MAAM;AAC9I,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAC3D,SACE,qBAAC,aAAU,UAAoB,UAAU,MAAM,WAAW,GACxD;AAAA,wBAAC,oBAAiB,YAAY,oBAAC,qBAAkB,GAAI,iBAAc,oBAAmB,IAAG,mBACvF,8BAAC,cAAW,SAAQ,MAAK,WAAU,QAAO,cAAc,WAAW,OAAO,OACvE,gBACH,GACF;AAAA,IACA,qBAAC,oBACE;AAAA,qBACC,oBAAC,cAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,uBACH;AAAA,MAED;AAAA,OACC,QAAQ,OACR,oBAAC,YAAS,MAAY,IAAQ,QAAQ,QAAQ,UAC3C,sBAAY,cACf;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var AccordionGroup_stories_exports = {};
20
+ __export(AccordionGroup_stories_exports, {
21
+ Default: () => Default,
22
+ default: () => AccordionGroup_stories_default
23
+ });
24
+ module.exports = __toCommonJS(AccordionGroup_stories_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_material = require("@mui/material");
27
+ var import_react_flexbox = require("@xylabs/react-flexbox");
28
+ var import_AccordionGroup = require("./AccordionGroup");
29
+ const StorybookEntry = {
30
+ argTypes: {},
31
+ component: import_AccordionGroup.AccordionGroup,
32
+ parameters: {
33
+ docs: {
34
+ page: null
35
+ }
36
+ },
37
+ title: "Components/AccordionGroup"
38
+ };
39
+ const Template = (args) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AccordionGroup.AccordionGroup, { ...args });
40
+ const Default = Template.bind({});
41
+ Default.args = {
42
+ data: [
43
+ { description: "lorem ipsum", name: "Section 1" },
44
+ { description: "lorem ipsum", name: "Section 2" },
45
+ {
46
+ children: [
47
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Grid, { container: true, children: [
48
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 6, children: "Column 1" }),
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Grid, { item: true, xs: 6, children: "Column 2" })
50
+ ] }) }, "container")
51
+ ],
52
+ name: "Section 3"
53
+ }
54
+ ],
55
+ defaultExpandedIndex: 1
56
+ };
57
+ var AccordionGroup_stories_default = StorybookEntry;
58
+ // Annotate the CommonJS export names for ESM import in node:
59
+ 0 && (module.exports = {
60
+ Default
61
+ });
62
+ //# sourceMappingURL=AccordionGroup.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/AccordionGroup.stories.tsx"],"sourcesContent":["import { Grid } from '@mui/material'\nimport { Meta, StoryFn } from '@storybook/react'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nimport { AccordionGroup } from './AccordionGroup'\n\nconst StorybookEntry: Meta<typeof AccordionGroup> = {\n argTypes: {},\n component: AccordionGroup,\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'Components/AccordionGroup',\n} as Meta<typeof AccordionGroup>\n\nconst Template: StoryFn<typeof AccordionGroup> = (args) => <AccordionGroup {...args}></AccordionGroup>\n\nconst Default: StoryFn<typeof AccordionGroup> = Template.bind({})\nDefault.args = {\n data: [\n { description: 'lorem ipsum', name: 'Section 1' },\n { description: 'lorem ipsum', name: 'Section 2' },\n {\n children: [\n <FlexCol key=\"container\" alignItems=\"stretch\">\n <Grid container>\n <Grid item xs={6}>\n Column 1\n </Grid>\n <Grid item xs={6}>\n Column 2\n </Grid>\n </Grid>\n </FlexCol>,\n ],\n name: 'Section 3',\n },\n ],\n defaultExpandedIndex: 1,\n}\n\nexport { Default }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB2D;AAjB3D,sBAAqB;AAErB,2BAAwB;AAExB,4BAA+B;AAE/B,MAAM,iBAA8C;AAAA,EAClD,UAAU,CAAC;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAAS,4CAAC,wCAAgB,GAAG,MAAM;AAErF,MAAM,UAA0C,SAAS,KAAK,CAAC,CAAC;AAChE,QAAQ,OAAO;AAAA,EACb,MAAM;AAAA,IACJ,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD;AAAA,MACE,UAAU;AAAA,QACR,4CAAC,gCAAwB,YAAW,WAClC,uDAAC,wBAAK,WAAS,MACb;AAAA,sDAAC,wBAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,UACA,4CAAC,wBAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,WACF,KARW,WASb;AAAA,MACF;AAAA,MACA,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,sBAAsB;AACxB;AAKA,IAAO,iCAAQ;","names":[]}
@@ -0,0 +1,38 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { FlexCol } from "@xylabs/react-flexbox";
4
+ import { AccordionGroup } from "./AccordionGroup";
5
+ const StorybookEntry = {
6
+ argTypes: {},
7
+ component: AccordionGroup,
8
+ parameters: {
9
+ docs: {
10
+ page: null
11
+ }
12
+ },
13
+ title: "Components/AccordionGroup"
14
+ };
15
+ const Template = (args) => /* @__PURE__ */ jsx(AccordionGroup, { ...args });
16
+ const Default = Template.bind({});
17
+ Default.args = {
18
+ data: [
19
+ { description: "lorem ipsum", name: "Section 1" },
20
+ { description: "lorem ipsum", name: "Section 2" },
21
+ {
22
+ children: [
23
+ /* @__PURE__ */ jsx(FlexCol, { alignItems: "stretch", children: /* @__PURE__ */ jsxs(Grid, { container: true, children: [
24
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: "Column 1" }),
25
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: "Column 2" })
26
+ ] }) }, "container")
27
+ ],
28
+ name: "Section 3"
29
+ }
30
+ ],
31
+ defaultExpandedIndex: 1
32
+ };
33
+ var AccordionGroup_stories_default = StorybookEntry;
34
+ export {
35
+ Default,
36
+ AccordionGroup_stories_default as default
37
+ };
38
+ //# sourceMappingURL=AccordionGroup.stories.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/AccordionGroup.stories.tsx"],"sourcesContent":["import { Grid } from '@mui/material'\nimport { Meta, StoryFn } from '@storybook/react'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nimport { AccordionGroup } from './AccordionGroup'\n\nconst StorybookEntry: Meta<typeof AccordionGroup> = {\n argTypes: {},\n component: AccordionGroup,\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'Components/AccordionGroup',\n} as Meta<typeof AccordionGroup>\n\nconst Template: StoryFn<typeof AccordionGroup> = (args) => <AccordionGroup {...args}></AccordionGroup>\n\nconst Default: StoryFn<typeof AccordionGroup> = Template.bind({})\nDefault.args = {\n data: [\n { description: 'lorem ipsum', name: 'Section 1' },\n { description: 'lorem ipsum', name: 'Section 2' },\n {\n children: [\n <FlexCol key=\"container\" alignItems=\"stretch\">\n <Grid container>\n <Grid item xs={6}>\n Column 1\n </Grid>\n <Grid item xs={6}>\n Column 2\n </Grid>\n </Grid>\n </FlexCol>,\n ],\n name: 'Section 3',\n },\n ],\n defaultExpandedIndex: 1,\n}\n\nexport { Default }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":"AAiB2D,cAUjD,YAViD;AAjB3D,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,sBAAsB;AAE/B,MAAM,iBAA8C;AAAA,EAClD,UAAU,CAAC;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAAS,oBAAC,kBAAgB,GAAG,MAAM;AAErF,MAAM,UAA0C,SAAS,KAAK,CAAC,CAAC;AAChE,QAAQ,OAAO;AAAA,EACb,MAAM;AAAA,IACJ,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD;AAAA,MACE,UAAU;AAAA,QACR,oBAAC,WAAwB,YAAW,WAClC,+BAAC,QAAK,WAAS,MACb;AAAA,8BAAC,QAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,UACA,oBAAC,QAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,WACF,KARW,WASb;AAAA,MACF;AAAA,MACA,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,sBAAsB;AACxB;AAKA,IAAO,iCAAQ;","names":[]}
@@ -0,0 +1,24 @@
1
+ import { AccordionProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+ type Override<T1, T2> = Omit<T1, keyof T2> & T2;
4
+ interface SimpleAccordionCardAdditionalProps extends AccordionProps {
5
+ description?: string;
6
+ expanded?: boolean;
7
+ href?: string;
8
+ linkText?: string;
9
+ name: string;
10
+ onChange?: () => void;
11
+ to?: string;
12
+ }
13
+ interface OptionalChildren {
14
+ children?: ReactNode;
15
+ }
16
+ export type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>;
17
+ interface AccordionGroupProps {
18
+ data?: SimpleAccordionCardProps[];
19
+ defaultExpandedIndex?: number;
20
+ }
21
+ export declare const AccordionGroup: React.FC<AccordionGroupProps>;
22
+ export declare const SimpleAccordion: React.FC<SimpleAccordionCardProps>;
23
+ export {};
24
+ //# sourceMappingURL=AccordionGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.d.ts","sourceRoot":"","sources":["../../src/AccordionGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,cAAc,EAAyD,MAAM,eAAe,CAAA;AAElI,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAE3C,KAAK,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE/C,UAAU,kCAAmC,SAAQ,cAAc;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAA;AAErG,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,wBAAwB,EAAE,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAUxD,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyB9D,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { ExpandMoreRounded } from "@mui/icons-material";
3
+ import { Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme } from "@mui/material";
4
+ import { ButtonEx } from "@xylabs/react-button";
5
+ import { useState } from "react";
6
+ const AccordionGroup = ({ defaultExpandedIndex, data }) => {
7
+ const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0);
8
+ return /* @__PURE__ */ jsx(Fragment, { children: data?.map((item, index) => /* @__PURE__ */ jsx(SimpleAccordion, { ...item, expanded: index === expandedIndex, onChange: () => setExpandedIndex(index) }, index)) });
9
+ };
10
+ const SimpleAccordion = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
11
+ const theme = useTheme();
12
+ const isMobile = useMediaQuery(theme.breakpoints.down("md"));
13
+ return /* @__PURE__ */ jsxs(Accordion, { expanded, onChange: () => onChange?.(), children: [
14
+ /* @__PURE__ */ jsx(AccordionSummary, { expandIcon: /* @__PURE__ */ jsx(ExpandMoreRounded, {}), "aria-controls": "panel1bh-content", id: "panel1bh-header", children: /* @__PURE__ */ jsx(Typography, { variant: "h6", textAlign: "left", gutterBottom: isMobile ? true : false, children: name }) }),
15
+ /* @__PURE__ */ jsxs(AccordionDetails, { children: [
16
+ description && /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: description }),
17
+ children,
18
+ (href || to) && /* @__PURE__ */ jsx(ButtonEx, { href, to, target: href ?? "_blank", children: linkText ?? "Learn More" })
19
+ ] })
20
+ ] });
21
+ };
22
+ export {
23
+ AccordionGroup,
24
+ SimpleAccordion
25
+ };
26
+ //# sourceMappingURL=AccordionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ReactNode, useState } from 'react'\n\ntype Override<T1, T2> = Omit<T1, keyof T2> & T2\n\ninterface SimpleAccordionCardAdditionalProps extends AccordionProps {\n description?: string\n expanded?: boolean\n href?: string\n linkText?: string\n name: string\n onChange?: () => void\n to?: string\n}\n\ninterface OptionalChildren {\n children?: ReactNode\n}\n//this makes the requirement for children from AccordionProps go away\nexport type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>\n\ninterface AccordionGroupProps {\n data?: SimpleAccordionCardProps[]\n defaultExpandedIndex?: number\n}\n\nexport const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedIndex, data }) => {\n const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0)\n\n return (\n <>\n {data?.map((item, index) => (\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n return (\n <Accordion expanded={expanded} onChange={() => onChange?.()}>\n <AccordionSummary expandIcon={<ExpandMoreRounded />} aria-controls=\"panel1bh-content\" id=\"panel1bh-header\">\n <Typography variant=\"h6\" textAlign=\"left\" gutterBottom={isMobile ? true : false}>\n {name}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n {description && (\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {description}\n </Typography>\n )}\n {children}\n {(href || to) && (\n <ButtonEx href={href} to={to} target={href ?? '_blank'}>\n {linkText ?? 'Learn More'}\n </ButtonEx>\n )}\n </AccordionDetails>\n </Accordion>\n )\n}\n"],"mappings":"AAgCI,mBAEI,KAeF,YAjBF;AAhCJ,SAAS,yBAAyB;AAClC,SAAS,WAAW,kBAAkC,kBAAkB,YAAY,eAAe,gBAAgB;AACnH,SAAS,gBAAgB;AACzB,SAAoB,gBAAgB;AAyB7B,MAAM,iBAAgD,CAAC,EAAE,sBAAsB,KAAK,MAAM;AAC/F,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,wBAAwB,CAAC;AAE5E,SACE,gCACG,gBAAM,IAAI,CAAC,MAAM,UAChB,oBAAC,mBAA6B,GAAG,MAAM,UAAU,UAAU,eAAe,UAAU,MAAM,iBAAiB,KAAK,KAA1F,KAA6F,CACpH,GACH;AAEJ;AACO,MAAM,kBAAsD,CAAC,EAAE,MAAM,UAAU,IAAI,MAAM,aAAa,UAAU,UAAU,SAAS,MAAM;AAC9I,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAC3D,SACE,qBAAC,aAAU,UAAoB,UAAU,MAAM,WAAW,GACxD;AAAA,wBAAC,oBAAiB,YAAY,oBAAC,qBAAkB,GAAI,iBAAc,oBAAmB,IAAG,mBACvF,8BAAC,cAAW,SAAQ,MAAK,WAAU,QAAO,cAAc,WAAW,OAAO,OACvE,gBACH,GACF;AAAA,IACA,qBAAC,oBACE;AAAA,qBACC,oBAAC,cAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,uBACH;AAAA,MAED;AAAA,OACC,QAAQ,OACR,oBAAC,YAAS,MAAY,IAAQ,QAAQ,QAAQ,UAC3C,sBAAY,cACf;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryFn } from '@storybook/react';
2
+ import { AccordionGroup } from './AccordionGroup';
3
+ declare const StorybookEntry: Meta<typeof AccordionGroup>;
4
+ declare const Default: StoryFn<typeof AccordionGroup>;
5
+ export { Default };
6
+ export default StorybookEntry;
7
+ //# sourceMappingURL=AccordionGroup.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.stories.d.ts","sourceRoot":"","sources":["../../src/AccordionGroup.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,QAAA,MAAM,cAAc,EAAE,IAAI,CAAC,OAAO,cAAc,CAShB,CAAA;AAIhC,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,cAAc,CAAqB,CAAA;AAwBjE,OAAO,EAAE,OAAO,EAAE,CAAA;AAGlB,eAAe,cAAc,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import { FlexCol } from "@xylabs/react-flexbox";
4
+ import { AccordionGroup } from "./AccordionGroup";
5
+ const StorybookEntry = {
6
+ argTypes: {},
7
+ component: AccordionGroup,
8
+ parameters: {
9
+ docs: {
10
+ page: null
11
+ }
12
+ },
13
+ title: "Components/AccordionGroup"
14
+ };
15
+ const Template = (args) => /* @__PURE__ */ jsx(AccordionGroup, { ...args });
16
+ const Default = Template.bind({});
17
+ Default.args = {
18
+ data: [
19
+ { description: "lorem ipsum", name: "Section 1" },
20
+ { description: "lorem ipsum", name: "Section 2" },
21
+ {
22
+ children: [
23
+ /* @__PURE__ */ jsx(FlexCol, { alignItems: "stretch", children: /* @__PURE__ */ jsxs(Grid, { container: true, children: [
24
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: "Column 1" }),
25
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 6, children: "Column 2" })
26
+ ] }) }, "container")
27
+ ],
28
+ name: "Section 3"
29
+ }
30
+ ],
31
+ defaultExpandedIndex: 1
32
+ };
33
+ var AccordionGroup_stories_default = StorybookEntry;
34
+ export {
35
+ Default,
36
+ AccordionGroup_stories_default as default
37
+ };
38
+ //# sourceMappingURL=AccordionGroup.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/AccordionGroup.stories.tsx"],"sourcesContent":["import { Grid } from '@mui/material'\nimport { Meta, StoryFn } from '@storybook/react'\nimport { FlexCol } from '@xylabs/react-flexbox'\n\nimport { AccordionGroup } from './AccordionGroup'\n\nconst StorybookEntry: Meta<typeof AccordionGroup> = {\n argTypes: {},\n component: AccordionGroup,\n parameters: {\n docs: {\n page: null,\n },\n },\n title: 'Components/AccordionGroup',\n} as Meta<typeof AccordionGroup>\n\nconst Template: StoryFn<typeof AccordionGroup> = (args) => <AccordionGroup {...args}></AccordionGroup>\n\nconst Default: StoryFn<typeof AccordionGroup> = Template.bind({})\nDefault.args = {\n data: [\n { description: 'lorem ipsum', name: 'Section 1' },\n { description: 'lorem ipsum', name: 'Section 2' },\n {\n children: [\n <FlexCol key=\"container\" alignItems=\"stretch\">\n <Grid container>\n <Grid item xs={6}>\n Column 1\n </Grid>\n <Grid item xs={6}>\n Column 2\n </Grid>\n </Grid>\n </FlexCol>,\n ],\n name: 'Section 3',\n },\n ],\n defaultExpandedIndex: 1,\n}\n\nexport { Default }\n\n// eslint-disable-next-line import/no-default-export\nexport default StorybookEntry\n"],"mappings":"AAiB2D,cAUjD,YAViD;AAjB3D,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,sBAAsB;AAE/B,MAAM,iBAA8C;AAAA,EAClD,UAAU,CAAC;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO;AACT;AAEA,MAAM,WAA2C,CAAC,SAAS,oBAAC,kBAAgB,GAAG,MAAM;AAErF,MAAM,UAA0C,SAAS,KAAK,CAAC,CAAC;AAChE,QAAQ,OAAO;AAAA,EACb,MAAM;AAAA,IACJ,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD,EAAE,aAAa,eAAe,MAAM,YAAY;AAAA,IAChD;AAAA,MACE,UAAU;AAAA,QACR,oBAAC,WAAwB,YAAW,WAClC,+BAAC,QAAK,WAAS,MACb;AAAA,8BAAC,QAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,UACA,oBAAC,QAAK,MAAI,MAAC,IAAI,GAAG,sBAElB;AAAA,WACF,KARW,WASb;AAAA,MACF;AAAA,MACA,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,sBAAsB;AACxB;AAKA,IAAO,iCAAQ;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from './AccordionGroup';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./AccordionGroup";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './AccordionGroup'\n"],"mappings":"AAAA,cAAc;","names":[]}
package/dist/index.js CHANGED
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
6
  var __copyProps = (to, from, except, desc) => {
11
7
  if (from && typeof from === "object" || typeof from === "function") {
12
8
  for (let key of __getOwnPropNames(from))
@@ -15,41 +11,13 @@ var __copyProps = (to, from, except, desc) => {
15
11
  }
16
12
  return to;
17
13
  };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
16
  var src_exports = {};
22
- __export(src_exports, {
23
- AccordionGroup: () => AccordionGroup,
24
- SimpleAccordion: () => SimpleAccordion
25
- });
26
17
  module.exports = __toCommonJS(src_exports);
27
-
28
- // src/AccordionGroup.tsx
29
- var import_icons_material = require("@mui/icons-material");
30
- var import_material = require("@mui/material");
31
- var import_react_button = require("@xylabs/react-button");
32
- var import_react = require("react");
33
- var import_jsx_runtime = require("react/jsx-runtime");
34
- var AccordionGroup = ({ defaultExpandedIndex, data }) => {
35
- const [expandedIndex, setExpandedIndex] = (0, import_react.useState)(defaultExpandedIndex ?? 0);
36
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: data?.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleAccordion, { ...item, expanded: index === expandedIndex, onChange: () => setExpandedIndex(index) }, index)) });
37
- };
38
- var SimpleAccordion = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
39
- const theme = (0, import_material.useTheme)();
40
- const isMobile = (0, import_material.useMediaQuery)(theme.breakpoints.down("md"));
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Accordion, { expanded, onChange: () => onChange?.(), children: [
42
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ExpandMoreRounded, {}), "aria-controls": "panel1bh-content", id: "panel1bh-header", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "h6", textAlign: "left", gutterBottom: isMobile ? true : false, children: name }) }),
43
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.AccordionDetails, { children: [
44
- description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: description }),
45
- children,
46
- (href || to) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_button.ButtonEx, { href, to, target: href ?? "_blank", children: linkText ?? "Learn More" })
47
- ] })
48
- ] });
49
- };
18
+ __reExport(src_exports, require("./AccordionGroup"), module.exports);
50
19
  // Annotate the CommonJS export names for ESM import in node:
51
20
  0 && (module.exports = {
52
- AccordionGroup,
53
- SimpleAccordion
21
+ ...require("./AccordionGroup")
54
22
  });
55
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/AccordionGroup.tsx"],"sourcesContent":["export * from './AccordionGroup'\n","import { ExpandMoreRounded } from '@mui/icons-material'\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ReactNode, useState } from 'react'\n\ntype Override<T1, T2> = Omit<T1, keyof T2> & T2\n\ninterface SimpleAccordionCardAdditionalProps extends AccordionProps {\n description?: string\n expanded?: boolean\n href?: string\n linkText?: string\n name: string\n onChange?: () => void\n to?: string\n}\n\ninterface OptionalChildren {\n children?: ReactNode\n}\n//this makes the requirement for children from AccordionProps go away\nexport type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>\n\ninterface AccordionGroupProps {\n data?: SimpleAccordionCardProps[]\n defaultExpandedIndex?: number\n}\n\nexport const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedIndex, data }) => {\n const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0)\n\n return (\n <>\n {data?.map((item, index) => (\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n return (\n <Accordion expanded={expanded} onChange={() => onChange?.()}>\n <AccordionSummary expandIcon={<ExpandMoreRounded />} aria-controls=\"panel1bh-content\" id=\"panel1bh-header\">\n <Typography variant=\"h6\" textAlign=\"left\" gutterBottom={isMobile ? true : false}>\n {name}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n {description && (\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {description}\n </Typography>\n )}\n {children}\n {(href || to) && (\n <ButtonEx href={href} to={to} target={href ?? '_blank'}>\n {linkText ?? 'Learn More'}\n </ButtonEx>\n )}\n </AccordionDetails>\n </Accordion>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,4BAAkC;AAClC,sBAAmH;AACnH,0BAAyB;AACzB,mBAAoC;AA6BhC;AAJG,IAAM,iBAAgD,CAAC,EAAE,sBAAsB,KAAK,MAAM;AAC/F,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,wBAAwB,CAAC;AAE5E,SACE,2EACG,gBAAM,IAAI,CAAC,MAAM,UAChB,4CAAC,mBAA6B,GAAG,MAAM,UAAU,UAAU,eAAe,UAAU,MAAM,iBAAiB,KAAK,KAA1F,KAA6F,CACpH,GACH;AAEJ;AACO,IAAM,kBAAsD,CAAC,EAAE,MAAM,UAAU,IAAI,MAAM,aAAa,UAAU,UAAU,SAAS,MAAM;AAC9I,QAAM,YAAQ,0BAAS;AACvB,QAAM,eAAW,+BAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAC3D,SACE,6CAAC,6BAAU,UAAoB,UAAU,MAAM,WAAW,GACxD;AAAA,gDAAC,oCAAiB,YAAY,4CAAC,2CAAkB,GAAI,iBAAc,oBAAmB,IAAG,mBACvF,sDAAC,8BAAW,SAAQ,MAAK,WAAU,QAAO,cAAc,WAAW,OAAO,OACvE,gBACH,GACF;AAAA,IACA,6CAAC,oCACE;AAAA,qBACC,4CAAC,8BAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,uBACH;AAAA,MAED;AAAA,OACC,QAAQ,OACR,4CAAC,gCAAS,MAAY,IAAQ,QAAQ,QAAQ,UAC3C,sBAAY,cACf;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './AccordionGroup'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,6BAAd;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,27 +1,2 @@
1
- // src/AccordionGroup.tsx
2
- import { ExpandMoreRounded } from "@mui/icons-material";
3
- import { Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme } from "@mui/material";
4
- import { ButtonEx } from "@xylabs/react-button";
5
- import { useState } from "react";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
- var AccordionGroup = ({ defaultExpandedIndex, data }) => {
8
- const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0);
9
- return /* @__PURE__ */ jsx(Fragment, { children: data?.map((item, index) => /* @__PURE__ */ jsx(SimpleAccordion, { ...item, expanded: index === expandedIndex, onChange: () => setExpandedIndex(index) }, index)) });
10
- };
11
- var SimpleAccordion = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
12
- const theme = useTheme();
13
- const isMobile = useMediaQuery(theme.breakpoints.down("md"));
14
- return /* @__PURE__ */ jsxs(Accordion, { expanded, onChange: () => onChange?.(), children: [
15
- /* @__PURE__ */ jsx(AccordionSummary, { expandIcon: /* @__PURE__ */ jsx(ExpandMoreRounded, {}), "aria-controls": "panel1bh-content", id: "panel1bh-header", children: /* @__PURE__ */ jsx(Typography, { variant: "h6", textAlign: "left", gutterBottom: isMobile ? true : false, children: name }) }),
16
- /* @__PURE__ */ jsxs(AccordionDetails, { children: [
17
- description && /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: description }),
18
- children,
19
- (href || to) && /* @__PURE__ */ jsx(ButtonEx, { href, to, target: href ?? "_blank", children: linkText ?? "Learn More" })
20
- ] })
21
- ] });
22
- };
23
- export {
24
- AccordionGroup,
25
- SimpleAccordion
26
- };
1
+ export * from "./AccordionGroup";
27
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ReactNode, useState } from 'react'\n\ntype Override<T1, T2> = Omit<T1, keyof T2> & T2\n\ninterface SimpleAccordionCardAdditionalProps extends AccordionProps {\n description?: string\n expanded?: boolean\n href?: string\n linkText?: string\n name: string\n onChange?: () => void\n to?: string\n}\n\ninterface OptionalChildren {\n children?: ReactNode\n}\n//this makes the requirement for children from AccordionProps go away\nexport type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>\n\ninterface AccordionGroupProps {\n data?: SimpleAccordionCardProps[]\n defaultExpandedIndex?: number\n}\n\nexport const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedIndex, data }) => {\n const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0)\n\n return (\n <>\n {data?.map((item, index) => (\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n return (\n <Accordion expanded={expanded} onChange={() => onChange?.()}>\n <AccordionSummary expandIcon={<ExpandMoreRounded />} aria-controls=\"panel1bh-content\" id=\"panel1bh-header\">\n <Typography variant=\"h6\" textAlign=\"left\" gutterBottom={isMobile ? true : false}>\n {name}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n {description && (\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {description}\n </Typography>\n )}\n {children}\n {(href || to) && (\n <ButtonEx href={href} to={to} target={href ?? '_blank'}>\n {linkText ?? 'Learn More'}\n </ButtonEx>\n )}\n </AccordionDetails>\n </Accordion>\n )\n}\n"],"mappings":";AAAA,SAAS,yBAAyB;AAClC,SAAS,WAAW,kBAAkC,kBAAkB,YAAY,eAAe,gBAAgB;AACnH,SAAS,gBAAgB;AACzB,SAAoB,gBAAgB;AA6BhC,mBAEI,KAeF,YAjBF;AAJG,IAAM,iBAAgD,CAAC,EAAE,sBAAsB,KAAK,MAAM;AAC/F,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,wBAAwB,CAAC;AAE5E,SACE,gCACG,gBAAM,IAAI,CAAC,MAAM,UAChB,oBAAC,mBAA6B,GAAG,MAAM,UAAU,UAAU,eAAe,UAAU,MAAM,iBAAiB,KAAK,KAA1F,KAA6F,CACpH,GACH;AAEJ;AACO,IAAM,kBAAsD,CAAC,EAAE,MAAM,UAAU,IAAI,MAAM,aAAa,UAAU,UAAU,SAAS,MAAM;AAC9I,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAC3D,SACE,qBAAC,aAAU,UAAoB,UAAU,MAAM,WAAW,GACxD;AAAA,wBAAC,oBAAiB,YAAY,oBAAC,qBAAkB,GAAI,iBAAc,oBAAmB,IAAG,mBACvF,8BAAC,cAAW,SAAQ,MAAK,WAAU,QAAO,cAAc,WAAW,OAAO,OACvE,gBACH,GACF;AAAA,IACA,qBAAC,oBACE;AAAA,qBACC,oBAAC,cAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,uBACH;AAAA,MAED;AAAA,OACC,QAAQ,OACR,oBAAC,YAAS,MAAY,IAAQ,QAAQ,QAAQ,UAC3C,sBAAY,cACf;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './AccordionGroup'\n"],"mappings":"AAAA,cAAc;","names":[]}
package/package.json CHANGED
@@ -13,16 +13,16 @@
13
13
  "packages/*"
14
14
  ],
15
15
  "dependencies": {
16
- "@xylabs/react-button": "~3.1.0-rc.3"
16
+ "@xylabs/react-button": "~3.1.0-rc.4"
17
17
  },
18
18
  "description": "Common React library for all XY Labs projects that use React",
19
19
  "devDependencies": {
20
20
  "@mui/icons-material": "^5.14.9",
21
21
  "@mui/material": "^5.14.10",
22
22
  "@storybook/react": "^7.4.3",
23
- "@xylabs/react-flexbox": "~3.1.0-rc.3",
24
- "@xylabs/ts-scripts-yarn3": "^3.0.28",
25
- "@xylabs/tsconfig-react": "^3.0.28",
23
+ "@xylabs/react-flexbox": "~3.1.0-rc.4",
24
+ "@xylabs/ts-scripts-yarn3": "^3.0.36",
25
+ "@xylabs/tsconfig-react": "^3.0.36",
26
26
  "react": "^18.2.0",
27
27
  "react-dom": "^18.2.0",
28
28
  "typescript": "^5.2.2"
@@ -49,8 +49,8 @@
49
49
  },
50
50
  "browser": {
51
51
  "import": {
52
- "types": "./dist/index.d.mts",
53
- "default": "./dist/index.mjs"
52
+ "types": "./dist/esm/index.d.ts",
53
+ "default": "./dist/esm/index.js"
54
54
  },
55
55
  "require": {
56
56
  "types": "./dist/index.d.ts",
@@ -82,6 +82,6 @@
82
82
  },
83
83
  "sideEffects": false,
84
84
  "types": "dist/index.d.ts",
85
- "version": "3.1.0-rc.3",
85
+ "version": "3.1.0-rc.4",
86
86
  "stableVersion": "3.0.0"
87
87
  }