@tiny-codes/react-easy 1.7.2 → 1.7.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## 1.7.3
6
+
7
+ 2026-2-12
8
+
9
+ ### Features
10
+
11
+ - **EllipsisText**, **EllipsisParagraph**, **EllipsisTitle**
12
+ - ✨ Make `text` prop optional.
13
+
5
14
  ## 1.7.2
6
15
 
7
16
  2026-2-12
@@ -4,7 +4,7 @@ import type { TextProps } from 'antd/es/typography/Text';
4
4
  import type { TitleProps } from 'antd/es/typography/Title';
5
5
  declare function withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(Component: ComponentType<MakeEllipsisTypographyProps<T>>): (props: MakeEllipsisTypographyProps<T>) => import("react/jsx-runtime").JSX.Element;
6
6
  export type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {
7
- text: string | undefined;
7
+ text?: string | undefined;
8
8
  children?: string | undefined | null;
9
9
  };
10
10
  export default withEllipsisTypography;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useState","Tooltip","jsx","_jsx","withEllipsisTypography","Component","EllipsisText","props","_props$ellipsis","ellipsis","children","_props$text","text","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","isEllipsis","setIsEllipsis","_useState3","_useState4","dom","setDom","isAutoEllipsis","isAutoTooltip","_typeof","tooltip","isAutoTooltipTitle","title","isAuto","tooltipTitle","undefined","Promise","resolve","then","scrollWidth","clientWidth","scrollHeight","clientHeight","_objectSpread","ref"],"sources":["../../../src/components/EllipsisTypography/withEllipsisTypography.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useEffect, useMemo, useState } from 'react';\nimport type { TooltipProps } from 'antd';\nimport { Tooltip } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\n\nfunction withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(\n Component: ComponentType<MakeEllipsisTypographyProps<T>>\n) {\n return function EllipsisText(props: MakeEllipsisTypographyProps<T>) {\n const { ellipsis = true, children, text = children, ...rest } = props;\n const [isEllipsis, setIsEllipsis] = useState(false);\n const [dom, setDom] = useState<HTMLElement | null>(null);\n const isAutoEllipsis = useMemo(() => ellipsis === true, [ellipsis]);\n const isAutoTooltip = useMemo(() => typeof ellipsis === 'object' && ellipsis.tooltip === true, [ellipsis]);\n const isAutoTooltipTitle = useMemo(\n () =>\n typeof ellipsis === 'object' &&\n ellipsis.tooltip &&\n typeof ellipsis.tooltip === 'object' &&\n 'title' in ellipsis.tooltip &&\n ellipsis.tooltip.title === true,\n [ellipsis]\n );\n const isAuto = useMemo(\n () => isAutoEllipsis || isAutoTooltip || isAutoTooltipTitle,\n [isAutoEllipsis, isAutoTooltip, isAutoTooltipTitle]\n );\n const tooltipTitle = useMemo(() => (isEllipsis ? text : undefined), [isEllipsis, text]);\n\n useEffect(() => {\n if (dom && isAuto) {\n Promise.resolve().then(() => {\n setIsEllipsis(dom.scrollWidth > dom.clientWidth || dom.scrollHeight > dom.clientHeight);\n });\n }\n }, [text, isAuto, dom]);\n\n return (\n <Tooltip {...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps)} title={tooltipTitle}>\n <Component\n ref={setDom}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(rest as any)}\n ellipsis={\n isAutoEllipsis\n ? { tooltip: undefined }\n : isAutoTooltip\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: undefined,\n }\n : isAutoTooltipTitle\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: {\n ...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps),\n title: undefined,\n },\n }\n : ellipsis\n }\n >\n {text}\n </Component>\n </Tooltip>\n );\n };\n}\n\nexport type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {\n text: string | undefined;\n children?: string | undefined | null;\n};\n\nexport default withEllipsisTypography;\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEpD,SAASC,OAAO,QAAQ,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM/B,SAASC,sBAAsBA,CAC7BC,SAAwD,EACxD;EACA,OAAO,SAASC,YAAYA,CAACC,KAAqC,EAAE;IAClE,IAAAC,eAAA,GAAgED,KAAK,CAA7DE,QAAQ;MAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;MAAEE,QAAQ,GAA+BH,KAAK,CAA5CG,QAAQ;MAAAC,WAAA,GAA+BJ,KAAK,CAAlCK,IAAI;MAAJA,IAAI,GAAAD,WAAA,cAAGD,QAAQ,GAAAC,WAAA;MAAKE,IAAI,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA;IACrE,IAAAC,SAAA,GAAoChB,QAAQ,CAAC,KAAK,CAAC;MAAAiB,UAAA,GAAAC,cAAA,CAAAF,SAAA;MAA5CG,UAAU,GAAAF,UAAA;MAAEG,aAAa,GAAAH,UAAA;IAChC,IAAAI,UAAA,GAAsBrB,QAAQ,CAAqB,IAAI,CAAC;MAAAsB,UAAA,GAAAJ,cAAA,CAAAG,UAAA;MAAjDE,GAAG,GAAAD,UAAA;MAAEE,MAAM,GAAAF,UAAA;IAClB,IAAMG,cAAc,GAAG1B,OAAO,CAAC;MAAA,OAAMU,QAAQ,KAAK,IAAI;IAAA,GAAE,CAACA,QAAQ,CAAC,CAAC;IACnE,IAAMiB,aAAa,GAAG3B,OAAO,CAAC;MAAA,OAAM4B,OAAA,CAAOlB,QAAQ,MAAK,QAAQ,IAAIA,QAAQ,CAACmB,OAAO,KAAK,IAAI;IAAA,GAAE,CAACnB,QAAQ,CAAC,CAAC;IAC1G,IAAMoB,kBAAkB,GAAG9B,OAAO,CAChC;MAAA,OACE4B,OAAA,CAAOlB,QAAQ,MAAK,QAAQ,IAC5BA,QAAQ,CAACmB,OAAO,IAChBD,OAAA,CAAOlB,QAAQ,CAACmB,OAAO,MAAK,QAAQ,IACpC,OAAO,IAAInB,QAAQ,CAACmB,OAAO,IAC3BnB,QAAQ,CAACmB,OAAO,CAACE,KAAK,KAAK,IAAI;IAAA,GACjC,CAACrB,QAAQ,CACX,CAAC;IACD,IAAMsB,MAAM,GAAGhC,OAAO,CACpB;MAAA,OAAM0B,cAAc,IAAIC,aAAa,IAAIG,kBAAkB;IAAA,GAC3D,CAACJ,cAAc,EAAEC,aAAa,EAAEG,kBAAkB,CACpD,CAAC;IACD,IAAMG,YAAY,GAAGjC,OAAO,CAAC;MAAA,OAAOoB,UAAU,GAAGP,IAAI,GAAGqB,SAAS;IAAA,CAAC,EAAE,CAACd,UAAU,EAAEP,IAAI,CAAC,CAAC;IAEvFd,SAAS,CAAC,YAAM;MACd,IAAIyB,GAAG,IAAIQ,MAAM,EAAE;QACjBG,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,YAAM;UAC3BhB,aAAa,CAACG,GAAG,CAACc,WAAW,GAAGd,GAAG,CAACe,WAAW,IAAIf,GAAG,CAACgB,YAAY,GAAGhB,GAAG,CAACiB,YAAY,CAAC;QACzF,CAAC,CAAC;MACJ;IACF,CAAC,EAAE,CAAC5B,IAAI,EAAEmB,MAAM,EAAER,GAAG,CAAC,CAAC;IAEvB,oBACEpB,IAAA,CAACF,OAAO,EAAAwC,aAAA,CAAAA,aAAA,KAAOhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAqBmB,OAAO;MAAmBE,KAAK,EAAEE,YAAa;MAAAtB,QAAA,eACxFP,IAAA,CAACE,SAAS,EAAAoC,aAAA,CAAAA,aAAA;QACRC,GAAG,EAAElB;QACL;MAAA,GACKX,IAAI;QACTJ,QAAQ,EACNgB,cAAc,GACV;UAAEG,OAAO,EAAEK;QAAU,CAAC,GACtBP,aAAa,GAAAe,aAAA,CAAAA,aAAA,KAELhC,QAAQ;UACZmB,OAAO,EAAEK;QAAS,KAEpBJ,kBAAkB,GAAAY,aAAA,CAAAA,aAAA,KAEVhC,QAAQ;UACZmB,OAAO,EAAAa,aAAA,CAAAA,aAAA,KACAhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAqBmB,OAAO;YACzCE,KAAK,EAAEG;UAAS;QACjB,KAEHxB,QACT;QAAAC,QAAA,EAEAE;MAAI,EACI;IAAC,EACL,CAAC;EAEd,CAAC;AACH;AAOA,eAAeR,sBAAsB"}
1
+ {"version":3,"names":["useEffect","useMemo","useState","Tooltip","jsx","_jsx","withEllipsisTypography","Component","EllipsisText","props","_props$ellipsis","ellipsis","children","_props$text","text","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","isEllipsis","setIsEllipsis","_useState3","_useState4","dom","setDom","isAutoEllipsis","isAutoTooltip","_typeof","tooltip","isAutoTooltipTitle","title","isAuto","tooltipTitle","undefined","Promise","resolve","then","scrollWidth","clientWidth","scrollHeight","clientHeight","_objectSpread","ref"],"sources":["../../../src/components/EllipsisTypography/withEllipsisTypography.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useEffect, useMemo, useState } from 'react';\nimport type { TooltipProps } from 'antd';\nimport { Tooltip } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\n\nfunction withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(\n Component: ComponentType<MakeEllipsisTypographyProps<T>>\n) {\n return function EllipsisText(props: MakeEllipsisTypographyProps<T>) {\n const { ellipsis = true, children, text = children, ...rest } = props;\n const [isEllipsis, setIsEllipsis] = useState(false);\n const [dom, setDom] = useState<HTMLElement | null>(null);\n const isAutoEllipsis = useMemo(() => ellipsis === true, [ellipsis]);\n const isAutoTooltip = useMemo(() => typeof ellipsis === 'object' && ellipsis.tooltip === true, [ellipsis]);\n const isAutoTooltipTitle = useMemo(\n () =>\n typeof ellipsis === 'object' &&\n ellipsis.tooltip &&\n typeof ellipsis.tooltip === 'object' &&\n 'title' in ellipsis.tooltip &&\n ellipsis.tooltip.title === true,\n [ellipsis]\n );\n const isAuto = useMemo(\n () => isAutoEllipsis || isAutoTooltip || isAutoTooltipTitle,\n [isAutoEllipsis, isAutoTooltip, isAutoTooltipTitle]\n );\n const tooltipTitle = useMemo(() => (isEllipsis ? text : undefined), [isEllipsis, text]);\n\n useEffect(() => {\n if (dom && isAuto) {\n Promise.resolve().then(() => {\n setIsEllipsis(dom.scrollWidth > dom.clientWidth || dom.scrollHeight > dom.clientHeight);\n });\n }\n }, [text, isAuto, dom]);\n\n return (\n <Tooltip {...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps)} title={tooltipTitle}>\n <Component\n ref={setDom}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(rest as any)}\n ellipsis={\n isAutoEllipsis\n ? { tooltip: undefined }\n : isAutoTooltip\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: undefined,\n }\n : isAutoTooltipTitle\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: {\n ...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps),\n title: undefined,\n },\n }\n : ellipsis\n }\n >\n {text}\n </Component>\n </Tooltip>\n );\n };\n}\n\nexport type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {\n text?: string | undefined;\n children?: string | undefined | null;\n};\n\nexport default withEllipsisTypography;\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { TextProps } from 'antd/es/typography/Text';
4
4
  import type { TitleProps } from 'antd/es/typography/Title';
5
5
  declare function withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(Component: ComponentType<MakeEllipsisTypographyProps<T>>): (props: MakeEllipsisTypographyProps<T>) => import("react/jsx-runtime").JSX.Element;
6
6
  export type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {
7
- text: string | undefined;
7
+ text?: string | undefined;
8
8
  children?: string | undefined | null;
9
9
  };
10
10
  export default withEllipsisTypography;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/EllipsisTypography/withEllipsisTypography.tsx"],
4
- "sourcesContent": ["import type { ComponentType } from 'react';\nimport { useEffect, useMemo, useState } from 'react';\nimport type { TooltipProps } from 'antd';\nimport { Tooltip } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\n\nfunction withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(\n Component: ComponentType<MakeEllipsisTypographyProps<T>>\n) {\n return function EllipsisText(props: MakeEllipsisTypographyProps<T>) {\n const { ellipsis = true, children, text = children, ...rest } = props;\n const [isEllipsis, setIsEllipsis] = useState(false);\n const [dom, setDom] = useState<HTMLElement | null>(null);\n const isAutoEllipsis = useMemo(() => ellipsis === true, [ellipsis]);\n const isAutoTooltip = useMemo(() => typeof ellipsis === 'object' && ellipsis.tooltip === true, [ellipsis]);\n const isAutoTooltipTitle = useMemo(\n () =>\n typeof ellipsis === 'object' &&\n ellipsis.tooltip &&\n typeof ellipsis.tooltip === 'object' &&\n 'title' in ellipsis.tooltip &&\n ellipsis.tooltip.title === true,\n [ellipsis]\n );\n const isAuto = useMemo(\n () => isAutoEllipsis || isAutoTooltip || isAutoTooltipTitle,\n [isAutoEllipsis, isAutoTooltip, isAutoTooltipTitle]\n );\n const tooltipTitle = useMemo(() => (isEllipsis ? text : undefined), [isEllipsis, text]);\n\n useEffect(() => {\n if (dom && isAuto) {\n Promise.resolve().then(() => {\n setIsEllipsis(dom.scrollWidth > dom.clientWidth || dom.scrollHeight > dom.clientHeight);\n });\n }\n }, [text, isAuto, dom]);\n\n return (\n <Tooltip {...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps)} title={tooltipTitle}>\n <Component\n ref={setDom}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(rest as any)}\n ellipsis={\n isAutoEllipsis\n ? { tooltip: undefined }\n : isAutoTooltip\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: undefined,\n }\n : isAutoTooltipTitle\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: {\n ...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps),\n title: undefined,\n },\n }\n : ellipsis\n }\n >\n {text}\n </Component>\n </Tooltip>\n );\n };\n}\n\nexport type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {\n text: string | undefined;\n children?: string | undefined | null;\n};\n\nexport default withEllipsisTypography;\n"],
4
+ "sourcesContent": ["import type { ComponentType } from 'react';\nimport { useEffect, useMemo, useState } from 'react';\nimport type { TooltipProps } from 'antd';\nimport { Tooltip } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\n\nfunction withEllipsisTypography<T extends TextProps | ParagraphProps | TitleProps>(\n Component: ComponentType<MakeEllipsisTypographyProps<T>>\n) {\n return function EllipsisText(props: MakeEllipsisTypographyProps<T>) {\n const { ellipsis = true, children, text = children, ...rest } = props;\n const [isEllipsis, setIsEllipsis] = useState(false);\n const [dom, setDom] = useState<HTMLElement | null>(null);\n const isAutoEllipsis = useMemo(() => ellipsis === true, [ellipsis]);\n const isAutoTooltip = useMemo(() => typeof ellipsis === 'object' && ellipsis.tooltip === true, [ellipsis]);\n const isAutoTooltipTitle = useMemo(\n () =>\n typeof ellipsis === 'object' &&\n ellipsis.tooltip &&\n typeof ellipsis.tooltip === 'object' &&\n 'title' in ellipsis.tooltip &&\n ellipsis.tooltip.title === true,\n [ellipsis]\n );\n const isAuto = useMemo(\n () => isAutoEllipsis || isAutoTooltip || isAutoTooltipTitle,\n [isAutoEllipsis, isAutoTooltip, isAutoTooltipTitle]\n );\n const tooltipTitle = useMemo(() => (isEllipsis ? text : undefined), [isEllipsis, text]);\n\n useEffect(() => {\n if (dom && isAuto) {\n Promise.resolve().then(() => {\n setIsEllipsis(dom.scrollWidth > dom.clientWidth || dom.scrollHeight > dom.clientHeight);\n });\n }\n }, [text, isAuto, dom]);\n\n return (\n <Tooltip {...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps)} title={tooltipTitle}>\n <Component\n ref={setDom}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(rest as any)}\n ellipsis={\n isAutoEllipsis\n ? { tooltip: undefined }\n : isAutoTooltip\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: undefined,\n }\n : isAutoTooltipTitle\n ? {\n ...(ellipsis as EllipsisConfig),\n tooltip: {\n ...((ellipsis as EllipsisConfig)?.tooltip as TooltipProps),\n title: undefined,\n },\n }\n : ellipsis\n }\n >\n {text}\n </Component>\n </Tooltip>\n );\n };\n}\n\nexport type MakeEllipsisTypographyProps<T> = Omit<T, 'children'> & {\n text?: string | undefined;\n children?: string | undefined | null;\n};\n\nexport default withEllipsisTypography;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA6C;AAE7C,kBAAwB;AAMxB,SAAS,uBACP,WACA;AACA,SAAO,SAAS,aAAa,OAAuC;AAClE,UAAM,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,KAAK,IAAI;AAChE,UAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,UAAM,CAAC,KAAK,MAAM,QAAI,uBAA6B,IAAI;AACvD,UAAM,qBAAiB,sBAAQ,MAAM,aAAa,MAAM,CAAC,QAAQ,CAAC;AAClE,UAAM,oBAAgB,sBAAQ,MAAM,OAAO,aAAa,YAAY,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC;AACzG,UAAM,yBAAqB;AAAA,MACzB,MACE,OAAO,aAAa,YACpB,SAAS,WACT,OAAO,SAAS,YAAY,YAC5B,WAAW,SAAS,WACpB,SAAS,QAAQ,UAAU;AAAA,MAC7B,CAAC,QAAQ;AAAA,IACX;AACA,UAAM,aAAS;AAAA,MACb,MAAM,kBAAkB,iBAAiB;AAAA,MACzC,CAAC,gBAAgB,eAAe,kBAAkB;AAAA,IACpD;AACA,UAAM,mBAAe,sBAAQ,MAAO,aAAa,OAAO,QAAY,CAAC,YAAY,IAAI,CAAC;AAEtF,gCAAU,MAAM;AACd,UAAI,OAAO,QAAQ;AACjB,gBAAQ,QAAQ,EAAE,KAAK,MAAM;AAC3B,wBAAc,IAAI,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,YAAY;AAAA,QACxF,CAAC;AAAA,MACH;AAAA,IACF,GAAG,CAAC,MAAM,QAAQ,GAAG,CAAC;AAEtB,WACE,oCAAC,uBAAS,GAAK,qCAA6B,SAA0B,OAAO,gBAC3E;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QAEJ,GAAI;AAAA,QACL,UACE,iBACI,EAAE,SAAS,OAAU,IACrB,gBACE;AAAA,UACE,GAAI;AAAA,UACJ,SAAS;AAAA,QACX,IACA,qBACE;AAAA,UACE,GAAI;AAAA,UACJ,SAAS;AAAA,YACP,GAAK,qCAA6B;AAAA,YAClC,OAAO;AAAA,UACT;AAAA,QACF,IACA;AAAA;AAAA,MAGT;AAAA,IACH,CACF;AAAA,EAEJ;AACF;AAOA,IAAO,iCAAQ;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tiny-codes/react-easy",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
4
4
  "description": "Simplify React and AntDesign development with practical components and hooks",
5
5
  "keywords": [
6
6
  "react",