@digi-frontend/dgate-api-documentation 1.4.6 → 1.4.9

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.
Files changed (71) hide show
  1. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  2. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  3. package/dist/src/components/InfoForm/InfoForm.module.scss.js +1 -1
  4. package/dist/src/components/JsonInput/JsonInput.js +1 -1
  5. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  6. package/dist/src/components/JsonInput/style.module.scss.js +1 -1
  7. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  8. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  9. package/dist/src/components/LivePreview/LivePreview.module.scss.js +1 -1
  10. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  11. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  12. package/dist/src/components/MethodAccordion/MethodAccordion.module.scss.js +1 -1
  13. package/dist/src/components/SVGLoader/SVGLoader.js +1 -1
  14. package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
  15. package/dist/src/components/SectionHead/SectionHead.js +1 -1
  16. package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
  17. package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +1 -1
  18. package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -1
  19. package/dist/src/components/Tooltip/Tooltip.js +1 -1
  20. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  21. package/dist/src/components/dialog/index.js +1 -1
  22. package/dist/src/components/dialog/index.js.map +1 -1
  23. package/dist/src/components/table/table.js +1 -1
  24. package/dist/src/components/table/table.js.map +1 -1
  25. package/dist/src/components/table/tags-table.js +1 -1
  26. package/dist/src/components/table/tags-table.js.map +1 -1
  27. package/dist/src/context/SectionToggleContext.js +1 -1
  28. package/dist/src/context/SectionToggleContext.js.map +1 -1
  29. package/dist/src/layout/docsComponents/Codebox/Codebox.js +1 -1
  30. package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -1
  31. package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +1 -1
  32. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
  33. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
  34. package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +1 -1
  35. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
  36. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  37. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  38. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  39. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
  40. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
  41. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
  42. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
  43. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +1 -1
  44. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  45. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  46. package/dist/src/layout/docsComponents/index.js +1 -1
  47. package/dist/src/layout/docsComponents/index.js.map +1 -1
  48. package/dist/src/layout/docsLayout.js +1 -1
  49. package/dist/src/layout/docsLayout.js.map +1 -1
  50. package/dist/src/layout/layout.js +1 -1
  51. package/dist/src/layout/layout.js.map +1 -1
  52. package/dist/style.css +1 -1
  53. package/dist/types/components/Chips/Chips.d.ts +2 -1
  54. package/dist/types/components/InfoForm/InfoForm.d.ts +1 -1
  55. package/dist/types/components/JsonInput/JsonInput.d.ts +2 -1
  56. package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +1 -1
  57. package/dist/types/components/dialog/index.d.ts +2 -1
  58. package/dist/types/components/table/table.d.ts +2 -1
  59. package/dist/types/components/table/tags-table.d.ts +1 -1
  60. package/dist/types/context/SectionToggleContext.d.ts +2 -2
  61. package/dist/types/index.d.ts +2 -27
  62. package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +2 -1
  63. package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +2 -1
  64. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +1 -1
  65. package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +1 -1
  66. package/dist/types/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +1 -1
  67. package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +2 -1
  68. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +1 -1
  69. package/package.json +1 -1
  70. package/rollup.config.js +39 -4
  71. package/tsconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => {\n setFieldValue('schema.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items) {\n setFieldValue('schema.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items) {\n const newVal = { ...values.schema }\n delete newVal.items\n setFieldValue('schema', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) => {\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items?.items) {\n setFieldValue('schema.items.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items?.items) {\n const newVal = { ...values.schema.items }\n delete newVal?.items\n setFieldValue('schema.items', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.schema?.enum?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder={`Enter Enum value...`}\n value={item}\n onChange={(value) => {\n let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n </Tooltip>\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={6}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","newVal","Object","assign","_f","_e","_g","_h","_k","_m","_l","Tooltip","_p","_o","_q","_r","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","_0","_z","_2","_1","endIcon","PlusIcon","height","_Fragment","Fragment","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../src/components/table/table.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport './style.scss'\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport { capitalize } from '../../helpers/methodAccordion.helper'\nimport regex from '../../constants/regex'\n\nconst ParamterTable = ({\n id,\n headCells,\n data,\n isFormOpen,\n setIsFormOpen,\n saveNewRow,\n readOnly,\n isRequest = true,\n}) => {\n const [text, setText] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [enumFields, setEnumFields] = useState<string[]>([])\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n in: isRequest ? 'query' : 'header',\n schema: {\n type: 'string',\n enum: [],\n items: {\n type: 'string',\n },\n },\n required: true,\n description: '',\n },\n validationSchema: yup.object().shape({\n name: yup.string().default('').trim().required('Parameter name is required'),\n in: yup.string().required('Paramter type is required'),\n schema: yup.object().shape({\n type: yup.string().required('Parameter schema type is required'),\n enum: yup.array(yup.string()).optional(),\n items: yup.object().shape({\n type: yup.string().optional(),\n }),\n }),\n required: yup.boolean().when('in', {\n is: 'path',\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\n otherwise: (schema) => schema.optional(),\n }),\n description: yup.string().default('').trim().optional(),\n }),\n onSubmit: (values) => {\n if (values && !values?.schema?.items?.type) {\n delete values?.schema?.items?.type\n }\n saveNewRow(values)\n setIsFormOpen(undefined)\n setText('')\n resetForm()\n },\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {data?.length === 0 && readOnly && (\n <tr className=\"fallbackTableRow\">\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\n <div className=\"fallbackTextContainer\">\n <span className=\"fallbackText\"> No Data Available</span>\n </div>\n </td>\n </tr>\n )}\n\n {isFormOpen && !readOnly ? (\n <tr className={`row`}>\n <td key={'Parameter name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Parameter name\"\n size=\"large\"\n type=\"text\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value as string))\n setFieldValue('name', value)\n }}\n value={values.name}\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'parameter in'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <SelectGroupV2\n disabled={readOnly}\n value={{\n label: capitalize(values.in),\n value: values.in,\n }}\n onChange={(item) => {\n setFieldValue('in', item?.value?.toLowerCase())\n if (item?.value == 'in') {\n setFieldValue('required', true)\n }\n }} // Updates state on selection\n options={[\n {\n list: isRequest\n ? [\n { label: 'Query', value: 'query' },\n { label: 'Header', value: 'header' },\n { label: 'Path', value: 'path' },\n ]\n : [{ label: 'Header', value: 'header' }],\n },\n ]}\n errorMsg={!!errors.in && errors.in}\n isMultiple={false}\n withSearch={false}\n clearable={false}\n />{' '}\n </div>\n </td>\n\n <td key={'parameter schema type'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.type),\n value: values?.schema?.type,\n }}\n errorMsg={!!errors.schema && errors.schema}\n onChange={(item) => {\n setFieldValue('schema.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items) {\n setFieldValue('schema.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items) {\n const newVal = { ...values.schema }\n delete newVal.items\n setFieldValue('schema', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />{' '}\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\n <SelectGroupV2\n disabled={readOnly}\n clearable={false}\n value={{\n label: capitalize(values?.schema?.items?.type),\n value: values.schema?.items?.type,\n }}\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\n onChange={(item) => {\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\n if (item.value?.toLowerCase() == 'array' && !values.schema.items?.items) {\n setFieldValue('schema.items.items', {})\n }\n if (item.value?.toLowerCase() != 'array' && values.schema.items?.items) {\n const newVal = { ...values.schema.items }\n delete newVal?.items\n setFieldValue('schema.items', newVal)\n }\n }} // Updates state on selection\n options={[\n {\n list: [\n { label: 'String', value: 'string' },\n { label: 'Integer', value: 'integer' },\n { label: 'Boolean', value: 'boolean' },\n { label: 'Object', value: 'object' },\n { label: 'Array', value: 'array' },\n { label: 'Number', value: 'number' },\n ],\n },\n ]}\n isMultiple={false}\n withSearch={false}\n />\n ) : (\n ''\n )}\n </div>\n </td>\n\n <td key={'parameter enum'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Tooltip\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!values?.schema?.enum &&\n !!values?.schema?.enum.length &&\n values?.schema?.enum?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`schema.enum[${index}]`, value)\n }}\n />\n ))}\n {enumFields &&\n enumFields?.map((item, index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder={`Enter Enum value...`}\n value={item}\n onChange={(value) => {\n let _values = [...enumFields]\n _values[index] = value\n setEnumFields(_values)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setEnumFields((prev) => [...prev, ''])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue('schema.enum', [\n ...values?.schema?.enum,\n ...enumFields,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (values?.schema?.enum.length > 0 &&\n values?.schema?.enum?.filter((item) => !item).length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n disabled={\n values?.schema?.type?.toLowerCase() == 'array' ||\n values?.schema?.type?.toLowerCase() == 'object'\n }\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n </Tooltip>\n </div>\n </td>\n\n <td key={'parameter required'}>\n <div data-id=\"is required\" className=\"tableData\">\n {readOnly ? (\n <>{values.required ? 'True' : 'False'}</>\n ) : (\n <Switch\n checked={\n values && values.in && values.in.toLowerCase() == 'path'\n ? true\n : values.required\n }\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\n onClick={() => {\n if (readOnly) {\n return\n }\n setFieldValue('required', !values.required)\n }}\n />\n )}\n </div>\n </td>\n\n <td key={'parameter schema desc'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n disabled={readOnly}\n placeholder=\"Describe parameter...\"\n maxLength={120}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={text?.trim() === ''}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n\n <div className={styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(undefined)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Tooltip\n disabled={!!values.name.trim()}\n content={`Parameter name can't be empty `}\n >\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!values.name.trim()}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n </Tooltip>\n )}\n </div>{' '}\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={6}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\n }}\n >\n + Add Parameter\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default ParamterTable\n"],"names":["ParamterTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","isRequest","text","setText","useState","tooltipRef","setTooltipRef","tooltipEnumRef","setTooltipEnumRef","enumFields","setEnumFields","values","errors","setFieldValue","isValid","submitForm","resetForm","useFormik","validateOnMount","initialValues","name","in","schema","type","enum","items","required","description","validationSchema","yup.object","shape","yup.string","default","trim","yup.array","optional","yup.boolean","when","is","then","oneOf","otherwise","onSubmit","_b","_a","_d","_c","undefined","React","createElement","className","map","headCell","key","classes","style","width","minWidth","label","toUpperCase","replace","row","rowIndex","cellContent","length","colSpan","Input","placeholder","size","onChange","value","regex","ASCII","test","disabled","SelectGroupV2","capitalize","item","toLowerCase","options","list","errorMsg","isMultiple","withSearch","clearable","newVal","Object","assign","_f","_e","_g","_h","_k","_m","_l","Tooltip","_p","_o","_r","_q","arrowWithBorder","placement","trigger","delay","onCreate","instance","content","styles","editDescTooltipContent","editDescTooltipContent_header","_s","_t","_v","_u","index","_values","onClick","prev","SVGLoader","src","PlusSquare","Button","editDescTooltipContent_btn","variant","hide","filter","_w","_y","_x","editDescBtn","color","_0","_z","_1","endIcon","PlusIcon","height","Fragment","Switch","checked","paramDescContainer","TextArea","maxLength","EditIcon","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as s}from"../../../_virtual/index.js";import a from"../Tooltip/Tooltip.js";import n from"../SVGLoader/SVGLoader.js";import l from"../../assets/icons/DeleteIcon.svg.js";import r from"../../assets/icons/EditIcon.svg.js";import o from"../../assets/icons/AddRow.svg.js";import d from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as c}from"../../../node_modules/formik/dist/formik.esm.js";import{object as m,string as h}from"../../../node_modules/yup/index.esm.js";import p from"../../constants/regex.js";const x=({id:x,headCells:u,data:v,isFormOpen:j,setIsFormOpen:D,saveNewRow:g,readOnly:N})=>{var b,C,T,w,f,I,k,B,_;const[y,A]=i(""),[L,E]=i(""),[R,S]=i(""),[O,W]=i(null),[F,V]=i(null),{values:q,errors:P,setFieldValue:U,isValid:z,submitForm:H,resetForm:M,dirty:X}=c({validateOnMount:!0,initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:m().shape({name:h().trim().required("Tag name is required"),description:h().optional(),externalDocs:m().shape({url:h().trim().matches(p.urlRegex,"Invalid URL").when("description",(e,i)=>(null==e?void 0:e.at(0))?i.required("URL is required when description is provided"):i.optional()),description:h().trim().optional()}).optional()}),onSubmit:e=>{g(e),A(""),M(),D(!1)},validateOnChange:!0});return e.jsx("div",{className:"tableSectionContainer",children:e.jsx("div",{className:"tableContainer",children:e.jsxs("table",{id:x||"",className:"table borderRadiusTop borderRadiusBottom",children:[e.jsx("thead",{className:"tableHead",children:e.jsx("tr",{children:null==u?void 0:u.map(i=>e.jsx("th",{className:`tableHeadCell ${i.classes||""}`,style:{width:i.width,minWidth:i.minWidth},children:e.jsx("div",{className:"headContainer","data-id":`${"string"==typeof i.label?i.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`,children:i.label})},i.id))})}),e.jsxs("tbody",{className:"tableBody","data-id":"TABLE_BODY",children:[null==v?void 0:v.map((i,t)=>e.jsx("tr",{"data-i":t,className:"row",children:null==u?void 0:u.map(t=>{const s="_"!==i[t.id]&&e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth},children:i[t.id]});return e.jsx("td",{style:{width:t.width,minWidth:t.minWidth},children:s},t.id)})},t)),j?e.jsxs("tr",{"data-i":"",className:"row",children:[e.jsx("td",{children:e.jsx("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:e.jsx(s.Input,{placeholder:"Tag name",size:"large",type:"text",maxLength:25,onChange:e=>{!p.basic.test(e)&&U("name",e)},value:q.name,disabled:N})})},"tag name"),e.jsx("td",{children:e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[e.jsx("div",{className:d.paramDescContainer,children:e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W(e),onShow:()=>{A(q.description||"")},onHidden:()=>{A(q.description||"")},content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"Description"}),e.jsx(s.TextArea,{value:y||q.description,disabled:N,maxLength:25,placeholder:"Describe Tag...",onChange:e=>{(""===e||p.ASCII.test(e))&&A(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{U("description",null==y?void 0:y.trim()),null==O||O.hide()},disabled:!(null===(b=y||q.description)||void 0===b?void 0:b.trim()),children:"Apply"})]}),children:e.jsxs(s.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:e.jsx(n,{src:r,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," Description"]})})})," "]})},"tagDescRequired"),e.jsx("td",{children:e.jsx("div",{className:"tableData",children:e.jsxs("div",{className:t.paramDescContainer,children:[e.jsx(a,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>V(e),onShow:()=>{E(q.externalDocs.description||""),S(q.externalDocs.url||"")},onHidden:()=>{E(q.externalDocs.description||""),S(q.externalDocs.url||"")},content:e.jsxs("div",{className:t.editDescTooltipContent,children:[e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(s.TextArea,{placeholder:"Describe External Doc...",value:L||q.externalDocs.description,disabled:N,maxLength:25,onChange:e=>{(""===e||p.ASCII.test(e))&&E(e)}}),e.jsx("p",{className:t.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(s.TextArea,{placeholder:"External Docs Link...",restrictedCharsRegex:p.urlRegex,value:R||q.externalDocs.url,disabled:N,maxLength:200,onChange:e=>{(""===e||p.ASCII.test(e))&&S(e)}}),!N&&e.jsx(s.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{U("externalDocs",{description:L,url:R}),null==F||F.hide()},disabled:!(null===(C=R||q.externalDocs.url)||void 0===C?void 0:C.trim())||!p.urlRegex.test(R||q.externalDocs.url),children:"Apply"})]}),children:N?e.jsxs("a",{className:t.editDescBtn,variant:"link",color:"action",href:null===(T=q.externalDocs)||void 0===T?void 0:T.url,target:"_blank",children:[(null===(w=null==q?void 0:q.externalDocs)||void 0===w?void 0:w.description)?null===(I=null===(f=null==q?void 0:q.externalDocs)||void 0===f?void 0:f.description)||void 0===I?void 0:I.substring(0,12):"-",(null===(k=null==q?void 0:q.externalDocs)||void 0===k?void 0:k.description)&&(null===(_=null===(B=null==q?void 0:q.externalDocs)||void 0===B?void 0:B.description)||void 0===_?void 0:_.length)>12?"...":""]}):e.jsxs(s.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:r,width:"1.5rem",height:"1.5rem"}),children:[N?"View ":"Add "," External Docs Link"]})}),e.jsx("div",{className:t.paramDescContainer_separator}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:l,width:"1.125rem",height:"1.125rem"}),onClick:()=>{M(),A(""),D(!1)}}),!N&&e.jsx(s.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!z||!X,endIcon:e.jsx(n,{src:o,width:"0.125rem",height:"0.125rem"}),onClick:()=>{A(""),H()}})]})})},"tagExternal")]},""):e.jsx(e.Fragment,{children:!N&&e.jsx("tr",{"data-i":"addNew",className:"row",children:e.jsx("td",{colSpan:5,children:e.jsx(s.Button,{variant:"link",color:"primary",onClick:()=>{D(e=>!e)},children:"+ Add Tag"})})},"addNew")})]})]})})})};export{x as default};
1
+ import{useState as e}from"react";import t from"../InfoForm/InfoForm.module.scss.js";import{d as a}from"../../../_virtual/index.js";import n from"../Tooltip/Tooltip.js";import l from"../SVGLoader/SVGLoader.js";import i from"../../assets/icons/DeleteIcon.svg.js";import r from"../../assets/icons/EditIcon.svg.js";import o from"../../assets/icons/AddRow.svg.js";import c from"../MethodAccordion/MethodAccordion.module.scss.js";import{useFormik as s}from"../../../node_modules/formik/dist/formik.esm.js";import{object as d,string as m}from"../../../node_modules/yup/index.esm.js";import p from"../../constants/regex.js";const u=({id:u,headCells:v,data:E,isFormOpen:R,setIsFormOpen:h,saveNewRow:D,readOnly:g})=>{var N,x,b,C,k,T,w,y,I;const[f,B]=e(""),[_,A]=e(""),[L,S]=e(""),[j,O]=e(null),[W,F]=e(null),{values:V,errors:q,setFieldValue:P,isValid:U,submitForm:z,resetForm:H,dirty:M}=s({validateOnMount:!0,initialValues:{name:"",description:"",externalDocs:{url:"",description:""}},validationSchema:d().shape({name:m().trim().required("Tag name is required"),description:m().optional(),externalDocs:d().shape({url:m().trim().matches(p.urlRegex,"Invalid URL").when("description",(e,t)=>(null==e?void 0:e.at(0))?t.required("URL is required when description is provided"):t.optional()),description:m().trim().optional()}).optional()}),onSubmit:e=>{D(e),B(""),H(),h(!1)},validateOnChange:!0});return React.createElement("div",{className:"tableSectionContainer"},React.createElement("div",{className:"tableContainer"},React.createElement("table",{id:u||"",className:"table borderRadiusTop borderRadiusBottom"},React.createElement("thead",{className:"tableHead"},React.createElement("tr",null,null==v?void 0:v.map(e=>React.createElement("th",{key:e.id,className:`tableHeadCell ${e.classes||""}`,style:{width:e.width,minWidth:e.minWidth}},React.createElement("div",{className:"headContainer","data-id":`${"string"==typeof e.label?e.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g,"_"):"UNKNOWN_LABEL"}_COLUMN`},e.label))))),React.createElement("tbody",{className:"tableBody","data-id":"TABLE_BODY"},null==E?void 0:E.map((e,t)=>React.createElement("tr",{key:t,"data-i":t,className:"row"},null==v?void 0:v.map(t=>{const a="_"!==e[t.id]&&React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",style:{width:t.width,minWidth:t.minWidth}},e[t.id]);return React.createElement("td",{key:t.id,style:{width:t.width,minWidth:t.minWidth}},a)}))),R?React.createElement("tr",{key:"","data-i":"",className:"row"},React.createElement("td",{key:"tag name"},React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},React.createElement(a.Input,{placeholder:"Tag name",size:"large",type:"text",maxLength:25,onChange:e=>{!p.basic.test(e)&&P("name",e)},value:V.name,disabled:g}))),React.createElement("td",{key:"tagDescRequired"},React.createElement("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData"},React.createElement("div",{className:c.paramDescContainer},React.createElement(n,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>O(e),onShow:()=>{B(V.description||"")},onHidden:()=>{B(V.description||"")},content:React.createElement("div",{className:t.editDescTooltipContent},React.createElement("p",{className:t.editDescTooltipContent_header},"Description"),React.createElement(a.TextArea,{value:f||V.description,disabled:g,maxLength:25,placeholder:"Describe Tag...",onChange:e=>{(""===e||p.ASCII.test(e))&&B(e)}}),!g&&React.createElement(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{P("description",null==f?void 0:f.trim()),null==j||j.hide()},disabled:!(null===(N=f||V.description)||void 0===N?void 0:N.trim())},"Apply"))},React.createElement(a.Button,{className:t.editDescBtn,style:{paddingLeft:0},variant:"link",color:"action",endIcon:React.createElement(l,{src:r,width:"1.5rem",height:"1.5rem"})},g?"View ":"Add "," Description")))," ")),React.createElement("td",{key:"tagExternal"},React.createElement("div",{className:"tableData"},React.createElement("div",{className:t.paramDescContainer},React.createElement(n,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>F(e),onShow:()=>{A(V.externalDocs.description||""),S(V.externalDocs.url||"")},onHidden:()=>{A(V.externalDocs.description||""),S(V.externalDocs.url||"")},content:React.createElement("div",{className:t.editDescTooltipContent},React.createElement("p",{className:t.editDescTooltipContent_header},"External Docs Description"),React.createElement(a.TextArea,{placeholder:"Describe External Doc...",value:_||V.externalDocs.description,disabled:g,maxLength:25,onChange:e=>{(""===e||p.ASCII.test(e))&&A(e)}}),React.createElement("p",{className:t.editDescTooltipContent_header},"External Docs Link"),React.createElement(a.TextArea,{placeholder:"External Docs Link...",restrictedCharsRegex:p.urlRegex,value:L||V.externalDocs.url,disabled:g,maxLength:200,onChange:e=>{(""===e||p.ASCII.test(e))&&S(e)}}),!g&&React.createElement(a.Button,{className:t.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{P("externalDocs",{description:_,url:L}),null==W||W.hide()},disabled:!(null===(x=L||V.externalDocs.url)||void 0===x?void 0:x.trim())||!p.urlRegex.test(L||V.externalDocs.url)},"Apply"))},g?React.createElement("a",{className:t.editDescBtn,variant:"link",color:"action",href:null===(b=V.externalDocs)||void 0===b?void 0:b.url,target:"_blank"},(null===(C=null==V?void 0:V.externalDocs)||void 0===C?void 0:C.description)?null===(T=null===(k=null==V?void 0:V.externalDocs)||void 0===k?void 0:k.description)||void 0===T?void 0:T.substring(0,12):"-",(null===(w=null==V?void 0:V.externalDocs)||void 0===w?void 0:w.description)&&(null===(I=null===(y=null==V?void 0:V.externalDocs)||void 0===y?void 0:y.description)||void 0===I?void 0:I.length)>12?"...":""):React.createElement(a.Button,{className:t.editDescBtn,variant:"link",color:"action",endIcon:React.createElement(l,{src:r,width:"1.5rem",height:"1.5rem"})},g?"View ":"Add "," External Docs Link")),React.createElement("div",{className:t.paramDescContainer_separator}),!g&&React.createElement(a.Button,{className:t.deleteParamBtn,variant:"link",color:"error",endIcon:React.createElement(l,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>{H(),B(""),h(!1)}}),!g&&React.createElement(a.Button,{className:t.deleteParamBtn,variant:"link",color:"success",disabled:!U||!M,endIcon:React.createElement(l,{src:o,width:"0.125rem",height:"0.125rem"}),onClick:()=>{B(""),z()}}))))):React.createElement(React.Fragment,null,!g&&React.createElement("tr",{key:"addNew","data-i":"addNew",className:"row"},React.createElement("td",{colSpan:5},React.createElement(a.Button,{variant:"link",color:"primary",onClick:()=>{h(e=>!e)}},"+ Add Tag"))))))))};export{u as default};
2
2
  //# sourceMappingURL=tags-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport './style.scss'\nimport _styles from '../InfoForm/InfoForm.module.scss'\nimport { Button, Input, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport regex from '../../constants/regex'\n\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\n const [text, setText] = useState('')\n const [externalDesc, setExternalDesc] = useState('')\n const [externalUrl, setExternalUrl] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\n const { values, errors, setFieldValue, isValid, submitForm, resetForm,dirty } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n description: '',\n externalDocs: {\n url: '',\n description: '',\n },\n },\n validationSchema: yup.object().shape({\n name: yup.string().trim().required('Tag name is required'),\n description: yup.string().optional(),\n externalDocs: yup\n .object()\n .shape({\n url: yup\n .string()\n .trim()\n .matches(regex.urlRegex, 'Invalid URL')\n .when('description', (description, schema) => {\n return description?.at(0)\n ? schema.required('URL is required when description is provided')\n : schema.optional()\n }),\n description: yup.string().trim().optional(),\n })\n .optional(),\n }),\n onSubmit: (values) => {\n saveNewRow(values)\n setText('')\n resetForm()\n setIsFormOpen(false)\n },\n validateOnChange: true,\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {isFormOpen ? (\n <tr key={''} data-i={''} className={`row`}>\n <td key={'tag name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Tag name\"\n size=\"large\"\n type=\"text\"\n maxLength={25}\n onChange={(value) => {\n !regex.basic.test(value) && setFieldValue('name', value)\n }} // Pass the value directly\n value={values.name} // Bind value to the state\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'tagDescRequired'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n onShow={() => {\n setText(values.description || '') // Reset to current value when shown\n }}\n onHidden={() => {\n setText(values.description || '') // Reset on close\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n disabled={readOnly}\n maxLength={25}\n placeholder=\"Describe Tag...\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={!(text || values.description)?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={_styles.editDescBtn}\n style={{ paddingLeft: 0 }}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n </div>{' '}\n </div>\n </td>\n <td key={'tagExternal'}>\n <div className=\"tableData\">\n <div className={_styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setExternalTooltipRefs(instance)}\n onShow={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n onHidden={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Description\n </p>\n <TextArea\n placeholder=\"Describe External Doc...\"\n value={externalDesc || values.externalDocs.description}\n disabled={readOnly}\n maxLength={25}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\n }}\n />\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Link\n </p>\n <TextArea\n placeholder=\"External Docs Link...\"\n restrictedCharsRegex={regex.urlRegex}\n value={externalUrl || values.externalDocs.url}\n disabled={readOnly}\n maxLength={200}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`externalDocs`, {\n description: externalDesc,\n url: externalUrl,\n })\n\n externalTooltipRefs?.hide()\n }}\n disabled={\n !(externalUrl || values.externalDocs.url)?.trim() ||\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ? (\n <a\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n href={values.externalDocs?.url}\n target=\"_blank\"\n >\n {values?.externalDocs?.description\n ? values?.externalDocs?.description?.substring(0, 12)\n : '-'}\n {values?.externalDocs?.description &&\n values?.externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n ) : (\n <Button\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} External Docs Link\n </Button>\n )}\n </Tooltip>\n <div className={_styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(false)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!isValid || !dirty}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n )}\n </div>\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={5}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => !prev)\n }}\n >\n + Add Tag\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default TagsTable\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","dirty","useFormik","validateOnMount","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","trim","required","optional","yup\n .object","yup\n .string","matches","regex","urlRegex","when","schema","at","onSubmit","validateOnChange","_jsx","className","_jsxs","jsxs","children","map","headCell","classes","style","width","minWidth","jsx","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","maxLength","onChange","value","basic","test","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","onShow","onHidden","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","ASCII","Button","editDescTooltipContent_btn","variant","onClick","hide","_a","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","restrictedCharsRegex","_b","href","_c","target","_d","_f","_e","substring","_g","_j","_h","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","_Fragment","Fragment","colSpan","prev"],"mappings":"6pBAYA,MAAMA,EAAY,EAAGC,KAAIC,YAAWC,OAAMC,aAAYC,gBAAeC,aAAYC,qCAC/E,MAAOC,EAAMC,GAAWC,EAAS,KAC1BC,EAAcC,GAAmBF,EAAS,KAC1CG,EAAaC,GAAkBJ,EAAS,KACxCK,EAAYC,GAAiBN,EAAS,OACtCO,EAAqBC,GAA0BR,EAAS,OACzDS,OAAEA,EAAMC,OAAEA,EAAMC,cAAEA,EAAaC,QAAEA,EAAOC,WAAEA,EAAUC,UAAEA,EAASC,MAACA,GAAUC,EAAU,CACxFC,iBAAiB,EACjBC,cAAe,CACbC,KAAM,GACNC,YAAa,GACbC,aAAc,CACZC,IAAK,GACLF,YAAa,KAGjBG,iBAAkBC,IAAaC,MAAM,CACnCN,KAAMO,IAAaC,OAAOC,SAAS,wBACnCR,YAAaM,IAAaG,WAC1BR,aAAcS,IAEXL,MAAM,CACLH,IAAKS,IAEFJ,OACAK,QAAQC,EAAMC,SAAU,eACxBC,KAAK,cAAe,CAACf,EAAagB,KAC1BhB,aAAW,EAAXA,EAAaiB,GAAG,IACnBD,EAAOR,SAAS,gDAChBQ,EAAOP,YAEfT,YAAaM,IAAaC,OAAOE,aAElCA,aAELS,SAAW7B,IACTb,EAAWa,GACXV,EAAQ,IACRe,IACAnB,GAAc,IAEhB4C,kBAAkB,IAGpB,OACEC,EAAAA,IAAK,MAAA,CAAAC,UAAU,iCACbD,MAAK,MAAA,CAAAC,UAAU,0BACbC,EAAOC,KAAA,QAAA,CAAApD,GAAIA,GAAM,GAAIkD,UAAW,qDAC9BD,EAAAA,IAAO,QAAA,CAAAC,UAAU,qBACfD,EAAAA,IACG,KAAA,CAAAI,SAAApD,eAAAA,EAAWqD,IAAKC,GACfN,EAAAA,UAEEC,UAAW,iBAAiBK,EAASC,SAAW,KAChDC,MAAO,CAAEC,MAAOH,EAASG,MAAOC,SAAUJ,EAASI,mBAEnDV,EACEW,IAAA,MAAA,CAAAV,UAAU,0BACD,GACmB,iBAAnBK,EAASM,MACZN,EAASM,MAAMC,cAAcC,QAAQ,iBAAkB,KACvD,yBAGLV,SAAAE,EAASM,SAZPN,EAASvD,SAkBtBmD,EAAAA,KAAA,QAAA,CAAOD,UAAU,YAAoB,UAAA,aAClCG,SAAA,CAAAnD,aAAI,EAAJA,EAAMoD,IAAI,CAACU,EAAKC,IAEbhB,EAA2BW,IAAA,KAAA,CAAA,SAAAK,EAAUf,UAAW,MAC7CG,SAAApD,aAAS,EAATA,EAAWqD,IAAKC,IACf,MAAMW,EAAmC,MAArBF,EAAIT,EAASvD,KAC/BiD,EAAAA,IAAA,MAAA,CAAA,UACU,mBACRC,UAAU,YACVO,MAAO,CACLC,MAAOH,EAASG,MAChBC,SAAUJ,EAASI,UAGpBN,SAAAW,EAAIT,EAASvD,MAIlB,OACEiD,EAEEW,IAAA,KAAA,CAAAH,MAAO,CACLC,MAAOH,EAASG,MAChBC,SAAUJ,EAASI,UACpBN,SAEAa,GANIX,EAASvD,OAjBbiE,IA8BZ9D,EACCgD,sBAAqB,GAAID,UAAW,gBAClCD,MACE,KAAA,CAAAI,SAAAJ,EAAAW,IAAA,MAAA,CAAA,UAAa,mBAAmBV,UAAU,YACxCG,SAAAJ,EAAAA,IAACkB,EAAAA,MACC,CAAAC,YAAY,WACZC,KAAK,QACLC,KAAK,OACLC,UAAW,GACXC,SAAWC,KACR/B,EAAMgC,MAAMC,KAAKF,IAAUrD,EAAc,OAAQqD,IAEpDA,MAAOvD,EAAOU,KACdgD,SAAUtE,OAXP,YAgBT2C,EACEW,IAAA,KAAA,CAAAP,SAAAF,OAAA,MAAA,CAAA,UAAa,mBAAmBD,UAAU,YACxCG,SAAA,CAAAJ,EAAAW,IAAA,MAAA,CAAKV,UAAW2B,EAAOC,mBACrBzB,SAAAJ,EAAAW,IAACmB,EACC,CAAAC,iBACA,EAAAC,UAAU,aACVX,KAAK,WACLY,QAAQ,QACRC,MAAO,CAAC,EAAG,GACXC,SAAWC,GAAatE,EAAcsE,GACtCC,OAAQ,KACN9E,EAAQU,EAAOW,aAAe,KAEhC0D,SAAU,KACR/E,EAAQU,EAAOW,aAAe,KAEhC2D,QACErC,EAAAA,KAAA,MAAA,CAAKD,UAAWuC,EAAQC,uBAAsBrC,SAAA,CAC5CJ,EAAAA,SAAGC,UAAWuC,EAAQE,uDACtB1C,EAAAA,IAAC2C,EAAAA,SAAQ,CACPnB,MAAOlE,GAAQW,EAAOW,YACtB+C,SAAUtE,EACViE,UAAW,GACXH,YAAY,kBACZI,SAAWC,KACK,KAAVA,GAAgB/B,EAAMmD,MAAMlB,KAAKF,KAAQjE,EAAQiE,OAGvDnE,GACA2C,EAAAA,IAAC6C,EAAAA,OAAM,CACL5C,UAAWuC,EAAQM,2BACnBC,QAAQ,WACR3B,KAAK,QACL4B,QAAS,KACP7E,EAAc,cAAeb,aAAA,EAAAA,EAAM6B,QACnCtB,SAAAA,EAAYoF,QAEdtB,WAAyC,QAA9BuB,EAAC5F,GAAQW,EAAOW,mBAAc,IAAAsE,OAAA,EAAAA,EAAA/D,QAGlCiB,SAAA,aAEPA,SAGRF,EAAAA,KAAC2C,EAAMA,OAAA,CACL5C,UAAWuC,EAAQW,YACnB3C,MAAO,CAAE4C,YAAa,GACtBL,QAAQ,OACRM,MAAM,SACNC,QAAStD,EAACW,IAAA4C,EAAU,CAAAC,IAAKC,EAAUhD,MAAM,SAASiD,OAAO,WAExDtD,SAAA,CAAA/C,EAAW,QAAU,OAAM,sBAG3B,QAvDF,mBA0DT2C,EACEW,IAAA,KAAA,CAAAP,SAAAJ,EAAAA,IAAA,MAAA,CAAKC,UAAU,YAAWG,SACxBF,EAAKC,KAAA,MAAA,CAAAF,UAAWuC,EAAQX,mBAAkBzB,SAAA,CACxCJ,MAAC8B,EACC,CAAAC,mBACAC,UAAU,aACVX,KAAK,WACLY,QAAQ,QACRC,MAAO,CAAC,EAAG,GACXC,SAAWC,GAAapE,EAAuBoE,GAC/CC,OAAQ,KACN3E,EAAgBO,EAAOY,aAAaD,aAAe,IACnDhB,EAAeK,EAAOY,aAAaC,KAAO,KAE5CwD,SAAU,KACR5E,EAAgBO,EAAOY,aAAaD,aAAe,IACnDhB,EAAeK,EAAOY,aAAaC,KAAO,KAE5CyD,QACErC,EAAAA,KAAA,MAAA,CAAKD,UAAWuC,EAAQC,uBACtBrC,SAAA,CAAAJ,EAAAW,IAAA,IAAA,CAAGV,UAAWuC,EAAQE,8BAA6BtC,SAAA,8BAGnDJ,EAACW,IAAAgC,EAAQA,SACP,CAAAxB,YAAY,2BACZK,MAAO/D,GAAgBQ,EAAOY,aAAaD,YAC3C+C,SAAUtE,EACViE,UAAW,GACXC,SAAWC,KACK,KAAVA,GAAgB/B,EAAMmD,MAAMlB,KAAKF,KAAQ9D,EAAgB8D,MAGjExB,EAAGW,IAAA,IAAA,CAAAV,UAAWuC,EAAQE,8BAElBtC,SAAA,uBACJJ,MAAC2C,EAAQA,SAAA,CACPxB,YAAY,wBACZwC,qBAAsBlE,EAAMC,SAC5B8B,MAAO7D,GAAeM,EAAOY,aAAaC,IAC1C6C,SAAUtE,EACViE,UAAW,IACXC,SAAWC,KACK,KAAVA,GAAgB/B,EAAMmD,MAAMlB,KAAKF,KAAQ5D,EAAe4D,OAG9DnE,GACA2C,EAAAA,IAAC6C,EAAAA,OAAM,CACL5C,UAAWuC,EAAQM,2BACnBC,QAAQ,WACR3B,KAAK,QACL4B,QAAS,KACP7E,EAAc,eAAgB,CAC5BS,YAAanB,EACbqB,IAAKnB,IAGPI,SAAAA,EAAqBkF,QAEvBtB,WAC6C,QAA1CiC,EAACjG,GAAeM,EAAOY,aAAaC,WAAM,IAAA8E,OAAA,EAAAA,EAAAzE,UAC1CM,EAAMC,SAASgC,KAAK/D,GAAeM,EAAOY,aAAaC,KAInDsB,SAAA,aAEPA,SAGP/C,EACC6C,EAAAA,KAAA,IAAA,CACED,UAAWuC,EAAQW,YACnBJ,QAAQ,OACRM,MAAM,SACNQ,KAA2B,QAArBC,EAAA7F,EAAOY,oBAAc,IAAAiF,OAAA,EAAAA,EAAAhF,IAC3BiF,OAAO,SAEN3D,SAAA,UAAA4D,EAAA/F,aAAA,EAAAA,EAAQY,mCAAcD,aACgB,QAAnCqF,EAAoB,QAApBC,EAAAjG,eAAAA,EAAQY,oBAAY,IAAAqF,OAAA,EAAAA,EAAEtF,mBAAa,IAAAqF,OAAA,EAAAA,EAAAE,UAAU,EAAG,IAChD,aACHC,EAAAnG,aAAA,EAAAA,EAAQY,mCAAcD,eACY,QAAnCyF,EAAsB,QAAtBC,EAAArG,aAAA,EAAAA,EAAQY,oBAAc,IAAAyF,OAAA,EAAAA,EAAA1F,mBAAa,IAAAyF,OAAA,EAAAA,EAAAE,QAAS,GACxC,MACA,MAGNrE,EAAAC,KAAC0C,EAAMA,OAAA,CACL5C,UAAWuC,EAAQW,YACnBJ,QAAQ,OACRM,MAAM,SACNC,QAAStD,EAAAA,IAACuD,EAAS,CAACC,IAAKC,EAAUhD,MAAM,SAASiD,OAAO,WAExDtD,SAAA,CAAA/C,EAAW,QAAU,OAAM,2BAIlC2C,EAAAA,WAAKC,UAAWuC,EAAQgC,gCACtBnH,GACA2C,EAAAA,IAAC6C,EAAAA,OAAM,CACL5C,UAAWuC,EAAQiC,eACnB1B,QAAQ,OACRM,MAAM,QACNC,QACEtD,EAAAA,IAACuD,EAAS,CAACC,IAAKkB,EAAYjE,MAAM,WAAWiD,OAAO,aAEtDV,QAAS,KACP1E,IACAf,EAAQ,IACRJ,GAAc,OAKlBE,GACA2C,EAAAW,IAACkC,EAAMA,OAAA,CACL5C,UAAWuC,EAAQiC,eACnB1B,QAAQ,OACRM,MAAM,UACN1B,UAAWvD,IAAYG,EACvB+E,QAAStD,EAAAA,IAACuD,EAAU,CAAAC,IAAKmB,EAAQlE,MAAM,WAAWiD,OAAO,aACzDV,QAAS,KACPzF,EAAQ,IACRc,aA1HH,iBA3EF,IA8MT2B,EAAAW,IAAAiE,EAAAC,SAAA,CAAAzE,UACI/C,GACA2C,EAAAW,IAAA,KAAA,CAAA,SAA2B,SAAUV,UAAW,eAC9CD,EAAAA,IAAI,KAAA,CAAA8E,QAAS,EAAC1E,SACZJ,MAAC6C,EAAMA,OAAA,CACLE,QAAQ,OACRM,MAAM,UACNL,QAAS,KACP7F,EAAe4H,IAAUA,IAIpB3E,SAAA,iBAVJ"}
1
+ {"version":3,"file":"tags-table.js","sources":["../../../../src/components/table/tags-table.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport './style.scss'\nimport _styles from '../InfoForm/InfoForm.module.scss'\nimport { Button, Input, TextArea } from 'digitinary-ui'\nimport Tooltip from '../Tooltip/Tooltip'\nimport SVGLoader from '../SVGLoader/SVGLoader'\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\nimport { useFormik } from 'formik'\nimport * as yup from 'yup'\nimport regex from '../../constants/regex'\n\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\n const [text, setText] = useState('')\n const [externalDesc, setExternalDesc] = useState('')\n const [externalUrl, setExternalUrl] = useState('')\n const [tooltipRef, setTooltipRef] = useState(null)\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\n const { values, errors, setFieldValue, isValid, submitForm, resetForm,dirty } = useFormik({\n validateOnMount: true,\n initialValues: {\n name: '',\n description: '',\n externalDocs: {\n url: '',\n description: '',\n },\n },\n validationSchema: yup.object().shape({\n name: yup.string().trim().required('Tag name is required'),\n description: yup.string().optional(),\n externalDocs: yup\n .object()\n .shape({\n url: yup\n .string()\n .trim()\n .matches(regex.urlRegex, 'Invalid URL')\n .when('description', (description, schema) => {\n return description?.at(0)\n ? schema.required('URL is required when description is provided')\n : schema.optional()\n }),\n description: yup.string().trim().optional(),\n })\n .optional(),\n }),\n onSubmit: (values) => {\n saveNewRow(values)\n setText('')\n resetForm()\n setIsFormOpen(false)\n },\n validateOnChange: true,\n })\n\n return (\n <div className=\"tableSectionContainer\">\n <div className=\"tableContainer\">\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\n <thead className=\"tableHead\">\n <tr>\n {headCells?.map((headCell) => (\n <th\n key={headCell.id}\n className={`tableHeadCell ${headCell.classes || ''}`}\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\n >\n <div\n className=\"headContainer\"\n data-id={`${\n typeof headCell.label === 'string'\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\n : 'UNKNOWN_LABEL'\n }_COLUMN`}\n >\n {headCell.label}\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\n {data?.map((row, rowIndex) => {\n return (\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\n {headCells?.map((headCell) => {\n const cellContent = row[headCell.id] !== '_' && (\n <div\n data-id=\"TEXT_DESCRIPTION\"\n className=\"tableData\"\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {row[headCell.id]}\n </div>\n )\n\n return (\n <td\n key={headCell.id}\n style={{\n width: headCell.width,\n minWidth: headCell.minWidth,\n }}\n >\n {cellContent}\n </td>\n )\n })}\n </tr>\n )\n })}\n {isFormOpen ? (\n <tr key={''} data-i={''} className={`row`}>\n <td key={'tag name'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <Input\n placeholder=\"Tag name\"\n size=\"large\"\n type=\"text\"\n maxLength={25}\n onChange={(value) => {\n !regex.basic.test(value) && setFieldValue('name', value)\n }} // Pass the value directly\n value={values.name} // Bind value to the state\n disabled={readOnly}\n />\n </div>\n </td>\n\n <td key={'tagDescRequired'}>\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n <div className={styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipRef(instance)}\n onShow={() => {\n setText(values.description || '') // Reset to current value when shown\n }}\n onHidden={() => {\n setText(values.description || '') // Reset on close\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n value={text || values.description}\n disabled={readOnly}\n maxLength={25}\n placeholder=\"Describe Tag...\"\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setText(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue('description', text?.trim())\n tooltipRef?.hide()\n }}\n disabled={!(text || values.description)?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n <Button\n className={_styles.editDescBtn}\n style={{ paddingLeft: 0 }}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n </Tooltip>\n </div>{' '}\n </div>\n </td>\n <td key={'tagExternal'}>\n <div className=\"tableData\">\n <div className={_styles.paramDescContainer}>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setExternalTooltipRefs(instance)}\n onShow={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n onHidden={() => {\n setExternalDesc(values.externalDocs.description || '')\n setExternalUrl(values.externalDocs.url || '')\n }}\n content={\n <div className={_styles.editDescTooltipContent}>\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Description\n </p>\n <TextArea\n placeholder=\"Describe External Doc...\"\n value={externalDesc || values.externalDocs.description}\n disabled={readOnly}\n maxLength={25}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\n }}\n />\n <p className={_styles.editDescTooltipContent_header}>\n External Docs Link\n </p>\n <TextArea\n placeholder=\"External Docs Link...\"\n restrictedCharsRegex={regex.urlRegex}\n value={externalUrl || values.externalDocs.url}\n disabled={readOnly}\n maxLength={200}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(value)\n }}\n />\n {!readOnly && (\n <Button\n className={_styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`externalDocs`, {\n description: externalDesc,\n url: externalUrl,\n })\n\n externalTooltipRefs?.hide()\n }}\n disabled={\n !(externalUrl || values.externalDocs.url)?.trim() ||\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ? (\n <a\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n href={values.externalDocs?.url}\n target=\"_blank\"\n >\n {values?.externalDocs?.description\n ? values?.externalDocs?.description?.substring(0, 12)\n : '-'}\n {values?.externalDocs?.description &&\n values?.externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n ) : (\n <Button\n className={_styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} External Docs Link\n </Button>\n )}\n </Tooltip>\n <div className={_styles.paramDescContainer_separator}></div>\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\n }\n onClick={() => {\n resetForm()\n setText('')\n setIsFormOpen(false)\n }} // Correctly delete the new row\n />\n )}\n\n {!readOnly && (\n <Button\n className={_styles.deleteParamBtn}\n variant=\"link\"\n color=\"success\"\n disabled={!isValid || !dirty}\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\n onClick={() => {\n setText('')\n submitForm()\n }} // Save the new row when clicked\n />\n )}\n </div>\n </div>\n </td>\n </tr>\n ) : (\n <>\n {!readOnly && (\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\n <td colSpan={5}>\n <Button\n variant=\"link\"\n color=\"primary\"\n onClick={() => {\n setIsFormOpen((prev) => !prev)\n }}\n >\n + Add Tag\n </Button>\n </td>\n </tr>\n )}\n </>\n )}\n </tbody>\n </table>\n </div>\n </div>\n )\n}\n\nexport default TagsTable\n"],"names":["TagsTable","id","headCells","data","isFormOpen","setIsFormOpen","saveNewRow","readOnly","text","setText","useState","externalDesc","setExternalDesc","externalUrl","setExternalUrl","tooltipRef","setTooltipRef","externalTooltipRefs","setExternalTooltipRefs","values","errors","setFieldValue","isValid","submitForm","resetForm","dirty","useFormik","validateOnMount","initialValues","name","description","externalDocs","url","validationSchema","yup.object","shape","yup.string","trim","required","optional","yup\n .object","yup\n .string","matches","regex","urlRegex","when","schema","at","onSubmit","validateOnChange","React","createElement","className","map","headCell","key","classes","style","width","minWidth","label","toUpperCase","replace","row","rowIndex","cellContent","Input","placeholder","size","type","maxLength","onChange","value","basic","test","disabled","styles","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","onShow","onHidden","content","_styles","editDescTooltipContent","editDescTooltipContent_header","TextArea","ASCII","Button","editDescTooltipContent_btn","variant","onClick","hide","_a","editDescBtn","paddingLeft","color","endIcon","SVGLoader","src","EditIcon","height","restrictedCharsRegex","_b","href","_c","target","_d","_f","_e","substring","_g","_j","_h","length","paramDescContainer_separator","deleteParamBtn","DeleteIcon","AddRow","Fragment","colSpan","prev"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../_virtual/jsx-runtime.js";import{createContext as t,useState as i,useCallback as n,useMemo as r,useContext as o}from"react";var s;!function(e){e.OVERVIEW="overview",e.RESOURCE="resource",e.API_SECTION="apiSection",e.TAG_SECTION="tagSection",e.ENDPOINTS_SECTION="endpointsSection"}(s||(s={}));const c=t(null),d=()=>{const e=o(c);if(!e)throw new Error("useSectionToggle must be used within SectionToggleProvider");return e},a=({children:t})=>{const[o,s]=i({}),d=({apiId:e,type:t,index:i,id:n})=>{let r=`api_${e}_${t}`;return void 0!==i&&(r+=`_${i}`),void 0!==n&&(r+=`_${n}`),r},a=n((e,t,i={})=>{const{resetOthers:n=!1,filterKeys:r=[]}=i,c=t.map(({type:t,index:i,id:n})=>d({apiId:e,type:t,index:i,id:n})),a=Object.fromEntries(t.map(({type:t,index:i,setTo:n,id:r})=>{const s=d({apiId:e,type:t,index:i,id:r}),c=o[s];return[s,void 0!==n?n:!c]}));if(n&&r.length>0){const t=Object.fromEntries(Object.entries(o).filter(([t])=>t.includes(e)&&!r.some(e=>t.includes(e))||c.includes(t))),i=Object.assign(Object.assign({},t),a);s(i)}else s(e=>Object.assign(Object.assign({},e),a))},[o]),l=r(()=>({expandedSections:o,toggleSection:a,generateSectionKey:d}),[o,a]);return e.jsx(c.Provider,{value:l,children:t})};export{s as SectionEnum,a as SectionToggleProvider,d as useSectionToggle};
1
+ import e,{createContext as t,useState as i,useCallback as n,useMemo as r,useContext as o}from"react";var s;!function(e){e.OVERVIEW="overview",e.RESOURCE="resource",e.API_SECTION="apiSection",e.TAG_SECTION="tagSection",e.ENDPOINTS_SECTION="endpointsSection"}(s||(s={}));const c=t(null),d=()=>{const e=o(c);if(!e)throw new Error("useSectionToggle must be used within SectionToggleProvider");return e},a=({children:t})=>{const[o,s]=i({}),d=({apiId:e,type:t,index:i,id:n})=>{let r=`api_${e}_${t}`;return void 0!==i&&(r+=`_${i}`),void 0!==n&&(r+=`_${n}`),r},a=n((e,t,i={})=>{const{resetOthers:n=!1,filterKeys:r=[]}=i,c=t.map(({type:t,index:i,id:n})=>d({apiId:e,type:t,index:i,id:n})),a=Object.fromEntries(t.map(({type:t,index:i,setTo:n,id:r})=>{const s=d({apiId:e,type:t,index:i,id:r}),c=o[s];return[s,void 0!==n?n:!c]}));if(n&&r.length>0){const t=Object.fromEntries(Object.entries(o).filter(([t])=>t.includes(e)&&!r.some(e=>t.includes(e))||c.includes(t))),i=Object.assign(Object.assign({},t),a);s(i)}else s(e=>Object.assign(Object.assign({},e),a))},[o]),l=r(()=>({expandedSections:o,toggleSection:a,generateSectionKey:d}),[o,a]);return e.createElement(c.Provider,{value:l},t)};export{s as SectionEnum,a as SectionToggleProvider,d as useSectionToggle};
2
2
  //# sourceMappingURL=SectionToggleContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionToggleContext.js","sources":["../../../src/context/SectionToggleContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode, useMemo, useCallback } from 'react'\n\nexport enum SectionEnum {\n OVERVIEW = 'overview',\n RESOURCE = 'resource',\n API_SECTION = 'apiSection',\n TAG_SECTION = 'tagSection',\n ENDPOINTS_SECTION = 'endpointsSection',\n}\n\ntype SectionKey =\n | `api_${string}_${SectionEnum}`\n | `api_${string}_${SectionEnum}_${string | number}`\n | `api_${string}_${SectionEnum}_${string | number}_${string | number}`\ntype ExpandedSections = Record<SectionKey, boolean>\n\ninterface SectionToggleContextType {\n expandedSections: ExpandedSections\n toggleSection: (\n apiId: string,\n sections: ToggleSectionDescriptor[],\n options?: ToggleOptions\n ) => void\n generateSectionKey: ({ apiId, type, index, id }: GenerateSectionKeyParams) => SectionKey\n}\n\ninterface SectionToggleProviderProps {\n children: ReactNode\n}\n\nexport interface ToggleSectionDescriptor {\n type: SectionEnum\n index?: string | number\n setTo?: boolean\n id?: string\n}\n\nexport interface ToggleOptions {\n resetOthers?: boolean\n filterKeys?: SectionEnum[]\n}\n\ninterface GenerateSectionKeyParams {\n apiId: string\n type: SectionEnum\n index?: string | number\n id?: string | number\n}\n\nconst SectionToggleContext = createContext<SectionToggleContextType | null>(null)\n\nexport const useSectionToggle = () => {\n const context = useContext(SectionToggleContext)\n if (!context) {\n throw new Error('useSectionToggle must be used within SectionToggleProvider')\n }\n return context\n}\n\nexport const SectionToggleProvider = ({ children }: SectionToggleProviderProps) => {\n const [expandedSections, setExpandedSections] = useState<ExpandedSections>({})\n\n const generateSectionKey = ({ apiId, type, index, id }: GenerateSectionKeyParams): SectionKey => {\n let key = `api_${apiId}_${type}`\n\n if (index !== undefined) key += `_${index}`\n if (id !== undefined) key += `_${id}`\n\n return key as SectionKey\n }\n\n const toggleSection = useCallback(\n (apiId: string, sections: ToggleSectionDescriptor[], options: ToggleOptions = {}) => {\n const { resetOthers = false, filterKeys = [] } = options\n\n const sectionIds = sections.map(({ type, index, id }) =>\n generateSectionKey({ apiId, type, index, id })\n )\n\n const sectionToggles = Object.fromEntries(\n sections.map(({ type, index, setTo, id }) => {\n const sectionId = generateSectionKey({ apiId, type, index, id })\n const currentValue = expandedSections[sectionId]\n\n return [sectionId, setTo !== undefined ? setTo : !currentValue]\n })\n )\n\n if (resetOthers && filterKeys.length > 0) {\n const filtered = Object.fromEntries(\n Object.entries(expandedSections).filter(([key]) => {\n const shouldKeep = key.includes(apiId) && !filterKeys.some((k) => key.includes(k))\n return shouldKeep || sectionIds.includes(key as SectionKey)\n })\n )\n const newState = { ...filtered, ...sectionToggles }\n setExpandedSections(newState)\n } else {\n setExpandedSections((prev) => {\n const next = { ...prev, ...sectionToggles }\n\n return next\n })\n }\n },\n [expandedSections]\n )\n\n const contextValue = useMemo(\n () => ({\n expandedSections,\n toggleSection,\n generateSectionKey,\n }),\n [expandedSections, toggleSection]\n )\n\n return (\n <SectionToggleContext.Provider value={contextValue}>{children}</SectionToggleContext.Provider>\n )\n}\n"],"names":["SectionEnum","SectionToggleContext","createContext","useSectionToggle","context","useContext","Error","SectionToggleProvider","children","expandedSections","setExpandedSections","useState","generateSectionKey","apiId","type","index","id","key","undefined","toggleSection","useCallback","sections","options","resetOthers","filterKeys","sectionIds","map","sectionToggles","Object","fromEntries","setTo","sectionId","currentValue","length","filtered","entries","filter","includes","some","k","newState","assign","prev","contextValue","useMemo","_jsx","jsx","Provider","value"],"mappings":"wJAEYA,GAAZ,SAAYA,GACVA,EAAA,SAAA,WACAA,EAAA,SAAA,WACAA,EAAA,YAAA,aACAA,EAAA,YAAA,aACAA,EAAA,kBAAA,kBACD,CAND,CAAYA,IAAAA,EAMX,CAAA,IAyCD,MAAMC,EAAuBC,EAA+C,MAE/DC,EAAmB,KAC9B,MAAMC,EAAUC,EAAWJ,GAC3B,IAAKG,EACH,MAAM,IAAIE,MAAM,8DAElB,OAAOF,GAGIG,EAAwB,EAAGC,eACtC,MAAOC,EAAkBC,GAAuBC,EAA2B,CAAE,GAEvEC,EAAqB,EAAGC,QAAOC,OAAMC,QAAOC,SAChD,IAAIC,EAAM,OAAOJ,KAASC,IAK1B,YAHcI,IAAVH,IAAqBE,GAAO,IAAIF,UACzBG,IAAPF,IAAkBC,GAAO,IAAID,KAE1BC,GAGHE,EAAgBC,EACpB,CAACP,EAAeQ,EAAqCC,EAAyB,MAC5E,MAAMC,YAAEA,GAAc,EAAKC,WAAEA,EAAa,IAAOF,EAE3CG,EAAaJ,EAASK,IAAI,EAAGZ,OAAMC,QAAOC,QAC9CJ,EAAmB,CAAEC,QAAOC,OAAMC,QAAOC,QAGrCW,EAAiBC,OAAOC,YAC5BR,EAASK,IAAI,EAAGZ,OAAMC,QAAOe,QAAOd,SAClC,MAAMe,EAAYnB,EAAmB,CAAEC,QAAOC,OAAMC,QAAOC,OACrDgB,EAAevB,EAAiBsB,GAEtC,MAAO,CAACA,OAAqBb,IAAVY,EAAsBA,GAASE,MAItD,GAAIT,GAAeC,EAAWS,OAAS,EAAG,CACxC,MAAMC,EAAWN,OAAOC,YACtBD,OAAOO,QAAQ1B,GAAkB2B,OAAO,EAAEnB,KACrBA,EAAIoB,SAASxB,KAAWW,EAAWc,KAAMC,GAAMtB,EAAIoB,SAASE,KAC1Dd,EAAWY,SAASpB,KAGvCuB,EAAgBZ,OAAAa,OAAAb,OAAAa,OAAA,GAAAP,GAAaP,GACnCjB,EAAoB8B,EACrB,MACC9B,EAAqBgC,GACDd,OAAAa,OAAAb,OAAAa,OAAA,GAAAC,GAASf,KAMjC,CAAClB,IAGGkC,EAAeC,EACnB,KAAO,CACLnC,mBACAU,gBACAP,uBAEF,CAACH,EAAkBU,IAGrB,OACE0B,EAAAC,IAAC7C,EAAqB8C,SAAQ,CAACC,MAAOL,EAAYnC,SAAGA"}
1
+ {"version":3,"file":"SectionToggleContext.js","sources":["../../../src/context/SectionToggleContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode, useMemo, useCallback } from 'react'\n\nexport enum SectionEnum {\n OVERVIEW = 'overview',\n RESOURCE = 'resource',\n API_SECTION = 'apiSection',\n TAG_SECTION = 'tagSection',\n ENDPOINTS_SECTION = 'endpointsSection',\n}\n\ntype SectionKey =\n | `api_${string}_${SectionEnum}`\n | `api_${string}_${SectionEnum}_${string | number}`\n | `api_${string}_${SectionEnum}_${string | number}_${string | number}`\ntype ExpandedSections = Record<SectionKey, boolean>\n\ninterface SectionToggleContextType {\n expandedSections: ExpandedSections\n toggleSection: (\n apiId: string,\n sections: ToggleSectionDescriptor[],\n options?: ToggleOptions\n ) => void\n generateSectionKey: ({ apiId, type, index, id }: GenerateSectionKeyParams) => SectionKey\n}\n\ninterface SectionToggleProviderProps {\n children: ReactNode\n}\n\nexport interface ToggleSectionDescriptor {\n type: SectionEnum\n index?: string | number\n setTo?: boolean\n id?: string\n}\n\nexport interface ToggleOptions {\n resetOthers?: boolean\n filterKeys?: SectionEnum[]\n}\n\ninterface GenerateSectionKeyParams {\n apiId: string\n type: SectionEnum\n index?: string | number\n id?: string | number\n}\n\nconst SectionToggleContext = createContext<SectionToggleContextType | null>(null)\n\nexport const useSectionToggle = () => {\n const context = useContext(SectionToggleContext)\n if (!context) {\n throw new Error('useSectionToggle must be used within SectionToggleProvider')\n }\n return context\n}\n\nexport const SectionToggleProvider = ({ children }: SectionToggleProviderProps) => {\n const [expandedSections, setExpandedSections] = useState<ExpandedSections>({})\n\n const generateSectionKey = ({ apiId, type, index, id }: GenerateSectionKeyParams): SectionKey => {\n let key = `api_${apiId}_${type}`\n\n if (index !== undefined) key += `_${index}`\n if (id !== undefined) key += `_${id}`\n\n return key as SectionKey\n }\n\n const toggleSection = useCallback(\n (apiId: string, sections: ToggleSectionDescriptor[], options: ToggleOptions = {}) => {\n const { resetOthers = false, filterKeys = [] } = options\n\n const sectionIds = sections.map(({ type, index, id }) =>\n generateSectionKey({ apiId, type, index, id })\n )\n\n const sectionToggles = Object.fromEntries(\n sections.map(({ type, index, setTo, id }) => {\n const sectionId = generateSectionKey({ apiId, type, index, id })\n const currentValue = expandedSections[sectionId]\n\n return [sectionId, setTo !== undefined ? setTo : !currentValue]\n })\n )\n\n if (resetOthers && filterKeys.length > 0) {\n const filtered = Object.fromEntries(\n Object.entries(expandedSections).filter(([key]) => {\n const shouldKeep = key.includes(apiId) && !filterKeys.some((k) => key.includes(k))\n return shouldKeep || sectionIds.includes(key as SectionKey)\n })\n )\n const newState = { ...filtered, ...sectionToggles }\n setExpandedSections(newState)\n } else {\n setExpandedSections((prev) => {\n const next = { ...prev, ...sectionToggles }\n\n return next\n })\n }\n },\n [expandedSections]\n )\n\n const contextValue = useMemo(\n () => ({\n expandedSections,\n toggleSection,\n generateSectionKey,\n }),\n [expandedSections, toggleSection]\n )\n\n return (\n <SectionToggleContext.Provider value={contextValue}>{children}</SectionToggleContext.Provider>\n )\n}\n"],"names":["SectionEnum","SectionToggleContext","createContext","useSectionToggle","context","useContext","Error","SectionToggleProvider","children","expandedSections","setExpandedSections","useState","generateSectionKey","apiId","type","index","id","key","undefined","toggleSection","useCallback","sections","options","resetOthers","filterKeys","sectionIds","map","sectionToggles","Object","fromEntries","setTo","sectionId","currentValue","length","filtered","entries","filter","includes","some","k","newState","assign","prev","contextValue","useMemo","React","createElement","Provider","value"],"mappings":"yGAEYA,GAAZ,SAAYA,GACVA,EAAA,SAAA,WACAA,EAAA,SAAA,WACAA,EAAA,YAAA,aACAA,EAAA,YAAA,aACAA,EAAA,kBAAA,kBACD,CAND,CAAYA,IAAAA,EAMX,CAAA,IAyCD,MAAMC,EAAuBC,EAA+C,MAE/DC,EAAmB,KAC9B,MAAMC,EAAUC,EAAWJ,GAC3B,IAAKG,EACH,MAAM,IAAIE,MAAM,8DAElB,OAAOF,GAGIG,EAAwB,EAAGC,eACtC,MAAOC,EAAkBC,GAAuBC,EAA2B,CAAE,GAEvEC,EAAqB,EAAGC,QAAOC,OAAMC,QAAOC,SAChD,IAAIC,EAAM,OAAOJ,KAASC,IAK1B,YAHcI,IAAVH,IAAqBE,GAAO,IAAIF,UACzBG,IAAPF,IAAkBC,GAAO,IAAID,KAE1BC,GAGHE,EAAgBC,EACpB,CAACP,EAAeQ,EAAqCC,EAAyB,MAC5E,MAAMC,YAAEA,GAAc,EAAKC,WAAEA,EAAa,IAAOF,EAE3CG,EAAaJ,EAASK,IAAI,EAAGZ,OAAMC,QAAOC,QAC9CJ,EAAmB,CAAEC,QAAOC,OAAMC,QAAOC,QAGrCW,EAAiBC,OAAOC,YAC5BR,EAASK,IAAI,EAAGZ,OAAMC,QAAOe,QAAOd,SAClC,MAAMe,EAAYnB,EAAmB,CAAEC,QAAOC,OAAMC,QAAOC,OACrDgB,EAAevB,EAAiBsB,GAEtC,MAAO,CAACA,OAAqBb,IAAVY,EAAsBA,GAASE,MAItD,GAAIT,GAAeC,EAAWS,OAAS,EAAG,CACxC,MAAMC,EAAWN,OAAOC,YACtBD,OAAOO,QAAQ1B,GAAkB2B,OAAO,EAAEnB,KACrBA,EAAIoB,SAASxB,KAAWW,EAAWc,KAAMC,GAAMtB,EAAIoB,SAASE,KAC1Dd,EAAWY,SAASpB,KAGvCuB,EAAgBZ,OAAAa,OAAAb,OAAAa,OAAA,GAAAP,GAAaP,GACnCjB,EAAoB8B,EACrB,MACC9B,EAAqBgC,GACDd,OAAAa,OAAAb,OAAAa,OAAA,GAAAC,GAASf,KAMjC,CAAClB,IAGGkC,EAAeC,EACnB,KAAO,CACLnC,mBACAU,gBACAP,uBAEF,CAACH,EAAkBU,IAGrB,OACE0B,EAAAC,cAAC7C,EAAqB8C,SAAQ,CAACC,MAAOL,GAAenC"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as o}from"react";import s from"../../../../_virtual/json.js";import t from"./style.module.scss.js";import r from"../../../components/SVGLoader/SVGLoader.js";import i from"../../../assets/icons/copy.svg.js";import{copyToClipboard as m}from"../../../utils/index.js";import a from"../../../../node_modules/react-syntax-highlighter/dist/esm/light.js";import l from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js";import d from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js";a.registerLanguage("json",s);const c=({code:s})=>{const[c,n]=o("DARK");return e.jsxs("div",{className:t.codebox,children:[e.jsxs("div",{className:t.codebox_header,children:[e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"LIGHT"!==c&&n("LIGHT"),className:`${t.codebox_header_themeToggle} ${t.codebox_header_themeToggle_light}`,title:"Light theme"}),e.jsx("div",{role:"button",tabIndex:-1,onClick:()=>"DARK"!==c&&n("DARK"),className:`${t.codebox_header_themeToggle} ${t.codebox_header_themeToggle_dark}`,title:"Dark theme"}),e.jsx(r,{src:i,width:"0.75rem",height:"0.75rem",className:t.codebox_header_copyIcon,onClick:()=>m(s)})]}),e.jsx(a,{language:"json",style:"LIGHT"===c?l:d,showLineNumbers:!0,wrapLines:!0,customStyle:{margin:0,height:"13.75rem",overflowY:"auto",padding:"0.75rem 1rem 0 1.5rem",backgroundColor:"DARK"===c?"#455162":"#F7F7F7",fontSize:"0.75rem"},lineProps:{className:"custom-code-line"},children:s})]})};export{c as default};
1
+ import e,{useState as o}from"react";import t from"../../../../_virtual/json.js";import r from"./style.module.scss.js";import s from"../../../components/SVGLoader/SVGLoader.js";import m from"../../../assets/icons/copy.svg.js";import{copyToClipboard as a}from"../../../utils/index.js";import l from"../../../../node_modules/react-syntax-highlighter/dist/esm/light.js";import i from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js";import c from"../../../../node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js";l.registerLanguage("json",t);const d=({code:t})=>{const[d,n]=o("DARK");return e.createElement("div",{className:r.codebox},e.createElement("div",{className:r.codebox_header},e.createElement("div",{role:"button",tabIndex:-1,onClick:()=>"LIGHT"!==d&&n("LIGHT"),className:`${r.codebox_header_themeToggle} ${r.codebox_header_themeToggle_light}`,title:"Light theme"}),e.createElement("div",{role:"button",tabIndex:-1,onClick:()=>"DARK"!==d&&n("DARK"),className:`${r.codebox_header_themeToggle} ${r.codebox_header_themeToggle_dark}`,title:"Dark theme"}),e.createElement(s,{src:m,width:"0.75rem",height:"0.75rem",className:r.codebox_header_copyIcon,onClick:()=>a(t)})),e.createElement(l,{language:"json",style:"LIGHT"===d?i:c,showLineNumbers:!0,wrapLines:!0,customStyle:{margin:0,height:"13.75rem",overflowY:"auto",padding:"0.75rem 1rem 0 1.5rem",backgroundColor:"DARK"===d?"#455162":"#F7F7F7",fontSize:"0.75rem"},lineProps:{className:"custom-code-line"}},t))};export{d as default};
2
2
  //# sourceMappingURL=Codebox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Codebox.js","sources":["../../../../../src/layout/docsComponents/Codebox/Codebox.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport styles from './style.module.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { Copy } from '../../../assets/icons'\nimport { copyToClipboard } from '../../../utils'\n\nSyntaxHighlighter.registerLanguage('json', json)\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className={styles.codebox}>\n <div className={styles.codebox_header}>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_light}`}\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_dark}`}\n title=\"Dark theme\"\n ></div>\n <SVGLoader\n src={Copy}\n width=\"0.75rem\"\n height=\"0.75rem\"\n className={styles.codebox_header_copyIcon}\n onClick={() => copyToClipboard(code)}\n />\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n height: '13.75rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0 1.5rem',\n backgroundColor: theme === 'DARK' ? '#455162' : '#F7F7F7',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n"],"names":["SyntaxHighlighter","registerLanguage","json","Codebox","code","theme","setTheme","useState","_jsxs","className","styles","codebox","children","codebox_header","_jsx","role","tabIndex","onClick","codebox_header_themeToggle","codebox_header_themeToggle_light","title","codebox_header_themeToggle_dark","SVGLoader","src","Copy","width","height","codebox_header_copyIcon","copyToClipboard","jsx","language","style","hljs.stackoverflowLight","hljs.stackoverflowDark","showLineNumbers","wrapLines","customStyle","margin","overflowY","padding","backgroundColor","fontSize","lineProps"],"mappings":"4nBASAA,EAAkBC,iBAAiB,OAAQC,GAE3C,MAAMC,EAAU,EAAGC,WACjB,MAAOC,EAAOC,GAAYC,EAA2B,QAErD,OACEC,OAAK,MAAA,CAAAC,UAAWC,EAAOC,QAAOC,SAAA,CAC5BJ,EAAAA,KAAK,MAAA,CAAAC,UAAWC,EAAOG,eAAcD,SAAA,CACnCE,aACEC,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,UAAVZ,GAAqBC,EAAS,SAC7CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOS,mCAC1DC,MAAM,gBAERN,aACEC,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,SAAVZ,GAAoBC,EAAS,QAC5CG,UAAW,GAAGC,EAAOQ,8BAA8BR,EAAOW,kCAC1DD,MAAM,eAERN,MAACQ,EAAS,CACRC,IAAKC,EACLC,MAAM,UACNC,OAAO,UACPjB,UAAWC,EAAOiB,wBAClBV,QAAS,IAAMW,EAAgBxB,QAGnCU,EAAAe,IAAC7B,EAAiB,CAChB8B,SAAS,OACTC,MAAiB,UAAV1B,EAAoB2B,EAA0BC,EACrDC,mBACAC,WAAS,EACTC,YAAa,CACXC,OAAQ,EACRX,OAAQ,WACRY,UAAW,OACXC,QAAS,wBACTC,gBAA2B,SAAVnC,EAAmB,UAAY,UAChDoC,SAAU,WAEZC,UAAW,CAAEjC,UAAW,oBAAoBG,SAE3CR"}
1
+ {"version":3,"file":"Codebox.js","sources":["../../../../../src/layout/docsComponents/Codebox/Codebox.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport styles from './style.module.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { Copy } from '../../../assets/icons'\nimport { copyToClipboard } from '../../../utils'\n\nSyntaxHighlighter.registerLanguage('json', json)\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className={styles.codebox}>\n <div className={styles.codebox_header}>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_light}`}\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_dark}`}\n title=\"Dark theme\"\n ></div>\n <SVGLoader\n src={Copy}\n width=\"0.75rem\"\n height=\"0.75rem\"\n className={styles.codebox_header_copyIcon}\n onClick={() => copyToClipboard(code)}\n />\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n height: '13.75rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0 1.5rem',\n backgroundColor: theme === 'DARK' ? '#455162' : '#F7F7F7',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n"],"names":["SyntaxHighlighter","registerLanguage","json","Codebox","code","theme","setTheme","useState","React","createElement","className","styles","codebox","codebox_header","role","tabIndex","onClick","codebox_header_themeToggle","codebox_header_themeToggle_light","title","codebox_header_themeToggle_dark","SVGLoader","src","Copy","width","height","codebox_header_copyIcon","copyToClipboard","language","style","hljs.stackoverflowLight","hljs.stackoverflowDark","showLineNumbers","wrapLines","customStyle","margin","overflowY","padding","backgroundColor","fontSize","lineProps"],"mappings":"ukBASAA,EAAkBC,iBAAiB,OAAQC,GAE3C,MAAMC,EAAU,EAAGC,WACjB,MAAOC,EAAOC,GAAYC,EAA2B,QAErD,OACEC,EAAKC,cAAA,MAAA,CAAAC,UAAWC,EAAOC,SACrBJ,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAOE,gBACrBL,EAAAC,cAAA,MAAA,CACEK,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,UAAVX,GAAqBC,EAAS,SAC7CI,UAAW,GAAGC,EAAOM,8BAA8BN,EAAOO,mCAC1DC,MAAM,gBAERX,EAAAC,cAAA,MAAA,CACEK,KAAK,SACLC,UAAW,EACXC,QAAS,IAAgB,SAAVX,GAAoBC,EAAS,QAC5CI,UAAW,GAAGC,EAAOM,8BAA8BN,EAAOS,kCAC1DD,MAAM,eAERX,EAAAC,cAACY,EAAS,CACRC,IAAKC,EACLC,MAAM,UACNC,OAAO,UACPf,UAAWC,EAAOe,wBAClBV,QAAS,IAAMW,EAAgBvB,MAGnCI,EAAAC,cAACT,EAAiB,CAChB4B,SAAS,OACTC,MAAiB,UAAVxB,EAAoByB,EAA0BC,EACrDC,iBAAe,EACfC,WAAS,EACTC,YAAa,CACXC,OAAQ,EACRV,OAAQ,WACRW,UAAW,OACXC,QAAS,wBACTC,gBAA2B,SAAVjC,EAAmB,UAAY,UAChDkC,SAAU,WAEZC,UAAW,CAAE9B,UAAW,qBAEvBN"}
@@ -1,2 +1,2 @@
1
- const t="";export{t as default};
1
+ var e={codebox:"style-module_codebox__d8LBw",codebox_header:"style-module_codebox_header__2191y",codebox_header_themeToggle:"style-module_codebox_header_themeToggle__bLgQ3",codebox_header_themeToggle_dark:"style-module_codebox_header_themeToggle_dark__s60C-",codebox_header_themeToggle_light:"style-module_codebox_header_themeToggle_light__kUD6e",codebox_header_copyIcon:"style-module_codebox_header_copyIcon__vHaqG"};export{e as default};
2
2
  //# sourceMappingURL=style.module.scss.js.map
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useEffect as s,useState as o}from"react";import l from"../Codebox/Codebox.js";import{d as i}from"../../../../_virtual/index.js";import{handleStatusColor as d}from"../../../helpers/methodAccordion.helper.js";import t from"./style.module.scss.js";const n=({data:n})=>{var a,r;const c=Object.keys((null==n?void 0:n.responses)||{}).filter(e=>{var s,o,l;const i=n.responses[e],d=Object.keys((null==i?void 0:i.content)||{})[0];return null===(l=null===(o=null===(s=null==i?void 0:i.content)||void 0===s?void 0:s[d])||void 0===o?void 0:o.schema)||void 0===l?void 0:l.properties}),u=c.map(s=>({label:e.jsxs("div",{className:t.statusCodeOptionContainer,children:[e.jsx("div",{className:t.statusCodeOptionCircle,style:{backgroundColor:d(s)}}),e.jsx("span",{children:s})]}),value:String(s)}));s(()=>{m(c.includes("200")?u.find(e=>"200"===e.value):u[0]||null)},[n]);const[v,m]=o(u[4]),p=Object.entries(n.responses).map(([e,s])=>({code:e,data:s})).find(e=>e.code===(null==v?void 0:v.value));return e.jsxs("aside",{className:t.apiDocsAside,children:[e.jsx("h2",{className:t.apiDocsAside_title,children:n.summary}),e.jsxs("h4",{className:t.apiDocsAside_subtitle,children:[e.jsx("span",{className:t.apiDocsAside_subtitle_method,"data-method":n.method,children:n.method})," ",e.jsx("span",{children:n.path})]}),!["delete","get"].includes(n.method)&&(null===(a=null==n?void 0:n.requestBody)||void 0===a?void 0:a.content)&&e.jsxs("div",{className:t.codeboxSection,children:[e.jsx("div",{className:t.codeboxHeader,children:e.jsx("h6",{className:t.codeboxTitle,children:"Request"})}),e.jsx(l,{code:(()=>{var e,s,o,l,i;if(null===(e=null==n?void 0:n.requestBody)||void 0===e?void 0:e.content){const e=Object.keys(null===(s=null==n?void 0:n.requestBody)||void 0===s?void 0:s.content)[0];return JSON.stringify(null===(i=null===(l=null===(o=null==n?void 0:n.requestBody)||void 0===o?void 0:o.content[e])||void 0===l?void 0:l.schema)||void 0===i?void 0:i.properties,null,2)}return"{}"})()})]}),(null===(r=Object.keys((null==n?void 0:n.responses)||{}))||void 0===r?void 0:r.length)>0&&e.jsxs("div",{className:t.codeboxSection,children:[e.jsxs("div",{className:`${t.codeboxHeader}`,children:[e.jsx("h6",{className:t.codeboxTitle,children:"Response"}),e.jsx(i.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:u}],value:v,onChange:e=>{m(e)}})]}),e.jsx(l,{code:(()=>{var e,s,o,l;if(null==p?void 0:p.data){const i=Object.keys(null===(e=p.data)||void 0===e?void 0:e.content)[0];return JSON.stringify(null===(l=null===(o=null===(s=p.data)||void 0===s?void 0:s.content[i])||void 0===o?void 0:o.schema)||void 0===l?void 0:l.properties,null,2)}return"{}"})()})]})]})};export{n as default};
1
+ import e,{useEffect as t,useState as o}from"react";import l from"../Codebox/Codebox.js";import{d as n}from"../../../../_virtual/index.js";import{handleStatusColor as s}from"../../../helpers/methodAccordion.helper.js";import a from"./style.module.scss.js";const i=({data:i})=>{var d,c;const r=Object.keys((null==i?void 0:i.responses)||{}).filter(e=>{var t,o,l;const n=i.responses[e],s=Object.keys((null==n?void 0:n.content)||{})[0];return null===(l=null===(o=null===(t=null==n?void 0:n.content)||void 0===t?void 0:t[s])||void 0===o?void 0:o.schema)||void 0===l?void 0:l.properties}),u=r.map(t=>({label:e.createElement("div",{className:a.statusCodeOptionContainer},e.createElement("div",{className:a.statusCodeOptionCircle,style:{backgroundColor:s(t)}}),e.createElement("span",null,t)),value:String(t)}));t(()=>{v(r.includes("200")?u.find(e=>"200"===e.value):u[0]||null)},[i]);const[m,v]=o(u[4]),p=Object.entries(i.responses).map(([e,t])=>({code:e,data:t})).find(e=>e.code===(null==m?void 0:m.value));return e.createElement("aside",{className:a.apiDocsAside},e.createElement("h2",{className:a.apiDocsAside_title},i.summary),e.createElement("h4",{className:a.apiDocsAside_subtitle},e.createElement("span",{className:a.apiDocsAside_subtitle_method,"data-method":i.method},i.method)," ",e.createElement("span",null,i.path)),!["delete","get"].includes(i.method)&&(null===(d=null==i?void 0:i.requestBody)||void 0===d?void 0:d.content)&&e.createElement("div",{className:a.codeboxSection},e.createElement("div",{className:a.codeboxHeader},e.createElement("h6",{className:a.codeboxTitle},"Request")),e.createElement(l,{code:(()=>{var e,t,o,l,n;if(null===(e=null==i?void 0:i.requestBody)||void 0===e?void 0:e.content){const e=Object.keys(null===(t=null==i?void 0:i.requestBody)||void 0===t?void 0:t.content)[0];return JSON.stringify(null===(n=null===(l=null===(o=null==i?void 0:i.requestBody)||void 0===o?void 0:o.content[e])||void 0===l?void 0:l.schema)||void 0===n?void 0:n.properties,null,2)}return"{}"})()})),(null===(c=Object.keys((null==i?void 0:i.responses)||{}))||void 0===c?void 0:c.length)>0&&e.createElement("div",{className:a.codeboxSection},e.createElement("div",{className:`${a.codeboxHeader}`},e.createElement("h6",{className:a.codeboxTitle},"Response"),e.createElement(n.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:u}],value:m,onChange:e=>{v(e)}})),e.createElement(l,{code:(()=>{var e,t,o,l;if(null==p?void 0:p.data){const n=Object.keys(null===(e=p.data)||void 0===e?void 0:e.content)[0];return JSON.stringify(null===(l=null===(o=null===(t=p.data)||void 0===t?void 0:t.content[n])||void 0===o?void 0:o.schema)||void 0===l?void 0:l.properties,null,2)}return"{}"})()})))};export{i as default};
2
2
  //# sourceMappingURL=DocsAside.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsAside.js","sources":["../../../../../src/layout/docsComponents/DocsAside/DocsAside.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport Codebox from '../Codebox/Codebox'\nimport { Option, SelectGroup } from 'digitinary-ui'\nimport { httpStatusCodes } from '../../../constants/index'\nimport { handleStatusColor } from '../../../helpers/methodAccordion.helper'\nimport styles from './style.module.scss'\n\nconst DocsAside = ({ data }: { data: EndpointData }) => {\n // Filter status codes to only include those with non-empty properties\n const filteredStatusCodes = Object.keys(data?.responses || {}).filter((code) => {\n const response = data.responses[code]\n const contentType = Object.keys(response?.content || {})[0]\n return response?.content?.[contentType]?.schema?.properties\n })\n\n // Create options for the select dropdown\n const httpStatusCodeOptions = filteredStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: String(code),\n }))\n\n // Function to get default option\n const getDefaultOption = () => {\n const has200 = filteredStatusCodes.includes('200')\n return has200\n ? httpStatusCodeOptions.find((opt) => opt.value === '200')\n : httpStatusCodeOptions[0] || null\n }\n\n useEffect(() => {\n setSelectedResStatusCode(getDefaultOption())\n }, [data])\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const currentResponse = Object.entries(data.responses)\n .map(([code, data]) => ({ code, data }))\n .find((res) => res.code === selectedResStatusCode?.value)\n\n const stringifyRequestBody = () => {\n if (data?.requestBody?.content) {\n const contentKey = Object.keys(data?.requestBody?.content)[0]\n return JSON.stringify(data?.requestBody?.content[contentKey]?.schema?.properties, null, 2)\n } else {\n return '{}'\n }\n }\n\n const stringifyResponseBody = () => {\n if (currentResponse?.data) {\n const contentKey = Object.keys(currentResponse.data?.content)[0]\n return JSON.stringify(currentResponse.data?.content[contentKey]?.schema?.properties, null, 2)\n } else {\n return '{}'\n }\n }\n\n return (\n <aside className={styles.apiDocsAside}>\n <h2 className={styles.apiDocsAside_title}>{data.summary}</h2>\n <h4 className={styles.apiDocsAside_subtitle}>\n <span className={styles.apiDocsAside_subtitle_method} data-method={data.method}>\n {data.method}\n </span>{' '}\n <span>{data.path}</span>\n </h4>\n {!['delete', 'get'].includes(data.method) && data?.requestBody?.content && (\n <div className={styles.codeboxSection}>\n <div className={styles.codeboxHeader}>\n <h6 className={styles.codeboxTitle}>Request</h6>\n </div>\n\n <Codebox code={stringifyRequestBody()} />\n </div>\n )}\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <h6 className={styles.codeboxTitle}>Response</h6>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n\n <Codebox code={stringifyResponseBody()} />\n </div>\n )}\n </aside>\n )\n}\n\nexport default DocsAside\n"],"names":["DocsAside","data","filteredStatusCodes","Object","keys","responses","filter","code","response","contentType","content","_b","_a","schema","_c","properties","httpStatusCodeOptions","map","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","String","useEffect","setSelectedResStatusCode","includes","find","opt","selectedResStatusCode","useState","currentResponse","entries","res","jsxs","apiDocsAside","apiDocsAside_title","summary","apiDocsAside_subtitle","apiDocsAside_subtitle_method","method","path","requestBody","codeboxSection","codeboxHeader","codeboxTitle","jsx","Codebox","contentKey","JSON","stringify","_e","_d","stringifyRequestBody","length","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","stringifyResponseBody"],"mappings":"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"}
1
+ {"version":3,"file":"DocsAside.js","sources":["../../../../../src/layout/docsComponents/DocsAside/DocsAside.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport Codebox from '../Codebox/Codebox'\nimport { Option, SelectGroup } from 'digitinary-ui'\nimport { httpStatusCodes } from '../../../constants/index'\nimport { handleStatusColor } from '../../../helpers/methodAccordion.helper'\nimport styles from './style.module.scss'\n\nconst DocsAside = ({ data }: { data: EndpointData }) => {\n // Filter status codes to only include those with non-empty properties\n const filteredStatusCodes = Object.keys(data?.responses || {}).filter((code) => {\n const response = data.responses[code]\n const contentType = Object.keys(response?.content || {})[0]\n return response?.content?.[contentType]?.schema?.properties\n })\n\n // Create options for the select dropdown\n const httpStatusCodeOptions = filteredStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: String(code),\n }))\n\n // Function to get default option\n const getDefaultOption = () => {\n const has200 = filteredStatusCodes.includes('200')\n return has200\n ? httpStatusCodeOptions.find((opt) => opt.value === '200')\n : httpStatusCodeOptions[0] || null\n }\n\n useEffect(() => {\n setSelectedResStatusCode(getDefaultOption())\n }, [data])\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const currentResponse = Object.entries(data.responses)\n .map(([code, data]) => ({ code, data }))\n .find((res) => res.code === selectedResStatusCode?.value)\n\n const stringifyRequestBody = () => {\n if (data?.requestBody?.content) {\n const contentKey = Object.keys(data?.requestBody?.content)[0]\n return JSON.stringify(data?.requestBody?.content[contentKey]?.schema?.properties, null, 2)\n } else {\n return '{}'\n }\n }\n\n const stringifyResponseBody = () => {\n if (currentResponse?.data) {\n const contentKey = Object.keys(currentResponse.data?.content)[0]\n return JSON.stringify(currentResponse.data?.content[contentKey]?.schema?.properties, null, 2)\n } else {\n return '{}'\n }\n }\n\n return (\n <aside className={styles.apiDocsAside}>\n <h2 className={styles.apiDocsAside_title}>{data.summary}</h2>\n <h4 className={styles.apiDocsAside_subtitle}>\n <span className={styles.apiDocsAside_subtitle_method} data-method={data.method}>\n {data.method}\n </span>{' '}\n <span>{data.path}</span>\n </h4>\n {!['delete', 'get'].includes(data.method) && data?.requestBody?.content && (\n <div className={styles.codeboxSection}>\n <div className={styles.codeboxHeader}>\n <h6 className={styles.codeboxTitle}>Request</h6>\n </div>\n\n <Codebox code={stringifyRequestBody()} />\n </div>\n )}\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <h6 className={styles.codeboxTitle}>Response</h6>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n\n <Codebox code={stringifyResponseBody()} />\n </div>\n )}\n </aside>\n )\n}\n\nexport default DocsAside\n"],"names":["DocsAside","data","filteredStatusCodes","Object","keys","responses","filter","code","response","contentType","content","_b","_a","schema","_c","properties","httpStatusCodeOptions","map","label","React","createElement","className","styles","statusCodeOptionContainer","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","String","useEffect","setSelectedResStatusCode","includes","find","opt","selectedResStatusCode","useState","currentResponse","entries","res","apiDocsAside","apiDocsAside_title","summary","apiDocsAside_subtitle","apiDocsAside_subtitle_method","method","path","requestBody","codeboxSection","codeboxHeader","codeboxTitle","Codebox","contentKey","JSON","stringify","_e","_d","stringifyRequestBody","length","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","stringifyResponseBody"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const t="";export{t as default};
1
+ var e={apiDocsAside:"style-module_apiDocsAside__fKWV7",apiDocsAside_title:"style-module_apiDocsAside_title__KMwUj",apiDocsAside_subtitle:"style-module_apiDocsAside_subtitle__Jkvxx",apiDocsAside_subtitle_method:"style-module_apiDocsAside_subtitle_method__xEqVQ",codeboxSection:"style-module_codeboxSection__bs5KY",codeboxHeader:"style-module_codeboxHeader__LjPYD",statusCodeOptionContainer:"style-module_statusCodeOptionContainer__y673t",statusCodeOptionCircle:"style-module_statusCodeOptionCircle__3tE9Z"};export{e as default};
2
2
  //# sourceMappingURL=style.module.scss.js.map
@@ -1,2 +1,2 @@
1
- import{j as t}from"../../../../_virtual/jsx-runtime.js";import{useRef as e,useEffect as a}from"react";import{OverviewPage as i}from"./OverviewPage/index.js";import{EndpointPage as r}from"./EndpointPage/index.js";const o=({data:o,activeType:s,setActiveItemData:n,setActiveType:v,onProductNavigate:c,apis:m})=>{const d=e(null);return a(()=>{var t;"OVERVIEW"===s&&(null==d?void 0:d.current)&&(null===(t=null==d?void 0:d.current)||void 0===t||t.scrollTo({top:0,behavior:"smooth"}))},[o,s]),t.jsx("main",{ref:d,children:"OVERVIEW"===s?t.jsx(i,{data:o,setActiveItemData:n,setActiveType:v,onProductNavigate:c,apis:m}):t.jsx(r,{data:o,setActiveType:v,setActiveItemData:n})})};export{o as default};
1
+ import e,{useRef as t,useEffect as a}from"react";import{OverviewPage as r}from"./OverviewPage/index.js";import{EndpointPage as i}from"./EndpointPage/index.js";const o=({data:o,activeType:n,setActiveItemData:c,setActiveType:v,onProductNavigate:s,apis:l})=>{const m=t(null);return a(()=>{var e;"OVERVIEW"===n&&(null==m?void 0:m.current)&&(null===(e=null==m?void 0:m.current)||void 0===e||e.scrollTo({top:0,behavior:"smooth"}))},[o,n]),e.createElement("main",{ref:m},"OVERVIEW"===n?e.createElement(r,{data:o,setActiveItemData:c,setActiveType:v,onProductNavigate:s,apis:l}):e.createElement(i,{data:o,setActiveType:v,setActiveItemData:c}))};export{o as default};
2
2
  //# sourceMappingURL=DocsContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsContent.js","sources":["../../../../../src/layout/docsComponents/DocsContent/DocsContent.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport './style.scss'\nimport { OverviewPage } from './OverviewPage'\nimport { EndpointPage } from './EndpointPage'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsContent = ({\n data,\n activeType,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData | EndpointData\n activeType: 'OVERVIEW' | 'ENDPOINT'\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const containerRef = useRef(null)\n\n useEffect(() => {\n // This will scroll to the top when changing the overview\n if (activeType === 'OVERVIEW' && containerRef?.current) {\n containerRef?.current?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }, [data, activeType])\n return (\n <main ref={containerRef}>\n {activeType === 'OVERVIEW' ? (\n <OverviewPage\n data={data as OverviewData}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n onProductNavigate={onProductNavigate}\n apis={apis}\n />\n ) : (\n <EndpointPage\n data={data as EndpointData}\n setActiveType={setActiveType}\n setActiveItemData={setActiveItemData}\n />\n )}\n </main>\n )\n}\n\nexport default DocsContent\n"],"names":["DocsContent","data","activeType","setActiveItemData","setActiveType","onProductNavigate","apis","containerRef","useRef","useEffect","current","_a","scrollTo","top","behavior","_jsx","ref","children","OverviewPage","EndpointPage"],"mappings":"oNAMA,MAAMA,EAAc,EAClBC,OACAC,aACAC,oBACAC,gBACAC,oBACAC,WASA,MAAMC,EAAeC,EAAO,MAQ5B,OANAC,EAAU,WAEW,aAAfP,IAA6BK,aAAY,EAAZA,EAAcG,mBAC7CC,EAAAJ,aAAY,EAAZA,EAAcG,wBAASE,SAAS,CAAEC,IAAK,EAAGC,SAAU,aAErD,CAACb,EAAMC,IAERa,EAAAA,IAAM,OAAA,CAAAC,IAAKT,EACRU,SAAe,aAAff,EACCa,EAAAA,IAACG,EACC,CAAAjB,KAAMA,EACNE,kBAAmBA,EACnBC,cAAeA,EACfC,kBAAmBA,EACnBC,KAAMA,IAGRS,EAAAA,IAACI,EACC,CAAAlB,KAAMA,EACNG,cAAeA,EACfD,kBAAmBA"}
1
+ {"version":3,"file":"DocsContent.js","sources":["../../../../../src/layout/docsComponents/DocsContent/DocsContent.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport './style.scss'\nimport { OverviewPage } from './OverviewPage'\nimport { EndpointPage } from './EndpointPage'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsContent = ({\n data,\n activeType,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData | EndpointData\n activeType: 'OVERVIEW' | 'ENDPOINT'\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const containerRef = useRef(null)\n\n useEffect(() => {\n // This will scroll to the top when changing the overview\n if (activeType === 'OVERVIEW' && containerRef?.current) {\n containerRef?.current?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }, [data, activeType])\n return (\n <main ref={containerRef}>\n {activeType === 'OVERVIEW' ? (\n <OverviewPage\n data={data as OverviewData}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n onProductNavigate={onProductNavigate}\n apis={apis}\n />\n ) : (\n <EndpointPage\n data={data as EndpointData}\n setActiveType={setActiveType}\n setActiveItemData={setActiveItemData}\n />\n )}\n </main>\n )\n}\n\nexport default DocsContent\n"],"names":["DocsContent","data","activeType","setActiveItemData","setActiveType","onProductNavigate","apis","containerRef","useRef","useEffect","current","_a","scrollTo","top","behavior","React","createElement","ref","OverviewPage","EndpointPage"],"mappings":"+JAMA,MAAMA,EAAc,EAClBC,OACAC,aACAC,oBACAC,gBACAC,oBACAC,WASA,MAAMC,EAAeC,EAAO,MAQ5B,OANAC,EAAU,WAEW,aAAfP,IAA6BK,aAAY,EAAZA,EAAcG,mBAC7CC,EAAAJ,aAAY,EAAZA,EAAcG,wBAASE,SAAS,CAAEC,IAAK,EAAGC,SAAU,aAErD,CAACb,EAAMC,IAERa,EAAMC,cAAA,OAAA,CAAAC,IAAKV,GACO,aAAfL,EACCa,EAACC,cAAAE,EACC,CAAAjB,KAAMA,EACNE,kBAAmBA,EACnBC,cAAeA,EACfC,kBAAmBA,EACnBC,KAAMA,IAGRS,EAACC,cAAAG,EACC,CAAAlB,KAAMA,EACNG,cAAeA,EACfD,kBAAmBA"}