@inventreedb/ui 0.5.1 → 0.7.0

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 (46) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/ActionButton.js.map +1 -1
  3. package/dist/components/AddItemButton.js.map +1 -1
  4. package/dist/components/ButtonMenu.js.map +1 -1
  5. package/dist/components/ProgressBar.js.map +1 -1
  6. package/dist/components/RowActions.js.map +1 -1
  7. package/dist/components/SearchInput.js.map +1 -1
  8. package/dist/components/YesNoButton.js.map +1 -1
  9. package/dist/enums/ApiEndpoints.js.map +1 -1
  10. package/dist/enums/ModelInformation.js.map +1 -1
  11. package/dist/enums/ModelType.js.map +1 -1
  12. package/dist/enums/Roles.js.map +1 -1
  13. package/dist/functions/Api.js.map +1 -1
  14. package/dist/functions/Conversion.js.map +1 -1
  15. package/dist/functions/Formatting.js.map +1 -1
  16. package/dist/functions/Navigation.js.map +1 -1
  17. package/dist/functions/Plugins.js.map +1 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/node_modules/@mantine/hooks/esm/use-debounced-value/use-debounced-value.js +2 -1
  20. package/dist/node_modules/@mantine/hooks/esm/use-debounced-value/use-debounced-value.js.map +1 -1
  21. package/dist/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js.map +1 -1
  22. package/dist/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js.map +1 -1
  23. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js.map +1 -1
  24. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconCircleX.js.map +1 -1
  25. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js.map +1 -1
  26. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconDots.js.map +1 -1
  27. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconEdit.js.map +1 -1
  28. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconPlus.js.map +1 -1
  29. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js.map +1 -1
  30. package/dist/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js.map +1 -1
  31. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +2 -2
  32. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -1
  33. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +1 -1
  34. package/dist/node_modules/react/jsx-runtime.js.map +1 -1
  35. package/dist/types/Auth.d.ts +11 -0
  36. package/dist/types/Core.d.ts +2 -2
  37. package/dist/types/Forms.d.ts +7 -0
  38. package/dist/types/Plugins.d.ts +13 -1
  39. package/dist/types/Plugins.js +2 -2
  40. package/dist/types/Plugins.js.map +1 -1
  41. package/lib/index.ts +11 -1
  42. package/lib/types/Auth.tsx +11 -0
  43. package/lib/types/Core.tsx +2 -2
  44. package/lib/types/Forms.tsx +8 -0
  45. package/lib/types/Plugins.tsx +18 -1
  46. package/package.json +36 -36
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file contains historical changelog information for the InvenTree UI components library.
4
4
 
5
+ ### 0.7.0 - October 2025
6
+
7
+ Exposes stock adjustment forms to plugins, allowing plugins to adjust stock adjustments using the common InvenTree UI form components.
8
+
9
+ ### 0.6.0 - September 2025
10
+
11
+ Updated underlying Mantine library versions.
12
+
5
13
  ### 0.5.0 - August 2025
6
14
 
7
15
  This release updates the base `react` major version from `18.3.1` to `19.1.1`. This change may introduce breaking changes for plugins that rely on the InvenTree UI components library (plugin developers should test their plugins against this new version).
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButton.js","sources":["../../lib/components/ActionButton.tsx"],"sourcesContent":["import {\n ActionIcon,\n type FloatingPosition,\n Group,\n Tooltip\n} from '@mantine/core';\nimport type { ReactNode } from 'react';\n\nimport { identifierString } from '../functions/Conversion';\n\nexport type ActionButtonProps = {\n icon?: ReactNode;\n text?: string;\n color?: string;\n tooltip?: string;\n variant?: string;\n size?: number | string;\n radius?: number | string;\n disabled?: boolean;\n onClick: (event?: any) => void;\n hidden?: boolean;\n tooltipAlignment?: FloatingPosition;\n};\n\n/**\n * Construct a simple action button with consistent styling\n */\nexport function ActionButton(props: ActionButtonProps) {\n const hidden = props.hidden ?? false;\n\n return (\n !hidden && (\n <Tooltip\n key={`tooltip-${props.tooltip ?? props.text}`}\n disabled={!props.tooltip && !props.text}\n label={props.tooltip ?? props.text}\n position={props.tooltipAlignment ?? 'left'}\n >\n <ActionIcon\n key={`action-icon-${props.tooltip ?? props.text}`}\n disabled={props.disabled}\n p={17}\n radius={props.radius ?? 'xs'}\n color={props.color}\n size={props.size}\n aria-label={`action-button-${identifierString(\n props.tooltip ?? props.text ?? ''\n )}`}\n onClick={(event: any) => {\n props.onClick(event);\n }}\n variant={props.variant ?? 'transparent'}\n >\n <Group gap='xs' wrap='nowrap'>\n {props.icon}\n </Group>\n </ActionIcon>\n </Tooltip>\n )\n );\n}\n"],"names":["ActionButton","props","hidden","jsx","tooltip","text","tooltipAlignment","disabled","radius","color","size","identifierString","event","onClick","variant","icon"],"mappings":";;AAAA,MAAA,aAAA,OAAA,aAAA,EAAA;;;AA2BO,SAASA,aAAaC,OAA0B;AAC/CC,QAAAA,SAASD,MAAMC,UAAU;AAG7B,SAAA,CAACA,UACEC,sCAAA,SAAA,EAEC,UAAU,CAACF,MAAMG,WAAW,CAACH,MAAMI,MACnC,OAAOJ,MAAMG,WAAWH,MAAMI,MAC9B,UAAUJ,MAAMK,oBAAoB,QAEpC,UAACH,kCAAA,IAAA,YAAA,EAEC,UAAUF,MAAMM,UAChB,GAAG,IACH,QAAQN,MAAMO,UAAU,MACxB,OAAOP,MAAMQ,OACb,MAAMR,MAAMS,MACZ,cAAY,iBAAiBC,iBAC3BV,MAAMG,WAAWH,MAAMI,QAAQ,EACjC,CAAC,IACD,SAAS,CAACO,UAAe;AACvBX,UAAMY,QAAQD,KAAK;AAAA,EAAA,GAErB,SAASX,MAAMa,WAAW,eAE1B,UAACX,kCAAAA,IAAA,OAAA,EAAM,KAAI,MAAK,MAAK,UAClBF,UAAMc,MAAAA,KAAAA,CACT,KAhBK,eAAed,MAAMG,WAAWH,MAAMI,IAAI,EAiBjD,EAvBK,GAAA,WAAWJ,MAAMG,WAAWH,MAAMI,IAAI,EAwB7C;AAGN;"}
1
+ {"version":3,"file":"ActionButton.js","sources":["../../lib/components/ActionButton.tsx"],"sourcesContent":["import {\n ActionIcon,\n type FloatingPosition,\n Group,\n Tooltip\n} from '@mantine/core';\nimport type { ReactNode } from 'react';\n\nimport { identifierString } from '../functions/Conversion';\n\nexport type ActionButtonProps = {\n icon?: ReactNode;\n text?: string;\n color?: string;\n tooltip?: string;\n variant?: string;\n size?: number | string;\n radius?: number | string;\n disabled?: boolean;\n onClick: (event?: any) => void;\n hidden?: boolean;\n tooltipAlignment?: FloatingPosition;\n};\n\n/**\n * Construct a simple action button with consistent styling\n */\nexport function ActionButton(props: ActionButtonProps) {\n const hidden = props.hidden ?? false;\n\n return (\n !hidden && (\n <Tooltip\n key={`tooltip-${props.tooltip ?? props.text}`}\n disabled={!props.tooltip && !props.text}\n label={props.tooltip ?? props.text}\n position={props.tooltipAlignment ?? 'left'}\n >\n <ActionIcon\n key={`action-icon-${props.tooltip ?? props.text}`}\n disabled={props.disabled}\n p={17}\n radius={props.radius ?? 'xs'}\n color={props.color}\n size={props.size}\n aria-label={`action-button-${identifierString(\n props.tooltip ?? props.text ?? ''\n )}`}\n onClick={(event: any) => {\n props.onClick(event);\n }}\n variant={props.variant ?? 'transparent'}\n >\n <Group gap='xs' wrap='nowrap'>\n {props.icon}\n </Group>\n </ActionIcon>\n </Tooltip>\n )\n );\n}\n"],"names":["ActionButton","props","hidden","jsx","tooltip","text","tooltipAlignment","disabled","radius","color","size","identifierString","event","onClick","variant","icon"],"mappings":";;AAAA,MAAA,aAAA,OAAA,aAAA,EAAA;;;AA2BO,SAASA,aAAaC,OAA0B;AACrD,QAAMC,SAASD,MAAMC,UAAU;AAE/B,SACE,CAACA,UACCC,sCAAC,SAAA,EAEC,UAAU,CAACF,MAAMG,WAAW,CAACH,MAAMI,MACnC,OAAOJ,MAAMG,WAAWH,MAAMI,MAC9B,UAAUJ,MAAMK,oBAAoB,QAEpC,UAAAH,kCAAAA,IAAC,YAAA,EAEC,UAAUF,MAAMM,UAChB,GAAG,IACH,QAAQN,MAAMO,UAAU,MACxB,OAAOP,MAAMQ,OACb,MAAMR,MAAMS,MACZ,cAAY,iBAAiBC,iBAC3BV,MAAMG,WAAWH,MAAMI,QAAQ,EACjC,CAAC,IACD,SAAS,CAACO,UAAe;AACvBX,UAAMY,QAAQD,KAAK;AAAA,EACrB,GACA,SAASX,MAAMa,WAAW,eAE1B,UAAAX,kCAAAA,IAAC,OAAA,EAAM,KAAI,MAAK,MAAK,UAClBF,UAAAA,MAAMc,KAAAA,CACT,KAhBK,eAAed,MAAMG,WAAWH,MAAMI,IAAI,EAiBjD,EAAA,GAvBK,WAAWJ,MAAMG,WAAWH,MAAMI,IAAI,EAwB7C;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddItemButton.js","sources":["../../lib/components/AddItemButton.tsx"],"sourcesContent":["import { IconPlus } from '@tabler/icons-react';\n\nimport { ActionButton, type ActionButtonProps } from './ActionButton';\n\n/**\n * A generic icon button which is used to add or create a new item\n */\nexport function AddItemButton(props: Readonly<ActionButtonProps>) {\n return <ActionButton {...props} color='green' icon={<IconPlus />} />;\n}\n"],"names":["AddItemButton","props","jsx"],"mappings":";;;AAOO,SAASA,cAAcC,OAAoC;AACzD,SAAAC,sCAAC,mBAAiBD,OAAO,OAAM,SAAQ,MAAOC,kCAAA,IAAA,UAAA,CAAA,CAAQ,EAAO,CAAA;AACtE;"}
1
+ {"version":3,"file":"AddItemButton.js","sources":["../../lib/components/AddItemButton.tsx"],"sourcesContent":["import { IconPlus } from '@tabler/icons-react';\n\nimport { ActionButton, type ActionButtonProps } from './ActionButton';\n\n/**\n * A generic icon button which is used to add or create a new item\n */\nexport function AddItemButton(props: Readonly<ActionButtonProps>) {\n return <ActionButton {...props} color='green' icon={<IconPlus />} />;\n}\n"],"names":["AddItemButton","props","jsx"],"mappings":";;;AAOO,SAASA,cAAcC,OAAoC;AAChE,SAAOC,sCAAC,mBAAiBD,OAAO,OAAM,SAAQ,MAAMC,kCAAAA,IAAC,UAAA,CAAA,CAAQ,EAAA,CAAI;AACnE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonMenu.js","sources":["../../lib/components/ButtonMenu.tsx"],"sourcesContent":["import { ActionIcon, Menu, Tooltip } from '@mantine/core';\n\n/**\n * A ButtonMenu is a button that opens a menu when clicked.\n * It features a number of actions, which can be selected by the user.\n */\nexport function ButtonMenu({\n icon,\n actions,\n tooltip = '',\n label = ''\n}: Readonly<{\n icon: any;\n actions: React.ReactNode[];\n label?: string;\n tooltip?: string;\n}>) {\n return (\n <Menu shadow='xs'>\n <Menu.Target>\n <ActionIcon variant='default'>\n <Tooltip label={tooltip}>{icon}</Tooltip>\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {label && <Menu.Label>{label}</Menu.Label>}\n {actions.map((action, i) => (\n <Menu.Item key={`${i}-${action}`}>{action}</Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n}\n"],"names":["ButtonMenu","icon","actions","tooltip","label","jsxs","jsx","map","action","i"],"mappings":";AAAA,MAAA,aAAA,OAAA,aAAA,EAAA;;;AAMO,SAASA,WAAW;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,UAAU;AAAA,EACVC,QAAQ;AAMT,GAAG;AAEA,SAAAC,kCAAA,KAAC,MAAK,EAAA,QAAO,MACX,UAAA;AAAA,IAAAC,sCAAC,KAAK,QAAL,EACC,UAAAA,kCAAAA,IAAC,YAAW,EAAA,SAAQ,WAClB,UAAAA,sCAAC,SAAQ,EAAA,OAAOH,SAAUF,UAAAA,KAAAA,CAAK,EACjC,CAAA,GACF;AAAA,IACAI,kCAAAA,KAAC,KAAK,UAAL,EACED,UAAAA;AAAAA,MAAAA,SAAUE,kCAAA,IAAA,KAAK,OAAL,EAAYF,UAAM,OAAA;AAAA,MAC5BF,QAAQK,IAAI,CAACC,QAAQC,MACnBH,kCAAAA,IAAA,KAAK,MAAL,EAAkCE,oBAAnB,GAAGC,CAAC,IAAID,MAAM,EAAY,CAC3C;AAAA,IAAA,EACH,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"ButtonMenu.js","sources":["../../lib/components/ButtonMenu.tsx"],"sourcesContent":["import { ActionIcon, Menu, Tooltip } from '@mantine/core';\n\n/**\n * A ButtonMenu is a button that opens a menu when clicked.\n * It features a number of actions, which can be selected by the user.\n */\nexport function ButtonMenu({\n icon,\n actions,\n tooltip = '',\n label = ''\n}: Readonly<{\n icon: any;\n actions: React.ReactNode[];\n label?: string;\n tooltip?: string;\n}>) {\n return (\n <Menu shadow='xs'>\n <Menu.Target>\n <ActionIcon variant='default'>\n <Tooltip label={tooltip}>{icon}</Tooltip>\n </ActionIcon>\n </Menu.Target>\n <Menu.Dropdown>\n {label && <Menu.Label>{label}</Menu.Label>}\n {actions.map((action, i) => (\n <Menu.Item key={`${i}-${action}`}>{action}</Menu.Item>\n ))}\n </Menu.Dropdown>\n </Menu>\n );\n}\n"],"names":["ButtonMenu","icon","actions","tooltip","label","jsxs","jsx","map","action","i"],"mappings":";AAAA,MAAA,aAAA,OAAA,aAAA,EAAA;;;AAMO,SAASA,WAAW;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC,UAAU;AAAA,EACVC,QAAQ;AAMT,GAAG;AACF,SACEC,kCAAAA,KAAC,MAAA,EAAK,QAAO,MACX,UAAA;AAAA,IAAAC,sCAAC,KAAK,QAAL,EACC,UAAAA,kCAAAA,IAAC,YAAA,EAAW,SAAQ,WAClB,UAAAA,sCAAC,SAAA,EAAQ,OAAOH,SAAUF,UAAAA,KAAAA,CAAK,GACjC,GACF;AAAA,IACAI,kCAAAA,KAAC,KAAK,UAAL,EACED,UAAAA;AAAAA,MAAAA,SAASE,kCAAAA,IAAC,KAAK,OAAL,EAAYF,UAAAA,OAAM;AAAA,MAC5BF,QAAQK,IAAI,CAACC,QAAQC,MACpBH,kCAAAA,IAAC,KAAK,MAAL,EAAkCE,oBAAnB,GAAGC,CAAC,IAAID,MAAM,EAAY,CAC3C;AAAA,IAAA,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sources":["../../lib/components/ProgressBar.tsx"],"sourcesContent":["import { Progress, Stack, Text } from '@mantine/core';\nimport { useMemo } from 'react';\nimport { formatDecimal } from '../functions/Formatting';\n\nexport type ProgressBarProps = {\n value: number;\n maximum?: number;\n label?: string;\n progressLabel?: boolean;\n animated?: boolean;\n size?: string;\n};\n\n/**\n * A progress bar element, built on mantine.Progress\n * The color of the bar is determined based on the value\n */\nexport function ProgressBar(props: Readonly<ProgressBarProps>) {\n const progress = useMemo(() => {\n const maximum = props.maximum ?? 100;\n const value = Math.max(props.value, 0);\n\n if (maximum == 0) {\n return 0;\n }\n\n return (value / maximum) * 100;\n }, [props]);\n\n return (\n <Stack gap={2} style={{ flexGrow: 1, minWidth: '100px' }}>\n {props.progressLabel && (\n <Text ta='center' size='xs'>\n {formatDecimal(props.value)} / {formatDecimal(props.maximum)}\n </Text>\n )}\n <Progress\n value={progress}\n color={progress < 100 ? 'orange' : progress > 100 ? 'blue' : 'green'}\n size={props.size ?? 'md'}\n radius='sm'\n animated={props.animated}\n />\n </Stack>\n );\n}\n"],"names":["ProgressBar","props","progress","useMemo","maximum","value","Math","max","jsxs","flexGrow","minWidth","progressLabel","formatDecimal","jsx","size","animated"],"mappings":";;AAAA,MAAA,WAAA,OAAA,aAAA,EAAA;;;AACA,MAAA,UAAA,OAAA,OAAA,EAAA;AAgBO,SAASA,YAAYC,OAAmC;AACvDC,QAAAA,WAAWC,QAAQ,MAAM;AACvBC,UAAAA,UAAUH,MAAMG,WAAW;AACjC,UAAMC,QAAQC,KAAKC,IAAIN,MAAMI,OAAO,CAAC;AAErC,QAAID,WAAW,GAAG;AACT,aAAA;AAAA,IAAA;AAGT,WAAQC,QAAQD,UAAW;AAAA,EAAA,GAC1B,CAACH,KAAK,CAAC;AAEV,SACGO,kCAAA,KAAA,OAAA,EAAM,KAAK,GAAG,OAAO;AAAA,IAAEC,UAAU;AAAA,IAAGC,UAAU;AAAA,EAC5CT,GAAAA,UAAAA;AAAAA,IAAAA,MAAMU,iBACJH,kCAAA,KAAA,MAAA,EAAK,IAAG,UAAS,MAAK,MACpBI,UAAAA;AAAAA,MAAAA,cAAcX,MAAMI,KAAK;AAAA,MAAE;AAAA,MAAIO,cAAcX,MAAMG,OAAO;AAAA,IAAA,GAC7D;AAAA,IAEFS,sCAAC,YACC,OAAOX,UACP,OAAOA,WAAW,MAAM,WAAWA,WAAW,MAAM,SAAS,SAC7D,MAAMD,MAAMa,QAAQ,MACpB,QAAO,MACP,UAAUb,MAAMc,SAAS,CAAA;AAAA,EAAA,GAE7B;AAEJ;"}
1
+ {"version":3,"file":"ProgressBar.js","sources":["../../lib/components/ProgressBar.tsx"],"sourcesContent":["import { Progress, Stack, Text } from '@mantine/core';\nimport { useMemo } from 'react';\nimport { formatDecimal } from '../functions/Formatting';\n\nexport type ProgressBarProps = {\n value: number;\n maximum?: number;\n label?: string;\n progressLabel?: boolean;\n animated?: boolean;\n size?: string;\n};\n\n/**\n * A progress bar element, built on mantine.Progress\n * The color of the bar is determined based on the value\n */\nexport function ProgressBar(props: Readonly<ProgressBarProps>) {\n const progress = useMemo(() => {\n const maximum = props.maximum ?? 100;\n const value = Math.max(props.value, 0);\n\n if (maximum == 0) {\n return 0;\n }\n\n return (value / maximum) * 100;\n }, [props]);\n\n return (\n <Stack gap={2} style={{ flexGrow: 1, minWidth: '100px' }}>\n {props.progressLabel && (\n <Text ta='center' size='xs'>\n {formatDecimal(props.value)} / {formatDecimal(props.maximum)}\n </Text>\n )}\n <Progress\n value={progress}\n color={progress < 100 ? 'orange' : progress > 100 ? 'blue' : 'green'}\n size={props.size ?? 'md'}\n radius='sm'\n animated={props.animated}\n />\n </Stack>\n );\n}\n"],"names":["ProgressBar","props","progress","useMemo","maximum","value","Math","max","jsxs","flexGrow","minWidth","progressLabel","formatDecimal","jsx","size","animated"],"mappings":";;AAAA,MAAA,WAAA,OAAA,aAAA,EAAA;;;AACA,MAAA,UAAA,OAAA,OAAA,EAAA;AAgBO,SAASA,YAAYC,OAAmC;AAC7D,QAAMC,WAAWC,QAAQ,MAAM;AAC7B,UAAMC,UAAUH,MAAMG,WAAW;AACjC,UAAMC,QAAQC,KAAKC,IAAIN,MAAMI,OAAO,CAAC;AAErC,QAAID,WAAW,GAAG;AAChB,aAAO;AAAA,IACT;AAEA,WAAQC,QAAQD,UAAW;AAAA,EAC7B,GAAG,CAACH,KAAK,CAAC;AAEV,SACEO,kCAAAA,KAAC,OAAA,EAAM,KAAK,GAAG,OAAO;AAAA,IAAEC,UAAU;AAAA,IAAGC,UAAU;AAAA,EAAA,GAC5CT,UAAAA;AAAAA,IAAAA,MAAMU,iBACLH,kCAAAA,KAAC,MAAA,EAAK,IAAG,UAAS,MAAK,MACpBI,UAAAA;AAAAA,MAAAA,cAAcX,MAAMI,KAAK;AAAA,MAAE;AAAA,MAAIO,cAAcX,MAAMG,OAAO;AAAA,IAAA,GAC7D;AAAA,IAEFS,sCAAC,YACC,OAAOX,UACP,OAAOA,WAAW,MAAM,WAAWA,WAAW,MAAM,SAAS,SAC7D,MAAMD,MAAMa,QAAQ,MACpB,QAAO,MACP,UAAUb,MAAMc,SAAAA,CAAS;AAAA,EAAA,GAE7B;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.js","sources":["../../lib/components/RowActions.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { ActionIcon, Menu, Tooltip } from '@mantine/core';\nimport {\n IconArrowRight,\n IconCircleX,\n IconCopy,\n IconDots,\n IconEdit,\n IconTrash\n} from '@tabler/icons-react';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { cancelEvent } from '../functions/Events';\nimport { getDetailUrl } from '../functions/Navigation';\nimport { navigateToLink } from '../functions/Navigation';\nimport type { RowAction, RowViewProps } from '../types/Tables';\n\nexport type { RowAction, RowViewProps } from '../types/Tables';\n\n// Component for viewing a row in a table\nexport function RowViewAction(props: RowViewProps): RowAction {\n return {\n ...props,\n color: undefined,\n icon: <IconArrowRight />,\n onClick: (event: any) => {\n const url = getDetailUrl(props.modelType, props.modelId);\n navigateToLink(url, props.navigate, event);\n }\n };\n}\n\n// Component for duplicating a row in a table\nexport function RowDuplicateAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Duplicate`,\n color: 'green',\n icon: <IconCopy />\n };\n}\n\n// Component for editing a row in a table\nexport function RowEditAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Edit`,\n color: 'blue',\n icon: <IconEdit />\n };\n}\n\n// Component for deleting a row in a table\nexport function RowDeleteAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Delete`,\n color: 'red',\n icon: <IconTrash />\n };\n}\n\n// Component for cancelling a row in a table\nexport function RowCancelAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Cancel`,\n color: 'red',\n icon: <IconCircleX />\n };\n}\n\n/**\n * Component for displaying actions for a row in a table.\n * Displays a simple dropdown menu with a list of actions.\n */\nexport function RowActions({\n title,\n actions,\n disabled = false,\n index\n}: {\n title?: string;\n disabled?: boolean;\n actions: RowAction[];\n index?: number;\n}): ReactNode {\n // Prevent default event handling\n // Ref: https://icflorescu.github.io/mantine-datatable/examples/links-or-buttons-inside-clickable-rows-or-cells\n function openMenu(event: any) {\n cancelEvent(event);\n setOpened(!opened);\n }\n\n const [opened, setOpened] = useState(false);\n\n const visibleActions = useMemo(() => {\n return actions.filter((action) => !action.hidden);\n }, [actions]);\n\n // Render a single action icon\n function RowActionIcon(action: Readonly<RowAction>) {\n return (\n <Tooltip\n withinPortal={true}\n label={action.tooltip ?? action.title}\n key={action.title}\n position='left'\n >\n <Menu.Item\n color={action.color}\n leftSection={action.icon}\n onClick={(event) => {\n // Prevent clicking on the action from selecting the row itself\n cancelEvent(event);\n action.onClick?.(event);\n setOpened(false);\n }}\n disabled={action.disabled || false}\n >\n {action.title}\n </Menu.Item>\n </Tooltip>\n );\n }\n\n return (\n visibleActions.length > 0 && (\n <Menu\n withinPortal={true}\n disabled={disabled}\n position='bottom-end'\n opened={opened}\n onChange={setOpened}\n >\n <Menu.Target>\n <Tooltip withinPortal={true} label={title || t`Actions`}>\n <ActionIcon\n key={`row-action-menu-${index ?? ''}`}\n aria-label={`row-action-menu-${index ?? ''}`}\n onClick={openMenu}\n disabled={disabled}\n variant='subtle'\n color='gray'\n >\n <IconDots />\n </ActionIcon>\n </Tooltip>\n </Menu.Target>\n <Menu.Dropdown>\n {visibleActions.map((action) => (\n <RowActionIcon key={action.title} {...action} />\n ))}\n </Menu.Dropdown>\n </Menu>\n )\n );\n}\n"],"names":["RowViewAction","props","color","undefined","icon","onClick","event","url","getDetailUrl","modelType","modelId","navigate","RowDuplicateAction","title","_i18n","_","id","RowEditAction","RowDeleteAction","RowCancelAction","RowActions","actions","disabled","index","openMenu","cancelEvent","setOpened","opened","useState","visibleActions","useMemo","filter","action","hidden","RowActionIcon","jsx","tooltip","length","jsxs","map"],"mappings":"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"}
1
+ {"version":3,"file":"RowActions.js","sources":["../../lib/components/RowActions.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { ActionIcon, Menu, Tooltip } from '@mantine/core';\nimport {\n IconArrowRight,\n IconCircleX,\n IconCopy,\n IconDots,\n IconEdit,\n IconTrash\n} from '@tabler/icons-react';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { cancelEvent } from '../functions/Events';\nimport { getDetailUrl } from '../functions/Navigation';\nimport { navigateToLink } from '../functions/Navigation';\nimport type { RowAction, RowViewProps } from '../types/Tables';\n\nexport type { RowAction, RowViewProps } from '../types/Tables';\n\n// Component for viewing a row in a table\nexport function RowViewAction(props: RowViewProps): RowAction {\n return {\n ...props,\n color: undefined,\n icon: <IconArrowRight />,\n onClick: (event: any) => {\n const url = getDetailUrl(props.modelType, props.modelId);\n navigateToLink(url, props.navigate, event);\n }\n };\n}\n\n// Component for duplicating a row in a table\nexport function RowDuplicateAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Duplicate`,\n color: 'green',\n icon: <IconCopy />\n };\n}\n\n// Component for editing a row in a table\nexport function RowEditAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Edit`,\n color: 'blue',\n icon: <IconEdit />\n };\n}\n\n// Component for deleting a row in a table\nexport function RowDeleteAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Delete`,\n color: 'red',\n icon: <IconTrash />\n };\n}\n\n// Component for cancelling a row in a table\nexport function RowCancelAction(props: RowAction): RowAction {\n return {\n ...props,\n title: t`Cancel`,\n color: 'red',\n icon: <IconCircleX />\n };\n}\n\n/**\n * Component for displaying actions for a row in a table.\n * Displays a simple dropdown menu with a list of actions.\n */\nexport function RowActions({\n title,\n actions,\n disabled = false,\n index\n}: {\n title?: string;\n disabled?: boolean;\n actions: RowAction[];\n index?: number;\n}): ReactNode {\n // Prevent default event handling\n // Ref: https://icflorescu.github.io/mantine-datatable/examples/links-or-buttons-inside-clickable-rows-or-cells\n function openMenu(event: any) {\n cancelEvent(event);\n setOpened(!opened);\n }\n\n const [opened, setOpened] = useState(false);\n\n const visibleActions = useMemo(() => {\n return actions.filter((action) => !action.hidden);\n }, [actions]);\n\n // Render a single action icon\n function RowActionIcon(action: Readonly<RowAction>) {\n return (\n <Tooltip\n withinPortal={true}\n label={action.tooltip ?? action.title}\n key={action.title}\n position='left'\n >\n <Menu.Item\n color={action.color}\n leftSection={action.icon}\n onClick={(event) => {\n // Prevent clicking on the action from selecting the row itself\n cancelEvent(event);\n action.onClick?.(event);\n setOpened(false);\n }}\n disabled={action.disabled || false}\n >\n {action.title}\n </Menu.Item>\n </Tooltip>\n );\n }\n\n return (\n visibleActions.length > 0 && (\n <Menu\n withinPortal={true}\n disabled={disabled}\n position='bottom-end'\n opened={opened}\n onChange={setOpened}\n >\n <Menu.Target>\n <Tooltip withinPortal={true} label={title || t`Actions`}>\n <ActionIcon\n key={`row-action-menu-${index ?? ''}`}\n aria-label={`row-action-menu-${index ?? ''}`}\n onClick={openMenu}\n disabled={disabled}\n variant='subtle'\n color='gray'\n >\n <IconDots />\n </ActionIcon>\n </Tooltip>\n </Menu.Target>\n <Menu.Dropdown>\n {visibleActions.map((action) => (\n <RowActionIcon key={action.title} {...action} />\n ))}\n </Menu.Dropdown>\n </Menu>\n )\n );\n}\n"],"names":["RowViewAction","props","color","undefined","icon","onClick","event","url","getDetailUrl","modelType","modelId","navigateToLink","navigate","RowDuplicateAction","title","_i18n","_","id","RowEditAction","RowDeleteAction","RowCancelAction","RowActions","actions","disabled","index","openMenu","cancelEvent","setOpened","opened","useState","visibleActions","useMemo","filter","action","hidden","RowActionIcon","jsx","tooltip","length","jsxs","map"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../lib/components/SearchInput.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { CloseButton, TextInput } from '@mantine/core';\nimport { useDebouncedValue } from '@mantine/hooks';\nimport { IconSearch } from '@tabler/icons-react';\nimport { useEffect, useState } from 'react';\n\n/**\n * A search input component that debounces user input\n */\nexport function SearchInput({\n disabled,\n debounce,\n placeholder,\n searchCallback\n}: Readonly<{\n disabled?: boolean;\n debounce?: number;\n placeholder?: string;\n searchCallback: (searchTerm: string) => void;\n}>) {\n const [value, setValue] = useState<string>('');\n const [searchText] = useDebouncedValue(value, debounce ?? 500);\n\n useEffect(() => {\n searchCallback(searchText);\n }, [searchText]);\n\n return (\n <TextInput\n value={value}\n disabled={disabled}\n aria-label='table-search-input'\n leftSection={<IconSearch />}\n placeholder={placeholder ?? t`Search`}\n onChange={(event) => setValue(event.target.value)}\n rightSection={\n value.length > 0 ? (\n <CloseButton\n size='xs'\n onClick={() => {\n setValue('');\n searchCallback('');\n }}\n />\n ) : null\n }\n />\n );\n}\n"],"names":["SearchInput","disabled","debounce","placeholder","searchCallback","value","setValue","useState","searchText","useDebouncedValue","useEffect","jsx","_i18n","_","id","event","target","length"],"mappings":";;;AAAA,MAAA,QAAA,OAAA,YAAA,EAAA;AACA,MAAA,cAAA,OAAA,aAAA,EAAA;;AAGA,MAAA,YAAA,OAAA,OAAA,EAAA;;AAKO,SAASA,YAAY;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAMD,GAAG;AACF,QAAM,CAACC,OAAOC,QAAQ,IAAIC,SAAiB,EAAE;AAC7C,QAAM,CAACC,UAAU,IAAIC,kBAAkBJ,OAAOH,YAAY,GAAG;AAE7DQ,YAAU,MAAM;AACdN,mBAAeI,UAAU;AAAA,EAAA,GACxB,CAACA,UAAU,CAAC;AAEf,SACGG,kCAAAA,IAAA,WAAA,EACC,OACA,UACA,cAAW,sBACX,aAAaA,kCAAA,IAAC,YAAa,CAAA,CAAA,GAC3B,aAAaR,eAAWS,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAQ,GACpC,UAAWC,CAAAA,UAAUT,SAASS,MAAMC,OAAOX,KAAK,GAChD,cACEA,MAAMY,SAAS,IACbN,sCAAC,eACC,MAAK,MACL,SAAS,MAAM;AACbL,aAAS,EAAE;AACXF,mBAAe,EAAE;AAAA,EAAA,EACjB,CAAA,IAEF,MAEN;AAEN;"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../lib/components/SearchInput.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { CloseButton, TextInput } from '@mantine/core';\nimport { useDebouncedValue } from '@mantine/hooks';\nimport { IconSearch } from '@tabler/icons-react';\nimport { useEffect, useState } from 'react';\n\n/**\n * A search input component that debounces user input\n */\nexport function SearchInput({\n disabled,\n debounce,\n placeholder,\n searchCallback\n}: Readonly<{\n disabled?: boolean;\n debounce?: number;\n placeholder?: string;\n searchCallback: (searchTerm: string) => void;\n}>) {\n const [value, setValue] = useState<string>('');\n const [searchText] = useDebouncedValue(value, debounce ?? 500);\n\n useEffect(() => {\n searchCallback(searchText);\n }, [searchText]);\n\n return (\n <TextInput\n value={value}\n disabled={disabled}\n aria-label='table-search-input'\n leftSection={<IconSearch />}\n placeholder={placeholder ?? t`Search`}\n onChange={(event) => setValue(event.target.value)}\n rightSection={\n value.length > 0 ? (\n <CloseButton\n size='xs'\n onClick={() => {\n setValue('');\n searchCallback('');\n }}\n />\n ) : null\n }\n />\n );\n}\n"],"names":["SearchInput","disabled","debounce","placeholder","searchCallback","value","setValue","useState","searchText","useDebouncedValue","useEffect","jsx","_i18n","_","id","event","target","length"],"mappings":";;;AAAA,MAAA,QAAA,OAAA,YAAA,EAAA;AACA,MAAA,cAAA,OAAA,aAAA,EAAA;;AAGA,MAAA,YAAA,OAAA,OAAA,EAAA;;AAKO,SAASA,YAAY;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAMD,GAAG;AACF,QAAM,CAACC,OAAOC,QAAQ,IAAIC,SAAiB,EAAE;AAC7C,QAAM,CAACC,UAAU,IAAIC,kBAAkBJ,OAAOH,YAAY,GAAG;AAE7DQ,YAAU,MAAM;AACdN,mBAAeI,UAAU;AAAA,EAC3B,GAAG,CAACA,UAAU,CAAC;AAEf,SACEG,kCAAAA,IAAC,WAAA,EACC,OACA,UACA,cAAW,sBACX,aAAaA,kCAAAA,IAAC,YAAA,CAAA,CAAU,GACxB,aAAaR,eAAWS,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAQ,GACpC,UAAWC,CAAAA,UAAUT,SAASS,MAAMC,OAAOX,KAAK,GAChD,cACEA,MAAMY,SAAS,IACbN,sCAAC,eACC,MAAK,MACL,SAAS,MAAM;AACbL,aAAS,EAAE;AACXF,mBAAe,EAAE;AAAA,EACnB,EAAA,CAAE,IAEF,MACL;AAGP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"YesNoButton.js","sources":["../../lib/components/YesNoButton.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { Badge, type MantineColor, Skeleton } from '@mantine/core';\n\nimport { isTrue } from '../functions/Conversion';\n\nexport function PassFailButton({\n value,\n passText,\n failText,\n passColor,\n failColor\n}: Readonly<{\n value: any;\n passText?: string;\n failText?: string;\n passColor?: MantineColor;\n failColor?: MantineColor;\n}>) {\n const v = isTrue(value);\n const pass = passText ?? t`Pass`;\n const fail = failText ?? t`Fail`;\n\n const pColor = passColor ?? 'green';\n const fColor = failColor ?? 'red';\n\n return (\n <Badge\n color={v ? pColor : fColor}\n variant='filled'\n radius='lg'\n size='sm'\n style={{ maxWidth: '50px' }}\n >\n {v ? pass : fail}\n </Badge>\n );\n}\n\nexport function YesNoButton({ value }: Readonly<{ value: any }>) {\n return (\n <PassFailButton\n value={value}\n passText={t`Yes`}\n failText={t`No`}\n failColor={'orange.6'}\n />\n );\n}\n\nexport function YesNoUndefinedButton({ value }: Readonly<{ value?: boolean }>) {\n if (value === undefined) {\n return <Skeleton height={15} width={32} />;\n } else {\n return <YesNoButton value={value} />;\n }\n}\n"],"names":["PassFailButton","value","passText","failText","passColor","failColor","v","isTrue","pass","_i18n","_","id","fail","pColor","fColor","jsx","maxWidth","YesNoButton"],"mappings":";;AAAA,MAAA,QAAA,OAAA,YAAA,EAAA;AACA,MAAA,QAAA,OAAA,aAAA,EAAA;;AAIO,SAASA,eAAe;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAOD,GAAG;AACIC,QAAAA,IAAIC,OAAON,KAAK;AAChBO,QAAAA,OAAON,YAAQO,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAO;AAC1BC,QAAAA,OAAOT,YAAQM,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAO;AAEhC,QAAME,SAAST,aAAa;AAC5B,QAAMU,SAAST,aAAa;AAE5B,SACGU,kCAAA,IAAA,OAAA,EACC,OAAOT,IAAIO,SAASC,QACpB,SAAQ,UACR,QAAO,MACP,MAAK,MACL,OAAO;AAAA,IAAEE,UAAU;AAAA,EAAO,GAEzBV,UAAIE,IAAAA,OAAOI,KACd,CAAA;AAEJ;AAEO,SAASK,YAAY;AAAA,EAAEhB;AAAgC,GAAG;AAC/D,SACGc,kCAAAA,IAAA,gBAAA,EACC,OACA,UAASN,MAAAC;AAAAA;AAAAA,IAAC;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAK,GACf,UAASF,MAAAC;AAAAA;AAAAA,IAAC;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAI,GACd,WAAW,YACX;AAEN;"}
1
+ {"version":3,"file":"YesNoButton.js","sources":["../../lib/components/YesNoButton.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport { Badge, type MantineColor, Skeleton } from '@mantine/core';\n\nimport { isTrue } from '../functions/Conversion';\n\nexport function PassFailButton({\n value,\n passText,\n failText,\n passColor,\n failColor\n}: Readonly<{\n value: any;\n passText?: string;\n failText?: string;\n passColor?: MantineColor;\n failColor?: MantineColor;\n}>) {\n const v = isTrue(value);\n const pass = passText ?? t`Pass`;\n const fail = failText ?? t`Fail`;\n\n const pColor = passColor ?? 'green';\n const fColor = failColor ?? 'red';\n\n return (\n <Badge\n color={v ? pColor : fColor}\n variant='filled'\n radius='lg'\n size='sm'\n style={{ maxWidth: '50px' }}\n >\n {v ? pass : fail}\n </Badge>\n );\n}\n\nexport function YesNoButton({ value }: Readonly<{ value: any }>) {\n return (\n <PassFailButton\n value={value}\n passText={t`Yes`}\n failText={t`No`}\n failColor={'orange.6'}\n />\n );\n}\n\nexport function YesNoUndefinedButton({ value }: Readonly<{ value?: boolean }>) {\n if (value === undefined) {\n return <Skeleton height={15} width={32} />;\n } else {\n return <YesNoButton value={value} />;\n }\n}\n"],"names":["PassFailButton","value","passText","failText","passColor","failColor","v","isTrue","pass","_i18n","_","id","fail","pColor","fColor","jsx","maxWidth","YesNoButton"],"mappings":";;AAAA,MAAA,QAAA,OAAA,YAAA,EAAA;AACA,MAAA,QAAA,OAAA,aAAA,EAAA;;AAIO,SAASA,eAAe;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAOD,GAAG;AACF,QAAMC,IAAIC,OAAON,KAAK;AACtB,QAAMO,OAAON,YAAQO,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAM;AAC/B,QAAMC,OAAOT,YAAQM,MAAAC;AAAAA;AAAAA,IAAI;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAM;AAE/B,QAAME,SAAST,aAAa;AAC5B,QAAMU,SAAST,aAAa;AAE5B,SACEU,kCAAAA,IAAC,OAAA,EACC,OAAOT,IAAIO,SAASC,QACpB,SAAQ,UACR,QAAO,MACP,MAAK,MACL,OAAO;AAAA,IAAEE,UAAU;AAAA,EAAA,GAElBV,UAAAA,IAAIE,OAAOI,KAAAA,CACd;AAEJ;AAEO,SAASK,YAAY;AAAA,EAAEhB;AAAgC,GAAG;AAC/D,SACEc,kCAAAA,IAAC,gBAAA,EACC,OACA,UAASN,MAAAC;AAAAA;AAAAA,IAAC;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAK,GACf,UAASF,MAAAC;AAAAA;AAAAA,IAAC;AAAA,MAAAC,IAAA;AAAA,IAAA;AAAA,EAAI,GACd,WAAW,YAAW;AAG5B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiEndpoints.js","sources":["../../lib/enums/ApiEndpoints.tsx"],"sourcesContent":["/*\n * Enumeration of available API endpoints.\n *\n * In the cases where endpoints can be accessed with a primary key,\n * the primary key should be appended to the endpoint.\n * The exception to this is when the endpoint provides an :id parameter.\n */\n\nexport enum ApiEndpoints {\n api_server_info = '',\n\n // User API endpoints\n user_list = 'user/',\n user_set_password = 'user/:id/set-password/',\n user_me = 'user/me/',\n user_profile = 'user/profile/',\n user_roles = 'user/roles/',\n user_token = 'user/token/',\n user_tokens = 'user/tokens/',\n user_simple_login = 'email/generate/',\n\n // User auth endpoints\n user_reset = 'auth/v1/auth/password/request',\n user_reset_set = 'auth/v1/auth/password/reset',\n auth_pwd_change = 'auth/v1/account/password/change',\n auth_login = 'auth/v1/auth/login',\n auth_login_2fa = 'auth/v1/auth/2fa/authenticate',\n auth_session = 'auth/v1/auth/session',\n auth_signup = 'auth/v1/auth/signup',\n auth_authenticators = 'auth/v1/account/authenticators',\n auth_recovery = 'auth/v1/account/authenticators/recovery-codes',\n auth_mfa_reauthenticate = 'auth/v1/auth/2fa/reauthenticate',\n auth_totp = 'auth/v1/account/authenticators/totp',\n auth_trust = 'auth/v1/auth/2fa/trust',\n auth_reauthenticate = 'auth/v1/auth/reauthenticate',\n auth_email = 'auth/v1/account/email',\n auth_email_verify = 'auth/v1/auth/email/verify',\n auth_providers = 'auth/v1/account/providers',\n auth_provider_redirect = 'auth/v1/auth/provider/redirect',\n auth_config = 'auth/v1/config',\n\n // Generic API endpoints\n currency_list = 'currency/exchange/',\n currency_refresh = 'currency/refresh/',\n all_units = 'units/all/',\n task_overview = 'background-task/',\n task_pending_list = 'background-task/pending/',\n task_scheduled_list = 'background-task/scheduled/',\n task_failed_list = 'background-task/failed/',\n api_search = 'search/',\n settings_global_list = 'settings/global/',\n settings_user_list = 'settings/user/',\n news = 'news/',\n global_status = 'generic/status/',\n custom_state_list = 'generic/status/custom/',\n version = 'version/',\n license = 'license/',\n group_list = 'user/group/',\n owner_list = 'user/owner/',\n ruleset_list = 'user/ruleset/',\n content_type_list = 'contenttype/',\n icons = 'icons/',\n selectionlist_list = 'selection/',\n selectionlist_detail = 'selection/:id/',\n\n // Barcode API endpoints\n barcode = 'barcode/',\n barcode_history = 'barcode/history/',\n barcode_link = 'barcode/link/',\n barcode_unlink = 'barcode/unlink/',\n barcode_generate = 'barcode/generate/',\n\n // Data output endpoints\n data_output = 'data-output/',\n\n // Data import endpoints\n import_session_list = 'importer/session/',\n import_session_accept_fields = 'importer/session/:id/accept_fields/',\n import_session_accept_rows = 'importer/session/:id/accept_rows/',\n import_session_column_mapping_list = 'importer/column-mapping/',\n import_session_row_list = 'importer/row/',\n\n // Notification endpoints\n notifications_list = 'notifications/',\n notifications_readall = 'notifications/readall/',\n\n // Build API endpoints\n build_order_list = 'build/',\n build_order_issue = 'build/:id/issue/',\n build_order_cancel = 'build/:id/cancel/',\n build_order_hold = 'build/:id/hold/',\n build_order_complete = 'build/:id/finish/',\n build_output_complete = 'build/:id/complete/',\n build_output_create = 'build/:id/create-output/',\n build_output_scrap = 'build/:id/scrap-outputs/',\n build_output_delete = 'build/:id/delete-outputs/',\n build_order_auto_allocate = 'build/:id/auto-allocate/',\n build_order_allocate = 'build/:id/allocate/',\n build_order_consume = 'build/:id/consume/',\n build_order_deallocate = 'build/:id/unallocate/',\n\n build_line_list = 'build/line/',\n build_item_list = 'build/item/',\n\n bom_list = 'bom/',\n bom_item_validate = 'bom/:id/validate/',\n bom_validate = 'part/:id/bom-validate/',\n bom_substitute_list = 'bom/substitute/',\n\n // Part API endpoints\n part_list = 'part/',\n part_parameter_list = 'part/parameter/',\n part_parameter_template_list = 'part/parameter/template/',\n part_thumbs_list = 'part/thumbs/',\n part_pricing = 'part/:id/pricing/',\n part_requirements = 'part/:id/requirements/',\n part_serial_numbers = 'part/:id/serial-numbers/',\n part_scheduling = 'part/:id/scheduling/',\n part_pricing_internal = 'part/internal-price/',\n part_pricing_sale = 'part/sale-price/',\n part_stocktake_list = 'part/stocktake/',\n category_list = 'part/category/',\n category_tree = 'part/category/tree/',\n category_parameter_list = 'part/category/parameters/',\n related_part_list = 'part/related/',\n part_test_template_list = 'part/test-template/',\n\n // Company API endpoints\n company_list = 'company/',\n contact_list = 'company/contact/',\n address_list = 'company/address/',\n supplier_part_list = 'company/part/',\n supplier_part_pricing_list = 'company/price-break/',\n manufacturer_part_list = 'company/part/manufacturer/',\n manufacturer_part_parameter_list = 'company/part/manufacturer/parameter/',\n\n // Stock location endpoints\n stock_location_list = 'stock/location/',\n stock_location_type_list = 'stock/location-type/',\n stock_location_tree = 'stock/location/tree/',\n\n // Stock item API endpoints\n stock_item_list = 'stock/',\n stock_tracking_list = 'stock/track/',\n stock_test_result_list = 'stock/test/',\n stock_transfer = 'stock/transfer/',\n stock_remove = 'stock/remove/',\n stock_return = 'stock/return/',\n stock_add = 'stock/add/',\n stock_count = 'stock/count/',\n stock_change_status = 'stock/change_status/',\n stock_merge = 'stock/merge/',\n stock_assign = 'stock/assign/',\n stock_status = 'stock/status/',\n stock_install = 'stock/:id/install/',\n stock_uninstall = 'stock/:id/uninstall/',\n stock_serialize = 'stock/:id/serialize/',\n stock_serial_info = 'stock/:id/serial-numbers/',\n\n // Generator API endpoints\n generate_batch_code = 'generate/batch-code/',\n generate_serial_number = 'generate/serial-number/',\n\n // Order API endpoints\n purchase_order_list = 'order/po/',\n purchase_order_issue = 'order/po/:id/issue/',\n purchase_order_hold = 'order/po/:id/hold/',\n purchase_order_cancel = 'order/po/:id/cancel/',\n purchase_order_complete = 'order/po/:id/complete/',\n purchase_order_line_list = 'order/po-line/',\n purchase_order_extra_line_list = 'order/po-extra-line/',\n purchase_order_receive = 'order/po/:id/receive/',\n\n sales_order_list = 'order/so/',\n sales_order_issue = 'order/so/:id/issue/',\n sales_order_hold = 'order/so/:id/hold/',\n sales_order_cancel = 'order/so/:id/cancel/',\n sales_order_ship = 'order/so/:id/ship/',\n sales_order_complete = 'order/so/:id/complete/',\n sales_order_allocate = 'order/so/:id/allocate/',\n sales_order_allocate_serials = 'order/so/:id/allocate-serials/',\n\n sales_order_line_list = 'order/so-line/',\n sales_order_extra_line_list = 'order/so-extra-line/',\n sales_order_allocation_list = 'order/so-allocation/',\n\n sales_order_shipment_list = 'order/so/shipment/',\n sales_order_shipment_complete = 'order/so/shipment/:id/ship/',\n\n return_order_list = 'order/ro/',\n return_order_issue = 'order/ro/:id/issue/',\n return_order_hold = 'order/ro/:id/hold/',\n return_order_cancel = 'order/ro/:id/cancel/',\n return_order_complete = 'order/ro/:id/complete/',\n return_order_receive = 'order/ro/:id/receive/',\n return_order_line_list = 'order/ro-line/',\n return_order_extra_line_list = 'order/ro-extra-line/',\n\n // Template API endpoints\n label_list = 'label/template/',\n label_print = 'label/print/',\n report_list = 'report/template/',\n report_print = 'report/print/',\n report_snippet = 'report/snippet/',\n report_asset = 'report/asset/',\n\n // Plugin API endpoints\n plugin_list = 'plugins/',\n plugin_setting_list = 'plugins/:plugin/settings/',\n plugin_user_setting_list = 'plugins/:plugin/user-settings/',\n plugin_registry_status = 'plugins/status/',\n plugin_install = 'plugins/install/',\n plugin_reload = 'plugins/reload/',\n plugin_activate = 'plugins/:key/activate/',\n plugin_uninstall = 'plugins/:key/uninstall/',\n plugin_admin = 'plugins/:key/admin/',\n\n // User interface plugin endpoints\n plugin_ui_features_list = 'plugins/ui/features/:feature_type/',\n\n // Special plugin endpoints\n plugin_locate_item = 'locate/',\n\n // Machine API endpoints\n machine_types_list = 'machine/types/',\n machine_driver_list = 'machine/drivers/',\n machine_registry_status = 'machine/status/',\n machine_list = 'machine/',\n machine_restart = 'machine/:machine/restart/',\n machine_setting_list = 'machine/:machine/settings/',\n machine_setting_detail = 'machine/:machine/settings/:config_type/',\n\n // Miscellaneous API endpoints\n attachment_list = 'attachment/',\n error_report_list = 'error-report/',\n project_code_list = 'project-code/',\n custom_unit_list = 'units/',\n notes_image_upload = 'notes-image-upload/',\n email_list = 'admin/email/',\n email_test = 'admin/email/test/',\n config_list = 'admin/config/'\n}\n"],"names":["ApiEndpoints","api_server_info","user_list","user_set_password","user_me","user_profile","user_roles","user_token","user_tokens","user_simple_login","user_reset","user_reset_set","auth_pwd_change","auth_login","auth_login_2fa","auth_session","auth_signup","auth_authenticators","auth_recovery","auth_mfa_reauthenticate","auth_totp","auth_trust","auth_reauthenticate","auth_email","auth_email_verify","auth_providers","auth_provider_redirect","auth_config","currency_list","currency_refresh","all_units","task_overview","task_pending_list","task_scheduled_list","task_failed_list","api_search","settings_global_list","settings_user_list","news","global_status","custom_state_list","version","license","group_list","owner_list","ruleset_list","content_type_list","icons","selectionlist_list","selectionlist_detail","barcode","barcode_history","barcode_link","barcode_unlink","barcode_generate","data_output","import_session_list","import_session_accept_fields","import_session_accept_rows","import_session_column_mapping_list","import_session_row_list","notifications_list","notifications_readall","build_order_list","build_order_issue","build_order_cancel","build_order_hold","build_order_complete","build_output_complete","build_output_create","build_output_scrap","build_output_delete","build_order_auto_allocate","build_order_allocate","build_order_consume","build_order_deallocate","build_line_list","build_item_list","bom_list","bom_item_validate","bom_validate","bom_substitute_list","part_list","part_parameter_list","part_parameter_template_list","part_thumbs_list","part_pricing","part_requirements","part_serial_numbers","part_scheduling","part_pricing_internal","part_pricing_sale","part_stocktake_list","category_list","category_tree","category_parameter_list","related_part_list","part_test_template_list","company_list","contact_list","address_list","supplier_part_list","supplier_part_pricing_list","manufacturer_part_list","manufacturer_part_parameter_list","stock_location_list","stock_location_type_list","stock_location_tree","stock_item_list","stock_tracking_list","stock_test_result_list","stock_transfer","stock_remove","stock_return","stock_add","stock_count","stock_change_status","stock_merge","stock_assign","stock_status","stock_install","stock_uninstall","stock_serialize","stock_serial_info","generate_batch_code","generate_serial_number","purchase_order_list","purchase_order_issue","purchase_order_hold","purchase_order_cancel","purchase_order_complete","purchase_order_line_list","purchase_order_extra_line_list","purchase_order_receive","sales_order_list","sales_order_issue","sales_order_hold","sales_order_cancel","sales_order_ship","sales_order_complete","sales_order_allocate","sales_order_allocate_serials","sales_order_line_list","sales_order_extra_line_list","sales_order_allocation_list","sales_order_shipment_list","sales_order_shipment_complete","return_order_list","return_order_issue","return_order_hold","return_order_cancel","return_order_complete","return_order_receive","return_order_line_list","return_order_extra_line_list","label_list","label_print","report_list","report_print","report_snippet","report_asset","plugin_list","plugin_setting_list","plugin_user_setting_list","plugin_registry_status","plugin_install","plugin_reload","plugin_activate","plugin_uninstall","plugin_admin","plugin_ui_features_list","plugin_locate_item","machine_types_list","machine_driver_list","machine_registry_status","machine_list","machine_restart","machine_setting_list","machine_setting_detail","attachment_list","error_report_list","project_code_list","custom_unit_list","notes_image_upload","email_list","email_test","config_list"],"mappings":"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"}
1
+ {"version":3,"file":"ApiEndpoints.js","sources":["../../lib/enums/ApiEndpoints.tsx"],"sourcesContent":["/*\n * Enumeration of available API endpoints.\n *\n * In the cases where endpoints can be accessed with a primary key,\n * the primary key should be appended to the endpoint.\n * The exception to this is when the endpoint provides an :id parameter.\n */\n\nexport enum ApiEndpoints {\n api_server_info = '',\n\n // User API endpoints\n user_list = 'user/',\n user_set_password = 'user/:id/set-password/',\n user_me = 'user/me/',\n user_profile = 'user/profile/',\n user_roles = 'user/roles/',\n user_token = 'user/token/',\n user_tokens = 'user/tokens/',\n user_simple_login = 'email/generate/',\n\n // User auth endpoints\n user_reset = 'auth/v1/auth/password/request',\n user_reset_set = 'auth/v1/auth/password/reset',\n auth_pwd_change = 'auth/v1/account/password/change',\n auth_login = 'auth/v1/auth/login',\n auth_login_2fa = 'auth/v1/auth/2fa/authenticate',\n auth_session = 'auth/v1/auth/session',\n auth_signup = 'auth/v1/auth/signup',\n auth_authenticators = 'auth/v1/account/authenticators',\n auth_recovery = 'auth/v1/account/authenticators/recovery-codes',\n auth_mfa_reauthenticate = 'auth/v1/auth/2fa/reauthenticate',\n auth_totp = 'auth/v1/account/authenticators/totp',\n auth_trust = 'auth/v1/auth/2fa/trust',\n auth_reauthenticate = 'auth/v1/auth/reauthenticate',\n auth_email = 'auth/v1/account/email',\n auth_email_verify = 'auth/v1/auth/email/verify',\n auth_providers = 'auth/v1/account/providers',\n auth_provider_redirect = 'auth/v1/auth/provider/redirect',\n auth_config = 'auth/v1/config',\n\n // Generic API endpoints\n currency_list = 'currency/exchange/',\n currency_refresh = 'currency/refresh/',\n all_units = 'units/all/',\n task_overview = 'background-task/',\n task_pending_list = 'background-task/pending/',\n task_scheduled_list = 'background-task/scheduled/',\n task_failed_list = 'background-task/failed/',\n api_search = 'search/',\n settings_global_list = 'settings/global/',\n settings_user_list = 'settings/user/',\n news = 'news/',\n global_status = 'generic/status/',\n custom_state_list = 'generic/status/custom/',\n version = 'version/',\n license = 'license/',\n group_list = 'user/group/',\n owner_list = 'user/owner/',\n ruleset_list = 'user/ruleset/',\n content_type_list = 'contenttype/',\n icons = 'icons/',\n selectionlist_list = 'selection/',\n selectionlist_detail = 'selection/:id/',\n\n // Barcode API endpoints\n barcode = 'barcode/',\n barcode_history = 'barcode/history/',\n barcode_link = 'barcode/link/',\n barcode_unlink = 'barcode/unlink/',\n barcode_generate = 'barcode/generate/',\n\n // Data output endpoints\n data_output = 'data-output/',\n\n // Data import endpoints\n import_session_list = 'importer/session/',\n import_session_accept_fields = 'importer/session/:id/accept_fields/',\n import_session_accept_rows = 'importer/session/:id/accept_rows/',\n import_session_column_mapping_list = 'importer/column-mapping/',\n import_session_row_list = 'importer/row/',\n\n // Notification endpoints\n notifications_list = 'notifications/',\n notifications_readall = 'notifications/readall/',\n\n // Build API endpoints\n build_order_list = 'build/',\n build_order_issue = 'build/:id/issue/',\n build_order_cancel = 'build/:id/cancel/',\n build_order_hold = 'build/:id/hold/',\n build_order_complete = 'build/:id/finish/',\n build_output_complete = 'build/:id/complete/',\n build_output_create = 'build/:id/create-output/',\n build_output_scrap = 'build/:id/scrap-outputs/',\n build_output_delete = 'build/:id/delete-outputs/',\n build_order_auto_allocate = 'build/:id/auto-allocate/',\n build_order_allocate = 'build/:id/allocate/',\n build_order_consume = 'build/:id/consume/',\n build_order_deallocate = 'build/:id/unallocate/',\n\n build_line_list = 'build/line/',\n build_item_list = 'build/item/',\n\n bom_list = 'bom/',\n bom_item_validate = 'bom/:id/validate/',\n bom_validate = 'part/:id/bom-validate/',\n bom_substitute_list = 'bom/substitute/',\n\n // Part API endpoints\n part_list = 'part/',\n part_parameter_list = 'part/parameter/',\n part_parameter_template_list = 'part/parameter/template/',\n part_thumbs_list = 'part/thumbs/',\n part_pricing = 'part/:id/pricing/',\n part_requirements = 'part/:id/requirements/',\n part_serial_numbers = 'part/:id/serial-numbers/',\n part_scheduling = 'part/:id/scheduling/',\n part_pricing_internal = 'part/internal-price/',\n part_pricing_sale = 'part/sale-price/',\n part_stocktake_list = 'part/stocktake/',\n category_list = 'part/category/',\n category_tree = 'part/category/tree/',\n category_parameter_list = 'part/category/parameters/',\n related_part_list = 'part/related/',\n part_test_template_list = 'part/test-template/',\n\n // Company API endpoints\n company_list = 'company/',\n contact_list = 'company/contact/',\n address_list = 'company/address/',\n supplier_part_list = 'company/part/',\n supplier_part_pricing_list = 'company/price-break/',\n manufacturer_part_list = 'company/part/manufacturer/',\n manufacturer_part_parameter_list = 'company/part/manufacturer/parameter/',\n\n // Stock location endpoints\n stock_location_list = 'stock/location/',\n stock_location_type_list = 'stock/location-type/',\n stock_location_tree = 'stock/location/tree/',\n\n // Stock item API endpoints\n stock_item_list = 'stock/',\n stock_tracking_list = 'stock/track/',\n stock_test_result_list = 'stock/test/',\n stock_transfer = 'stock/transfer/',\n stock_remove = 'stock/remove/',\n stock_return = 'stock/return/',\n stock_add = 'stock/add/',\n stock_count = 'stock/count/',\n stock_change_status = 'stock/change_status/',\n stock_merge = 'stock/merge/',\n stock_assign = 'stock/assign/',\n stock_status = 'stock/status/',\n stock_install = 'stock/:id/install/',\n stock_uninstall = 'stock/:id/uninstall/',\n stock_serialize = 'stock/:id/serialize/',\n stock_serial_info = 'stock/:id/serial-numbers/',\n\n // Generator API endpoints\n generate_batch_code = 'generate/batch-code/',\n generate_serial_number = 'generate/serial-number/',\n\n // Order API endpoints\n purchase_order_list = 'order/po/',\n purchase_order_issue = 'order/po/:id/issue/',\n purchase_order_hold = 'order/po/:id/hold/',\n purchase_order_cancel = 'order/po/:id/cancel/',\n purchase_order_complete = 'order/po/:id/complete/',\n purchase_order_line_list = 'order/po-line/',\n purchase_order_extra_line_list = 'order/po-extra-line/',\n purchase_order_receive = 'order/po/:id/receive/',\n\n sales_order_list = 'order/so/',\n sales_order_issue = 'order/so/:id/issue/',\n sales_order_hold = 'order/so/:id/hold/',\n sales_order_cancel = 'order/so/:id/cancel/',\n sales_order_ship = 'order/so/:id/ship/',\n sales_order_complete = 'order/so/:id/complete/',\n sales_order_allocate = 'order/so/:id/allocate/',\n sales_order_allocate_serials = 'order/so/:id/allocate-serials/',\n\n sales_order_line_list = 'order/so-line/',\n sales_order_extra_line_list = 'order/so-extra-line/',\n sales_order_allocation_list = 'order/so-allocation/',\n\n sales_order_shipment_list = 'order/so/shipment/',\n sales_order_shipment_complete = 'order/so/shipment/:id/ship/',\n\n return_order_list = 'order/ro/',\n return_order_issue = 'order/ro/:id/issue/',\n return_order_hold = 'order/ro/:id/hold/',\n return_order_cancel = 'order/ro/:id/cancel/',\n return_order_complete = 'order/ro/:id/complete/',\n return_order_receive = 'order/ro/:id/receive/',\n return_order_line_list = 'order/ro-line/',\n return_order_extra_line_list = 'order/ro-extra-line/',\n\n // Template API endpoints\n label_list = 'label/template/',\n label_print = 'label/print/',\n report_list = 'report/template/',\n report_print = 'report/print/',\n report_snippet = 'report/snippet/',\n report_asset = 'report/asset/',\n\n // Plugin API endpoints\n plugin_list = 'plugins/',\n plugin_setting_list = 'plugins/:plugin/settings/',\n plugin_user_setting_list = 'plugins/:plugin/user-settings/',\n plugin_registry_status = 'plugins/status/',\n plugin_install = 'plugins/install/',\n plugin_reload = 'plugins/reload/',\n plugin_activate = 'plugins/:key/activate/',\n plugin_uninstall = 'plugins/:key/uninstall/',\n plugin_admin = 'plugins/:key/admin/',\n\n // User interface plugin endpoints\n plugin_ui_features_list = 'plugins/ui/features/:feature_type/',\n\n // Special plugin endpoints\n plugin_locate_item = 'locate/',\n\n // Machine API endpoints\n machine_types_list = 'machine/types/',\n machine_driver_list = 'machine/drivers/',\n machine_registry_status = 'machine/status/',\n machine_list = 'machine/',\n machine_restart = 'machine/:machine/restart/',\n machine_setting_list = 'machine/:machine/settings/',\n machine_setting_detail = 'machine/:machine/settings/:config_type/',\n\n // Miscellaneous API endpoints\n attachment_list = 'attachment/',\n error_report_list = 'error-report/',\n project_code_list = 'project-code/',\n custom_unit_list = 'units/',\n notes_image_upload = 'notes-image-upload/',\n email_list = 'admin/email/',\n email_test = 'admin/email/test/',\n config_list = 'admin/config/'\n}\n"],"names":["ApiEndpoints","api_server_info","user_list","user_set_password","user_me","user_profile","user_roles","user_token","user_tokens","user_simple_login","user_reset","user_reset_set","auth_pwd_change","auth_login","auth_login_2fa","auth_session","auth_signup","auth_authenticators","auth_recovery","auth_mfa_reauthenticate","auth_totp","auth_trust","auth_reauthenticate","auth_email","auth_email_verify","auth_providers","auth_provider_redirect","auth_config","currency_list","currency_refresh","all_units","task_overview","task_pending_list","task_scheduled_list","task_failed_list","api_search","settings_global_list","settings_user_list","news","global_status","custom_state_list","version","license","group_list","owner_list","ruleset_list","content_type_list","icons","selectionlist_list","selectionlist_detail","barcode","barcode_history","barcode_link","barcode_unlink","barcode_generate","data_output","import_session_list","import_session_accept_fields","import_session_accept_rows","import_session_column_mapping_list","import_session_row_list","notifications_list","notifications_readall","build_order_list","build_order_issue","build_order_cancel","build_order_hold","build_order_complete","build_output_complete","build_output_create","build_output_scrap","build_output_delete","build_order_auto_allocate","build_order_allocate","build_order_consume","build_order_deallocate","build_line_list","build_item_list","bom_list","bom_item_validate","bom_validate","bom_substitute_list","part_list","part_parameter_list","part_parameter_template_list","part_thumbs_list","part_pricing","part_requirements","part_serial_numbers","part_scheduling","part_pricing_internal","part_pricing_sale","part_stocktake_list","category_list","category_tree","category_parameter_list","related_part_list","part_test_template_list","company_list","contact_list","address_list","supplier_part_list","supplier_part_pricing_list","manufacturer_part_list","manufacturer_part_parameter_list","stock_location_list","stock_location_type_list","stock_location_tree","stock_item_list","stock_tracking_list","stock_test_result_list","stock_transfer","stock_remove","stock_return","stock_add","stock_count","stock_change_status","stock_merge","stock_assign","stock_status","stock_install","stock_uninstall","stock_serialize","stock_serial_info","generate_batch_code","generate_serial_number","purchase_order_list","purchase_order_issue","purchase_order_hold","purchase_order_cancel","purchase_order_complete","purchase_order_line_list","purchase_order_extra_line_list","purchase_order_receive","sales_order_list","sales_order_issue","sales_order_hold","sales_order_cancel","sales_order_ship","sales_order_complete","sales_order_allocate","sales_order_allocate_serials","sales_order_line_list","sales_order_extra_line_list","sales_order_allocation_list","sales_order_shipment_list","sales_order_shipment_complete","return_order_list","return_order_issue","return_order_hold","return_order_cancel","return_order_complete","return_order_receive","return_order_line_list","return_order_extra_line_list","label_list","label_print","report_list","report_print","report_snippet","report_asset","plugin_list","plugin_setting_list","plugin_user_setting_list","plugin_registry_status","plugin_install","plugin_reload","plugin_activate","plugin_uninstall","plugin_admin","plugin_ui_features_list","plugin_locate_item","machine_types_list","machine_driver_list","machine_registry_status","machine_list","machine_restart","machine_setting_list","machine_setting_detail","attachment_list","error_report_list","project_code_list","custom_unit_list","notes_image_upload","email_list","email_test","config_list"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelInformation.js","sources":["../../lib/enums/ModelInformation.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport type { InvenTreeIconType } from '../types/Icons';\nimport { ApiEndpoints } from './ApiEndpoints';\nimport type { ModelType } from './ModelType';\n\nexport interface ModelInformationInterface {\n label: string;\n label_multiple: string;\n url_overview?: string;\n url_detail?: string;\n api_endpoint: ApiEndpoints;\n admin_url?: string;\n icon: keyof InvenTreeIconType;\n}\n\nexport interface TranslatableModelInformationInterface\n extends Omit<ModelInformationInterface, 'label' | 'label_multiple'> {\n label: () => string;\n label_multiple: () => string;\n}\n\nexport type ModelDict = {\n [key in keyof typeof ModelType]: TranslatableModelInformationInterface;\n};\n\nexport const ModelInformationDict: ModelDict = {\n part: {\n label: () => t`Part`,\n label_multiple: () => t`Parts`,\n url_overview: '/part/category/index/parts',\n url_detail: '/part/:pk/',\n api_endpoint: ApiEndpoints.part_list,\n admin_url: '/part/part/',\n icon: 'part'\n },\n partparametertemplate: {\n label: () => t`Part Parameter Template`,\n label_multiple: () => t`Part Parameter Templates`,\n url_overview: '/settings/admin/part-parameters',\n url_detail: '/partparametertemplate/:pk/',\n api_endpoint: ApiEndpoints.part_parameter_template_list,\n icon: 'test_templates'\n },\n parttesttemplate: {\n label: () => t`Part Test Template`,\n label_multiple: () => t`Part Test Templates`,\n url_detail: '/parttesttemplate/:pk/',\n api_endpoint: ApiEndpoints.part_test_template_list,\n icon: 'test'\n },\n supplierpart: {\n label: () => t`Supplier Part`,\n label_multiple: () => t`Supplier Parts`,\n url_overview: '/purchasing/index/supplier-parts',\n url_detail: '/purchasing/supplier-part/:pk/',\n api_endpoint: ApiEndpoints.supplier_part_list,\n admin_url: '/company/supplierpart/',\n icon: 'supplier_part'\n },\n manufacturerpart: {\n label: () => t`Manufacturer Part`,\n label_multiple: () => t`Manufacturer Parts`,\n url_overview: '/purchasing/index/manufacturer-parts',\n url_detail: '/purchasing/manufacturer-part/:pk/',\n api_endpoint: ApiEndpoints.manufacturer_part_list,\n admin_url: '/company/manufacturerpart/',\n icon: 'manufacturers'\n },\n partcategory: {\n label: () => t`Part Category`,\n label_multiple: () => t`Part Categories`,\n url_overview: '/part/category/parts/subcategories',\n url_detail: '/part/category/:pk/',\n api_endpoint: ApiEndpoints.category_list,\n admin_url: '/part/partcategory/',\n icon: 'category'\n },\n stockitem: {\n label: () => t`Stock Item`,\n label_multiple: () => t`Stock Items`,\n url_overview: '/stock/location/index/stock-items',\n url_detail: '/stock/item/:pk/',\n api_endpoint: ApiEndpoints.stock_item_list,\n admin_url: '/stock/stockitem/',\n icon: 'stock'\n },\n stocklocation: {\n label: () => t`Stock Location`,\n label_multiple: () => t`Stock Locations`,\n url_overview: '/stock/location',\n url_detail: '/stock/location/:pk/',\n api_endpoint: ApiEndpoints.stock_location_list,\n admin_url: '/stock/stocklocation/',\n icon: 'location'\n },\n stocklocationtype: {\n label: () => t`Stock Location Type`,\n label_multiple: () => t`Stock Location Types`,\n api_endpoint: ApiEndpoints.stock_location_type_list,\n icon: 'location'\n },\n stockhistory: {\n label: () => t`Stock History`,\n label_multiple: () => t`Stock Histories`,\n api_endpoint: ApiEndpoints.stock_tracking_list,\n icon: 'history'\n },\n build: {\n label: () => t`Build`,\n label_multiple: () => t`Builds`,\n url_overview: '/manufacturing/index/buildorders/',\n url_detail: '/manufacturing/build-order/:pk/',\n api_endpoint: ApiEndpoints.build_order_list,\n admin_url: '/build/build/',\n icon: 'build_order'\n },\n buildline: {\n label: () => t`Build Line`,\n label_multiple: () => t`Build Lines`,\n url_overview: '/build/line',\n url_detail: '/build/line/:pk/',\n api_endpoint: ApiEndpoints.build_line_list,\n icon: 'build_order'\n },\n builditem: {\n label: () => t`Build Item`,\n label_multiple: () => t`Build Items`,\n api_endpoint: ApiEndpoints.build_item_list,\n icon: 'build_order'\n },\n company: {\n label: () => t`Company`,\n label_multiple: () => t`Companies`,\n url_detail: '/company/:pk/',\n api_endpoint: ApiEndpoints.company_list,\n admin_url: '/company/company/',\n icon: 'building'\n },\n projectcode: {\n label: () => t`Project Code`,\n label_multiple: () => t`Project Codes`,\n url_detail: '/project-code/:pk/',\n api_endpoint: ApiEndpoints.project_code_list,\n icon: 'list_details'\n },\n purchaseorder: {\n label: () => t`Purchase Order`,\n label_multiple: () => t`Purchase Orders`,\n url_overview: '/purchasing/index/purchaseorders',\n url_detail: '/purchasing/purchase-order/:pk/',\n api_endpoint: ApiEndpoints.purchase_order_list,\n admin_url: '/order/purchaseorder/',\n icon: 'purchase_orders'\n },\n purchaseorderlineitem: {\n label: () => t`Purchase Order Line`,\n label_multiple: () => t`Purchase Order Lines`,\n api_endpoint: ApiEndpoints.purchase_order_line_list,\n icon: 'purchase_orders'\n },\n salesorder: {\n label: () => t`Sales Order`,\n label_multiple: () => t`Sales Orders`,\n url_overview: '/sales/index/salesorders',\n url_detail: '/sales/sales-order/:pk/',\n api_endpoint: ApiEndpoints.sales_order_list,\n admin_url: '/order/salesorder/',\n icon: 'sales_orders'\n },\n salesordershipment: {\n label: () => t`Sales Order Shipment`,\n label_multiple: () => t`Sales Order Shipments`,\n url_detail: '/sales/shipment/:pk/',\n api_endpoint: ApiEndpoints.sales_order_shipment_list,\n icon: 'sales_orders'\n },\n returnorder: {\n label: () => t`Return Order`,\n label_multiple: () => t`Return Orders`,\n url_overview: '/sales/index/returnorders',\n url_detail: '/sales/return-order/:pk/',\n api_endpoint: ApiEndpoints.return_order_list,\n admin_url: '/order/returnorder/',\n icon: 'return_orders'\n },\n returnorderlineitem: {\n label: () => t`Return Order Line Item`,\n label_multiple: () => t`Return Order Line Items`,\n api_endpoint: ApiEndpoints.return_order_line_list,\n icon: 'return_orders'\n },\n address: {\n label: () => t`Address`,\n label_multiple: () => t`Addresses`,\n url_detail: '/address/:pk/',\n api_endpoint: ApiEndpoints.address_list,\n icon: 'address'\n },\n contact: {\n label: () => t`Contact`,\n label_multiple: () => t`Contacts`,\n url_detail: '/contact/:pk/',\n api_endpoint: ApiEndpoints.contact_list,\n icon: 'group'\n },\n owner: {\n label: () => t`Owner`,\n label_multiple: () => t`Owners`,\n url_detail: '/owner/:pk/',\n api_endpoint: ApiEndpoints.owner_list,\n icon: 'group'\n },\n user: {\n label: () => t`User`,\n label_multiple: () => t`Users`,\n url_detail: '/core/user/:pk/',\n api_endpoint: ApiEndpoints.user_list,\n icon: 'user'\n },\n group: {\n label: () => t`Group`,\n label_multiple: () => t`Groups`,\n url_detail: '/core/group/:pk/',\n api_endpoint: ApiEndpoints.group_list,\n admin_url: '/auth/group/',\n icon: 'group'\n },\n importsession: {\n label: () => t`Import Session`,\n label_multiple: () => t`Import Sessions`,\n url_overview: '/settings/admin/import',\n url_detail: '/import/:pk/',\n api_endpoint: ApiEndpoints.import_session_list,\n icon: 'import'\n },\n labeltemplate: {\n label: () => t`Label Template`,\n label_multiple: () => t`Label Templates`,\n url_overview: '/settings/admin/labels',\n url_detail: '/settings/admin/labels/:pk/',\n api_endpoint: ApiEndpoints.label_list,\n icon: 'labels'\n },\n reporttemplate: {\n label: () => t`Report Template`,\n label_multiple: () => t`Report Templates`,\n url_overview: '/settings/admin/reports',\n url_detail: '/settings/admin/reports/:pk/',\n api_endpoint: ApiEndpoints.report_list,\n icon: 'reports'\n },\n pluginconfig: {\n label: () => t`Plugin Configuration`,\n label_multiple: () => t`Plugin Configurations`,\n url_overview: '/settings/admin/plugin',\n url_detail: '/settings/admin/plugin/:pk/',\n api_endpoint: ApiEndpoints.plugin_list,\n icon: 'plugin'\n },\n contenttype: {\n label: () => t`Content Type`,\n label_multiple: () => t`Content Types`,\n api_endpoint: ApiEndpoints.content_type_list,\n icon: 'list_details'\n },\n selectionlist: {\n label: () => t`Selection List`,\n label_multiple: () => t`Selection Lists`,\n url_overview: '/settings/admin/part-parameters',\n api_endpoint: ApiEndpoints.selectionlist_list,\n icon: 'list_details'\n },\n error: {\n label: () => t`Error`,\n label_multiple: () => t`Errors`,\n api_endpoint: ApiEndpoints.error_report_list,\n url_overview: '/settings/admin/errors',\n url_detail: '/settings/admin/errors/:pk/',\n icon: 'exclamation'\n }\n};\n"],"names":["ModelInformationDict","part","label","_i18n","_","id","label_multiple","url_overview","url_detail","api_endpoint","ApiEndpoints","part_list","admin_url","icon","partparametertemplate","part_parameter_template_list","parttesttemplate","part_test_template_list","supplierpart","supplier_part_list","manufacturerpart","manufacturer_part_list","partcategory","category_list","stockitem","stock_item_list","stocklocation","stock_location_list","stocklocationtype","stock_location_type_list","stockhistory","stock_tracking_list","build","build_order_list","buildline","build_line_list","builditem","build_item_list","company","company_list","projectcode","project_code_list","purchaseorder","purchase_order_list","purchaseorderlineitem","purchase_order_line_list","salesorder","sales_order_list","salesordershipment","sales_order_shipment_list","returnorder","return_order_list","returnorderlineitem","return_order_line_list","address","address_list","contact","contact_list","owner","owner_list","user","user_list","group","group_list","importsession","import_session_list","labeltemplate","label_list","reporttemplate","report_list","pluginconfig","plugin_list","contenttype","content_type_list","selectionlist","selectionlist_list","error","error_report_list"],"mappings":"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"}
1
+ {"version":3,"file":"ModelInformation.js","sources":["../../lib/enums/ModelInformation.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\nimport type { InvenTreeIconType } from '../types/Icons';\nimport { ApiEndpoints } from './ApiEndpoints';\nimport type { ModelType } from './ModelType';\n\nexport interface ModelInformationInterface {\n label: string;\n label_multiple: string;\n url_overview?: string;\n url_detail?: string;\n api_endpoint: ApiEndpoints;\n admin_url?: string;\n icon: keyof InvenTreeIconType;\n}\n\nexport interface TranslatableModelInformationInterface\n extends Omit<ModelInformationInterface, 'label' | 'label_multiple'> {\n label: () => string;\n label_multiple: () => string;\n}\n\nexport type ModelDict = {\n [key in keyof typeof ModelType]: TranslatableModelInformationInterface;\n};\n\nexport const ModelInformationDict: ModelDict = {\n part: {\n label: () => t`Part`,\n label_multiple: () => t`Parts`,\n url_overview: '/part/category/index/parts',\n url_detail: '/part/:pk/',\n api_endpoint: ApiEndpoints.part_list,\n admin_url: '/part/part/',\n icon: 'part'\n },\n partparametertemplate: {\n label: () => t`Part Parameter Template`,\n label_multiple: () => t`Part Parameter Templates`,\n url_overview: '/settings/admin/part-parameters',\n url_detail: '/partparametertemplate/:pk/',\n api_endpoint: ApiEndpoints.part_parameter_template_list,\n icon: 'test_templates'\n },\n parttesttemplate: {\n label: () => t`Part Test Template`,\n label_multiple: () => t`Part Test Templates`,\n url_detail: '/parttesttemplate/:pk/',\n api_endpoint: ApiEndpoints.part_test_template_list,\n icon: 'test'\n },\n supplierpart: {\n label: () => t`Supplier Part`,\n label_multiple: () => t`Supplier Parts`,\n url_overview: '/purchasing/index/supplier-parts',\n url_detail: '/purchasing/supplier-part/:pk/',\n api_endpoint: ApiEndpoints.supplier_part_list,\n admin_url: '/company/supplierpart/',\n icon: 'supplier_part'\n },\n manufacturerpart: {\n label: () => t`Manufacturer Part`,\n label_multiple: () => t`Manufacturer Parts`,\n url_overview: '/purchasing/index/manufacturer-parts',\n url_detail: '/purchasing/manufacturer-part/:pk/',\n api_endpoint: ApiEndpoints.manufacturer_part_list,\n admin_url: '/company/manufacturerpart/',\n icon: 'manufacturers'\n },\n partcategory: {\n label: () => t`Part Category`,\n label_multiple: () => t`Part Categories`,\n url_overview: '/part/category/parts/subcategories',\n url_detail: '/part/category/:pk/',\n api_endpoint: ApiEndpoints.category_list,\n admin_url: '/part/partcategory/',\n icon: 'category'\n },\n stockitem: {\n label: () => t`Stock Item`,\n label_multiple: () => t`Stock Items`,\n url_overview: '/stock/location/index/stock-items',\n url_detail: '/stock/item/:pk/',\n api_endpoint: ApiEndpoints.stock_item_list,\n admin_url: '/stock/stockitem/',\n icon: 'stock'\n },\n stocklocation: {\n label: () => t`Stock Location`,\n label_multiple: () => t`Stock Locations`,\n url_overview: '/stock/location',\n url_detail: '/stock/location/:pk/',\n api_endpoint: ApiEndpoints.stock_location_list,\n admin_url: '/stock/stocklocation/',\n icon: 'location'\n },\n stocklocationtype: {\n label: () => t`Stock Location Type`,\n label_multiple: () => t`Stock Location Types`,\n api_endpoint: ApiEndpoints.stock_location_type_list,\n icon: 'location'\n },\n stockhistory: {\n label: () => t`Stock History`,\n label_multiple: () => t`Stock Histories`,\n api_endpoint: ApiEndpoints.stock_tracking_list,\n icon: 'history'\n },\n build: {\n label: () => t`Build`,\n label_multiple: () => t`Builds`,\n url_overview: '/manufacturing/index/buildorders/',\n url_detail: '/manufacturing/build-order/:pk/',\n api_endpoint: ApiEndpoints.build_order_list,\n admin_url: '/build/build/',\n icon: 'build_order'\n },\n buildline: {\n label: () => t`Build Line`,\n label_multiple: () => t`Build Lines`,\n url_overview: '/build/line',\n url_detail: '/build/line/:pk/',\n api_endpoint: ApiEndpoints.build_line_list,\n icon: 'build_order'\n },\n builditem: {\n label: () => t`Build Item`,\n label_multiple: () => t`Build Items`,\n api_endpoint: ApiEndpoints.build_item_list,\n icon: 'build_order'\n },\n company: {\n label: () => t`Company`,\n label_multiple: () => t`Companies`,\n url_detail: '/company/:pk/',\n api_endpoint: ApiEndpoints.company_list,\n admin_url: '/company/company/',\n icon: 'building'\n },\n projectcode: {\n label: () => t`Project Code`,\n label_multiple: () => t`Project Codes`,\n url_detail: '/project-code/:pk/',\n api_endpoint: ApiEndpoints.project_code_list,\n icon: 'list_details'\n },\n purchaseorder: {\n label: () => t`Purchase Order`,\n label_multiple: () => t`Purchase Orders`,\n url_overview: '/purchasing/index/purchaseorders',\n url_detail: '/purchasing/purchase-order/:pk/',\n api_endpoint: ApiEndpoints.purchase_order_list,\n admin_url: '/order/purchaseorder/',\n icon: 'purchase_orders'\n },\n purchaseorderlineitem: {\n label: () => t`Purchase Order Line`,\n label_multiple: () => t`Purchase Order Lines`,\n api_endpoint: ApiEndpoints.purchase_order_line_list,\n icon: 'purchase_orders'\n },\n salesorder: {\n label: () => t`Sales Order`,\n label_multiple: () => t`Sales Orders`,\n url_overview: '/sales/index/salesorders',\n url_detail: '/sales/sales-order/:pk/',\n api_endpoint: ApiEndpoints.sales_order_list,\n admin_url: '/order/salesorder/',\n icon: 'sales_orders'\n },\n salesordershipment: {\n label: () => t`Sales Order Shipment`,\n label_multiple: () => t`Sales Order Shipments`,\n url_detail: '/sales/shipment/:pk/',\n api_endpoint: ApiEndpoints.sales_order_shipment_list,\n icon: 'sales_orders'\n },\n returnorder: {\n label: () => t`Return Order`,\n label_multiple: () => t`Return Orders`,\n url_overview: '/sales/index/returnorders',\n url_detail: '/sales/return-order/:pk/',\n api_endpoint: ApiEndpoints.return_order_list,\n admin_url: '/order/returnorder/',\n icon: 'return_orders'\n },\n returnorderlineitem: {\n label: () => t`Return Order Line Item`,\n label_multiple: () => t`Return Order Line Items`,\n api_endpoint: ApiEndpoints.return_order_line_list,\n icon: 'return_orders'\n },\n address: {\n label: () => t`Address`,\n label_multiple: () => t`Addresses`,\n url_detail: '/address/:pk/',\n api_endpoint: ApiEndpoints.address_list,\n icon: 'address'\n },\n contact: {\n label: () => t`Contact`,\n label_multiple: () => t`Contacts`,\n url_detail: '/contact/:pk/',\n api_endpoint: ApiEndpoints.contact_list,\n icon: 'group'\n },\n owner: {\n label: () => t`Owner`,\n label_multiple: () => t`Owners`,\n url_detail: '/owner/:pk/',\n api_endpoint: ApiEndpoints.owner_list,\n icon: 'group'\n },\n user: {\n label: () => t`User`,\n label_multiple: () => t`Users`,\n url_detail: '/core/user/:pk/',\n api_endpoint: ApiEndpoints.user_list,\n icon: 'user'\n },\n group: {\n label: () => t`Group`,\n label_multiple: () => t`Groups`,\n url_detail: '/core/group/:pk/',\n api_endpoint: ApiEndpoints.group_list,\n admin_url: '/auth/group/',\n icon: 'group'\n },\n importsession: {\n label: () => t`Import Session`,\n label_multiple: () => t`Import Sessions`,\n url_overview: '/settings/admin/import',\n url_detail: '/import/:pk/',\n api_endpoint: ApiEndpoints.import_session_list,\n icon: 'import'\n },\n labeltemplate: {\n label: () => t`Label Template`,\n label_multiple: () => t`Label Templates`,\n url_overview: '/settings/admin/labels',\n url_detail: '/settings/admin/labels/:pk/',\n api_endpoint: ApiEndpoints.label_list,\n icon: 'labels'\n },\n reporttemplate: {\n label: () => t`Report Template`,\n label_multiple: () => t`Report Templates`,\n url_overview: '/settings/admin/reports',\n url_detail: '/settings/admin/reports/:pk/',\n api_endpoint: ApiEndpoints.report_list,\n icon: 'reports'\n },\n pluginconfig: {\n label: () => t`Plugin Configuration`,\n label_multiple: () => t`Plugin Configurations`,\n url_overview: '/settings/admin/plugin',\n url_detail: '/settings/admin/plugin/:pk/',\n api_endpoint: ApiEndpoints.plugin_list,\n icon: 'plugin'\n },\n contenttype: {\n label: () => t`Content Type`,\n label_multiple: () => t`Content Types`,\n api_endpoint: ApiEndpoints.content_type_list,\n icon: 'list_details'\n },\n selectionlist: {\n label: () => t`Selection List`,\n label_multiple: () => t`Selection Lists`,\n url_overview: '/settings/admin/part-parameters',\n api_endpoint: ApiEndpoints.selectionlist_list,\n icon: 'list_details'\n },\n error: {\n label: () => t`Error`,\n label_multiple: () => t`Errors`,\n api_endpoint: ApiEndpoints.error_report_list,\n url_overview: '/settings/admin/errors',\n url_detail: '/settings/admin/errors/:pk/',\n icon: 'exclamation'\n }\n};\n"],"names":["ModelInformationDict","part","label","_i18n","_","id","label_multiple","url_overview","url_detail","api_endpoint","ApiEndpoints","part_list","admin_url","icon","partparametertemplate","part_parameter_template_list","parttesttemplate","part_test_template_list","supplierpart","supplier_part_list","manufacturerpart","manufacturer_part_list","partcategory","category_list","stockitem","stock_item_list","stocklocation","stock_location_list","stocklocationtype","stock_location_type_list","stockhistory","stock_tracking_list","build","build_order_list","buildline","build_line_list","builditem","build_item_list","company","company_list","projectcode","project_code_list","purchaseorder","purchase_order_list","purchaseorderlineitem","purchase_order_line_list","salesorder","sales_order_list","salesordershipment","sales_order_shipment_list","returnorder","return_order_list","returnorderlineitem","return_order_line_list","address","address_list","contact","contact_list","owner","owner_list","user","user_list","group","group_list","importsession","import_session_list","labeltemplate","label_list","reporttemplate","report_list","pluginconfig","plugin_list","contenttype","content_type_list","selectionlist","selectionlist_list","error","error_report_list"],"mappings":";AAAA,MAAA,QAAA,OAAA,YAAA,EAAA;AAyBO,MAAMA,uBAAkC;AAAA,EAC7CC,MAAM;AAAA,IACJC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAM;AAAA,IACnBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IAC7BE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaC;AAAAA,IAC3BC,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERC,uBAAuB;AAAA,IACrBZ,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAyB;AAAA,IACtCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAA0B;AAAA,IAChDE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaK;AAAAA,IAC3BF,MAAM;AAAA,EAAA;AAAA,EAERG,kBAAkB;AAAA,IAChBd,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAoB;AAAA,IACjCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAqB;AAAA,IAC3CG,YAAY;AAAA,IACZC,cAAcC,aAAaO;AAAAA,IAC3BJ,MAAM;AAAA,EAAA;AAAA,EAERK,cAAc;AAAA,IACZhB,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IAC5BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IACtCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaS;AAAAA,IAC3BP,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERO,kBAAkB;AAAA,IAChBlB,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAmB;AAAA,IAChCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAoB;AAAA,IAC1CE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaW;AAAAA,IAC3BT,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERS,cAAc;AAAA,IACZpB,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IAC5BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaa;AAAAA,IAC3BX,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERW,WAAW;AAAA,IACTtB,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAY;AAAA,IACzBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAa;AAAA,IACnCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAae;AAAAA,IAC3Bb,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERa,eAAe;AAAA,IACbxB,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IAC7BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaiB;AAAAA,IAC3Bf,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERe,mBAAmB;AAAA,IACjB1B,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAqB;AAAA,IAClCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAsB;AAAA,IAC5CI,cAAcC,aAAamB;AAAAA,IAC3BhB,MAAM;AAAA,EAAA;AAAA,EAERiB,cAAc;AAAA,IACZ5B,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IAC5BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCI,cAAcC,aAAaqB;AAAAA,IAC3BlB,MAAM;AAAA,EAAA;AAAA,EAERmB,OAAO;AAAA,IACL9B,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IACpBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAQ;AAAA,IAC9BE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAauB;AAAAA,IAC3BrB,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERqB,WAAW;AAAA,IACThC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAY;AAAA,IACzBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAa;AAAA,IACnCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAayB;AAAAA,IAC3BtB,MAAM;AAAA,EAAA;AAAA,EAERuB,WAAW;AAAA,IACTlC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAY;AAAA,IACzBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAa;AAAA,IACnCI,cAAcC,aAAa2B;AAAAA,IAC3BxB,MAAM;AAAA,EAAA;AAAA,EAERyB,SAAS;AAAA,IACPpC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAS;AAAA,IACtBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAW;AAAA,IACjCG,YAAY;AAAA,IACZC,cAAcC,aAAa6B;AAAAA,IAC3B3B,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAER2B,aAAa;AAAA,IACXtC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAc;AAAA,IAC3BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IACrCG,YAAY;AAAA,IACZC,cAAcC,aAAa+B;AAAAA,IAC3B5B,MAAM;AAAA,EAAA;AAAA,EAER6B,eAAe;AAAA,IACbxC,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IAC7BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaiC;AAAAA,IAC3B/B,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAER+B,uBAAuB;AAAA,IACrB1C,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAqB;AAAA,IAClCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAsB;AAAA,IAC5CI,cAAcC,aAAamC;AAAAA,IAC3BhC,MAAM;AAAA,EAAA;AAAA,EAERiC,YAAY;AAAA,IACV5C,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAa;AAAA,IAC1BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAc;AAAA,IACpCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAaqC;AAAAA,IAC3BnC,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERmC,oBAAoB;AAAA,IAClB9C,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAsB;AAAA,IACnCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAuB;AAAA,IAC7CG,YAAY;AAAA,IACZC,cAAcC,aAAauC;AAAAA,IAC3BpC,MAAM;AAAA,EAAA;AAAA,EAERqC,aAAa;AAAA,IACXhD,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAc;AAAA,IAC3BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IACrCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAayC;AAAAA,IAC3BvC,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERuC,qBAAqB;AAAA,IACnBlD,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAwB;AAAA,IACrCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAyB;AAAA,IAC/CI,cAAcC,aAAa2C;AAAAA,IAC3BxC,MAAM;AAAA,EAAA;AAAA,EAERyC,SAAS;AAAA,IACPpD,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAS;AAAA,IACtBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAW;AAAA,IACjCG,YAAY;AAAA,IACZC,cAAcC,aAAa6C;AAAAA,IAC3B1C,MAAM;AAAA,EAAA;AAAA,EAER2C,SAAS;AAAA,IACPtD,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAS;AAAA,IACtBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAU;AAAA,IAChCG,YAAY;AAAA,IACZC,cAAcC,aAAa+C;AAAAA,IAC3B5C,MAAM;AAAA,EAAA;AAAA,EAER6C,OAAO;AAAA,IACLxD,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IACpBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAQ;AAAA,IAC9BG,YAAY;AAAA,IACZC,cAAcC,aAAaiD;AAAAA,IAC3B9C,MAAM;AAAA,EAAA;AAAA,EAER+C,MAAM;AAAA,IACJ1D,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAM;AAAA,IACnBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IAC7BG,YAAY;AAAA,IACZC,cAAcC,aAAamD;AAAAA,IAC3BhD,MAAM;AAAA,EAAA;AAAA,EAERiD,OAAO;AAAA,IACL5D,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IACpBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAQ;AAAA,IAC9BG,YAAY;AAAA,IACZC,cAAcC,aAAaqD;AAAAA,IAC3BnD,WAAW;AAAA,IACXC,MAAM;AAAA,EAAA;AAAA,EAERmD,eAAe;AAAA,IACb9D,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IAC7BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAauD;AAAAA,IAC3BpD,MAAM;AAAA,EAAA;AAAA,EAERqD,eAAe;AAAA,IACbhE,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IAC7BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAayD;AAAAA,IAC3BtD,MAAM;AAAA,EAAA;AAAA,EAERuD,gBAAgB;AAAA,IACdlE,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IAC9BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAkB;AAAA,IACxCE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAa2D;AAAAA,IAC3BxD,MAAM;AAAA,EAAA;AAAA,EAERyD,cAAc;AAAA,IACZpE,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAsB;AAAA,IACnCC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAuB;AAAA,IAC7CE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZC,cAAcC,aAAa6D;AAAAA,IAC3B1D,MAAM;AAAA,EAAA;AAAA,EAER2D,aAAa;AAAA,IACXtE,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAc;AAAA,IAC3BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAe;AAAA,IACrCI,cAAcC,aAAa+D;AAAAA,IAC3B5D,MAAM;AAAA,EAAA;AAAA,EAER6D,eAAe;AAAA,IACbxE,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAgB;AAAA,IAC7BC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAiB;AAAA,IACvCE,cAAc;AAAA,IACdE,cAAcC,aAAaiE;AAAAA,IAC3B9D,MAAM;AAAA,EAAA;AAAA,EAER+D,OAAO;AAAA,IACL1E,OAAOA,MAAAC,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAO;AAAA,IACpBC,gBAAgBA,MAAAH,MAAAC;AAAAA;AAAAA,MAAM;AAAA,QAAAC,IAAA;AAAA,MAAA;AAAA,IAAQ;AAAA,IAC9BI,cAAcC,aAAamE;AAAAA,IAC3BtE,cAAc;AAAA,IACdC,YAAY;AAAA,IACZK,MAAM;AAAA,EAAA;AAEV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelType.js","sources":["../../lib/enums/ModelType.tsx"],"sourcesContent":["/*\n * Enumeration of available API model types\n */\nexport enum ModelType {\n part = 'part',\n supplierpart = 'supplierpart',\n manufacturerpart = 'manufacturerpart',\n partcategory = 'partcategory',\n partparametertemplate = 'partparametertemplate',\n parttesttemplate = 'parttesttemplate',\n projectcode = 'projectcode',\n stockitem = 'stockitem',\n stocklocation = 'stocklocation',\n stocklocationtype = 'stocklocationtype',\n stockhistory = 'stockhistory',\n build = 'build',\n buildline = 'buildline',\n builditem = 'builditem',\n company = 'company',\n purchaseorder = 'purchaseorder',\n purchaseorderlineitem = 'purchaseorderlineitem',\n salesorder = 'salesorder',\n salesordershipment = 'salesordershipment',\n returnorder = 'returnorder',\n returnorderlineitem = 'returnorderlineitem',\n importsession = 'importsession',\n address = 'address',\n contact = 'contact',\n owner = 'owner',\n user = 'user',\n group = 'group',\n reporttemplate = 'reporttemplate',\n labeltemplate = 'labeltemplate',\n pluginconfig = 'pluginconfig',\n contenttype = 'contenttype',\n selectionlist = 'selectionlist',\n error = 'error'\n}\n"],"names":["ModelType","part","supplierpart","manufacturerpart","partcategory","partparametertemplate","parttesttemplate","projectcode","stockitem","stocklocation","stocklocationtype","stockhistory","build","buildline","builditem","company","purchaseorder","purchaseorderlineitem","salesorder","salesordershipment","returnorder","returnorderlineitem","importsession","address","contact","owner","user","group","reporttemplate","labeltemplate","pluginconfig","contenttype","selectionlist","error"],"mappings":"AAGYA,IAAAA,8BAAAA,eAAL;AACLC,aAAAA,MAAO,IAAA;AACPC,aAAAA,cAAe,IAAA;AACfC,aAAAA,kBAAmB,IAAA;AACnBC,aAAAA,cAAe,IAAA;AACfC,aAAAA,uBAAwB,IAAA;AACxBC,aAAAA,kBAAmB,IAAA;AACnBC,aAAAA,aAAc,IAAA;AACdC,aAAAA,WAAY,IAAA;AACZC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,mBAAoB,IAAA;AACpBC,aAAAA,cAAe,IAAA;AACfC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,WAAY,IAAA;AACZC,aAAAA,WAAY,IAAA;AACZC,aAAAA,SAAU,IAAA;AACVC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,uBAAwB,IAAA;AACxBC,aAAAA,YAAa,IAAA;AACbC,aAAAA,oBAAqB,IAAA;AACrBC,aAAAA,aAAc,IAAA;AACdC,aAAAA,qBAAsB,IAAA;AACtBC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,SAAU,IAAA;AACVC,aAAAA,SAAU,IAAA;AACVC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,MAAO,IAAA;AACPC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,gBAAiB,IAAA;AACjBC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,cAAe,IAAA;AACfC,aAAAA,aAAc,IAAA;AACdC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,OAAQ,IAAA;AAjCEjC,SAAAA;AAAAA,GAAAA,aAAAA,CAAAA,CAAAA;"}
1
+ {"version":3,"file":"ModelType.js","sources":["../../lib/enums/ModelType.tsx"],"sourcesContent":["/*\n * Enumeration of available API model types\n */\nexport enum ModelType {\n part = 'part',\n supplierpart = 'supplierpart',\n manufacturerpart = 'manufacturerpart',\n partcategory = 'partcategory',\n partparametertemplate = 'partparametertemplate',\n parttesttemplate = 'parttesttemplate',\n projectcode = 'projectcode',\n stockitem = 'stockitem',\n stocklocation = 'stocklocation',\n stocklocationtype = 'stocklocationtype',\n stockhistory = 'stockhistory',\n build = 'build',\n buildline = 'buildline',\n builditem = 'builditem',\n company = 'company',\n purchaseorder = 'purchaseorder',\n purchaseorderlineitem = 'purchaseorderlineitem',\n salesorder = 'salesorder',\n salesordershipment = 'salesordershipment',\n returnorder = 'returnorder',\n returnorderlineitem = 'returnorderlineitem',\n importsession = 'importsession',\n address = 'address',\n contact = 'contact',\n owner = 'owner',\n user = 'user',\n group = 'group',\n reporttemplate = 'reporttemplate',\n labeltemplate = 'labeltemplate',\n pluginconfig = 'pluginconfig',\n contenttype = 'contenttype',\n selectionlist = 'selectionlist',\n error = 'error'\n}\n"],"names":["ModelType","part","supplierpart","manufacturerpart","partcategory","partparametertemplate","parttesttemplate","projectcode","stockitem","stocklocation","stocklocationtype","stockhistory","build","buildline","builditem","company","purchaseorder","purchaseorderlineitem","salesorder","salesordershipment","returnorder","returnorderlineitem","importsession","address","contact","owner","user","group","reporttemplate","labeltemplate","pluginconfig","contenttype","selectionlist","error"],"mappings":"AAGO,IAAKA,8BAAAA,eAAL;AACLC,aAAAA,MAAAA,IAAO;AACPC,aAAAA,cAAAA,IAAe;AACfC,aAAAA,kBAAAA,IAAmB;AACnBC,aAAAA,cAAAA,IAAe;AACfC,aAAAA,uBAAAA,IAAwB;AACxBC,aAAAA,kBAAAA,IAAmB;AACnBC,aAAAA,aAAAA,IAAc;AACdC,aAAAA,WAAAA,IAAY;AACZC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,mBAAAA,IAAoB;AACpBC,aAAAA,cAAAA,IAAe;AACfC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,WAAAA,IAAY;AACZC,aAAAA,WAAAA,IAAY;AACZC,aAAAA,SAAAA,IAAU;AACVC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,uBAAAA,IAAwB;AACxBC,aAAAA,YAAAA,IAAa;AACbC,aAAAA,oBAAAA,IAAqB;AACrBC,aAAAA,aAAAA,IAAc;AACdC,aAAAA,qBAAAA,IAAsB;AACtBC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,SAAAA,IAAU;AACVC,aAAAA,SAAAA,IAAU;AACVC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,MAAAA,IAAO;AACPC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,gBAAAA,IAAiB;AACjBC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,cAAAA,IAAe;AACfC,aAAAA,aAAAA,IAAc;AACdC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,OAAAA,IAAQ;AAjCEjC,SAAAA;AAAAA,GAAAA,aAAAA,CAAAA,CAAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../../lib/enums/Roles.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\n\n/*\n * Enumeration of available user role groups\n */\nexport enum UserRoles {\n admin = 'admin',\n build = 'build',\n part = 'part',\n part_category = 'part_category',\n purchase_order = 'purchase_order',\n return_order = 'return_order',\n sales_order = 'sales_order',\n stock = 'stock',\n stock_location = 'stock_location'\n}\n\n/*\n * Enumeration of available user permissions within each role group\n */\nexport enum UserPermissions {\n view = 'view',\n add = 'add',\n change = 'change',\n delete = 'delete'\n}\n\nexport function userRoleLabel(role: UserRoles): string {\n switch (role) {\n case UserRoles.admin:\n return t`Admin`;\n case UserRoles.build:\n return t`Build Orders`;\n case UserRoles.part:\n return t`Parts`;\n case UserRoles.part_category:\n return t`Part Categories`;\n case UserRoles.purchase_order:\n return t`Purchase Orders`;\n case UserRoles.return_order:\n return t`Return Orders`;\n case UserRoles.sales_order:\n return t`Sales Orders`;\n case UserRoles.stock:\n return t`Stock Items`;\n case UserRoles.stock_location:\n return t`Stock Location`;\n default:\n return role as string;\n }\n}\n"],"names":["UserRoles","admin","build","part","part_category","purchase_order","return_order","sales_order","stock","stock_location","UserPermissions","view","add","change","delete"],"mappings":"AAAA,OAAA,YAAA,EAAA;AAKYA,IAAAA,8BAAAA,eAAL;AACLC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,MAAO,IAAA;AACPC,aAAAA,eAAgB,IAAA;AAChBC,aAAAA,gBAAiB,IAAA;AACjBC,aAAAA,cAAe,IAAA;AACfC,aAAAA,aAAc,IAAA;AACdC,aAAAA,OAAQ,IAAA;AACRC,aAAAA,gBAAiB,IAAA;AATPT,SAAAA;AAAAA,GAAAA,aAAAA,CAAAA,CAAAA;AAeAU,IAAAA,oCAAAA,qBAAL;AACLC,mBAAAA,MAAO,IAAA;AACPC,mBAAAA,KAAM,IAAA;AACNC,mBAAAA,QAAS,IAAA;AACTC,mBAAAA,QAAS,IAAA;AAJCJ,SAAAA;AAAAA,GAAAA,mBAAAA,CAAAA,CAAAA;"}
1
+ {"version":3,"file":"Roles.js","sources":["../../lib/enums/Roles.tsx"],"sourcesContent":["import { t } from '@lingui/core/macro';\n\n/*\n * Enumeration of available user role groups\n */\nexport enum UserRoles {\n admin = 'admin',\n build = 'build',\n part = 'part',\n part_category = 'part_category',\n purchase_order = 'purchase_order',\n return_order = 'return_order',\n sales_order = 'sales_order',\n stock = 'stock',\n stock_location = 'stock_location'\n}\n\n/*\n * Enumeration of available user permissions within each role group\n */\nexport enum UserPermissions {\n view = 'view',\n add = 'add',\n change = 'change',\n delete = 'delete'\n}\n\nexport function userRoleLabel(role: UserRoles): string {\n switch (role) {\n case UserRoles.admin:\n return t`Admin`;\n case UserRoles.build:\n return t`Build Orders`;\n case UserRoles.part:\n return t`Parts`;\n case UserRoles.part_category:\n return t`Part Categories`;\n case UserRoles.purchase_order:\n return t`Purchase Orders`;\n case UserRoles.return_order:\n return t`Return Orders`;\n case UserRoles.sales_order:\n return t`Sales Orders`;\n case UserRoles.stock:\n return t`Stock Items`;\n case UserRoles.stock_location:\n return t`Stock Location`;\n default:\n return role as string;\n }\n}\n"],"names":["UserRoles","admin","build","part","part_category","purchase_order","return_order","sales_order","stock","stock_location","UserPermissions","view","add","change","delete"],"mappings":"AAAA,OAAA,YAAA,EAAA;AAKO,IAAKA,8BAAAA,eAAL;AACLC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,MAAAA,IAAO;AACPC,aAAAA,eAAAA,IAAgB;AAChBC,aAAAA,gBAAAA,IAAiB;AACjBC,aAAAA,cAAAA,IAAe;AACfC,aAAAA,aAAAA,IAAc;AACdC,aAAAA,OAAAA,IAAQ;AACRC,aAAAA,gBAAAA,IAAiB;AATPT,SAAAA;AAAAA,GAAAA,aAAAA,CAAAA,CAAAA;AAeL,IAAKU,oCAAAA,qBAAL;AACLC,mBAAAA,MAAAA,IAAO;AACPC,mBAAAA,KAAAA,IAAM;AACNC,mBAAAA,QAAAA,IAAS;AACTC,mBAAAA,QAAAA,IAAS;AAJCJ,SAAAA;AAAAA,GAAAA,mBAAAA,CAAAA,CAAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sources":["../../lib/functions/Api.tsx"],"sourcesContent":["import type { ApiEndpoints } from '../enums/ApiEndpoints';\nimport type { PathParams } from '../types/Core';\n\n/**\n * Function to return the API prefix.\n * For now it is fixed, but may be configurable in the future.\n */\nexport function apiPrefix(): string {\n return '/api/';\n}\n\n/**\n * Construct an API URL with an endpoint and (optional) pk value\n */\nexport function apiUrl(\n endpoint: ApiEndpoints | string,\n pk?: any,\n pathParams?: PathParams\n): string {\n let _url = endpoint;\n\n // If the URL does not start with a '/', add the API prefix\n if (!_url.startsWith('/')) {\n _url = apiPrefix() + _url;\n }\n\n if (_url && pk) {\n if (_url.indexOf(':id') >= 0) {\n _url = _url.replace(':id', `${pk}`);\n } else {\n _url += `${pk}/`;\n }\n }\n\n if (_url && pathParams) {\n for (const key in pathParams) {\n _url = _url.replace(`:${key}`, `${pathParams[key]}`);\n }\n }\n\n return _url;\n}\n"],"names":["apiPrefix","apiUrl","endpoint","pk","pathParams","_url","startsWith","indexOf","replace","key"],"mappings":"AAOO,SAASA,YAAoB;AAC3B,SAAA;AACT;AAKgBC,SAAAA,OACdC,UACAC,IACAC,YACQ;AACR,MAAIC,OAAOH;AAGX,MAAI,CAACG,KAAKC,WAAW,GAAG,GAAG;AACzBD,WAAOL,cAAcK;AAAAA,EAAAA;AAGvB,MAAIA,QAAQF,IAAI;AACd,QAAIE,KAAKE,QAAQ,KAAK,KAAK,GAAG;AAC5BF,aAAOA,KAAKG,QAAQ,OAAO,GAAGL,EAAE,EAAE;AAAA,IAAA,OAC7B;AACLE,cAAQ,GAAGF,EAAE;AAAA,IAAA;AAAA,EACf;AAGF,MAAIE,QAAQD,YAAY;AACtB,eAAWK,OAAOL,YAAY;AACrBC,aAAAA,KAAKG,QAAQ,IAAIC,GAAG,IAAI,GAAGL,WAAWK,GAAG,CAAC,EAAE;AAAA,IAAA;AAAA,EACrD;AAGKJ,SAAAA;AACT;"}
1
+ {"version":3,"file":"Api.js","sources":["../../lib/functions/Api.tsx"],"sourcesContent":["import type { ApiEndpoints } from '../enums/ApiEndpoints';\nimport type { PathParams } from '../types/Core';\n\n/**\n * Function to return the API prefix.\n * For now it is fixed, but may be configurable in the future.\n */\nexport function apiPrefix(): string {\n return '/api/';\n}\n\n/**\n * Construct an API URL with an endpoint and (optional) pk value\n */\nexport function apiUrl(\n endpoint: ApiEndpoints | string,\n pk?: any,\n pathParams?: PathParams\n): string {\n let _url = endpoint;\n\n // If the URL does not start with a '/', add the API prefix\n if (!_url.startsWith('/')) {\n _url = apiPrefix() + _url;\n }\n\n if (_url && pk) {\n if (_url.indexOf(':id') >= 0) {\n _url = _url.replace(':id', `${pk}`);\n } else {\n _url += `${pk}/`;\n }\n }\n\n if (_url && pathParams) {\n for (const key in pathParams) {\n _url = _url.replace(`:${key}`, `${pathParams[key]}`);\n }\n }\n\n return _url;\n}\n"],"names":["apiPrefix","apiUrl","endpoint","pk","pathParams","_url","startsWith","indexOf","replace","key"],"mappings":"AAOO,SAASA,YAAoB;AAClC,SAAO;AACT;AAKO,SAASC,OACdC,UACAC,IACAC,YACQ;AACR,MAAIC,OAAOH;AAGX,MAAI,CAACG,KAAKC,WAAW,GAAG,GAAG;AACzBD,WAAOL,cAAcK;AAAAA,EACvB;AAEA,MAAIA,QAAQF,IAAI;AACd,QAAIE,KAAKE,QAAQ,KAAK,KAAK,GAAG;AAC5BF,aAAOA,KAAKG,QAAQ,OAAO,GAAGL,EAAE,EAAE;AAAA,IACpC,OAAO;AACLE,cAAQ,GAAGF,EAAE;AAAA,IACf;AAAA,EACF;AAEA,MAAIE,QAAQD,YAAY;AACtB,eAAWK,OAAOL,YAAY;AAC5BC,aAAOA,KAAKG,QAAQ,IAAIC,GAAG,IAAI,GAAGL,WAAWK,GAAG,CAAC,EAAE;AAAA,IACrD;AAAA,EACF;AAEA,SAAOJ;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Conversion.js","sources":["../../lib/functions/Conversion.tsx"],"sourcesContent":["/*\n * Determine if the provided value is \"true\":\n *\n * Many settings stored on the server are true/false,\n * but stored as string values, \"true\" / \"false\".\n *\n * This function provides a wrapper to ensure that the return type is boolean\n */\nexport function isTrue(value: any): boolean {\n if (value === true) {\n return true;\n }\n\n if (value === false) {\n return false;\n }\n\n const s = String(value).trim().toLowerCase();\n\n return ['true', 'yes', '1', 'on', 't', 'y'].includes(s);\n}\n\n/*\n * Resolve a nested item in an object.\n * Returns the resolved item, if it exists.\n *\n * e.g. resolveItem(data, \"sub.key.accessor\")\n *\n * Allows for retrieval of nested items in an object.\n */\nexport function resolveItem(obj: any, path: string): any {\n const properties = path.split('.');\n return properties.reduce((prev, curr) => prev?.[curr], obj);\n}\n\nexport function identifierString(value: string): string {\n // Convert an input string e.g. \"Hello World\" into a string that can be used as an identifier, e.g. \"hello-world\"\n\n value = value || '-';\n\n return value.toLowerCase().replace(/[^a-z0-9]/g, '-');\n}\n"],"names":["isTrue","value","s","String","trim","toLowerCase","includes","identifierString","replace"],"mappings":"AAQO,SAASA,OAAOC,OAAqB;AAC1C,MAAIA,UAAU,MAAM;AACX,WAAA;AAAA,EAAA;AAGT,MAAIA,UAAU,OAAO;AACZ,WAAA;AAAA,EAAA;AAGT,QAAMC,IAAIC,OAAOF,KAAK,EAAEG,KAAAA,EAAOC,YAAY;AAEpC,SAAA,CAAC,QAAQ,OAAO,KAAK,MAAM,KAAK,GAAG,EAAEC,SAASJ,CAAC;AACxD;AAeO,SAASK,iBAAiBN,OAAuB;AAGtDA,UAAQA,SAAS;AAEjB,SAAOA,MAAMI,YAAAA,EAAcG,QAAQ,cAAc,GAAG;AACtD;"}
1
+ {"version":3,"file":"Conversion.js","sources":["../../lib/functions/Conversion.tsx"],"sourcesContent":["/*\n * Determine if the provided value is \"true\":\n *\n * Many settings stored on the server are true/false,\n * but stored as string values, \"true\" / \"false\".\n *\n * This function provides a wrapper to ensure that the return type is boolean\n */\nexport function isTrue(value: any): boolean {\n if (value === true) {\n return true;\n }\n\n if (value === false) {\n return false;\n }\n\n const s = String(value).trim().toLowerCase();\n\n return ['true', 'yes', '1', 'on', 't', 'y'].includes(s);\n}\n\n/*\n * Resolve a nested item in an object.\n * Returns the resolved item, if it exists.\n *\n * e.g. resolveItem(data, \"sub.key.accessor\")\n *\n * Allows for retrieval of nested items in an object.\n */\nexport function resolveItem(obj: any, path: string): any {\n const properties = path.split('.');\n return properties.reduce((prev, curr) => prev?.[curr], obj);\n}\n\nexport function identifierString(value: string): string {\n // Convert an input string e.g. \"Hello World\" into a string that can be used as an identifier, e.g. \"hello-world\"\n\n value = value || '-';\n\n return value.toLowerCase().replace(/[^a-z0-9]/g, '-');\n}\n"],"names":["isTrue","value","s","String","trim","toLowerCase","includes","identifierString","replace"],"mappings":"AAQO,SAASA,OAAOC,OAAqB;AAC1C,MAAIA,UAAU,MAAM;AAClB,WAAO;AAAA,EACT;AAEA,MAAIA,UAAU,OAAO;AACnB,WAAO;AAAA,EACT;AAEA,QAAMC,IAAIC,OAAOF,KAAK,EAAEG,KAAAA,EAAOC,YAAAA;AAE/B,SAAO,CAAC,QAAQ,OAAO,KAAK,MAAM,KAAK,GAAG,EAAEC,SAASJ,CAAC;AACxD;AAeO,SAASK,iBAAiBN,OAAuB;AAGtDA,UAAQA,SAAS;AAEjB,SAAOA,MAAMI,YAAAA,EAAcG,QAAQ,cAAc,GAAG;AACtD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Formatting.js","sources":["../../lib/functions/Formatting.tsx"],"sourcesContent":["export interface FormatDecmimalOptionsInterface {\n digits?: number;\n minDigits?: number;\n locale?: string;\n}\n\nexport interface FormatCurrencyOptionsInterface {\n digits?: number;\n minDigits?: number;\n currency?: string;\n locale?: string;\n multiplier?: number;\n}\n\nexport function formatDecimal(\n value: number | null | undefined,\n options: FormatDecmimalOptionsInterface = {}\n) {\n const locale = options.locale || navigator.language || 'en-US';\n\n if (value === null || value === undefined) {\n return value;\n }\n\n try {\n const formatter = new Intl.NumberFormat(locale, {\n style: 'decimal',\n maximumFractionDigits: options.digits ?? 6,\n minimumFractionDigits: options.minDigits ?? 0\n });\n\n return formatter.format(value);\n } catch (e) {\n console.error('Error formatting decimal:', e);\n // Return the unformatted value if formatting fails\n return value;\n }\n}\n\n/*\n * format currency (money) value based on current settings\n *\n * Options:\n * - currency: Currency code (uses default value if none provided)\n * - locale: Locale specified (uses default value if none provided)\n * - digits: Maximum number of significant digits (default = 10)\n */\nexport function formatCurrencyValue(\n value: number | string | null | undefined,\n options: FormatCurrencyOptionsInterface = {}\n) {\n if (value == null || value == undefined) {\n return null;\n }\n\n value = Number.parseFloat(value.toString());\n\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n return null;\n }\n\n value *= options.multiplier ?? 1;\n\n // Extract locale information\n const locale = options.locale || navigator.language || 'en-US';\n\n const minDigits = options.minDigits ?? 0;\n const maxDigits = options.digits ?? 6;\n\n try {\n const formatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: options.currency || 'USD',\n maximumFractionDigits: Math.max(minDigits, maxDigits),\n minimumFractionDigits: Math.min(minDigits, maxDigits)\n });\n\n return formatter.format(value);\n } catch (e) {\n console.error('Error formatting currency:', e);\n // Return the unformatted value if formatting fails\n return value;\n }\n}\n\n/*\n * Format a file size (in bytes) into a human-readable format\n */\nexport function formatFileSize(size: number) {\n const suffixes: string[] = ['B', 'KB', 'MB', 'GB'];\n\n let idx = 0;\n\n while (size > 1024 && idx < suffixes.length) {\n size /= 1024;\n idx++;\n }\n\n return `${size.toFixed(2)} ${suffixes[idx]}`;\n}\n"],"names":["formatDecimal","value","options","locale","navigator","language","undefined","formatter","Intl","NumberFormat","style","maximumFractionDigits","digits","minimumFractionDigits","minDigits","format","e","error","formatCurrencyValue","Number","parseFloat","toString","isNaN","isFinite","multiplier","maxDigits","currency","Math","max","min","formatFileSize","size","suffixes","idx","length","toFixed"],"mappings":"AAcO,SAASA,cACdC,OACAC,UAA0C,IAC1C;AACA,QAAMC,SAASD,QAAQC,UAAUC,UAAUC,YAAY;AAEnDJ,MAAAA,UAAU,QAAQA,UAAUK,QAAW;AAClCL,WAAAA;AAAAA,EAAAA;AAGL,MAAA;AACF,UAAMM,YAAY,IAAIC,KAAKC,aAAaN,QAAQ;AAAA,MAC9CO,OAAO;AAAA,MACPC,uBAAuBT,QAAQU,UAAU;AAAA,MACzCC,uBAAuBX,QAAQY,aAAa;AAAA,IAAA,CAC7C;AAEMP,WAAAA,UAAUQ,OAAOd,KAAK;AAAA,WACtBe,GAAG;AACFC,YAAAA,MAAM,6BAA6BD,CAAC;AAErCf,WAAAA;AAAAA,EAAAA;AAEX;AAUO,SAASiB,oBACdjB,OACAC,UAA0C,IAC1C;AACID,MAAAA,SAAS,QAAQA,SAASK,QAAW;AAChC,WAAA;AAAA,EAAA;AAGTL,UAAQkB,OAAOC,WAAWnB,MAAMoB,SAAAA,CAAU;AAEtCF,MAAAA,OAAOG,MAAMrB,KAAK,KAAK,CAACkB,OAAOI,SAAStB,KAAK,GAAG;AAC3C,WAAA;AAAA,EAAA;AAGTA,WAASC,QAAQsB,cAAc;AAG/B,QAAMrB,SAASD,QAAQC,UAAUC,UAAUC,YAAY;AAEjDS,QAAAA,YAAYZ,QAAQY,aAAa;AACjCW,QAAAA,YAAYvB,QAAQU,UAAU;AAEhC,MAAA;AACF,UAAML,YAAY,IAAIC,KAAKC,aAAaN,QAAQ;AAAA,MAC9CO,OAAO;AAAA,MACPgB,UAAUxB,QAAQwB,YAAY;AAAA,MAC9Bf,uBAAuBgB,KAAKC,IAAId,WAAWW,SAAS;AAAA,MACpDZ,uBAAuBc,KAAKE,IAAIf,WAAWW,SAAS;AAAA,IAAA,CACrD;AAEMlB,WAAAA,UAAUQ,OAAOd,KAAK;AAAA,WACtBe,GAAG;AACFC,YAAAA,MAAM,8BAA8BD,CAAC;AAEtCf,WAAAA;AAAAA,EAAAA;AAEX;AAKO,SAAS6B,eAAeC,MAAc;AAC3C,QAAMC,WAAqB,CAAC,KAAK,MAAM,MAAM,IAAI;AAEjD,MAAIC,MAAM;AAEV,SAAOF,OAAO,QAAQE,MAAMD,SAASE,QAAQ;AACnC,YAAA;AACRD;AAAAA,EAAAA;AAGK,SAAA,GAAGF,KAAKI,QAAQ,CAAC,CAAC,IAAIH,SAASC,GAAG,CAAC;AAC5C;"}
1
+ {"version":3,"file":"Formatting.js","sources":["../../lib/functions/Formatting.tsx"],"sourcesContent":["export interface FormatDecmimalOptionsInterface {\n digits?: number;\n minDigits?: number;\n locale?: string;\n}\n\nexport interface FormatCurrencyOptionsInterface {\n digits?: number;\n minDigits?: number;\n currency?: string;\n locale?: string;\n multiplier?: number;\n}\n\nexport function formatDecimal(\n value: number | null | undefined,\n options: FormatDecmimalOptionsInterface = {}\n) {\n const locale = options.locale || navigator.language || 'en-US';\n\n if (value === null || value === undefined) {\n return value;\n }\n\n try {\n const formatter = new Intl.NumberFormat(locale, {\n style: 'decimal',\n maximumFractionDigits: options.digits ?? 6,\n minimumFractionDigits: options.minDigits ?? 0\n });\n\n return formatter.format(value);\n } catch (e) {\n console.error('Error formatting decimal:', e);\n // Return the unformatted value if formatting fails\n return value;\n }\n}\n\n/*\n * format currency (money) value based on current settings\n *\n * Options:\n * - currency: Currency code (uses default value if none provided)\n * - locale: Locale specified (uses default value if none provided)\n * - digits: Maximum number of significant digits (default = 10)\n */\nexport function formatCurrencyValue(\n value: number | string | null | undefined,\n options: FormatCurrencyOptionsInterface = {}\n) {\n if (value == null || value == undefined) {\n return null;\n }\n\n value = Number.parseFloat(value.toString());\n\n if (Number.isNaN(value) || !Number.isFinite(value)) {\n return null;\n }\n\n value *= options.multiplier ?? 1;\n\n // Extract locale information\n const locale = options.locale || navigator.language || 'en-US';\n\n const minDigits = options.minDigits ?? 0;\n const maxDigits = options.digits ?? 6;\n\n try {\n const formatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: options.currency || 'USD',\n maximumFractionDigits: Math.max(minDigits, maxDigits),\n minimumFractionDigits: Math.min(minDigits, maxDigits)\n });\n\n return formatter.format(value);\n } catch (e) {\n console.error('Error formatting currency:', e);\n // Return the unformatted value if formatting fails\n return value;\n }\n}\n\n/*\n * Format a file size (in bytes) into a human-readable format\n */\nexport function formatFileSize(size: number) {\n const suffixes: string[] = ['B', 'KB', 'MB', 'GB'];\n\n let idx = 0;\n\n while (size > 1024 && idx < suffixes.length) {\n size /= 1024;\n idx++;\n }\n\n return `${size.toFixed(2)} ${suffixes[idx]}`;\n}\n"],"names":["formatDecimal","value","options","locale","navigator","language","undefined","formatter","Intl","NumberFormat","style","maximumFractionDigits","digits","minimumFractionDigits","minDigits","format","e","console","error","formatCurrencyValue","Number","parseFloat","toString","isNaN","isFinite","multiplier","maxDigits","currency","Math","max","min","formatFileSize","size","suffixes","idx","length","toFixed"],"mappings":"AAcO,SAASA,cACdC,OACAC,UAA0C,IAC1C;AACA,QAAMC,SAASD,QAAQC,UAAUC,UAAUC,YAAY;AAEvD,MAAIJ,UAAU,QAAQA,UAAUK,QAAW;AACzC,WAAOL;AAAAA,EACT;AAEA,MAAI;AACF,UAAMM,YAAY,IAAIC,KAAKC,aAAaN,QAAQ;AAAA,MAC9CO,OAAO;AAAA,MACPC,uBAAuBT,QAAQU,UAAU;AAAA,MACzCC,uBAAuBX,QAAQY,aAAa;AAAA,IAAA,CAC7C;AAED,WAAOP,UAAUQ,OAAOd,KAAK;AAAA,EAC/B,SAASe,GAAG;AACVC,YAAQC,MAAM,6BAA6BF,CAAC;AAE5C,WAAOf;AAAAA,EACT;AACF;AAUO,SAASkB,oBACdlB,OACAC,UAA0C,IAC1C;AACA,MAAID,SAAS,QAAQA,SAASK,QAAW;AACvC,WAAO;AAAA,EACT;AAEAL,UAAQmB,OAAOC,WAAWpB,MAAMqB,SAAAA,CAAU;AAE1C,MAAIF,OAAOG,MAAMtB,KAAK,KAAK,CAACmB,OAAOI,SAASvB,KAAK,GAAG;AAClD,WAAO;AAAA,EACT;AAEAA,WAASC,QAAQuB,cAAc;AAG/B,QAAMtB,SAASD,QAAQC,UAAUC,UAAUC,YAAY;AAEvD,QAAMS,YAAYZ,QAAQY,aAAa;AACvC,QAAMY,YAAYxB,QAAQU,UAAU;AAEpC,MAAI;AACF,UAAML,YAAY,IAAIC,KAAKC,aAAaN,QAAQ;AAAA,MAC9CO,OAAO;AAAA,MACPiB,UAAUzB,QAAQyB,YAAY;AAAA,MAC9BhB,uBAAuBiB,KAAKC,IAAIf,WAAWY,SAAS;AAAA,MACpDb,uBAAuBe,KAAKE,IAAIhB,WAAWY,SAAS;AAAA,IAAA,CACrD;AAED,WAAOnB,UAAUQ,OAAOd,KAAK;AAAA,EAC/B,SAASe,GAAG;AACVC,YAAQC,MAAM,8BAA8BF,CAAC;AAE7C,WAAOf;AAAAA,EACT;AACF;AAKO,SAAS8B,eAAeC,MAAc;AAC3C,QAAMC,WAAqB,CAAC,KAAK,MAAM,MAAM,IAAI;AAEjD,MAAIC,MAAM;AAEV,SAAOF,OAAO,QAAQE,MAAMD,SAASE,QAAQ;AAC3CH,YAAQ;AACRE;AAAAA,EACF;AAEA,SAAO,GAAGF,KAAKI,QAAQ,CAAC,CAAC,IAAIH,SAASC,GAAG,CAAC;AAC5C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sources":["../../lib/functions/Navigation.tsx"],"sourcesContent":["import type { NavigateFunction } from 'react-router-dom';\nimport { ModelInformationDict } from '../enums/ModelInformation';\nimport type { ModelType } from '../enums/ModelType';\nimport { apiUrl } from './Api';\nimport { cancelEvent } from './Events';\n\nexport const getBaseUrl = (): string =>\n (window as any).INVENTREE_SETTINGS?.base_url || 'web';\n\n/**\n * Returns the detail view URL for a given model type.\n * This is the UI URL, not the API URL.\n */\nexport function getDetailUrl(\n model: ModelType,\n pk: number | string,\n absolute?: boolean\n): string {\n const modelInfo = ModelInformationDict[model];\n\n if (pk === undefined || pk === null) {\n return '';\n }\n\n if (!!pk && modelInfo && modelInfo.url_detail) {\n const url = modelInfo.url_detail.replace(':pk', pk.toString());\n const base = getBaseUrl();\n\n if (absolute && base) {\n return `/${base}${url}`;\n } else {\n return url;\n }\n }\n\n console.error(`No detail URL found for model ${model} <${pk}>`);\n return '';\n}\n\n/**\n * Returns the API detail URL for a given model type.\n */\nexport function getApiUrl(\n model: ModelType,\n pk: number | string\n): string | undefined {\n const modelInfo = ModelInformationDict[model];\n\n if (pk === undefined || pk === null) {\n return '';\n }\n\n if (!!pk && modelInfo && modelInfo.api_endpoint) {\n return apiUrl(modelInfo.api_endpoint, pk);\n }\n\n console.error(`No API detail URL found for model ${model} <${pk}>`);\n return undefined;\n}\n\n/*\n * Navigate to a provided link.\n * - If the link is to be opened externally, open it in a new tab.\n * - Otherwise, navigate using the provided navigate function.\n */\nexport const navigateToLink = (\n link: string,\n navigate: NavigateFunction,\n event: any\n) => {\n cancelEvent(event);\n\n const base = `/${getBaseUrl()}`;\n\n if (eventModified(event)) {\n // Open the link in a new tab\n let url = link;\n if (link.startsWith('/') && !link.startsWith(base)) {\n url = `${base}${link}`;\n }\n window.open(url, '_blank');\n } else {\n // Navigate internally\n let url = link;\n\n if (link.startsWith(base)) {\n // Strip the base URL from the link\n url = link.replace(base, '');\n }\n\n navigate(url);\n }\n};\n\n/**\n * Check if the event is modified (e.g. ctrl, shift, or meta key pressed)\n * @param event - The event to check\n * @returns true if the event was modified\n */\nexport const eventModified = (\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n) => {\n return event?.ctrlKey || event?.shiftKey || event?.metaKey;\n};\n"],"names":["getBaseUrl","window","INVENTREE_SETTINGS","base_url","getDetailUrl","model","pk","absolute","modelInfo","ModelInformationDict","undefined","url_detail","url","replace","toString","base","console","error","navigateToLink","link","navigate","event","cancelEvent","eventModified","startsWith","open","ctrlKey","shiftKey","metaKey"],"mappings":";;AAMO,MAAMA,aAAaA,MACvBC;;AAAAA,uBAAeC,uBAAfD,mBAAmCE,aAAY;AAAA;AAMlCC,SAAAA,aACdC,OACAC,IACAC,UACQ;AACFC,QAAAA,YAAYC,qBAAqBJ,KAAK;AAExCC,MAAAA,OAAOI,UAAaJ,OAAO,MAAM;AAC5B,WAAA;AAAA,EAAA;AAGT,MAAI,CAAC,CAACA,MAAME,aAAaA,UAAUG,YAAY;AAC7C,UAAMC,MAAMJ,UAAUG,WAAWE,QAAQ,OAAOP,GAAGQ,UAAU;AAC7D,UAAMC,OAAOf,WAAW;AAExB,QAAIO,YAAYQ,MAAM;AACb,aAAA,IAAIA,IAAI,GAAGH,GAAG;AAAA,IAAA,OAChB;AACEA,aAAAA;AAAAA,IAAAA;AAAAA,EACT;AAGFI,UAAQC,MAAM,iCAAiCZ,KAAK,KAAKC,EAAE,GAAG;AACvD,SAAA;AACT;AA4BO,MAAMY,iBAAiBA,CAC5BC,MACAC,UACAC,UACG;AACHC,cAAYD,KAAK;AAEXN,QAAAA,OAAO,IAAIf,WAAY,CAAA;AAEzBuB,MAAAA,cAAcF,KAAK,GAAG;AAExB,QAAIT,MAAMO;AACNA,QAAAA,KAAKK,WAAW,GAAG,KAAK,CAACL,KAAKK,WAAWT,IAAI,GAAG;AAC5C,YAAA,GAAGA,IAAI,GAAGI,IAAI;AAAA,IAAA;AAEfM,WAAAA,KAAKb,KAAK,QAAQ;AAAA,EAAA,OACpB;AAEL,QAAIA,MAAMO;AAENA,QAAAA,KAAKK,WAAWT,IAAI,GAAG;AAEnBI,YAAAA,KAAKN,QAAQE,MAAM,EAAE;AAAA,IAAA;AAG7BK,aAASR,GAAG;AAAA,EAAA;AAEhB;AAOaW,MAAAA,gBAAgBA,CAC3BF,UACG;AACH,UAAOA,+BAAOK,aAAWL,+BAAOM,cAAYN,+BAAOO;AACrD;"}
1
+ {"version":3,"file":"Navigation.js","sources":["../../lib/functions/Navigation.tsx"],"sourcesContent":["import type { NavigateFunction } from 'react-router-dom';\nimport { ModelInformationDict } from '../enums/ModelInformation';\nimport type { ModelType } from '../enums/ModelType';\nimport { apiUrl } from './Api';\nimport { cancelEvent } from './Events';\n\nexport const getBaseUrl = (): string =>\n (window as any).INVENTREE_SETTINGS?.base_url || 'web';\n\n/**\n * Returns the detail view URL for a given model type.\n * This is the UI URL, not the API URL.\n */\nexport function getDetailUrl(\n model: ModelType,\n pk: number | string,\n absolute?: boolean\n): string {\n const modelInfo = ModelInformationDict[model];\n\n if (pk === undefined || pk === null) {\n return '';\n }\n\n if (!!pk && modelInfo && modelInfo.url_detail) {\n const url = modelInfo.url_detail.replace(':pk', pk.toString());\n const base = getBaseUrl();\n\n if (absolute && base) {\n return `/${base}${url}`;\n } else {\n return url;\n }\n }\n\n console.error(`No detail URL found for model ${model} <${pk}>`);\n return '';\n}\n\n/**\n * Returns the API detail URL for a given model type.\n */\nexport function getApiUrl(\n model: ModelType,\n pk: number | string\n): string | undefined {\n const modelInfo = ModelInformationDict[model];\n\n if (pk === undefined || pk === null) {\n return '';\n }\n\n if (!!pk && modelInfo && modelInfo.api_endpoint) {\n return apiUrl(modelInfo.api_endpoint, pk);\n }\n\n console.error(`No API detail URL found for model ${model} <${pk}>`);\n return undefined;\n}\n\n/*\n * Navigate to a provided link.\n * - If the link is to be opened externally, open it in a new tab.\n * - Otherwise, navigate using the provided navigate function.\n */\nexport const navigateToLink = (\n link: string,\n navigate: NavigateFunction,\n event: any\n) => {\n cancelEvent(event);\n\n const base = `/${getBaseUrl()}`;\n\n if (eventModified(event)) {\n // Open the link in a new tab\n let url = link;\n if (link.startsWith('/') && !link.startsWith(base)) {\n url = `${base}${link}`;\n }\n window.open(url, '_blank');\n } else {\n // Navigate internally\n let url = link;\n\n if (link.startsWith(base)) {\n // Strip the base URL from the link\n url = link.replace(base, '');\n }\n\n navigate(url);\n }\n};\n\n/**\n * Check if the event is modified (e.g. ctrl, shift, or meta key pressed)\n * @param event - The event to check\n * @returns true if the event was modified\n */\nexport const eventModified = (\n event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n) => {\n return event?.ctrlKey || event?.shiftKey || event?.metaKey;\n};\n"],"names":["getBaseUrl","window","INVENTREE_SETTINGS","base_url","getDetailUrl","model","pk","absolute","modelInfo","ModelInformationDict","undefined","url_detail","url","replace","toString","base","console","error","navigateToLink","link","navigate","event","cancelEvent","eventModified","startsWith","open","ctrlKey","shiftKey","metaKey"],"mappings":";;AAMO,MAAMA,aAAaA,MAAAA;;AACvBC,uBAAeC,uBAAfD,mBAAmCE,aAAY;AAAA;AAM3C,SAASC,aACdC,OACAC,IACAC,UACQ;AACR,QAAMC,YAAYC,qBAAqBJ,KAAK;AAE5C,MAAIC,OAAOI,UAAaJ,OAAO,MAAM;AACnC,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,CAACA,MAAME,aAAaA,UAAUG,YAAY;AAC7C,UAAMC,MAAMJ,UAAUG,WAAWE,QAAQ,OAAOP,GAAGQ,UAAU;AAC7D,UAAMC,OAAOf,WAAAA;AAEb,QAAIO,YAAYQ,MAAM;AACpB,aAAO,IAAIA,IAAI,GAAGH,GAAG;AAAA,IACvB,OAAO;AACL,aAAOA;AAAAA,IACT;AAAA,EACF;AAEAI,UAAQC,MAAM,iCAAiCZ,KAAK,KAAKC,EAAE,GAAG;AAC9D,SAAO;AACT;AA4BO,MAAMY,iBAAiBA,CAC5BC,MACAC,UACAC,UACG;AACHC,cAAYD,KAAK;AAEjB,QAAMN,OAAO,IAAIf,WAAAA,CAAY;AAE7B,MAAIuB,cAAcF,KAAK,GAAG;AAExB,QAAIT,MAAMO;AACV,QAAIA,KAAKK,WAAW,GAAG,KAAK,CAACL,KAAKK,WAAWT,IAAI,GAAG;AAClDH,YAAM,GAAGG,IAAI,GAAGI,IAAI;AAAA,IACtB;AACAlB,WAAOwB,KAAKb,KAAK,QAAQ;AAAA,EAC3B,OAAO;AAEL,QAAIA,MAAMO;AAEV,QAAIA,KAAKK,WAAWT,IAAI,GAAG;AAEzBH,YAAMO,KAAKN,QAAQE,MAAM,EAAE;AAAA,IAC7B;AAEAK,aAASR,GAAG;AAAA,EACd;AACF;AAOO,MAAMW,gBAAgBA,CAC3BF,UACG;AACH,UAAOA,+BAAOK,aAAWL,+BAAOM,cAAYN,+BAAOO;AACrD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Plugins.js","sources":["../../lib/functions/Plugins.tsx"],"sourcesContent":["import {\n INVENTREE_PLUGIN_VERSION,\n type InvenTreePluginContext\n} from '../types/Plugins';\n\n/**\n * Check that the plugin version matches the expected version.\n * This is a helper function which only generates a warning if there is a mismatch.\n */\nexport function checkPluginVersion(context: InvenTreePluginContext) {\n const systemVersion: string = context?.version?.inventree || '';\n\n if (INVENTREE_PLUGIN_VERSION != systemVersion) {\n console.info(\n `Plugin version mismatch! Expected version ${INVENTREE_PLUGIN_VERSION}, got ${systemVersion}`\n );\n }\n}\n\n/**\n * Helper function to initialize the plugin context.\n */\nexport function initPlugin(context: InvenTreePluginContext) {\n // Check that the plugin version matches the expected version\n checkPluginVersion(context);\n\n // Activate the i18n context for the current locale\n context.i18n?.activate?.(context.locale);\n}\n"],"names":["checkPluginVersion","context","systemVersion","version","inventree","INVENTREE_PLUGIN_VERSION","console","info","initPlugin","i18n","activate","locale"],"mappings":";AASO,SAASA,mBAAmBC,SAAiC;;AAC5DC,QAAAA,kBAAwBD,wCAASE,YAATF,mBAAkBG,cAAa;AAE7D,MAAIC,4BAA4BH,eAAe;AAC7CI,YAAQC,KACN,6CAA6CF,wBAAwB,SAASH,aAAa,EAC7F;AAAA,EAAA;AAEJ;AAKO,SAASM,WAAWP,SAAiC;;AAE1DD,qBAAmBC,OAAO;AAGlBQ,sBAAAA,SAAAA,mBAAMC,aAAND,4BAAiBR,QAAQU;AACnC;"}
1
+ {"version":3,"file":"Plugins.js","sources":["../../lib/functions/Plugins.tsx"],"sourcesContent":["import {\n INVENTREE_PLUGIN_VERSION,\n type InvenTreePluginContext\n} from '../types/Plugins';\n\n/**\n * Check that the plugin version matches the expected version.\n * This is a helper function which only generates a warning if there is a mismatch.\n */\nexport function checkPluginVersion(context: InvenTreePluginContext) {\n const systemVersion: string = context?.version?.inventree || '';\n\n if (INVENTREE_PLUGIN_VERSION != systemVersion) {\n console.info(\n `Plugin version mismatch! Expected version ${INVENTREE_PLUGIN_VERSION}, got ${systemVersion}`\n );\n }\n}\n\n/**\n * Helper function to initialize the plugin context.\n */\nexport function initPlugin(context: InvenTreePluginContext) {\n // Check that the plugin version matches the expected version\n checkPluginVersion(context);\n\n // Activate the i18n context for the current locale\n context.i18n?.activate?.(context.locale);\n}\n"],"names":["checkPluginVersion","context","systemVersion","version","inventree","INVENTREE_PLUGIN_VERSION","console","info","initPlugin","i18n","activate","locale"],"mappings":";AASO,SAASA,mBAAmBC,SAAiC;;AAClE,QAAMC,kBAAwBD,wCAASE,YAATF,mBAAkBG,cAAa;AAE7D,MAAIC,4BAA4BH,eAAe;AAC7CI,YAAQC,KACN,6CAA6CF,wBAAwB,SAASH,aAAa,EAC7F;AAAA,EACF;AACF;AAKO,SAASM,WAAWP,SAAiC;;AAE1DD,qBAAmBC,OAAO;AAG1BA,sBAAQQ,SAARR,mBAAcS,aAAdT,4BAAyBA,QAAQU;AACnC;"}
package/dist/index.d.ts CHANGED
@@ -3,9 +3,10 @@ export { ApiEndpoints } from './enums/ApiEndpoints';
3
3
  export { ModelType } from './enums/ModelType';
4
4
  export type { ModelDict } from './enums/ModelInformation';
5
5
  export { UserRoles, UserPermissions } from './enums/Roles';
6
- export type { InvenTreePluginContext } from './types/Plugins';
6
+ export type { InvenTreePluginContext, InvenTreeFormsContext, PluginVersion, StockAdjustmentFormsContext } from './types/Plugins';
7
7
  export type { RowAction, RowViewProps } from './types/Tables';
8
8
  export type { ApiFormFieldChoice, ApiFormFieldHeader, ApiFormFieldType, ApiFormFieldSet, ApiFormProps, ApiFormModalProps, BulkEditApiFormModalProps } from './types/Forms';
9
+ export type { UseModalProps, UseModalReturn } from './types/Modals';
9
10
  export { apiUrl } from './functions/Api';
10
11
  export { getBaseUrl, getDetailUrl, navigateToLink } from './functions/Navigation';
11
12
  export { checkPluginVersion, initPlugin } from './functions/Plugins';
@@ -1,12 +1,13 @@
1
1
  const useState = window["React"].useState;
2
2
  const useRef = window["React"].useRef;
3
+ const useCallback = window["React"].useCallback;
3
4
  const useEffect = window["React"].useEffect;
4
5
  function useDebouncedValue(value, wait, options = { leading: false }) {
5
6
  const [_value, setValue] = useState(value);
6
7
  const mountedRef = useRef(false);
7
8
  const timeoutRef = useRef(null);
8
9
  const cooldownRef = useRef(false);
9
- const cancel = () => window.clearTimeout(timeoutRef.current);
10
+ const cancel = useCallback(() => window.clearTimeout(timeoutRef.current), []);
10
11
  useEffect(() => {
11
12
  if (mountedRef.current) {
12
13
  if (!cooldownRef.current && options.leading) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-debounced-value.js","sources":["../../../../../../node_modules/@mantine/hooks/esm/use-debounced-value/use-debounced-value.mjs"],"sourcesContent":["'use client';\nimport { useState, useRef, useEffect } from 'react';\n\nfunction useDebouncedValue(value, wait, options = { leading: false }) {\n const [_value, setValue] = useState(value);\n const mountedRef = useRef(false);\n const timeoutRef = useRef(null);\n const cooldownRef = useRef(false);\n const cancel = () => window.clearTimeout(timeoutRef.current);\n useEffect(() => {\n if (mountedRef.current) {\n if (!cooldownRef.current && options.leading) {\n cooldownRef.current = true;\n setValue(value);\n } else {\n cancel();\n timeoutRef.current = window.setTimeout(() => {\n cooldownRef.current = false;\n setValue(value);\n }, wait);\n }\n }\n }, [value, options.leading, wait]);\n useEffect(() => {\n mountedRef.current = true;\n return cancel;\n }, []);\n return [_value, cancel];\n}\n\nexport { useDebouncedValue };\n//# sourceMappingURL=use-debounced-value.mjs.map\n"],"names":[],"mappings":"AACA,MAAA,WAAA,OAAA,OAAA,EAAA;;;AAEA,SAAS,kBAAkB,OAAO,MAAM,UAAU,EAAE,SAAS,SAAS;AACpE,QAAM,CAAC,QAAQ,QAAQ,IAAI,SAAS,KAAK;AACzC,QAAM,aAAa,OAAO,KAAK;AAC/B,QAAM,aAAa,OAAO,IAAI;AAC9B,QAAM,cAAc,OAAO,KAAK;AAChC,QAAM,SAAS,MAAM,OAAO,aAAa,WAAW,OAAO;AAC3D,YAAU,MAAM;AACd,QAAI,WAAW,SAAS;AACtB,UAAI,CAAC,YAAY,WAAW,QAAQ,SAAS;AAC3C,oBAAY,UAAU;AACtB,iBAAS,KAAK;AAAA,MACtB,OAAa;AACL,eAAQ;AACR,mBAAW,UAAU,OAAO,WAAW,MAAM;AAC3C,sBAAY,UAAU;AACtB,mBAAS,KAAK;AAAA,QACf,GAAE,IAAI;AAAA,MACf;AAAA,IACA;AAAA,EACG,GAAE,CAAC,OAAO,QAAQ,SAAS,IAAI,CAAC;AACjC,YAAU,MAAM;AACd,eAAW,UAAU;AACrB,WAAO;AAAA,EACR,GAAE,EAAE;AACL,SAAO,CAAC,QAAQ,MAAM;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"use-debounced-value.js","sources":["../../../../../../node_modules/@mantine/hooks/esm/use-debounced-value/use-debounced-value.mjs"],"sourcesContent":["'use client';\nimport { useState, useRef, useCallback, useEffect } from 'react';\n\nfunction useDebouncedValue(value, wait, options = { leading: false }) {\n const [_value, setValue] = useState(value);\n const mountedRef = useRef(false);\n const timeoutRef = useRef(null);\n const cooldownRef = useRef(false);\n const cancel = useCallback(() => window.clearTimeout(timeoutRef.current), []);\n useEffect(() => {\n if (mountedRef.current) {\n if (!cooldownRef.current && options.leading) {\n cooldownRef.current = true;\n setValue(value);\n } else {\n cancel();\n timeoutRef.current = window.setTimeout(() => {\n cooldownRef.current = false;\n setValue(value);\n }, wait);\n }\n }\n }, [value, options.leading, wait]);\n useEffect(() => {\n mountedRef.current = true;\n return cancel;\n }, []);\n return [_value, cancel];\n}\n\nexport { useDebouncedValue };\n//# sourceMappingURL=use-debounced-value.mjs.map\n"],"names":[],"mappings":"AACA,MAAA,WAAA,OAAA,OAAA,EAAA;;;;AAEA,SAAS,kBAAkB,OAAO,MAAM,UAAU,EAAE,SAAS,SAAS;AACpE,QAAM,CAAC,QAAQ,QAAQ,IAAI,SAAS,KAAK;AACzC,QAAM,aAAa,OAAO,KAAK;AAC/B,QAAM,aAAa,OAAO,IAAI;AAC9B,QAAM,cAAc,OAAO,KAAK;AAChC,QAAM,SAAS,YAAY,MAAM,OAAO,aAAa,WAAW,OAAO,GAAG,EAAE;AAC5E,YAAU,MAAM;AACd,QAAI,WAAW,SAAS;AACtB,UAAI,CAAC,YAAY,WAAW,QAAQ,SAAS;AAC3C,oBAAY,UAAU;AACtB,iBAAS,KAAK;AAAA,MAChB,OAAO;AACL,eAAM;AACN,mBAAW,UAAU,OAAO,WAAW,MAAM;AAC3C,sBAAY,UAAU;AACtB,mBAAS,KAAK;AAAA,QAChB,GAAG,IAAI;AAAA,MACT;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,QAAQ,SAAS,IAAI,CAAC;AACjC,YAAU,MAAM;AACd,eAAW,UAAU;AACrB,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AACL,SAAO,CAAC,QAAQ,MAAM;AACxB;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"createReactComponent.js","sources":["../../../../../../node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.mjs';\n\nconst createReactComponent = (type, iconName, iconNamePascal, iconNode) => {\n const Component = forwardRef(\n ({ color = \"currentColor\", size = 24, stroke = 2, title, className, children, ...rest }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes[type],\n width: size,\n height: size,\n className: [`tabler-icon`, `tabler-icon-${iconName}`, className].join(\" \"),\n ...type === \"filled\" ? {\n fill: color\n } : {\n strokeWidth: stroke,\n stroke: color\n },\n ...rest\n },\n [\n title && createElement(\"title\", { key: \"svg-title\" }, title),\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n );\n Component.displayName = `${iconNamePascal}`;\n return Component;\n};\n\nexport { createReactComponent as default };\n//# sourceMappingURL=createReactComponent.mjs.map\n"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,MAAA,aAAA,OAAA,OAAA,EAAA;;AAGK,MAAC,uBAAuB,CAAC,MAAM,UAAU,gBAAgB,aAAa;AACzE,QAAM,YAAY;AAAA,IAChB,CAAC,EAAE,QAAQ,gBAAgB,OAAO,IAAI,SAAS,GAAG,OAAO,WAAW,UAAU,GAAG,KAAM,GAAE,QAAQ;AAAA,MAC/F;AAAA,MACA;AAAA,QACE;AAAA,QACA,GAAG,kBAAkB,IAAI;AAAA,QACzB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW,CAAC,eAAe,eAAe,QAAQ,IAAI,SAAS,EAAE,KAAK,GAAG;AAAA,QACzE,GAEI;AAAA,UACF,aAAa;AAAA,UACb,QAAQ;AAAA,QACT;AAAA,QACD,GAAG;AAAA,MACJ;AAAA,MACD;AAAA,QACE,SAAS,cAAc,SAAS,EAAE,KAAK,YAAa,GAAE,KAAK;AAAA,QAC3D,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,cAAc,KAAK,KAAK,CAAC;AAAA,QAC3D,GAAG,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAAA,MACzD;AAAA,IACA;AAAA,EACG;AACD,YAAU,cAAc,GAAG,cAAc;AACzC,SAAO;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"createReactComponent.js","sources":["../../../../../../node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.mjs';\n\nconst createReactComponent = (type, iconName, iconNamePascal, iconNode) => {\n const Component = forwardRef(\n ({ color = \"currentColor\", size = 24, stroke = 2, title, className, children, ...rest }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes[type],\n width: size,\n height: size,\n className: [`tabler-icon`, `tabler-icon-${iconName}`, className].join(\" \"),\n ...type === \"filled\" ? {\n fill: color\n } : {\n strokeWidth: stroke,\n stroke: color\n },\n ...rest\n },\n [\n title && createElement(\"title\", { key: \"svg-title\" }, title),\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n );\n Component.displayName = `${iconNamePascal}`;\n return Component;\n};\n\nexport { createReactComponent as default };\n//# sourceMappingURL=createReactComponent.mjs.map\n"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,MAAA,aAAA,OAAA,OAAA,EAAA;;AAGK,MAAC,uBAAuB,CAAC,MAAM,UAAU,gBAAgB,aAAa;AACzE,QAAM,YAAY;AAAA,IAChB,CAAC,EAAE,QAAQ,gBAAgB,OAAO,IAAI,SAAS,GAAG,OAAO,WAAW,UAAU,GAAG,KAAI,GAAI,QAAQ;AAAA,MAC/F;AAAA,MACA;AAAA,QACE;AAAA,QACA,GAAG,kBAAkB,IAAI;AAAA,QACzB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW,CAAC,eAAe,eAAe,QAAQ,IAAI,SAAS,EAAE,KAAK,GAAG;AAAA,QACzE,GAEI;AAAA,UACF,aAAa;AAAA,UACb,QAAQ;AAAA,QAClB;AAAA,QACQ,GAAG;AAAA,MACX;AAAA,MACM;AAAA,QACE,SAAS,cAAc,SAAS,EAAE,KAAK,YAAW,GAAI,KAAK;AAAA,QAC3D,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,cAAc,KAAK,KAAK,CAAC;AAAA,QAC3D,GAAG,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAAA,MACzD;AAAA,IACA;AAAA,EACA;AACE,YAAU,cAAc,GAAG,cAAc;AACzC,SAAO;AACT;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultAttributes.js","sources":["../../../../../../node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n outline: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n },\n filled: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n stroke: \"none\"\n }\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.mjs.map\n"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOG,IAAC,oBAAoB;AAAA,EACtB,SAAS;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,IACf,gBAAgB;AAAA,EACjB;AAAA,EACD,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"defaultAttributes.js","sources":["../../../../../../node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n outline: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n },\n filled: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n stroke: \"none\"\n }\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.mjs.map\n"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOG,IAAC,oBAAoB;AAAA,EACtB,SAAS;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,IACf,gBAAgB;AAAA,EACpB;AAAA,EACE,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ;AACA;","x_google_ignoreList":[0]}