@xylabs/react-accordion 4.0.3 → 4.0.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,25 @@
1
+ import type { AccordionProps } from '@mui/material';
2
+ import type { ReactNode } from 'react';
3
+ import React from 'react';
4
+ type Override<T1, T2> = Omit<T1, keyof T2> & T2;
5
+ interface SimpleAccordionCardAdditionalProps extends AccordionProps {
6
+ description?: string;
7
+ expanded?: boolean;
8
+ href?: string;
9
+ linkText?: string;
10
+ name: string;
11
+ onChange?: () => void;
12
+ to?: string;
13
+ }
14
+ interface OptionalChildren {
15
+ children?: ReactNode;
16
+ }
17
+ export type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>;
18
+ interface AccordionGroupProps {
19
+ data?: SimpleAccordionCardProps[];
20
+ defaultExpandedIndex?: number;
21
+ }
22
+ export declare const AccordionGroup: React.FC<AccordionGroupProps>;
23
+ export declare const SimpleAccordion: React.FC<SimpleAccordionCardProps>;
24
+ export {};
25
+ //# sourceMappingURL=AccordionGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.d.ts","sourceRoot":"","sources":["../../src/AccordionGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,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,CAWxD,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA2B9D,CAAA"}
@@ -1,25 +1,2 @@
1
- import { AccordionProps } from '@mui/material';
2
- import React, { ReactNode } from 'react';
3
-
4
- type Override<T1, T2> = Omit<T1, keyof T2> & T2;
5
- interface SimpleAccordionCardAdditionalProps extends AccordionProps {
6
- description?: string;
7
- expanded?: boolean;
8
- href?: string;
9
- linkText?: string;
10
- name: string;
11
- onChange?: () => void;
12
- to?: string;
13
- }
14
- interface OptionalChildren {
15
- children?: ReactNode;
16
- }
17
- type SimpleAccordionCardProps = Override<SimpleAccordionCardAdditionalProps, OptionalChildren>;
18
- interface AccordionGroupProps {
19
- data?: SimpleAccordionCardProps[];
20
- defaultExpandedIndex?: number;
21
- }
22
- declare const AccordionGroup: React.FC<AccordionGroupProps>;
23
- declare const SimpleAccordion: React.FC<SimpleAccordionCardProps>;
24
-
25
- export { AccordionGroup, SimpleAccordion, type SimpleAccordionCardProps };
1
+ export * from './AccordionGroup.tsx';
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,sBAAsB,CAAA"}
@@ -8,12 +8,15 @@ import { ButtonEx } from "@xylabs/react-button";
8
8
  import React, { useState } from "react";
9
9
  var AccordionGroup = /* @__PURE__ */ __name(({ defaultExpandedIndex, data }) => {
10
10
  const [expandedIndex, setExpandedIndex] = useState(defaultExpandedIndex ?? 0);
11
- return /* @__PURE__ */ React.createElement(React.Fragment, null, data?.map((item, index) => /* @__PURE__ */ React.createElement(SimpleAccordion, {
12
- key: index,
13
- ...item,
14
- expanded: index === expandedIndex,
15
- onChange: /* @__PURE__ */ __name(() => setExpandedIndex(index), "onChange")
16
- })));
11
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, data?.map((item, index) => (
12
+ // eslint-disable-next-line @eslint-react/no-duplicate-key
13
+ /* @__PURE__ */ React.createElement(SimpleAccordion, {
14
+ key: index,
15
+ ...item,
16
+ expanded: index === expandedIndex,
17
+ onChange: /* @__PURE__ */ __name(() => setExpandedIndex(index), "onChange")
18
+ })
19
+ )));
17
20
  }, "AccordionGroup");
18
21
  var SimpleAccordion = /* @__PURE__ */ __name(({ name, linkText, to, href, description, expanded, onChange, children }) => {
19
22
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport type { AccordionProps } from '@mui/material'\nimport { Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { ReactNode } from 'react'\nimport React, { 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,SAASA,yBAAyB;AAElC,SAASC,WAAWC,kBAAkBC,kBAAkBC,YAAYC,eAAeC,gBAAgB;AACnG,SAASC,gBAAgB;AAEzB,OAAOC,SAASC,gBAAgB;AAyBzB,IAAMC,iBAAgD,wBAAC,EAAEC,sBAAsBC,KAAI,MAAE;AAC1F,QAAM,CAACC,eAAeC,gBAAAA,IAAoBC,SAASJ,wBAAwB,CAAA;AAE3E,SACE,sBAAA,cAAA,MAAA,UAAA,MACGC,MAAMI,IAAI,CAACC,MAAMC,UAChB,sBAAA,cAACC,iBAAAA;IAAgBC,KAAKF;IAAQ,GAAGD;IAAMI,UAAUH,UAAUL;IAAeS,UAAU,6BAAMR,iBAAiBI,KAAAA,GAAvB;;AAI5F,GAV6D;AAWtD,IAAMC,kBAAsD,wBAAC,EAAEI,MAAMC,UAAUC,IAAIC,MAAMC,aAAaN,UAAUC,UAAUM,SAAQ,MAAE;AACzI,QAAMC,QAAQC,SAAAA;AACd,QAAMC,WAAWC,cAAcH,MAAMI,YAAYC,KAAK,IAAA,CAAA;AACtD,SACE,sBAAA,cAACC,WAAAA;IAAUd;IAAoBC,UAAU,6BAAMA,WAAAA,GAAN;KACvC,sBAAA,cAACc,kBAAAA;IAAiBC,YAAY,sBAAA,cAACC,mBAAAA,IAAAA;IAAsBC,iBAAc;IAAmBC,IAAG;KACvF,sBAAA,cAACC,YAAAA;IAAWC,SAAQ;IAAKC,WAAU;IAAOC,cAAcb,WAAW,OAAO;KACvER,IAAAA,CAAAA,GAGL,sBAAA,cAACsB,kBAAAA,MACElB,eACC,sBAAA,cAACc,YAAAA;IAAWC,SAAQ;IAAQI,YAAY;IAAKH,WAAU;KACpDhB,WAAAA,GAGJC,WACCF,QAAQD,OACR,sBAAA,cAACsB,UAAAA;IAASrB;IAAYD;IAAQuB,QAAQtB,QAAQ;KAC3CF,YAAY,YAAA,CAAA,CAAA;AAMzB,GAzBmE;","names":["ExpandMoreRounded","Accordion","AccordionDetails","AccordionSummary","Typography","useMediaQuery","useTheme","ButtonEx","React","useState","AccordionGroup","defaultExpandedIndex","data","expandedIndex","setExpandedIndex","useState","map","item","index","SimpleAccordion","key","expanded","onChange","name","linkText","to","href","description","children","theme","useTheme","isMobile","useMediaQuery","breakpoints","down","Accordion","AccordionSummary","expandIcon","ExpandMoreRounded","aria-controls","id","Typography","variant","textAlign","gutterBottom","AccordionDetails","fontWeight","ButtonEx","target"]}
1
+ {"version":3,"sources":["../../src/AccordionGroup.tsx"],"sourcesContent":["import { ExpandMoreRounded } from '@mui/icons-material'\nimport type { AccordionProps } from '@mui/material'\nimport {\n Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme,\n} from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { ReactNode } from 'react'\nimport React, { 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 // eslint-disable-next-line @eslint-react/no-duplicate-key\n <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />\n ))}\n </>\n )\n}\nexport const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({\n name, linkText, to, href, description, expanded, onChange, children,\n}) => {\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,SAASA,yBAAyB;AAElC,SACEC,WAAWC,kBAAkBC,kBAAkBC,YAAYC,eAAeC,gBACrE;AACP,SAASC,gBAAgB;AAEzB,OAAOC,SAASC,gBAAgB;AAyBzB,IAAMC,iBAAgD,wBAAC,EAAEC,sBAAsBC,KAAI,MAAE;AAC1F,QAAM,CAACC,eAAeC,gBAAAA,IAAoBC,SAASJ,wBAAwB,CAAA;AAE3E,SACE,sBAAA,cAAA,MAAA,UAAA,MACGC,MAAMI,IAAI,CAACC,MAAMC;;IAEhB,sBAAA,cAACC,iBAAAA;MAAgBC,KAAKF;MAAQ,GAAGD;MAAMI,UAAUH,UAAUL;MAAeS,UAAU,6BAAMR,iBAAiBI,KAAAA,GAAvB;;;AAI5F,GAX6D;AAYtD,IAAMC,kBAAsD,wBAAC,EAClEI,MAAMC,UAAUC,IAAIC,MAAMC,aAAaN,UAAUC,UAAUM,SAAQ,MACpE;AACC,QAAMC,QAAQC,SAAAA;AACd,QAAMC,WAAWC,cAAcH,MAAMI,YAAYC,KAAK,IAAA,CAAA;AACtD,SACE,sBAAA,cAACC,WAAAA;IAAUd;IAAoBC,UAAU,6BAAMA,WAAAA,GAAN;KACvC,sBAAA,cAACc,kBAAAA;IAAiBC,YAAY,sBAAA,cAACC,mBAAAA,IAAAA;IAAsBC,iBAAc;IAAmBC,IAAG;KACvF,sBAAA,cAACC,YAAAA;IAAWC,SAAQ;IAAKC,WAAU;IAAOC,cAAcb,WAAW,OAAO;KACvER,IAAAA,CAAAA,GAGL,sBAAA,cAACsB,kBAAAA,MACElB,eACC,sBAAA,cAACc,YAAAA;IAAWC,SAAQ;IAAQI,YAAY;IAAKH,WAAU;KACpDhB,WAAAA,GAGJC,WACCF,QAAQD,OACR,sBAAA,cAACsB,UAAAA;IAASrB;IAAYD;IAAQuB,QAAQtB,QAAQ;KAC3CF,YAAY,YAAA,CAAA,CAAA;AAMzB,GA3BmE;","names":["ExpandMoreRounded","Accordion","AccordionDetails","AccordionSummary","Typography","useMediaQuery","useTheme","ButtonEx","React","useState","AccordionGroup","defaultExpandedIndex","data","expandedIndex","setExpandedIndex","useState","map","item","index","SimpleAccordion","key","expanded","onChange","name","linkText","to","href","description","children","theme","useTheme","isMobile","useMediaQuery","breakpoints","down","Accordion","AccordionSummary","expandIcon","ExpandMoreRounded","aria-controls","id","Typography","variant","textAlign","gutterBottom","AccordionDetails","fontWeight","ButtonEx","target"]}
package/package.json CHANGED
@@ -1,29 +1,52 @@
1
1
  {
2
2
  "name": "@xylabs/react-accordion",
3
+ "version": "4.0.4",
4
+ "description": "Common React library for all XY Labs projects that use React",
5
+ "keywords": [
6
+ "utility",
7
+ "typescript",
8
+ "react"
9
+ ],
10
+ "homepage": "https://xylabs.com",
11
+ "bugs": {
12
+ "url": "git+https://github.com/xylabs/sdk-react/issues",
13
+ "email": "support@xylabs.com"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/xylabs/sdk-react.git"
18
+ },
19
+ "license": "LGPL-3.0-only",
3
20
  "author": {
4
- "email": "support@xylabs.com",
5
21
  "name": "XY Labs Development Team",
22
+ "email": "support@xylabs.com",
6
23
  "url": "https://xylabs.com"
7
24
  },
8
- "bugs": {
9
- "email": "support@xylabs.com",
10
- "url": "git+https://github.com/xylabs/sdk-react/issues"
25
+ "sideEffects": false,
26
+ "type": "module",
27
+ "exports": {
28
+ ".": {
29
+ "types": "./dist/browser/index.d.ts",
30
+ "default": "./dist/browser/index.mjs"
31
+ },
32
+ "./package.json": "./package.json"
11
33
  },
34
+ "module": "./dist/browser/index.mjs",
35
+ "types": "dist/browser/index.d.ts",
12
36
  "workspaces": [
13
37
  "packages/*"
14
38
  ],
15
39
  "dependencies": {
16
- "@xylabs/react-button": "^4.0.3"
40
+ "@xylabs/react-button": "^4.0.4"
17
41
  },
18
- "description": "Common React library for all XY Labs projects that use React",
19
42
  "devDependencies": {
20
43
  "@mui/icons-material": "^5.16.7",
21
44
  "@mui/material": "^5.16.7",
22
45
  "@storybook/react": "^8.2.9",
23
- "@types/react": "^18.3.3",
24
- "@xylabs/react-flexbox": "^4.0.3",
25
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
26
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
46
+ "@types/react": "^18.3.4",
47
+ "@xylabs/react-flexbox": "^4.0.4",
48
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
49
+ "@xylabs/tsconfig-react": "^4.0.7",
27
50
  "react": "^18.3.1",
28
51
  "react-dom": "^18.3.1",
29
52
  "storybook": "^8.2.9",
@@ -35,31 +58,8 @@
35
58
  "react": "^18",
36
59
  "react-dom": "^18"
37
60
  },
38
- "docs": "dist/docs.json",
39
- "exports": {
40
- ".": {
41
- "types": "./dist/browser/index.d.ts",
42
- "default": "./dist/browser/index.mjs"
43
- },
44
- "./package.json": "./package.json"
45
- },
46
- "types": "dist/browser/index.d.ts",
47
- "module": "./dist/browser/index.mjs",
48
- "homepage": "https://xylabs.com",
49
- "keywords": [
50
- "utility",
51
- "typescript",
52
- "react"
53
- ],
54
- "license": "LGPL-3.0-only",
55
61
  "publishConfig": {
56
62
  "access": "public"
57
63
  },
58
- "repository": {
59
- "type": "git",
60
- "url": "git+https://github.com/xylabs/sdk-react.git"
61
- },
62
- "sideEffects": false,
63
- "version": "4.0.3",
64
- "type": "module"
64
+ "docs": "dist/docs.json"
65
65
  }
@@ -8,11 +8,7 @@ import { AccordionGroup } from './AccordionGroup.tsx'
8
8
  const StorybookEntry: Meta<typeof AccordionGroup> = {
9
9
  argTypes: {},
10
10
  component: AccordionGroup,
11
- parameters: {
12
- docs: {
13
- page: null,
14
- },
15
- },
11
+ parameters: { docs: { page: null } },
16
12
  title: 'Components/AccordionGroup',
17
13
  } as Meta<typeof AccordionGroup>
18
14
 
@@ -1,6 +1,8 @@
1
1
  import { ExpandMoreRounded } from '@mui/icons-material'
2
2
  import type { AccordionProps } from '@mui/material'
3
- import { Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme } from '@mui/material'
3
+ import {
4
+ Accordion, AccordionDetails, AccordionSummary, Typography, useMediaQuery, useTheme,
5
+ } from '@mui/material'
4
6
  import { ButtonEx } from '@xylabs/react-button'
5
7
  import type { ReactNode } from 'react'
6
8
  import React, { useState } from 'react'
@@ -34,12 +36,15 @@ export const AccordionGroup: React.FC<AccordionGroupProps> = ({ defaultExpandedI
34
36
  return (
35
37
  <>
36
38
  {data?.map((item, index) => (
39
+ // eslint-disable-next-line @eslint-react/no-duplicate-key
37
40
  <SimpleAccordion key={index} {...item} expanded={index === expandedIndex} onChange={() => setExpandedIndex(index)} />
38
41
  ))}
39
42
  </>
40
43
  )
41
44
  }
42
- export const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({ name, linkText, to, href, description, expanded, onChange, children }) => {
45
+ export const SimpleAccordion: React.FC<SimpleAccordionCardProps> = ({
46
+ name, linkText, to, href, description, expanded, onChange, children,
47
+ }) => {
43
48
  const theme = useTheme()
44
49
  const isMobile = useMediaQuery(theme.breakpoints.down('md'))
45
50
  return (
package/xy.config.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
- browser: {
5
- src: {},
6
- },
4
+ browser: { src: {} },
7
5
  node: {},
8
6
  neutral: {},
9
7
  },