@corva/ui 3.40.0-4 → 3.40.0-5

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,2 +1,2 @@
1
- "use strict";var e=require("prop-types"),t=require("@material-ui/core"),r=require("../../../utils/mobileDetect.js"),i=require("../../Attachment/index.js"),a=require("../../UserMention/utils/index.js"),s=require("../../CollapsibleContent.js"),u=require("react/jsx-runtime");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=n(e),l=t.makeStyles({wrapper:{whiteSpace:"pre-wrap"}}),o=function(e){var n=e.feedItem,d=n.context.post,o=d.body,m=d.attachment,p=void 0===m?{}:m,c=n.mentioned_users,f=l(),h=p.signed_url||p.url||p.file_name;return u.jsxs("div",{className:f.wrapper,children:[o&&u.jsx(s,{children:u.jsx(t.Typography,{"data-testid":"".concat("PostFeedItem","_message"),variant:"body1",gutterBottom:!0,children:a.formatMentionText(o,c,r.isNativeDetected)})}),h&&u.jsx(i,{attachmentUrl:p.signed_url||p.url,fileName:p.file_name,attachmentSize:p.size,size:"medium"})]})};o.propTypes={feedItem:d.default.shape({context:d.default.shape({post:d.default.shape({body:d.default.string.isRequired,attachment:d.default.shape({url:d.default.string,size:d.default.number})}).isRequired}).isRequired,mentioned_users:d.default.arrayOf(d.default.shape({}))}).isRequired},module.exports=o;
1
+ "use strict";var e=require("prop-types"),t=require("@material-ui/core"),r=require("../../../utils/mobileDetect.js"),i=require("../../Attachment/index.js"),a=require("../../UserMention/utils/index.js"),s=require("../../CollapsibleContent.js"),u=require("react/jsx-runtime");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=n(e),l=t.makeStyles({wrapper:{whiteSpace:"pre-wrap"}}),o=function(e){var n=e.feedItem,d=n.context.post,o=d.body,m=d.attachment,p=n.mentioned_users,c=l(),f=(null==m?void 0:m.signed_url)||(null==m?void 0:m.url)||(null==m?void 0:m.file_name);return u.jsxs("div",{className:c.wrapper,children:[o&&u.jsx(s,{children:u.jsx(t.Typography,{"data-testid":"".concat("PostFeedItem","_message"),variant:"body1",gutterBottom:!0,children:a.formatMentionText(o,p,r.isNativeDetected)})}),f&&u.jsx(i,{attachmentUrl:m.signed_url||m.url,fileName:m.file_name,attachmentSize:m.size,size:"medium"})]})};o.propTypes={feedItem:d.default.shape({context:d.default.shape({post:d.default.shape({body:d.default.string.isRequired,attachment:d.default.shape({url:d.default.string,size:d.default.number})}).isRequired}).isRequired,mentioned_users:d.default.arrayOf(d.default.shape({}))}).isRequired},module.exports=o;
2
2
  //# sourceMappingURL=PostFeedItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostFeedItem.js","sources":["../../../../../src/components/FeedItem/feedItemTypes/PostFeedItem.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport Attachment from '~/components/Attachment';\nimport { formatMentionText } from '~/components/UserMention/utils';\nimport CollapsibleContent from '~/components/CollapsibleContent';\n\nconst PAGE_NAME = 'PostFeedItem';\n\nconst useStyles = makeStyles({\n wrapper: { whiteSpace: 'pre-wrap' },\n});\n\nconst PostFeedItem = ({\n feedItem: {\n context: {\n post: { body, attachment = {} },\n },\n mentioned_users: mentionedUsers,\n },\n}) => {\n const classes = useStyles();\n const hasAttachment = attachment.signed_url || attachment.url || attachment.file_name;\n\n return (\n <div className={classes.wrapper}>\n {body && (\n <CollapsibleContent>\n <Typography data-testid={`${PAGE_NAME}_message`} variant=\"body1\" gutterBottom>\n {formatMentionText(body, mentionedUsers, isNativeDetected)}\n </Typography>\n </CollapsibleContent>\n )}\n\n {hasAttachment && (\n <Attachment\n attachmentUrl={attachment.signed_url || attachment.url}\n fileName={attachment.file_name}\n attachmentSize={attachment.size}\n size=\"medium\"\n />\n )}\n </div>\n );\n};\n\nPostFeedItem.propTypes = {\n feedItem: PropTypes.shape({\n context: PropTypes.shape({\n post: PropTypes.shape({\n body: PropTypes.string.isRequired,\n attachment: PropTypes.shape({\n url: PropTypes.string,\n size: PropTypes.number,\n }),\n }).isRequired,\n }).isRequired,\n mentioned_users: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n};\n\nexport default PostFeedItem;\n"],"names":["useStyles","makeStyles","wrapper","whiteSpace","PostFeedItem","_ref","_ref$feedItem","feedItem","_ref$feedItem$context","context","post","body","_ref$feedItem$context2","attachment","mentionedUsers","mentioned_users","classes","hasAttachment","signed_url","url","file_name","_jsxs","className","children","_jsx","jsx","CollapsibleContent","Typography","concat","variant","gutterBottom","formatMentionText","isNativeDetected","Attachment","attachmentUrl","fileName","attachmentSize","size","propTypes","PropTypes","shape","string","isRequired","number","arrayOf"],"mappings":"oWAUMA,EAAYC,EAAAA,WAAW,CAC3BC,QAAS,CAAEC,WAAY,cAGnBC,EAAe,SAOfC,GAAA,IAAAC,EAAAD,EANJE,SAAQC,EACNC,EAAAA,QACEC,KAAQC,IAAAA,KAAIC,EAAAJ,EAAEK,WAAAA,OAAU,IAAAD,EAAG,CAAE,EAAAA,EAEdE,IAAjBC,gBAGIC,EAAUhB,IACViB,EAAgBJ,EAAWK,YAAcL,EAAWM,KAAON,EAAWO,UAE5E,OACEC,EAAAA,KAAA,MAAA,CAAKC,UAAWN,EAAQd,QAAQqB,SAC7BZ,CAAAA,GACCa,EAAAC,IAACC,EAAkB,CAAAH,SACjBC,MAACG,aAAU,CAAC,cAAA,GAAAC,OArBJ,eAqBwC,YAACC,QAAQ,QAAQC,cAAY,EAAAP,SAC1EQ,EAAiBA,kBAACpB,EAAMG,EAAgBkB,EAAAA,sBAK9Cf,GACCO,EAAAC,IAACQ,EAAU,CACTC,cAAerB,EAAWK,YAAcL,EAAWM,IACnDgB,SAAUtB,EAAWO,UACrBgB,eAAgBvB,EAAWwB,KAC3BA,KAAK,aAKf,EAEAjC,EAAakC,UAAY,CACvB/B,SAAUgC,EAAS,QAACC,MAAM,CACxB/B,QAAS8B,EAAS,QAACC,MAAM,CACvB9B,KAAM6B,EAAS,QAACC,MAAM,CACpB7B,KAAM4B,EAAAA,QAAUE,OAAOC,WACvB7B,WAAY0B,EAAS,QAACC,MAAM,CAC1BrB,IAAKoB,EAAS,QAACE,OACfJ,KAAME,EAAS,QAACI,WAEjBD,aACFA,WACH3B,gBAAiBwB,EAAS,QAACK,QAAQL,EAAS,QAACC,MAAM,CAAE,MACpDE"}
1
+ {"version":3,"file":"PostFeedItem.js","sources":["../../../../../src/components/FeedItem/feedItemTypes/PostFeedItem.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport Attachment from '~/components/Attachment';\nimport { formatMentionText } from '~/components/UserMention/utils';\nimport CollapsibleContent from '~/components/CollapsibleContent';\n\nconst PAGE_NAME = 'PostFeedItem';\n\nconst useStyles = makeStyles({\n wrapper: { whiteSpace: 'pre-wrap' },\n});\n\nconst PostFeedItem = ({\n feedItem: {\n context: {\n post: { body, attachment },\n },\n mentioned_users: mentionedUsers,\n },\n}) => {\n const classes = useStyles();\n const hasAttachment = attachment?.signed_url || attachment?.url || attachment?.file_name;\n\n return (\n <div className={classes.wrapper}>\n {body && (\n <CollapsibleContent>\n <Typography data-testid={`${PAGE_NAME}_message`} variant=\"body1\" gutterBottom>\n {formatMentionText(body, mentionedUsers, isNativeDetected)}\n </Typography>\n </CollapsibleContent>\n )}\n\n {hasAttachment && (\n <Attachment\n attachmentUrl={attachment.signed_url || attachment.url}\n fileName={attachment.file_name}\n attachmentSize={attachment.size}\n size=\"medium\"\n />\n )}\n </div>\n );\n};\n\nPostFeedItem.propTypes = {\n feedItem: PropTypes.shape({\n context: PropTypes.shape({\n post: PropTypes.shape({\n body: PropTypes.string.isRequired,\n attachment: PropTypes.shape({\n url: PropTypes.string,\n size: PropTypes.number,\n }),\n }).isRequired,\n }).isRequired,\n mentioned_users: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n};\n\nexport default PostFeedItem;\n"],"names":["useStyles","makeStyles","wrapper","whiteSpace","PostFeedItem","_ref","_ref$feedItem","feedItem","_ref$feedItem$context","context","post","body","attachment","mentionedUsers","mentioned_users","classes","hasAttachment","signed_url","url","file_name","_jsxs","className","children","_jsx","jsx","CollapsibleContent","Typography","concat","variant","gutterBottom","formatMentionText","isNativeDetected","Attachment","attachmentUrl","fileName","attachmentSize","size","propTypes","PropTypes","shape","string","isRequired","number","arrayOf"],"mappings":"oWAUMA,EAAYC,EAAAA,WAAW,CAC3BC,QAAS,CAAEC,WAAY,cAGnBC,EAAe,SAOfC,GAAA,IAAAC,EAAAD,EANJE,SAAQC,EACNC,EAAAA,QACEC,KAAQC,IAAAA,KAAMC,IAAAA,WAECC,IAAjBC,gBAGIC,EAAUf,IACVgB,GAAgBJ,aAAAA,EAAAA,EAAYK,cAAcL,aAAU,EAAVA,EAAYM,OAAON,aAAU,EAAVA,EAAYO,WAE/E,OACEC,EAAAA,KAAA,MAAA,CAAKC,UAAWN,EAAQb,QAAQoB,SAC7BX,CAAAA,GACCY,EAAAC,IAACC,EAAkB,CAAAH,SACjBC,MAACG,aAAU,CAAC,cAAA,GAAAC,OArBJ,eAqBwC,YAACC,QAAQ,QAAQC,cAAY,EAAAP,SAC1EQ,EAAiBA,kBAACnB,EAAME,EAAgBkB,EAAAA,sBAK9Cf,GACCO,EAAAC,IAACQ,EAAU,CACTC,cAAerB,EAAWK,YAAcL,EAAWM,IACnDgB,SAAUtB,EAAWO,UACrBgB,eAAgBvB,EAAWwB,KAC3BA,KAAK,aAKf,EAEAhC,EAAaiC,UAAY,CACvB9B,SAAU+B,EAAS,QAACC,MAAM,CACxB9B,QAAS6B,EAAS,QAACC,MAAM,CACvB7B,KAAM4B,EAAS,QAACC,MAAM,CACpB5B,KAAM2B,EAAAA,QAAUE,OAAOC,WACvB7B,WAAY0B,EAAS,QAACC,MAAM,CAC1BrB,IAAKoB,EAAS,QAACE,OACfJ,KAAME,EAAS,QAACI,WAEjBD,aACFA,WACH3B,gBAAiBwB,EAAS,QAACK,QAAQL,EAAS,QAACC,MAAM,CAAE,MACpDE"}
@@ -4,7 +4,7 @@ declare function PostFeedItem({ feedItem: { context: { post: { body, attachment
4
4
  context: {
5
5
  post: {
6
6
  body: any;
7
- attachment?: {};
7
+ attachment: any;
8
8
  };
9
9
  };
10
10
  mentioned_users: any;
@@ -1,2 +1,2 @@
1
- import e from"prop-types";import{makeStyles as t,Typography as r}from"@material-ui/core";import{isNativeDetected as i}from"../../../utils/mobileDetect.js";import s from"../../Attachment/index.js";import{formatMentionText as a}from"../../UserMention/utils/index.js";import o from"../../CollapsibleContent.js";import{jsxs as m,jsx as n}from"react/jsx-runtime";var p=t({wrapper:{whiteSpace:"pre-wrap"}}),d=function(e){var t=e.feedItem,d=t.context.post,l=d.body,u=d.attachment,c=void 0===u?{}:u,f=t.mentioned_users,h=p(),_=c.signed_url||c.url||c.file_name;return m("div",{className:h.wrapper,children:[l&&n(o,{children:n(r,{"data-testid":"".concat("PostFeedItem","_message"),variant:"body1",gutterBottom:!0,children:a(l,f,i)})}),_&&n(s,{attachmentUrl:c.signed_url||c.url,fileName:c.file_name,attachmentSize:c.size,size:"medium"})]})};d.propTypes={feedItem:e.shape({context:e.shape({post:e.shape({body:e.string.isRequired,attachment:e.shape({url:e.string,size:e.number})}).isRequired}).isRequired,mentioned_users:e.arrayOf(e.shape({}))}).isRequired};export{d as default};
1
+ import e from"prop-types";import{makeStyles as t,Typography as r}from"@material-ui/core";import{isNativeDetected as i}from"../../../utils/mobileDetect.js";import s from"../../Attachment/index.js";import{formatMentionText as a}from"../../UserMention/utils/index.js";import o from"../../CollapsibleContent.js";import{jsxs as m,jsx as n}from"react/jsx-runtime";var p=t({wrapper:{whiteSpace:"pre-wrap"}}),d=function(e){var t=e.feedItem,d=t.context.post,l=d.body,u=d.attachment,c=t.mentioned_users,f=p(),h=(null==u?void 0:u.signed_url)||(null==u?void 0:u.url)||(null==u?void 0:u.file_name);return m("div",{className:f.wrapper,children:[l&&n(o,{children:n(r,{"data-testid":"".concat("PostFeedItem","_message"),variant:"body1",gutterBottom:!0,children:a(l,c,i)})}),h&&n(s,{attachmentUrl:u.signed_url||u.url,fileName:u.file_name,attachmentSize:u.size,size:"medium"})]})};d.propTypes={feedItem:e.shape({context:e.shape({post:e.shape({body:e.string.isRequired,attachment:e.shape({url:e.string,size:e.number})}).isRequired}).isRequired,mentioned_users:e.arrayOf(e.shape({}))}).isRequired};export{d as default};
2
2
  //# sourceMappingURL=PostFeedItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostFeedItem.js","sources":["../../../../src/components/FeedItem/feedItemTypes/PostFeedItem.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport Attachment from '~/components/Attachment';\nimport { formatMentionText } from '~/components/UserMention/utils';\nimport CollapsibleContent from '~/components/CollapsibleContent';\n\nconst PAGE_NAME = 'PostFeedItem';\n\nconst useStyles = makeStyles({\n wrapper: { whiteSpace: 'pre-wrap' },\n});\n\nconst PostFeedItem = ({\n feedItem: {\n context: {\n post: { body, attachment = {} },\n },\n mentioned_users: mentionedUsers,\n },\n}) => {\n const classes = useStyles();\n const hasAttachment = attachment.signed_url || attachment.url || attachment.file_name;\n\n return (\n <div className={classes.wrapper}>\n {body && (\n <CollapsibleContent>\n <Typography data-testid={`${PAGE_NAME}_message`} variant=\"body1\" gutterBottom>\n {formatMentionText(body, mentionedUsers, isNativeDetected)}\n </Typography>\n </CollapsibleContent>\n )}\n\n {hasAttachment && (\n <Attachment\n attachmentUrl={attachment.signed_url || attachment.url}\n fileName={attachment.file_name}\n attachmentSize={attachment.size}\n size=\"medium\"\n />\n )}\n </div>\n );\n};\n\nPostFeedItem.propTypes = {\n feedItem: PropTypes.shape({\n context: PropTypes.shape({\n post: PropTypes.shape({\n body: PropTypes.string.isRequired,\n attachment: PropTypes.shape({\n url: PropTypes.string,\n size: PropTypes.number,\n }),\n }).isRequired,\n }).isRequired,\n mentioned_users: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n};\n\nexport default PostFeedItem;\n"],"names":["useStyles","makeStyles","wrapper","whiteSpace","PostFeedItem","_ref","_ref$feedItem","feedItem","_ref$feedItem$context","context","post","body","_ref$feedItem$context2","attachment","mentionedUsers","mentioned_users","classes","hasAttachment","signed_url","url","file_name","_jsxs","className","children","_jsx","CollapsibleContent","Typography","concat","variant","gutterBottom","formatMentionText","isNativeDetected","Attachment","attachmentUrl","fileName","attachmentSize","size","propTypes","PropTypes","shape","string","isRequired","number","arrayOf"],"mappings":"sWAQA,IAEMA,EAAYC,EAAW,CAC3BC,QAAS,CAAEC,WAAY,cAGnBC,EAAe,SAOfC,GAAA,IAAAC,EAAAD,EANJE,SAAQC,EACNC,EAAAA,QACEC,KAAQC,IAAAA,KAAIC,EAAAJ,EAAEK,WAAAA,OAAU,IAAAD,EAAG,CAAE,EAAAA,EAEdE,IAAjBC,gBAGIC,EAAUhB,IACViB,EAAgBJ,EAAWK,YAAcL,EAAWM,KAAON,EAAWO,UAE5E,OACEC,EAAA,MAAA,CAAKC,UAAWN,EAAQd,QAAQqB,SAC7BZ,CAAAA,GACCa,EAACC,EAAkB,CAAAF,SACjBC,EAACE,EAAU,CAAC,cAAA,GAAAC,OArBJ,eAqBwC,YAACC,QAAQ,QAAQC,cAAY,EAAAN,SAC1EO,EAAkBnB,EAAMG,EAAgBiB,OAK9Cd,GACCO,EAACQ,EAAU,CACTC,cAAepB,EAAWK,YAAcL,EAAWM,IACnDe,SAAUrB,EAAWO,UACrBe,eAAgBtB,EAAWuB,KAC3BA,KAAK,aAKf,EAEAhC,EAAaiC,UAAY,CACvB9B,SAAU+B,EAAUC,MAAM,CACxB9B,QAAS6B,EAAUC,MAAM,CACvB7B,KAAM4B,EAAUC,MAAM,CACpB5B,KAAM2B,EAAUE,OAAOC,WACvB5B,WAAYyB,EAAUC,MAAM,CAC1BpB,IAAKmB,EAAUE,OACfJ,KAAME,EAAUI,WAEjBD,aACFA,WACH1B,gBAAiBuB,EAAUK,QAAQL,EAAUC,MAAM,CAAE,MACpDE"}
1
+ {"version":3,"file":"PostFeedItem.js","sources":["../../../../src/components/FeedItem/feedItemTypes/PostFeedItem.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport Attachment from '~/components/Attachment';\nimport { formatMentionText } from '~/components/UserMention/utils';\nimport CollapsibleContent from '~/components/CollapsibleContent';\n\nconst PAGE_NAME = 'PostFeedItem';\n\nconst useStyles = makeStyles({\n wrapper: { whiteSpace: 'pre-wrap' },\n});\n\nconst PostFeedItem = ({\n feedItem: {\n context: {\n post: { body, attachment },\n },\n mentioned_users: mentionedUsers,\n },\n}) => {\n const classes = useStyles();\n const hasAttachment = attachment?.signed_url || attachment?.url || attachment?.file_name;\n\n return (\n <div className={classes.wrapper}>\n {body && (\n <CollapsibleContent>\n <Typography data-testid={`${PAGE_NAME}_message`} variant=\"body1\" gutterBottom>\n {formatMentionText(body, mentionedUsers, isNativeDetected)}\n </Typography>\n </CollapsibleContent>\n )}\n\n {hasAttachment && (\n <Attachment\n attachmentUrl={attachment.signed_url || attachment.url}\n fileName={attachment.file_name}\n attachmentSize={attachment.size}\n size=\"medium\"\n />\n )}\n </div>\n );\n};\n\nPostFeedItem.propTypes = {\n feedItem: PropTypes.shape({\n context: PropTypes.shape({\n post: PropTypes.shape({\n body: PropTypes.string.isRequired,\n attachment: PropTypes.shape({\n url: PropTypes.string,\n size: PropTypes.number,\n }),\n }).isRequired,\n }).isRequired,\n mentioned_users: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n};\n\nexport default PostFeedItem;\n"],"names":["useStyles","makeStyles","wrapper","whiteSpace","PostFeedItem","_ref","_ref$feedItem","feedItem","_ref$feedItem$context","context","post","body","attachment","mentionedUsers","mentioned_users","classes","hasAttachment","signed_url","url","file_name","_jsxs","className","children","_jsx","CollapsibleContent","Typography","concat","variant","gutterBottom","formatMentionText","isNativeDetected","Attachment","attachmentUrl","fileName","attachmentSize","size","propTypes","PropTypes","shape","string","isRequired","number","arrayOf"],"mappings":"sWAQA,IAEMA,EAAYC,EAAW,CAC3BC,QAAS,CAAEC,WAAY,cAGnBC,EAAe,SAOfC,GAAA,IAAAC,EAAAD,EANJE,SAAQC,EACNC,EAAAA,QACEC,KAAQC,IAAAA,KAAMC,IAAAA,WAECC,IAAjBC,gBAGIC,EAAUf,IACVgB,GAAgBJ,aAAAA,EAAAA,EAAYK,cAAcL,aAAU,EAAVA,EAAYM,OAAON,aAAU,EAAVA,EAAYO,WAE/E,OACEC,EAAA,MAAA,CAAKC,UAAWN,EAAQb,QAAQoB,SAC7BX,CAAAA,GACCY,EAACC,EAAkB,CAAAF,SACjBC,EAACE,EAAU,CAAC,cAAA,GAAAC,OArBJ,eAqBwC,YAACC,QAAQ,QAAQC,cAAY,EAAAN,SAC1EO,EAAkBlB,EAAME,EAAgBiB,OAK9Cd,GACCO,EAACQ,EAAU,CACTC,cAAepB,EAAWK,YAAcL,EAAWM,IACnDe,SAAUrB,EAAWO,UACrBe,eAAgBtB,EAAWuB,KAC3BA,KAAK,aAKf,EAEA/B,EAAagC,UAAY,CACvB7B,SAAU8B,EAAUC,MAAM,CACxB7B,QAAS4B,EAAUC,MAAM,CACvB5B,KAAM2B,EAAUC,MAAM,CACpB3B,KAAM0B,EAAUE,OAAOC,WACvB5B,WAAYyB,EAAUC,MAAM,CAC1BpB,IAAKmB,EAAUE,OACfJ,KAAME,EAAUI,WAEjBD,aACFA,WACH1B,gBAAiBuB,EAAUK,QAAQL,EAAUC,MAAM,CAAE,MACpDE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.40.0-4",
3
+ "version": "3.40.0-5",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "keywords": [