{"version":3,"file":"config.mjs","sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["// @ts-nocheck\nimport { h } from 'vue'\nimport BCheckbox from '@bigin/components/checkbox'\nimport { BIcon } from '@bigin/components/icon'\nimport { ActionRight, Loading } from '@bigin/icons-vue'\nimport { getProp } from '@bigin/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n  selection: 'table-column--selection',\n  expand: 'table__expand-column',\n}\n\nexport const cellStarts = {\n  default: {\n    order: '',\n  },\n  selection: {\n    width: 64,\n    minWidth: 64,\n    realWidth: 64,\n    order: '',\n  },\n  expand: {\n    width: 64,\n    minWidth: 64,\n    realWidth: 64,\n    order: '',\n  },\n  index: {\n    width: 64,\n    minWidth: 64,\n    realWidth: 64,\n    order: '',\n  },\n}\n\nexport const getDefaultClassName = (type) => {\n  return defaultClassNames[type] || ''\n}\n\nexport const cellForced = {\n  selection: {\n    renderHeader<T>({ store }: { store: Store<T> }) {\n      function isDisabled() {\n        return store.states.data.value && store.states.data.value.length === 0\n      }\n      return h(BCheckbox, {\n        plain: true,\n        disabled: isDisabled(),\n        size: store.states.tableSize.value,\n        indeterminate:\n          store.states.selection.value.length > 0 &&\n          !store.states.isAllSelected.value,\n        'onUpdate:modelValue': store.toggleAllSelection,\n        modelValue: store.states.isAllSelected.value,\n      })\n    },\n    renderCell<T>({\n      row,\n      column,\n      store,\n      $index,\n    }: {\n      row: T\n      column: TableColumnCtx<T>\n      store: Store<T>\n      $index: string\n    }) {\n      return h(BCheckbox, {\n        plain: true,\n        disabled: column.selectable\n          ? !column.selectable.call(null, row, $index)\n          : false,\n        size: store.states.tableSize.value,\n        onChange: () => {\n          store.commit('rowSelectedChanged', row)\n        },\n        onClick: (event: Event) => event.stopPropagation(),\n        modelValue: store.isSelected(row),\n      })\n    },\n    sortable: false,\n    resizable: false,\n  },\n  index: {\n    renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n      return column.label || '#'\n    },\n    renderCell<T>({\n      column,\n      $index,\n    }: {\n      column: TableColumnCtx<T>\n      $index: number\n    }) {\n      let i = $index + 1\n      const index = column.index\n\n      if (typeof index === 'number') {\n        i = $index + index\n      } else if (typeof index === 'function') {\n        i = index($index)\n      }\n      return h('div', {}, [i])\n    },\n    sortable: false,\n  },\n  expand: {\n    renderHeader<T>({ column }: { column: TableColumnCtx<T> }) {\n      return column.label || ''\n    },\n    renderCell<T>({\n      row,\n      store,\n      expanded,\n    }: {\n      row: T\n      store: Store<T>\n      expanded: boolean\n    }) {\n      const { ns } = store\n      const classes = [ns.e('expand-icon')]\n      if (expanded) {\n        classes.push(ns.em('expand-icon', 'expanded'))\n      }\n      const callback = function (e: Event) {\n        e.stopPropagation()\n        store.toggleRowExpansion(row)\n      }\n      return h(\n        'div',\n        {\n          class: classes,\n          onClick: callback,\n        },\n        {\n          default: () => {\n            return [\n              h(BIcon, null, {\n                default: () => {\n                  return [h(ActionRight)]\n                },\n              }),\n            ]\n          },\n        }\n      )\n    },\n    sortable: false,\n    resizable: false,\n  },\n}\n\nexport function defaultRenderCell<T>({\n  row,\n  column,\n  $index,\n}: {\n  row: T\n  column: TableColumnCtx<T>\n  $index: number\n}) {\n  const property = column.property\n  const value = property && getProp(row, property).value\n  if (column && column.formatter) {\n    return column.formatter(row, column, value, $index)\n  }\n  return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix<T>(\n  {\n    row,\n    treeNode,\n    store,\n  }: {\n    row: T\n    treeNode: TreeNode\n    store: Store<T>\n  },\n  createPlacehoder = false\n) {\n  const { ns } = store\n  if (!treeNode) {\n    if (createPlacehoder) {\n      return [\n        h('span', {\n          class: ns.e('placeholder'),\n        }),\n      ]\n    }\n    return null\n  }\n  const ele: VNode[] = []\n  const callback = function (e) {\n    e.stopPropagation()\n    if (treeNode.loading) {\n      return\n    }\n    store.loadOrToggle(row)\n  }\n  if (treeNode.indent) {\n    ele.push(\n      h('span', {\n        class: ns.e('indent'),\n        style: { 'padding-left': `${treeNode.indent}px` },\n      })\n    )\n  }\n  if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) {\n    const expandClasses = [\n      ns.e('expand-icon'),\n      treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n    ]\n    let icon = ActionRight\n    if (treeNode.loading) {\n      icon = Loading\n    }\n\n    ele.push(\n      h(\n        'div',\n        {\n          class: expandClasses,\n          onClick: callback,\n        },\n        {\n          default: () => {\n            return [\n              h(\n                BIcon,\n                { class: { [ns.is('loading')]: treeNode.loading } },\n                {\n                  default: () => [h(icon)],\n                }\n              ),\n            ]\n          },\n        }\n      )\n    )\n  } else {\n    ele.push(\n      h('span', {\n        class: ns.e('placeholder'),\n      })\n    )\n  }\n  return ele\n}\n"],"names":[],"mappings":"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"}