{"version":3,"file":"table-v2.mjs","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["// @ts-nocheck\nimport { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@lit-element/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n  TableV2HeaderRendererParams,\n  TableV2HeaderRowCellRendererParams,\n  TableV2RowCellRenderParam,\n} from './components'\n\nconst COMPONENT_NAME = 'LtTableV2'\n\nconst TableV2 = defineComponent({\n  name: COMPONENT_NAME,\n  props: tableV2Props,\n  setup(props, { slots, expose }) {\n    const ns = useNamespace('table-v2')\n\n    const {\n      columnsStyles,\n      fixedColumnsOnLeft,\n      fixedColumnsOnRight,\n      mainColumns,\n      mainTableHeight,\n      fixedTableHeight,\n      leftTableWidth,\n      rightTableWidth,\n      data,\n      depthMap,\n      expandedRowKeys,\n      hasFixedColumns,\n      mainTableRef,\n      leftTableRef,\n      rightTableRef,\n      isDynamic,\n      isResetting,\n      isScrolling,\n\n      bodyWidth,\n      emptyStyle,\n      rootStyle,\n      headerWidth,\n      footerHeight,\n\n      showEmpty,\n\n      // exposes\n      scrollTo,\n      scrollToLeft,\n      scrollToTop,\n      scrollToRow,\n\n      getRowHeight,\n      onColumnSorted,\n      onRowHeightChange,\n      onRowHovered,\n      onRowExpanded,\n      onRowsRendered,\n      onScroll,\n      onVerticalScroll,\n    } = useTable(props)\n\n    expose({\n      /**\n       * @description scroll to a given position\n       * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n       */\n      scrollTo,\n      /**\n       * @description scroll to a given position horizontally\n       * @params scrollLeft {Number} where to scroll to.\n       */\n      scrollToLeft,\n      /**\n       * @description scroll to a given position vertically\n       * @params scrollTop { Number } where to scroll to.\n       */\n      scrollToTop,\n      /**\n       * @description scroll to a given row\n       * @params row {Number} which row to scroll to\n       * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n       */\n      scrollToRow,\n    })\n\n    provide(TableV2InjectionKey, {\n      ns,\n      isResetting,\n      isScrolling,\n    })\n\n    return () => {\n      const {\n        cache,\n        cellProps,\n        estimatedRowHeight,\n        expandColumnKey,\n        fixedData,\n        headerHeight,\n        headerClass,\n        headerProps,\n        headerCellProps,\n        sortBy,\n        sortState,\n        rowHeight,\n        rowClass,\n        rowEventHandlers,\n        rowKey,\n        rowProps,\n        scrollbarAlwaysOn,\n        indentSize,\n        iconSize,\n        useIsScrolling,\n        vScrollbarSize,\n        width,\n      } = props\n\n      const _data = unref(data)\n\n      const mainTableProps = {\n        cache,\n        class: ns.e('main'),\n        columns: unref(mainColumns),\n        data: _data,\n        fixedData,\n        estimatedRowHeight,\n        bodyWidth: unref(bodyWidth) + vScrollbarSize,\n        headerHeight,\n        headerWidth: unref(headerWidth),\n        height: unref(mainTableHeight),\n        mainTableRef,\n        rowKey,\n        rowHeight,\n        scrollbarAlwaysOn,\n        scrollbarStartGap: 2,\n        scrollbarEndGap: vScrollbarSize,\n        useIsScrolling,\n        width,\n        getRowHeight,\n        onRowsRendered,\n        onScroll,\n      }\n\n      const leftColumnsWidth = unref(leftTableWidth)\n      const _fixedTableHeight = unref(fixedTableHeight)\n\n      const leftTableProps = {\n        cache,\n        class: ns.e('left'),\n        columns: unref(fixedColumnsOnLeft),\n        data: _data,\n        estimatedRowHeight,\n        leftTableRef,\n        rowHeight,\n        bodyWidth: leftColumnsWidth,\n        headerWidth: leftColumnsWidth,\n        headerHeight,\n        height: _fixedTableHeight,\n        rowKey,\n        scrollbarAlwaysOn,\n        scrollbarStartGap: 2,\n        scrollbarEndGap: vScrollbarSize,\n        useIsScrolling,\n        width: leftColumnsWidth,\n        getRowHeight,\n        onScroll: onVerticalScroll,\n      }\n\n      const rightColumnsWidth = unref(rightTableWidth)\n      const rightColumnsWidthWithScrollbar = rightColumnsWidth + vScrollbarSize\n\n      const rightTableProps = {\n        cache,\n        class: ns.e('right'),\n        columns: unref(fixedColumnsOnRight),\n        data: _data,\n        estimatedRowHeight,\n        rightTableRef,\n        rowHeight,\n        bodyWidth: rightColumnsWidthWithScrollbar,\n        headerWidth: rightColumnsWidthWithScrollbar,\n        headerHeight,\n        height: _fixedTableHeight,\n        rowKey,\n        scrollbarAlwaysOn,\n        scrollbarStartGap: 2,\n        scrollbarEndGap: vScrollbarSize,\n        width: rightColumnsWidthWithScrollbar,\n        style: `--${unref(\n          ns.namespace\n        )}-table-scrollbar-size: ${vScrollbarSize}px`,\n        useIsScrolling,\n        getRowHeight,\n        onScroll: onVerticalScroll,\n      }\n      const _columnsStyles = unref(columnsStyles)\n\n      const tableRowProps = {\n        ns,\n        depthMap: unref(depthMap),\n        columnsStyles: _columnsStyles,\n        expandColumnKey,\n        expandedRowKeys: unref(expandedRowKeys),\n        estimatedRowHeight,\n        hasFixedColumns: unref(hasFixedColumns),\n        rowProps,\n        rowClass,\n        rowKey,\n        rowEventHandlers,\n        onRowHovered,\n        onRowExpanded,\n        onRowHeightChange,\n      }\n\n      const tableCellProps = {\n        cellProps,\n        expandColumnKey,\n        indentSize,\n        iconSize,\n        rowKey,\n        expandedRowKeys: unref(expandedRowKeys),\n        ns,\n      }\n\n      const tableHeaderProps = {\n        ns,\n        headerClass,\n        headerProps,\n        columnsStyles: _columnsStyles,\n      }\n\n      const tableHeaderCellProps = {\n        ns,\n\n        sortBy,\n        sortState,\n        headerCellProps,\n        onColumnSorted,\n      }\n\n      const tableSlots = {\n        row: (props: TableGridRowSlotParams) => (\n          <Row {...props} {...tableRowProps}>\n            {{\n              row: slots.row,\n              cell: (props: TableV2RowCellRenderParam) =>\n                slots.cell ? (\n                  <Cell\n                    {...props}\n                    {...tableCellProps}\n                    style={_columnsStyles[props.column.key]}\n                  >\n                    {slots.cell(props)}\n                  </Cell>\n                ) : (\n                  <Cell\n                    {...props}\n                    {...tableCellProps}\n                    style={_columnsStyles[props.column.key]}\n                  />\n                ),\n            }}\n          </Row>\n        ),\n        header: (props: TableV2HeaderRendererParams) => (\n          <Header {...props} {...tableHeaderProps}>\n            {{\n              header: slots.header,\n              cell: (props: TableV2HeaderRowCellRendererParams) =>\n                slots['header-cell'] ? (\n                  <HeaderCell\n                    {...props}\n                    {...tableHeaderCellProps}\n                    style={_columnsStyles[props.column.key]}\n                  >\n                    {slots['header-cell'](props)}\n                  </HeaderCell>\n                ) : (\n                  <HeaderCell\n                    {...props}\n                    {...tableHeaderCellProps}\n                    style={_columnsStyles[props.column.key]}\n                  />\n                ),\n            }}\n          </Header>\n        ),\n      }\n\n      const rootKls = [\n        props.class,\n        ns.b(),\n        ns.e('root'),\n        {\n          [ns.is('dynamic')]: unref(isDynamic),\n        },\n      ]\n\n      const footerProps = {\n        class: ns.e('footer'),\n        style: unref(footerHeight),\n      }\n\n      return (\n        <div class={rootKls} style={unref(rootStyle)}>\n          <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n          <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n          <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n          {slots.footer && (\n            <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n          )}\n          {unref(showEmpty) && (\n            <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n              {{ default: slots.empty }}\n            </Empty>\n          )}\n          {slots.overlay && (\n            <Overlay class={ns.e('overlay')}>\n              {{ default: slots.overlay }}\n            </Overlay>\n          )}\n        </div>\n      )\n    }\n  },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n  /**\n   * @description scroll to a given position\n   * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n   */\n  scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n  /**\n   * @description scroll to a given position horizontally\n   * @params scrollLeft {Number} where to scroll to.\n   */\n  scrollToLeft: (scrollLeft: number) => void\n  /**\n   * @description scroll to a given position vertically\n   * @params scrollTop { Number } where to scroll to.\n   */\n  scrollToTop: (scrollTop: number) => void\n  /**\n   * @description scroll to a given row\n   * @params row {Number} which row to scroll to\n   * @params strategy {ScrollStrategy} use what strategy to scroll to\n   */\n  scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Empty","Overlay","_isVNode","COMPONENT_NAME","TableV2","defineComponent","name","props","tableV2Props","setup","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","headerWidth","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowHeightChange","onRowHovered","onRowExpanded","onVerticalScroll","useTable","cache","cellProps","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","unref","class","columns","estimatedRowHeight","height","scrollbarStartGap","scrollbarEndGap","onRowsRendered","onScroll","leftColumnsWidth","_fixedTableHeight","style","ns","expandColumnKey","_createVNode","Row","_mergeProps","Cell","_columnsStyles","Header","HeaderCell","cell","_slot","default","header"],"mappings":"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"}