@erpsquad/common 1.7.4 → 1.8.1

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 (141) hide show
  1. package/dist/components/action-bar/action-bar/index.esm.js +4 -56
  2. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  3. package/dist/components/action-bar/action-bar/index.js +18 -28
  4. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  5. package/dist/components/filter/filter/index.esm.js +1 -1
  6. package/dist/components/filter/filter/index.esm.js.map +1 -1
  7. package/dist/components/filter/filter/index.js +1 -1
  8. package/dist/components/filter/filter/index.js.map +1 -1
  9. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  10. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  11. package/dist/components/header/redux/actionCreator/index.js +1 -1
  12. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  13. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  14. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  15. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  16. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  17. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  18. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  19. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  20. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  21. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  22. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  23. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  24. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  25. package/dist/components/upload/upload/index.esm.js +2 -2
  26. package/dist/components/upload/upload/index.esm.js.map +1 -1
  27. package/dist/components/upload/upload/index.js +2 -2
  28. package/dist/components/upload/upload/index.js.map +1 -1
  29. package/dist/contexts/AuthContext/index.esm.js +1 -1
  30. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  31. package/dist/contexts/AuthContext/index.js +1 -1
  32. package/dist/contexts/AuthContext/index.js.map +1 -1
  33. package/dist/contexts/languageContext/index.esm.js +1 -1
  34. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  35. package/dist/contexts/languageContext/index.js +1 -1
  36. package/dist/contexts/languageContext/index.js.map +1 -1
  37. package/dist/index.esm.js +68 -67
  38. package/dist/index.js +1 -1
  39. package/dist/{node_modules/ckeditor5/dist/ckeditor5.css → style.css} +161 -0
  40. package/dist/utils/api/index.esm.js +4 -4
  41. package/dist/utils/api/index.esm.js.map +1 -1
  42. package/dist/utils/api/index.js +1 -1
  43. package/dist/utils/api/index.js.map +1 -1
  44. package/dist/utils/common/index.esm.js +6 -6
  45. package/dist/utils/common/index.esm.js.map +1 -1
  46. package/dist/utils/common/index.js +1 -1
  47. package/dist/utils/common/index.js.map +1 -1
  48. package/dist/utils/index.d.ts +1 -0
  49. package/dist/utils/index.esm.js +4 -3
  50. package/dist/utils/index.js +1 -1
  51. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
  52. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  53. package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
  54. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  55. package/dist/views/template-editor/templates/index.esm.js +1 -1
  56. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  57. package/dist/views/template-editor/templates/index.js +1 -1
  58. package/dist/views/template-editor/templates/index.js.map +1 -1
  59. package/package.json +2 -4
  60. package/CSS_SETUP.md +0 -195
  61. package/QUICK_START.md +0 -118
  62. package/dist/components/Dashboard/dashboard.css +0 -1
  63. package/dist/components/action-bar/action-bar.css +0 -1
  64. package/dist/components/activity-tag/activity-tag.css +0 -1
  65. package/dist/components/activityArea/activityArea.css +0 -1
  66. package/dist/components/activityLog/activity-log.css +0 -1
  67. package/dist/components/avatar/avatar.css +0 -1
  68. package/dist/components/board/board.css +0 -1
  69. package/dist/components/calculation-summary/calculation-summary.css +0 -1
  70. package/dist/components/calendar/calendar.css +0 -1
  71. package/dist/components/card-wrapper/card-wrapper.css +0 -1
  72. package/dist/components/charts/barLineChart/barLineChart.css +0 -1
  73. package/dist/components/charts/chartLegend.css +0 -1
  74. package/dist/components/charts/donut-chart/donut-chart.css +0 -1
  75. package/dist/components/charts/donutChart/donut-chart.css +0 -1
  76. package/dist/components/confirm-modal/confirm-modal.css +0 -1
  77. package/dist/components/country-select/index.css +0 -1
  78. package/dist/components/custom-snackbar/custom-snackbar.css +0 -1
  79. package/dist/components/date-picker/date-picker.css +0 -1
  80. package/dist/components/date-range-picker/date-range-picker.css +0 -1
  81. package/dist/components/editor/custom-editor.css +0 -1
  82. package/dist/components/expandable-summary-wrapper/expandable-summary-wrapper.css +0 -1
  83. package/dist/components/fallback/fallback.css +0 -1
  84. package/dist/components/filter/filter.css +0 -1
  85. package/dist/components/footer/footer.css +0 -1
  86. package/dist/components/form-control/form-builder/form-builder-element/element.css +0 -1
  87. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/location-add-modal.css +0 -1
  88. package/dist/components/form-control/form-parser/form-parser.css +0 -1
  89. package/dist/components/form-header/form-header.css +0 -1
  90. package/dist/components/gantt/gantt.css +0 -1
  91. package/dist/components/grid/grid-wrapper/grid-wrapper.css +0 -1
  92. package/dist/components/header/header.css +0 -1
  93. package/dist/components/header-card/header-card.css +0 -1
  94. package/dist/components/hr-line/hr-line.css +0 -1
  95. package/dist/components/info-card/info-card.css +0 -1
  96. package/dist/components/inventory-reports-title-bar/component/reportFilter.css +0 -1
  97. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar.css +0 -1
  98. package/dist/components/inventory-reports-title-bar/report-buttons/report-buttons.css +0 -1
  99. package/dist/components/material-table/material-table.css +0 -1
  100. package/dist/components/module-button/module-button.css +0 -1
  101. package/dist/components/mulitline/multiline.css +0 -1
  102. package/dist/components/multi-select/multi-select.css +0 -1
  103. package/dist/components/page-navigator/components/shared-page-modal.css +0 -1
  104. package/dist/components/page-navigator/page-navigator.css +0 -1
  105. package/dist/components/pagination/pagination.css +0 -1
  106. package/dist/components/parties-modal/parties-modal.css +0 -1
  107. package/dist/components/quick-approval-modal/quick-approval-modal.css +0 -1
  108. package/dist/components/reports/dynamic-report/dynamic-report.css +0 -1
  109. package/dist/components/reports-title-bar/reports-title-bar.css +0 -1
  110. package/dist/components/schedule-report/schedule-report-modal.css +0 -1
  111. package/dist/components/schedule-report/schedule-report.css +0 -1
  112. package/dist/components/search-bar/search-bar.css +0 -1
  113. package/dist/components/select/controller/controller-select.css +0 -1
  114. package/dist/components/share-modal/share-modal.css +0 -1
  115. package/dist/components/sidebar/sidebar.css +0 -1
  116. package/dist/components/sub-header-doc/sub-header-doc.css +0 -1
  117. package/dist/components/tab-bar-ui/tab-bar-ui.css +0 -1
  118. package/dist/components/tabs/tabs.css +0 -1
  119. package/dist/components/text-field/text-field.css +0 -1
  120. package/dist/components/time-picker/time-picker.css +0 -1
  121. package/dist/components/time-range-picker/time-range-picker.css +0 -1
  122. package/dist/components/toast/toast.css +0 -1
  123. package/dist/components/toggle/toggle.css +0 -1
  124. package/dist/components/upload/upload.css +0 -1
  125. package/dist/components/upload-excel/upload-excel.css +0 -1
  126. package/dist/components/user-dropdown/user-dropdown.css +0 -1
  127. package/dist/components/value-field/value-field.css +0 -1
  128. package/dist/components/view-modal/view-modal.css +0 -1
  129. package/dist/node_modules/@asseinfo/react-kanban/dist/styles.css +0 -1
  130. package/dist/node_modules/@glideapps/glide-data-grid/dist/index.css +0 -1
  131. package/dist/node_modules/gantt-task-react/dist/index.css +0 -1
  132. package/dist/node_modules/normalize.css/normalize.css +0 -1
  133. package/dist/styles/sass/_animations.css +0 -1
  134. package/dist/styles/sass/_utils.css +0 -1
  135. package/dist/views/afterAuth/dashboard/dashboard.css +0 -1
  136. package/dist/views/beforeAuth/components/index.css +0 -1
  137. package/dist/views/beforeAuth/landing/landing.css +0 -1
  138. package/dist/views/template-editor/add-template/add-template.css +0 -1
  139. package/dist/views/template-editor/company-selection-modal/company-selection-modal.css +0 -1
  140. package/dist/views/template-editor/edit-section-modal/edit-section-modal.css +0 -1
  141. package/dist/views/template-editor/templates.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react-hooks/exhaustive-deps */\r\n/* eslint-disable unused-imports/no-unused-vars */\r\nimport { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport ActionBar from '../../components/action-bar/action-bar';\r\nimport viewTypes from '../../constants/action-bar';\r\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\r\nimport Typography from '../../components/typography/typography';\r\nimport Fallback from '../../components/fallback/fallback';\r\nimport Menu from '../../components/menu/menu';\r\nimport Footer from '../../components/footer/footer';\r\nimport useDeepMemo from '../../hooks/use-deep-memo';\r\nimport { PageState } from '../../contexts/page-context';\r\nimport { usePages } from '../../hooks/use-pages';\r\nimport { transformTableColumns } from '../../utils/common-utility';\r\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\r\nimport logo from '../../assets/images';\r\nimport { IPaginationModel } from '../../@types/pagination-model';\r\nimport { fetchApi } from '../../utils/api';\r\n\r\nimport { MenuItem } from '@mui/material';\r\n\r\n// import GridCard from './grid-view/grid-view';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { enqueueSnackbar } from 'notistack';\r\n\r\nimport { templateRoutes } from './utils/common';\r\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport { usePermissions } from '../../hooks/use-permissions';\r\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\r\nimport TemplateModal from './template-modal/template-modal';\r\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\r\nimport { setBaseUrl } from '../../api-client/api.rbac/api';\r\n\r\nimport './templates.scss';\r\n\r\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\r\n\r\n\r\ninterface ActionData {\r\n\tlabel: string;\r\n\tposition: number;\r\n}\r\n\r\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\r\n const { t } = useTranslation();\r\n\tconst {\r\n\t\tactivePage: aPage,\r\n\t\tupdatePageInfo,\r\n\t\tschemaFields,\r\n\t\tgeneratedColumns,\r\n\t\tupdateGeneratedColumns,\r\n\t\t// error: pageError\r\n\t} = usePages();\r\n\tconst activePage = useDeepMemo<PageState>(aPage);\r\n\t/* LOCAL STATES */\r\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\r\n const viewEmails = localStorage.getItem('email-subjects-view');\r\n const [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\r\n\r\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\r\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 10, totalCount: 0, skip: 0 }); \r\n\tconst [rows, setRows] = useState<any[]>([]); \r\n\tconst [isFetching, setIsFetching] = useState<boolean>(false); \r\n\tconst [selectedRow, setSelectedRow] = useState([]);\r\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\r\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\r\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\r\n\t/* VARS */\r\n\tconst navigate = useNavigate();\r\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\r\n\tconst limit = activePage.page_size || pLimit;\r\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\r\n\tconst skip = limit * (pageNo - 1);\r\n\tconst permissions = usePermissions();\r\n\tconst ROUTES = templateRoutes(modulePath, type);\r\n\r\n\tconst SubjectPermissions = permissions?.Subjects || {};\r\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\r\n\t\r\n\tconst {\r\n\t\tcanAdd = false,\r\n\t\tcanEdit = false,\r\n\t\tcanDelete = false,\r\n\t} = SubjectPermissions;\r\n\r\n\tconst { canAdd: canImport = false } = ConditionsImport;\r\n\r\n\tconst handleNewEmail = (email) => {\r\n\t\tif(!companies?.length) {\r\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif(companies?.length > 1) {\r\n\t\t\tsetShowCompanySelectionModal(email)\r\n\t\t} else{\r\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value }})\r\n\t\t}\r\n\t};\r\n \r\n\tconst rowActionMenu = [\r\n\t\t{\r\n\t\t\tlabel: 'New Template',\r\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\r\n\t\t\tdisabled: (row: any) => !canEdit\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Add From Template',\r\n\t\t\thandleAction: (email: IEmail) => setShowTemplateModal(email),\r\n\t\t\tdisabled: (row: any) => !canAdd\r\n\t\t}\r\n\t];\r\n\r\n\t/* LOCAL FUNCTIONS */\r\n\tconst getEmails = useCallback(\r\n\t\tasync () => {\r\n\t\t\tconst { sort, filterQueryString, search } = activePage;\r\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\r\n\t\t\tconst types = [];\r\n\t\t\ttypes.push(type)\r\n\t\t\tif(type == \"email\"){\r\n\t\t\t\ttypes.push(\"approval_email\")\r\n\t\t\t}\r\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\r\n\r\n\t\t\tconst response = await getV1Subjects({\r\n\t\t\t\t...getToken(),\r\n\t\t\t\tskip,\r\n\t\t\t\tlimit,\r\n\t\t\t\t// search,\r\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\r\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\r\n\t\t\t});\r\n\r\n\t\t\tsetRows(response?.data || []);\r\n\t\t\tsetPaginationModel({...paginationModel, ...(response?.pagination ||{})});\r\n\t\t},\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t\t[\r\n\t\t\tlimit,\r\n\t\t\tskip,\r\n\t\t\tactivePage?.search,\r\n\t\t\tactivePage?.filterQueryString,\r\n\t\t\tactivePage?.sort\r\n\t\t]\r\n\t);\r\n\r\n\tconst getCopmanies = async () => {\r\n\t\t\tconst companiesArr = await fetchApi({apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" }});\r\n\t\t\tsetCompanies(companiesArr?.data || []);\r\n\t\t}\r\n\r\n\tconst tableRows = useMemo(() => rows || [], [rows]);\r\n\r\n\tconst tableColumns = useMemo(\r\n\t\t() =>\r\n\t\t\ttransformTableColumns({\r\n\t\t\t\tcolumns: generatedColumns.columns,\r\n\t\t\t\tcurrencySymbol: (row) =>\r\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\r\n\t\t\t\ttranslationFn: t,\r\n\t\t\t\tenableFooter: true,\r\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\r\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\r\n\t\t\t\trows: tableRows,\r\n\t\t\t\tstatusClasses: ``,\r\n\t\t\t}),\r\n\t\t[tableRows, t, generatedColumns.columns]\r\n\t);\r\n\r\n\tconst handlePaginationModel = (model: IPaginationModel) => {\r\n\t\tif (activePage.page_size != model?.limit) {\r\n\t\t\tupdatePageInfo({ page_size: model.limit });\r\n\t\t}\r\n\t\tsetPaginationModel(model);\r\n\t};\r\n\r\n\tconst cleanUp = () => {\r\n\t\tconst pModel = { pageNo: 1, limit: 10, totalCount: 0 };\r\n\t\tsetPaginationModel(pModel);\r\n\t};\r\n\r\n\t/* USE EFFECTS */\r\n\tuseEffect(() => {\r\n\t\tgetEmails();\r\n\t}, [getEmails]);\r\n\t\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCopmanies();\r\n\t\treturn cleanUp;\r\n\t}, []);\r\n useEffect(() => {\r\n\t\tif (actionBarData?.length) {\r\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\r\n\t\t}\r\n\t}, [actionBarData]);\r\n\r\n\t/* JSX STRUCTURE STARTED */\r\n\treturn (\r\n\t\t<section className='templates'>\r\n\t\t\t<ActionBar\r\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\r\n\t\t\t\tdata={actionBarData}\r\n\t\t\t\tsetData={setActionBarData}\r\n\t\t\t\tactive={actionBarActiveTab}\r\n\t\t\t\tsetActive={setActionBarActiveTab}\r\n\t\t\t\thandleSearch={(search) => {\r\n\t\t\t\t\tupdatePageInfo({ search });\r\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\r\n\t\t\t\t}}\r\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt',viewTypes.GRID]}\r\n\t\t\t\tfields={schemaFields}\r\n\t\t\t\tselectedIds={selectedRow}\r\n\t\t\t\tbutton={false}\r\n\t\t\t/>\r\n\t\t\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\r\n\t\t\t\t\t\t<MaterialTable\r\n\t\t\t\t\t\t\trows={tableRows || []}\r\n\t\t\t\t\t\t\tcolumns={tableColumns}\r\n\t\t\t\t\t\t\tpaginationModel={paginationModel}\r\n\t\t\t\t\t\t\ttotalPages={total}\r\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\r\n\t\t\t\t\t\t\tstates={{ isLoading: isFetching }}\r\n\t\t\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\r\n\t\t\t\t\t\t\tenableColumnDragging={false}\r\n\t\t\t\t\t\t\tenableEditing={false}\r\n\t\t\t\t\t\t\tonSelectRow={(r) =>\r\n\t\t\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tenableAddCustomField={false}\r\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\r\n\t\t\t\t\t\t\tisResetRow={false}\r\n\t\t\t\t\t\t\thandleColumnOrdering={(colOrder) =>\r\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\r\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{actionBarActiveTab === viewTypes.GRID && (\r\n\t\t\t\t\t\t<GridCard\r\n\t\t\t\t\t\t\tdata={tableRows}\r\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{!actionBarActiveTab && (\r\n\t\t\t\t\t\t<Fallback\r\n\t\t\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\r\n\t\t\t\t\t\t\tsubHeading='No data available'\r\n\t\t\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\r\n\t\t\t\t\t\t</Fallback>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t<Footer\r\n\t\t\t\t\t\ttotal={total}\r\n\t\t\t\t\t\tpaginationModel={{\r\n\t\t\t\t\t\t\t...paginationModel,\r\n\t\t\t\t\t\t\tlimit: activePage.page_size\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\thandlePaginationModel={handlePaginationModel}\r\n\t\t\t\t\t\tresource=''\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t{/* Action Menu */}\r\n\t\t\t\t\t<Menu\r\n\t\t\t\t\t\tanchorEl={actionAnchorEl}\r\n\t\t\t\t\t\topen={Boolean(actionAnchorEl)}\r\n\t\t\t\t\t\tonClose={() => setActionAnchorEl(null)}>\r\n\t\t\t\t\t\t<MenuItem>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\r\n\t\t\t\t\t\t\t\t{t('common.upload')}\r\n\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t\t<MenuItem>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\r\n\t\t\t\t\t\t\t\t{t('common.print')}\r\n\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t</Menu>\r\n\t\t\t\t\t{showTemplateModal && (\r\n\t\t\t\t\t\t<TemplateModal \r\n\t\t\t\t\t\t\temail={showTemplateModal} \r\n\t\t\t\t\t\t\tonClose={() => setShowTemplateModal(null)} \r\n\t\t\t\t\t\t\topen={showTemplateModal !== null} \r\n\t\t\t\t\t\t\tcompanies={companies}\r\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{showCompanySelectionModal && (\r\n\t\t\t\t\t\t<CompanySelectionModal \r\n\t\t\t\t\t\t\tisOpen={showCompanySelectionModal !== null} \r\n\t\t\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal} \r\n\t\t\t\t\t\t\tcompanies={companies} \r\n\t\t\t\t\t\t\temail={showCompanySelectionModal}\r\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t</section>\r\n\t);\r\n};\r\n\r\nexport default Templates;\r\n"],"names":["setBaseUrl","type","module","modulePath","t","useTranslation","activePage","aPage","updatePageInfo","schemaFields","generatedColumns","updateGeneratedColumns","usePages","useDeepMemo","actionAnchorEl","setActionAnchorEl","useState","viewEmails","localStorage","getItem","actionBarData","setActionBarData","JSON","parse","label","position","actionBarActiveTab","setActionBarActiveTab","viewTypes","TABLE","paginationModel","setPaginationModel","pageNo","limit","totalCount","skip","rows","setRows","isFetching","selectedRow","setSelectedRow","showTemplateModal","setShowTemplateModal","showCompanySelectionModal","setShowCompanySelectionModal","companies","setCompanies","navigate","useNavigate","pLimit","page_size","total","Math","ceil","permissions","usePermissions","ROUTES","templateRoutes","SubjectPermissions","Subjects","canAdd","canEdit","rowActionMenu","handleAction","email","length","ADD_TEMPLATE","_id","state","company_id","_a","id","_b","value","enqueueSnackbar","variant","handleNewEmail","disabled","row","getEmails","useCallback","async","sort","filterQueryString","search","searchFiters","types","push","uFilters","appendConditionSafely","join","response","getV1Subjects","getToken","order","desc","filters","data","pagination","tableRows","useMemo","tableColumns","transformTableColumns","columns","currencySymbol","original","currency_data","symbol","defaultCurrencySymbol","translationFn","enableFooter","statusClasses","cleanUp","useEffect","companiesArr","fetchApi","apiKey","getCopmanies","setItem","stringify","jsxs","className","children","jsx","ActionBar","title","setData","active","setActive","handleSearch","disabledViews","GRID","fields","selectedIds","button","MaterialTable","totalPages","columnOrder","orderKeys","states","isLoading","onSortingChange","enableColumnDragging","enableEditing","onSelectRow","r","map","ele","enableAddCustomField","isResetRow","handleColumnOrdering","colOrder","slice","onColumnVisibility","GridCard","Fallback","heading","subHeading","icon","src","logo","invoiceFallback","Footer","handlePaginationModel","model","resource","Menu","anchorEl","open","Boolean","onClose","MenuItem","Typography","color","TemplateModal","CompanySelectionModal","isOpen","setIsOpen"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\r\n/* eslint-disable react-hooks/exhaustive-deps */\r\n/* eslint-disable unused-imports/no-unused-vars */\r\nimport { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport ActionBar from '../../components/action-bar/action-bar';\r\nimport viewTypes from '../../constants/action-bar';\r\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\r\nimport Typography from '../../components/typography/typography';\r\nimport Fallback from '../../components/fallback/fallback';\r\nimport Menu from '../../components/menu/menu';\r\nimport Footer from '../../components/footer/footer';\r\nimport useDeepMemo from '../../hooks/use-deep-memo';\r\nimport { PageState } from '../../contexts/page-context';\r\nimport { usePages } from '../../hooks/use-pages';\r\nimport { transformTableColumns } from '../../utils/common-utility';\r\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\r\nimport logo from '../../assets/images';\r\nimport { IPaginationModel } from '../../@types/pagination-model';\r\nimport { fetchApi } from '../../utils/api';\r\n\r\nimport { MenuItem } from '@mui/material';\r\n\r\n// import GridCard from './grid-view/grid-view';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { enqueueSnackbar } from 'notistack';\r\n\r\nimport { templateRoutes } from './utils/common';\r\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport { usePermissions } from '../../hooks/use-permissions';\r\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\r\nimport TemplateModal from './template-modal/template-modal';\r\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\r\nimport { setBaseUrl } from '../../api-client/api.rbac/api';\r\n\r\nimport './templates.scss';\r\n\r\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\r\n\r\n\r\ninterface ActionData {\r\n\tlabel: string;\r\n\tposition: number;\r\n}\r\n\r\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\r\n const { t } = useTranslation();\r\n\tconst {\r\n\t\tactivePage: aPage,\r\n\t\tupdatePageInfo,\r\n\t\tschemaFields,\r\n\t\tgeneratedColumns,\r\n\t\tupdateGeneratedColumns,\r\n\t\t// error: pageError\r\n\t} = usePages();\r\n\tconst activePage = useDeepMemo<PageState>(aPage);\r\n\t/* LOCAL STATES */\r\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\r\n const viewEmails = localStorage.getItem('email-subjects-view');\r\n const [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\r\n\r\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\r\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 10, totalCount: 0, skip: 0 }); \r\n\tconst [rows, setRows] = useState<any[]>([]); \r\n\tconst [isFetching, setIsFetching] = useState<boolean>(false); \r\n\tconst [selectedRow, setSelectedRow] = useState([]);\r\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\r\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\r\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\r\n\t/* VARS */\r\n\tconst navigate = useNavigate();\r\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\r\n\tconst limit = activePage.page_size || pLimit;\r\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\r\n\tconst skip = limit * (pageNo - 1);\r\n\tconst permissions = usePermissions();\r\n\tconst ROUTES = templateRoutes(modulePath, type);\r\n\r\n\tconst SubjectPermissions = permissions?.Subjects || {};\r\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\r\n\t\r\n\tconst {\r\n\t\tcanAdd = false,\r\n\t\tcanEdit = false,\r\n\t\tcanDelete = false,\r\n\t} = SubjectPermissions;\r\n\r\n\tconst { canAdd: canImport = false } = ConditionsImport;\r\n\r\n\tconst handleNewEmail = (email) => {\r\n\t\tif(!companies?.length) {\r\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif(companies?.length > 1) {\r\n\t\t\tsetShowCompanySelectionModal(email)\r\n\t\t} else{\r\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value }})\r\n\t\t}\r\n\t};\r\n \r\n\tconst rowActionMenu = [\r\n\t\t{\r\n\t\t\tlabel: 'New Template',\r\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\r\n\t\t\tdisabled: (row: any) => !canEdit\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: 'Add From Template',\r\n\t\t\thandleAction: (email: IEmail) => setShowTemplateModal(email),\r\n\t\t\tdisabled: (row: any) => !canAdd\r\n\t\t}\r\n\t];\r\n\r\n\t/* LOCAL FUNCTIONS */\r\n\tconst getEmails = useCallback(\r\n\t\tasync () => {\r\n\t\t\tconst { sort, filterQueryString, search } = activePage;\r\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\r\n\t\t\tconst types = [];\r\n\t\t\ttypes.push(type)\r\n\t\t\tif(type == \"email\"){\r\n\t\t\t\ttypes.push(\"approval_email\")\r\n\t\t\t}\r\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\r\n\r\n\t\t\tconst response = await getV1Subjects({\r\n\t\t\t\t...getToken(),\r\n\t\t\t\tskip,\r\n\t\t\t\tlimit,\r\n\t\t\t\t// search,\r\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\r\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\r\n\t\t\t});\r\n\r\n\t\t\tsetRows(response?.data || []);\r\n\t\t\tsetPaginationModel({...paginationModel, ...(response?.pagination ||{})});\r\n\t\t},\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t\t[\r\n\t\t\tlimit,\r\n\t\t\tskip,\r\n\t\t\tactivePage?.search,\r\n\t\t\tactivePage?.filterQueryString,\r\n\t\t\tactivePage?.sort\r\n\t\t]\r\n\t);\r\n\r\n\tconst getCopmanies = async () => {\r\n\t\t\tconst companiesArr = await fetchApi({apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" }});\r\n\t\t\tsetCompanies(companiesArr?.data || []);\r\n\t\t}\r\n\r\n\tconst tableRows = useMemo(() => rows || [], [rows]);\r\n\r\n\tconst tableColumns = useMemo(\r\n\t\t() =>\r\n\t\t\ttransformTableColumns({\r\n\t\t\t\tcolumns: generatedColumns.columns,\r\n\t\t\t\tcurrencySymbol: (row) =>\r\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\r\n\t\t\t\ttranslationFn: t,\r\n\t\t\t\tenableFooter: true,\r\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\r\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\r\n\t\t\t\trows: tableRows,\r\n\t\t\t\tstatusClasses: ``,\r\n\t\t\t}),\r\n\t\t[tableRows, t, generatedColumns.columns]\r\n\t);\r\n\r\n\tconst handlePaginationModel = (model: IPaginationModel) => {\r\n\t\tif (activePage.page_size != model?.limit) {\r\n\t\t\tupdatePageInfo({ page_size: model.limit });\r\n\t\t}\r\n\t\tsetPaginationModel(model);\r\n\t};\r\n\r\n\tconst cleanUp = () => {\r\n\t\tconst pModel = { pageNo: 1, limit: 10, totalCount: 0 };\r\n\t\tsetPaginationModel(pModel);\r\n\t};\r\n\r\n\t/* USE EFFECTS */\r\n\tuseEffect(() => {\r\n\t\tgetEmails();\r\n\t}, [getEmails]);\r\n\t\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCopmanies();\r\n\t\treturn cleanUp;\r\n\t}, []);\r\n useEffect(() => {\r\n\t\tif (actionBarData?.length) {\r\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\r\n\t\t}\r\n\t}, [actionBarData]);\r\n\r\n\t/* JSX STRUCTURE STARTED */\r\n\treturn (\r\n\t\t<section className='templates'>\r\n\t\t\t<ActionBar\r\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\r\n\t\t\t\tdata={actionBarData}\r\n\t\t\t\tsetData={setActionBarData}\r\n\t\t\t\tactive={actionBarActiveTab}\r\n\t\t\t\tsetActive={setActionBarActiveTab}\r\n\t\t\t\thandleSearch={(search) => {\r\n\t\t\t\t\tupdatePageInfo({ search });\r\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\r\n\t\t\t\t}}\r\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt',viewTypes.GRID]}\r\n\t\t\t\tfields={schemaFields}\r\n\t\t\t\tselectedIds={selectedRow}\r\n\t\t\t\tbutton={false}\r\n\t\t\t/>\r\n\t\t\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\r\n\t\t\t\t\t\t<MaterialTable\r\n\t\t\t\t\t\t\trows={tableRows || []}\r\n\t\t\t\t\t\t\tcolumns={tableColumns}\r\n\t\t\t\t\t\t\tpaginationModel={paginationModel}\r\n\t\t\t\t\t\t\ttotalPages={total}\r\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\r\n\t\t\t\t\t\t\tstates={{ isLoading: isFetching }}\r\n\t\t\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\r\n\t\t\t\t\t\t\tenableColumnDragging={false}\r\n\t\t\t\t\t\t\tenableEditing={false}\r\n\t\t\t\t\t\t\tonSelectRow={(r) =>\r\n\t\t\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tenableAddCustomField={false}\r\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\r\n\t\t\t\t\t\t\tisResetRow={false}\r\n\t\t\t\t\t\t\thandleColumnOrdering={(colOrder) =>\r\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\r\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{actionBarActiveTab === viewTypes.GRID && (\r\n\t\t\t\t\t\t<GridCard\r\n\t\t\t\t\t\t\tdata={tableRows}\r\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{!actionBarActiveTab && (\r\n\t\t\t\t\t\t<Fallback\r\n\t\t\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\r\n\t\t\t\t\t\t\tsubHeading='No data available'\r\n\t\t\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\r\n\t\t\t\t\t\t</Fallback>\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t<Footer\r\n\t\t\t\t\t\ttotal={total}\r\n\t\t\t\t\t\tpaginationModel={{\r\n\t\t\t\t\t\t\t...paginationModel,\r\n\t\t\t\t\t\t\tlimit: activePage.page_size\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\thandlePaginationModel={handlePaginationModel}\r\n\t\t\t\t\t\tresource=''\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t{/* Action Menu */}\r\n\t\t\t\t\t<Menu\r\n\t\t\t\t\t\tanchorEl={actionAnchorEl}\r\n\t\t\t\t\t\topen={Boolean(actionAnchorEl)}\r\n\t\t\t\t\t\tonClose={() => setActionAnchorEl(null)}>\r\n\t\t\t\t\t\t<MenuItem>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\r\n\t\t\t\t\t\t\t\t{t('common.upload')}\r\n\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t\t<MenuItem>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\r\n\t\t\t\t\t\t\t\t{t('common.print')}\r\n\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t</Menu>\r\n\t\t\t\t\t{showTemplateModal && (\r\n\t\t\t\t\t\t<TemplateModal \r\n\t\t\t\t\t\t\temail={showTemplateModal} \r\n\t\t\t\t\t\t\tonClose={() => setShowTemplateModal(null)} \r\n\t\t\t\t\t\t\topen={showTemplateModal !== null} \r\n\t\t\t\t\t\t\tcompanies={companies}\r\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{showCompanySelectionModal && (\r\n\t\t\t\t\t\t<CompanySelectionModal \r\n\t\t\t\t\t\t\tisOpen={showCompanySelectionModal !== null} \r\n\t\t\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal} \r\n\t\t\t\t\t\t\tcompanies={companies} \r\n\t\t\t\t\t\t\temail={showCompanySelectionModal}\r\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t</section>\r\n\t);\r\n};\r\n\r\nexport default Templates;\r\n"],"names":["setBaseUrl","type","module","modulePath","t","useTranslation","activePage","aPage","updatePageInfo","schemaFields","generatedColumns","updateGeneratedColumns","usePages","useDeepMemo","actionAnchorEl","setActionAnchorEl","useState","viewEmails","localStorage","getItem","actionBarData","setActionBarData","JSON","parse","label","position","actionBarActiveTab","setActionBarActiveTab","viewTypes","TABLE","paginationModel","setPaginationModel","pageNo","limit","totalCount","skip","rows","setRows","isFetching","selectedRow","setSelectedRow","showTemplateModal","setShowTemplateModal","showCompanySelectionModal","setShowCompanySelectionModal","companies","setCompanies","navigate","useNavigate","pLimit","page_size","total","Math","ceil","permissions","usePermissions","ROUTES","templateRoutes","SubjectPermissions","Subjects","canAdd","canEdit","rowActionMenu","handleAction","email","length","ADD_TEMPLATE","_id","state","company_id","_a","id","_b","value","enqueueSnackbar","variant","handleNewEmail","disabled","row","getEmails","useCallback","async","sort","filterQueryString","search","searchFiters","types","push","uFilters","appendConditionSafely","join","response","getV1Subjects","getToken","order","desc","filters","data","pagination","tableRows","useMemo","tableColumns","transformTableColumns","columns","currencySymbol","original","currency_data","symbol","defaultCurrencySymbol","translationFn","enableFooter","statusClasses","cleanUp","useEffect","companiesArr","fetchApi","apiKey","getCopmanies","setItem","stringify","jsxs","className","children","jsx","ActionBar","title","setData","active","setActive","handleSearch","disabledViews","GRID","fields","selectedIds","button","MaterialTable","totalPages","columnOrder","orderKeys","states","isLoading","onSortingChange","enableColumnDragging","enableEditing","onSelectRow","r","map","ele","enableAddCustomField","isResetRow","handleColumnOrdering","colOrder","slice","onColumnVisibility","GridCard","Fallback","heading","subHeading","icon","src","logo","invoiceFallback","Footer","handlePaginationModel","model","resource","Menu","anchorEl","open","Boolean","onClose","MenuItem","Typography","color","TemplateModal","CompanySelectionModal","isOpen","setIsOpen"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erpsquad/common",
3
- "version": "1.7.4",
3
+ "version": "1.8.1",
4
4
  "description": "Shared UI component library for ERP modules",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",
@@ -118,9 +118,7 @@
118
118
  "src/styles",
119
119
  "README.md",
120
120
  "CHANGELOG.md",
121
- "QUICK_START.md",
122
- "TROUBLESHOOTING.md",
123
- "CSS_SETUP.md"
121
+ "TROUBLESHOOTING.md"
124
122
  ],
125
123
  "publishConfig": {
126
124
  "access": "public",
package/CSS_SETUP.md DELETED
@@ -1,195 +0,0 @@
1
- # CSS Setup Guide - @erpsquad/common
2
-
3
- ## ⚠️ CRITICAL: CSS Must Be Imported
4
-
5
- Components from `@erpsquad/common` will **NOT have styling** unless you import the CSS file.
6
-
7
- ## ✅ How to Fix
8
-
9
- Add this **ONE LINE** to your main application file:
10
-
11
- ```tsx
12
- import '@erpsquad/common/style.css';
13
- ```
14
-
15
- ## 📍 Where to Add It
16
-
17
- ### React with Vite
18
-
19
- ```tsx
20
- // src/main.tsx
21
- import React from 'react';
22
- import ReactDOM from 'react-dom/client';
23
- import '@erpsquad/common/style.css'; // 👈 Add here!
24
- import App from './App';
25
-
26
- ReactDOM.createRoot(document.getElementById('root')!).render(
27
- <React.StrictMode>
28
- <App />
29
- </React.StrictMode>
30
- );
31
- ```
32
-
33
- ### React with Create React App
34
-
35
- ```tsx
36
- // src/index.tsx or src/App.tsx
37
- import React from 'react';
38
- import ReactDOM from 'react-dom/client';
39
- import '@erpsquad/common/style.css'; // 👈 Add here!
40
- import App from './App';
41
-
42
- const root = ReactDOM.createRoot(document.getElementById('root'));
43
- root.render(<App />);
44
- ```
45
-
46
- ### Next.js (Pages Router)
47
-
48
- ```tsx
49
- // pages/_app.tsx
50
- import '@erpsquad/common/style.css'; // 👈 Add here!
51
- import type { AppProps } from 'next/app';
52
-
53
- export default function App({ Component, pageProps }: AppProps) {
54
- return <Component {...pageProps} />;
55
- }
56
- ```
57
-
58
- ### Next.js (App Router)
59
-
60
- ```tsx
61
- // app/layout.tsx
62
- import '@erpsquad/common/style.css'; // 👈 Add here!
63
-
64
- export default function RootLayout({
65
- children,
66
- }: {
67
- children: React.ReactNode;
68
- }) {
69
- return (
70
- <html lang="en">
71
- <body>{children}</body>
72
- </html>
73
- );
74
- }
75
- ```
76
-
77
- ## 🎯 What This Does
78
-
79
- The `style.css` file includes:
80
- - ✅ All component styles
81
- - ✅ Chart styles (BarChart, DonutChart, etc.)
82
- - ✅ Layout and grid styles
83
- - ✅ Utility classes
84
- - ✅ Responsive styles
85
- - ✅ CSS reset and normalize
86
- - ✅ Theme variables
87
- - ✅ Animations
88
-
89
- ## 🤔 Why Is This Required?
90
-
91
- Component libraries bundle CSS separately from JavaScript to:
92
-
93
- 1. **Enable tree-shaking**: Only include CSS for components you use
94
- 2. **Optimize loading**: Load CSS and JS in parallel
95
- 3. **Better caching**: CSS can be cached separately
96
- 4. **Flexibility**: Consumers can override styles more easily
97
-
98
- This is the standard approach used by popular libraries like:
99
- - Material-UI
100
- - Ant Design
101
- - Bootstrap
102
- - Tailwind CSS
103
-
104
- ## ❌ Common Mistakes
105
-
106
- ### Mistake #1: Not Importing CSS
107
-
108
- ```tsx
109
- // ❌ WRONG - No styles imported!
110
- import { Button } from '@erpsquad/common/components';
111
-
112
- function App() {
113
- return <Button>Click me</Button>; // Will render but look unstyled
114
- }
115
- ```
116
-
117
- ### Mistake #2: Importing CSS in the Wrong Place
118
-
119
- ```tsx
120
- // ❌ WRONG - Don't import in individual components
121
- // components/MyComponent.tsx
122
- import '@erpsquad/common/style.css'; // Don't do this!
123
- import { Button } from '@erpsquad/common/components';
124
- ```
125
-
126
- ### Mistake #3: Conditional Import
127
-
128
- ```tsx
129
- // ❌ WRONG - Don't conditionally import CSS
130
- if (condition) {
131
- import '@erpsquad/common/style.css'); // Don't do this!
132
- }
133
- ```
134
-
135
- ## ✅ Correct Usage
136
-
137
- ```tsx
138
- // ✅ CORRECT - Import once in main file
139
- // main.tsx
140
- import '@erpsquad/common/style.css';
141
-
142
- import React from 'react';
143
- import App from './App';
144
- // ... rest of your setup
145
- ```
146
-
147
- ```tsx
148
- // ✅ CORRECT - Then use components anywhere
149
- // components/MyComponent.tsx
150
- import { Button, TextField } from '@erpsquad/common/components';
151
-
152
- export function MyComponent() {
153
- return (
154
- <>
155
- <TextField label="Name" />
156
- <Button variant="contained">Submit</Button>
157
- </>
158
- );
159
- }
160
- ```
161
-
162
- ## 🔍 Verification
163
-
164
- To verify CSS is loaded:
165
-
166
- 1. Run your app
167
- 2. Open browser DevTools (F12)
168
- 3. Check the `<head>` section - you should see styles
169
- 4. Or check the "Sources" tab for `style.css`
170
-
171
- ## 🆘 Still Not Working?
172
-
173
- See [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) for more help.
174
-
175
- ### Quick Checks:
176
-
177
- 1. ✅ CSS imported in main file?
178
- 2. ✅ Import statement before component imports?
179
- 3. ✅ Cleared build cache? (`rm -rf node_modules/.vite dist`)
180
- 4. ✅ Restarted dev server?
181
-
182
- ### Build Tool Specific Issues:
183
-
184
- - **Vite**: Add to `vite.config.ts`:
185
- ```ts
186
- optimizeDeps: {
187
- include: ['@erpsquad/common']
188
- }
189
- ```
190
-
191
- - **Webpack**: Ensure css-loader and style-loader are installed
192
-
193
- - **Next.js**: CSS import should be in `_app.tsx` or `layout.tsx`
194
-
195
-
package/QUICK_START.md DELETED
@@ -1,118 +0,0 @@
1
- # Quick Start - @erpsquad/common
2
-
3
- Get up and running with the ERP UI library in 2 minutes.
4
-
5
- ## 1️⃣ Install
6
-
7
- ```bash
8
- npm install @erpsquad/common
9
- ```
10
-
11
- ## 2️⃣ Install Peer Dependencies
12
-
13
- ```bash
14
- npm install react react-dom @mui/material @emotion/react @emotion/styled @mui/icons-material
15
- ```
16
-
17
- ## 3️⃣ ⚠️ Import Styles (REQUIRED!)
18
-
19
- **In your main application file** (`main.tsx`, `App.tsx`, or `index.tsx`):
20
-
21
- ```tsx
22
- import '@erpsquad/common/style.css'; // 👈 MUST ADD THIS!
23
- ```
24
-
25
- **Without this, components will have NO styling!**
26
-
27
- ## 4️⃣ Use Components
28
-
29
- ```tsx
30
- import React from 'react';
31
- import '@erpsquad/common/style.css'; // 👈 Don't forget!
32
-
33
- import { ERPUIProvider } from '@erpsquad/common/contexts';
34
- import { Button, TextField } from '@erpsquad/common/components';
35
-
36
- function App() {
37
- return (
38
- <ERPUIProvider>
39
- <TextField label="Name" />
40
- <Button variant="contained">Submit</Button>
41
- </ERPUIProvider>
42
- );
43
- }
44
-
45
- export default App;
46
- ```
47
-
48
- ## 🎨 Chart Components
49
-
50
- ```tsx
51
- import '@erpsquad/common/style.css';
52
- import {
53
- BarChart,
54
- DonutChart,
55
- LineChart,
56
- MultiLineChart
57
- } from '@erpsquad/common/components';
58
-
59
- function Dashboard() {
60
- const data = [
61
- { label: 'Jan', value: 100 },
62
- { label: 'Feb', value: 200 }
63
- ];
64
-
65
- return <BarChart data={data} />;
66
- }
67
- ```
68
-
69
- ## 🔧 Common Imports
70
-
71
- ### Components
72
- ```tsx
73
- import { Button, TextField, Select } from '@erpsquad/common/components';
74
- ```
75
-
76
- ### Hooks
77
- ```tsx
78
- import { useAuth, useLanguage } from '@erpsquad/common/hooks';
79
- ```
80
-
81
- ### Utils
82
- ```tsx
83
- import { formatDate, enqueueSnackbar } from '@erpsquad/common/utils';
84
- ```
85
-
86
- ### Contexts
87
- ```tsx
88
- import { ERPUIProvider, AuthProvider } from '@erpsquad/common/contexts';
89
- ```
90
-
91
- ### Theme
92
- ```tsx
93
- import { createLightTheme, createDarkTheme } from '@erpsquad/common/theme';
94
- ```
95
-
96
- ## ⚠️ Troubleshooting
97
-
98
- ### Components have no styling?
99
- → **Add** `import '@erpsquad/common/style.css';` in your main file
100
-
101
- ### Cannot resolve module?
102
- → **Install peer dependencies**: `npm install @mui/material @emotion/react @emotion/styled`
103
-
104
- ### Hooks not working?
105
- → **Wrap your app** with `<ERPUIProvider>`
106
-
107
- ## 📚 Full Documentation
108
-
109
- - [Complete README](./README.md)
110
- - [Troubleshooting Guide](./TROUBLESHOOTING.md)
111
- - [Styles Guide](./src/styles/README.md)
112
-
113
- ## 🆘 Need Help?
114
-
115
- - [GitHub Issues](https://github.com/erpforce/common/issues)
116
- - [NPM Package](https://www.npmjs.com/package/@erpsquad/common)
117
-
118
-
@@ -1 +0,0 @@
1
- .dashboard-card-icon{border-radius:50%;border:1px solid;width:30px;height:30px;border-color:#f5f6f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.card-class{width:100%}
@@ -1 +0,0 @@
1
- .action-bar{display:flex;padding:.75rem 0rem;justify-content:space-between;align-items:center}.action-bar--RightContent{display:flex;align-items:center;justify-content:flex-end}.action-bar--LeftContent{display:flex;gap:1.25rem;align-items:center}.action-bar--HeaderCard{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.filter-bar{display:flex;padding:.75rem 0rem;align-items:center;justify-content:space-between}.filter-bar .filter-bar--LeftContent{display:flex;align-items:center;gap:1.25rem}.filter-bar .filter-bar--LeftContent h6{color:#7b7c7f;font-size:1rem;font-weight:400;line-height:1.225rem}.filter-bar .filter-bar--LeftContent .hide-btn{color:#7b7c7f;font-size:1rem;font-weight:400;line-height:140%;letter-spacing:-.018rem;background-color:#fff;box-shadow:unset;padding:0rem .5rem}.filter-bar .filter-bar--LeftContent .hide-btn:hover{box-shadow:unset}.filter-bar .filter-bar--LeftContent .filter-chip{border:.063rem solid #f3f2f2;font-size:1rem;font-weight:400;line-height:140%}.filter-bar .filter-bar--LeftContent .subtask-switch{display:flex;align-items:center;gap:.313rem}.filter-bar .filter-bar--LeftContent .subtask-switch .switch{width:1.75rem;height:1.063rem;margin-top:.375rem}.filter-bar .filter-bar--LeftContent .subtask-switch .switch .slider:before{width:.875rem;height:.813rem}.filter-bar .filter-bar--RightContent .enable-filter-btn{display:flex;align-items:center;gap:.625rem;color:#4ac08c;font-size:1rem;font-weight:400;line-height:1.225rem;cursor:pointer}
@@ -1 +0,0 @@
1
- .Timeline{padding:0;margin:0;display:flex;justify-content:space-between}.Timeline li{min-height:2.5625rem}.Timeline li:before{content:unset}.Timeline li:last-child .MuiTimelineContent-root{padding:0 1.5rem}.Timeline li .MuiTimelineDot-root{margin:.125rem .3125rem;border-width:.125rem;padding:.0625rem;background:#656669}.Timeline li .MuiTimelineContent-root{padding:0 .75rem 1rem;font-size:.75rem}.Timeline li .MuiTimelineConnector-root{background-color:#eeeff1;width:1px}.Timeline li .MuiFormControl-root{width:100%}.Timeline li .MuiTimelineSeparator-root .MuiSvgIcon-root{background-color:#eeeff1;height:1.0625rem;width:1.0625rem;border-radius:50%;padding:.1875rem}.Timeline--ActivityBox{padding:2rem 1.5rem;font-size:.75rem;width:100%}.Timeline--CommentWrap{padding:.4375rem .5rem;border-radius:.25rem;border:.0625rem solid #d3d3d4;margin:.5rem 0 1rem}.Timeline--Comment{margin:0}.Timeline--CommentBox{padding:1rem 1.5rem;font-size:.75rem;position:absolute;bottom:0;left:0;border-top:2px solid #eeeff1;width:100%}.Timeline--CommentText{margin:.5rem 0;display:flex;gap:1.25rem;align-items:center}.Timeline--Chat{overflow:auto;padding:1rem 1.5rem;max-height:calc(100vh - 260px)}.Timeline--Chat li:before{content:unset}.Timeline--Content{display:flex;flex-direction:column}.Timeline--Activity{max-height:calc(100vh - 260px)}.Timeline--ActivityLogItem{line-height:1.3}.MuiAccordionDetails-root{padding:1rem 1.5rem!important}.ActivityContainer{border-left:2px solid #f5f6f5;height:calc(100vh - 130px);position:absolute;width:100%;right:0}.Avatar .MuiAvatar-root{border-radius:.5rem}.Activity--Container{display:flex;flex-direction:column;gap:.75rem}
@@ -1 +0,0 @@
1
- .main-wrapper{width:100%;overflow-y:hidden}
@@ -1 +0,0 @@
1
- .Timeline{padding:0;margin:0;display:flex;justify-content:space-between}.Timeline li{min-height:2.5625rem}.Timeline li:before{content:unset}.Timeline li:last-child .MuiTimelineContent-root{padding:0 1.5rem}.Timeline li .MuiTimelineDot-root{margin:.25rem!important;border-width:.125rem;padding:.0625rem;background:#919294}.Timeline li .MuiTimelineContent-root{padding:0 .75rem 1rem;font-size:.75rem}.Timeline li .MuiTimelineConnector-root{background-color:#eeeff1;width:1px}.Timeline li .MuiFormControl-root{width:100%}.Timeline li .MuiTimelineSeparator-root .MuiSvgIcon-root{background-color:#eeeff1;height:1.0625rem;width:1.0625rem;border-radius:50%;padding:.1875rem}.Timeline--CommentWrap{padding:.4375rem .5rem;border-radius:.25rem;border:.0625rem solid #d3d3d4;margin:.5rem 0 1rem}.Timeline--Comment{margin:0}.Timeline--CommentBox{padding:1rem 1.5rem;font-size:.75rem;position:absolute;bottom:0;left:0;border-top:2px solid #eeeff1;width:100%}.Timeline--CommentText{margin:.5rem 0;display:flex;gap:1.25rem;align-items:center}.Timeline--Chat{overflow:auto;padding:1rem 1.5rem;max-height:calc(100vh - 260px)}.Timeline--Chat li:before{content:unset}.Timeline--Content{display:flex;flex-direction:column;gap:.25rem}.Timeline--Activity{max-height:calc(100vh - 260px);display:flex!important;flex-direction:column!important;gap:.75rem!important}.Timeline--ActivityLogItem{line-height:1.3}.MuiAccordionDetails-root{padding:1rem 1.5rem!important}.ActivityContainer{border-left:2px solid #f5f6f5;height:calc(100vh - 130px);position:absolute;width:21.8%;right:0}.Avatar .MuiAvatar-root{border-radius:.5rem}.Activity--Container{display:flex;flex-direction:column;gap:.75rem}.box-class{border:1px solid;border-color:#f3f2f2;border-radius:8px}.Timeline li .MuiTimelineDot-root{background:#d3d3d4!important;width:6px;height:6px;border-radius:50%}.Timeline li .MuiTimelineConnector-root{background:transparent!important}
@@ -1 +0,0 @@
1
- .Avatar{position:relative;display:inline-block}.Avatar--FirstChar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Avatar--Badge{position:absolute;bottom:-2%;right:-24%;transform:translate(-50%);background-color:green;border-radius:50%;z-index:1}
@@ -1 +0,0 @@
1
- .react-kanban-board{font-family:Inter;font-size:.875rem;font-style:normal;line-height:140%;letter-spacing:-.0175rem}.react-kanban-board .react-kanban-column-adder-button{border-radius:.75rem;background-color:#eeeff1;width:17rem;height:3rem;padding:.75rem;content:"test"}.react-kanban-board .react-kanban-column{background-color:#fcf8f8;border-radius:.75rem;border:.063rem solid #faf0f0;position:relative;padding-bottom:2.5rem}.react-kanban-board .react-kanban-column:nth-child(1){background-color:#fcf8f8}.react-kanban-board .react-kanban-column:nth-child(2){background-color:#fdf7f9}.react-kanban-board .react-kanban-column:nth-child(3){background-color:#f7fcfd}.react-kanban-board .react-kanban-column .react-kanban-column-header,.react-kanban-board .react-kanban-column .react-kanban-card__title{font-weight:500}.react-kanban-board .react-kanban-column .react-kanban-card{border-radius:.5rem;border:.031rem solid #f3f2f2;background-color:#fff;box-shadow:0 .063rem .313rem #6464640d;padding:.75rem 1rem 1rem;height:8.0625rem}.react-kanban-board .react-kanban-column .react-kanban-card-adder-button{position:absolute;bottom:0;width:90%;background-color:transparent;border:none;font-weight:200}.react-kanban-board .react-kanban-column .react-kanban-card-adder-form{position:absolute;bottom:0rem}.react-kanban-board .react-kanban-column .react-kanban-card-adder-form+div:last-child{margin-bottom:4.375rem}.react-kanban-board .react-kanban-column form{display:block!important;text-align:center}.column-header{margin-bottom:1.25rem}.column-header .kanban-column{display:flex;align-items:baseline}.column-header .kanban-column .kanban-column-title{overflow:hidden;color:#883c3c;text-overflow:ellipsis;font-size:.875rem;font-style:normal;font-weight:500;line-height:140%;letter-spacing:-.018rem;cursor:pointer}.column-header .kanban-column .count-length-text{color:#d5adad;text-overflow:ellipsis;font-size:.75rem;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-.015rem;margin-left:.5rem}.column-header .kanban-column .more-menu-btn{margin-left:auto;line-height:140%}.column-header .kanban-column .create-status-box{display:flex;width:12.5rem;padding:.75rem;justify-content:space-between;align-items:center;border-radius:.75rem;background:#f5f6f5;margin:.313rem;cursor:pointer;flex-wrap:wrap}.column-header .kanban-column .create-status-box span{font-size:1.5rem;display:inline-block}.column-header .kanban-column .create-status-box .add-btns{width:100%;display:flex;justify-content:space-between;margin-top:.313rem}.column-header .kanban-column .create-status-box .add-btns button{background-color:#eee;border:none;padding:.313rem;width:45%;margin-top:.313rem;border-radius:.188rem}.column-header .kanban-column .create-status-box input{width:100%;font-size:.813rem;border:.063rem solid #ccc;border-radius:.3rem;min-height:1.813rem;padding:.313rem}.card-board-wrap .react-kanban-board .react-kanban-column .react-kanban-card-adder-button{width:1.875rem}.card-board-wrap .react-kanban-board .react-kanban-column-adder-button{justify-content:space-between!important}.create-status-box{display:flex;width:17rem;padding:.75rem;justify-content:space-between;align-items:center;border-radius:.75rem;background:#f5f6f5;margin:.313rem;cursor:pointer;flex-wrap:wrap}.create-status-box span{font-size:1.5rem;display:inline-block}.create-status-box .add-btns{width:100%;display:flex;justify-content:space-between;margin-top:.313rem}.create-status-box .add-btns button{background-color:#eee;border:none;padding:.313rem;width:45%;margin-top:.313rem;border-radius:.188rem}.create-status-box input{width:100%;font-size:.813rem;border:.063rem solid #ccc;border-radius:.3rem;min-height:1.813rem;padding:.313rem}button.react-kanban-card-adder-button:after{content:"New";color:#656669;text-overflow:ellipsis;font-family:Inter;font-size:.875rem;font-weight:400;line-height:140%;letter-spacing:-.018rem;margin-left:.375rem;position:relative;top:-.188rem}@media screen and (max-width: 450px){.react-kanban-board{overflow:scroll}}
@@ -1 +0,0 @@
1
- .calculationSummary--SummaryContainer{display:flex;flex-direction:column;gap:1.5rem}.calculationSummary--SummaryItem{display:flex;flex-direction:column;gap:.5rem}
@@ -1 +0,0 @@
1
- .calendar-wrapper{background-color:#fff;padding:"1.25rem"}.calendar-wrapper .fc{font-family:Inter;font-style:normal;line-height:140%}.calendar-wrapper .fc .fc-header-toolbar .fc-toolbar-title{font-size:.875rem;font-weight:500;letter-spacing:-.0175rem}.calendar-wrapper .fc .fc-header-toolbar .fc-button-group{display:flex}.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button,.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button:active{background-color:transparent;color:#656669;border:none;box-shadow:none;outline:none}.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button.fc-prev-button,.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button:active.fc-prev-button{order:1}.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button.fc-today-button,.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button:active.fc-today-button{order:2}.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button.fc-next-button,.calendar-wrapper .fc .fc-header-toolbar .fc-button-group button:active.fc-next-button{order:3}.calendar-wrapper .fc .fc-daygrid-day{font-size:.75rem;font-weight:400;letter-spacing:-.015rem;background-color:#fff;border:1px solid #eeeff1}.calendar-wrapper .fc .fc-daygrid-day .fc-daygrid-day-number{margin:.325rem;color:#656669}.calendar-wrapper .fc .fc-daygrid-day.fc-day-today{background-color:transparent}.calendar-wrapper .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:#fff;background-color:#289b64;width:20px;display:flex;height:20px;justify-content:center;align-items:center;border-radius:50%}.calendar-wrapper .fc .fc-daygrid-day-events{margin-left:.625rem;margin-right:.625rem}.calendar-wrapper .fc .fc-day-other{background-color:#fbfbfb}.calendar-wrapper .fc .fc-col-header-cell-cushion{font-weight:300;font-size:.75rem}@media screen and (max-width: 450px){.calendar-wrapper{overflow:scroll}}
@@ -1 +0,0 @@
1
- .card-wrapper{border-radius:.5rem;padding:1rem;border:1px solid #eeeff1;box-shadow:0 0 2px #e0e0e0,0 1px 4px -2px #18274b05,0 4px 4px -2px #18274b0f}
@@ -1 +0,0 @@
1
- .circle{content:"";width:8px;height:8px;border-radius:4px}.bar{position:relative;z-index:9999}
@@ -1 +0,0 @@
1
- .legends-circle{content:"";position:relative;top:4px;left:3px;width:8px;height:8px;border-radius:4px;margin-right:10px}
@@ -1 +0,0 @@
1
- .donut-chart-container{display:flex;justify-content:space-evenly;gap:10px;padding-top:10px}.donut-chart-container .donut-chart-legend{width:25rem;display:flex;flex-wrap:wrap}.donut-chart-container .donut-chart-legend .legend{padding:0 .625rem;max-height:2.5rem;margin-bottom:.938rem;width:50%}.donut-chart-container .donut-chart-legend .legend .legend-title{color:var(--Text-Secondary, #656669);margin-bottom:.125rem;width:100%;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-chart-container .donut-chart-legend .legend .legend-value{font-size:.75rem}.donut-chart-container.vertical{flex-direction:column;align-items:center}.donut-chart-container.vertical .donut-chart-legend{width:auto;margin-top:1.25rem}
@@ -1 +0,0 @@
1
- .donut-chart-container{display:flex;justify-content:center;gap:1rem}.donut-chart-container.vertical{flex-direction:column;align-items:center}.donut-chart-container.vertical .donut-chart-legend{width:auto;margin-top:1.25rem}.donut-chart-container.horizontal{flex-direction:row;align-items:center}.donut-chart-container.horizontal .donut-chart-legend{width:auto;margin-top:1.25rem}.donut-legend{display:flex;justify-content:center}.donut-chart-legend{justify-content:center;width:150px;display:flex;flex-wrap:wrap;margin-top:46px;gap:12px}.donut-chart-legend .legend{padding:0 .75rem;max-height:2.5rem;padding-right:24px}.donut-chart-legend .legend .legend-title{color:var(--Text-Secondary, #656669);margin-bottom:.125rem;width:100%;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-chart-legend .legend .legend-value{font-size:.75rem}.account-receivable-card{padding:16px;height:100%;display:flex;justify-content:center;align-content:center}.donut-chart-legend.horizontal{flex-direction:column;align-items:flex-start}
@@ -1 +0,0 @@
1
- .confirm .MuiDialog-paper{min-width:2.375rem;border-radius:1rem}.confirm--head{display:flex;padding:.5rem 1rem;justify-content:space-between;align-items:center}.confirm--title{display:flex;align-items:center}.confirm--content{padding:1rem 1.375rem 1.5rem}.confirm--actions{padding:.5rem 1rem}
@@ -1 +0,0 @@
1
- .react-tel-input .selected-flag .arrow{right:0rem}
@@ -1 +0,0 @@
1
- .SnackBar{padding:0;border-radius:8px;box-shadow:0 6px 18px #0000001a;width:420px;cursor:pointer}.notistack-Snackbar:has(.SnackBar){transition:transform .3s ease-in-out}.notistack-Snackbar:has(.SnackBar):hover{transform:scale(1.05)!important}
@@ -1 +0,0 @@
1
- .datePicker{border-radius:.25rem;width:100%}.datePicker input{padding:.5rem;font-size:.875rem}.datePicker :disabled{-webkit-text-fill-color:unset}.MuiDateCalendar-root .MuiPickersCalendarHeader-labelContainer{font-weight:600}.MuiDateCalendar-root .MuiPickersDay-root{border-radius:2px}.MuiDateCalendar-root .MuiPickersDay-today{background-color:#f5f6f5}.MuiDateCalendar-root .MuiPickersDay-root:hover{background-color:#f5f6f5;color:#1f7c5e}.MuiDateCalendar-root .MuiPickersDay-root.Mui-selected,.MuiDateCalendar-root .MuiPickersYear-yearButton.Mui-selected{background-color:#4ac08c}.requiredStar{color:#c64d4d}
@@ -1 +0,0 @@
1
- .react-datepicker__header{border-bottom:none;background-color:#fff;padding:0}.react-datepicker{box-shadow:0 .5rem 2rem #00000014,0 .125rem 1rem #0000000a;border:none}.react-datepicker__today-button{padding:0;border-top:.0625rem solid #eeeff1;font-weight:400}.react-datepicker__day-name{color:#7b7c7f}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#4ac08c;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#b6e9d6;color:#232529}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#b6e9d6}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#2eb273}.calender-container{position:relative}.select-year{outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 .625rem}.react-datepicker__close-icon{right:1.25rem}.react-datepicker__close-icon:after{color:#7b7c7f!important;background-color:unset;font-size:1.25rem!important}.open-selected-calender{border-radius:.25rem;border:.0625rem solid #bdbebf;width:100%;height:2.4rem;color:#7b7c7f;font-weight:400;font-size:.875rem;padding:0 .625rem;outline-offset:unset;outline:unset}.icon-box{position:absolute;top:1.4375rem;transform:translateY(-50%);right:.625rem;color:#7b7c7f}.icon-box_rtl{position:absolute;top:1.4375rem;transform:translateY(-50%);left:.625rem;color:#7b7c7f}.btn-transparent{border:none;background:none;cursor:pointer;padding:0;margin:0;font-size:inherit}.date-picker-container{display:flex;justify-content:space-around;align-items:center;margin:.9375rem 0}.date-picker-container .MuiSvgIcon-root{color:#a7a8a9}.month-view{margin:0 .3125rem .25rem}.d-flex{display:flex;align-items:center}.select-year{border:none;background:none;cursor:pointer;padding:0 .625rem;margin:0 0 .0625rem;font-size:inherit;color:#000}.react-datepicker{border-radius:.5rem}.DateRangePicker .react-datepicker-wrapper{width:100%;min-width:250px}
@@ -1 +0,0 @@
1
- @import"https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap";@media print{body{margin:0!important}}.main-container{font-family:"Inter, system-ui, Avenir, Helvetica, Arial, sans-serif";width:fit-content;margin-left:auto;margin-right:auto}.custom-editor-container{width:100%!important}
@@ -1 +0,0 @@
1
- .expandable-grid-summary{position:relative}.expandable-grid-summary__toggle-button{top:50%;left:-24px;z-index:1301;background-color:var(--mui-palette-background-paper);border:1px solid var(--mui-palette-divider);border-radius:50%;width:40px;height:40px;transform:translateY(-50%);box-shadow:var(--mui-shadows-3);opacity:1;visibility:visible}.expandable-grid-summary__toggle-button:hover{background-color:var(--mui-palette-action-hover);box-shadow:var(--mui-shadows-4)}.expandable-grid-summary__toggle-button--collapsed-floating{position:fixed;top:50%;right:16px;z-index:1300;background-color:var(--mui-palette-primary-main);color:var(--mui-palette-primary-contrastText);border:2px solid var(--mui-palette-background-paper);width:48px;height:48px;box-shadow:var(--mui-shadows-4)}.expandable-grid-summary__toggle-button--collapsed-floating:hover{background-color:var(--mui-palette-primary-dark);box-shadow:var(--mui-shadows-6)}.expandable-grid-summary__toggle-button--mobile{position:fixed;top:50%;right:8px;z-index:1400;border-radius:8px 0 0 8px}.expandable-grid-summary__content{height:100%;width:100%;display:flex;flex-direction:column;background-color:var(--mui-palette-background-paper);border-left:1px solid var(--mui-palette-divider);border-radius:8px 0 0 8px}.expandable-grid-summary__content--expanded{overflow:auto;min-width:0}.expandable-grid-summary__content--collapsed{overflow:hidden}.expandable-grid-summary__collapsed-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;color:var(--mui-palette-text-secondary);cursor:pointer;transition:background-color .2s ease}.expandable-grid-summary__collapsed-indicator:hover{background-color:var(--mui-palette-action-hover)}.expandable-grid-summary__collapsed-indicator__text{writing-mode:vertical-lr;text-orientation:mixed;font-size:.875rem;font-weight:500;letter-spacing:.1em}.expandable-grid-container .MuiGrid-item{overflow:visible!important;transition:flex-basis .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1)}.MuiGrid-container{overflow:visible}.expandable-summary-drawer .MuiDrawer-paper{width:90vw;max-width:400px}@media (max-width: 600px){.expandable-summary-drawer .MuiDrawer-paper{width:95vw}}.MuiCollapse-horizontal .MuiCollapse-wrapperInner{height:100%}.expandable-grid-summary__content--expanded::-webkit-scrollbar{width:6px}.expandable-grid-summary__content--expanded::-webkit-scrollbar-track{background:var(--mui-palette-action-hover);border-radius:3px}.expandable-grid-summary__content--expanded::-webkit-scrollbar-thumb{background:var(--mui-palette-action-disabled);border-radius:3px}.expandable-grid-summary__content--expanded::-webkit-scrollbar-thumb:hover{background:var(--mui-palette-action-focus)}@media (prefers-contrast: high){.expandable-grid-summary__toggle-button{border:2px solid var(--mui-palette-text-primary)}.expandable-grid-summary__collapsed-indicator{border-left:2px solid var(--mui-palette-text-primary)}}@media (prefers-reduced-motion: reduce){.expandable-grid-summary,.MuiGrid-item,.MuiCollapse-root{transition:none!important}}
@@ -1 +0,0 @@
1
- .fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;position:fixed;bottom:50%;width:-webkit-fill-available;transform:translateY(50%)}.fallback--Text{width:25%;text-align:center}
@@ -1 +0,0 @@
1
- .content{padding:1.5rem!important}.remove-filters{position:absolute;padding:0rem;right:1.5rem}.remove-filters_rtl{position:absolute;padding:0rem;left:1.5rem}.queryBuilder{position:relative}.queryBuilder .ruleGroup{border:none;padding:0rem;display:flex;flex-direction:column-reverse}.queryBuilder .ruleGroup .actions .MuiOutlinedInput-root{display:none}.queryBuilder .ruleGroup .rule{gap:.5rem;justify-content:space-between}.ruleGroup{background-color:#fff}.ruleGroup-body .ruleGroup{background-color:#fbfbfb;border:.063rem solid #f3f2f2;padding:.5rem}.ruleGroup-body .add-group{display:none}.add-filter,.add-group{box-shadow:0 0 .125rem #e0e0e0,0 .063rem .25rem -.125rem #18274b05,0 .25rem .25rem -.125rem #18274b0f}.queryBuilder>.ruleGroup{gap:1rem}.ruleGroup-body>.ruleGroup{margin:.25rem 0rem}.filter-header{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem;border-bottom:.063rem solid #d3d3d4}.combinator-value{text-transform:uppercase;border:.125rem dashed #bdbebf;border-radius:.5rem;width:fit-content;padding:.25rem 1rem}.filter-footer{display:flex;gap:.75rem;align-items:center;justify-content:flex-end;border-top:.063rem solid #d3d3d4;background-color:#f5f6f5;padding:.5rem 1rem .5rem 1.5rem}.filter-footer .cancel-filter-btn{color:#18274b;background-color:#fff}.filter-footer .cancel-filter-btn:hover{background-color:#f5f6f5;color:#18274b}.searchbar-box-list{padding:.5rem;margin-bottom:4px;border-bottom:.063rem solid #f3f2f2}.filter-title{font-size:.75rem;font-weight:400;line-height:1.063rem;letter-spacing:-.02em;text-align:left;color:#919294;padding:.625rem .625rem 0rem}.menu-list{justify-content:space-between}.menu-list .icon-list .icons-img{min-width:1.688rem}.select-drps{width:100%;color:#1f2125;text-transform:capitalize}.select-drps .MuiSelect-select{padding:.625rem .875rem}.select-drps input{width:100%;padding:.625rem .875rem}.new-searchbar .search-wrapper input{font-size:.781rem}.betweenRules .combinator-list{border:.125rem dashed #bdbebf;border-radius:.5rem;width:5rem}.betweenRules .combinator-list .MuiOutlinedInput-notchedOutline{border:none}.betweenRules .combinator-list .MuiSelect-select{padding:.375rem .625rem;text-transform:capitalize;font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:-.02em;text-align:left;color:#656669}
@@ -1 +0,0 @@
1
- .sheet-select{margin:0rem .5rem}.sheet-select .MuiOutlinedInput-notchedOutline{border:0}.sheet-select .MuiSelect-select{font-size:.75rem;color:#656669;padding:0rem .25rem!important}.footer--Container{display:flex;position:fixed;bottom:0;transition:all .4s ease-in-out;background-color:#fff;z-index:1201;width:calc(100% - 365px)}.footer--drawerContainer{display:flex;position:fixed;transition:all .4s ease-in-out;bottom:0;background-color:#fff;z-index:1201;width:calc(100% - 130px)}
@@ -1 +0,0 @@
1
- .form-element-wrapper--Element{position:relative;display:flex;border-radius:.5rem;padding:.75rem;cursor:pointer}.form-element-wrapper--Active{position:relative;display:flex;border-radius:.5rem;padding:.75rem;border:2px solid #54CC96;cursor:pointer}.form-element-wrapper--Default{background-color:#fbfbfb}.form-element-wrapper--Actions{position:absolute;right:1rem;display:flex;gap:.25rem}.formBuilder--GridLayout{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.formBuilder--Header{display:flex;justify-content:space-between;width:100%}.formBuilder--Section{border-radius:.5rem;border:2px dotted #919294;padding:.75rem}.formBuilder--Active{border-radius:.5rem;border:2px solid #54CC96;padding:.75rem}.MultiSelect .MuiSelect-select{padding-top:4px!important;padding-bottom:4px;padding-left:8px}.table--AddButton{color:#1f2125!important}.editor-container .ck-editor__editable{min-height:300px!important;border-top:0!important}.editor-container .ck-sticky-panel__content{border-bottom:0;padding:4px!important}.editor-container .ck-toolbar{border-bottom:0!important;background-color:#f5f6f5!important;border-radius:4px!important}.editor-container .ck-toolbar__items{justify-content:center}
@@ -1 +0,0 @@
1
- .brandAddModal--Divider{border-color:#eeeff1}.brandAddModal--DialogTitle{border-bottom:1px solid #d3d3d4}.brandAddModal--SectionTitle{padding-left:1.5rem}.brandAddModal--DialogAction{justify-content:space-between;padding:.5rem 1.5rem!important;background-color:#eeeff1}.brandAddModal--DialogAction--WhiteBtn{background-color:#fff!important;color:#1f2125}
@@ -1 +0,0 @@
1
- .formParser--Grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.formParser--Accordion{margin:1rem 0rem}.formParser--Section:first-child .formParser--Section--SectionTitle:first-child{margin-top:0}.formParser--Section--SectionDivider{margin-top:2rem;border-color:#eeeff1}.avtarDisplay{width:54px;height:56px;gap:10px;border-radius:8px;margin:5px 10px;background-color:#eaf2bf;transition:.3s ease;display:flex;justify-content:center;align-items:center;color:#505f07;font-weight:700}.m0{margin:0!important}
@@ -1 +0,0 @@
1
- .formHeader--Header{padding:.75rem 2rem;display:flex;justify-content:space-between;border-bottom:2px solid #f5f6f5}
@@ -1 +0,0 @@
1
- ._3zRJQ{fill:#232529;font-weight:500}._3rUKi,._RuwuK{stroke:none}
@@ -1 +0,0 @@
1
- .grid-wrapper{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media screen and (min-width: 450px){.grid-wrapper{grid-template-columns:repeat(1,1fr)}}@media screen and (min-width: 812px){.grid-wrapper{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width: 1112px){.grid-wrapper{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 1440px){.grid-wrapper{grid-template-columns:repeat(4,1fr)}}@media screen and (min-width: 1600px){.grid-wrapper{grid-template-columns:repeat(5,1fr)}}@media screen and (min-width: 1920px){.grid-wrapper{grid-template-columns:repeat(6,1fr)}}
@@ -1 +0,0 @@
1
- .select-box .MuiSelect-select{display:flex;align-items:center;text-transform:capitalize;font-size:1rem;font-weight:500;color:#1f2125}.select-box .MuiSelect-select img{width:1.25rem;margin-right:.625rem}.select-box .MuiOutlinedInput-notchedOutline{border:0rem}.select-box .selected-menu-box{display:flex;align-items:center}.select-box-menu-item{font-size:1rem;font-weight:500;color:#1f2125}.select-box-menu-item img{width:1.25rem;margin-right:.625rem}.MuiMenu-paper{border-radius:.5rem}.header-right-wrap{display:flex;align-items:center;gap:1rem}.header-right-wrap .MuiButtonBase-root{margin-left:-.25rem}.header-right-wrap .Avatar{padding-left:.375rem}.header-right-wrap .Avatar .MuiAvatar-root{border-radius:.5rem}.header-right-wrap .profile-name{white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1.225rem;color:#232529}.header-right-wrap .user-auth{font-size:.75rem;line-height:1.05rem;color:#a7a8a9}.main-profile-menu .user-data-wrap{font-size:.875rem;line-height:1.225rem;gap:.5rem}.main-profile-menu .user-assigned{font-size:.75rem;line-height:1.05rem}.logo{font-weight:700;letter-spacing:.00938rem;text-transform:uppercase;color:#000}.user-details{margin-left:.75rem}.main-box{display:flex;justify-content:space-between;align-items:center;width:100%}.main-box .second-box{display:flex;align-items:center;width:100%}.main-box .second-box .arrow-pointer{color:#1f2125;cursor:pointer}.main-box .second-box .arrow-pointer_rtl{color:#1f2125;cursor:pointer;transform:rotate(180deg)}.menu-item-color{color:#c64d4d}.menu-item-color:hover{background-color:#fedfdf}.avatar-class{color:#2eb273;background-color:#b6e9d6}.icon-btn{color:#1f2125}.user-profile-box{display:flex;gap:.625rem;cursor:pointer}.language-selector-wrapper{position:relative}.language-fallback-active{border-color:#ff9800!important}.language-loading{display:flex;align-items:center;padding:8px 12px;background-color:#f5f5f5;border-radius:4px;min-width:100px}.language-error{display:flex;align-items:center;gap:8px}.MuiMenuItem-root[data-fallback=true]{background-color:#fff3e0!important;font-style:italic}.MuiMenuItem-root[data-fallback=true]:hover{background-color:#ffe0b2!important}.MuiSnackbar-root{z-index:1400}.language-selector-wrapper .MuiOutlinedInput-root.Mui-error,.language-selector-wrapper .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline{border-color:#f44336}.MuiMenuItem-root[data-retry=true]{border-top:1px solid #e0e0e0;margin-top:4px;padding-top:8px;color:#666}.MuiMenuItem-root[data-retry=true]:hover{background-color:#f5f5f5}.popup-change-pass{padding:20px 30px;min-width:500px}.size15 .MuiTypography-root{font-size:15px}
@@ -1 +0,0 @@
1
- .header-card{display:flex;padding:.375rem .5rem;align-items:center;gap:.5rem;color:#7b7c7f;cursor:pointer}.header-card svg{width:1rem;height:1rem}.header-card--Active{color:#4ac08c}
@@ -1 +0,0 @@
1
- .HrLine{display:flex;align-items:center;justify-content:space-between;flex-direction:row;width:100%;margin:.9375rem 0;opacity:.6;font-size:.75rem;font-weight:500}.HrLine--Length{width:40%}@media screen and (max-width: 1600px){.HrLine{font-size:.6875rem}}@media screen and (max-width: 1440px){.HrLine{font-size:.625rem}}@media screen and (max-width: 1112px){.HrLine{font-size:.5625rem}}@media screen and (max-width: 450px){.HrLine{font-size:.9375rem}.HrLine--Length{width:43%}}
@@ -1 +0,0 @@
1
- .infoCard{display:flex;align-items:center;gap:.5rem}
@@ -1 +0,0 @@
1
- .inventoryReportsTitleBar--RightContent ul{max-height:180px;padding-bottom:20px;z-index:9999}
@@ -1 +0,0 @@
1
- .afterBorder{position:relative;margin-bottom:15px}.afterBorder:after{height:1px;display:block;width:100%;background:#eeeff1;border-right:1px white;content:"";position:absolute;bottom:0;left:0}.inventoryReportsTitleBar{display:flex;padding:.75rem 0rem;justify-content:space-between;align-items:center;margin:0 8px}.inventoryReportsTitleBar--RightContent{display:flex;gap:1rem;align-items:center;justify-content:flex-end}.inventoryReportsTitleBar--RightContent--WhiteBtn{background-color:#fff!important;color:#1f2125!important}.inventoryReportsTitleBar--LeftContent{display:flex;gap:1.25rem;align-items:center}.inventoryReportsTitleBar--HeaderCard{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.inventoryReportsTitleBar--FilterAction{display:flex;font-size:12px;align-items:center;text-wrap:nowrap;gap:8px}.inventoryReportsTitleBar--FilterAction .search-wrapper img{top:.6rem}.inventoryReportsTitleBar--FilterAction--lvWrapper{display:flex;align-items:center;gap:8px}.inventoryReportsTitleBar--FilterAction--Btn{border:1px solid #f3f2f2;border-radius:50px;color:#656669}.inventoryReportsTitleBar--FilterWrapper{display:flex;font-size:12px;align-items:center;gap:12px;text-wrap:nowrap;flex-wrap:wrap}.inventoryReportsTitleBar--FilterWrapper--Chip{display:flex;gap:4px;border:1px solid #ade7cb;border-radius:50px;background-color:#ebf9f2;color:#289b64;padding:2px 12px;align-items:center;cursor:pointer}.inventoryReportsTitleBar--FilterWrapper--Chip--Text{display:flex;gap:4px;align-items:baseline}.inventoryReportsTitleBar--FilterWrapper--Chip--Text--Value{max-width:88px;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.inventoryReportsTitleBar--ExtraButtonUi{margin-left:auto;margin-right:30px}.filter-bar{display:flex;padding:.75rem 0rem;align-items:center;justify-content:space-between}.filter-bar .filter-bar--LeftContent{display:flex;align-items:center;gap:1.25rem}.filter-bar .filter-bar--LeftContent h6{color:#7b7c7f;font-size:1rem;font-weight:400;line-height:1.225rem}.filter-bar .filter-bar--LeftContent .hide-btn{color:#7b7c7f;font-size:1rem;font-weight:400;line-height:140%;letter-spacing:-.018rem;background-color:#fff;box-shadow:unset;padding:0rem .5rem}.filter-bar .filter-bar--LeftContent .hide-btn:hover{box-shadow:unset}.filter-bar .filter-bar--LeftContent .filter-chip{border:.063rem solid #f3f2f2;font-size:1rem;font-weight:400;line-height:140%}.filter-bar .filter-bar--LeftContent .subtask-switch{display:flex;align-items:center;gap:.313rem}.filter-bar .filter-bar--LeftContent .subtask-switch .switch{width:1.75rem;height:1.063rem;margin-top:.375rem}.filter-bar .filter-bar--LeftContent .subtask-switch .switch .slider:before{width:.875rem;height:.813rem}.filter-bar .filter-bar--RightContent .enable-filter-btn{display:flex;align-items:center;gap:.625rem;color:#4ac08c;font-size:1rem;font-weight:400;line-height:1.225rem;cursor:pointer}.inventoryReportsTitleBar--RightContent ul{max-height:400px;overflow-y:auto}.inventoryReportsTitleBar--report-filter{display:flex;flex-direction:column;align-items:flex-start}.search-filter{display:flex;gap:4px;width:220px;border:1px solid #ade7cb;border-radius:50px;background-color:#ebf9f2;color:#289b64;padding:4px 12px;align-items:center;cursor:pointer}.search-filter .css-1age63q{display:flex;justify-content:space-between;align-items:center;font-size:14px}.search-filter .css-1age63q p{font-size:14px}.search-filter .css-16hz2ux{height:100%}.search-filter .filter-select .MuiSelect-select{padding:0}
@@ -1 +0,0 @@
1
- .wrapper--WhiteBtn{background-color:#fff!important;color:#1f2125!important}
@@ -1 +0,0 @@
1
- .add-role-drp ul{min-width:12.875rem;border-radius:.5rem;gap:.25rem;display:flex;flex-direction:column}.add-role-drp ul .searchbar-box-list{border:0;padding:.313rem .75rem .5rem}.add-role-drp ul .all-attribute-title{padding:0rem .938rem}.add-role-drp ul .all-attribute-title .MuiTypography-root{font-size:.875rem}.add-role-drp ul .role-drp-list .add-icon{min-width:1.5rem}.add-role-drp ul .role-drp-list .title span{font-size:.938rem;font-weight:400;line-height:1.125rem;letter-spacing:-.02em;color:#656669}.add-role-drp ul .role-drp-list .eye-icon{text-align:right;min-width:2rem}.add-role-drp ul .role-drp-list .eye-icon img{margin-left:auto}.add-role-drp ul .role-drp-list:last-child .title span{color:#1f2125}.add-role-drp ul .role-drp-list:last-child .eye-icon{position:relative;top:.188rem}.add-role-drp ul .role-drp-list:last-child .eye-icon svg{fill:#7b7c7f}.dropdown-inner--DestructiveActions{color:#c64d4d}.dropdown-inner--DestructiveActions:hover{background-color:#fedfdf}.action-items ul{display:flex;text-align:center}.no-data{display:flex;width:100%;flex-direction:column;align-items:center}.add-row-btn{color:#1f2125!important}.MuiTableSortLabel-iconDirectionAsc path:first-child{fill:#232529}.MuiTableSortLabel-iconDirectionAsc path:last-child{fill:#bdbebf}.MuiTableSortLabel-iconDirectionDesc path:first-child{fill:#232529}.MuiTableSortLabel-iconDirectionDesc path:last-child{fill:#bdbebf}.custom-table table th{background-color:#fbfbfb!important}.custom-table table th svg{height:16px!important;width:16px!important}.custom-table table th:nth-child(2) svg{height:20px!important;width:20px!important}.custom-table table th button[aria-label=Move]{display:none;transition:all .3s ease-in-out}.custom-table table th:hover button[aria-label=Move]{display:block}.custom-table .MuiTouchRipple-root{display:none}.custom-table table th span.MuiBadge-root{width:16px}.custom-table table td{font-size:13px!important}
@@ -1 +0,0 @@
1
- .module-tile-container{display:flex;width:10.25rem;padding:1.5rem 1rem;flex-direction:column;align-items:center;gap:1rem;flex-shrink:0}.module-box{display:flex;width:6.25rem;height:6.25rem;border-radius:.75rem;justify-content:center;align-items:center}.module-box.transparent{border:1px solid rgba(31,33,37,.1)}.module-box img{object-fit:none}.module-label{color:#1f2125}