@visactor/vtable 0.9.0-alpha.0-alpha.0 → 0.9.0-alpha.1

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 (73) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -1
  2. package/cjs/core/BaseTable.js +4 -6
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/core/style.d.ts +1 -0
  5. package/cjs/core/style.js +12 -0
  6. package/cjs/core/style.js.map +1 -0
  7. package/cjs/data/CachedDataSource.js +1 -2
  8. package/cjs/data/DataSource.js +2 -1
  9. package/cjs/index.d.ts +1 -1
  10. package/cjs/index.js +3 -12
  11. package/cjs/index.js.map +1 -1
  12. package/cjs/layout/pivot-header-layout.js +1 -2
  13. package/cjs/layout/pivot-layout.js +2 -1
  14. package/cjs/menu/dom/logic/MenuContainer.d.ts +0 -1
  15. package/cjs/menu/dom/logic/MenuContainer.js +1 -5
  16. package/cjs/menu/dom/logic/MenuContainer.js.map +1 -1
  17. package/cjs/menu/dom/logic/MenuElement.d.ts +0 -1
  18. package/cjs/menu/dom/logic/MenuElement.js +3 -3
  19. package/cjs/menu/dom/logic/MenuElement.js.map +1 -1
  20. package/cjs/menu/dom/logic/MenuElementStyle.d.ts +1 -0
  21. package/cjs/menu/dom/logic/MenuElementStyle.js +12 -0
  22. package/cjs/menu/dom/logic/MenuElementStyle.js.map +1 -0
  23. package/cjs/tools/NumberMap.js +1 -2
  24. package/cjs/tools/Rect.js +2 -1
  25. package/cjs/tools/icons.js +1 -1
  26. package/cjs/tools/style.js.map +1 -1
  27. package/cjs/tooltip/logic/BubbleTooltipElement.d.ts +0 -1
  28. package/cjs/tooltip/logic/BubbleTooltipElement.js +3 -3
  29. package/cjs/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  30. package/cjs/tooltip/logic/BubbleTooltipElementStyle.d.ts +1 -0
  31. package/cjs/tooltip/logic/BubbleTooltipElementStyle.js +12 -0
  32. package/cjs/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  33. package/dist/vtable.js +1347 -23035
  34. package/dist/vtable.min.js +2 -16
  35. package/es/core/BaseTable.d.ts +1 -1
  36. package/es/core/BaseTable.js +5 -3
  37. package/es/core/BaseTable.js.map +1 -1
  38. package/es/core/style.d.ts +1 -0
  39. package/es/core/style.js +6 -0
  40. package/es/core/style.js.map +1 -0
  41. package/es/data/CachedDataSource.js +1 -2
  42. package/es/data/DataSource.js +2 -1
  43. package/es/index.d.ts +1 -1
  44. package/es/index.js +2 -2
  45. package/es/index.js.map +1 -1
  46. package/es/layout/pivot-header-layout.js +1 -2
  47. package/es/layout/pivot-layout.js +2 -1
  48. package/es/menu/dom/logic/MenuContainer.d.ts +0 -1
  49. package/es/menu/dom/logic/MenuContainer.js +0 -2
  50. package/es/menu/dom/logic/MenuContainer.js.map +1 -1
  51. package/es/menu/dom/logic/MenuElement.d.ts +0 -1
  52. package/es/menu/dom/logic/MenuElement.js +3 -1
  53. package/es/menu/dom/logic/MenuElement.js.map +1 -1
  54. package/es/menu/dom/logic/MenuElementStyle.d.ts +1 -0
  55. package/es/menu/dom/logic/MenuElementStyle.js +6 -0
  56. package/es/menu/dom/logic/MenuElementStyle.js.map +1 -0
  57. package/es/tools/NumberMap.js +1 -2
  58. package/es/tools/Rect.js +2 -1
  59. package/es/tools/icons.js +1 -1
  60. package/es/tools/style.js.map +1 -1
  61. package/es/tooltip/logic/BubbleTooltipElement.d.ts +0 -1
  62. package/es/tooltip/logic/BubbleTooltipElement.js +3 -1
  63. package/es/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  64. package/es/tooltip/logic/BubbleTooltipElementStyle.d.ts +1 -0
  65. package/es/tooltip/logic/BubbleTooltipElementStyle.js +6 -0
  66. package/es/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  67. package/package.json +3 -3
  68. package/cjs/menu/dom/logic/MenuElement.css +0 -86
  69. package/cjs/tools/style.css +0 -60
  70. package/cjs/tooltip/logic/BubbleTooltipElement.css +0 -63
  71. package/es/menu/dom/logic/MenuElement.css +0 -86
  72. package/es/tools/style.css +0 -60
  73. package/es/tooltip/logic/BubbleTooltipElement.css +0 -63
@@ -1 +1 @@
1
- {"version":3,"sources":["tooltip/logic/BubbleTooltipElement.ts"],"names":[],"mappings":"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","file":"BubbleTooltipElement.js","sourcesContent":["import { EventHandler } from '../../event/EventHandler';\nimport type { RectProps } from '../../ts-types';\nimport { Placement } from '../../ts-types';\nimport { createElement } from '../../tools/dom';\nimport './BubbleTooltipElement.css';\nimport { isMobile } from '../../tools/util';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nconst TOOLTIP_CLASS = 'vtable__bubble-tooltip-element';\nconst CONTENT_CLASS = `${TOOLTIP_CLASS}__content`;\nconst TRIANGLE_CLASS = `${TOOLTIP_CLASS}__triangle`;\nconst HIDDEN_CLASS = `${TOOLTIP_CLASS}--hidden`;\nconst SHOWN_CLASS = `${TOOLTIP_CLASS}--shown`;\n\nexport class BubbleTooltipElement {\n private _handler: EventHandler;\n private _rootElement?: HTMLElement;\n private _messageElement?: HTMLElement;\n private _triangleElement?: HTMLElement;\n constructor() {\n this._handler = new EventHandler();\n const rootElement = (this._rootElement = createElement('div', [TOOLTIP_CLASS, HIDDEN_CLASS]));\n const messageElement = createElement('span', [CONTENT_CLASS]);\n const triangle = createElement('span', [TRIANGLE_CLASS]);\n rootElement.appendChild(triangle);\n rootElement.appendChild(messageElement);\n this._messageElement = <HTMLElement>rootElement.querySelector(`.${CONTENT_CLASS}`) || undefined;\n this._triangleElement = <HTMLElement>rootElement.querySelector(`.${TRIANGLE_CLASS}`) || undefined;\n }\n bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n tooltipInstanceInfo: TooltipOptions,\n confine: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const messageElement = this._messageElement;\n const triangle = this._triangleElement;\n\n rootElement?.classList.remove(SHOWN_CLASS);\n rootElement?.classList.add(HIDDEN_CLASS);\n if (this._canBindToCell(table, col, row)) {\n //设置style及类名\n messageElement.setAttribute('style', '');\n triangle.setAttribute('style', '');\n tooltipInstanceInfo?.className && rootElement.classList.add(tooltipInstanceInfo.className);\n tooltipInstanceInfo?.style?.bgColor &&\n (messageElement.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n tooltipInstanceInfo?.style?.bgColor && (triangle.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n triangle.style.display = tooltipInstanceInfo?.style?.arrowMark === true ? 'block' : 'none';\n tooltipInstanceInfo?.style?.font && (messageElement.style.font = tooltipInstanceInfo?.style?.font);\n tooltipInstanceInfo?.style?.color && (messageElement.style.color = tooltipInstanceInfo?.style?.color);\n tooltipInstanceInfo?.style?.padding &&\n (messageElement.style.padding = `${tooltipInstanceInfo?.style?.padding.join('px ')}px`);\n messageElement && (messageElement.textContent = tooltipInstanceInfo?.content);\n const binded = this._bindToCell(\n table,\n col,\n row,\n tooltipInstanceInfo?.position,\n tooltipInstanceInfo?.referencePosition,\n confine,\n tooltipInstanceInfo?.style?.arrowMark\n );\n if (binded) {\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n return true;\n }\n } else {\n this.unbindFromCell();\n }\n return false;\n }\n dispose(): void {\n this.unbindFromCell();\n\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.parentElement.removeChild(rootElement);\n }\n\n this._handler?.dispose?.();\n delete this._rootElement;\n delete this._messageElement;\n }\n move(table: BaseTableAPI, col: number, row: number, tooltipOptions?: TooltipOptions, confine?: boolean): void {\n const rootElement = this._rootElement;\n if (this._canBindToCell(table, col, row)) {\n this._bindToCell(table, col, row, tooltipOptions?.position, tooltipOptions?.referencePosition, confine);\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n } else {\n this.unbindFromCell();\n }\n }\n unbindFromCell(): void {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }\n _canBindToCell(table: BaseTableAPI, col: number, row: number): boolean {\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const { bottom, left, right } = rect;\n const { frozenRowCount, frozenColCount } = table;\n if (row >= frozenRowCount && frozenRowCount > 0) {\n const frozenRect = table.getCellRangeRelativeRect({ col, row: frozenRowCount - 1 });\n if (bottom < frozenRect.bottom) {\n // 范围外\n return false;\n }\n } else if (bottom < 0) {\n // 范围外\n return false;\n }\n if (col >= frozenColCount && frozenColCount > 0) {\n const frozenRect = table.getCellRangeRelativeRect({ col: frozenColCount - 1, row });\n if (right < frozenRect.right) {\n //整个是被冻结列盖住的 不需要提示toolTip\n return false;\n }\n } else if (left < 0) {\n return false;\n }\n const { offsetHeight, offsetWidth } = element;\n if (offsetHeight < bottom) {\n return false;\n }\n if (offsetWidth < left) {\n return false;\n }\n return true;\n }\n _bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const containerWidth = table.internalProps.element.offsetWidth;\n const { width } = rect;\n if (rootElement) {\n if (rootElement.parentElement !== element) {\n element.appendChild(rootElement);\n }\n rootElement.style.left = `0px`;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n if (position || referencePosition) {\n const tooltipPosition = this.getComputedPosition(\n table,\n col,\n row,\n position,\n referencePosition,\n confine,\n arrowMark\n );\n tooltipX = tooltipPosition.x;\n tooltipY = tooltipPosition.y;\n } else {\n return false;\n }\n\n rootElement.style.left = `${tooltipX}px`;\n rootElement.style.top = `${tooltipY}px`;\n // rootElement.style.width=rootElementWidth+'px';\n if (isMobile()) {\n rootElement.style.fontSize = '11px';\n }\n\n // 判断当前tooltip范围是否与tooltip重合\n const { x1: menuLeft, x2: menuRight, y1: menuTop, y2: menuBottom } = table.stateManeger.menu.bounds;\n const tooltipLeft = tooltipX;\n const tooltipRight = tooltipLeft + rootElementWidth;\n const tooltipTop = tooltipY;\n const tooltipBottom = tooltipLeft + rootElementHeight;\n if (\n table.stateManeger.menu.isShow &&\n menuLeft < tooltipRight &&\n menuRight > tooltipLeft &&\n menuBottom > tooltipTop &&\n menuTop < tooltipBottom\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n private getComputedPosition(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ) {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();\n const { width } = rect;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n // this._triangleElement.setAttribute('style', '');\n const triangleHeight = arrowMark ? 6 : 0;\n if (position) {\n tooltipX = position.x;\n tooltipY = position.y + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n } else if (referencePosition) {\n let placement = referencePosition.placement ?? Placement.bottom;\n const referenceXMiddle = referencePosition.rect.left + referencePosition.rect.width / 2 + (table as any).tableX;\n const referenceYMiddle = referencePosition.rect.top + referencePosition.rect.height / 2 + (table as any).tableY;\n const referenceTop = referencePosition.rect.top + (table as any).tableY;\n const referenceBottom = referencePosition.rect.bottom + (table as any).tableY;\n const referenceLeft = referencePosition.rect.left + (table as any).tableX;\n const referenceRight = referencePosition.rect.right + (table as any).tableX;\n\n let callCount = 0;\n /** 根据placement计算弹出框的位置 躲避策略[dom的这块先去除 dom可以超出显示]:根据顺时针方向依次检测placement */\n const adjustPosition = () => {\n callCount++;\n if (callCount >= 4) {\n return;\n }\n this.removeStyleFromTriangle();\n if (placement === Placement.top) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceTop - rootElementHeight - triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.bottom = '-5px';\n\n // 判断如果超出左右范围则靠边显示\n if (confine && tooltipY < 0) {\n placement = Placement.right;\n adjustPosition();\n }\n } else if (placement === Placement.bottom) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceBottom + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n if (confine && tooltipY + rootElementHeight > containerHeight) {\n placement = Placement.left;\n adjustPosition();\n }\n } else if (placement === Placement.left) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceLeft - rootElementWidth - triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.right = '-5px';\n if (confine && tooltipX < 0) {\n placement = Placement.top;\n adjustPosition();\n }\n } else if (placement === Placement.right) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceRight + triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.left = '-5px';\n if (confine && tooltipX + rootElementWidth > containerWidth) {\n placement = Placement.bottom;\n adjustPosition();\n }\n }\n };\n adjustPosition();\n }\n // 判断如果超出左右范围则靠边显示\n if (confine) {\n if (tooltipX < 0) {\n tooltipX = 0;\n } else if (tooltipX + rootElement.offsetWidth > containerWidth) {\n tooltipX = containerWidth - rootElement.offsetWidth;\n }\n }\n return {\n x: tooltipX,\n y: tooltipY\n };\n }\n private removeStyleFromTriangle() {\n this._triangleElement.style.left = '';\n this._triangleElement.style.right = '';\n this._triangleElement.style.top = '';\n this._triangleElement.style.bottom = '';\n this._triangleElement.style.marginLeft = '';\n this._triangleElement.style.marginTop = '';\n }\n _locate(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n },\n confine?: boolean\n ) {\n const tooltipPosition = this.getComputedPosition(table, col, row, position, referencePosition, confine);\n const tooltipX = tooltipPosition.x;\n const tooltipY = tooltipPosition.y;\n this._rootElement.style.left = `${tooltipX}px`;\n this._rootElement.style.top = `${tooltipY}px`;\n }\n}\n"]}
1
+ {"version":3,"sources":["tooltip/logic/BubbleTooltipElement.ts"],"names":[],"mappings":"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","file":"BubbleTooltipElement.js","sourcesContent":["import { EventHandler } from '../../event/EventHandler';\nimport type { RectProps } from '../../ts-types';\nimport { Placement } from '../../ts-types';\nimport { createElement } from '../../tools/dom';\nimport { importStyle } from './BubbleTooltipElementStyle';\nimport { isMobile } from '../../tools/util';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimportStyle();\nconst TOOLTIP_CLASS = 'vtable__bubble-tooltip-element';\nconst CONTENT_CLASS = `${TOOLTIP_CLASS}__content`;\nconst TRIANGLE_CLASS = `${TOOLTIP_CLASS}__triangle`;\nconst HIDDEN_CLASS = `${TOOLTIP_CLASS}--hidden`;\nconst SHOWN_CLASS = `${TOOLTIP_CLASS}--shown`;\n\nexport class BubbleTooltipElement {\n private _handler: EventHandler;\n private _rootElement?: HTMLElement;\n private _messageElement?: HTMLElement;\n private _triangleElement?: HTMLElement;\n constructor() {\n this._handler = new EventHandler();\n const rootElement = (this._rootElement = createElement('div', [TOOLTIP_CLASS, HIDDEN_CLASS]));\n const messageElement = createElement('span', [CONTENT_CLASS]);\n const triangle = createElement('span', [TRIANGLE_CLASS]);\n rootElement.appendChild(triangle);\n rootElement.appendChild(messageElement);\n this._messageElement = <HTMLElement>rootElement.querySelector(`.${CONTENT_CLASS}`) || undefined;\n this._triangleElement = <HTMLElement>rootElement.querySelector(`.${TRIANGLE_CLASS}`) || undefined;\n }\n bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n tooltipInstanceInfo: TooltipOptions,\n confine: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const messageElement = this._messageElement;\n const triangle = this._triangleElement;\n\n rootElement?.classList.remove(SHOWN_CLASS);\n rootElement?.classList.add(HIDDEN_CLASS);\n if (this._canBindToCell(table, col, row)) {\n //设置style及类名\n messageElement.setAttribute('style', '');\n triangle.setAttribute('style', '');\n tooltipInstanceInfo?.className && rootElement.classList.add(tooltipInstanceInfo.className);\n tooltipInstanceInfo?.style?.bgColor &&\n (messageElement.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n tooltipInstanceInfo?.style?.bgColor && (triangle.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n triangle.style.display = tooltipInstanceInfo?.style?.arrowMark === true ? 'block' : 'none';\n tooltipInstanceInfo?.style?.font && (messageElement.style.font = tooltipInstanceInfo?.style?.font);\n tooltipInstanceInfo?.style?.color && (messageElement.style.color = tooltipInstanceInfo?.style?.color);\n tooltipInstanceInfo?.style?.padding &&\n (messageElement.style.padding = `${tooltipInstanceInfo?.style?.padding.join('px ')}px`);\n messageElement && (messageElement.textContent = tooltipInstanceInfo?.content);\n const binded = this._bindToCell(\n table,\n col,\n row,\n tooltipInstanceInfo?.position,\n tooltipInstanceInfo?.referencePosition,\n confine,\n tooltipInstanceInfo?.style?.arrowMark\n );\n if (binded) {\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n return true;\n }\n } else {\n this.unbindFromCell();\n }\n return false;\n }\n dispose(): void {\n this.unbindFromCell();\n\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.parentElement.removeChild(rootElement);\n }\n\n this._handler?.dispose?.();\n delete this._rootElement;\n delete this._messageElement;\n }\n move(table: BaseTableAPI, col: number, row: number, tooltipOptions?: TooltipOptions, confine?: boolean): void {\n const rootElement = this._rootElement;\n if (this._canBindToCell(table, col, row)) {\n this._bindToCell(table, col, row, tooltipOptions?.position, tooltipOptions?.referencePosition, confine);\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n } else {\n this.unbindFromCell();\n }\n }\n unbindFromCell(): void {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }\n _canBindToCell(table: BaseTableAPI, col: number, row: number): boolean {\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const { bottom, left, right } = rect;\n const { frozenRowCount, frozenColCount } = table;\n if (row >= frozenRowCount && frozenRowCount > 0) {\n const frozenRect = table.getCellRangeRelativeRect({ col, row: frozenRowCount - 1 });\n if (bottom < frozenRect.bottom) {\n // 范围外\n return false;\n }\n } else if (bottom < 0) {\n // 范围外\n return false;\n }\n if (col >= frozenColCount && frozenColCount > 0) {\n const frozenRect = table.getCellRangeRelativeRect({ col: frozenColCount - 1, row });\n if (right < frozenRect.right) {\n //整个是被冻结列盖住的 不需要提示toolTip\n return false;\n }\n } else if (left < 0) {\n return false;\n }\n const { offsetHeight, offsetWidth } = element;\n if (offsetHeight < bottom) {\n return false;\n }\n if (offsetWidth < left) {\n return false;\n }\n return true;\n }\n _bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const containerWidth = table.internalProps.element.offsetWidth;\n const { width } = rect;\n if (rootElement) {\n if (rootElement.parentElement !== element) {\n element.appendChild(rootElement);\n }\n rootElement.style.left = `0px`;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n if (position || referencePosition) {\n const tooltipPosition = this.getComputedPosition(\n table,\n col,\n row,\n position,\n referencePosition,\n confine,\n arrowMark\n );\n tooltipX = tooltipPosition.x;\n tooltipY = tooltipPosition.y;\n } else {\n return false;\n }\n\n rootElement.style.left = `${tooltipX}px`;\n rootElement.style.top = `${tooltipY}px`;\n // rootElement.style.width=rootElementWidth+'px';\n if (isMobile()) {\n rootElement.style.fontSize = '11px';\n }\n\n // 判断当前tooltip范围是否与tooltip重合\n const { x1: menuLeft, x2: menuRight, y1: menuTop, y2: menuBottom } = table.stateManeger.menu.bounds;\n const tooltipLeft = tooltipX;\n const tooltipRight = tooltipLeft + rootElementWidth;\n const tooltipTop = tooltipY;\n const tooltipBottom = tooltipLeft + rootElementHeight;\n if (\n table.stateManeger.menu.isShow &&\n menuLeft < tooltipRight &&\n menuRight > tooltipLeft &&\n menuBottom > tooltipTop &&\n menuTop < tooltipBottom\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n private getComputedPosition(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ) {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();\n const { width } = rect;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n // this._triangleElement.setAttribute('style', '');\n const triangleHeight = arrowMark ? 6 : 0;\n if (position) {\n tooltipX = position.x;\n tooltipY = position.y + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n } else if (referencePosition) {\n let placement = referencePosition.placement ?? Placement.bottom;\n const referenceXMiddle = referencePosition.rect.left + referencePosition.rect.width / 2 + (table as any).tableX;\n const referenceYMiddle = referencePosition.rect.top + referencePosition.rect.height / 2 + (table as any).tableY;\n const referenceTop = referencePosition.rect.top + (table as any).tableY;\n const referenceBottom = referencePosition.rect.bottom + (table as any).tableY;\n const referenceLeft = referencePosition.rect.left + (table as any).tableX;\n const referenceRight = referencePosition.rect.right + (table as any).tableX;\n\n let callCount = 0;\n /** 根据placement计算弹出框的位置 躲避策略[dom的这块先去除 dom可以超出显示]:根据顺时针方向依次检测placement */\n const adjustPosition = () => {\n callCount++;\n if (callCount >= 4) {\n return;\n }\n this.removeStyleFromTriangle();\n if (placement === Placement.top) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceTop - rootElementHeight - triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.bottom = '-5px';\n\n // 判断如果超出左右范围则靠边显示\n if (confine && tooltipY < 0) {\n placement = Placement.right;\n adjustPosition();\n }\n } else if (placement === Placement.bottom) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceBottom + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n if (confine && tooltipY + rootElementHeight > containerHeight) {\n placement = Placement.left;\n adjustPosition();\n }\n } else if (placement === Placement.left) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceLeft - rootElementWidth - triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.right = '-5px';\n if (confine && tooltipX < 0) {\n placement = Placement.top;\n adjustPosition();\n }\n } else if (placement === Placement.right) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceRight + triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.left = '-5px';\n if (confine && tooltipX + rootElementWidth > containerWidth) {\n placement = Placement.bottom;\n adjustPosition();\n }\n }\n };\n adjustPosition();\n }\n // 判断如果超出左右范围则靠边显示\n if (confine) {\n if (tooltipX < 0) {\n tooltipX = 0;\n } else if (tooltipX + rootElement.offsetWidth > containerWidth) {\n tooltipX = containerWidth - rootElement.offsetWidth;\n }\n }\n return {\n x: tooltipX,\n y: tooltipY\n };\n }\n private removeStyleFromTriangle() {\n this._triangleElement.style.left = '';\n this._triangleElement.style.right = '';\n this._triangleElement.style.top = '';\n this._triangleElement.style.bottom = '';\n this._triangleElement.style.marginLeft = '';\n this._triangleElement.style.marginTop = '';\n }\n _locate(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n },\n confine?: boolean\n ) {\n const tooltipPosition = this.getComputedPosition(table, col, row, position, referencePosition, confine);\n const tooltipX = tooltipPosition.x;\n const tooltipY = tooltipPosition.y;\n this._rootElement.style.left = `${tooltipX}px`;\n this._rootElement.style.top = `${tooltipY}px`;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function importStyle(): void;
@@ -0,0 +1,6 @@
1
+ export function importStyle() {
2
+ const styleElement = document.createElement("style");
3
+ styleElement.id = "vtable-tooltip-styleSheet", styleElement.textContent = "\n@keyframes vtable__bubble-tooltip-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__bubble-tooltip-element {\n\tposition: absolute;\n\t\n\tpointer-events: none;\n\tuser-select: none;\n\tmax-width: 300px;\n\tz-index: 99999;\n\n\tbackground: #FFFFFF;\n border: 1px solid #E6E8ED;\n box-sizing: border-box;\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);\n color: #141414;\n font-size: 13px;\n}\n.vtable__bubble-tooltip-element--hidden {\n\topacity: 0;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n}\n.vtable__bubble-tooltip-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;\n}\n.vtable__bubble-tooltip-element__content {\n\t/* font-size: .75rem; */\n\tpadding: 6px 8px;\n\tmin-height: 1em;\n\tline-height: 1.5;\n\twidth: 100%;\n\tdisplay: block;\n\twhite-space: pre-wrap;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tword-wrap: break-word;\n\tposition: relative;\n\tbackground-color: #FFF;\n\tz-index: 2;\n\tborder-radius: 4px\n}\n.vtable__bubble-tooltip-element__triangle {\n\t/* font-size: .75rem; */\n\tposition: absolute;\n\twidth: 10px;\n\theight: 10px;\n\tdisplay: block;\n\ttransform: rotate(45deg);\n transform-origin: 50% 50% 0;\n\tz-index: 1;\n\tbackground-color: #FFF;\n\tborder: 1px solid #E6E8ED;\n}\n",
4
+ document.body.appendChild(styleElement);
5
+ }
6
+ //# sourceMappingURL=BubbleTooltipElementStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tooltip/logic/BubbleTooltipElementStyle.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,GAAG,2BAA2B,CAAC;IAC9C,YAAY,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE5B,CAAC;IAEA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC","file":"BubbleTooltipElementStyle.js","sourcesContent":["export function importStyle() {\n const styleElement = document.createElement('style');\n styleElement.id = 'vtable-tooltip-styleSheet';\n styleElement.textContent = `\n@keyframes vtable__bubble-tooltip-element--shown-animation {\n\t0% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n.vtable__bubble-tooltip-element {\n\tposition: absolute;\n\t\n\tpointer-events: none;\n\tuser-select: none;\n\tmax-width: 300px;\n\tz-index: 99999;\n\n\tbackground: #FFFFFF;\n border: 1px solid #E6E8ED;\n box-sizing: border-box;\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);\n color: #141414;\n font-size: 13px;\n}\n.vtable__bubble-tooltip-element--hidden {\n\topacity: 0;\n\t/* transform: translate(-50%, -50%); */\n\ttransition: opacity 75ms linear;\n}\n.vtable__bubble-tooltip-element--shown {\n\topacity: 1;\n\t/* transform: translate(-50%, -50%); */\n\tanimation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;\n}\n.vtable__bubble-tooltip-element__content {\n\t/* font-size: .75rem; */\n\tpadding: 6px 8px;\n\tmin-height: 1em;\n\tline-height: 1.5;\n\twidth: 100%;\n\tdisplay: block;\n\twhite-space: pre-wrap;\n\tmargin: 0;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tword-wrap: break-word;\n\tposition: relative;\n\tbackground-color: #FFF;\n\tz-index: 2;\n\tborder-radius: 4px\n}\n.vtable__bubble-tooltip-element__triangle {\n\t/* font-size: .75rem; */\n\tposition: absolute;\n\twidth: 10px;\n\theight: 10px;\n\tdisplay: block;\n\ttransform: rotate(45deg);\n transform-origin: 50% 50% 0;\n\tz-index: 1;\n\tbackground-color: #FFF;\n\tborder: 1px solid #E6E8ED;\n}\n`;\n\n document.body.appendChild(styleElement);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable",
3
- "version": "0.9.0-alpha.0-alpha.0",
3
+ "version": "0.9.0-alpha.1",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "grid",
@@ -71,9 +71,9 @@
71
71
  "inversify": "6.0.1",
72
72
  "vite-plugin-markdown": "^2.1.0",
73
73
  "markdown-it": "13.0.1",
74
+ "@internal/bundler": "0.0.1",
74
75
  "@internal/ts-config": "0.0.1",
75
- "@internal/eslint-config": "0.0.1",
76
- "@internal/bundler": "0.0.1"
76
+ "@internal/eslint-config": "0.0.1"
77
77
  },
78
78
  "unpkg": "latest",
79
79
  "unpkgFiles": [
@@ -1,86 +0,0 @@
1
- @keyframes vtable__menu-element--shown-animation {
2
- 0% {
3
- opacity: 0;
4
- }
5
- 100% {
6
- opacity: 1;
7
- }
8
- }
9
- .vtable__menu-element {
10
- position: absolute;
11
- box-sizing: border-box;
12
- border-radius: 4px;
13
- background-color: #fff;
14
- padding: 6px 0;
15
- /* pointer-events: none; */
16
- user-select: none;
17
- color: #000;
18
- max-width: 300px;
19
- z-index: 99999;
20
- border: #CCC 0.5px solid;
21
- cursor: default;
22
- width: max-content;
23
- box-shadow: 0px 8px 16px rgba(27, 31, 35, 0.12);
24
- }
25
- .vtable__menu-element--hidden {
26
- opacity: 0;
27
- /* transform: translate(-50%, -50%); */
28
- transition: opacity 75ms linear;
29
- z-index: -9999;
30
- }
31
- .vtable__menu-element--shown {
32
- opacity: 1;
33
- /* transform: translate(-50%, -50%); */
34
- animation: vtable__menu-element--shown-animation 150ms ease-out;
35
- }
36
- .vtable__menu-element__content {
37
- font-family: Roboto;
38
- font-size: 12px;
39
- overflow: hidden;
40
- display: inline-block;
41
- /* height: 100%; */
42
- line-height: 30px;
43
- }
44
- .vtable__menu-element__item {
45
- height: 32px;
46
- padding: 0px 12px;
47
- cursor: pointer;
48
- position: relative;
49
- display: flex;
50
- align-items: center;
51
- justify-content: flex-start;
52
- }
53
- .vtable__menu-element__item:hover {
54
- background-color: rgba(27, 31, 35, 0.06);
55
- }
56
- .vtable__menu-element__icon{
57
- /* vertical-align: top; */
58
- display: flex;
59
- /* line-height: 30px; */
60
- margin-right: 6px;
61
- }
62
- .vtable__menu-element__no-event {
63
- pointer-events: none;
64
- }
65
- .vtable__menu-element--select {
66
- color: #2E68CF;
67
- }.vtable__menu-element--normal {
68
- color: rgba(20, 20, 20, 0.9);;
69
- }
70
- .vtable__menu-element__split {
71
- height: 0px;
72
- border: 1px solid rgb(209, 213, 218);
73
- margin: 5px 0;
74
- }
75
- .vtable__menu-element__title {
76
- color: rgb(149, 149, 149);
77
- }
78
- .vtable__menu-element__arrow {
79
- position: absolute;
80
- right: 3px;
81
- font-weight: bold;
82
- margin-top: 1px;
83
- }
84
- .vtable__menu-element__item-text {
85
- margin-right: 15px;
86
- }
@@ -1,60 +0,0 @@
1
- .vtable .input-container {
2
- position: absolute;
3
- top:0px;
4
- }
5
- .vtable .table-scrollable {
6
- position: absolute;
7
- overflow: scroll;
8
- }
9
- .vtable .table-scrollable::-webkit-scrollbar-button{
10
- background-color: transparent;
11
- }
12
- .vtable .table-scrollable::-webkit-scrollbar-track-piece{
13
- background-color: transparent;
14
- }
15
- .vtable .table-scrollable::-webkit-scrollbar-corner {
16
- background-color: transparent;
17
- }
18
- .vtable .table-scrollable::-webkit-scrollbar-thumb {
19
- border-radius : 4px;
20
- background-color : rgba(100, 100, 100, .5);
21
- }
22
-
23
- .vtable .table-scroll-end-point {
24
- opacity: 0;
25
- position: relative;
26
- }
27
- .vtable {
28
- /* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */
29
- /* overflow: auto; */
30
- position: relative;
31
- width: 100%;
32
- height: 100%;
33
- text-align: left;
34
- }
35
- .vtable > canvas {
36
- position: absolute;
37
- width: 0;
38
- height: 0;
39
- }
40
- .vtable .table-focus-control {
41
- position: relative !important;
42
- width: 1px;
43
- height: 1px;
44
- opacity: 0;
45
- padding: 0;
46
- margin: 0;
47
- box-sizing: border-box;
48
- pointer-events: none;
49
- max-width: 500px;
50
- max-height: 500px;
51
- float: none !important;
52
- }
53
- .vtable input.table-focus-control::-ms-clear {
54
- visibility: hidden;
55
- }
56
- .vtable input.table-focus-control.composition {
57
- opacity: 1;
58
- max-width: none;
59
- max-height: none;
60
- }
@@ -1,63 +0,0 @@
1
- @keyframes vtable__bubble-tooltip-element--shown-animation {
2
- 0% {
3
- opacity: 0;
4
- }
5
- 100% {
6
- opacity: 1;
7
- }
8
- }
9
- .vtable__bubble-tooltip-element {
10
- position: absolute;
11
-
12
- pointer-events: none;
13
- user-select: none;
14
- max-width: 300px;
15
- z-index: 99999;
16
-
17
- background: #FFFFFF;
18
- border: 1px solid #E6E8ED;
19
- box-sizing: border-box;
20
- border-radius: 4px;
21
- box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);
22
- color: #141414;
23
- font-size: 13px;
24
- }
25
- .vtable__bubble-tooltip-element--hidden {
26
- opacity: 0;
27
- /* transform: translate(-50%, -50%); */
28
- transition: opacity 75ms linear;
29
- }
30
- .vtable__bubble-tooltip-element--shown {
31
- opacity: 1;
32
- /* transform: translate(-50%, -50%); */
33
- animation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;
34
- }
35
- .vtable__bubble-tooltip-element__content {
36
- /* font-size: .75rem; */
37
- padding: 6px 8px;
38
- min-height: 1em;
39
- line-height: 1.5;
40
- width: 100%;
41
- display: block;
42
- white-space: pre-wrap;
43
- margin: 0;
44
- box-sizing: border-box;
45
- overflow: hidden;
46
- word-wrap: break-word;
47
- position: relative;
48
- background-color: #FFF;
49
- z-index: 2;
50
- border-radius: 4px
51
- }
52
- .vtable__bubble-tooltip-element__triangle {
53
- /* font-size: .75rem; */
54
- position: absolute;
55
- width: 10px;
56
- height: 10px;
57
- display: block;
58
- transform: rotate(45deg);
59
- transform-origin: 50% 50% 0;
60
- z-index: 1;
61
- background-color: #FFF;
62
- border: 1px solid #E6E8ED;
63
- }
@@ -1,86 +0,0 @@
1
- @keyframes vtable__menu-element--shown-animation {
2
- 0% {
3
- opacity: 0;
4
- }
5
- 100% {
6
- opacity: 1;
7
- }
8
- }
9
- .vtable__menu-element {
10
- position: absolute;
11
- box-sizing: border-box;
12
- border-radius: 4px;
13
- background-color: #fff;
14
- padding: 6px 0;
15
- /* pointer-events: none; */
16
- user-select: none;
17
- color: #000;
18
- max-width: 300px;
19
- z-index: 99999;
20
- border: #CCC 0.5px solid;
21
- cursor: default;
22
- width: max-content;
23
- box-shadow: 0px 8px 16px rgba(27, 31, 35, 0.12);
24
- }
25
- .vtable__menu-element--hidden {
26
- opacity: 0;
27
- /* transform: translate(-50%, -50%); */
28
- transition: opacity 75ms linear;
29
- z-index: -9999;
30
- }
31
- .vtable__menu-element--shown {
32
- opacity: 1;
33
- /* transform: translate(-50%, -50%); */
34
- animation: vtable__menu-element--shown-animation 150ms ease-out;
35
- }
36
- .vtable__menu-element__content {
37
- font-family: Roboto;
38
- font-size: 12px;
39
- overflow: hidden;
40
- display: inline-block;
41
- /* height: 100%; */
42
- line-height: 30px;
43
- }
44
- .vtable__menu-element__item {
45
- height: 32px;
46
- padding: 0px 12px;
47
- cursor: pointer;
48
- position: relative;
49
- display: flex;
50
- align-items: center;
51
- justify-content: flex-start;
52
- }
53
- .vtable__menu-element__item:hover {
54
- background-color: rgba(27, 31, 35, 0.06);
55
- }
56
- .vtable__menu-element__icon{
57
- /* vertical-align: top; */
58
- display: flex;
59
- /* line-height: 30px; */
60
- margin-right: 6px;
61
- }
62
- .vtable__menu-element__no-event {
63
- pointer-events: none;
64
- }
65
- .vtable__menu-element--select {
66
- color: #2E68CF;
67
- }.vtable__menu-element--normal {
68
- color: rgba(20, 20, 20, 0.9);;
69
- }
70
- .vtable__menu-element__split {
71
- height: 0px;
72
- border: 1px solid rgb(209, 213, 218);
73
- margin: 5px 0;
74
- }
75
- .vtable__menu-element__title {
76
- color: rgb(149, 149, 149);
77
- }
78
- .vtable__menu-element__arrow {
79
- position: absolute;
80
- right: 3px;
81
- font-weight: bold;
82
- margin-top: 1px;
83
- }
84
- .vtable__menu-element__item-text {
85
- margin-right: 15px;
86
- }
@@ -1,60 +0,0 @@
1
- .vtable .input-container {
2
- position: absolute;
3
- top:0px;
4
- }
5
- .vtable .table-scrollable {
6
- position: absolute;
7
- overflow: scroll;
8
- }
9
- .vtable .table-scrollable::-webkit-scrollbar-button{
10
- background-color: transparent;
11
- }
12
- .vtable .table-scrollable::-webkit-scrollbar-track-piece{
13
- background-color: transparent;
14
- }
15
- .vtable .table-scrollable::-webkit-scrollbar-corner {
16
- background-color: transparent;
17
- }
18
- .vtable .table-scrollable::-webkit-scrollbar-thumb {
19
- border-radius : 4px;
20
- background-color : rgba(100, 100, 100, .5);
21
- }
22
-
23
- .vtable .table-scroll-end-point {
24
- opacity: 0;
25
- position: relative;
26
- }
27
- .vtable {
28
- /* 设置overflow: auto 应该是为了滚动条的某个问题 但设置了auto之后 dom的下拉菜单只能显示在vtable节点中 超出会截断;现在去掉auto 暂时滚动条的问题没有发现 */
29
- /* overflow: auto; */
30
- position: relative;
31
- width: 100%;
32
- height: 100%;
33
- text-align: left;
34
- }
35
- .vtable > canvas {
36
- position: absolute;
37
- width: 0;
38
- height: 0;
39
- }
40
- .vtable .table-focus-control {
41
- position: relative !important;
42
- width: 1px;
43
- height: 1px;
44
- opacity: 0;
45
- padding: 0;
46
- margin: 0;
47
- box-sizing: border-box;
48
- pointer-events: none;
49
- max-width: 500px;
50
- max-height: 500px;
51
- float: none !important;
52
- }
53
- .vtable input.table-focus-control::-ms-clear {
54
- visibility: hidden;
55
- }
56
- .vtable input.table-focus-control.composition {
57
- opacity: 1;
58
- max-width: none;
59
- max-height: none;
60
- }
@@ -1,63 +0,0 @@
1
- @keyframes vtable__bubble-tooltip-element--shown-animation {
2
- 0% {
3
- opacity: 0;
4
- }
5
- 100% {
6
- opacity: 1;
7
- }
8
- }
9
- .vtable__bubble-tooltip-element {
10
- position: absolute;
11
-
12
- pointer-events: none;
13
- user-select: none;
14
- max-width: 300px;
15
- z-index: 99999;
16
-
17
- background: #FFFFFF;
18
- border: 1px solid #E6E8ED;
19
- box-sizing: border-box;
20
- border-radius: 4px;
21
- box-shadow: 0px 2px 4px rgb(27 31 35 / 8%);
22
- color: #141414;
23
- font-size: 13px;
24
- }
25
- .vtable__bubble-tooltip-element--hidden {
26
- opacity: 0;
27
- /* transform: translate(-50%, -50%); */
28
- transition: opacity 75ms linear;
29
- }
30
- .vtable__bubble-tooltip-element--shown {
31
- opacity: 1;
32
- /* transform: translate(-50%, -50%); */
33
- animation: vtable__bubble-tooltip-element--shown-animation 150ms ease-out;
34
- }
35
- .vtable__bubble-tooltip-element__content {
36
- /* font-size: .75rem; */
37
- padding: 6px 8px;
38
- min-height: 1em;
39
- line-height: 1.5;
40
- width: 100%;
41
- display: block;
42
- white-space: pre-wrap;
43
- margin: 0;
44
- box-sizing: border-box;
45
- overflow: hidden;
46
- word-wrap: break-word;
47
- position: relative;
48
- background-color: #FFF;
49
- z-index: 2;
50
- border-radius: 4px
51
- }
52
- .vtable__bubble-tooltip-element__triangle {
53
- /* font-size: .75rem; */
54
- position: absolute;
55
- width: 10px;
56
- height: 10px;
57
- display: block;
58
- transform: rotate(45deg);
59
- transform-origin: 50% 50% 0;
60
- z-index: 1;
61
- background-color: #FFF;
62
- border: 1px solid #E6E8ED;
63
- }