@economic/taco 1.20.0 → 1.21.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 (37) hide show
  1. package/dist/components/Provider/Localization.d.ts +21 -5
  2. package/dist/components/Table2/Table2.d.ts +21 -5
  3. package/dist/components/Table2/components/row/Context.d.ts +3 -2
  4. package/dist/components/Table2/hooks/useTable.d.ts +2 -1
  5. package/dist/components/Table2/types.d.ts +2 -1
  6. package/dist/esm/packages/taco/src/components/Provider/Localization.js +21 -5
  7. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  8. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  9. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +20 -14
  10. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +1 -1
  11. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +60 -42
  12. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  13. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +3 -3
  14. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
  15. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js +7 -7
  16. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +2 -2
  18. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +3 -3
  20. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -1
  21. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +4 -1
  22. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +5 -1
  24. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js +2 -1
  26. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +4 -2
  28. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +15 -13
  31. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  32. package/dist/taco.cjs.development.js +145 -94
  33. package/dist/taco.cjs.development.js.map +1 -1
  34. package/dist/taco.cjs.production.min.js +1 -1
  35. package/dist/taco.cjs.production.min.js.map +1 -1
  36. package/package.json +2 -2
  37. package/types.json +99 -22
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(onRowDrag: RowDragHandler<TType>): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label=\"Drag row\"\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected() ? 'Deselect all' : 'Select all'}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={table.getIsAllPageRowsSelected() ? 'Deselect all rows' : 'Select all rows'}\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, row.index);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n row.toggleSelected();\n }\n\n lastSelectedRowIndex.current = row.index;\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected() ? 'Deselect' : 'Select'}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={row.getIsSelected() ? 'Deselect row' : 'Select row'}\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={row.getIsSelected()}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n };\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nexport function createRowExpansionColumn<TType = any>(): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip title={table.getIsSomeRowsExpanded() ? 'Collapse all' : 'Expand all'}>\n <IconButton\n title={table.getIsSomeRowsExpanded() ? 'Collapse all rows' : 'Expand all rows'}\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <Tooltip\n title={\n <>\n {row.getIsExpanded() ? 'Collapse' : 'Expand'}\n <Shortcut className=\"ml-2\" keys={['Ctrl', row.getIsExpanded() ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={row.getIsExpanded() ? 'Collapse row' : 'Expand row'}\n appearance=\"discrete\"\n icon={row.getIsExpanded() ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nfunction RowActionCell<TType = {}>({ row, table, actions, moreActions }) {\n const isVisible = (action: Table2RowActionProps<TType>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n if (table.options.meta.activeRowIndex !== row.index && table.options.meta.hoveredRowIndex !== row.index) {\n const totalButtons = visibleActions.length + (visibleMoreActions.length ? 1 : 0);\n // this is necessary because row actions is has this mount hover delay, which makes the\n // size calculation in the header get set before rendering - meaning the size doesn't include the buttons\n // when we cache icons this can go\n const paddingSize = 8;\n const buttonSize = 32;\n return <span className=\"flex\" style={{ width: paddingSize + totalButtons * buttonSize }} />;\n }\n\n return (\n <span className=\"-mb-2 -mt-1.5 text-right\">\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n aria-label=\"View other actions\"\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip=\"Other actions...\"\n />\n ) : null}\n </span>\n );\n}\n\nexport function createRowActionsColumn<TType = any>(rowActions): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row, table }) => <RowActionCell<TType> row={row} table={table} actions={actions} moreActions={moreActions} />,\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)] group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","name","align","disableTruncation","headerClassName","enableResizing","size","createRowSelectionColumn","enableMultipleRowSelection","lastSelectedRowIndex","tableRef","header","Tooltip","title","getIsAllPageRowsSelected","Shortcut","keys","Checkbox","checked","indeterminate","getIsSomePageRowsSelected","onChange","toggleAllPageRowsSelected","onClick","current","focus","tabIndex","handleClick","stopPropagation","shiftKey","index","getRowModel","slice","forEach","toggleSelected","setActiveRowIndex","role","type","createRowExpansionColumn","getIsSomeRowsExpanded","IconButton","appearance","icon","toggleAllRowsExpanded","getIsExpanded","toggleExpanded","getActionPropertyValue","property","RowActionCell","actions","moreActions","isVisible","action","visible","visibleActions","filter","visibleMoreActions","activeRowIndex","hoveredRowIndex","totalButtons","length","paddingSize","buttonSize","style","width","i","key","ariaLabel","dialog","undefined","disabled","tooltip","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":"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"}
1
+ {"version":3,"file":"columns.js","sources":["../../../../../../../../src/components/Table2/utilities/columns.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { CellContext, DisplayColumnDef, Row, TableMeta } from '@tanstack/react-table';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport { RowDragHandler, Table2RowActionProps } from '../types';\nimport { Menu } from '../../Menu/Menu';\nimport { Icon } from '../../Icon/Icon';\n\nexport const COLUMN_ID_FOR_DRAGGABLE = '__draggable';\nexport const COLUMN_ID_FOR_SELECTION = '__select';\nexport const COLUMN_ID_FOR_EXPANSION = '__expansion';\nexport const COLUMN_ID_FOR_ACTIONS = '__actions';\n\nexport const isInternalColumn = (id: string) =>\n id === COLUMN_ID_FOR_SELECTION ||\n id === COLUMN_ID_FOR_EXPANSION ||\n id === COLUMN_ID_FOR_ACTIONS ||\n id === COLUMN_ID_FOR_DRAGGABLE;\n\nexport const MIN_COLUMN_SIZE = 80; // accounts for padding and sort controls\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nexport function createRowDraggableColumn<TType = any>(onRowDrag: RowDragHandler<TType>): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_DRAGGABLE,\n cell: ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n const onDragStart = (event: React.DragEvent): void => {\n const rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n\n meta.setDragging(rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {}));\n\n const data = rows.map(row => row.original);\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'wcag-blue rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.appendChild(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n onRowDrag(data, showPlaceholder, setDataTransfer);\n };\n\n const onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n meta.setDragging({});\n };\n\n return (\n <div draggable onDragStart={onDragStart} onDragEnd={onDragEnd}>\n <Icon\n aria-label=\"Drag row\"\n name=\"drag\"\n className=\"text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed]]/row:text-white\"\n />\n </div>\n );\n },\n meta: {\n align: 'center',\n className: 'items-center !px-0',\n disableTruncation: true,\n headerClassName: 'items-center !px-0',\n },\n // sizing\n enableResizing: false,\n size: 10,\n };\n}\n\nexport function createRowSelectionColumn<TType = any>(\n enableMultipleRowSelection: boolean,\n lastSelectedRowIndex: React.MutableRefObject<number | undefined>,\n onRowDrag: RowDragHandler<TType> | undefined,\n tableRef: React.RefObject<HTMLDivElement>\n): DisplayColumnDef<TType, any> {\n let header;\n let cell;\n\n if (enableMultipleRowSelection) {\n header = ({ table }) => (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected() ? 'Deselect all' : 'Select all'}\n <Shortcut className=\"ml-2\" keys={['Ctrl', 'A']} />\n </>\n }>\n <Checkbox\n aria-label={table.getIsAllPageRowsSelected() ? 'Deselect all rows' : 'Select all rows'}\n className=\"hover:border-blue !mt-0\"\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={checked => table.toggleAllPageRowsSelected(checked)}\n onClick={() => {\n tableRef.current?.focus();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n );\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n\n if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(lastSelectedRowIndex?.current || 0, row.index);\n\n table\n .getRowModel()\n .rows.slice(fromIndex, toIndex + 1)\n .forEach(row => row.toggleSelected(true));\n } else {\n row.toggleSelected();\n }\n\n lastSelectedRowIndex.current = row.index;\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <Tooltip\n title={\n <>\n {table.getIsAllPageRowsSelected() ? 'Deselect' : 'Select'}\n <Shortcut className=\"ml-2\" keys={['Space']} />\n </>\n }>\n <Checkbox\n aria-label={row.getIsSelected() ? 'Deselect row' : 'Select row'}\n className=\"hover:border-blue !mt-[0.45rem]\"\n checked={row.getIsSelected()}\n onClick={handleClick}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n tabIndex={-1}\n />\n </Tooltip>\n );\n };\n } else {\n cell = ({ row, table }) => {\n const meta = table.options.meta as TableMeta<any>;\n const className =\n 'border-grey-300 focus:yt-focus flex h-5 w-5 mt-[0.45rem] flex-shrink-0 items-center justify-center self-start rounded-full border-2 bg-white hover:border-[5px] aria-checked:border-blue-500 aria-checked:bg-blue-500 hover:aria-checked:border-blue-300';\n\n const handleClick = (event: React.MouseEvent): void => {\n event.stopPropagation();\n row.toggleSelected();\n meta.setActiveRowIndex(row.index);\n tableRef.current?.focus();\n };\n\n return (\n <button\n className={className}\n aria-checked={row.getIsSelected()}\n onClick={handleClick}\n role=\"radio\"\n tabIndex={-1}\n type=\"button\">\n {row.getIsSelected() ? <span className=\"h-2.5 w-2.5 rounded-full bg-white\" /> : null}\n </button>\n );\n };\n }\n\n return {\n id: COLUMN_ID_FOR_SELECTION,\n header,\n cell,\n meta: {\n align: 'center',\n className: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n disableTruncation: true,\n headerClassName: onRowDrag ? '!pl-0 !pr-3' : '!px-3',\n },\n // sizing\n enableResizing: false,\n size: 46,\n };\n}\n\nexport function createRowExpansionColumn<TType = any>(): DisplayColumnDef<TType, any> {\n return {\n id: COLUMN_ID_FOR_EXPANSION,\n header: ({ table }) => (\n <Tooltip title={table.getIsSomeRowsExpanded() ? 'Collapse all' : 'Expand all'}>\n <IconButton\n title={table.getIsSomeRowsExpanded() ? 'Collapse all rows' : 'Expand all rows'}\n appearance=\"discrete\"\n className=\"-mb-2 -mt-1.5\"\n icon={table.getIsSomeRowsExpanded() ? 'chevron-down-double' : 'chevron-right-double'}\n onClick={event => {\n event.stopPropagation();\n table.toggleAllRowsExpanded(table.getIsSomeRowsExpanded() ? false : true);\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n cell: ({ row }: CellContext<TType, any>) => (\n <Tooltip\n title={\n <>\n {row.getIsExpanded() ? 'Collapse' : 'Expand'}\n <Shortcut className=\"ml-2\" keys={['Ctrl', row.getIsExpanded() ? '←' : '→']} />\n </>\n }>\n <IconButton\n title={row.getIsExpanded() ? 'Collapse row' : 'Expand row'}\n appearance=\"discrete\"\n icon={row.getIsExpanded() ? 'chevron-down' : 'chevron-right'}\n onClick={event => {\n event.stopPropagation();\n row.toggleExpanded();\n }}\n tabIndex={-1}\n />\n </Tooltip>\n ),\n meta: {\n align: 'center',\n className: 'items-center !p-0',\n disableTruncation: true,\n headerClassName: 'items-center hover:!bg-white !p-0',\n },\n // sizing\n enableResizing: false,\n size: 36,\n };\n}\n\nconst getActionPropertyValue = (property, row) => (typeof property === 'function' ? property(row) : property);\n\nfunction RowActionCell<TType = {}>({ row, actions, moreActions }) {\n const isVisible = (action: Table2RowActionProps<TType>) =>\n typeof action.visible !== 'undefined'\n ? typeof action.visible === 'function'\n ? action.visible(row.original)\n : action.visible\n : true;\n\n const visibleActions = actions.filter(isVisible);\n const visibleMoreActions = moreActions.filter(isVisible);\n\n const rowActionCellWidth = React.useMemo(() => {\n const totalButtons = visibleActions.length + (visibleMoreActions.length ? 1 : 0);\n // this is necessary because row actions is has this mount hover delay, which makes the\n // size calculation in the header get set before rendering - meaning the size doesn't include the buttons\n // when we cache icons this can go\n const paddingSize = 8;\n const buttonSize = 32;\n\n return paddingSize + totalButtons * buttonSize;\n }, [visibleActions.length, visibleMoreActions.length]);\n\n // Instead of relying on row.index to figure out whether the row is being hovered or is active. We should rely on a\n // CSS fix. The reason behind this is that row data or index is the initial data or index that is passed to the\n // table on the first render, the indexes of row changes when sorting or filtering is applied.\n\n // If the row is not the active row or the hovered row then actions are hidden.\n const actionClassName = 'group-hover/row:flex group-[[aria-current]]/row:flex hidden';\n\n return (\n <span className=\"-mb-2 -mt-1.5 flex justify-end text-right\" style={{ width: rowActionCellWidth }}>\n {visibleActions.map((action, i) => (\n <IconButton\n key={i}\n className={actionClassName}\n aria-label={getActionPropertyValue(action.ariaLabel, row.original)}\n appearance=\"discrete\"\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={event => {\n event.stopPropagation();\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}\n tooltip={getActionPropertyValue(action.text, row.original)}\n />\n ))}\n {visibleMoreActions.length ? (\n <IconButton\n className={actionClassName}\n aria-label=\"View other actions\"\n appearance=\"discrete\"\n icon=\"more\"\n onClick={event => {\n event.preventDefault();\n }}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {visibleMoreActions.map((action, i) => (\n <Menu.Item\n key={i}\n dialog={action.dialog ? action.dialog(row.original) : undefined}\n disabled={getActionPropertyValue(action.disabled, row.original)}\n icon={getActionPropertyValue(action.icon, row.original)}\n onClick={() => {\n if (action.onClick) {\n action.onClick(row.original);\n }\n }}>\n {getActionPropertyValue(action.text, row.original)}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n tooltip=\"Other actions...\"\n />\n ) : null}\n </span>\n );\n}\n\nexport function createRowActionsColumn<TType = any>(rowActions): DisplayColumnDef<TType, any> {\n const actions: Table2RowActionProps<TType>[] = rowActions.slice(0, 3);\n const moreActions: Table2RowActionProps<TType>[] = rowActions.slice(3);\n\n return {\n id: COLUMN_ID_FOR_ACTIONS,\n cell: ({ row }) => <RowActionCell<TType> row={row} actions={actions} moreActions={moreActions} />,\n meta: {\n align: 'right',\n className: (row: Row<any>) =>\n cn(\n 'items-center print:opacity-0 group-[[aria-current]]/row:sticky group-hover/row:sticky right-0 bg-transparent !px-1',\n {\n 'group-hover/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)] group-[[aria-current]]/row:!shadow-[-6px_0px_6px_theme(colors.grey.100)]':\n !row.getIsSelected(),\n 'shadow-[-6px_0px_6px_theme(colors.blue.100)]': row.getIsSelected(),\n }\n ),\n disableTruncation: true,\n headerClassName: 'hover:!bg-white !px-1',\n },\n // sizing\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID_FOR_DRAGGABLE","COLUMN_ID_FOR_SELECTION","COLUMN_ID_FOR_EXPANSION","COLUMN_ID_FOR_ACTIONS","isInternalColumn","id","MIN_COLUMN_SIZE","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","createRowDraggableColumn","onRowDrag","cell","row","table","meta","options","GHOST_ELEMENT_ID","onDragStart","event","rows","getIsSelected","getSelectedRowModel","setDragging","reduce","dragging","rowBeingDragged","data","map","original","dataTransfer","setData","JSON","stringify","showPlaceholder","text","ghost","document","createElement","className","innerText","body","appendChild","setDragImage","setDataTransfer","onDragEnd","getElementById","remove","React","draggable","Icon","name","align","disableTruncation","headerClassName","enableResizing","size","createRowSelectionColumn","enableMultipleRowSelection","lastSelectedRowIndex","tableRef","header","Tooltip","title","getIsAllPageRowsSelected","Shortcut","keys","Checkbox","checked","indeterminate","getIsSomePageRowsSelected","onChange","toggleAllPageRowsSelected","onClick","current","focus","tabIndex","handleClick","stopPropagation","shiftKey","index","getRowModel","slice","forEach","toggleSelected","setActiveRowIndex","role","type","createRowExpansionColumn","getIsSomeRowsExpanded","IconButton","appearance","icon","toggleAllRowsExpanded","getIsExpanded","toggleExpanded","getActionPropertyValue","property","RowActionCell","actions","moreActions","isVisible","action","visible","visibleActions","filter","visibleMoreActions","rowActionCellWidth","useMemo","totalButtons","length","paddingSize","buttonSize","actionClassName","style","width","i","key","ariaLabel","dialog","undefined","disabled","tooltip","preventDefault","menu","menuProps","Menu","Content","Item","createRowActionsColumn","rowActions","cn"],"mappings":";;;;;;;;;MAWaA,uBAAuB,GAAG;MAC1BC,uBAAuB,GAAG;MAC1BC,uBAAuB,GAAG;MAC1BC,qBAAqB,GAAG;MAExBC,gBAAgB,GAAIC,EAAU,IACvCA,EAAE,KAAKJ,uBAAuB,IAC9BI,EAAE,KAAKH,uBAAuB,IAC9BG,EAAE,KAAKF,qBAAqB,IAC5BE,EAAE,KAAKL;MAEEM,eAAe,GAAG,GAAG;AAElC,MAAMC,aAAa,GAAG,CAACC,YAAoB,EAAEC,UAAkB;EAC3D,MAAMC,SAAS,GAAGD,UAAU,GAAGD,YAAY,GAAGC,UAAU,GAAGD,YAAY;EACvE,MAAMG,OAAO,GAAGF,UAAU,GAAGD,YAAY,GAAGC,UAAU,GAAGD,YAAY;EAErE,OAAO,CAACE,SAAS,EAAEC,OAAO,CAAC;AAC/B,CAAC;SAEeC,wBAAwB,CAAcC,SAAgC;EAClF,OAAO;IACHR,EAAE,EAAEL,uBAAuB;IAC3Bc,IAAI,EAAE,CAAC;MAAEC,GAAG;MAAEC;KAAO;MACjB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAME,gBAAgB,GAAG,qBAAqB;MAE9C,MAAMC,WAAW,GAAIC,KAAsB;QACvC,MAAMC,IAAI,GAAGP,GAAG,CAACQ,aAAa,EAAE,GAAGP,KAAK,CAACQ,mBAAmB,EAAE,CAACF,IAAI,GAAG,CAACP,GAAG,EAAE,GAAGC,KAAK,CAACQ,mBAAmB,EAAE,CAACF,IAAI,CAAC;QAEhHL,IAAI,CAACQ,WAAW,CAACH,IAAI,CAACI,MAAM,CAAC,CAACC,QAAQ,EAAEC,eAAe,MAAM;UAAE,GAAGD,QAAQ;UAAE,CAACC,eAAe,CAACvB,EAAE,GAAG;SAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAE/G,MAAMwB,IAAI,GAAGP,IAAI,CAACQ,GAAG,CAACf,GAAG,IAAIA,GAAG,CAACgB,QAAQ,CAAC;;QAE1CV,KAAK,CAACW,YAAY,CAACC,OAAO,CAAC,MAAM,EAAEC,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,CAAC;QAExD,MAAMO,eAAe,GAAIC,IAAY;UACjC,MAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;UAC3CF,KAAK,CAACjC,EAAE,GAAGc,gBAAgB;UAC3BmB,KAAK,CAACG,SAAS,GAAG,sDAAsD;UACxEH,KAAK,CAACI,SAAS,GAAGL,IAAI;UACtBE,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,KAAK,CAAC;UAChCjB,KAAK,CAACW,YAAY,CAACa,YAAY,CAACP,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/C;QAED,MAAMQ,eAAe,GAAIT,IAAY,IAAKhB,KAAK,CAACW,YAAY,CAACC,OAAO,CAAC,MAAM,EAAEI,IAAI,CAAC;QAElFxB,SAAS,CAACgB,IAAI,EAAEO,eAAe,EAAEU,eAAe,CAAC;OACpD;MAED,MAAMC,SAAS,GAAG;;QACd,yBAAAR,QAAQ,CAACS,cAAc,CAAC7B,gBAAgB,CAAC,0DAAzC,sBAA2C8B,MAAM,EAAE;QACnDhC,IAAI,CAACQ,WAAW,CAAC,EAAE,CAAC;OACvB;MAED,oBACIyB;QAAKC,SAAS;QAAC/B,WAAW,EAAEA,WAAW;QAAE2B,SAAS,EAAEA;sBAChDG,6BAACE,IAAI;sBACU,UAAU;QACrBC,IAAI,EAAC,MAAM;QACXZ,SAAS,EAAC;QACZ,CACA;KAEb;IACDxB,IAAI,EAAE;MACFqC,KAAK,EAAE,QAAQ;MACfb,SAAS,EAAE,oBAAoB;MAC/Bc,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;SAEgBC,wBAAwB,CACpCC,0BAAmC,EACnCC,oBAAgE,EAChEhD,SAA4C,EAC5CiD,QAAyC;EAEzC,IAAIC,MAAM;EACV,IAAIjD,IAAI;EAER,IAAI8C,0BAA0B,EAAE;IAC5BG,MAAM,GAAG,CAAC;MAAE/C;KAAO,kBACfkC,6BAACc,OAAO;MACJC,KAAK,eACDf,4DACKlC,KAAK,CAACkD,wBAAwB,EAAE,GAAG,cAAc,GAAG,YAAY,eACjEhB,6BAACiB,QAAQ;QAAC1B,SAAS,EAAC,MAAM;QAAC2B,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG;QAAK;oBAG1DlB,6BAACmB,QAAQ;oBACOrD,KAAK,CAACkD,wBAAwB,EAAE,GAAG,mBAAmB,GAAG,iBAAiB;MACtFzB,SAAS,EAAC,yBAAyB;MACnC6B,OAAO,EAAEtD,KAAK,CAACkD,wBAAwB,EAAE;MACzCK,aAAa,EAAEvD,KAAK,CAACwD,yBAAyB,EAAE;MAChDC,QAAQ,EAAEH,OAAO,IAAItD,KAAK,CAAC0D,yBAAyB,CAACJ,OAAO,CAAC;MAC7DK,OAAO,EAAE;;QACL,qBAAAb,QAAQ,CAACc,OAAO,sDAAhB,kBAAkBC,KAAK,EAAE;OAC5B;MACDC,QAAQ,EAAE,CAAC;MACb,CAET;IACDhE,IAAI,GAAG,CAAC;MAAEC,GAAG;MAAEC;KAAO;MAClB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAM8D,WAAW,GAAI1D,KAAuB;;QACxCA,KAAK,CAAC2D,eAAe,EAAE;QAEvB,IAAI3D,KAAK,CAAC4D,QAAQ,EAAE;UAChB,MAAM,CAACvE,SAAS,EAAEC,OAAO,CAAC,GAAGJ,aAAa,CAAC,CAAAsD,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEe,OAAO,KAAI,CAAC,EAAE7D,GAAG,CAACmE,KAAK,CAAC;UAEzFlE,KAAK,CACAmE,WAAW,EAAE,CACb7D,IAAI,CAAC8D,KAAK,CAAC1E,SAAS,EAAEC,OAAO,GAAG,CAAC,CAAC,CAClC0E,OAAO,CAACtE,GAAG,IAAIA,GAAG,CAACuE,cAAc,CAAC,IAAI,CAAC,CAAC;SAChD,MAAM;UACHvE,GAAG,CAACuE,cAAc,EAAE;;QAGxBzB,oBAAoB,CAACe,OAAO,GAAG7D,GAAG,CAACmE,KAAK;QACxCjE,IAAI,CAACsE,iBAAiB,CAACxE,GAAG,CAACmE,KAAK,CAAC;QACjC,sBAAApB,QAAQ,CAACc,OAAO,uDAAhB,mBAAkBC,KAAK,EAAE;OAC5B;MAED,oBACI3B,6BAACc,OAAO;QACJC,KAAK,eACDf,4DACKlC,KAAK,CAACkD,wBAAwB,EAAE,GAAG,UAAU,GAAG,QAAQ,eACzDhB,6BAACiB,QAAQ;UAAC1B,SAAS,EAAC,MAAM;UAAC2B,IAAI,EAAE,CAAC,OAAO;UAAK;sBAGtDlB,6BAACmB,QAAQ;sBACOtD,GAAG,CAACQ,aAAa,EAAE,GAAG,cAAc,GAAG,YAAY;QAC/DkB,SAAS,EAAC,iCAAiC;QAC3C6B,OAAO,EAAEvD,GAAG,CAACQ,aAAa,EAAE;QAC5BoD,OAAO,EAAEI,WAAW;;QAEpBN,QAAQ,EAAE,MAAM,KAAK;QACrBK,QAAQ,EAAE,CAAC;QACb,CACI;KAEjB;GACJ,MAAM;IACHhE,IAAI,GAAG,CAAC;MAAEC,GAAG;MAAEC;KAAO;MAClB,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAsB;MACjD,MAAMwB,SAAS,GACX,0PAA0P;MAE9P,MAAMsC,WAAW,GAAI1D,KAAuB;;QACxCA,KAAK,CAAC2D,eAAe,EAAE;QACvBjE,GAAG,CAACuE,cAAc,EAAE;QACpBrE,IAAI,CAACsE,iBAAiB,CAACxE,GAAG,CAACmE,KAAK,CAAC;QACjC,sBAAApB,QAAQ,CAACc,OAAO,uDAAhB,mBAAkBC,KAAK,EAAE;OAC5B;MAED,oBACI3B;QACIT,SAAS,EAAEA,SAAS;wBACN1B,GAAG,CAACQ,aAAa,EAAE;QACjCoD,OAAO,EAAEI,WAAW;QACpBS,IAAI,EAAC,OAAO;QACZV,QAAQ,EAAE,CAAC,CAAC;QACZW,IAAI,EAAC;SACJ1E,GAAG,CAACQ,aAAa,EAAE,gBAAG2B;QAAMT,SAAS,EAAC;QAAsC,GAAG,IAAI,CAC/E;KAEhB;;EAGL,OAAO;IACHpC,EAAE,EAAEJ,uBAAuB;IAC3B8D,MAAM;IACNjD,IAAI;IACJG,IAAI,EAAE;MACFqC,KAAK,EAAE,QAAQ;MACfb,SAAS,EAAE5B,SAAS,GAAG,aAAa,GAAG,OAAO;MAC9C0C,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE3C,SAAS,GAAG,aAAa,GAAG;KAChD;;IAED4C,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;SAEgBgC,wBAAwB;EACpC,OAAO;IACHrF,EAAE,EAAEH,uBAAuB;IAC3B6D,MAAM,EAAE,CAAC;MAAE/C;KAAO,kBACdkC,6BAACc,OAAO;MAACC,KAAK,EAAEjD,KAAK,CAAC2E,qBAAqB,EAAE,GAAG,cAAc,GAAG;oBAC7DzC,6BAAC0C,UAAU;MACP3B,KAAK,EAAEjD,KAAK,CAAC2E,qBAAqB,EAAE,GAAG,mBAAmB,GAAG,iBAAiB;MAC9EE,UAAU,EAAC,UAAU;MACrBpD,SAAS,EAAC,eAAe;MACzBqD,IAAI,EAAE9E,KAAK,CAAC2E,qBAAqB,EAAE,GAAG,qBAAqB,GAAG,sBAAsB;MACpFhB,OAAO,EAAEtD,KAAK;QACVA,KAAK,CAAC2D,eAAe,EAAE;QACvBhE,KAAK,CAAC+E,qBAAqB,CAAC/E,KAAK,CAAC2E,qBAAqB,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;OAC5E;MACDb,QAAQ,EAAE,CAAC;MACb,CAET;IACDhE,IAAI,EAAE,CAAC;MAAEC;KAA8B,kBACnCmC,6BAACc,OAAO;MACJC,KAAK,eACDf,4DACKnC,GAAG,CAACiF,aAAa,EAAE,GAAG,UAAU,GAAG,QAAQ,eAC5C9C,6BAACiB,QAAQ;QAAC1B,SAAS,EAAC,MAAM;QAAC2B,IAAI,EAAE,CAAC,MAAM,EAAErD,GAAG,CAACiF,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG;QAAK;oBAGtF9C,6BAAC0C,UAAU;MACP3B,KAAK,EAAElD,GAAG,CAACiF,aAAa,EAAE,GAAG,cAAc,GAAG,YAAY;MAC1DH,UAAU,EAAC,UAAU;MACrBC,IAAI,EAAE/E,GAAG,CAACiF,aAAa,EAAE,GAAG,cAAc,GAAG,eAAe;MAC5DrB,OAAO,EAAEtD,KAAK;QACVA,KAAK,CAAC2D,eAAe,EAAE;QACvBjE,GAAG,CAACkF,cAAc,EAAE;OACvB;MACDnB,QAAQ,EAAE,CAAC;MACb,CAET;IACD7D,IAAI,EAAE;MACFqC,KAAK,EAAE,QAAQ;MACfb,SAAS,EAAE,mBAAmB;MAC9Bc,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;GACT;AACL;AAEA,MAAMwC,sBAAsB,GAAG,CAACC,QAAQ,EAAEpF,GAAG,KAAM,OAAOoF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACpF,GAAG,CAAC,GAAGoF,QAAS;AAE7G,SAASC,aAAa,CAAa;EAAErF,GAAG;EAAEsF,OAAO;EAAEC;CAAa;EAC5D,MAAMC,SAAS,GAAIC,MAAmC,IAClD,OAAOA,MAAM,CAACC,OAAO,KAAK,WAAW,GAC/B,OAAOD,MAAM,CAACC,OAAO,KAAK,UAAU,GAChCD,MAAM,CAACC,OAAO,CAAC1F,GAAG,CAACgB,QAAQ,CAAC,GAC5ByE,MAAM,CAACC,OAAO,GAClB,IAAI;EAEd,MAAMC,cAAc,GAAGL,OAAO,CAACM,MAAM,CAACJ,SAAS,CAAC;EAChD,MAAMK,kBAAkB,GAAGN,WAAW,CAACK,MAAM,CAACJ,SAAS,CAAC;EAExD,MAAMM,kBAAkB,GAAG3D,cAAK,CAAC4D,OAAO,CAAC;IACrC,MAAMC,YAAY,GAAGL,cAAc,CAACM,MAAM,IAAIJ,kBAAkB,CAACI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;;;;IAIhF,MAAMC,WAAW,GAAG,CAAC;IACrB,MAAMC,UAAU,GAAG,EAAE;IAErB,OAAOD,WAAW,GAAGF,YAAY,GAAGG,UAAU;GACjD,EAAE,CAACR,cAAc,CAACM,MAAM,EAAEJ,kBAAkB,CAACI,MAAM,CAAC,CAAC;;;;;EAOtD,MAAMG,eAAe,GAAG,6DAA6D;EAErF,oBACIjE;IAAMT,SAAS,EAAC,2CAA2C;IAAC2E,KAAK,EAAE;MAAEC,KAAK,EAAER;;KACvEH,cAAc,CAAC5E,GAAG,CAAC,CAAC0E,MAAM,EAAEc,CAAC,kBAC1BpE,6BAAC0C,UAAU;IACP2B,GAAG,EAAED,CAAC;IACN7E,SAAS,EAAE0E,eAAe;kBACdjB,sBAAsB,CAACM,MAAM,CAACgB,SAAS,EAAEzG,GAAG,CAACgB,QAAQ,CAAC;IAClE8D,UAAU,EAAC,UAAU;IACrB4B,MAAM,EAAEjB,MAAM,CAACiB,MAAM,GAAGjB,MAAM,CAACiB,MAAM,CAAC1G,GAAG,CAACgB,QAAQ,CAAC,GAAG2F,SAAS;IAC/DC,QAAQ,EAAEzB,sBAAsB,CAACM,MAAM,CAACmB,QAAQ,EAAE5G,GAAG,CAACgB,QAAQ,CAAC;IAC/D+D,IAAI,EAAEI,sBAAsB,CAACM,MAAM,CAACV,IAAI,EAAE/E,GAAG,CAACgB,QAAQ,CAAC;IACvD4C,OAAO,EAAEtD,KAAK;MACVA,KAAK,CAAC2D,eAAe,EAAE;MACvB,IAAIwB,MAAM,CAAC7B,OAAO,EAAE;QAChB6B,MAAM,CAAC7B,OAAO,CAAC5D,GAAG,CAACgB,QAAQ,CAAC;;KAEnC;IACD6F,OAAO,EAAE1B,sBAAsB,CAACM,MAAM,CAACnE,IAAI,EAAEtB,GAAG,CAACgB,QAAQ;IAEhE,CAAC,EACD6E,kBAAkB,CAACI,MAAM,gBACtB9D,6BAAC0C,UAAU;IACPnD,SAAS,EAAE0E,eAAe;kBACf,oBAAoB;IAC/BtB,UAAU,EAAC,UAAU;IACrBC,IAAI,EAAC,MAAM;IACXnB,OAAO,EAAEtD,KAAK;MACVA,KAAK,CAACwG,cAAc,EAAE;KACzB;IACDC,IAAI,EAAEC,SAAS,iBACX7E,6BAAC8E,IAAI,oBAAKD,SAAS,gBACf7E,6BAAC8E,IAAI,CAACC,OAAO,QACRrB,kBAAkB,CAAC9E,GAAG,CAAC,CAAC0E,MAAM,EAAEc,CAAC,kBAC9BpE,6BAAC8E,IAAI,CAACE,IAAI;MACNX,GAAG,EAAED,CAAC;MACNG,MAAM,EAAEjB,MAAM,CAACiB,MAAM,GAAGjB,MAAM,CAACiB,MAAM,CAAC1G,GAAG,CAACgB,QAAQ,CAAC,GAAG2F,SAAS;MAC/DC,QAAQ,EAAEzB,sBAAsB,CAACM,MAAM,CAACmB,QAAQ,EAAE5G,GAAG,CAACgB,QAAQ,CAAC;MAC/D+D,IAAI,EAAEI,sBAAsB,CAACM,MAAM,CAACV,IAAI,EAAE/E,GAAG,CAACgB,QAAQ,CAAC;MACvD4C,OAAO,EAAE;QACL,IAAI6B,MAAM,CAAC7B,OAAO,EAAE;UAChB6B,MAAM,CAAC7B,OAAO,CAAC5D,GAAG,CAACgB,QAAQ,CAAC;;;OAGnCmE,sBAAsB,CAACM,MAAM,CAACnE,IAAI,EAAEtB,GAAG,CAACgB,QAAQ,CAAC,CAEzD,CAAC,CACS,CAEtB;IACD6F,OAAO,EAAC;IACV,GACF,IAAI,CACL;AAEf;SAEgBO,sBAAsB,CAAcC,UAAU;EAC1D,MAAM/B,OAAO,GAAkC+B,UAAU,CAAChD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EACrE,MAAMkB,WAAW,GAAkC8B,UAAU,CAAChD,KAAK,CAAC,CAAC,CAAC;EAEtE,OAAO;IACH/E,EAAE,EAAEF,qBAAqB;IACzBW,IAAI,EAAE,CAAC;MAAEC;KAAK,kBAAKmC,6BAACkD,aAAa;MAAQrF,GAAG,EAAEA,GAAG;MAAEsF,OAAO,EAAEA,OAAO;MAAEC,WAAW,EAAEA;MAAe;IACjGrF,IAAI,EAAE;MACFqC,KAAK,EAAE,OAAO;MACdb,SAAS,EAAG1B,GAAa,IACrBsH,EAAE,CACE,oHAAoH,EACpH;QACI,wIAAwI,EACpI,CAACtH,GAAG,CAACQ,aAAa,EAAE;QACxB,8CAA8C,EAAER,GAAG,CAACQ,aAAa;OACpE,CACJ;MACLgC,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;KACpB;;IAEDC,cAAc,EAAE;GACnB;AACL;;;;"}