@adobe-commerce/aio-experience-kit 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/README.md +104 -143
  3. package/dist/cjs/components/DataForm/FieldBuilder/index.js +33 -28
  4. package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
  5. package/dist/cjs/components/DataTable/GridBuilder/index.js +72 -58
  6. package/dist/cjs/components/DataTable/GridBuilder/index.js.map +1 -1
  7. package/dist/cjs/components/DataTable/index.js +8 -4
  8. package/dist/cjs/components/DataTable/index.js.map +1 -1
  9. package/dist/cjs/components/DataTable/types.js.map +1 -1
  10. package/dist/cjs/components/FileUpload/index.js +251 -0
  11. package/dist/cjs/components/FileUpload/index.js.map +1 -0
  12. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js +1 -1
  13. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
  14. package/dist/cjs/components/ShippingCarrierForm/index.js +6 -0
  15. package/dist/cjs/components/ShippingCarrierForm/index.js.map +1 -1
  16. package/dist/cjs/index.js +6 -4
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/utils/AdminUiSdk/index.js +4 -139
  19. package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -1
  20. package/dist/esm/components/DataForm/FieldBuilder/index.js +34 -29
  21. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
  22. package/dist/esm/components/DataTable/GridBuilder/index.js +74 -60
  23. package/dist/esm/components/DataTable/GridBuilder/index.js.map +1 -1
  24. package/dist/esm/components/DataTable/index.js +9 -5
  25. package/dist/esm/components/DataTable/index.js.map +1 -1
  26. package/dist/esm/components/DataTable/types.js.map +1 -1
  27. package/dist/esm/components/FileUpload/index.js +247 -0
  28. package/dist/esm/components/FileUpload/index.js.map +1 -0
  29. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js +1 -1
  30. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
  31. package/dist/esm/components/ShippingCarrierForm/index.js +6 -0
  32. package/dist/esm/components/ShippingCarrierForm/index.js.map +1 -1
  33. package/dist/esm/index.js +1 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
  36. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts +1 -1
  37. package/dist/esm/types/components/DataTable/GridBuilder/index.d.ts.map +1 -1
  38. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts +1 -0
  39. package/dist/esm/types/components/DataTable/GridBuilder/types.d.ts.map +1 -1
  40. package/dist/esm/types/components/DataTable/index.d.ts +1 -1
  41. package/dist/esm/types/components/DataTable/index.d.ts.map +1 -1
  42. package/dist/esm/types/components/DataTable/types.d.ts +1 -0
  43. package/dist/esm/types/components/DataTable/types.d.ts.map +1 -1
  44. package/dist/esm/types/components/FileUpload/index.d.ts +7 -0
  45. package/dist/esm/types/components/FileUpload/index.d.ts.map +1 -0
  46. package/dist/esm/types/components/FileUpload/types.d.ts +85 -0
  47. package/dist/esm/types/components/FileUpload/types.d.ts.map +1 -0
  48. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts +6 -0
  49. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts.map +1 -1
  50. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts +5 -0
  51. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts.map +1 -1
  52. package/dist/esm/types/components/index.d.ts +8 -0
  53. package/dist/esm/types/components/index.d.ts.map +1 -1
  54. package/dist/esm/types/utils/AdminUiSdk/index.d.ts +6 -45
  55. package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -1
  56. package/dist/esm/types/utils/AdminUiSdk/types.d.ts +0 -46
  57. package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -1
  58. package/dist/esm/utils/AdminUiSdk/index.js +5 -140
  59. package/dist/esm/utils/AdminUiSdk/index.js.map +1 -1
  60. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { View, IllustratedMessage, Heading, Content, TableView, TableHeader, Column, TableBody, Row, Cell } from '@adobe/react-spectrum';
3
+ import { View, IllustratedMessage, Heading, Content, TableView, TableHeader, Column, TableBody, Row, Cell, Flex } from '@adobe/react-spectrum';
4
4
  import { GridAction } from '../types.js';
5
5
  import LinksRenderer from './LinksRenderer/index.js';
6
6
  import ButtonsRenderer from './ButtonsRenderer/index.js';
@@ -27,7 +27,8 @@ var GridBuilder = function GridBuilder(_ref) {
27
27
  }, _callee);
28
28
  })) : _ref$onGridActionPres,
29
29
  _ref$onSelectionChang = _ref.onSelectionChange,
30
- onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang;
30
+ onSelectionChange = _ref$onSelectionChang === void 0 ? function () {} : _ref$onSelectionChang,
31
+ maxHeight = _ref.maxHeight;
31
32
  var selectionMode = isMassActionsEnabled ? 'multiple' : 'none';
32
33
  // Handle empty columns gracefully
33
34
  if (columns.length === 0) {
@@ -43,66 +44,79 @@ var GridBuilder = function GridBuilder(_ref) {
43
44
  })
44
45
  });
45
46
  }
47
+ var tableView = jsxs(TableView, _objectSpread2(_objectSpread2({
48
+ selectionMode: selectionMode,
49
+ onSelectionChange: onSelectionChange,
50
+ minHeight: 'size-6000'
51
+ }, maxHeight && {
52
+ flex: true
53
+ }), {}, {
54
+ renderEmptyState: function renderEmptyState() {
55
+ return jsxs(IllustratedMessage, {
56
+ children: [jsx(Heading, {
57
+ children: "No results"
58
+ }), jsx(Content, {
59
+ children: "No results found"
60
+ })]
61
+ });
62
+ },
63
+ children: [jsx(TableHeader, {
64
+ columns: columns,
65
+ children: function children(column) {
66
+ return jsx(Column, {
67
+ align: column.uid === 'actions' ? 'end' : 'start',
68
+ children: column.name
69
+ }, column.uid);
70
+ }
71
+ }), jsx(TableBody, {
72
+ items: data,
73
+ children: function children(item) {
74
+ return jsx(Row, {
75
+ children: function children(columnKey) {
76
+ return columnKey === 'actions' ? jsx(Cell, {
77
+ children: function () {
78
+ switch (gridAction) {
79
+ case GridAction.LINKS:
80
+ return jsx(LinksRenderer, {
81
+ item: item,
82
+ gridActions: gridActions,
83
+ onGridActionPress: onGridActionPress
84
+ });
85
+ case GridAction.BUTTONS:
86
+ return jsx(ButtonsRenderer, {
87
+ item: item,
88
+ gridActions: gridActions,
89
+ onGridActionPress: onGridActionPress
90
+ });
91
+ default:
92
+ return jsx(ActionMenuRenderer, {
93
+ item: item,
94
+ gridActions: gridActions,
95
+ onGridActionPress: onGridActionPress
96
+ });
97
+ }
98
+ }()
99
+ }) : jsx(Cell, {
100
+ children: item[columnKey]
101
+ });
102
+ }
103
+ });
104
+ }
105
+ })]
106
+ }));
107
+ if (maxHeight) {
108
+ return jsx(Flex, {
109
+ height: maxHeight,
110
+ width: '100%',
111
+ direction: "column",
112
+ marginTop: 'size-200',
113
+ children: tableView
114
+ });
115
+ }
46
116
  return jsx(View, {
47
117
  width: '100%',
48
118
  marginTop: 'size-200',
49
- children: jsxs(TableView, {
50
- selectionMode: selectionMode,
51
- onSelectionChange: onSelectionChange,
52
- minHeight: 'size-6000',
53
- renderEmptyState: function renderEmptyState() {
54
- return jsxs(IllustratedMessage, {
55
- children: [jsx(Heading, {
56
- children: "No results"
57
- }), jsx(Content, {
58
- children: "No results found"
59
- })]
60
- });
61
- },
62
- children: [jsx(TableHeader, {
63
- columns: columns,
64
- children: function children(column) {
65
- return jsx(Column, {
66
- align: column.uid === 'actions' ? 'end' : 'start',
67
- children: column.name
68
- }, column.uid);
69
- }
70
- }), jsx(TableBody, {
71
- items: data,
72
- children: function children(item) {
73
- return jsx(Row, {
74
- children: function children(columnKey) {
75
- return columnKey === 'actions' ? jsx(Cell, {
76
- children: function () {
77
- switch (gridAction) {
78
- case GridAction.LINKS:
79
- return jsx(LinksRenderer, {
80
- item: item,
81
- gridActions: gridActions,
82
- onGridActionPress: onGridActionPress
83
- });
84
- case GridAction.BUTTONS:
85
- return jsx(ButtonsRenderer, {
86
- item: item,
87
- gridActions: gridActions,
88
- onGridActionPress: onGridActionPress
89
- });
90
- default:
91
- return jsx(ActionMenuRenderer, {
92
- item: item,
93
- gridActions: gridActions,
94
- onGridActionPress: onGridActionPress
95
- });
96
- }
97
- }()
98
- }) : jsx(Cell, {
99
- children: item[columnKey]
100
- });
101
- }
102
- });
103
- }
104
- })]
105
- })
119
+ children: tableView
106
120
  });
107
121
  };
108
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataTable/GridBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\n// import React from 'react'\nimport {\n Cell,\n Column,\n Content,\n Heading,\n IllustratedMessage,\n Row,\n TableBody,\n TableHeader,\n TableView,\n View,\n} from '@adobe/react-spectrum';\n// import NotFound from '@spectrum-icons/illustrations/NotFound';\nimport { GridBuilderProps } from './types';\nimport { GridAction, DataTableRow } from '../types';\nimport LinksRenderer from './LinksRenderer';\nimport ButtonsRenderer from './ButtonsRenderer';\nimport ActionMenuRenderer from './ActionMenuRenderer';\n\nconst GridBuilder = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n isMassActionsEnabled = false,\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = async (): Promise<void> => {},\n onSelectionChange = (): void => {},\n}: GridBuilderProps<T>): JSX.Element => {\n const selectionMode = isMassActionsEnabled ? 'multiple' : 'none';\n\n // Handle empty columns gracefully\n if (columns.length === 0) {\n return (\n <View width={'100%'} marginTop={'size-200'}>\n <IllustratedMessage>\n <Heading>No columns configured</Heading>\n <Content>Please configure columns to display data</Content>\n </IllustratedMessage>\n </View>\n );\n }\n\n return (\n <View width={'100%'} marginTop={'size-200'}>\n <TableView\n selectionMode={selectionMode}\n onSelectionChange={onSelectionChange}\n minHeight={'size-6000'}\n renderEmptyState={(): JSX.Element => {\n return (\n <IllustratedMessage>\n <Heading>No results</Heading>\n <Content>No results found</Content>\n </IllustratedMessage>\n );\n }}\n >\n <TableHeader columns={columns}>\n {(column): JSX.Element => (\n <Column key={column.uid} align={column.uid === 'actions' ? 'end' : 'start'}>\n {column.name}\n </Column>\n )}\n </TableHeader>\n <TableBody items={data}>\n {(item): JSX.Element => (\n <Row>\n {(columnKey): JSX.Element =>\n columnKey === 'actions' ? (\n <Cell>\n {((): JSX.Element => {\n switch (gridAction) {\n case GridAction.LINKS:\n return (\n <LinksRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n case GridAction.BUTTONS:\n return (\n <ButtonsRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n default:\n return (\n <ActionMenuRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n }\n })()}\n </Cell>\n ) : (\n <Cell>{item[columnKey] as any}</Cell>\n )\n }\n </Row>\n )}\n </TableBody>\n </TableView>\n </View>\n );\n};\n\nexport default GridBuilder;\n"],"names":["GridBuilder","_ref","_ref$columns","columns","_ref$data","data","_ref$isMassActionsEna","isMassActionsEnabled","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_ref$onSelectionChang","onSelectionChange","selectionMode","length","_jsx","View","width","marginTop","children","_jsxs","IllustratedMessage","Heading","Content","TableView","minHeight","renderEmptyState","TableHeader","column","Column","align","uid","name","TableBody","items","item","Row","columnKey","Cell","LINKS","LinksRenderer","BUTTONS","ButtonsRenderer","ActionMenuRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataTable/GridBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\n// import React from 'react'\nimport {\n Cell,\n Column,\n Content,\n Flex,\n Heading,\n IllustratedMessage,\n Row,\n TableBody,\n TableHeader,\n TableView,\n View,\n} from '@adobe/react-spectrum';\n// import NotFound from '@spectrum-icons/illustrations/NotFound';\nimport { GridBuilderProps } from './types';\nimport { GridAction, DataTableRow } from '../types';\nimport LinksRenderer from './LinksRenderer';\nimport ButtonsRenderer from './ButtonsRenderer';\nimport ActionMenuRenderer from './ActionMenuRenderer';\n\nconst GridBuilder = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n isMassActionsEnabled = false,\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = async (): Promise<void> => {},\n onSelectionChange = (): void => {},\n maxHeight,\n}: GridBuilderProps<T>): JSX.Element => {\n const selectionMode = isMassActionsEnabled ? 'multiple' : 'none';\n\n // Handle empty columns gracefully\n if (columns.length === 0) {\n return (\n <View width={'100%'} marginTop={'size-200'}>\n <IllustratedMessage>\n <Heading>No columns configured</Heading>\n <Content>Please configure columns to display data</Content>\n </IllustratedMessage>\n </View>\n );\n }\n\n const tableView = (\n <TableView\n selectionMode={selectionMode}\n onSelectionChange={onSelectionChange}\n minHeight={'size-6000'}\n {...(maxHeight && { flex: true })}\n renderEmptyState={(): JSX.Element => {\n return (\n <IllustratedMessage>\n <Heading>No results</Heading>\n <Content>No results found</Content>\n </IllustratedMessage>\n );\n }}\n >\n <TableHeader columns={columns}>\n {(column): JSX.Element => (\n <Column key={column.uid} align={column.uid === 'actions' ? 'end' : 'start'}>\n {column.name}\n </Column>\n )}\n </TableHeader>\n <TableBody items={data}>\n {(item): JSX.Element => (\n <Row>\n {(columnKey): JSX.Element =>\n columnKey === 'actions' ? (\n <Cell>\n {((): JSX.Element => {\n switch (gridAction) {\n case GridAction.LINKS:\n return (\n <LinksRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n case GridAction.BUTTONS:\n return (\n <ButtonsRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n default:\n return (\n <ActionMenuRenderer\n item={item}\n gridActions={gridActions}\n onGridActionPress={onGridActionPress}\n />\n );\n }\n })()}\n </Cell>\n ) : (\n <Cell>{item[columnKey] as any}</Cell>\n )\n }\n </Row>\n )}\n </TableBody>\n </TableView>\n );\n\n if (maxHeight) {\n return (\n <Flex height={maxHeight} width={'100%'} direction=\"column\" marginTop={'size-200'}>\n {tableView}\n </Flex>\n );\n }\n\n return (\n <View width={'100%'} marginTop={'size-200'}>\n {tableView}\n </View>\n );\n};\n\nexport default GridBuilder;\n"],"names":["GridBuilder","_ref","_ref$columns","columns","_ref$data","data","_ref$isMassActionsEna","isMassActionsEnabled","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_ref$onSelectionChang","onSelectionChange","maxHeight","selectionMode","length","_jsx","View","width","marginTop","children","_jsxs","IllustratedMessage","Heading","Content","tableView","TableView","_objectSpread","minHeight","flex","renderEmptyState","TableHeader","column","Column","align","uid","name","TableBody","items","item","Row","columnKey","Cell","LINKS","LinksRenderer","BUTTONS","ButtonsRenderer","ActionMenuRenderer","Flex","height","direction"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, toConsumableArray as _toConsumableArray, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect, useCallback } from 'react';
4
4
  import { Flex, ProgressCircle, View } from '@adobe/react-spectrum';
@@ -32,7 +32,8 @@ var DataTable = function DataTable(_ref) {
32
32
  return Promise.resolve();
33
33
  } : _ref$onGridLoad,
34
34
  _ref$isProcessing = _ref.isProcessing,
35
- isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing;
35
+ isProcessing = _ref$isProcessing === void 0 ? false : _ref$isProcessing,
36
+ maxHeight = _ref.maxHeight;
36
37
  var _useState = useState(true),
37
38
  _useState2 = _slicedToArray(_useState, 2),
38
39
  isLoading = _useState2[0],
@@ -113,12 +114,15 @@ var DataTable = function DataTable(_ref) {
113
114
  })
114
115
  }), jsx(View, {
115
116
  gridArea: "content",
116
- children: jsx(GridBuilder, {
117
+ children: jsx(GridBuilder, _objectSpread2(_objectSpread2({
117
118
  columns: columns,
118
119
  data: data,
119
120
  isMassActionsEnabled: massActions.length > 0,
120
121
  gridAction: gridAction,
121
- gridActions: gridActions,
122
+ gridActions: gridActions
123
+ }, maxHeight && {
124
+ maxHeight: maxHeight
125
+ }), {}, {
122
126
  onGridActionPress: function () {
123
127
  var _onGridActionPress2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(key, item) {
124
128
  return _regenerator().w(function (_context3) {
@@ -147,7 +151,7 @@ var DataTable = function DataTable(_ref) {
147
151
  }
148
152
  setIds(selectedIds);
149
153
  }
150
- })
154
+ }))
151
155
  })]
152
156
  })
153
157
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/DataTable/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { Flex, View, ProgressCircle } from '@adobe/react-spectrum';\nimport ActionsBuilder from './ActionsBuilder';\nimport GridBuilder from './GridBuilder';\nimport { DataTableProps, GridAction, DataTableRow } from './types';\nimport { Selection } from '@react-types/shared';\n\nconst DataTable = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n buttons = [],\n massActions = [],\n onMassActionPress = (): Promise<void> => Promise.resolve(),\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = (): Promise<void> => Promise.resolve(),\n onGridLoad = (): Promise<void> => Promise.resolve(),\n isProcessing = false,\n}: DataTableProps<T>): JSX.Element => {\n const [isLoading, setLoading] = useState(true);\n const [ids, setIds] = useState<(number | string)[]>([]);\n\n // Stable reference to onGridLoad to prevent infinite loops\n const onGridLoadRef = useRef(onGridLoad);\n\n // Update ref in useEffect instead of during render\n useEffect(() => {\n onGridLoadRef.current = onGridLoad;\n }, [onGridLoad]);\n\n // Stable callback that won't change on every render\n const stableOnGridLoad = useCallback(() => {\n return onGridLoadRef.current();\n }, []);\n\n // Initial load effect - runs once on mount\n useEffect((): void => {\n (async (): Promise<void> => {\n await stableOnGridLoad();\n setLoading(false);\n })();\n }, [stableOnGridLoad]);\n\n return (\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <View gridArea=\"header\">\n <Flex direction=\"row\" width=\"100%\">\n <ActionsBuilder\n buttons={buttons}\n massActions={massActions}\n isMassActionDisabled={ids.length === 0 || isProcessing}\n onMassActionPress={async (key: string) => {\n await onMassActionPress(key, ids);\n setIds([]);\n }}\n />\n {isProcessing && (\n <ProgressCircle\n size=\"M\"\n aria-label=\"Syncing..\"\n isIndeterminate\n marginEnd=\"size-100\"\n />\n )}\n </Flex>\n </View>\n <View gridArea=\"content\">\n <GridBuilder<T>\n columns={columns}\n data={data}\n isMassActionsEnabled={massActions.length > 0}\n gridAction={gridAction}\n gridActions={gridActions}\n onGridActionPress={async (key: string, item: T) => {\n await onGridActionPress(key, item);\n }}\n onSelectionChange={(keys: Selection) => {\n const selectedIds: (string | number)[] = [];\n if (typeof keys === 'string' && keys === 'all') {\n data.forEach(item => {\n selectedIds.push(item.id);\n });\n } else {\n selectedIds.push(...keys);\n }\n setIds(selectedIds);\n }}\n />\n </View>\n </View>\n )}\n </Flex>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","_ref","_ref$columns","columns","_ref$data","data","_ref$buttons","buttons","_ref$massActions","massActions","_ref$onMassActionPres","onMassActionPress","Promise","resolve","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_ref$onGridLoad","onGridLoad","_ref$isProcessing","isProcessing","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","_useState4","ids","setIds","onGridLoadRef","useRef","useEffect","current","stableOnGridLoad","useCallback","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","_jsxs","View","gridArea","children","direction","ActionsBuilder","isMassActionDisabled","length","_onMassActionPress2","_callee2","key","_context2","_x","apply","arguments","marginEnd","GridBuilder","isMassActionsEnabled","_onGridActionPress2","_callee3","item","_context3","_x2","_x3","onSelectionChange","keys","selectedIds","forEach","push","id","_toConsumableArray"],"mappings":";;;;;;;;AAWA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAWsB;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CAVnCE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,SAAA,GAAAH,IAAA,CACZI,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,SAAA;IAAAE,YAAA,GAAAL,IAAA,CACTM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,gBAAA,GAAAP,IAAA,CACZQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAAT,IAAA,CAChBU,iBAAiB;IAAjBA,kBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBE,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAH,qBAAA;IAAAI,eAAA,GAAAb,IAAA,CAC1Dc,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAGE,UAAU,CAACC,WAAW,GAAAH,eAAA;IAAAI,gBAAA,GAAAjB,IAAA,CACnCkB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAAnB,IAAA,CAChBoB,iBAAiB;IAAjBA,kBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBR,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAO,qBAAA;IAAAE,eAAA,GAAArB,IAAA,CAC1DsB,UAAU;IAAVA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,YAAA;AAAA,MAAA,OAAqBV,OAAO,CAACC,OAAO,EAAE;AAAA,IAAA,CAAA,GAAAS,eAAA;IAAAE,iBAAA,GAAAvB,IAAA,CACnDwB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;AAEpB,EAAA,IAAAE,SAAA,GAAgCC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAI,UAAA,GAAsBL,QAAQ,CAAsB,EAAE,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,GAAG,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAElB;AACA,EAAA,IAAMG,aAAa,GAAGC,MAAM,CAACd,UAAU,CAAC;AAExC;AACAe,EAAAA,SAAS,CAAC,YAAK;IACbF,aAAa,CAACG,OAAO,GAAGhB,UAAU;AACpC,EAAA,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;AAEhB;AACA,EAAA,IAAMiB,gBAAgB,GAAGC,WAAW,CAAC,YAAK;AACxC,IAAA,OAAOL,aAAa,CAACG,OAAO,EAAE;EAChC,CAAC,EAAE,EAAE,CAAC;AAEN;AACAD,EAAAA,SAAS,CAAC,YAAW;AACnBI,IAAAA,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAC,SAAAC,OAAAA,GAAA;AAAA,MAAA,OAAAF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OACOR,gBAAgB,EAAE;AAAA,UAAA,KAAA,CAAA;YACxBT,UAAU,CAAC,KAAK,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAgB,QAAA,CAAAE,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAJ,OAAA,CAAA;AAAA,IAAA,CACnB,IAAG;AACN,EAAA,CAAC,EAAE,CAACL,gBAAgB,CAAC,CAAC;EAEtB,OACEU,GAAA,CAACC,IAAI;AAACC,IAAAA,KAAK,EAAC,MAAM;AAACC,IAAAA,UAAU,EAAC,QAAQ;cACnCvB,SAAS,GACRoB,IAACI,cAAc,EAAA;AAACC,MAAAA,IAAI,EAAC,GAAG;AAAA,MAAA,YAAA,EAAY,YAAY;AAACC,MAAAA,eAAe,EAAA;AAAA,KAAA,CAAG,GAEnEC,KAACC,IAAI,EAAA;AAACN,MAAAA,KAAK,EAAC,MAAM;iBAChBF,GAAA,CAACQ,IAAI,EAAA;AAACC,QAAAA,QAAQ,EAAC,QAAQ;AAAAC,QAAAA,QAAA,EACrBH,KAACN,IAAI,EAAA;AAACU,UAAAA,SAAS,EAAC,KAAK;AAACT,UAAAA,KAAK,EAAC,MAAM;AAAAQ,UAAAA,QAAA,EAAA,CAChCV,IAACY,cAAc,EAAA;AACbvD,YAAAA,OAAO,EAAEA,OAAO;AAChBE,YAAAA,WAAW,EAAEA,WAAW;AACxBsD,YAAAA,oBAAoB,EAAE7B,GAAG,CAAC8B,MAAM,KAAK,CAAC,IAAIvC,YAAY;YACtDd,iBAAiB,EAAA,YAAA;cAAA,IAAAsD,mBAAA,GAAAvB,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAE,SAAAsB,QAAAA,CAAOC,GAAW,EAAA;AAAA,gBAAA,OAAAxB,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAsB,SAAA,EAAA;kBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApB,CAAA;AAAA,oBAAA,KAAA,CAAA;AAAAoB,sBAAAA,SAAA,CAAApB,CAAA,GAAA,CAAA;AAAA,sBAAA,OAC7BrC,kBAAiB,CAACwD,GAAG,EAAEjC,GAAG,CAAC;AAAA,oBAAA,KAAA,CAAA;sBACjCC,MAAM,CAAC,EAAE,CAAC;AAAC,oBAAA,KAAA,CAAA;sBAAA,OAAAiC,SAAA,CAAAnB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,gBAAA,CAAA,EAAAiB,QAAA,CAAA;cAAA,CACZ,CAAA,CAAA;cAAA,SAHDvD,iBAAiBA,CAAA0D,EAAA,EAAA;AAAA,gBAAA,OAAAJ,mBAAA,CAAAK,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,cAAA;AAAA,cAAA,OAAjB5D,iBAAiB;AAAA,YAAA,CAAA;AAGhB,WAAA,CACD,EACDc,YAAY,IACXyB,GAAA,CAACI,cAAc,EAAA;AACbC,YAAAA,IAAI,EAAC,GAAG;AAAA,YAAA,YAAA,EACG,WAAW;AACtBC,YAAAA,eAAe,EAAA,IAAA;AACfgB,YAAAA,SAAS,EAAC;AAAU,WAAA,CAEvB;;AACI,OAAA,CACF,EACPtB,GAAA,CAACQ,IAAI,EAAA;AAACC,QAAAA,QAAQ,EAAC,SAAS;kBACtBT,GAAA,CAACuB,WAAW,EAAA;AACVtE,UAAAA,OAAO,EAAEA,OAAO;AAChBE,UAAAA,IAAI,EAAEA,IAAI;AACVqE,UAAAA,oBAAoB,EAAEjE,WAAW,CAACuD,MAAM,GAAG,CAAC;AAC5CjD,UAAAA,UAAU,EAAEA,UAAU;AACtBI,UAAAA,WAAW,EAAEA,WAAW;UACxBE,iBAAiB,EAAA,YAAA;AAAA,YAAA,IAAAsD,mBAAA,GAAAjC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAE,SAAAgC,QAAAA,CAAOT,GAAW,EAAEU,IAAO,EAAA;AAAA,cAAA,OAAAlC,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAgC,SAAA,EAAA;gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA9B,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA8B,oBAAAA,SAAA,CAAA9B,CAAA,GAAA,CAAA;AAAA,oBAAA,OACtC3B,kBAAiB,CAAC8C,GAAG,EAAEU,IAAI,CAAC;AAAA,kBAAA,KAAA,CAAA;oBAAA,OAAAC,SAAA,CAAA7B,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,cAAA,CAAA,EAAA2B,QAAA,CAAA;YAAA,CACnC,CAAA,CAAA;AAAA,YAAA,SAFDvD,iBAAiBA,CAAA0D,GAAA,EAAAC,GAAA,EAAA;AAAA,cAAA,OAAAL,mBAAA,CAAAL,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,YAAA;AAAA,YAAA,OAAjBlD,iBAAiB;UAAA,CAAA,EAEhB;AACD4D,UAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,IAAe,EAAI;YACrC,IAAMC,WAAW,GAAwB,EAAE;YAC3C,IAAI,OAAOD,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,KAAK,EAAE;AAC9C7E,cAAAA,IAAI,CAAC+E,OAAO,CAAC,UAAAP,IAAI,EAAG;AAClBM,gBAAAA,WAAW,CAACE,IAAI,CAACR,IAAI,CAACS,EAAE,CAAC;AAC3B,cAAA,CAAC,CAAC;AACJ,YAAA,CAAC,MAAM;cACLH,WAAW,CAACE,IAAI,CAAAf,KAAA,CAAhBa,WAAW,EAAAI,kBAAA,CAASL,IAAI,CAAA,CAAC;AAC3B,YAAA;YACA/C,MAAM,CAACgD,WAAW,CAAC;AACrB,UAAA;;AACA,OAAA,CACG;KAAA;AAEV,GAAA,CACI;AAEX;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/DataTable/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { Flex, View, ProgressCircle } from '@adobe/react-spectrum';\nimport ActionsBuilder from './ActionsBuilder';\nimport GridBuilder from './GridBuilder';\nimport { DataTableProps, GridAction, DataTableRow } from './types';\nimport { Selection } from '@react-types/shared';\n\nconst DataTable = <T extends DataTableRow = DataTableRow>({\n columns = [],\n data = [],\n buttons = [],\n massActions = [],\n onMassActionPress = (): Promise<void> => Promise.resolve(),\n gridAction = GridAction.ACTION_MENU,\n gridActions = [],\n onGridActionPress = (): Promise<void> => Promise.resolve(),\n onGridLoad = (): Promise<void> => Promise.resolve(),\n isProcessing = false,\n maxHeight,\n}: DataTableProps<T>): JSX.Element => {\n const [isLoading, setLoading] = useState(true);\n const [ids, setIds] = useState<(number | string)[]>([]);\n\n // Stable reference to onGridLoad to prevent infinite loops\n const onGridLoadRef = useRef(onGridLoad);\n\n // Update ref in useEffect instead of during render\n useEffect(() => {\n onGridLoadRef.current = onGridLoad;\n }, [onGridLoad]);\n\n // Stable callback that won't change on every render\n const stableOnGridLoad = useCallback(() => {\n return onGridLoadRef.current();\n }, []);\n\n // Initial load effect - runs once on mount\n useEffect((): void => {\n (async (): Promise<void> => {\n await stableOnGridLoad();\n setLoading(false);\n })();\n }, [stableOnGridLoad]);\n\n return (\n <Flex width=\"100%\" alignItems=\"center\">\n {isLoading ? (\n <ProgressCircle size=\"L\" aria-label=\"Loading...\" isIndeterminate />\n ) : (\n <View width=\"100%\">\n <View gridArea=\"header\">\n <Flex direction=\"row\" width=\"100%\">\n <ActionsBuilder\n buttons={buttons}\n massActions={massActions}\n isMassActionDisabled={ids.length === 0 || isProcessing}\n onMassActionPress={async (key: string) => {\n await onMassActionPress(key, ids);\n setIds([]);\n }}\n />\n {isProcessing && (\n <ProgressCircle\n size=\"M\"\n aria-label=\"Syncing..\"\n isIndeterminate\n marginEnd=\"size-100\"\n />\n )}\n </Flex>\n </View>\n <View gridArea=\"content\">\n <GridBuilder<T>\n columns={columns}\n data={data}\n isMassActionsEnabled={massActions.length > 0}\n gridAction={gridAction}\n gridActions={gridActions}\n {...(maxHeight && { maxHeight })}\n onGridActionPress={async (key: string, item: T) => {\n await onGridActionPress(key, item);\n }}\n onSelectionChange={(keys: Selection) => {\n const selectedIds: (string | number)[] = [];\n if (typeof keys === 'string' && keys === 'all') {\n data.forEach(item => {\n selectedIds.push(item.id);\n });\n } else {\n selectedIds.push(...keys);\n }\n setIds(selectedIds);\n }}\n />\n </View>\n </View>\n )}\n </Flex>\n );\n};\n\nexport default DataTable;\n"],"names":["DataTable","_ref","_ref$columns","columns","_ref$data","data","_ref$buttons","buttons","_ref$massActions","massActions","_ref$onMassActionPres","onMassActionPress","Promise","resolve","_ref$gridAction","gridAction","GridAction","ACTION_MENU","_ref$gridActions","gridActions","_ref$onGridActionPres","onGridActionPress","_ref$onGridLoad","onGridLoad","_ref$isProcessing","isProcessing","maxHeight","_useState","useState","_useState2","_slicedToArray","isLoading","setLoading","_useState3","_useState4","ids","setIds","onGridLoadRef","useRef","useEffect","current","stableOnGridLoad","useCallback","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","a","_jsx","Flex","width","alignItems","ProgressCircle","size","isIndeterminate","_jsxs","View","gridArea","children","direction","ActionsBuilder","isMassActionDisabled","length","_onMassActionPress2","_callee2","key","_context2","_x","apply","arguments","marginEnd","GridBuilder","_objectSpread","isMassActionsEnabled","_onGridActionPress2","_callee3","item","_context3","_x2","_x3","onSelectionChange","keys","selectedIds","forEach","push","id","_toConsumableArray"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../src/components/DataTable/types.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { ReactElement } from 'react';\n\nexport interface DataTableColumn {\n uid: string;\n name: string;\n sortable?: boolean;\n width?: string | number;\n}\n\nexport interface DataTableRow {\n id: string | number;\n [key: string]: any;\n}\n\nexport interface DataTableProps<T extends DataTableRow = DataTableRow> {\n columns?: DataTableColumn[];\n data?: T[];\n buttons?: ReactElement[];\n massActions?: MassActionProps[];\n onMassActionPress?: (key: string, selections: (string | number)[]) => Promise<void>;\n gridAction?: GridAction;\n gridActions?: GridActionProps<T>[];\n onGridActionPress?: (key: string, item: T) => Promise<void>;\n onGridLoad?: () => Promise<void>;\n isProcessing?: boolean;\n}\n\nexport interface MassActionProps {\n key: string;\n text: string;\n}\n\nexport interface GridActionProps<T extends DataTableRow = DataTableRow> {\n key: string;\n text: string;\n isVisible?: (item: T) => Promise<boolean>;\n}\n\nexport enum GridAction {\n ACTION_MENU = 'action-menu',\n BUTTONS = 'buttons',\n LINKS = 'links',\n}\n"],"names":["GridAction"],"mappings":"AAAA;;AAEG;IAwCSA;AAAZ,CAAA,UAAYA,UAAU,EAAA;AACpBA,EAAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3BA,EAAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnBA,EAAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJWA,UAAU,KAAVA,UAAU,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../src/components/DataTable/types.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { ReactElement } from 'react';\n\nexport interface DataTableColumn {\n uid: string;\n name: string;\n sortable?: boolean;\n width?: string | number;\n}\n\nexport interface DataTableRow {\n id: string | number;\n [key: string]: any;\n}\n\nexport interface DataTableProps<T extends DataTableRow = DataTableRow> {\n columns?: DataTableColumn[];\n data?: T[];\n buttons?: ReactElement[];\n massActions?: MassActionProps[];\n onMassActionPress?: (key: string, selections: (string | number)[]) => Promise<void>;\n gridAction?: GridAction;\n gridActions?: GridActionProps<T>[];\n onGridActionPress?: (key: string, item: T) => Promise<void>;\n onGridLoad?: () => Promise<void>;\n isProcessing?: boolean;\n maxHeight?: string;\n}\n\nexport interface MassActionProps {\n key: string;\n text: string;\n}\n\nexport interface GridActionProps<T extends DataTableRow = DataTableRow> {\n key: string;\n text: string;\n isVisible?: (item: T) => Promise<boolean>;\n}\n\nexport enum GridAction {\n ACTION_MENU = 'action-menu',\n BUTTONS = 'buttons',\n LINKS = 'links',\n}\n"],"names":["GridAction"],"mappings":"AAAA;;AAEG;IAyCSA;AAAZ,CAAA,UAAYA,UAAU,EAAA;AACpBA,EAAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3BA,EAAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnBA,EAAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJWA,UAAU,KAAVA,UAAU,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,247 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, objectSpread2 as _objectSpread2, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useState, useCallback, useImperativeHandle } from 'react';
4
+ import { View, Text, FileTrigger, Button, Link, InlineAlert } from '@adobe/react-spectrum';
5
+
6
+ var FileUpload = /*#__PURE__*/forwardRef(function (_ref, ref) {
7
+ var name = _ref.name,
8
+ label = _ref.label,
9
+ _ref$isRequired = _ref.isRequired,
10
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
11
+ _ref$isDisabled = _ref.isDisabled,
12
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
13
+ acceptedFileTypes = _ref.acceptedFileTypes,
14
+ _ref$allowsMultiple = _ref.allowsMultiple,
15
+ allowsMultiple = _ref$allowsMultiple === void 0 ? false : _ref$allowsMultiple,
16
+ contextualHelp = _ref.contextualHelp,
17
+ onSelect = _ref.onSelect;
18
+ var _useState = useState([]),
19
+ _useState2 = _slicedToArray(_useState, 2),
20
+ selectedFiles = _useState2[0],
21
+ setSelectedFiles = _useState2[1];
22
+ var _useState3 = useState(''),
23
+ _useState4 = _slicedToArray(_useState3, 2),
24
+ error = _useState4[0],
25
+ setError = _useState4[1];
26
+ var _useState5 = useState(false),
27
+ _useState6 = _slicedToArray(_useState5, 2),
28
+ isLoading = _useState6[0],
29
+ setIsLoading = _useState6[1];
30
+ // Dynamic button text based on allowsMultiple
31
+ var buttonText = allowsMultiple ? 'Select Files' : 'Select File';
32
+ /**
33
+ * Reads file content as text or base64 depending on file type
34
+ */
35
+ var readFileContent = useCallback(function (file) {
36
+ return new Promise(function (resolve, reject) {
37
+ var reader = new FileReader();
38
+ reader.onload = function () {
39
+ var result = reader.result;
40
+ // Check if file is likely binary by checking MIME type
41
+ var isBinary = file.type && (file.type.startsWith('image/') || file.type.startsWith('video/') || file.type.startsWith('audio/') || file.type === 'application/pdf' || file.type === 'application/zip' || file.type.includes('binary'));
42
+ if (isBinary && result.startsWith('data:')) {
43
+ // Remove data URL prefix for base64 content
44
+ var base64Content = result.split(',')[1] || result;
45
+ resolve({
46
+ content: base64Content,
47
+ isBase64: true
48
+ });
49
+ } else {
50
+ resolve({
51
+ content: result,
52
+ isBase64: false
53
+ });
54
+ }
55
+ };
56
+ reader.onerror = function () {
57
+ reject(new Error("Failed to read file: ".concat(file.name)));
58
+ };
59
+ // Read as base64 for binary files, as text for text files
60
+ var isBinary = file.type && (file.type.startsWith('image/') || file.type.startsWith('video/') || file.type.startsWith('audio/') || file.type === 'application/pdf' || file.type === 'application/zip' || file.type.includes('binary'));
61
+ if (isBinary) {
62
+ reader.readAsDataURL(file);
63
+ } else {
64
+ reader.readAsText(file);
65
+ }
66
+ });
67
+ }, []);
68
+ /**
69
+ * Processes selected files and reads their content
70
+ */
71
+ var processFiles = useCallback(/*#__PURE__*/function () {
72
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fileList) {
73
+ var files, processedFiles, _i, _files, file, _yield$readFileConten, content, isBase64, fileInfo, errorMsg, _errorMsg, _t, _t2;
74
+ return _regenerator().w(function (_context) {
75
+ while (1) switch (_context.p = _context.n) {
76
+ case 0:
77
+ if (!(!fileList || fileList.length === 0)) {
78
+ _context.n = 1;
79
+ break;
80
+ }
81
+ return _context.a(2);
82
+ case 1:
83
+ setIsLoading(true);
84
+ setError('');
85
+ _context.p = 2;
86
+ files = Array.from(fileList);
87
+ processedFiles = [];
88
+ _i = 0, _files = files;
89
+ case 3:
90
+ if (!(_i < _files.length)) {
91
+ _context.n = 8;
92
+ break;
93
+ }
94
+ file = _files[_i];
95
+ _context.p = 4;
96
+ _context.n = 5;
97
+ return readFileContent(file);
98
+ case 5:
99
+ _yield$readFileConten = _context.v;
100
+ content = _yield$readFileConten.content;
101
+ isBase64 = _yield$readFileConten.isBase64;
102
+ fileInfo = {
103
+ name: file.name,
104
+ size: file.size,
105
+ type: file.type,
106
+ lastModified: file.lastModified,
107
+ content: content,
108
+ isBase64: isBase64
109
+ };
110
+ processedFiles.push(fileInfo);
111
+ _context.n = 7;
112
+ break;
113
+ case 6:
114
+ _context.p = 6;
115
+ _t = _context.v;
116
+ // Log error for debugging (will be suppressed in test environment by setupTests.ts)
117
+ console.error("Error processing file ".concat(file.name, ":"), _t);
118
+ errorMsg = "Failed to process file: ".concat(file.name);
119
+ setError(errorMsg);
120
+ return _context.a(2);
121
+ case 7:
122
+ _i++;
123
+ _context.n = 3;
124
+ break;
125
+ case 8:
126
+ setSelectedFiles(processedFiles);
127
+ // Call callback
128
+ onSelect === null || onSelect === void 0 || onSelect(processedFiles);
129
+ _context.n = 10;
130
+ break;
131
+ case 9:
132
+ _context.p = 9;
133
+ _t2 = _context.v;
134
+ /* istanbul ignore next */
135
+ _errorMsg = 'An error occurred while processing files.';
136
+ /* istanbul ignore next */
137
+ setError(_errorMsg);
138
+ /* istanbul ignore next */
139
+ // Log error for debugging (will be suppressed in test environment by setupTests.ts)
140
+ /* istanbul ignore next */
141
+ console.error('File processing error:', _t2);
142
+ case 10:
143
+ _context.p = 10;
144
+ setIsLoading(false);
145
+ return _context.f(10);
146
+ case 11:
147
+ return _context.a(2);
148
+ }
149
+ }, _callee, null, [[4, 6], [2, 9, 10, 11]]);
150
+ }));
151
+ return function (_x) {
152
+ return _ref2.apply(this, arguments);
153
+ };
154
+ }(), [onSelect, readFileContent]);
155
+ /**
156
+ * Handles file selection from FileTrigger
157
+ */
158
+ var handleFileSelect = useCallback(function (fileList) {
159
+ processFiles(fileList);
160
+ }, [processFiles]);
161
+ /**
162
+ * Clears selected files and errors
163
+ */
164
+ var clearFiles = useCallback(function () {
165
+ var emptyFiles = [];
166
+ setSelectedFiles(emptyFiles);
167
+ setError('');
168
+ // Call callback
169
+ onSelect === null || onSelect === void 0 || onSelect(emptyFiles);
170
+ }, [onSelect]);
171
+ // Expose reset and getFiles methods via ref
172
+ useImperativeHandle(ref, function () {
173
+ return {
174
+ reset: clearFiles,
175
+ getFiles: function getFiles() {
176
+ return selectedFiles;
177
+ }
178
+ };
179
+ }, [clearFiles, selectedFiles]);
180
+ return jsxs(View, _objectSpread2(_objectSpread2({}, name && {
181
+ 'data-name': name
182
+ }), {}, {
183
+ maxWidth: 'size-6000',
184
+ children: [jsx(View, {
185
+ marginBottom: 'size-100',
186
+ children: jsxs(Text, {
187
+ children: [label, selectedFiles.length > 0 && " (".concat(selectedFiles.length, ")"), isRequired && jsx(Text, {
188
+ children: " *"
189
+ }), contextualHelp]
190
+ })
191
+ }), selectedFiles.length === 0 && jsx(View, {
192
+ marginBottom: 'size-100',
193
+ children: jsx(FileTrigger, _objectSpread2(_objectSpread2({}, acceptedFileTypes && acceptedFileTypes.length > 0 && {
194
+ acceptedFileTypes: acceptedFileTypes
195
+ }), {}, {
196
+ allowsMultiple: allowsMultiple,
197
+ acceptDirectory: false,
198
+ onSelect: handleFileSelect,
199
+ children: jsx(Button, {
200
+ variant: "primary",
201
+ isDisabled: isDisabled || isLoading,
202
+ children: isLoading ? 'Processing...' : buttonText
203
+ })
204
+ }))
205
+ }), selectedFiles.length > 0 && jsxs(View, {
206
+ marginBottom: 'size-100',
207
+ children: [jsx(View, {
208
+ borderWidth: 'thin',
209
+ borderColor: 'gray-400',
210
+ borderRadius: 'medium',
211
+ padding: 'size-100',
212
+ backgroundColor: 'gray-50',
213
+ children: selectedFiles.map(function (file, index) {
214
+ return jsx(View, {
215
+ marginBottom: index < selectedFiles.length - 1 ? 'size-50' : 'size-0',
216
+ children: jsx(View, {
217
+ children: jsxs(Text, {
218
+ marginBottom: 'size-50',
219
+ children: [jsx("strong", {
220
+ children: file.name
221
+ }), ": ", file.size / 1024, " KB | ", file.type || 'Unknown']
222
+ })
223
+ })
224
+ }, "".concat(file.name, "-").concat(index));
225
+ })
226
+ }), jsx(View, {
227
+ marginTop: 'size-100',
228
+ children: jsx(Link, {
229
+ onPress: clearFiles,
230
+ children: "Clear Files"
231
+ })
232
+ })]
233
+ }), error && jsx(View, {
234
+ marginTop: 'size-100',
235
+ children: jsx(InlineAlert, {
236
+ variant: 'negative',
237
+ children: jsx(Text, {
238
+ children: error
239
+ })
240
+ })
241
+ })]
242
+ }));
243
+ });
244
+ FileUpload.displayName = 'FileUpload';
245
+
246
+ export { FileUpload as default };
247
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/FileUpload/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { useState, useCallback, forwardRef, useImperativeHandle } from 'react';\nimport { FileTrigger, Button, View, Text, InlineAlert, Link } from '@adobe/react-spectrum';\nimport { FileUploadProps, FileInfo, FileUploadHandle } from './types';\n\nconst FileUpload = forwardRef<FileUploadHandle, FileUploadProps>(\n (\n {\n name,\n label,\n isRequired = false,\n isDisabled = false,\n acceptedFileTypes,\n allowsMultiple = false,\n contextualHelp,\n onSelect,\n },\n ref\n ) => {\n const [selectedFiles, setSelectedFiles] = useState<FileInfo[]>([]);\n const [error, setError] = useState<string>('');\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n // Dynamic button text based on allowsMultiple\n const buttonText = allowsMultiple ? 'Select Files' : 'Select File';\n\n /**\n * Reads file content as text or base64 depending on file type\n */\n const readFileContent = useCallback(\n (file: File): Promise<{ content: string; isBase64: boolean }> => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = (): void => {\n const result = reader.result as string;\n\n // Check if file is likely binary by checking MIME type\n const isBinary =\n file.type &&\n (file.type.startsWith('image/') ||\n file.type.startsWith('video/') ||\n file.type.startsWith('audio/') ||\n file.type === 'application/pdf' ||\n file.type === 'application/zip' ||\n file.type.includes('binary'));\n\n if (isBinary && result.startsWith('data:')) {\n // Remove data URL prefix for base64 content\n const base64Content = result.split(',')[1] || result;\n resolve({ content: base64Content, isBase64: true });\n } else {\n resolve({ content: result, isBase64: false });\n }\n };\n\n reader.onerror = (): void => {\n reject(new Error(`Failed to read file: ${file.name}`));\n };\n\n // Read as base64 for binary files, as text for text files\n const isBinary =\n file.type &&\n (file.type.startsWith('image/') ||\n file.type.startsWith('video/') ||\n file.type.startsWith('audio/') ||\n file.type === 'application/pdf' ||\n file.type === 'application/zip' ||\n file.type.includes('binary'));\n\n if (isBinary) {\n reader.readAsDataURL(file);\n } else {\n reader.readAsText(file);\n }\n });\n },\n []\n );\n\n /**\n * Processes selected files and reads their content\n */\n const processFiles = useCallback(\n async (fileList: FileList | null): Promise<void> => {\n if (!fileList || fileList.length === 0) {\n return;\n }\n\n setIsLoading(true);\n setError('');\n\n try {\n const files = Array.from(fileList);\n const processedFiles: FileInfo[] = [];\n\n for (const file of files) {\n try {\n const { content, isBase64 } = await readFileContent(file);\n\n const fileInfo: FileInfo = {\n name: file.name,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified,\n content,\n isBase64,\n };\n\n processedFiles.push(fileInfo);\n } catch (fileError) {\n // Log error for debugging (will be suppressed in test environment by setupTests.ts)\n console.error(`Error processing file ${file.name}:`, fileError);\n const errorMsg = `Failed to process file: ${file.name}`;\n setError(errorMsg);\n return;\n }\n }\n\n setSelectedFiles(processedFiles);\n\n // Call callback\n onSelect?.(processedFiles);\n } catch (error) {\n /* istanbul ignore next */\n const errorMsg = 'An error occurred while processing files.';\n /* istanbul ignore next */\n setError(errorMsg);\n /* istanbul ignore next */\n // Log error for debugging (will be suppressed in test environment by setupTests.ts)\n /* istanbul ignore next */\n console.error('File processing error:', error);\n } finally {\n setIsLoading(false);\n }\n },\n [onSelect, readFileContent]\n );\n\n /**\n * Handles file selection from FileTrigger\n */\n const handleFileSelect = useCallback(\n (fileList: FileList | null) => {\n processFiles(fileList);\n },\n [processFiles]\n );\n\n /**\n * Clears selected files and errors\n */\n const clearFiles = useCallback(() => {\n const emptyFiles: FileInfo[] = [];\n setSelectedFiles(emptyFiles);\n setError('');\n\n // Call callback\n onSelect?.(emptyFiles);\n }, [onSelect]);\n\n // Expose reset and getFiles methods via ref\n useImperativeHandle(\n ref,\n (): FileUploadHandle => ({\n reset: clearFiles,\n getFiles: (): FileInfo[] => selectedFiles,\n }),\n [clearFiles, selectedFiles]\n );\n\n return (\n <View {...(name && { 'data-name': name })} maxWidth={'size-6000'}>\n {/* Label - Always visible */}\n <View marginBottom={'size-100'}>\n <Text>\n {label}\n {selectedFiles.length > 0 && ` (${selectedFiles.length})`}\n {isRequired && <Text> *</Text>}\n {contextualHelp}\n </Text>\n </View>\n\n {/* File Trigger - Only show when no files are selected */}\n {selectedFiles.length === 0 && (\n <View marginBottom={'size-100'}>\n <FileTrigger\n {...(acceptedFileTypes && acceptedFileTypes.length > 0 && { acceptedFileTypes })}\n allowsMultiple={allowsMultiple}\n acceptDirectory={false}\n onSelect={handleFileSelect}\n >\n <Button variant=\"primary\" isDisabled={isDisabled || isLoading}>\n {isLoading ? 'Processing...' : buttonText}\n </Button>\n </FileTrigger>\n </View>\n )}\n\n {/* Selected Files Display */}\n {selectedFiles.length > 0 && (\n <View marginBottom={'size-100'}>\n <View\n borderWidth={'thin'}\n borderColor={'gray-400'}\n borderRadius={'medium'}\n padding={'size-100'}\n backgroundColor={'gray-50'}\n >\n {selectedFiles.map((file, index) => (\n <View\n key={`${file.name}-${index}`}\n marginBottom={index < selectedFiles.length - 1 ? 'size-50' : 'size-0'}\n >\n <View>\n <Text marginBottom={'size-50'}>\n <strong>{file.name}</strong>: {file.size / 1024} KB | {file.type || 'Unknown'}\n </Text>\n </View>\n </View>\n ))}\n </View>\n\n <View marginTop={'size-100'}>\n <Link onPress={clearFiles}>Clear Files</Link>\n </View>\n </View>\n )}\n\n {/* Error Message - Display at bottom */}\n {error && (\n <View marginTop={'size-100'}>\n <InlineAlert variant={'negative'}>\n <Text>{error}</Text>\n </InlineAlert>\n </View>\n )}\n </View>\n );\n }\n);\n\nFileUpload.displayName = 'FileUpload';\n\nexport default FileUpload;\n"],"names":["FileUpload","forwardRef","_ref","ref","name","label","_ref$isRequired","isRequired","_ref$isDisabled","isDisabled","acceptedFileTypes","_ref$allowsMultiple","allowsMultiple","contextualHelp","onSelect","_useState","useState","_useState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState3","_useState4","error","setError","_useState5","_useState6","isLoading","setIsLoading","buttonText","readFileContent","useCallback","file","Promise","resolve","reject","reader","FileReader","onload","result","isBinary","type","startsWith","includes","base64Content","split","content","isBase64","onerror","Error","concat","readAsDataURL","readAsText","processFiles","_ref2","_asyncToGenerator","_regenerator","m","_callee","fileList","files","processedFiles","_i","_files","_yield$readFileConten","fileInfo","errorMsg","_errorMsg","_t","_t2","w","_context","p","n","length","a","Array","from","v","size","lastModified","push","console","f","_x","apply","arguments","handleFileSelect","clearFiles","emptyFiles","useImperativeHandle","reset","getFiles","_jsxs","View","_objectSpread","maxWidth","children","_jsx","marginBottom","Text","FileTrigger","acceptDirectory","Button","variant","borderWidth","borderColor","borderRadius","padding","backgroundColor","map","index","marginTop","Link","onPress","InlineAlert","displayName"],"mappings":"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"}
@@ -23,7 +23,7 @@ var TwoColumnLeft = function TwoColumnLeft(_ref) {
23
23
  areas: ['sidebar content'],
24
24
  columns: ['256px', '3fr'],
25
25
  rows: ['auto'],
26
- height: "100vh",
26
+ minHeight: "100vh",
27
27
  gap: "size-100",
28
28
  children: [jsx(View, {
29
29
  gridArea: "sidebar",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/MainContainer/TwoColumnLeft/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { Grid, View } from '@adobe/react-spectrum';\nimport { type TwoColumnLeftProps } from './types';\nimport NavigationBuilder from '../NavigationBuilder';\nimport ContentBuilder from '../ContentBuilder';\nimport TitleBuilder from '../TitleBuilder';\nimport { NavigationOptions } from '../NavigationBuilder/types';\n\nconst TwoColumnLeft: React.FC<TwoColumnLeftProps> = ({\n title,\n navigation = NavigationOptions.NavigationLinks,\n buttons,\n routes,\n padding = 'size-200',\n navigationMarginTop = 'size-0',\n navigationMarginBottom = 'size-0',\n titleLevel = 1,\n}) => {\n return (\n <Grid\n areas={['sidebar content']}\n columns={['256px', '3fr']}\n rows={['auto']}\n height=\"100vh\"\n gap=\"size-100\"\n >\n <View gridArea=\"sidebar\" backgroundColor=\"static-white\" padding={padding}>\n <NavigationBuilder\n type={navigation}\n buttons={buttons}\n navigationMarginTop={navigationMarginTop}\n navigationMarginBottom={navigationMarginBottom}\n />\n </View>\n <View gridArea=\"content\" padding={padding}>\n <TitleBuilder title={title} level={titleLevel} />\n <ContentBuilder routes={routes} />\n </View>\n </Grid>\n );\n};\n\nexport default TwoColumnLeft;\n"],"names":["TwoColumnLeft","_ref","title","_ref$navigation","navigation","NavigationOptions","NavigationLinks","buttons","routes","_ref$padding","padding","_ref$navigationMargin","navigationMarginTop","_ref$navigationMargin2","navigationMarginBottom","_ref$titleLevel","titleLevel","_jsxs","Grid","areas","columns","rows","height","gap","children","_jsx","View","gridArea","backgroundColor","NavigationBuilder","type","TitleBuilder","level","ContentBuilder"],"mappings":";;;;;;;AAWA,IAAMA,aAAa,GAAiC,SAA9CA,aAAaA,CAAAC,IAAA,EASd;AAAA,EAAA,IARHC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,eAAA,GAAAF,IAAA,CACLG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAGE,iBAAiB,CAACC,eAAe,GAAAH,eAAA;IAC9CI,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAAC,YAAA,GAAAR,IAAA,CACNS,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,YAAA;IAAAE,qBAAA,GAAAV,IAAA,CACpBW,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,qBAAA;IAAAE,sBAAA,GAAAZ,IAAA,CAC9Ba,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAD,sBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,sBAAA;IAAAE,eAAA,GAAAd,IAAA,CACjCe,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,eAAA;EAEd,OACEE,KAACC,IAAI,EAAA;IACHC,KAAK,EAAE,CAAC,iBAAiB,CAAC;AAC1BC,IAAAA,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACzBC,IAAI,EAAE,CAAC,MAAM,CAAC;AACdC,IAAAA,MAAM,EAAC,OAAO;AACdC,IAAAA,GAAG,EAAC,UAAU;AAAAC,IAAAA,QAAA,EAAA,CAEdC,GAAA,CAACC,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACC,MAAAA,eAAe,EAAC,cAAc;AAAClB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EACtEC,GAAA,CAACI,iBAAiB,EAAA;AAChBC,QAAAA,IAAI,EAAE1B,UAAU;AAChBG,QAAAA,OAAO,EAAEA,OAAO;AAChBK,QAAAA,mBAAmB,EAAEA,mBAAmB;AACxCE,QAAAA,sBAAsB,EAAEA;OAAsB;MAE3C,EACPG,IAAA,CAACS,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACjB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EAAA,CACvCC,IAACM,YAAY,EAAA;AAAC7B,QAAAA,KAAK,EAAEA,KAAK;AAAE8B,QAAAA,KAAK,EAAEhB;QAAc,EACjDS,GAAA,CAACQ,cAAc,EAAA;AAACzB,QAAAA,MAAM,EAAEA;AAAM,OAAA,CAAI;AAAA,KAAA,CAC7B;AAAA,GAAA,CACF;AAEX;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/MainContainer/TwoColumnLeft/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { Grid, View } from '@adobe/react-spectrum';\nimport { type TwoColumnLeftProps } from './types';\nimport NavigationBuilder from '../NavigationBuilder';\nimport ContentBuilder from '../ContentBuilder';\nimport TitleBuilder from '../TitleBuilder';\nimport { NavigationOptions } from '../NavigationBuilder/types';\n\nconst TwoColumnLeft: React.FC<TwoColumnLeftProps> = ({\n title,\n navigation = NavigationOptions.NavigationLinks,\n buttons,\n routes,\n padding = 'size-200',\n navigationMarginTop = 'size-0',\n navigationMarginBottom = 'size-0',\n titleLevel = 1,\n}) => {\n return (\n <Grid\n areas={['sidebar content']}\n columns={['256px', '3fr']}\n rows={['auto']}\n minHeight=\"100vh\"\n gap=\"size-100\"\n >\n <View gridArea=\"sidebar\" backgroundColor=\"static-white\" padding={padding}>\n <NavigationBuilder\n type={navigation}\n buttons={buttons}\n navigationMarginTop={navigationMarginTop}\n navigationMarginBottom={navigationMarginBottom}\n />\n </View>\n <View gridArea=\"content\" padding={padding}>\n <TitleBuilder title={title} level={titleLevel} />\n <ContentBuilder routes={routes} />\n </View>\n </Grid>\n );\n};\n\nexport default TwoColumnLeft;\n"],"names":["TwoColumnLeft","_ref","title","_ref$navigation","navigation","NavigationOptions","NavigationLinks","buttons","routes","_ref$padding","padding","_ref$navigationMargin","navigationMarginTop","_ref$navigationMargin2","navigationMarginBottom","_ref$titleLevel","titleLevel","_jsxs","Grid","areas","columns","rows","minHeight","gap","children","_jsx","View","gridArea","backgroundColor","NavigationBuilder","type","TitleBuilder","level","ContentBuilder"],"mappings":";;;;;;;AAWA,IAAMA,aAAa,GAAiC,SAA9CA,aAAaA,CAAAC,IAAA,EASd;AAAA,EAAA,IARHC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,eAAA,GAAAF,IAAA,CACLG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAGE,iBAAiB,CAACC,eAAe,GAAAH,eAAA;IAC9CI,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAAC,YAAA,GAAAR,IAAA,CACNS,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,YAAA;IAAAE,qBAAA,GAAAV,IAAA,CACpBW,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,qBAAA;IAAAE,sBAAA,GAAAZ,IAAA,CAC9Ba,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAD,sBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,sBAAA;IAAAE,eAAA,GAAAd,IAAA,CACjCe,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,eAAA;EAEd,OACEE,KAACC,IAAI,EAAA;IACHC,KAAK,EAAE,CAAC,iBAAiB,CAAC;AAC1BC,IAAAA,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACzBC,IAAI,EAAE,CAAC,MAAM,CAAC;AACdC,IAAAA,SAAS,EAAC,OAAO;AACjBC,IAAAA,GAAG,EAAC,UAAU;AAAAC,IAAAA,QAAA,EAAA,CAEdC,GAAA,CAACC,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACC,MAAAA,eAAe,EAAC,cAAc;AAAClB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EACtEC,GAAA,CAACI,iBAAiB,EAAA;AAChBC,QAAAA,IAAI,EAAE1B,UAAU;AAChBG,QAAAA,OAAO,EAAEA,OAAO;AAChBK,QAAAA,mBAAmB,EAAEA,mBAAmB;AACxCE,QAAAA,sBAAsB,EAAEA;OAAsB;MAE3C,EACPG,IAAA,CAACS,IAAI,EAAA;AAACC,MAAAA,QAAQ,EAAC,SAAS;AAACjB,MAAAA,OAAO,EAAEA,OAAO;AAAAc,MAAAA,QAAA,EAAA,CACvCC,IAACM,YAAY,EAAA;AAAC7B,QAAAA,KAAK,EAAEA,KAAK;AAAE8B,QAAAA,KAAK,EAAEhB;QAAc,EACjDS,GAAA,CAACQ,cAAc,EAAA;AAACzB,QAAAA,MAAM,EAAEA;AAAM,OAAA,CAAI;AAAA,KAAA,CAC7B;AAAA,GAAA,CACF;AAEX;;;;"}