orion-design 0.1.29 → 0.1.30

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 (66) hide show
  1. package/README.md +5 -5
  2. package/dist/components/LovTable/LovPagetable.vue.d.ts +28 -0
  3. package/dist/components/LovTable/index.d.ts +14 -0
  4. package/dist/components/Modal/Modal.d.ts +2 -0
  5. package/dist/components/Modal/ModalLocator.vue.d.ts +20 -0
  6. package/dist/components/Modal/index.d.ts +4 -1
  7. package/dist/components/Modal/index.js +72 -0
  8. package/dist/components/Modal/index.js.map +1 -0
  9. package/dist/components/Modal/types.d.ts +18 -0
  10. package/dist/components/Modal/types.js +6 -0
  11. package/dist/components/Modal/types.js.map +1 -0
  12. package/dist/components/Modal/useModal.d.ts +1 -3
  13. package/dist/components/Modal/useModal.js +4 -3
  14. package/dist/components/Modal/useModal.js.map +1 -1
  15. package/dist/components/Pagetable/Pagetable.d.ts +13 -0
  16. package/dist/components/Pagetable/columns/PagetableColumnButtongroup.d.ts +13 -0
  17. package/dist/components/Pagetable/columns/PagetableColumnDate.d.ts +13 -0
  18. package/dist/components/Pagetable/columns/PagetableColumnDiy.d.ts +13 -0
  19. package/dist/components/Pagetable/columns/PagetableColumnLink.d.ts +13 -0
  20. package/dist/components/Pagetable/columns/PagetableColumnMultiselect.d.ts +13 -0
  21. package/dist/components/Pagetable/columns/PagetableColumnNumber.d.ts +13 -0
  22. package/dist/components/Pagetable/columns/PagetableColumnSingleselect.d.ts +13 -0
  23. package/dist/components/Pagetable/columns/PagetableColumnString.d.ts +13 -0
  24. package/dist/components/Pagetable/hooks/useColumns.js +37 -31
  25. package/dist/components/Pagetable/hooks/useColumns.js.map +1 -1
  26. package/dist/components/Pagetable/index.d.ts +9 -0
  27. package/dist/components/Pagetable/index.js +427 -366
  28. package/dist/components/Pagetable/index.js.map +1 -1
  29. package/dist/components/_util/arrays.js.map +1 -1
  30. package/dist/components/_util/browser.js.map +1 -1
  31. package/dist/components/_util/dom/aria.js.map +1 -1
  32. package/dist/components/_util/dom/element.js.map +1 -1
  33. package/dist/components/_util/dom/event.js.map +1 -1
  34. package/dist/components/_util/dom/position.js.map +1 -1
  35. package/dist/components/_util/dom/scroll.js.map +1 -1
  36. package/dist/components/_util/dom/style.js.map +1 -1
  37. package/dist/components/_util/easings.js.map +1 -1
  38. package/dist/components/_util/error.js.map +1 -1
  39. package/dist/components/_util/i18n.js.map +1 -1
  40. package/dist/components/_util/objects.js.map +1 -1
  41. package/dist/components/_util/raf.js.map +1 -1
  42. package/dist/components/_util/rand.js.map +1 -1
  43. package/dist/components/_util/strings.js.map +1 -1
  44. package/dist/components/_util/throttleByRaf.js.map +1 -1
  45. package/dist/components/_util/types.js.map +1 -1
  46. package/dist/components/_util/typescript.js.map +1 -1
  47. package/dist/components/_util/vue/global-node.js.map +1 -1
  48. package/dist/components/_util/vue/icon.js.map +1 -1
  49. package/dist/components/_util/vue/install.js.map +1 -1
  50. package/dist/components/_util/vue/props/runtime.js.map +1 -1
  51. package/dist/components/_util/vue/refs.js.map +1 -1
  52. package/dist/components/_util/vue/size.js.map +1 -1
  53. package/dist/components/_util/vue/validator.js.map +1 -1
  54. package/dist/components/_util/vue/vnode.js.map +1 -1
  55. package/dist/components/components.js +8 -8
  56. package/dist/components/index.js +21 -21
  57. package/dist/components-8oZ2kpUC.js +27 -0
  58. package/dist/components-8oZ2kpUC.js.map +1 -0
  59. package/dist/index.css +1 -1
  60. package/dist/index.js +3 -3
  61. package/dist/version/version.d.ts +1 -1
  62. package/dist/version/version.js +1 -1
  63. package/dist/version/version.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/components-J6-qau6Y.js +0 -73
  66. package/dist/components-J6-qau6Y.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Pagetable/Pagetable.tsx","../../../src/components/Pagetable/columns/PagetableColumnIndex.tsx","../../../src/components/Pagetable/columns/PagetableColumnString.tsx","../../../src/components/Pagetable/columns/PagetableColumnLink.tsx","../../../src/components/Pagetable/columns/PagetableColumnNumber.tsx","../../../src/components/Pagetable/columns/PagetableColumnDate.tsx","../../../src/components/Pagetable/columns/PagetableColumnSingleselect.tsx","../../../src/components/Pagetable/columns/PagetableColumnMultiselect.tsx","../../../src/components/Pagetable/columns/PagetableColumnButtongroup.tsx","../../../src/components/Pagetable/columns/PagetableCellButton.tsx","../../../src/components/Pagetable/columns/PagetableColumngroup.tsx","../../../src/components/Pagetable/columns/PagetableColumnDiy.tsx","../../../src/components/Pagetable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../_util/classNames'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\n\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport type { PageTableI } from './interface'\r\n\r\nimport useColumns from './hooks/useColumns'\r\n\r\nimport Throne from '../../Throne'\r\n\r\nexport const pagetableProps = () => ({\r\n data: arrayType<PageTableI['data']>(),\r\n pagination: objectType<PageTableI['pagination']>(),\r\n showRowNumber: booleanType(true),\r\n selectionMode: booleanType(false),\r\n currentRowMode: booleanType(false),\r\n size: stringType<'' | 'large' | 'default' | 'small'>(),\r\n})\r\n\r\nexport type PagetableProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetable',\r\n inheritAttrs: false,\r\n props: pagetableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'update:pagination', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { pagination } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n\r\n const cn = classNames('orion-pagetbale')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return (pagination.currentPage - 1) * pagination.pageSize + index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n return <ElTableColumn label={head} headerAlign={headAlign} prop={name} width={width} fixed={fixed} showOverflowTooltip={true}></ElTableColumn>\r\n }\r\n\r\n const renderLinkColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n return <span class=\"cell-linkcolumn\">{row[column.property]}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { thousandsSeparator = true, precision = -1, percentage = false } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={'right'}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n return (\r\n <span class=\"cell-numbercolumn\">\r\n {number2string(row[column.property], thousandsSeparator, precision, percentage === true || percentage === '')}\r\n </span>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const { name, head, headAlign, width, fixed, sourceFormat, format = 'YYYYMMDDHHmmss' } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div>{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div>{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div>{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { code } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n let codeName, codeData, codeContent\r\n if (!code) {\r\n codeContent = null\r\n } else if (typeof code === 'string') {\r\n codeName = code\r\n codeData = Throne.getCode(codeName)\r\n codeContent = getSingleCodeContent(codeData.value, cellValue)\r\n } else {\r\n codeData = code\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return <span class=\"cell-singleselect\">{codeContent}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { code } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n let codeName, codeData, codeContent\r\n if (!code) {\r\n codeContent = null\r\n } else if (typeof code === 'string') {\r\n codeName = code\r\n codeData = Throne.getCode(codeName)\r\n codeContent = getMultiCodeContent(codeData.value, cellValue)\r\n } else {\r\n codeData = code\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return <span class=\"cell-multiselect\">{codeContent}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n // { row: any, column: any, $index: number }\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n // { row: any, column: any, $index: number }\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OPagetableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OPagetableColumnLink') {\r\n return renderLinkColumn(c)\r\n } else if (c.type === 'OPagetableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OPagetableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OPagetableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OPagetableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OPagetableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OPagetableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OPagetableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OPagetable不能正确渲染'${c.type.name}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <div class=\"pagetable-wrapper\">\r\n <ElTable\r\n border\r\n ref={elTableRef}\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n\r\n <div class=\"pagination-wrapper\">\r\n <ElPagination\r\n currentPage={pagination.currentPage}\r\n onUpdate:current-page={(e) => {\r\n emit('update:pagination', {\r\n ...pagination,\r\n currentPage: e,\r\n })\r\n }}\r\n pageSize={pagination.pageSize}\r\n pageSizes={pagination.pageSizes}\r\n onUpdate:page-size={(e) => {\r\n emit('update:pagination', {\r\n ...pagination,\r\n pageSize: e,\r\n })\r\n }}\r\n total={pagination.total}\r\n layout=\"total, ->, sizes, prev, pager, next, jumper\"\r\n size={size}\r\n ></ElPagination>\r\n </div>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnIndexProps = () => ({})\r\n\r\nexport type PagetableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnIndex',\r\n inheritAttrs: false,\r\n props: pagetableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnStringProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnString',\r\n inheritAttrs: false,\r\n props: pagetableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnLinkProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnLink',\r\n inheritAttrs: false,\r\n props: pagetableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, numberType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnNumberProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n\r\n thousandsSeparator: booleanType(true),\r\n precision: numberType(-1),\r\n percentage: booleanType(false),\r\n})\r\n\r\nexport type PagetableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnNumber',\r\n inheritAttrs: false,\r\n props: pagetableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnDateProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n\r\n // Date\r\n format: stringType(),\r\n sourceFormat: stringType(),\r\n})\r\n\r\nexport type PagetableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnDate',\r\n inheritAttrs: false,\r\n props: pagetableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnSingleselectProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n\r\n code: someType<string | { value: string; content: string }[]>([String, Array]),\r\n})\r\n\r\nexport type PagetableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: pagetableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnMultiselectProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n\r\n code: someType<string | { value: string; content: string }[]>([String, Array]),\r\n})\r\n\r\nexport type PagetableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: pagetableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, CustomSlotsType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnButtongroupProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: pagetableColumnButtongroupProps(),\r\n slots: Object as CustomSlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElButton } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableCellButtonProps = () => ({\r\n type: stringType(),\r\n})\r\n\r\nexport type PagetableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableCellButton',\r\n inheritAttrs: false,\r\n props: pagetableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElButton } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumngroupProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n})\r\n\r\nexport type PagetableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumngroup',\r\n inheritAttrs: false,\r\n props: pagetableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, CustomSlotsType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnDiyProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnDiy',\r\n inheritAttrs: false,\r\n props: pagetableColumnDiyProps(),\r\n slots: Object as CustomSlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Pagetable from './Pagetable'\r\nimport PagetableColumnIndex from './columns/PagetableColumnIndex'\r\nimport PagetableColumnString from './columns/PagetableColumnString'\r\nimport PagetableColumnLink from './columns/PagetableColumnLink'\r\nimport PagetableColumnNumber from './columns/PagetableColumnNumber'\r\nimport PagetableColumnDate from './columns/PagetableColumnDate'\r\nimport PagetableColumnSingleselect from './columns/PagetableColumnSingleselect'\r\nimport PagetableColumnMultiselect from './columns/PagetableColumnMultiselect'\r\nimport PagetableColumnButtongroup from './columns/PagetableColumnButtongroup'\r\nimport PagetableCellButton from './columns/PagetableCellButton'\r\nimport PagetableColumngroup from './columns/PagetableColumngroup'\r\nimport PagetableColumnDiy from './columns/PagetableColumnDiy'\r\n\r\nexport type { PagetableProps } from './Pagetable'\r\n\r\nexport default withInstall<\r\n typeof Pagetable,\r\n {\r\n PagetableColumnIndex: typeof PagetableColumnIndex\r\n PagetableColumnString: typeof PagetableColumnString\r\n PagetableColumnLink: typeof PagetableColumnLink\r\n PagetableColumnNumber: typeof PagetableColumnNumber\r\n PagetableColumnDate: typeof PagetableColumnDate\r\n PagetableColumnSingleselect: typeof PagetableColumnSingleselect\r\n PagetableColumnMultiselect: typeof PagetableColumnMultiselect\r\n PagetableColumnButtongroup: typeof PagetableColumnButtongroup\r\n PagetableCellButton: typeof PagetableCellButton\r\n PagetableColumngroup: typeof PagetableColumngroup\r\n PagetableColumnDiy: typeof PagetableColumnDiy\r\n }\r\n>(Pagetable, {\r\n PagetableColumnIndex,\r\n PagetableColumnString,\r\n PagetableColumnLink,\r\n PagetableColumnNumber,\r\n PagetableColumnDate,\r\n PagetableColumnSingleselect,\r\n PagetableColumnMultiselect,\r\n PagetableColumnButtongroup,\r\n PagetableCellButton,\r\n PagetableColumngroup,\r\n PagetableColumnDiy,\r\n})\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","pagetableProps","data","arrayType","pagination","objectType","showRowNumber","booleanType","selectionMode","currentRowMode","size","stringType","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","clearSelection","value","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","currentPage","pageSize","renderSelectionColumn","renderStringColumn","column","head","headAlign","width","fixed","renderLinkColumn","default","scope","row","property","renderNumberColumn","thousandsSeparator","precision","percentage","number2string","renderDateColumn","sourceFormat","format","cellValue","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","code","codeName","codeData","codeContent","Throne","getCode","getSingleCodeContent","renderMultiSelectColumn","getMultiCodeContent","renderButtongroupColumn","children","rowData","rowIndex","$index","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","map","c","type","OrionError","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","ElPagination","e","pageSizes","total","pagetableColumnIndexProps","pagetableColumnStringProps","someType","Boolean","String","pagetableColumnLinkProps","pagetableColumnNumberProps","numberType","pagetableColumnDateProps","pagetableColumnSingleselectProps","Array","pagetableColumnMultiselectProps","pagetableColumnButtongroupProps","pagetableCellButtonProps","handleClick","ElButton","pagetableColumngroupProps","pagetableColumnDiyProps","Pagetable","withInstall","PagetableColumnIndex","PagetableColumnString","PagetableColumnLink","PagetableColumnNumber","PagetableColumnDate","PagetableColumnSingleselect","PagetableColumnMultiselect","PagetableColumnButtongroup","PagetableCellButton","PagetableColumngroup","PagetableColumnDiy"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Pagetable/Pagetable.tsx","../../../src/components/Pagetable/columns/PagetableColumnIndex.tsx","../../../src/components/Pagetable/columns/PagetableColumnString.tsx","../../../src/components/Pagetable/columns/PagetableColumnLink.tsx","../../../src/components/Pagetable/columns/PagetableColumnNumber.tsx","../../../src/components/Pagetable/columns/PagetableColumnDate.tsx","../../../src/components/Pagetable/columns/PagetableColumnSingleselect.tsx","../../../src/components/Pagetable/columns/PagetableColumnMultiselect.tsx","../../../src/components/Pagetable/columns/PagetableColumnButtongroup.tsx","../../../src/components/Pagetable/columns/PagetableCellButton.tsx","../../../src/components/Pagetable/columns/PagetableColumngroup.tsx","../../../src/components/Pagetable/columns/PagetableColumnDiy.tsx","../../../src/components/Pagetable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../_util/classNames'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\nimport type { TableColumnCtx } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\n\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport type { PageTableI } from './interface'\r\n\r\nimport useColumns from './hooks/useColumns'\r\n\r\nimport Throne from '../../Throne'\r\n\r\nexport const pagetableProps = () => ({\r\n data: arrayType<PageTableI['data']>(),\r\n tailData: objectType<Record<string, any>>(),\r\n pagination: objectType<PageTableI['pagination']>(),\r\n showRowNumber: booleanType(true),\r\n selectionMode: booleanType(false),\r\n currentRowMode: booleanType(false),\r\n size: stringType<'' | 'large' | 'default' | 'small'>(),\r\n})\r\n\r\nexport type PagetableProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableProps>>>\r\n\r\ninterface SummaryMethodProps<T = any> {\r\n columns: TableColumnCtx<T>[]\r\n data: T[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'OPagetable',\r\n inheritAttrs: false,\r\n props: pagetableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'update:pagination', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const leafColumns4ShowSummary = computed(() => {\r\n let r = []\r\n if (props.showRowNumber) {\r\n r.push({ type: '__showRowNumber__' })\r\n }\r\n\r\n if (props.selectionMode) {\r\n r.push({ type: '__selectionMode__' })\r\n }\r\n\r\n function flat(columns) {\r\n if (!columns) {\r\n return\r\n }\r\n\r\n for (let i = 0; i < columns.length; i++) {\r\n const c = columns[i]\r\n if (c.type === 'OPagetableColumngroup') {\r\n flat(c.children)\r\n } else {\r\n r.push({\r\n ...c,\r\n })\r\n }\r\n }\r\n }\r\n flat(columns.value)\r\n\r\n return r\r\n })\r\n\r\n const showSummary = computed(() => {\r\n function existTail(columns) {\r\n if (!columns) {\r\n return false\r\n }\r\n\r\n for (let i = 0; i < columns.length; i++) {\r\n const c = columns[i]\r\n if (c.type === 'OPagetableColumngroup') {\r\n if (existTail(c.children)) {\r\n return true\r\n }\r\n } else {\r\n if (c.tail === '' || c.tail === true || c.tail) {\r\n return true\r\n }\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n return existTail(columns.value)\r\n })\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { pagination } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n\r\n const getSummaries = (param: SummaryMethodProps) => {\r\n const tailData = computed(() => props.tailData)\r\n\r\n return leafColumns4ShowSummary.value.map((c) => {\r\n if (c.type === '__showRowNumber__') {\r\n return 'Σ'\r\n }\r\n\r\n if (c.type === '__selectionMode__') {\r\n return\r\n }\r\n\r\n if (!tailData.value) {\r\n return\r\n }\r\n\r\n const columnName = c.name\r\n const columnTail = c.tail\r\n\r\n // 没配置 tail\r\n if (columnTail == null) {\r\n return\r\n }\r\n\r\n // 明确不显示 tail\r\n if (columnTail === false) {\r\n return\r\n }\r\n\r\n if (columnTail === '' || columnTail === true) {\r\n if (tailData.value[columnName] != null) {\r\n return tailData.value[columnName]\r\n }\r\n } else if (typeof columnTail === 'string') {\r\n return columnTail.replace('{}', tailData.value[columnName])\r\n } else {\r\n throw new OrionError(`列[${columnName}]的tail属性配置错误,只能是 Boolean、String 类型,当前是[${typeof columnTail}]类型。`)\r\n }\r\n\r\n return\r\n })\r\n }\r\n\r\n const cn = classNames('orion-pagetbale')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return (pagination.currentPage - 1) * pagination.pageSize + index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n return <ElTableColumn label={head} headerAlign={headAlign} prop={name} width={width} fixed={fixed} showOverflowTooltip={true}></ElTableColumn>\r\n }\r\n\r\n const renderLinkColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n return <span class=\"cell-linkcolumn\">{row[column.property]}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { thousandsSeparator = true, precision = -1, percentage = false } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={'right'}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n return (\r\n <span class=\"cell-numbercolumn\">\r\n {number2string(row[column.property], thousandsSeparator, precision, percentage === true || percentage === '')}\r\n </span>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const { name, head, headAlign, width, fixed, sourceFormat, format = 'YYYYMMDDHHmmss' } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div>{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div>{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div>{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { code } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n let codeName, codeData, codeContent\r\n if (!code) {\r\n codeContent = null\r\n } else if (typeof code === 'string') {\r\n codeName = code\r\n codeData = Throne.getCode(codeName)\r\n codeContent = getSingleCodeContent(codeData.value, cellValue)\r\n } else {\r\n codeData = code\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return <span class=\"cell-singleselect\">{codeContent}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n const { code } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n default: (scope) => {\r\n const { row, column } = scope\r\n const cellValue = row[column.property]\r\n\r\n let codeName, codeData, codeContent\r\n if (!code) {\r\n codeContent = null\r\n } else if (typeof code === 'string') {\r\n codeName = code\r\n codeData = Throne.getCode(codeName)\r\n codeContent = getMultiCodeContent(codeData.value, cellValue)\r\n } else {\r\n codeData = code\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return <span class=\"cell-multiselect\">{codeContent}</span>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n // { row: any, column: any, $index: number }\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n // { row: any, column: any, $index: number }\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OPagetableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OPagetableColumnLink') {\r\n return renderLinkColumn(c)\r\n } else if (c.type === 'OPagetableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OPagetableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OPagetableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OPagetableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OPagetableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OPagetableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OPagetableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OPagetable不能正确渲染'${c.type.name}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <div class=\"pagetable-wrapper\">\r\n <ElTable\r\n showSummary={showSummary.value}\r\n summaryMethod={getSummaries}\r\n border\r\n ref={elTableRef}\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n\r\n <div class=\"pagination-wrapper\">\r\n <ElPagination\r\n currentPage={pagination.currentPage}\r\n onUpdate:current-page={(e) => {\r\n emit('update:pagination', {\r\n ...pagination,\r\n currentPage: e,\r\n })\r\n }}\r\n pageSize={pagination.pageSize}\r\n pageSizes={pagination.pageSizes}\r\n onUpdate:page-size={(e) => {\r\n emit('update:pagination', {\r\n ...pagination,\r\n pageSize: e,\r\n })\r\n }}\r\n total={pagination.total}\r\n layout=\"total, ->, sizes, prev, pager, next, jumper\"\r\n size={size}\r\n ></ElPagination>\r\n </div>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnIndexProps = () => ({})\r\n\r\nexport type PagetableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnIndex',\r\n inheritAttrs: false,\r\n props: pagetableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnStringProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnString',\r\n inheritAttrs: false,\r\n props: pagetableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnLinkProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnLink',\r\n inheritAttrs: false,\r\n props: pagetableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, numberType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnNumberProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n\r\n thousandsSeparator: booleanType(true),\r\n precision: numberType(-1),\r\n percentage: booleanType(false),\r\n})\r\n\r\nexport type PagetableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnNumber',\r\n inheritAttrs: false,\r\n props: pagetableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnDateProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n\r\n // Date\r\n format: stringType(),\r\n sourceFormat: stringType(),\r\n})\r\n\r\nexport type PagetableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnDate',\r\n inheritAttrs: false,\r\n props: pagetableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnSingleselectProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n\r\n code: someType<string | { value: string; content: string }[]>([String, Array]),\r\n})\r\n\r\nexport type PagetableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: pagetableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnMultiselectProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n\r\n code: someType<string | { value: string; content: string }[]>([String, Array]),\r\n})\r\n\r\nexport type PagetableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: pagetableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, CustomSlotsType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnButtongroupProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: pagetableColumnButtongroupProps(),\r\n slots: Object as CustomSlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElButton } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableCellButtonProps = () => ({\r\n type: stringType(),\r\n})\r\n\r\nexport type PagetableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableCellButton',\r\n inheritAttrs: false,\r\n props: pagetableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType } from '../../_util/type'\r\nimport { ElButton } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumngroupProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n})\r\n\r\nexport type PagetableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumngroup',\r\n inheritAttrs: false,\r\n props: pagetableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { computed, defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, Plugin, App } from 'vue'\r\nimport classNames from '../../_util/classNames'\r\nimport OrionError from '../../../error/OrionError'\r\nimport { anyType, booleanType, functionType, objectType, someType, stringType, tuple, arrayType, CustomSlotsType } from '../../_util/type'\r\nimport { ElTable, ElTableColumn, ElPagination } from 'element-plus'\r\n\r\nimport type { PageTableI, FixedType } from '../interface'\r\n\r\nexport const pagetableColumnDiyProps = () => ({\r\n head: stringType(),\r\n headAlign: stringType<'left' | 'right' | 'center'>(),\r\n name: stringType(),\r\n width: someType<boolean | string>([Boolean, String]),\r\n fixed: someType<FixedType>([Boolean, String]),\r\n tail: someType<boolean | string>([Boolean, String]),\r\n})\r\n\r\nexport type PagetableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof pagetableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OPagetableColumnDiy',\r\n inheritAttrs: false,\r\n props: pagetableColumnDiyProps(),\r\n slots: Object as CustomSlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Pagetable from './Pagetable'\r\nimport PagetableColumnIndex from './columns/PagetableColumnIndex'\r\nimport PagetableColumnString from './columns/PagetableColumnString'\r\nimport PagetableColumnLink from './columns/PagetableColumnLink'\r\nimport PagetableColumnNumber from './columns/PagetableColumnNumber'\r\nimport PagetableColumnDate from './columns/PagetableColumnDate'\r\nimport PagetableColumnSingleselect from './columns/PagetableColumnSingleselect'\r\nimport PagetableColumnMultiselect from './columns/PagetableColumnMultiselect'\r\nimport PagetableColumnButtongroup from './columns/PagetableColumnButtongroup'\r\nimport PagetableCellButton from './columns/PagetableCellButton'\r\nimport PagetableColumngroup from './columns/PagetableColumngroup'\r\nimport PagetableColumnDiy from './columns/PagetableColumnDiy'\r\n\r\nexport type { PagetableProps } from './Pagetable'\r\n\r\nexport default withInstall<\r\n typeof Pagetable,\r\n {\r\n PagetableColumnIndex: typeof PagetableColumnIndex\r\n PagetableColumnString: typeof PagetableColumnString\r\n PagetableColumnLink: typeof PagetableColumnLink\r\n PagetableColumnNumber: typeof PagetableColumnNumber\r\n PagetableColumnDate: typeof PagetableColumnDate\r\n PagetableColumnSingleselect: typeof PagetableColumnSingleselect\r\n PagetableColumnMultiselect: typeof PagetableColumnMultiselect\r\n PagetableColumnButtongroup: typeof PagetableColumnButtongroup\r\n PagetableCellButton: typeof PagetableCellButton\r\n PagetableColumngroup: typeof PagetableColumngroup\r\n PagetableColumnDiy: typeof PagetableColumnDiy\r\n }\r\n>(Pagetable, {\r\n PagetableColumnIndex,\r\n PagetableColumnString,\r\n PagetableColumnLink,\r\n PagetableColumnNumber,\r\n PagetableColumnDate,\r\n PagetableColumnSingleselect,\r\n PagetableColumnMultiselect,\r\n PagetableColumnButtongroup,\r\n PagetableCellButton,\r\n PagetableColumngroup,\r\n PagetableColumnDiy,\r\n})\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","pagetableProps","data","arrayType","tailData","objectType","pagination","showRowNumber","booleanType","selectionMode","currentRowMode","size","stringType","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","leafColumns4ShowSummary","r","push","type","flat","i","length","c","children","value","showSummary","existTail","tail","clearSelection","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","getSummaries","param","map","columnName","columnTail","replace","OrionError","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","currentPage","pageSize","renderSelectionColumn","renderStringColumn","column","head","headAlign","width","fixed","renderLinkColumn","default","scope","row","property","renderNumberColumn","thousandsSeparator","precision","percentage","number2string","renderDateColumn","sourceFormat","format","cellValue","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","code","codeName","codeData","codeContent","Throne","getCode","getSingleCodeContent","renderMultiSelectColumn","getMultiCodeContent","renderButtongroupColumn","rowData","rowIndex","$index","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","ElPagination","e","pageSizes","total","pagetableColumnIndexProps","pagetableColumnStringProps","someType","Boolean","String","pagetableColumnLinkProps","pagetableColumnNumberProps","numberType","pagetableColumnDateProps","pagetableColumnSingleselectProps","Array","pagetableColumnMultiselectProps","pagetableColumnButtongroupProps","pagetableCellButtonProps","handleClick","ElButton","pagetableColumngroupProps","pagetableColumnDiyProps","Pagetable","withInstall","PagetableColumnIndex","PagetableColumnString","PagetableColumnLink","PagetableColumnNumber","PagetableColumnDate","PagetableColumnSingleselect","PagetableColumnMultiselect","PagetableColumnButtongroup","PagetableCellButton","PagetableColumngroup","PagetableColumnDiy"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sources":["../../../src/components/_util/arrays.ts"],"sourcesContent":["export const unique = <T>(arr: T[]) => [...new Set(arr)]\n\ntype Many<T> = T | ReadonlyArray<T>\n// TODO: rename to `ensureArray`\n/** like `_.castArray`, except falsy value returns empty array. */\nexport const castArray = <T>(arr: Many<T>): T[] => {\n if (!arr && (arr as any) !== 0) return []\n return Array.isArray(arr) ? arr : [arr]\n}\n\n// TODO: remove import alias\n// avoid naming conflicts\nexport { castArray as ensureArray } from 'lodash-unified'\n"],"names":["unique","arr","castArray"],"mappings":";AAAa,MAAAA,IAAS,CAAIC,MAAa,CAAC,GAAG,IAAI,IAAIA,CAAG,CAAC,GAK1CC,IAAY,CAAID,MACvB,CAACA,KAAQA,MAAgB,IAAU,CAAA,IAChC,MAAM,QAAQA,CAAG,IAAIA,IAAM,CAACA,CAAG;"}
1
+ {"version":3,"file":"arrays.js","sources":["../../../src/components/_util/arrays.ts"],"sourcesContent":["export const unique = <T>(arr: T[]) => [...new Set(arr)]\r\n\r\ntype Many<T> = T | ReadonlyArray<T>\r\n// TODO: rename to `ensureArray`\r\n/** like `_.castArray`, except falsy value returns empty array. */\r\nexport const castArray = <T>(arr: Many<T>): T[] => {\r\n if (!arr && (arr as any) !== 0) return []\r\n return Array.isArray(arr) ? arr : [arr]\r\n}\r\n\r\n// TODO: remove import alias\r\n// avoid naming conflicts\r\nexport { castArray as ensureArray } from 'lodash-unified'\r\n"],"names":["unique","arr","castArray"],"mappings":";AAAa,MAAAA,IAAS,CAAIC,MAAa,CAAC,GAAG,IAAI,IAAIA,CAAG,CAAC,GAK1CC,IAAY,CAAID,MACvB,CAACA,KAAQA,MAAgB,IAAU,CAAA,IAChC,MAAM,QAAQA,CAAG,IAAIA,IAAM,CAACA,CAAG;"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sources":["../../../src/components/_util/browser.ts"],"sourcesContent":["import { isClient, isIOS } from '@vueuse/core'\n\nexport const isFirefox = (): boolean =>\n isClient && /firefox/i.test(window.navigator.userAgent)\n\nexport { isClient, isIOS }\n"],"names":["isFirefox","isClient"],"mappings":";;AAEO,MAAMA,IAAY,MACvBC,KAAY,WAAW,KAAK,OAAO,UAAU,SAAS;"}
1
+ {"version":3,"file":"browser.js","sources":["../../../src/components/_util/browser.ts"],"sourcesContent":["import { isClient, isIOS } from '@vueuse/core'\r\n\r\nexport const isFirefox = (): boolean =>\r\n isClient && /firefox/i.test(window.navigator.userAgent)\r\n\r\nexport { isClient, isIOS }\r\n"],"names":["isFirefox","isClient"],"mappings":";;AAEO,MAAMA,IAAY,MACvBC,KAAY,WAAW,KAAK,OAAO,UAAU,SAAS;"}
@@ -1 +1 @@
1
- {"version":3,"file":"aria.js","sources":["../../../../src/components/_util/dom/aria.ts"],"sourcesContent":["const FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\n\n/**\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\n */\nexport const isVisible = (element: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return true\n const computed = getComputedStyle(element)\n // element.offsetParent won't work on fix positioned\n // WARNING: potential issue here, going to need some expert advices on this issue\n return computed.position === 'fixed' ? false : element.offsetParent !== null\n}\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n return Array.from(\n element.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENT_SELECTORS)\n ).filter((item: HTMLElement) => isFocusable(item) && isVisible(item))\n}\n\n/**\n * @desc Determine if target element is focusable\n * @param element {HTMLElement}\n * @returns {Boolean} true if it is focusable\n */\nexport const isFocusable = (element: HTMLElement): boolean => {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n // HTMLButtonElement has disabled\n if ((element as HTMLButtonElement).disabled) {\n return false\n }\n\n switch (element.nodeName) {\n case 'A': {\n // casting current element to Specific HTMLElement in order to be more type precise\n return (\n !!(element as HTMLAnchorElement).href &&\n (element as HTMLAnchorElement).rel !== 'ignore'\n )\n }\n case 'INPUT': {\n return !(\n (element as HTMLInputElement).type === 'hidden' ||\n (element as HTMLInputElement).type === 'file'\n )\n }\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n * The node to attempt to focus on.\n * @returns\n * true if element is focused.\n */\nexport const attemptFocus = (element: HTMLElement): boolean => {\n if (!isFocusable(element)) {\n return false\n }\n // Remove the old try catch block since there will be no error to be thrown\n element.focus?.()\n return document.activeElement === element\n}\n\n/**\n * Trigger an event\n * mouseenter, mouseleave, mouseover, keyup, change, click, etc.\n * @param {HTMLElement} elm\n * @param {String} name\n * @param {*} opts\n */\nexport const triggerEvent = function (\n elm: HTMLElement,\n name: string,\n ...opts: Array<boolean>\n): HTMLElement {\n let eventName: string\n\n if (name.includes('mouse') || name.includes('click')) {\n eventName = 'MouseEvents'\n } else if (name.includes('key')) {\n eventName = 'KeyboardEvent'\n } else {\n eventName = 'HTMLEvents'\n }\n const evt = document.createEvent(eventName)\n\n evt.initEvent(name, ...opts)\n elm.dispatchEvent(evt)\n return elm\n}\n\nexport const isLeaf = (el: HTMLElement) => !el.getAttribute('aria-owns')\n\nexport const getSibling = (\n el: HTMLElement,\n distance: number,\n elClass: string\n) => {\n const { parentNode } = el\n if (!parentNode) return null\n const siblings = parentNode.querySelectorAll(elClass)\n const index = Array.prototype.indexOf.call(siblings, el)\n return siblings[index + distance] || null\n}\n\nexport const focusNode = (el: HTMLElement) => {\n if (!el) return\n el.focus()\n !isLeaf(el) && el.click()\n}\n"],"names":["FOCUSABLE_ELEMENT_SELECTORS","isVisible","element","obtainAllFocusableElements","item","isFocusable","attemptFocus","_a","triggerEvent","elm","name","opts","eventName","evt","isLeaf","el","getSibling","distance","elClass","parentNode","siblings","index","focusNode"],"mappings":"AAAA,MAAMA,IAA8B,8KAKvBC,IAAY,CAACC,MACpB,QAAQ,IAAI,aAAa,SAAe,KAC3B,iBAAiBA,CAAO,EAGzB,aAAa,UAAU,KAAQA,EAAQ,iBAAiB,MAG7DC,IAA6B,CACxCD,MAEO,MAAM;AAAA,EACXA,EAAQ,iBAA8BF,CAA2B;AAAA,EACjE,OAAO,CAACI,MAAsBC,EAAYD,CAAI,KAAKH,EAAUG,CAAI,CAAC,GAQzDC,IAAc,CAACH,MAAkC;AAE1D,MAAAA,EAAQ,WAAW,KAClBA,EAAQ,aAAa,KAAKA,EAAQ,aAAa,UAAU,MAAM;AAEzD,WAAA;AAGT,MAAKA,EAA8B;AAC1B,WAAA;AAGT,UAAQA,EAAQ,UAAU;AAAA,IACxB,KAAK;AAEH,aACE,CAAC,CAAEA,EAA8B,QAChCA,EAA8B,QAAQ;AAAA,IAG3C,KAAK;AACH,aAAO,EACJA,EAA6B,SAAS,YACtCA,EAA6B,SAAS;AAAA,IAG3C,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,IAET;AACS,aAAA;AAAA,EAEX;AACF,GASaI,IAAe,CAACJ,MAAkC;AAtE/D,MAAAK;AAuEM,SAACF,EAAYH,CAAO,MAIxBK,IAAAL,EAAQ,UAAR,QAAAK,EAAA,KAAAL,IACO,SAAS,kBAAkBA,KAJzB;AAKX,GASaM,IAAe,SAC1BC,GACAC,MACGC,GACU;AACT,MAAAC;AAEJ,EAAIF,EAAK,SAAS,OAAO,KAAKA,EAAK,SAAS,OAAO,IACrCE,IAAA,gBACHF,EAAK,SAAS,KAAK,IAChBE,IAAA,kBAEAA,IAAA;AAER,QAAAC,IAAM,SAAS,YAAYD,CAAS;AAEtC,SAAAC,EAAA,UAAUH,GAAM,GAAGC,CAAI,GAC3BF,EAAI,cAAcI,CAAG,GACdJ;AACT,GAEaK,IAAS,CAACC,MAAoB,CAACA,EAAG,aAAa,WAAW,GAE1DC,IAAa,CACxBD,GACAE,GACAC,MACG;AACG,QAAA,EAAE,YAAAC,EAAe,IAAAJ;AACnB,MAAA,CAACI,EAAmB,QAAA;AAClB,QAAAC,IAAWD,EAAW,iBAAiBD,CAAO,GAC9CG,IAAQ,MAAM,UAAU,QAAQ,KAAKD,GAAUL,CAAE;AAChD,SAAAK,EAASC,IAAQJ,CAAQ,KAAK;AACvC,GAEaK,IAAY,CAACP,MAAoB;AAC5C,EAAKA,MACLA,EAAG,MAAM,GACT,CAACD,EAAOC,CAAE,KAAKA,EAAG,MAAM;AAC1B;"}
1
+ {"version":3,"file":"aria.js","sources":["../../../../src/components/_util/dom/aria.ts"],"sourcesContent":["const FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\r\n\r\n/**\r\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\r\n */\r\nexport const isVisible = (element: HTMLElement) => {\r\n if (process.env.NODE_ENV === 'test') return true\r\n const computed = getComputedStyle(element)\r\n // element.offsetParent won't work on fix positioned\r\n // WARNING: potential issue here, going to need some expert advices on this issue\r\n return computed.position === 'fixed' ? false : element.offsetParent !== null\r\n}\r\n\r\nexport const obtainAllFocusableElements = (\r\n element: HTMLElement\r\n): HTMLElement[] => {\r\n return Array.from(\r\n element.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENT_SELECTORS)\r\n ).filter((item: HTMLElement) => isFocusable(item) && isVisible(item))\r\n}\r\n\r\n/**\r\n * @desc Determine if target element is focusable\r\n * @param element {HTMLElement}\r\n * @returns {Boolean} true if it is focusable\r\n */\r\nexport const isFocusable = (element: HTMLElement): boolean => {\r\n if (\r\n element.tabIndex > 0 ||\r\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\r\n ) {\r\n return true\r\n }\r\n // HTMLButtonElement has disabled\r\n if ((element as HTMLButtonElement).disabled) {\r\n return false\r\n }\r\n\r\n switch (element.nodeName) {\r\n case 'A': {\r\n // casting current element to Specific HTMLElement in order to be more type precise\r\n return (\r\n !!(element as HTMLAnchorElement).href &&\r\n (element as HTMLAnchorElement).rel !== 'ignore'\r\n )\r\n }\r\n case 'INPUT': {\r\n return !(\r\n (element as HTMLInputElement).type === 'hidden' ||\r\n (element as HTMLInputElement).type === 'file'\r\n )\r\n }\r\n case 'BUTTON':\r\n case 'SELECT':\r\n case 'TEXTAREA': {\r\n return true\r\n }\r\n default: {\r\n return false\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @desc Set Attempt to set focus on the current node.\r\n * @param element\r\n * The node to attempt to focus on.\r\n * @returns\r\n * true if element is focused.\r\n */\r\nexport const attemptFocus = (element: HTMLElement): boolean => {\r\n if (!isFocusable(element)) {\r\n return false\r\n }\r\n // Remove the old try catch block since there will be no error to be thrown\r\n element.focus?.()\r\n return document.activeElement === element\r\n}\r\n\r\n/**\r\n * Trigger an event\r\n * mouseenter, mouseleave, mouseover, keyup, change, click, etc.\r\n * @param {HTMLElement} elm\r\n * @param {String} name\r\n * @param {*} opts\r\n */\r\nexport const triggerEvent = function (\r\n elm: HTMLElement,\r\n name: string,\r\n ...opts: Array<boolean>\r\n): HTMLElement {\r\n let eventName: string\r\n\r\n if (name.includes('mouse') || name.includes('click')) {\r\n eventName = 'MouseEvents'\r\n } else if (name.includes('key')) {\r\n eventName = 'KeyboardEvent'\r\n } else {\r\n eventName = 'HTMLEvents'\r\n }\r\n const evt = document.createEvent(eventName)\r\n\r\n evt.initEvent(name, ...opts)\r\n elm.dispatchEvent(evt)\r\n return elm\r\n}\r\n\r\nexport const isLeaf = (el: HTMLElement) => !el.getAttribute('aria-owns')\r\n\r\nexport const getSibling = (\r\n el: HTMLElement,\r\n distance: number,\r\n elClass: string\r\n) => {\r\n const { parentNode } = el\r\n if (!parentNode) return null\r\n const siblings = parentNode.querySelectorAll(elClass)\r\n const index = Array.prototype.indexOf.call(siblings, el)\r\n return siblings[index + distance] || null\r\n}\r\n\r\nexport const focusNode = (el: HTMLElement) => {\r\n if (!el) return\r\n el.focus()\r\n !isLeaf(el) && el.click()\r\n}\r\n"],"names":["FOCUSABLE_ELEMENT_SELECTORS","isVisible","element","obtainAllFocusableElements","item","isFocusable","attemptFocus","_a","triggerEvent","elm","name","opts","eventName","evt","isLeaf","el","getSibling","distance","elClass","parentNode","siblings","index","focusNode"],"mappings":"AAAA,MAAMA,IAA8B,8KAKvBC,IAAY,CAACC,MACpB,QAAQ,IAAI,aAAa,SAAe,KAC3B,iBAAiBA,CAAO,EAGzB,aAAa,UAAU,KAAQA,EAAQ,iBAAiB,MAG7DC,IAA6B,CACxCD,MAEO,MAAM;AAAA,EACXA,EAAQ,iBAA8BF,CAA2B;AAAA,EACjE,OAAO,CAACI,MAAsBC,EAAYD,CAAI,KAAKH,EAAUG,CAAI,CAAC,GAQzDC,IAAc,CAACH,MAAkC;AAE1D,MAAAA,EAAQ,WAAW,KAClBA,EAAQ,aAAa,KAAKA,EAAQ,aAAa,UAAU,MAAM;AAEzD,WAAA;AAGT,MAAKA,EAA8B;AAC1B,WAAA;AAGT,UAAQA,EAAQ,UAAU;AAAA,IACxB,KAAK;AAEH,aACE,CAAC,CAAEA,EAA8B,QAChCA,EAA8B,QAAQ;AAAA,IAG3C,KAAK;AACH,aAAO,EACJA,EAA6B,SAAS,YACtCA,EAA6B,SAAS;AAAA,IAG3C,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,IAET;AACS,aAAA;AAAA,EAEX;AACF,GASaI,IAAe,CAACJ,MAAkC;AAtE/D,MAAAK;AAuEM,SAACF,EAAYH,CAAO,MAIxBK,IAAAL,EAAQ,UAAR,QAAAK,EAAA,KAAAL,IACO,SAAS,kBAAkBA,KAJzB;AAKX,GASaM,IAAe,SAC1BC,GACAC,MACGC,GACU;AACT,MAAAC;AAEJ,EAAIF,EAAK,SAAS,OAAO,KAAKA,EAAK,SAAS,OAAO,IACrCE,IAAA,gBACHF,EAAK,SAAS,KAAK,IAChBE,IAAA,kBAEAA,IAAA;AAER,QAAAC,IAAM,SAAS,YAAYD,CAAS;AAEtC,SAAAC,EAAA,UAAUH,GAAM,GAAGC,CAAI,GAC3BF,EAAI,cAAcI,CAAG,GACdJ;AACT,GAEaK,IAAS,CAACC,MAAoB,CAACA,EAAG,aAAa,WAAW,GAE1DC,IAAa,CACxBD,GACAE,GACAC,MACG;AACG,QAAA,EAAE,YAAAC,EAAe,IAAAJ;AACnB,MAAA,CAACI,EAAmB,QAAA;AAClB,QAAAC,IAAWD,EAAW,iBAAiBD,CAAO,GAC9CG,IAAQ,MAAM,UAAU,QAAQ,KAAKD,GAAUL,CAAE;AAChD,SAAAK,EAASC,IAAQJ,CAAQ,KAAK;AACvC,GAEaK,IAAY,CAACP,MAAoB;AAC5C,EAAKA,MACLA,EAAG,MAAM,GACT,CAACD,EAAOC,CAAE,KAAKA,EAAG,MAAM;AAC1B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sources":["../../../../src/components/_util/dom/element.ts"],"sourcesContent":["import { isString } from '../types'\nimport { isClient } from '../browser'\n\ntype GetElement = <T extends string | HTMLElement | Window | null | undefined>(\n target: T\n) => T extends string ? HTMLElement | null : T\n\nexport const getElement = ((\n target: string | HTMLElement | Window | null | undefined\n) => {\n if (!isClient || target === '') return null\n if (isString(target)) {\n try {\n return document.querySelector<HTMLElement>(target)\n } catch {\n return null\n }\n }\n return target\n}) as GetElement\n"],"names":["getElement","target","isClient","isString"],"mappings":";;;;AAOa,MAAAA,IAAc,CACzBC,MACG;AACH,MAAI,CAACC,KAAYD,MAAW,GAAW,QAAA;AACnC,MAAAE,EAASF,CAAM;AACb,QAAA;AACK,aAAA,SAAS,cAA2BA,CAAM;AAAA,IAAA,QAC3C;AACC,aAAA;AAAA,IACT;AAEK,SAAAA;AACT;"}
1
+ {"version":3,"file":"element.js","sources":["../../../../src/components/_util/dom/element.ts"],"sourcesContent":["import { isString } from '../types'\r\nimport { isClient } from '../browser'\r\n\r\ntype GetElement = <T extends string | HTMLElement | Window | null | undefined>(\r\n target: T\r\n) => T extends string ? HTMLElement | null : T\r\n\r\nexport const getElement = ((\r\n target: string | HTMLElement | Window | null | undefined\r\n) => {\r\n if (!isClient || target === '') return null\r\n if (isString(target)) {\r\n try {\r\n return document.querySelector<HTMLElement>(target)\r\n } catch {\r\n return null\r\n }\r\n }\r\n return target\r\n}) as GetElement\r\n"],"names":["getElement","target","isClient","isString"],"mappings":";;;;AAOa,MAAAA,IAAc,CACzBC,MACG;AACH,MAAI,CAACC,KAAYD,MAAW,GAAW,QAAA;AACnC,MAAAE,EAASF,CAAM;AACb,QAAA;AACK,aAAA,SAAS,cAA2BA,CAAM;AAAA,IAAA,QAC3C;AACC,aAAA;AAAA,IACT;AAEK,SAAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sources":["../../../../src/components/_util/dom/event.ts"],"sourcesContent":["export const composeEventHandlers = <E>(\n theirsHandler?: (event: E) => boolean | void,\n oursHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) => {\n const handleEvent = (event: E) => {\n const shouldPrevent = theirsHandler?.(event)\n\n if (checkForDefaultPrevented === false || !shouldPrevent) {\n return oursHandler?.(event)\n }\n }\n return handleEvent\n}\n\ntype WhenMouseHandler = (e: PointerEvent) => any\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\n return (e: PointerEvent) =>\n e.pointerType === 'mouse' ? handler(e) : undefined\n}\n"],"names":["composeEventHandlers","theirsHandler","oursHandler","checkForDefaultPrevented","event","shouldPrevent","whenMouse","handler","e"],"mappings":"AAAa,MAAAA,IAAuB,CAClCC,GACAC,GACA,EAAE,0BAAAC,IAA2B,GAAS,IAAA,OAElB,CAACC,MAAa;AAC1B,QAAAC,IAAgBJ,KAAA,gBAAAA,EAAgBG;AAElC,MAAAD,MAA6B,MAAS,CAACE;AACzC,WAAOH,KAAA,gBAAAA,EAAcE;AACvB,GAMSE,IAAY,CAACC,MACjB,CAACC,MACNA,EAAE,gBAAgB,UAAUD,EAAQC,CAAC,IAAI;"}
1
+ {"version":3,"file":"event.js","sources":["../../../../src/components/_util/dom/event.ts"],"sourcesContent":["export const composeEventHandlers = <E>(\r\n theirsHandler?: (event: E) => boolean | void,\r\n oursHandler?: (event: E) => void,\r\n { checkForDefaultPrevented = true } = {}\r\n) => {\r\n const handleEvent = (event: E) => {\r\n const shouldPrevent = theirsHandler?.(event)\r\n\r\n if (checkForDefaultPrevented === false || !shouldPrevent) {\r\n return oursHandler?.(event)\r\n }\r\n }\r\n return handleEvent\r\n}\r\n\r\ntype WhenMouseHandler = (e: PointerEvent) => any\r\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\r\n return (e: PointerEvent) =>\r\n e.pointerType === 'mouse' ? handler(e) : undefined\r\n}\r\n"],"names":["composeEventHandlers","theirsHandler","oursHandler","checkForDefaultPrevented","event","shouldPrevent","whenMouse","handler","e"],"mappings":"AAAa,MAAAA,IAAuB,CAClCC,GACAC,GACA,EAAE,0BAAAC,IAA2B,GAAS,IAAA,OAElB,CAACC,MAAa;AAC1B,QAAAC,IAAgBJ,KAAA,gBAAAA,EAAgBG;AAElC,MAAAD,MAA6B,MAAS,CAACE;AACzC,WAAOH,KAAA,gBAAAA,EAAcE;AACvB,GAMSE,IAAY,CAACC,MACjB,CAACC,MACNA,EAAE,gBAAgB,UAAUD,EAAQC,CAAC,IAAI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sources":["../../../../src/components/_util/dom/position.ts"],"sourcesContent":["import { isClient } from '../browser'\n\nexport const isInContainer = (\n el?: Element,\n container?: Element | Window\n): boolean => {\n if (!isClient || !el || !container) return false\n\n const elRect = el.getBoundingClientRect()\n\n let containerRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'right'>\n if (container instanceof Element) {\n containerRect = container.getBoundingClientRect()\n } else {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0,\n }\n }\n return (\n elRect.top < containerRect.bottom &&\n elRect.bottom > containerRect.top &&\n elRect.right > containerRect.left &&\n elRect.left < containerRect.right\n )\n}\n\nexport const getOffsetTop = (el: HTMLElement) => {\n let offset = 0\n let parent = el\n\n while (parent) {\n offset += parent.offsetTop\n parent = parent.offsetParent as HTMLElement\n }\n\n return offset\n}\n\nexport const getOffsetTopDistance = (\n el: HTMLElement,\n containerEl: HTMLElement\n) => {\n return Math.abs(getOffsetTop(el) - getOffsetTop(containerEl))\n}\n\nexport const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type === 'touchend') {\n clientY = (event as TouchEvent).changedTouches[0].clientY\n clientX = (event as TouchEvent).changedTouches[0].clientX\n } else if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n}\n"],"names":["isInContainer","el","container","isClient","elRect","containerRect","getOffsetTop","offset","parent","getOffsetTopDistance","containerEl","getClientXY","event","clientX","clientY"],"mappings":";AAEa,MAAAA,IAAgB,CAC3BC,GACAC,MACY;AACZ,MAAI,CAACC,KAAY,CAACF,KAAM,CAACC,EAAkB,QAAA;AAErC,QAAAE,IAASH,EAAG;AAEd,MAAAI;AACJ,SAAIH,aAAqB,UACvBG,IAAgBH,EAAU,0BAEVG,IAAA;AAAA,IACd,KAAK;AAAA,IACL,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,MAAM;AAAA,EAAA,GAIRD,EAAO,MAAMC,EAAc,UAC3BD,EAAO,SAASC,EAAc,OAC9BD,EAAO,QAAQC,EAAc,QAC7BD,EAAO,OAAOC,EAAc;AAEhC,GAEaC,IAAe,CAACL,MAAoB;AAC/C,MAAIM,IAAS,GACTC,IAASP;AAEb,SAAOO;AACL,IAAAD,KAAUC,EAAO,WACjBA,IAASA,EAAO;AAGX,SAAAD;AACT,GAEaE,IAAuB,CAClCR,GACAS,MAEO,KAAK,IAAIJ,EAAaL,CAAE,IAAIK,EAAaI,CAAW,CAAC,GAGjDC,IAAc,CAACC,MAAmC;AACzD,MAAAC,GACAC;AACA,SAAAF,EAAM,SAAS,cACNE,IAAAF,EAAqB,eAAe,CAAC,EAAE,SACvCC,IAAAD,EAAqB,eAAe,CAAC,EAAE,WACzCA,EAAM,KAAK,WAAW,OAAO,KAC3BE,IAAAF,EAAqB,QAAQ,CAAC,EAAE,SAChCC,IAAAD,EAAqB,QAAQ,CAAC,EAAE,YAE3CE,IAAWF,EAAqB,SAChCC,IAAWD,EAAqB,UAE3B;AAAA,IACL,SAAAC;AAAA,IACA,SAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"position.js","sources":["../../../../src/components/_util/dom/position.ts"],"sourcesContent":["import { isClient } from '../browser'\r\n\r\nexport const isInContainer = (\r\n el?: Element,\r\n container?: Element | Window\r\n): boolean => {\r\n if (!isClient || !el || !container) return false\r\n\r\n const elRect = el.getBoundingClientRect()\r\n\r\n let containerRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'right'>\r\n if (container instanceof Element) {\r\n containerRect = container.getBoundingClientRect()\r\n } else {\r\n containerRect = {\r\n top: 0,\r\n right: window.innerWidth,\r\n bottom: window.innerHeight,\r\n left: 0,\r\n }\r\n }\r\n return (\r\n elRect.top < containerRect.bottom &&\r\n elRect.bottom > containerRect.top &&\r\n elRect.right > containerRect.left &&\r\n elRect.left < containerRect.right\r\n )\r\n}\r\n\r\nexport const getOffsetTop = (el: HTMLElement) => {\r\n let offset = 0\r\n let parent = el\r\n\r\n while (parent) {\r\n offset += parent.offsetTop\r\n parent = parent.offsetParent as HTMLElement\r\n }\r\n\r\n return offset\r\n}\r\n\r\nexport const getOffsetTopDistance = (\r\n el: HTMLElement,\r\n containerEl: HTMLElement\r\n) => {\r\n return Math.abs(getOffsetTop(el) - getOffsetTop(containerEl))\r\n}\r\n\r\nexport const getClientXY = (event: MouseEvent | TouchEvent) => {\r\n let clientX: number\r\n let clientY: number\r\n if (event.type === 'touchend') {\r\n clientY = (event as TouchEvent).changedTouches[0].clientY\r\n clientX = (event as TouchEvent).changedTouches[0].clientX\r\n } else if (event.type.startsWith('touch')) {\r\n clientY = (event as TouchEvent).touches[0].clientY\r\n clientX = (event as TouchEvent).touches[0].clientX\r\n } else {\r\n clientY = (event as MouseEvent).clientY\r\n clientX = (event as MouseEvent).clientX\r\n }\r\n return {\r\n clientX,\r\n clientY,\r\n }\r\n}\r\n"],"names":["isInContainer","el","container","isClient","elRect","containerRect","getOffsetTop","offset","parent","getOffsetTopDistance","containerEl","getClientXY","event","clientX","clientY"],"mappings":";AAEa,MAAAA,IAAgB,CAC3BC,GACAC,MACY;AACZ,MAAI,CAACC,KAAY,CAACF,KAAM,CAACC,EAAkB,QAAA;AAErC,QAAAE,IAASH,EAAG;AAEd,MAAAI;AACJ,SAAIH,aAAqB,UACvBG,IAAgBH,EAAU,0BAEVG,IAAA;AAAA,IACd,KAAK;AAAA,IACL,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,MAAM;AAAA,EAAA,GAIRD,EAAO,MAAMC,EAAc,UAC3BD,EAAO,SAASC,EAAc,OAC9BD,EAAO,QAAQC,EAAc,QAC7BD,EAAO,OAAOC,EAAc;AAEhC,GAEaC,IAAe,CAACL,MAAoB;AAC/C,MAAIM,IAAS,GACTC,IAASP;AAEb,SAAOO;AACL,IAAAD,KAAUC,EAAO,WACjBA,IAASA,EAAO;AAGX,SAAAD;AACT,GAEaE,IAAuB,CAClCR,GACAS,MAEO,KAAK,IAAIJ,EAAaL,CAAE,IAAIK,EAAaI,CAAW,CAAC,GAGjDC,IAAc,CAACC,MAAmC;AACzD,MAAAC,GACAC;AACA,SAAAF,EAAM,SAAS,cACNE,IAAAF,EAAqB,eAAe,CAAC,EAAE,SACvCC,IAAAD,EAAqB,eAAe,CAAC,EAAE,WACzCA,EAAM,KAAK,WAAW,OAAO,KAC3BE,IAAAF,EAAqB,QAAQ,CAAC,EAAE,SAChCC,IAAAD,EAAqB,QAAQ,CAAC,EAAE,YAE3CE,IAAWF,EAAqB,SAChCC,IAAWD,EAAqB,UAE3B;AAAA,IACL,SAAAC;AAAA,IACA,SAAAC;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sources":["../../../../src/components/_util/dom/scroll.ts"],"sourcesContent":["import { isClient } from '../browser'\nimport { easeInOutCubic } from '../easings'\nimport { isWindow } from '../types'\nimport { cAF, rAF } from '../raf'\nimport { getStyle } from './style'\n\nexport const isScroll = (el: HTMLElement, isVertical?: boolean): boolean => {\n if (!isClient) return false\n\n const key = (\n {\n undefined: 'overflow',\n true: 'overflow-y',\n false: 'overflow-x',\n } as const\n )[String(isVertical)]!\n const overflow = getStyle(el, key)\n return ['scroll', 'auto', 'overlay'].some((s) => overflow.includes(s))\n}\n\nexport const getScrollContainer = (\n el: HTMLElement,\n isVertical?: boolean\n): Window | HTMLElement | undefined => {\n if (!isClient) return\n\n let parent: HTMLElement = el\n while (parent) {\n if ([window, document, document.documentElement].includes(parent))\n return window\n\n if (isScroll(parent, isVertical)) return parent\n\n parent = parent.parentNode as HTMLElement\n }\n\n return parent\n}\n\nlet scrollBarWidth: number\nexport const getScrollBarWidth = (namespace: string): number => {\n if (!isClient) return 0\n if (scrollBarWidth !== undefined) return scrollBarWidth\n\n const outer = document.createElement('div')\n outer.className = `${namespace}-scrollbar__wrap`\n outer.style.visibility = 'hidden'\n outer.style.width = '100px'\n outer.style.position = 'absolute'\n outer.style.top = '-9999px'\n document.body.appendChild(outer)\n\n const widthNoScroll = outer.offsetWidth\n outer.style.overflow = 'scroll'\n\n const inner = document.createElement('div')\n inner.style.width = '100%'\n outer.appendChild(inner)\n\n const widthWithScroll = inner.offsetWidth\n outer.parentNode?.removeChild(outer)\n scrollBarWidth = widthNoScroll - widthWithScroll\n\n return scrollBarWidth\n}\n\n/**\n * Scroll with in the container element, positioning the **selected** element at the top\n * of the container\n */\nexport function scrollIntoView(\n container: HTMLElement,\n selected: HTMLElement\n): void {\n if (!isClient) return\n\n if (!selected) {\n container.scrollTop = 0\n return\n }\n\n const offsetParents: HTMLElement[] = []\n let pointer = selected.offsetParent\n while (\n pointer !== null &&\n container !== pointer &&\n container.contains(pointer)\n ) {\n offsetParents.push(pointer as HTMLElement)\n pointer = (pointer as HTMLElement).offsetParent\n }\n const top =\n selected.offsetTop +\n offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0)\n const bottom = top + selected.offsetHeight\n const viewRectTop = container.scrollTop\n const viewRectBottom = viewRectTop + container.clientHeight\n\n if (top < viewRectTop) {\n container.scrollTop = top\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight\n }\n}\n\nexport function animateScrollTo(\n container: HTMLElement | Window,\n from: number,\n to: number,\n duration: number,\n callback?: unknown\n) {\n const startTime = Date.now()\n\n let handle: number | undefined\n const scroll = () => {\n const timestamp = Date.now()\n const time = timestamp - startTime\n const nextScrollTop = easeInOutCubic(\n time > duration ? duration : time,\n from,\n to,\n duration\n )\n\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop)\n } else {\n container.scrollTop = nextScrollTop\n }\n if (time < duration) {\n handle = rAF(scroll)\n } else if (typeof callback === 'function') {\n callback()\n }\n }\n\n scroll()\n\n return () => {\n handle && cAF(handle)\n }\n}\n\nexport const getScrollElement = (\n target: HTMLElement,\n container: HTMLElement | Window\n) => {\n if (isWindow(container)) {\n return target.ownerDocument.documentElement\n }\n return container\n}\n\nexport const getScrollTop = (container: HTMLElement | Window) => {\n if (isWindow(container)) {\n return window.scrollY\n }\n return container.scrollTop\n}\n"],"names":["isScroll","el","isVertical","isClient","key","overflow","getStyle","s","getScrollContainer","parent","scrollBarWidth","getScrollBarWidth","namespace","outer","widthNoScroll","inner","widthWithScroll","_a","scrollIntoView","container","selected","offsetParents","pointer","top","prev","curr","bottom","viewRectTop","viewRectBottom","animateScrollTo","from","to","duration","callback","startTime","handle","scroll","time","nextScrollTop","easeInOutCubic","isWindow","rAF","cAF","getScrollElement","target","getScrollTop"],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sources":["../../../../src/components/_util/dom/scroll.ts"],"sourcesContent":["import { isClient } from '../browser'\r\nimport { easeInOutCubic } from '../easings'\r\nimport { isWindow } from '../types'\r\nimport { cAF, rAF } from '../raf'\r\nimport { getStyle } from './style'\r\n\r\nexport const isScroll = (el: HTMLElement, isVertical?: boolean): boolean => {\r\n if (!isClient) return false\r\n\r\n const key = (\r\n {\r\n undefined: 'overflow',\r\n true: 'overflow-y',\r\n false: 'overflow-x',\r\n } as const\r\n )[String(isVertical)]!\r\n const overflow = getStyle(el, key)\r\n return ['scroll', 'auto', 'overlay'].some((s) => overflow.includes(s))\r\n}\r\n\r\nexport const getScrollContainer = (\r\n el: HTMLElement,\r\n isVertical?: boolean\r\n): Window | HTMLElement | undefined => {\r\n if (!isClient) return\r\n\r\n let parent: HTMLElement = el\r\n while (parent) {\r\n if ([window, document, document.documentElement].includes(parent))\r\n return window\r\n\r\n if (isScroll(parent, isVertical)) return parent\r\n\r\n parent = parent.parentNode as HTMLElement\r\n }\r\n\r\n return parent\r\n}\r\n\r\nlet scrollBarWidth: number\r\nexport const getScrollBarWidth = (namespace: string): number => {\r\n if (!isClient) return 0\r\n if (scrollBarWidth !== undefined) return scrollBarWidth\r\n\r\n const outer = document.createElement('div')\r\n outer.className = `${namespace}-scrollbar__wrap`\r\n outer.style.visibility = 'hidden'\r\n outer.style.width = '100px'\r\n outer.style.position = 'absolute'\r\n outer.style.top = '-9999px'\r\n document.body.appendChild(outer)\r\n\r\n const widthNoScroll = outer.offsetWidth\r\n outer.style.overflow = 'scroll'\r\n\r\n const inner = document.createElement('div')\r\n inner.style.width = '100%'\r\n outer.appendChild(inner)\r\n\r\n const widthWithScroll = inner.offsetWidth\r\n outer.parentNode?.removeChild(outer)\r\n scrollBarWidth = widthNoScroll - widthWithScroll\r\n\r\n return scrollBarWidth\r\n}\r\n\r\n/**\r\n * Scroll with in the container element, positioning the **selected** element at the top\r\n * of the container\r\n */\r\nexport function scrollIntoView(\r\n container: HTMLElement,\r\n selected: HTMLElement\r\n): void {\r\n if (!isClient) return\r\n\r\n if (!selected) {\r\n container.scrollTop = 0\r\n return\r\n }\r\n\r\n const offsetParents: HTMLElement[] = []\r\n let pointer = selected.offsetParent\r\n while (\r\n pointer !== null &&\r\n container !== pointer &&\r\n container.contains(pointer)\r\n ) {\r\n offsetParents.push(pointer as HTMLElement)\r\n pointer = (pointer as HTMLElement).offsetParent\r\n }\r\n const top =\r\n selected.offsetTop +\r\n offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0)\r\n const bottom = top + selected.offsetHeight\r\n const viewRectTop = container.scrollTop\r\n const viewRectBottom = viewRectTop + container.clientHeight\r\n\r\n if (top < viewRectTop) {\r\n container.scrollTop = top\r\n } else if (bottom > viewRectBottom) {\r\n container.scrollTop = bottom - container.clientHeight\r\n }\r\n}\r\n\r\nexport function animateScrollTo(\r\n container: HTMLElement | Window,\r\n from: number,\r\n to: number,\r\n duration: number,\r\n callback?: unknown\r\n) {\r\n const startTime = Date.now()\r\n\r\n let handle: number | undefined\r\n const scroll = () => {\r\n const timestamp = Date.now()\r\n const time = timestamp - startTime\r\n const nextScrollTop = easeInOutCubic(\r\n time > duration ? duration : time,\r\n from,\r\n to,\r\n duration\r\n )\r\n\r\n if (isWindow(container)) {\r\n container.scrollTo(window.pageXOffset, nextScrollTop)\r\n } else {\r\n container.scrollTop = nextScrollTop\r\n }\r\n if (time < duration) {\r\n handle = rAF(scroll)\r\n } else if (typeof callback === 'function') {\r\n callback()\r\n }\r\n }\r\n\r\n scroll()\r\n\r\n return () => {\r\n handle && cAF(handle)\r\n }\r\n}\r\n\r\nexport const getScrollElement = (\r\n target: HTMLElement,\r\n container: HTMLElement | Window\r\n) => {\r\n if (isWindow(container)) {\r\n return target.ownerDocument.documentElement\r\n }\r\n return container\r\n}\r\n\r\nexport const getScrollTop = (container: HTMLElement | Window) => {\r\n if (isWindow(container)) {\r\n return window.scrollY\r\n }\r\n return container.scrollTop\r\n}\r\n"],"names":["isScroll","el","isVertical","isClient","key","overflow","getStyle","s","getScrollContainer","parent","scrollBarWidth","getScrollBarWidth","namespace","outer","widthNoScroll","inner","widthWithScroll","_a","scrollIntoView","container","selected","offsetParents","pointer","top","prev","curr","bottom","viewRectTop","viewRectBottom","animateScrollTo","from","to","duration","callback","startTime","handle","scroll","time","nextScrollTop","easeInOutCubic","isWindow","rAF","cAF","getScrollElement","target","getScrollTop"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/_util/dom/style.ts"],"sourcesContent":["import { isNumber, isObject, isString, isStringNumber } from '../types'\nimport { isClient } from '../browser'\nimport { camelize } from '../strings'\nimport { entriesOf, keysOf } from '../objects'\nimport { debugWarn } from '../error'\nimport type { CSSProperties } from 'vue'\n\nconst SCOPE = 'utils/dom/style'\n\nexport const classNameToArray = (cls = '') =>\n cls.split(' ').filter((item) => !!item.trim())\n\nexport const hasClass = (el: Element, cls: string): boolean => {\n if (!el || !cls) return false\n if (cls.includes(' ')) throw new Error('className should not contain space.')\n return el.classList.contains(cls)\n}\n\nexport const addClass = (el: Element, cls: string) => {\n if (!el || !cls.trim()) return\n el.classList.add(...classNameToArray(cls))\n}\n\nexport const removeClass = (el: Element, cls: string) => {\n if (!el || !cls.trim()) return\n el.classList.remove(...classNameToArray(cls))\n}\n\nexport const getStyle = (\n element: HTMLElement,\n styleName: keyof CSSProperties\n): string => {\n if (!isClient || !element || !styleName) return ''\n\n let key = camelize(styleName)\n if (key === 'float') key = 'cssFloat'\n try {\n const style = (element.style as any)[key]\n if (style) return style\n const computed: any = document.defaultView?.getComputedStyle(element, '')\n return computed ? computed[key] : ''\n } catch {\n return (element.style as any)[key]\n }\n}\n\nexport const setStyle = (\n element: HTMLElement,\n styleName: CSSProperties | keyof CSSProperties,\n value?: string | number\n) => {\n if (!element || !styleName) return\n\n if (isObject(styleName)) {\n entriesOf(styleName).forEach(([prop, value]) =>\n setStyle(element, prop, value)\n )\n } else {\n const key: any = camelize(styleName)\n element.style[key] = value as any\n }\n}\n\nexport const removeStyle = (\n element: HTMLElement,\n style: CSSProperties | keyof CSSProperties\n) => {\n if (!element || !style) return\n\n if (isObject(style)) {\n keysOf(style).forEach((prop) => removeStyle(element, prop))\n } else {\n setStyle(element, style, '')\n }\n}\n\nexport function addUnit(value?: string | number, defaultUnit = 'px') {\n if (!value) return ''\n if (isNumber(value) || isStringNumber(value)) {\n return `${value}${defaultUnit}`\n } else if (isString(value)) {\n return value\n }\n debugWarn(SCOPE, 'binding value must be a string or number')\n}\n"],"names":["SCOPE","classNameToArray","cls","item","hasClass","el","addClass","removeClass","getStyle","element","styleName","isClient","key","camelize","style","computed","_a","setStyle","value","isObject","entriesOf","prop","removeStyle","keysOf","addUnit","defaultUnit","isNumber","isStringNumber","isString","debugWarn"],"mappings":";;;;;AAOA,MAAMA,IAAQ,mBAEDC,IAAmB,CAACC,IAAM,OACrCA,EAAI,MAAM,GAAG,EAAE,OAAO,CAACC,MAAS,CAAC,CAACA,EAAK,MAAM,GAElCC,IAAW,CAACC,GAAaH,MAAyB;AAC7D,MAAI,CAACG,KAAM,CAACH,EAAY,QAAA;AACxB,MAAIA,EAAI,SAAS,GAAG,EAAS,OAAA,IAAI,MAAM,qCAAqC;AACrE,SAAAG,EAAG,UAAU,SAASH,CAAG;AAClC,GAEaI,IAAW,CAACD,GAAaH,MAAgB;AACpD,EAAI,CAACG,KAAM,CAACH,EAAI,KAAQ,KACxBG,EAAG,UAAU,IAAI,GAAGJ,EAAiBC,CAAG,CAAC;AAC3C,GAEaK,IAAc,CAACF,GAAaH,MAAgB;AACvD,EAAI,CAACG,KAAM,CAACH,EAAI,KAAQ,KACxBG,EAAG,UAAU,OAAO,GAAGJ,EAAiBC,CAAG,CAAC;AAC9C,GAEaM,IAAW,CACtBC,GACAC,MACW;;AACX,MAAI,CAACC,KAAY,CAACF,KAAW,CAACC,EAAkB,QAAA;AAE5C,MAAAE,IAAMC,EAASH,CAAS;AACxB,EAAAE,MAAQ,YAAeA,IAAA;AACvB,MAAA;AACI,UAAAE,IAASL,EAAQ,MAAcG,CAAG;AACxC,QAAIE,EAAc,QAAAA;AAClB,UAAMC,KAAgBC,IAAA,SAAS,gBAAT,gBAAAA,EAAsB,iBAAiBP,GAAS;AAC/D,WAAAM,IAAWA,EAASH,CAAG,IAAI;AAAA,EAAA,QAC5B;AACE,WAAAH,EAAQ,MAAcG,CAAG;AAAA,EACnC;AACF,GAEaK,IAAW,CACtBR,GACAC,GACAQ,MACG;AACC,MAAA,GAACT,KAAW,CAACC;AAEb,QAAAS,EAAST,CAAS;AACpB,MAAAU,EAAUV,CAAS,EAAE;AAAA,QAAQ,CAAC,CAACW,GAAMH,CAAK,MACxCD,EAASR,GAASY,GAAMH,CAAK;AAAA,MAAA;AAAA,SAE1B;AACC,YAAAN,IAAWC,EAASH,CAAS;AAC3B,MAAAD,EAAA,MAAMG,CAAG,IAAIM;AAAA,IACvB;AACF,GAEaI,IAAc,CACzBb,GACAK,MACG;AACC,EAAA,CAACL,KAAW,CAACK,MAEbK,EAASL,CAAK,IACTS,EAAAT,CAAK,EAAE,QAAQ,CAACO,MAASC,EAAYb,GAASY,CAAI,CAAC,IAEjDJ,EAAAR,GAASK,GAAO,EAAE;AAE/B;AAEgB,SAAAU,EAAQN,GAAyBO,IAAc,MAAM;AAC/D,MAAA,CAACP,EAAc,QAAA;AACnB,MAAIQ,EAASR,CAAK,KAAKS,EAAeT,CAAK;AAClC,WAAA,GAAGA,CAAK,GAAGO,CAAW;AAC/B,MAAWG,EAASV,CAAK;AAChB,WAAAA;AAET,EAAAW,EAAU7B,GAAO,0CAA0C;AAC7D;"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/_util/dom/style.ts"],"sourcesContent":["import { isNumber, isObject, isString, isStringNumber } from '../types'\r\nimport { isClient } from '../browser'\r\nimport { camelize } from '../strings'\r\nimport { entriesOf, keysOf } from '../objects'\r\nimport { debugWarn } from '../error'\r\nimport type { CSSProperties } from 'vue'\r\n\r\nconst SCOPE = 'utils/dom/style'\r\n\r\nexport const classNameToArray = (cls = '') =>\r\n cls.split(' ').filter((item) => !!item.trim())\r\n\r\nexport const hasClass = (el: Element, cls: string): boolean => {\r\n if (!el || !cls) return false\r\n if (cls.includes(' ')) throw new Error('className should not contain space.')\r\n return el.classList.contains(cls)\r\n}\r\n\r\nexport const addClass = (el: Element, cls: string) => {\r\n if (!el || !cls.trim()) return\r\n el.classList.add(...classNameToArray(cls))\r\n}\r\n\r\nexport const removeClass = (el: Element, cls: string) => {\r\n if (!el || !cls.trim()) return\r\n el.classList.remove(...classNameToArray(cls))\r\n}\r\n\r\nexport const getStyle = (\r\n element: HTMLElement,\r\n styleName: keyof CSSProperties\r\n): string => {\r\n if (!isClient || !element || !styleName) return ''\r\n\r\n let key = camelize(styleName)\r\n if (key === 'float') key = 'cssFloat'\r\n try {\r\n const style = (element.style as any)[key]\r\n if (style) return style\r\n const computed: any = document.defaultView?.getComputedStyle(element, '')\r\n return computed ? computed[key] : ''\r\n } catch {\r\n return (element.style as any)[key]\r\n }\r\n}\r\n\r\nexport const setStyle = (\r\n element: HTMLElement,\r\n styleName: CSSProperties | keyof CSSProperties,\r\n value?: string | number\r\n) => {\r\n if (!element || !styleName) return\r\n\r\n if (isObject(styleName)) {\r\n entriesOf(styleName).forEach(([prop, value]) =>\r\n setStyle(element, prop, value)\r\n )\r\n } else {\r\n const key: any = camelize(styleName)\r\n element.style[key] = value as any\r\n }\r\n}\r\n\r\nexport const removeStyle = (\r\n element: HTMLElement,\r\n style: CSSProperties | keyof CSSProperties\r\n) => {\r\n if (!element || !style) return\r\n\r\n if (isObject(style)) {\r\n keysOf(style).forEach((prop) => removeStyle(element, prop))\r\n } else {\r\n setStyle(element, style, '')\r\n }\r\n}\r\n\r\nexport function addUnit(value?: string | number, defaultUnit = 'px') {\r\n if (!value) return ''\r\n if (isNumber(value) || isStringNumber(value)) {\r\n return `${value}${defaultUnit}`\r\n } else if (isString(value)) {\r\n return value\r\n }\r\n debugWarn(SCOPE, 'binding value must be a string or number')\r\n}\r\n"],"names":["SCOPE","classNameToArray","cls","item","hasClass","el","addClass","removeClass","getStyle","element","styleName","isClient","key","camelize","style","computed","_a","setStyle","value","isObject","entriesOf","prop","removeStyle","keysOf","addUnit","defaultUnit","isNumber","isStringNumber","isString","debugWarn"],"mappings":";;;;;AAOA,MAAMA,IAAQ,mBAEDC,IAAmB,CAACC,IAAM,OACrCA,EAAI,MAAM,GAAG,EAAE,OAAO,CAACC,MAAS,CAAC,CAACA,EAAK,MAAM,GAElCC,IAAW,CAACC,GAAaH,MAAyB;AAC7D,MAAI,CAACG,KAAM,CAACH,EAAY,QAAA;AACxB,MAAIA,EAAI,SAAS,GAAG,EAAS,OAAA,IAAI,MAAM,qCAAqC;AACrE,SAAAG,EAAG,UAAU,SAASH,CAAG;AAClC,GAEaI,IAAW,CAACD,GAAaH,MAAgB;AACpD,EAAI,CAACG,KAAM,CAACH,EAAI,KAAQ,KACxBG,EAAG,UAAU,IAAI,GAAGJ,EAAiBC,CAAG,CAAC;AAC3C,GAEaK,IAAc,CAACF,GAAaH,MAAgB;AACvD,EAAI,CAACG,KAAM,CAACH,EAAI,KAAQ,KACxBG,EAAG,UAAU,OAAO,GAAGJ,EAAiBC,CAAG,CAAC;AAC9C,GAEaM,IAAW,CACtBC,GACAC,MACW;;AACX,MAAI,CAACC,KAAY,CAACF,KAAW,CAACC,EAAkB,QAAA;AAE5C,MAAAE,IAAMC,EAASH,CAAS;AACxB,EAAAE,MAAQ,YAAeA,IAAA;AACvB,MAAA;AACI,UAAAE,IAASL,EAAQ,MAAcG,CAAG;AACxC,QAAIE,EAAc,QAAAA;AAClB,UAAMC,KAAgBC,IAAA,SAAS,gBAAT,gBAAAA,EAAsB,iBAAiBP,GAAS;AAC/D,WAAAM,IAAWA,EAASH,CAAG,IAAI;AAAA,EAAA,QAC5B;AACE,WAAAH,EAAQ,MAAcG,CAAG;AAAA,EACnC;AACF,GAEaK,IAAW,CACtBR,GACAC,GACAQ,MACG;AACC,MAAA,GAACT,KAAW,CAACC;AAEb,QAAAS,EAAST,CAAS;AACpB,MAAAU,EAAUV,CAAS,EAAE;AAAA,QAAQ,CAAC,CAACW,GAAMH,CAAK,MACxCD,EAASR,GAASY,GAAMH,CAAK;AAAA,MAAA;AAAA,SAE1B;AACC,YAAAN,IAAWC,EAASH,CAAS;AAC3B,MAAAD,EAAA,MAAMG,CAAG,IAAIM;AAAA,IACvB;AACF,GAEaI,IAAc,CACzBb,GACAK,MACG;AACC,EAAA,CAACL,KAAW,CAACK,MAEbK,EAASL,CAAK,IACTS,EAAAT,CAAK,EAAE,QAAQ,CAACO,MAASC,EAAYb,GAASY,CAAI,CAAC,IAEjDJ,EAAAR,GAASK,GAAO,EAAE;AAE/B;AAEgB,SAAAU,EAAQN,GAAyBO,IAAc,MAAM;AAC/D,MAAA,CAACP,EAAc,QAAA;AACnB,MAAIQ,EAASR,CAAK,KAAKS,EAAeT,CAAK;AAClC,WAAA,GAAGA,CAAK,GAAGO,CAAW;AAC/B,MAAWG,EAASV,CAAK;AAChB,WAAAA;AAET,EAAAW,EAAU7B,GAAO,0CAA0C;AAC7D;"}
@@ -1 +1 @@
1
- {"version":3,"file":"easings.js","sources":["../../../src/components/_util/easings.ts"],"sourcesContent":["export function easeInOutCubic(t: number, b: number, c: number, d: number) {\n const cc = c - b\n t /= d / 2\n if (t < 1) {\n return (cc / 2) * t * t * t + b\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b\n}\n"],"names":["easeInOutCubic","t","b","c","d","cc"],"mappings":"AAAO,SAASA,EAAeC,GAAWC,GAAWC,GAAWC,GAAW;AACzE,QAAMC,IAAKF,IAAID;AAEf,SADAD,KAAKG,IAAI,GACLH,IAAI,IACEI,IAAK,IAAKJ,IAAIA,IAAIA,IAAIC,IAExBG,IAAK,MAAOJ,KAAK,KAAKA,IAAIA,IAAI,KAAKC;AAC7C;"}
1
+ {"version":3,"file":"easings.js","sources":["../../../src/components/_util/easings.ts"],"sourcesContent":["export function easeInOutCubic(t: number, b: number, c: number, d: number) {\r\n const cc = c - b\r\n t /= d / 2\r\n if (t < 1) {\r\n return (cc / 2) * t * t * t + b\r\n }\r\n return (cc / 2) * ((t -= 2) * t * t + 2) + b\r\n}\r\n"],"names":["easeInOutCubic","t","b","c","d","cc"],"mappings":"AAAO,SAASA,EAAeC,GAAWC,GAAWC,GAAWC,GAAW;AACzE,QAAMC,IAAKF,IAAID;AAEf,SADAD,KAAKG,IAAI,GACLH,IAAI,IACEI,IAAK,IAAKJ,IAAIA,IAAIA,IAAIC,IAExBG,IAAK,MAAOJ,KAAK,KAAKA,IAAIA,IAAI,KAAKC;AAC7C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../../src/components/_util/error.ts"],"sourcesContent":["import { isString } from './types'\n\nclass ElementPlusError extends Error {\n constructor(m: string) {\n super(m)\n this.name = 'ElementPlusError'\n }\n}\n\nexport function throwError(scope: string, m: string): never {\n throw new ElementPlusError(`[${scope}] ${m}`)\n}\n\nexport function debugWarn(err: Error): void\nexport function debugWarn(scope: string, message: string): void\nexport function debugWarn(scope: string | Error, message?: string): void {\n if (process.env.NODE_ENV !== 'production') {\n const error: Error = isString(scope)\n ? new ElementPlusError(`[${scope}] ${message}`)\n : scope\n // eslint-disable-next-line no-console\n console.warn(error)\n }\n}\n"],"names":["ElementPlusError","m","throwError","scope","debugWarn","message","error","isString"],"mappings":";;;AAEA,MAAMA,UAAyB,MAAM;AAAA,EACnC,YAAYC,GAAW;AACrB,UAAMA,CAAC,GACP,KAAK,OAAO;AAAA,EACd;AACF;AAEgB,SAAAC,EAAWC,GAAeF,GAAkB;AAC1D,QAAM,IAAID,EAAiB,IAAIG,CAAK,KAAKF,CAAC,EAAE;AAC9C;AAIgB,SAAAG,EAAUD,GAAuBE,GAAwB;AACnE,MAAA,QAAQ,IAAI,aAAa,cAAc;AACnC,UAAAC,IAAeC,EAASJ,CAAK,IAC/B,IAAIH,EAAiB,IAAIG,CAAK,KAAKE,CAAO,EAAE,IAC5CF;AAEJ,YAAQ,KAAKG,CAAK;AAAA,EACpB;AACF;"}
1
+ {"version":3,"file":"error.js","sources":["../../../src/components/_util/error.ts"],"sourcesContent":["import { isString } from './types'\r\n\r\nclass ElementPlusError extends Error {\r\n constructor(m: string) {\r\n super(m)\r\n this.name = 'ElementPlusError'\r\n }\r\n}\r\n\r\nexport function throwError(scope: string, m: string): never {\r\n throw new ElementPlusError(`[${scope}] ${m}`)\r\n}\r\n\r\nexport function debugWarn(err: Error): void\r\nexport function debugWarn(scope: string, message: string): void\r\nexport function debugWarn(scope: string | Error, message?: string): void {\r\n if (process.env.NODE_ENV !== 'production') {\r\n const error: Error = isString(scope)\r\n ? new ElementPlusError(`[${scope}] ${message}`)\r\n : scope\r\n // eslint-disable-next-line no-console\r\n console.warn(error)\r\n }\r\n}\r\n"],"names":["ElementPlusError","m","throwError","scope","debugWarn","message","error","isString"],"mappings":";;;AAEA,MAAMA,UAAyB,MAAM;AAAA,EACnC,YAAYC,GAAW;AACrB,UAAMA,CAAC,GACP,KAAK,OAAO;AAAA,EACd;AACF;AAEgB,SAAAC,EAAWC,GAAeF,GAAkB;AAC1D,QAAM,IAAID,EAAiB,IAAIG,CAAK,KAAKF,CAAC,EAAE;AAC9C;AAIgB,SAAAG,EAAUD,GAAuBE,GAAwB;AACnE,MAAA,QAAQ,IAAI,aAAa,cAAc;AACnC,UAAAC,IAAeC,EAASJ,CAAK,IAC/B,IAAIH,EAAiB,IAAIG,CAAK,KAAKE,CAAO,EAAE,IAC5CF;AAEJ,YAAQ,KAAKG,CAAK;AAAA,EACpB;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../src/components/_util/i18n.ts"],"sourcesContent":["export const isKorean = (text: string) =>\n /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(text)\n"],"names":["isKorean","text"],"mappings":"AAAO,MAAMA,IAAW,CAACC,MACvB,oCAAoC,KAAKA,CAAI;"}
1
+ {"version":3,"file":"i18n.js","sources":["../../../src/components/_util/i18n.ts"],"sourcesContent":["export const isKorean = (text: string) =>\r\n /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(text)\r\n"],"names":["isKorean","text"],"mappings":"AAAO,MAAMA,IAAW,CAACC,MACvB,oCAAoC,KAAKA,CAAI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"objects.js","sources":["../../../src/components/_util/objects.ts"],"sourcesContent":["import { get, set } from 'lodash-unified'\nimport type { Entries } from 'type-fest'\nimport type { Arrayable } from '.'\n\nexport const keysOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>\nexport const entriesOf = <T>(arr: T) => Object.entries(arr) as Entries<T>\nexport { hasOwn } from '@vue/shared'\n\nexport const getProp = <T = any>(\n obj: Record<string, any>,\n path: Arrayable<string>,\n defaultValue?: any\n): { value: T } => {\n return {\n get value() {\n return get(obj, path, defaultValue)\n },\n set value(val: any) {\n set(obj, path, val)\n },\n }\n}\n"],"names":["keysOf","arr","entriesOf","getProp","obj","path","defaultValue","get","val","set"],"mappings":";;AAIO,MAAMA,IAAS,CAAIC,MAAW,OAAO,KAAKA,CAAG,GACvCC,IAAY,CAAID,MAAW,OAAO,QAAQA,CAAG,GAG7CE,IAAU,CACrBC,GACAC,GACAC,OAEO;AAAA,EACL,IAAI,QAAQ;AACH,WAAAC,EAAIH,GAAKC,GAAMC,CAAY;AAAA,EACpC;AAAA,EACA,IAAI,MAAME,GAAU;AACd,IAAAC,EAAAL,GAAKC,GAAMG,CAAG;AAAA,EACpB;AAAA;"}
1
+ {"version":3,"file":"objects.js","sources":["../../../src/components/_util/objects.ts"],"sourcesContent":["import { get, set } from 'lodash-unified'\r\nimport type { Entries } from 'type-fest'\r\nimport type { Arrayable } from '.'\r\n\r\nexport const keysOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>\r\nexport const entriesOf = <T>(arr: T) => Object.entries(arr) as Entries<T>\r\nexport { hasOwn } from '@vue/shared'\r\n\r\nexport const getProp = <T = any>(\r\n obj: Record<string, any>,\r\n path: Arrayable<string>,\r\n defaultValue?: any\r\n): { value: T } => {\r\n return {\r\n get value() {\r\n return get(obj, path, defaultValue)\r\n },\r\n set value(val: any) {\r\n set(obj, path, val)\r\n },\r\n }\r\n}\r\n"],"names":["keysOf","arr","entriesOf","getProp","obj","path","defaultValue","get","val","set"],"mappings":";;AAIO,MAAMA,IAAS,CAAIC,MAAW,OAAO,KAAKA,CAAG,GACvCC,IAAY,CAAID,MAAW,OAAO,QAAQA,CAAG,GAG7CE,IAAU,CACrBC,GACAC,GACAC,OAEO;AAAA,EACL,IAAI,QAAQ;AACH,WAAAC,EAAIH,GAAKC,GAAMC,CAAY;AAAA,EACpC;AAAA,EACA,IAAI,MAAME,GAAU;AACd,IAAAC,EAAAL,GAAKC,GAAMG,CAAG;AAAA,EACpB;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"raf.js","sources":["../../../src/components/_util/raf.ts"],"sourcesContent":["import { isClient } from './browser'\n\nexport const rAF = (fn: () => void) =>\n isClient\n ? window.requestAnimationFrame(fn)\n : (setTimeout(fn, 16) as unknown as number)\n\nexport const cAF = (handle: number) =>\n isClient ? window.cancelAnimationFrame(handle) : clearTimeout(handle)\n"],"names":["rAF","fn","isClient","cAF","handle"],"mappings":";AAEa,MAAAA,IAAM,CAACC,MAClBC,IACI,OAAO,sBAAsBD,CAAE,IAC9B,WAAWA,GAAI,EAAE,GAEXE,IAAM,CAACC,MAClBF,IAAW,OAAO,qBAAqBE,CAAM,IAAI,aAAaA,CAAM;"}
1
+ {"version":3,"file":"raf.js","sources":["../../../src/components/_util/raf.ts"],"sourcesContent":["import { isClient } from './browser'\r\n\r\nexport const rAF = (fn: () => void) =>\r\n isClient\r\n ? window.requestAnimationFrame(fn)\r\n : (setTimeout(fn, 16) as unknown as number)\r\n\r\nexport const cAF = (handle: number) =>\r\n isClient ? window.cancelAnimationFrame(handle) : clearTimeout(handle)\r\n"],"names":["rAF","fn","isClient","cAF","handle"],"mappings":";AAEa,MAAAA,IAAM,CAACC,MAClBC,IACI,OAAO,sBAAsBD,CAAE,IAC9B,WAAWA,GAAI,EAAE,GAEXE,IAAM,CAACC,MAClBF,IAAW,OAAO,qBAAqBE,CAAM,IAAI,aAAaA,CAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rand.js","sources":["../../../src/components/_util/rand.ts"],"sourcesContent":["/**\n * @deprecated Use `useId` `useIdInjection` instead\n * Generate random number in range [0, 1000]\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\n */\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\n\n/**\n * @deprecated\n * Generating a random int in range (0, max - 1)\n * @param max {number}\n */\nexport const getRandomInt = (max: number) =>\n Math.floor(Math.random() * Math.floor(max))\n"],"names":["generateId","getRandomInt","max"],"mappings":"AAKO,MAAMA,IAAa,MAAc,KAAK,MAAM,KAAK,WAAW,GAAK,GAO3DC,IAAe,CAACC,MAC3B,KAAK,MAAM,KAAK,WAAW,KAAK,MAAMA,CAAG,CAAC;"}
1
+ {"version":3,"file":"rand.js","sources":["../../../src/components/_util/rand.ts"],"sourcesContent":["/**\r\n * @deprecated Use `useId` `useIdInjection` instead\r\n * Generate random number in range [0, 1000]\r\n * Maybe replace with [uuid](https://www.npmjs.com/package/uuid)\r\n */\r\nexport const generateId = (): number => Math.floor(Math.random() * 10000)\r\n\r\n/**\r\n * @deprecated\r\n * Generating a random int in range (0, max - 1)\r\n * @param max {number}\r\n */\r\nexport const getRandomInt = (max: number) =>\r\n Math.floor(Math.random() * Math.floor(max))\r\n"],"names":["generateId","getRandomInt","max"],"mappings":"AAKO,MAAMA,IAAa,MAAc,KAAK,MAAM,KAAK,WAAW,GAAK,GAO3DC,IAAe,CAACC,MAC3B,KAAK,MAAM,KAAK,WAAW,KAAK,MAAMA,CAAG,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sources":["../../../src/components/_util/strings.ts"],"sourcesContent":["import { capitalize as toCapitalize } from '@vue/shared'\nexport {\n camelize,\n hyphenate,\n hyphenate as kebabCase, // alias\n} from '@vue/shared'\n\n/**\n * fork from {@link https://github.com/sindresorhus/escape-string-regexp}\n */\nexport const escapeStringRegexp = (string = '') =>\n string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\n\n// NOTE: improve capitalize types. Restore previous code after the [PR](https://github.com/vuejs/core/pull/6212) merge\nexport const capitalize = <T extends string>(str: T) =>\n toCapitalize(str) as Capitalize<T>\n"],"names":["escapeStringRegexp","string","capitalize","str","toCapitalize"],"mappings":";;AAUa,MAAAA,IAAqB,CAACC,IAAS,OAC1CA,EAAO,QAAQ,uBAAuB,MAAM,EAAE,QAAQ,MAAM,OAAO,GAGxDC,IAAa,CAAmBC,MAC3CC,EAAaD,CAAG;"}
1
+ {"version":3,"file":"strings.js","sources":["../../../src/components/_util/strings.ts"],"sourcesContent":["import { capitalize as toCapitalize } from '@vue/shared'\r\nexport {\r\n camelize,\r\n hyphenate,\r\n hyphenate as kebabCase, // alias\r\n} from '@vue/shared'\r\n\r\n/**\r\n * fork from {@link https://github.com/sindresorhus/escape-string-regexp}\r\n */\r\nexport const escapeStringRegexp = (string = '') =>\r\n string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d')\r\n\r\n// NOTE: improve capitalize types. Restore previous code after the [PR](https://github.com/vuejs/core/pull/6212) merge\r\nexport const capitalize = <T extends string>(str: T) =>\r\n toCapitalize(str) as Capitalize<T>\r\n"],"names":["escapeStringRegexp","string","capitalize","str","toCapitalize"],"mappings":";;AAUa,MAAAA,IAAqB,CAACC,IAAS,OAC1CA,EAAO,QAAQ,uBAAuB,MAAM,EAAE,QAAQ,MAAM,OAAO,GAGxDC,IAAa,CAAmBC,MAC3CC,EAAaD,CAAG;"}
@@ -1 +1 @@
1
- {"version":3,"file":"throttleByRaf.js","sources":["../../../src/components/_util/throttleByRaf.ts"],"sourcesContent":["import { cAF, rAF } from './raf'\n\nexport function throttleByRaf(cb: (...args: any[]) => void) {\n let timer = 0\n\n const throttle = (...args: any[]): void => {\n if (timer) {\n cAF(timer)\n }\n timer = rAF(() => {\n cb(...args)\n timer = 0\n })\n }\n\n throttle.cancel = () => {\n cAF(timer)\n timer = 0\n }\n\n return throttle\n}\n"],"names":["throttleByRaf","cb","timer","throttle","args","cAF","rAF"],"mappings":";AAEO,SAASA,EAAcC,GAA8B;AAC1D,MAAIC,IAAQ;AAEN,QAAAC,IAAW,IAAIC,MAAsB;AACzC,IAAIF,KACFG,EAAIH,CAAK,GAEXA,IAAQI,EAAI,MAAM;AAChB,MAAAL,EAAG,GAAGG,CAAI,GACFF,IAAA;AAAA,IAAA,CACT;AAAA,EAAA;AAGH,SAAAC,EAAS,SAAS,MAAM;AACtB,IAAAE,EAAIH,CAAK,GACDA,IAAA;AAAA,EAAA,GAGHC;AACT;"}
1
+ {"version":3,"file":"throttleByRaf.js","sources":["../../../src/components/_util/throttleByRaf.ts"],"sourcesContent":["import { cAF, rAF } from './raf'\r\n\r\nexport function throttleByRaf(cb: (...args: any[]) => void) {\r\n let timer = 0\r\n\r\n const throttle = (...args: any[]): void => {\r\n if (timer) {\r\n cAF(timer)\r\n }\r\n timer = rAF(() => {\r\n cb(...args)\r\n timer = 0\r\n })\r\n }\r\n\r\n throttle.cancel = () => {\r\n cAF(timer)\r\n timer = 0\r\n }\r\n\r\n return throttle\r\n}\r\n"],"names":["throttleByRaf","cb","timer","throttle","args","cAF","rAF"],"mappings":";AAEO,SAASA,EAAcC,GAA8B;AAC1D,MAAIC,IAAQ;AAEN,QAAAC,IAAW,IAAIC,MAAsB;AACzC,IAAIF,KACFG,EAAIH,CAAK,GAEXA,IAAQI,EAAI,MAAM;AAChB,MAAAL,EAAG,GAAGG,CAAI,GACFF,IAAA;AAAA,IAAA,CACT;AAAA,EAAA;AAGH,SAAAC,EAAS,SAAS,MAAM;AACtB,IAAAE,EAAIH,CAAK,GACDA,IAAA;AAAA,EAAA,GAGHC;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/components/_util/types.ts"],"sourcesContent":["import { isArray, isObject, isString } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\n\nexport {\n isArray,\n isFunction,\n isObject,\n isString,\n isDate,\n isPromise,\n isSymbol,\n isPlainObject,\n} from '@vue/shared'\nexport { isVNode } from 'vue'\n\nexport const isUndefined = (val: any): val is undefined => val === undefined\nexport const isBoolean = (val: any): val is boolean => typeof val === 'boolean'\nexport const isNumber = (val: any): val is number => typeof val === 'number'\n\nexport const isEmpty = (val: unknown) =>\n (!val && val !== 0) ||\n (isArray(val) && val.length === 0) ||\n (isObject(val) && !Object.keys(val).length)\n\nexport const isElement = (e: unknown): e is Element => {\n if (typeof Element === 'undefined') return false\n return e instanceof Element\n}\n\nexport const isPropAbsent = (prop: unknown): prop is null | undefined => {\n return isNil(prop)\n}\n\nexport const isStringNumber = (val: string): boolean => {\n if (!isString(val)) {\n return false\n }\n return !Number.isNaN(Number(val))\n}\n\nexport const isWindow = (val: unknown): val is Window => {\n return val === window\n}\n"],"names":["isUndefined","val","isBoolean","isNumber","isEmpty","isArray","isObject","isElement","isPropAbsent","prop","isNil","isStringNumber","isString","isWindow"],"mappings":";;;;AAea,MAAAA,IAAc,CAACC,MAA+BA,MAAQ,QACtDC,IAAY,CAACD,MAA6B,OAAOA,KAAQ,WACzDE,IAAW,CAACF,MAA4B,OAAOA,KAAQ,UAEvDG,IAAU,CAACH,MACrB,CAACA,KAAOA,MAAQ,KAChBI,EAAQJ,CAAG,KAAKA,EAAI,WAAW,KAC/BK,EAASL,CAAG,KAAK,CAAC,OAAO,KAAKA,CAAG,EAAE,QAEzBM,IAAY,CAAC,MACpB,OAAO,UAAY,MAAoB,KACpC,aAAa,SAGTC,IAAe,CAACC,MACpBC,EAAMD,CAAI,GAGNE,IAAiB,CAACV,MACxBW,EAASX,CAAG,IAGV,CAAC,OAAO,MAAM,OAAOA,CAAG,CAAC,IAFvB,IAKEY,IAAW,CAACZ,MAChBA,MAAQ;"}
1
+ {"version":3,"file":"types.js","sources":["../../../src/components/_util/types.ts"],"sourcesContent":["import { isArray, isObject, isString } from '@vue/shared'\r\nimport { isNil } from 'lodash-unified'\r\n\r\nexport {\r\n isArray,\r\n isFunction,\r\n isObject,\r\n isString,\r\n isDate,\r\n isPromise,\r\n isSymbol,\r\n isPlainObject,\r\n} from '@vue/shared'\r\nexport { isVNode } from 'vue'\r\n\r\nexport const isUndefined = (val: any): val is undefined => val === undefined\r\nexport const isBoolean = (val: any): val is boolean => typeof val === 'boolean'\r\nexport const isNumber = (val: any): val is number => typeof val === 'number'\r\n\r\nexport const isEmpty = (val: unknown) =>\r\n (!val && val !== 0) ||\r\n (isArray(val) && val.length === 0) ||\r\n (isObject(val) && !Object.keys(val).length)\r\n\r\nexport const isElement = (e: unknown): e is Element => {\r\n if (typeof Element === 'undefined') return false\r\n return e instanceof Element\r\n}\r\n\r\nexport const isPropAbsent = (prop: unknown): prop is null | undefined => {\r\n return isNil(prop)\r\n}\r\n\r\nexport const isStringNumber = (val: string): boolean => {\r\n if (!isString(val)) {\r\n return false\r\n }\r\n return !Number.isNaN(Number(val))\r\n}\r\n\r\nexport const isWindow = (val: unknown): val is Window => {\r\n return val === window\r\n}\r\n"],"names":["isUndefined","val","isBoolean","isNumber","isEmpty","isArray","isObject","isElement","isPropAbsent","prop","isNil","isStringNumber","isString","isWindow"],"mappings":";;;;AAea,MAAAA,IAAc,CAACC,MAA+BA,MAAQ,QACtDC,IAAY,CAACD,MAA6B,OAAOA,KAAQ,WACzDE,IAAW,CAACF,MAA4B,OAAOA,KAAQ,UAEvDG,IAAU,CAACH,MACrB,CAACA,KAAOA,MAAQ,KAChBI,EAAQJ,CAAG,KAAKA,EAAI,WAAW,KAC/BK,EAASL,CAAG,KAAK,CAAC,OAAO,KAAKA,CAAG,EAAE,QAEzBM,IAAY,CAAC,MACpB,OAAO,UAAY,MAAoB,KACpC,aAAa,SAGTC,IAAe,CAACC,MACpBC,EAAMD,CAAI,GAGNE,IAAiB,CAACV,MACxBW,EAASX,CAAG,IAGV,CAAC,OAAO,MAAM,OAAOA,CAAG,CAAC,IAFvB,IAKEY,IAAW,CAACZ,MAChBA,MAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sources":["../../../src/components/_util/typescript.ts"],"sourcesContent":["export const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\nexport type Mutable<T> = { -readonly [P in keyof T]: T[P] }\n\nexport type HTMLElementCustomized<T> = HTMLElement & T\n\n/**\n * @deprecated stop to use null\n * @see {@link https://github.com/sindresorhus/meta/discussions/7}\n */\nexport type Nullable<T> = T | null\n\nexport type Arrayable<T> = T | T[]\nexport type Awaitable<T> = Promise<T> | T\n"],"names":["mutable","val"],"mappings":"AAAa,MAAAA,IAAU,CACrBC,MACGA;"}
1
+ {"version":3,"file":"typescript.js","sources":["../../../src/components/_util/typescript.ts"],"sourcesContent":["export const mutable = <T extends readonly any[] | Record<string, unknown>>(\r\n val: T\r\n) => val as Mutable<typeof val>\r\nexport type Mutable<T> = { -readonly [P in keyof T]: T[P] }\r\n\r\nexport type HTMLElementCustomized<T> = HTMLElement & T\r\n\r\n/**\r\n * @deprecated stop to use null\r\n * @see {@link https://github.com/sindresorhus/meta/discussions/7}\r\n */\r\nexport type Nullable<T> = T | null\r\n\r\nexport type Arrayable<T> = T | T[]\r\nexport type Awaitable<T> = Promise<T> | T\r\n"],"names":["mutable","val"],"mappings":"AAAa,MAAAA,IAAU,CACrBC,MACGA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"global-node.js","sources":["../../../../src/components/_util/vue/global-node.ts"],"sourcesContent":["import { isClient } from '../browser'\n\nconst globalNodes: HTMLElement[] = []\nlet target: HTMLElement | undefined = !isClient ? undefined : document.body\n\nexport function createGlobalNode(id?: string) {\n const el = document.createElement('div')\n if (id !== undefined) {\n el.setAttribute('id', id)\n }\n\n if (target) {\n target.appendChild(el)\n globalNodes.push(el)\n }\n\n return el\n}\n\nexport function removeGlobalNode(el: HTMLElement) {\n globalNodes.splice(globalNodes.indexOf(el), 1)\n el.remove()\n}\n\nexport function changeGlobalNodesTarget(el: HTMLElement) {\n if (el === target) return\n\n target = el\n globalNodes.forEach((el) => {\n if (target && !el.contains(target)) {\n target.appendChild(el)\n }\n })\n}\n"],"names":["globalNodes","target","isClient","createGlobalNode","id","el","removeGlobalNode","changeGlobalNodesTarget"],"mappings":";AAEA,MAAMA,IAA6B,CAAA;AACnC,IAAIC,IAAmCC,IAAuB,SAAS,OAArB;AAE3C,SAASC,EAAiBC,GAAa;AACtC,QAAAC,IAAK,SAAS,cAAc,KAAK;AACvC,SAAID,MAAO,UACNC,EAAA,aAAa,MAAMD,CAAE,GAGtBH,MACFA,EAAO,YAAYI,CAAE,GACrBL,EAAY,KAAKK,CAAE,IAGdA;AACT;AAEO,SAASC,EAAiBD,GAAiB;AAChD,EAAAL,EAAY,OAAOA,EAAY,QAAQK,CAAE,GAAG,CAAC,GAC7CA,EAAG,OAAO;AACZ;AAEO,SAASE,EAAwBF,GAAiB;AACvD,EAAIA,MAAOJ,MAEFA,IAAAI,GACGL,EAAA,QAAQ,CAACK,MAAO;AAC1B,IAAIJ,KAAU,CAACI,EAAG,SAASJ,CAAM,KAC/BA,EAAO,YAAYI,CAAE;AAAA,EACvB,CACD;AACH;"}
1
+ {"version":3,"file":"global-node.js","sources":["../../../../src/components/_util/vue/global-node.ts"],"sourcesContent":["import { isClient } from '../browser'\r\n\r\nconst globalNodes: HTMLElement[] = []\r\nlet target: HTMLElement | undefined = !isClient ? undefined : document.body\r\n\r\nexport function createGlobalNode(id?: string) {\r\n const el = document.createElement('div')\r\n if (id !== undefined) {\r\n el.setAttribute('id', id)\r\n }\r\n\r\n if (target) {\r\n target.appendChild(el)\r\n globalNodes.push(el)\r\n }\r\n\r\n return el\r\n}\r\n\r\nexport function removeGlobalNode(el: HTMLElement) {\r\n globalNodes.splice(globalNodes.indexOf(el), 1)\r\n el.remove()\r\n}\r\n\r\nexport function changeGlobalNodesTarget(el: HTMLElement) {\r\n if (el === target) return\r\n\r\n target = el\r\n globalNodes.forEach((el) => {\r\n if (target && !el.contains(target)) {\r\n target.appendChild(el)\r\n }\r\n })\r\n}\r\n"],"names":["globalNodes","target","isClient","createGlobalNode","id","el","removeGlobalNode","changeGlobalNodesTarget"],"mappings":";AAEA,MAAMA,IAA6B,CAAA;AACnC,IAAIC,IAAmCC,IAAuB,SAAS,OAArB;AAE3C,SAASC,EAAiBC,GAAa;AACtC,QAAAC,IAAK,SAAS,cAAc,KAAK;AACvC,SAAID,MAAO,UACNC,EAAA,aAAa,MAAMD,CAAE,GAGtBH,MACFA,EAAO,YAAYI,CAAE,GACrBL,EAAY,KAAKK,CAAE,IAGdA;AACT;AAEO,SAASC,EAAiBD,GAAiB;AAChD,EAAAL,EAAY,OAAOA,EAAY,QAAQK,CAAE,GAAG,CAAC,GAC7CA,EAAG,OAAO;AACZ;AAEO,SAASE,EAAwBF,GAAiB;AACvD,EAAIA,MAAOJ,MAEFA,IAAAI,GACGL,EAAA,QAAQ,CAACK,MAAO;AAC1B,IAAIJ,KAAU,CAACI,EAAG,SAASJ,CAAM,KAC/BA,EAAO,YAAYI,CAAE;AAAA,EACvB,CACD;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../src/components/_util/vue/icon.ts"],"sourcesContent":["import {\n CircleCheck,\n CircleClose,\n CircleCloseFilled,\n Close,\n InfoFilled,\n Loading,\n SuccessFilled,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { definePropType } from './props'\n\nimport type { Component } from 'vue'\n\nexport const iconPropType = definePropType<string | Component>([\n String,\n Object,\n Function,\n])\n\nexport const CloseComponents = {\n Close,\n}\n\nexport const TypeComponents = {\n Close,\n SuccessFilled,\n InfoFilled,\n WarningFilled,\n CircleCloseFilled,\n}\n\nexport const TypeComponentsMap = {\n success: SuccessFilled,\n warning: WarningFilled,\n error: CircleCloseFilled,\n info: InfoFilled,\n}\n\nexport const ValidateComponentsMap = {\n validating: Loading,\n success: CircleCheck,\n error: CircleClose,\n}\n"],"names":["iconPropType","definePropType","CloseComponents","Close","TypeComponents","SuccessFilled","InfoFilled","WarningFilled","CircleCloseFilled","TypeComponentsMap","ValidateComponentsMap","Loading","CircleCheck","CircleClose"],"mappings":";;AAcO,MAAMA,IAAeC,EAAmC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,IAAkB;AAAA,EAAA,OAC7BC;AACF,GAEaC,IAAiB;AAAA,EAAA,OAC5BD;AAAAA,EAAA,eACAE;AAAAA,EAAA,YACAC;AAAAA,EAAA,eACAC;AAAAA,EAAA,mBACAC;AACF,GAEaC,IAAoB;AAAA,EAC/B,SAASJ;AAAAA,EACT,SAASE;AAAAA,EACT,OAAOC;AAAAA,EACP,MAAMF;AACR,GAEaI,IAAwB;AAAA,EACnC,YAAYC;AAAAA,EACZ,SAASC;AAAAA,EACT,OAAOC;AACT;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../src/components/_util/vue/icon.ts"],"sourcesContent":["import {\r\n CircleCheck,\r\n CircleClose,\r\n CircleCloseFilled,\r\n Close,\r\n InfoFilled,\r\n Loading,\r\n SuccessFilled,\r\n WarningFilled,\r\n} from '@element-plus/icons-vue'\r\nimport { definePropType } from './props'\r\n\r\nimport type { Component } from 'vue'\r\n\r\nexport const iconPropType = definePropType<string | Component>([\r\n String,\r\n Object,\r\n Function,\r\n])\r\n\r\nexport const CloseComponents = {\r\n Close,\r\n}\r\n\r\nexport const TypeComponents = {\r\n Close,\r\n SuccessFilled,\r\n InfoFilled,\r\n WarningFilled,\r\n CircleCloseFilled,\r\n}\r\n\r\nexport const TypeComponentsMap = {\r\n success: SuccessFilled,\r\n warning: WarningFilled,\r\n error: CircleCloseFilled,\r\n info: InfoFilled,\r\n}\r\n\r\nexport const ValidateComponentsMap = {\r\n validating: Loading,\r\n success: CircleCheck,\r\n error: CircleClose,\r\n}\r\n"],"names":["iconPropType","definePropType","CloseComponents","Close","TypeComponents","SuccessFilled","InfoFilled","WarningFilled","CircleCloseFilled","TypeComponentsMap","ValidateComponentsMap","Loading","CircleCheck","CircleClose"],"mappings":";;AAcO,MAAMA,IAAeC,EAAmC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,IAAkB;AAAA,EAAA,OAC7BC;AACF,GAEaC,IAAiB;AAAA,EAAA,OAC5BD;AAAAA,EAAA,eACAE;AAAAA,EAAA,YACAC;AAAAA,EAAA,eACAC;AAAAA,EAAA,mBACAC;AACF,GAEaC,IAAoB;AAAA,EAC/B,SAASJ;AAAAA,EACT,SAASE;AAAAA,EACT,OAAOC;AAAAA,EACP,MAAMF;AACR,GAEaI,IAAwB;AAAA,EACnC,YAAYC;AAAAA,EACZ,SAASC;AAAAA,EACT,OAAOC;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sources":["../../../../src/components/_util/vue/install.ts"],"sourcesContent":["import { NOOP } from '../functions'\n\nimport type { App, Directive } from 'vue'\nimport type { SFCInstallWithContext, SFCWithInstall } from './typescript'\n\nexport const withInstall = <T, E extends Record<string, any>>(\n main: T,\n extra?: E\n) => {\n ;(main as SFCWithInstall<T>).install = (app): void => {\n for (const comp of [main, ...Object.values(extra ?? {})]) {\n app.component(comp.name, comp)\n }\n }\n\n if (extra) {\n for (const [key, comp] of Object.entries(extra)) {\n ;(main as any)[key] = comp\n }\n }\n return main as SFCWithInstall<T> & E\n}\n\nexport const withInstallFunction = <T>(fn: T, name: string) => {\n ;(fn as SFCWithInstall<T>).install = (app: App) => {\n ;(fn as SFCInstallWithContext<T>)._context = app._context\n app.config.globalProperties[name] = fn\n }\n\n return fn as SFCInstallWithContext<T>\n}\n\nexport const withInstallDirective = <T extends Directive>(\n directive: T,\n name: string\n) => {\n ;(directive as SFCWithInstall<T>).install = (app: App): void => {\n app.directive(name, directive)\n }\n\n return directive as SFCWithInstall<T>\n}\n\nexport const withNoopInstall = <T>(component: T) => {\n ;(component as SFCWithInstall<T>).install = NOOP\n\n return component as SFCWithInstall<T>\n}\n"],"names":["withInstall","main","extra","app","comp","key","withInstallFunction","fn","name","withInstallDirective","directive","withNoopInstall","component","NOOP"],"mappings":";AAKa,MAAAA,IAAc,CACzBC,GACAC,MACG;AAOH,MANED,EAA2B,UAAU,CAACE,MAAc;AACzC,eAAAC,KAAQ,CAACH,GAAM,GAAG,OAAO,OAAOC,KAAS,CAAE,CAAA,CAAC;AACjD,MAAAC,EAAA,UAAUC,EAAK,MAAMA,CAAI;AAAA,EAC/B,GAGEF;AACF,eAAW,CAACG,GAAKD,CAAI,KAAK,OAAO,QAAQF,CAAK;AAC1C,MAAAD,EAAaI,CAAG,IAAID;AAGnB,SAAAH;AACT,GAEaK,IAAsB,CAAIC,GAAOC,OAC1CD,EAAyB,UAAU,CAACJ,MAAa;AAC/C,EAAAI,EAAgC,WAAWJ,EAAI,UAC7CA,EAAA,OAAO,iBAAiBK,CAAI,IAAID;AAAA,GAG/BA,IAGIE,IAAuB,CAClCC,GACAF,OAEEE,EAAgC,UAAU,CAACP,MAAmB;AAC1D,EAAAA,EAAA,UAAUK,GAAME,CAAS;AAAA,GAGxBA,IAGIC,IAAkB,CAAIC,OAC/BA,EAAgC,UAAUC,GAErCD;"}
1
+ {"version":3,"file":"install.js","sources":["../../../../src/components/_util/vue/install.ts"],"sourcesContent":["import { NOOP } from '../functions'\r\n\r\nimport type { App, Directive } from 'vue'\r\nimport type { SFCInstallWithContext, SFCWithInstall } from './typescript'\r\n\r\nexport const withInstall = <T, E extends Record<string, any>>(\r\n main: T,\r\n extra?: E\r\n) => {\r\n ;(main as SFCWithInstall<T>).install = (app): void => {\r\n for (const comp of [main, ...Object.values(extra ?? {})]) {\r\n app.component(comp.name, comp)\r\n }\r\n }\r\n\r\n if (extra) {\r\n for (const [key, comp] of Object.entries(extra)) {\r\n ;(main as any)[key] = comp\r\n }\r\n }\r\n return main as SFCWithInstall<T> & E\r\n}\r\n\r\nexport const withInstallFunction = <T>(fn: T, name: string) => {\r\n ;(fn as SFCWithInstall<T>).install = (app: App) => {\r\n ;(fn as SFCInstallWithContext<T>)._context = app._context\r\n app.config.globalProperties[name] = fn\r\n }\r\n\r\n return fn as SFCInstallWithContext<T>\r\n}\r\n\r\nexport const withInstallDirective = <T extends Directive>(\r\n directive: T,\r\n name: string\r\n) => {\r\n ;(directive as SFCWithInstall<T>).install = (app: App): void => {\r\n app.directive(name, directive)\r\n }\r\n\r\n return directive as SFCWithInstall<T>\r\n}\r\n\r\nexport const withNoopInstall = <T>(component: T) => {\r\n ;(component as SFCWithInstall<T>).install = NOOP\r\n\r\n return component as SFCWithInstall<T>\r\n}\r\n"],"names":["withInstall","main","extra","app","comp","key","withInstallFunction","fn","name","withInstallDirective","directive","withNoopInstall","component","NOOP"],"mappings":";AAKa,MAAAA,IAAc,CACzBC,GACAC,MACG;AAOH,MANED,EAA2B,UAAU,CAACE,MAAc;AACzC,eAAAC,KAAQ,CAACH,GAAM,GAAG,OAAO,OAAOC,KAAS,CAAE,CAAA,CAAC;AACjD,MAAAC,EAAA,UAAUC,EAAK,MAAMA,CAAI;AAAA,EAC/B,GAGEF;AACF,eAAW,CAACG,GAAKD,CAAI,KAAK,OAAO,QAAQF,CAAK;AAC1C,MAAAD,EAAaI,CAAG,IAAID;AAGnB,SAAAH;AACT,GAEaK,IAAsB,CAAIC,GAAOC,OAC1CD,EAAyB,UAAU,CAACJ,MAAa;AAC/C,EAAAI,EAAgC,WAAWJ,EAAI,UAC7CA,EAAA,OAAO,iBAAiBK,CAAI,IAAID;AAAA,GAG/BA,IAGIE,IAAuB,CAClCC,GACAF,OAEEE,EAAgC,UAAU,CAACP,MAAmB;AAC1D,EAAAA,EAAA,UAAUK,GAAME,CAAS;AAAA,GAGxBA,IAGIC,IAAkB,CAAIC,OAC/BA,EAAgC,UAAUC,GAErCD;"}