@widergy/energy-ui 3.192.3 → 3.193.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/components/UTRichText/index.js +1 -1
- package/dist/components/UTRichText/modules/table/TableHandles.js +1 -0
- package/dist/components/UTRichText/modules/table/TableMenu/index.js +1 -0
- package/dist/components/UTRichText/modules/table/TableMenu/styles.module.scss +75 -0
- package/dist/components/UTRichText/modules/table/TableMenuOverlay.js +1 -0
- package/dist/components/UTRichText/modules/table/ToolbarButton.js +1 -1
- package/dist/components/UTRichText/modules/table/actions.js +1 -0
- package/dist/components/UTRichText/modules/table/autoScroll.js +1 -0
- package/dist/components/UTRichText/modules/table/columnWidths.js +1 -0
- package/dist/components/UTRichText/modules/table/dragGhost.js +1 -0
- package/dist/components/UTRichText/modules/table/dragHandle.js +1 -0
- package/dist/components/UTRichText/modules/table/emailStyles.js +1 -0
- package/dist/components/UTRichText/modules/table/extensions.js +1 -1
- package/dist/components/UTRichText/modules/table/guideLine.js +1 -0
- package/dist/components/UTRichText/modules/table/index.js +1 -1
- package/dist/components/UTRichText/modules/table/menu.js +1 -0
- package/dist/components/UTRichText/modules/table/pm.js +1 -0
- package/dist/components/UTRichText/modules/table/rowResizing.js +1 -0
- package/dist/components/UTRichText/modules/table/selection.js +1 -0
- package/dist/components/UTRichText/styles.module.scss +156 -10
- package/dist/components/UTRichText/utils/contentBuilders.js +1 -1
- package/dist/constants/testIds.js +1 -1
- package/dist/esm/components/UTRichText/index.js +1 -1
- package/dist/esm/components/UTRichText/modules/table/TableHandles.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/TableMenu/index.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/TableMenu/styles.module.scss +75 -0
- package/dist/esm/components/UTRichText/modules/table/TableMenuOverlay.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/ToolbarButton.js +1 -1
- package/dist/esm/components/UTRichText/modules/table/actions.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/autoScroll.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/columnWidths.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/dragGhost.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/dragHandle.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/emailStyles.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/extensions.js +1 -1
- package/dist/esm/components/UTRichText/modules/table/guideLine.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/index.js +1 -1
- package/dist/esm/components/UTRichText/modules/table/menu.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/pm.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/rowResizing.js +1 -0
- package/dist/esm/components/UTRichText/modules/table/selection.js +1 -0
- package/dist/esm/components/UTRichText/styles.module.scss +156 -10
- package/dist/esm/components/UTRichText/utils/contentBuilders.js +1 -1
- package/dist/esm/constants/testIds.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/utils/hooks/useCSSVariables/dimensionTokens.js +1 -1
- package/dist/index.js +1 -1
- package/dist/utils/hooks/useCSSVariables/dimensionTokens.js +1 -1
- package/package.json +5 -1
- package/dist/components/UTRichText/modules/table/TableToolbar/index.js +0 -1
- package/dist/components/UTRichText/modules/table/TableToolbar/styles.module.scss +0 -13
- package/dist/esm/components/UTRichText/modules/table/TableToolbar/index.js +0 -1
- package/dist/esm/components/UTRichText/modules/table/TableToolbar/styles.module.scss +0 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# [3.193.0](https://github.com/widergy/energy-ui/compare/v3.192.3...v3.193.0) (2026-10-08)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* [AXCH-2476] líneas guía acotadas a la parte visible de la tabla ([ff1f31e](https://github.com/widergy/energy-ui/commit/ff1f31e28aa50efe22067b5ec17b35e7b4c8b8b3))
|
|
7
|
+
* dependencies ([#892](https://github.com/widergy/energy-ui/issues/892)) ([896b881](https://github.com/widergy/energy-ui/commit/896b8814593edfd2cda185547a7bc1e783a5b00c))
|
|
8
|
+
* reviewer fixes ([1e921e9](https://github.com/widergy/energy-ui/commit/1e921e9b442ce97f3efd2601521f900b0125b6eb))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* [AXCH-2381] webpack 4 compatibility + pm.js barrel ([033746c](https://github.com/widergy/energy-ui/commit/033746c79f628a34ea0efb52bb598b33ff82c8bc))
|
|
14
|
+
* [AXCH-2382] capa de selección y harness de foco ([c066986](https://github.com/widergy/energy-ui/commit/c0669869eae8160d17b87973ef86c2d9abfe5cfd))
|
|
15
|
+
* [AXCH-2383] plugin TableHandles: asas y resaltado ([e2aea17](https://github.com/widergy/energy-ui/commit/e2aea175f3103259b5978f9f9294dbeeee59e0ec))
|
|
16
|
+
* [AXCH-2384] componente TableMenu, tokens y validación de foco ([a73aa6f](https://github.com/widergy/energy-ui/commit/a73aa6f0231bfafcfe7a1d3ca04bd01e5fbe5634))
|
|
17
|
+
* [AXCH-2385] contrato de acciones de tabla y acciones nativas ([ec75563](https://github.com/widergy/energy-ui/commit/ec755639007fe992568107420f5f66d2b0172c80))
|
|
18
|
+
* [AXCH-2386] mover fila y columna desde el menú de tabla ([e00c773](https://github.com/widergy/energy-ui/commit/e00c77384686b3368cd2b527e62925609f4a68a6))
|
|
19
|
+
* [AXCH-2387] borrar contenido, copiar tabla y encabezados ([87a6688](https://github.com/widergy/energy-ui/commit/87a6688fb1e2e12e8ba4df8430af802ffe88c73e))
|
|
20
|
+
* [AXCH-2388] accesibilidad del menú de tabla ([a317ef4](https://github.com/widergy/energy-ui/commit/a317ef499cd184aa5cd398e20f12bfd40b7da0ca))
|
|
21
|
+
* [AXCH-2389] stories, README y test IDs del menú de tabla ([809d71f](https://github.com/widergy/energy-ui/commit/809d71f3c4c5af65ab428f7c2f06d9eab8593122))
|
|
22
|
+
* [AXCH-2390] retiro de la TableToolbar ([b8ba31e](https://github.com/widergy/energy-ui/commit/b8ba31e7aa1e2420f5365f5e26f0f704ef96a55c))
|
|
23
|
+
* [AXCH-2476] arrastrar filas y columnas, redimensionar filas y chevron de celda ([647de01](https://github.com/widergy/energy-ui/commit/647de01ba31ead9d467c6adae1f347db638ceb53))
|
|
24
|
+
|
|
1
25
|
## [3.192.3](https://github.com/widergy/energy-ui/compare/v3.192.2...v3.192.3) (2026-10-08)
|
|
2
26
|
|
|
3
27
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.propTypes=exports.default=void 0;var _react=require("@tiptap/react"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_propTypes=require("prop-types"),_react2=_interopRequireWildcard(require("react")),_classesUtils=require("../../utils/classesUtils.js"),_index=_interopRequireDefault(require("../UTFieldLabel/index.js")),_index2=_interopRequireDefault(require("../UTLabel/index.js")),_index3=_interopRequireWildcard(require("../UTValidation/index.js")),_utils=require("../UTValidation/utils.js"),_index4=_interopRequireDefault(require("./components/EditorSkeleton/index.js")),_index5=_interopRequireDefault(require("./components/SubmitAction/index.js")),_index6=_interopRequireDefault(require("./components/Toolbar/index.js")),_constants=require("./constants.js"),_useModuleResolution=_interopRequireDefault(require("./hooks/useModuleResolution.js")),_useRichTextEditor=_interopRequireDefault(require("./hooks/useRichTextEditor.js")),_utils2=require("./utils.js"),_stylesModule=_interopRequireDefault(require("./styles.module.scss"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var o,s,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(o=t?a:r){if(o.has(e))return o.get(e);o.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?o(l,t,s):l[t]=e[t]);return l})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const UTRichText=e=>{var t;let{actions:r,classNames:a={},dataTestId:o=_constants.TEST_IDS_RICH_TEXT.root,disabled:s=!1,error:l,helpText:i,loading:n=!1,moduleConfig:u={},modules:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.propTypes=exports.default=void 0;var _react=require("@tiptap/react"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_propTypes=require("prop-types"),_react2=_interopRequireWildcard(require("react")),_classesUtils=require("../../utils/classesUtils.js"),_index=_interopRequireDefault(require("../UTFieldLabel/index.js")),_index2=_interopRequireDefault(require("../UTLabel/index.js")),_index3=_interopRequireWildcard(require("../UTValidation/index.js")),_utils=require("../UTValidation/utils.js"),_index4=_interopRequireDefault(require("./components/EditorSkeleton/index.js")),_index5=_interopRequireDefault(require("./components/SubmitAction/index.js")),_index6=_interopRequireDefault(require("./components/Toolbar/index.js")),_constants=require("./constants.js"),_useModuleResolution=_interopRequireDefault(require("./hooks/useModuleResolution.js")),_useRichTextEditor=_interopRequireDefault(require("./hooks/useRichTextEditor.js")),_utils2=require("./utils.js"),_stylesModule=_interopRequireDefault(require("./styles.module.scss"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var o,s,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(o=t?a:r){if(o.has(e))return o.get(e);o.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((s=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(s.get||s.set)?o(l,t,s):l[t]=e[t]);return l})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const UTRichText=e=>{var t;let{actions:r,classNames:a={},dataTestId:o=_constants.TEST_IDS_RICH_TEXT.root,disabled:s=!1,error:l,helpText:i,loading:n=!1,moduleConfig:u={},modules:d,onBlur:p,onChange:_,onFocus:c,onSubmit:T,placeholder:f,readOnly:y=!1,required:m=!1,submitButtonProps:E,title:b,titleVariant:x=_constants.DEFAULT_PROPS.titleVariant,validations:q,value:R}=e;const[v,S]=(0,_react2.useState)(!1),I=(0,_useModuleResolution.default)({moduleConfig:u,modules:d}),j=(0,_react2.useMemo)(()=>I.flat(),[I]),h=(0,_react2.useMemo)(()=>(0,_classesUtils.mergeMultipleClassNames)(_stylesModule.default,a),[a]),D=(0,_react2.useMemo)(()=>j.map(e=>{var t;return{...e,extensions:null!==(t=e.resolvedExtensions)&&void 0!==t?t:e.extensions}}),[j]),g=(0,_react2.useCallback)(e=>{S(!0),null==c||c(e)},[c]),C=(0,_react2.useCallback)(e=>{S(!1),null==p||p(e)},[p]),O=(0,_react2.useRef)(!1),M=(0,_react2.useCallback)(()=>!(!O.current||!T)&&(T(),!0),[T]),k=(0,_useRichTextEditor.default)({activeModules:D,ariaLabel:b,dataTestId:_constants.TEST_IDS_RICH_TEXT.content,disabled:s,editorClassName:_stylesModule.default.editorContent,onBlur:C,onChange:_,onFocus:g,onSubmit:M,placeholder:f,readOnly:y,value:R}),U=null===(t=(0,_react.useEditorState)({editor:k,selector:e=>{let{editor:t}=e;return!t||t.isEmpty}}))||void 0===t||t,N=Boolean(T)&&!s&&!n&&!U;O.current=N;const P=(0,_react2.useMemo)(()=>(0,_isEmpty.default)(q)?l?(0,_utils.formatErrorToValidation)(l):null:q,[l,q]);return _react2.default.createElement("div",{className:h.container,"data-testid":o},b&&_react2.default.createElement(_index.default,{actions:r,dataTestId:_constants.TEST_IDS_RICH_TEXT.label,readOnly:y,required:m,size:x},b),_react2.default.createElement("div",{className:(0,_utils2.getFieldClassName)({classes:h,disabled:s,error:l,isFocused:v,readOnly:y}),"data-testid":_constants.TEST_IDS_RICH_TEXT.field},n?_react2.default.createElement(_index4.default,null):_react2.default.createElement(_react2.default.Fragment,null,!y&&_react2.default.createElement(_index6.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.toolbar.root,disabled:s,editor:k,moduleGroups:I}),_react2.default.createElement("div",{className:h.scrollArea},_react2.default.createElement(_react.EditorContent,{className:h.editorWrapper,editor:k})),k&&!y&&!s&&D.map(e=>{let{EditorOverlay:t,...r}=e;return t&&_react2.default.createElement(t,{editor:k,key:r.key,module:r})}),T&&!y&&_react2.default.createElement(_index5.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.submitButton,disabled:!N,loading:n,onSubmit:T,submitButtonProps:E}))),i&&_react2.default.createElement(_index2.default,{className:h.helpText,colorTheme:"gray",dataTestId:_constants.TEST_IDS_RICH_TEXT.helpText,variant:"small",withMarkdown:!0},i),P&&_react2.default.createElement(_index3.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.validation,validationData:P}))},propTypes=exports.propTypes={actions:(0,_propTypes.arrayOf)(_propTypes.object),classNames:(0,_propTypes.objectOf)(_propTypes.string),dataTestId:_propTypes.string,disabled:_propTypes.bool,error:(0,_propTypes.oneOfType)([_propTypes.bool,_propTypes.string]),helpText:_propTypes.string,loading:_propTypes.bool,moduleConfig:(0,_propTypes.objectOf)(_propTypes.object),modules:(0,_propTypes.arrayOf)((0,_propTypes.oneOf)(Object.values(_constants.MODULE_KEYS))),onBlur:_propTypes.func,onChange:_propTypes.func,onFocus:_propTypes.func,onSubmit:_propTypes.func,placeholder:_propTypes.string,readOnly:_propTypes.bool,required:_propTypes.bool,submitButtonProps:_propTypes.object,title:_propTypes.string,titleVariant:(0,_propTypes.oneOf)(Object.values(_constants.TITLE_VARIANTS)),validations:_index3.validationDataProptypes,value:_propTypes.object};UTRichText.propTypes=propTypes;var _default=exports.default=UTRichText;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableHandlesKey=exports.setActiveHandle=exports.getTableIndex=exports.getActiveHandleElement=exports.getActiveHandle=exports.focusHandle=exports.clearActiveHandle=exports.TableHandles=void 0;var _core=require("@tiptap/core"),_constants=require("../../constants.js"),_dragHandle=require("./dragHandle"),_pm=require("./pm"),_selection=require("./selection");const tableHandlesKey=exports.tableHandlesKey=new _pm.PluginKey("tableHandles"),HANDLE_CLASS="table-handle",ACTIVE_CLASS="".concat(HANDLE_CLASS,"--active"),VISIBLE_CLASS="".concat(HANDLE_CLASS,"--visible"),SELECTED_CELL_CLASS="selectedCell",DRAG_SOURCE_CLASS="table-drag-source",EDITOR_CLASS="has-table-handles",HANDLE_LABELS={[_selection.HANDLE_TYPES.cell]:e=>{let{col:t,row:n}=e;return"Opciones de la celda: fila ".concat(n+1,", columna ").concat(t+1)},[_selection.HANDLE_TYPES.column]:e=>{let{index:t}=e;return"Opciones de la columna ".concat(t+1)},[_selection.HANDLE_TYPES.row]:e=>{let{index:t}=e;return"Opciones de la fila ".concat(t+1)},[_selection.HANDLE_TYPES.table]:()=>"Opciones de la tabla"},getTableIndex=(e,t)=>{let n=0;return e.nodesBetween(0,t,(e,a)=>("table"===e.type.name&&a<t&&(n+=1),"table"!==e.type.name)),n};exports.getTableIndex=getTableIndex;const GRIP_DOTS={horizontal:[[5,9],[12,9],[19,9],[5,15],[12,15],[19,15]],vertical:[[9,5],[9,12],[9,19],[15,5],[15,12],[15,19]]},SVG_NS="http://www.w3.org/2000/svg",createChevronIcon=()=>{const e=document.createElementNS(SVG_NS,"svg");e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.setAttribute("aria-hidden","true");const t=document.createElementNS(SVG_NS,"polyline");return t.setAttribute("points","6 9 12 15 18 9"),e.appendChild(t),e},createGripIcon=e=>{const t=document.createElementNS(SVG_NS,"svg");return t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.setAttribute("stroke","currentColor"),t.setAttribute("stroke-width","2"),t.setAttribute("aria-hidden","true"),GRIP_DOTS[e].forEach(e=>{let[n,a]=e;const l=document.createElementNS(SVG_NS,"circle");l.setAttribute("cx",n),l.setAttribute("cy",a),l.setAttribute("r","1"),t.appendChild(l)}),t},isSameHandle=(e,t)=>!!e&&!!t&&e.type===t.type&&e.tablePos===t.tablePos&&e.index===t.index,setActiveHandle=(e,t)=>{const n=e.state.tr.setMeta(tableHandlesKey,{active:t}),a=(0,_selection.rebuildSelection)(n.doc,t);a&&n.setSelection(a),e.dispatch(n)};exports.setActiveHandle=setActiveHandle;const clearActiveHandle=e=>{const{selection:t}=e.state,n=t instanceof _pm.CellSelection,a=tableHandlesKey.getState(e.state);if(!(null!=a&&a.active||null!=a&&a.dragSource||n))return;const l=e.state.tr.setMeta(tableHandlesKey,{active:null,dragSource:null});n&&l.setSelection(_pm.Selection.near(l.doc.resolve(t.$anchorCell.pos+1))),e.dispatch(l)};exports.clearActiveHandle=clearActiveHandle;const setDragSource=(e,t)=>e.dispatch(e.state.tr.setMeta(tableHandlesKey,{active:null,dragSource:t})),getActiveHandle=e=>{var t,n;return null!==(t=null===(n=tableHandlesKey.getState(e))||void 0===n?void 0:n.active)&&void 0!==t?t:null};exports.getActiveHandle=getActiveHandle;const getActiveHandleElement=e=>e.dom.querySelector(".".concat(ACTIVE_CLASS));exports.getActiveHandleElement=getActiveHandleElement;const focusHandle=(e,t)=>{var n;const a=[".".concat(HANDLE_CLASS),'[data-table-pos="'.concat(t.tablePos,'"]'),'[data-handle-type="'.concat(t.type,'"]'),'[data-handle-index="'.concat(t.index,'"]')].join("");null===(n=e.dom.querySelector(a))||void 0===n||n.focus({preventScroll:!0})};exports.focusHandle=focusHandle;const buildHandleWidget=(e,t,n,a)=>_pm.Decoration.widget(e,e=>{const l=document.createElement("div");return l.className="".concat(HANDLE_CLASS," ").concat(HANDLE_CLASS,"--").concat(t.type).concat(n?" ".concat(ACTIVE_CLASS):""),l.contentEditable="false",l.tabIndex=-1,l.setAttribute("aria-haspopup","menu"),l.setAttribute("role","button"),l.setAttribute("aria-label",HANDLE_LABELS[t.type](t)),l.dataset.testid=_constants.TEST_IDS_RICH_TEXT.tableHandle[t.type],l.dataset.tableIndex=String(a),l.dataset.handleType=t.type,l.dataset.handleIndex=String(t.index),l.dataset.tablePos=String(t.tablePos),t.type===_selection.HANDLE_TYPES.cell?(l.dataset.handleRow=String(t.row),l.dataset.handleCol=String(t.col),l.appendChild(createChevronIcon())):l.appendChild(createGripIcon(t.type===_selection.HANDLE_TYPES.column?"horizontal":"vertical")),l.addEventListener("mousedown",n=>{n.preventDefault(),n.stopPropagation(),0===n.button&&(0,_dragHandle.trackHandlePointer)(e,t,n,{onClick:()=>setActiveHandle(e,t),onDragEnd:()=>clearActiveHandle(e),onDragStart:()=>setDragSource(e,t)})}),l.addEventListener("click",n=>{0===n.detail&&(n.preventDefault(),setActiveHandle(e,t))}),l.addEventListener("keydown",n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),n.stopPropagation(),setActiveHandle(e,t))}),l},{ignoreSelection:!0,key:"".concat(HANDLE_CLASS,"-").concat(t.type,"-").concat(t.tablePos,"-").concat(t.index,"-").concat(a,"-").concat(n?1:0),side:-1,stopEvent:()=>!0}),buildDecorations=(e,t,n)=>{const a=[];let l=-1;e.descendants((e,n)=>{if("table"!==e.type.name)return!0;l+=1;const o=_pm.TableMap.get(e),c=n+1,r=(e,n)=>a.push(buildHandleWidget((e=>c+e+1)(e),n,isSameHandle(n,t),l)),s=(e,t,a)=>r(e,{index:a,tablePos:n,type:t});for(let e=0;e<o.width;e++)0!==e&&o.map[e]===o.map[e-1]||s(o.map[e],_selection.HANDLE_TYPES.column,e);for(let e=0;e<o.height;e++){const t=o.map[e*o.width];0!==e&&t===o.map[(e-1)*o.width]||s(t,_selection.HANDLE_TYPES.row,e)}s(o.map[0],_selection.HANDLE_TYPES.table,0);const d=new Set;for(let e=0;e<o.height;e++)for(let t=0;t<o.width;t++){const a=o.map[e*o.width+t];d.has(a)||(d.add(a),r(a,{col:t,index:a,row:e,tablePos:n,type:_selection.HANDLE_TYPES.cell}))}return!1});const o=n||t,c=n?DRAG_SOURCE_CLASS:"selectedCell";return o&&(0,_selection.getHandleCellPositions)(e,o).forEach(t=>{const n=e.nodeAt(t);n&&a.push(_pm.Decoration.node(t,t+n.nodeSize,{class:c}))}),_pm.DecorationSet.create(e,a)},mapActiveHandle=(e,t)=>{const{deleted:n,pos:a}=e.mapping.mapResult(t.tablePos);if(n)return null;const l={...t,tablePos:a};return(0,_selection.getHandleCellPositions)(e.doc,l).length?l:null},nextActiveHandle=(e,t)=>{const n=e.getMeta(tableHandlesKey);return n&&"active"in n?n.active:t?e.selectionSet?null:e.docChanged?mapActiveHandle(e,t):t:null},hoveredCellAt=(e,t)=>{var n;const a=null==t||null===(n=t.closest)||void 0===n?void 0:n.call(t,"td, th");if(!a||!e.dom.contains(a))return null;let l;try{l=e.state.doc.resolve(e.posAtDOM(a,0)-1)}catch{return null}const o=l.node(-1);if(!o||"table"!==o.type.name)return null;const{left:c,top:r}=_pm.TableMap.get(o).findCell(l.pos-l.start(-1));return{column:c,row:r,tablePos:l.before(-1)}},isSameCell=(e,t)=>e===t||!!e&&!!t&&e.tablePos===t.tablePos&&e.row===t.row&&e.column===t.column,createHoverView=e=>{let t=null;const n=()=>{if(e.dom.querySelectorAll(".".concat(VISIBLE_CLASS)).forEach(e=>e.classList.remove(VISIBLE_CLASS)),!t)return;const n=".".concat(HANDLE_CLASS,'[data-table-pos="').concat(t.tablePos,'"]');e.dom.querySelectorAll(["".concat(n,'[data-handle-type="').concat(_selection.HANDLE_TYPES.column,'"][data-handle-index="').concat(t.column,'"]'),"".concat(n,'[data-handle-type="').concat(_selection.HANDLE_TYPES.row,'"][data-handle-index="').concat(t.row,'"]'),"".concat(n,'[data-handle-type="').concat(_selection.HANDLE_TYPES.table,'"]'),"".concat(n,'[data-handle-type="').concat(_selection.HANDLE_TYPES.cell,'"][data-handle-row="').concat(t.row,'"][data-handle-col="').concat(t.column,'"]')].join(",")).forEach(e=>e.classList.add(VISIBLE_CLASS))},a=a=>{const l=hoveredCellAt(e,a.target);isSameCell(l,t)||(t=l,n())},l=()=>{t=null,n()};return e.dom.addEventListener("mousemove",a),e.dom.addEventListener("mouseleave",l),{update:n,destroy:()=>{e.dom.removeEventListener("mousemove",a),e.dom.removeEventListener("mouseleave",l)}}},TableHandles=exports.TableHandles=_core.Extension.create({name:"tableHandles",addProseMirrorPlugins:()=>[new _pm.Plugin({key:tableHandlesKey,state:{init:(e,t)=>({active:null,decorations:buildDecorations(t.doc,null,null),dragSource:null}),apply(e,t,n,a){const l=e.getMeta(tableHandlesKey),o=nextActiveHandle(e,t.active),c=l&&"dragSource"in l?l.dragSource:t.dragSource;return e.docChanged||o!==t.active||c!==t.dragSource?{active:o,decorations:buildDecorations(a.doc,o,c),dragSource:c}:t}},props:{attributes:{class:EDITOR_CLASS},decorations:e=>tableHandlesKey.getState(e).decorations,handleKeyDown:(e,t)=>!("Escape"!==t.key||!getActiveHandle(e.state))&&(clearActiveHandle(e),!0)},view:createHoverView})]});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=require("prop-types"),_react=_interopRequireWildcard(require("react")),_index=_interopRequireDefault(require("../../../../UTIcon/index.js")),_index2=_interopRequireDefault(require("../../../../UTLabel/index.js")),_index3=_interopRequireDefault(require("../../../../UTPopper/index.js")),_index4=_interopRequireDefault(require("../../../../UTSwitch/index.js")),_stylesModule=_interopRequireDefault(require("./styles.module.scss"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var a,n,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(a=t?o:r){if(a.has(e))return a.get(e);a.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?a(l,t,n):l[t]=e[t]);return l})(e,t)}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},_extends.apply(null,arguments)}const MenuItem=e=>{let{item:t,onClose:r}=e;const o=void 0!==t.checked,a=()=>{t.disabled||(t.onSelect(),r())},n=e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),a())},l="".concat(_stylesModule.default.item," ").concat(t.disabled?_stylesModule.default.itemDisabled:""),s=_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_index.default,{className:_stylesModule.default.icon,colorTheme:"gray",name:t.icon}),_react.default.createElement(_index2.default,{className:_stylesModule.default.label,colorTheme:t.disabled?"gray":"dark"},t.label));return o?_react.default.createElement("div",{"aria-checked":t.checked,"aria-disabled":t.disabled||void 0,className:l,"data-testid":t.dataTestId,onClick:a,onKeyDown:n,role:"menuitemcheckbox",tabIndex:t.disabled?void 0:-1},s,_react.default.createElement("span",{className:_stylesModule.default.switch},_react.default.createElement(_index4.default,{disabled:t.disabled,value:t.checked,version:"V1"}))):_react.default.createElement("div",{"aria-disabled":t.disabled||void 0,className:l,"data-testid":t.dataTestId,onClick:a,onKeyDown:n,role:"menuitem",tabIndex:t.disabled?void 0:-1},s)};MenuItem.propTypes={item:(0,_propTypes.shape)({checked:_propTypes.bool,dataTestId:_propTypes.string,disabled:_propTypes.bool,icon:_propTypes.string,label:_propTypes.string,onSelect:_propTypes.func}),onClose:_propTypes.func};const VIEWPORT_MODIFIERS={flip:{boundariesElement:"viewport",padding:8},preventOverflow:{boundariesElement:"viewport",padding:8}},ITEM_SELECTOR='[role^="menuitem"][tabindex]',NAVIGATION_KEYS=["ArrowDown","ArrowUp","Home","End"],nextIndex=(e,t,r)=>"Home"===e?0:"End"===e?r-1:-1===t?"ArrowUp"===e?r-1:0:"ArrowDown"===e?(t+1)%r:(t-1+r)%r,MenuList=e=>{let{groups:t,items:r,label:o,menuProps:a,onClose:n,onEscape:l}=e;const s=(0,_react.useRef)(null),p=()=>{var e,t;return Array.from(null!==(e=null===(t=s.current)||void 0===t?void 0:t.querySelectorAll(ITEM_SELECTOR))&&void 0!==e?e:[])};(0,_react.useEffect)(()=>{var e;null===(e=p()[0])||void 0===e||e.focus({preventScroll:!0})},[]);return _react.default.createElement("div",_extends({},a,{"aria-label":o,className:_stylesModule.default.menu,onKeyDown:e=>{if("Escape"===e.key)return e.preventDefault(),e.stopPropagation(),void l();if(!NAVIGATION_KEYS.includes(e.key))return;e.preventDefault();const t=p();t.length&&t[nextIndex(e.key,t.indexOf(document.activeElement),t.length)].focus()},onMouseLeave:()=>{var e;null!==(e=s.current)&&void 0!==e&&e.contains(document.activeElement)&&s.current.focus({preventScroll:!0})},onMouseMove:e=>{var t,r;const o=null===(t=(r=e.target).closest)||void 0===t?void 0:t.call(r,'[role^="menuitem"]'),a=null!=o&&o.matches(ITEM_SELECTOR)?o:s.current;a&&document.activeElement!==a&&a.focus({preventScroll:!0})},ref:s,role:"menu",tabIndex:-1}),t.map((e,t)=>_react.default.createElement(_react.Fragment,{key:e.join("|")},t>0&&_react.default.createElement("div",{className:_stylesModule.default.separator,role:"separator"}),_react.default.createElement("div",{className:_stylesModule.default.group,role:"none"},e.map(e=>_react.default.createElement(MenuItem,{item:r[e],key:e,onClose:n}))))))};MenuList.propTypes={groups:(0,_propTypes.arrayOf)((0,_propTypes.arrayOf)(_propTypes.string)).isRequired,items:(0,_propTypes.objectOf)(_propTypes.object).isRequired,label:_propTypes.string,menuProps:_propTypes.object,onClose:_propTypes.func.isRequired,onEscape:_propTypes.func.isRequired};const TableMenu=e=>{let{anchor:t,groups:r,items:o,label:a,menuProps:n,onClose:l,onEscape:s,placement:p="bottom-start",rootProps:u}=e;return _react.default.createElement(_index3.default,_extends({},u,{anchor:t,className:_stylesModule.default.popper,classes:{paper:_stylesModule.default.paper},clickAwayListenerProps:{mouseEvent:"onMouseDown"},modifiers:VIEWPORT_MODIFIERS,onClose:l,placement:p}),_react.default.createElement(MenuList,{groups:r,items:o,label:a,menuProps:n,onClose:l,onEscape:null!=s?s:l}))};TableMenu.propTypes={anchor:_propTypes.object,groups:(0,_propTypes.arrayOf)((0,_propTypes.arrayOf)(_propTypes.string)).isRequired,items:(0,_propTypes.objectOf)(_propTypes.object).isRequired,label:_propTypes.string,menuProps:_propTypes.object,onClose:_propTypes.func.isRequired,onEscape:_propTypes.func,placement:_propTypes.string,rootProps:_propTypes.object};var _default=exports.default=TableMenu;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
.popper {
|
|
2
|
+
z-index: 1300;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.paper {
|
|
6
|
+
border-radius: var(--UT-richText-table-menu-radius);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.menu {
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
max-height: calc(100vh - 16px);
|
|
15
|
+
overflow-y: auto;
|
|
16
|
+
padding-bottom: var(--UT-richText-table-menu-padding-y);
|
|
17
|
+
padding-left: var(--UT-richText-table-menu-padding-x);
|
|
18
|
+
padding-right: var(--UT-richText-table-menu-padding-x);
|
|
19
|
+
padding-top: var(--UT-richText-table-menu-padding-y);
|
|
20
|
+
width: var(--UT-richText-table-menu-width);
|
|
21
|
+
|
|
22
|
+
&:focus {
|
|
23
|
+
outline: none;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.group {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
padding: var(--UT-richText-table-menu-group-padding-y) 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.separator {
|
|
34
|
+
background-color: var(--light04);
|
|
35
|
+
height: 1px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.item {
|
|
39
|
+
align-items: center;
|
|
40
|
+
border-radius: var(--UT-richText-table-menu-radius);
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
display: flex;
|
|
43
|
+
grid-gap: var(--UT-richText-table-menu-item-gap);
|
|
44
|
+
padding-bottom: var(--UT-richText-table-menu-item-padding-y);
|
|
45
|
+
padding-left: var(--UT-richText-table-menu-item-gap);
|
|
46
|
+
padding-right: var(--UT-richText-table-menu-item-gap);
|
|
47
|
+
padding-top: var(--UT-richText-table-menu-item-padding-y);
|
|
48
|
+
user-select: none;
|
|
49
|
+
|
|
50
|
+
&:focus {
|
|
51
|
+
background-color: var(--light04);
|
|
52
|
+
outline: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.itemDisabled {
|
|
57
|
+
cursor: default;
|
|
58
|
+
opacity: 0.5;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.icon {
|
|
62
|
+
flex-shrink: 0;
|
|
63
|
+
height: var(--UT-richText-table-menu-item-icon-size);
|
|
64
|
+
width: var(--UT-richText-table-menu-item-icon-size);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.label {
|
|
68
|
+
flex: 1 1 auto;
|
|
69
|
+
min-width: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.switch {
|
|
73
|
+
display: flex;
|
|
74
|
+
pointer-events: none;
|
|
75
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=require("@tiptap/react"),_propTypes=require("prop-types"),_react2=_interopRequireWildcard(require("react")),_constants=require("../../constants.js"),_menu=require("./menu.js"),_TableHandles=require("./TableHandles.js"),_index=_interopRequireDefault(require("./TableMenu/index.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,l=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,r,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(n=t?l:a){if(n.has(e))return n.get(e);n.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((r=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(r.get||r.set)?n(o,t,r):o[t]=e[t]);return o})(e,t)}const HANDLE_SELECTOR=".table-handle",TableMenuOverlay=e=>{var t;let{editor:a,module:l}=e;const{anchor:n,handle:r}=null!==(t=(0,_react.useEditorState)({editor:a,equalityFn:(e,t)=>(null==e?void 0:e.anchor)===(null==t?void 0:t.anchor)&&(null==e?void 0:e.doc)===(null==t?void 0:t.doc)&&(null==e?void 0:e.handle)===(null==t?void 0:t.handle),selector:e=>{let{editor:t}=e;const a=t&&!t.isDestroyed?(0,_TableHandles.getActiveHandle)(t.state):null;return{anchor:a?(0,_TableHandles.getActiveHandleElement)(t.view):null,doc:null==t?void 0:t.state.doc,handle:a}}}))&&void 0!==t?t:{},o=r?(0,_menu.buildTableMenu)(a,r,l.config.actions):null,u=(0,_react2.useCallback)(e=>{var t,l;null!=e&&null!==(t=e.target)&&void 0!==t&&null!==(l=t.closest)&&void 0!==l&&l.call(t,".table-handle")||(0,_TableHandles.clearActiveHandle)(a.view)},[a]),i=(0,_react2.useCallback)(()=>{const{view:e}=a,t=(0,_TableHandles.getActiveHandle)(e.state);(0,_TableHandles.clearActiveHandle)(e),t&&(0,_TableHandles.focusHandle)(e,t)},[a]);if(!n||!o||0===o.groups.length)return null;const d=(0,_TableHandles.getTableIndex)(a.state.doc,r.tablePos);return _react2.default.createElement(_index.default,{anchor:n,groups:o.groups,items:o.items,key:"".concat(r.type,"-").concat(r.tablePos,"-").concat(r.index),label:n.getAttribute("aria-label"),menuProps:{"data-table-index":d,"data-testid":_constants.TEST_IDS_RICH_TEXT.tableMenu[r.type].root},onClose:u,onEscape:i,placement:"right-start",rootProps:{"data-table-index":d,"data-testid":_constants.TEST_IDS_RICH_TEXT.tableMenu.root}})};TableMenuOverlay.propTypes={editor:_propTypes.object,module:(0,_propTypes.shape)({config:_propTypes.object})};var _default=exports.default=TableMenuOverlay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=require("prop-types"),_react=_interopRequireWildcard(require("react")),_index=_interopRequireDefault(require("../../../UTButton/index.js")),_index2=_interopRequireDefault(require("../../../UTTooltip/index.js")),_constants=require("../../constants.js")
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=require("prop-types"),_react=_interopRequireWildcard(require("react")),_index=_interopRequireDefault(require("../../../UTButton/index.js")),_index2=_interopRequireDefault(require("../../../UTTooltip/index.js")),_constants=require("../../constants.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,a,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=t?o:r){if(n.has(e))return n.get(e);n.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?n(i,t,a):i[t]=e[t]);return i})(e,t)}const INSERT_TABLE_DEFAULTS={cols:3,rows:3,withHeaderRow:!0},TableToolbarButton=e=>{var t;let{disabled:r,editor:o,module:n}=e;const{allowInsert:a}=n.config||n.defaultConfig,i=(0,_react.useCallback)(()=>{if(!o.isActive("table"))return void o.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run();const{$from:e}=o.state.selection;for(let t=e.depth;t>0;t--)if("table"===e.node(t).type.name){const r=e.after(t);return void o.chain().insertContentAt(r,{type:"paragraph"}).setTextSelection(r+1).insertTable(INSERT_TABLE_DEFAULTS).run()}o.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run()},[o]);return a?_react.default.createElement(_index2.default,{arrow:!1,content:"Insertar tabla",tippyProps:{appendTo:()=>document.body,interactive:!1}},_react.default.createElement("div",null,_react.default.createElement(_index.default,{colorTheme:_constants.TOOLBAR_BUTTON.inactive.colorTheme,dataTestId:null===(t=n.testIds)||void 0===t?void 0:t.toolbarButton,disabled:r,LeftIcon:"IconTable",onClick:i,size:_constants.TOOLBAR_BUTTON.size,variant:_constants.TOOLBAR_BUTTON.inactive.variant}))):null};TableToolbarButton.propTypes={disabled:_propTypes.bool,editor:_propTypes.object,module:(0,_propTypes.shape)({config:_propTypes.object,defaultConfig:_propTypes.object,key:_propTypes.string,testIds:_propTypes.object})};var _default=exports.default=TableToolbarButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TABLE_ACTION_PRESETS=exports.TABLE_ACTIONS=exports.DEFAULT_TABLE_ACTIONS=void 0;const TABLE_ACTIONS=exports.TABLE_ACTIONS={addColumnAfter:"addColumnAfter",addColumnBefore:"addColumnBefore",addRowAfter:"addRowAfter",addRowBefore:"addRowBefore",clearCell:"clearCell",clearColumn:"clearColumn",clearRow:"clearRow",clearTable:"clearTable",copyTable:"copyTable",deleteColumn:"deleteColumn",deleteRow:"deleteRow",deleteTable:"deleteTable",moveColumnLeft:"moveColumnLeft",moveColumnRight:"moveColumnRight",moveRowDown:"moveRowDown",moveRowUp:"moveRowUp",toggleHeaderColumn:"toggleHeaderColumn",toggleHeaderRow:"toggleHeaderRow"},DEFAULT_TABLE_ACTIONS=exports.DEFAULT_TABLE_ACTIONS=Object.values(TABLE_ACTIONS),TABLE_ACTION_PRESETS=exports.TABLE_ACTION_PRESETS={contentOnly:[TABLE_ACTIONS.clearCell,TABLE_ACTIONS.clearRow,TABLE_ACTIONS.clearColumn,TABLE_ACTIONS.clearTable,TABLE_ACTIONS.copyTable],noDestructive:DEFAULT_TABLE_ACTIONS.filter(e=>e!==TABLE_ACTIONS.deleteTable&&e!==TABLE_ACTIONS.clearTable)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scrollParentOf=exports.createAutoScroller=exports.clampToContainer=void 0;const EDGE=32,MAX_STEP=24,SCROLL_KEYS={x:"scrollLeft",y:"scrollTop"},scrollParentOf=(t,e)=>{const o="y"===e?"overflowY":"overflowX";for(let e=null==t?void 0:t.parentElement;e;e=e.parentElement)if(/(auto|scroll)/.test(getComputedStyle(e)[o]))return e;return null};exports.scrollParentOf=scrollParentOf;const CLAMP_INSET=8,clampToContainer=(t,e,o)=>{const{bottom:l,left:n,right:r,top:c}=t.getBoundingClientRect(),[a,s]="y"===e?[c,l]:[n,r];return Math.min(Math.max(o,a+8),s-8)};exports.clampToContainer=clampToContainer;const createAutoScroller=function(t,e){let{grow:o,onScroll:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=SCROLL_KEYS[e];let r=null,c=null;const a=()=>{if(c=null,null===r)return;const s=(()=>{const{bottom:o,left:l,right:n,top:c}=t.getBoundingClientRect(),[a,s]="y"===e?[c,o]:[l,n];return r>s-32?Math.min(24,Math.ceil((r-(s-32))/4)):r<a+32?-Math.min(24,Math.ceil((a+32-r)/4)):0})();if(!s)return;const u=!!o&&o(s),i=t[n];t[n]=i+s;const p=t[n]!==i;p&&l&&l(),(p||u)&&(c=requestAnimationFrame(a))};return{stop:()=>{r=null,null!==c&&cancelAnimationFrame(c),c=null},update:t=>{r=t,null===c&&(c=requestAnimationFrame(a))}}};exports.createAutoScroller=createAutoScroller;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.columnRects=exports.ColumnWidths=void 0;var _core=require("@tiptap/core"),_autoScroll=require("./autoScroll"),_pm=require("./pm");const columnRects=(e,t)=>{const o=e.state.doc.nodeAt(t),n=_pm.TableMap.get(o),r=t+1;return Array.from({length:n.width},(t,o)=>{const l=Array.from({length:n.height},(e,t)=>n.map[t*n.width+o]),s=l.find(e=>{const{left:t,right:o}=n.findCell(e);return o-t===1});return e.nodeDOM(r+(null!=s?s:l[0])).getBoundingClientRect()})};exports.columnRects=columnRects;const tablePosAround=(e,t)=>{const o=e.resolve(t);for(let{depth:e}=o;e>0;e--)if("table"===o.node(e).type.name)return o.before(e);return null},hasWidth=e=>Array.isArray(e.attrs.colwidth)&&e.attrs.colwidth.every(e=>e>0),freezeColumnWidths=(e,t)=>{const o=e.state.doc.nodeAt(t),n=_pm.TableMap.get(o),r=Array.from(new Set(n.map));if(r.every(e=>hasWidth(o.nodeAt(e))))return;const l=columnRects(e,t).map(e=>Math.round(e.width)),s=t+1,{tr:i}=e.state;r.forEach(e=>{const t=o.nodeAt(e),{left:r,right:d}=n.findCell(e);i.setNodeMarkup(s+e,null,{...t.attrs,colwidth:l.slice(r,d)})}),e.dispatch(i.setMeta("addToHistory",!1))},fixedWidths=e=>{const t=_pm.TableMap.get(e);return Array.from(new Set(t.map)).every(t=>hasWidth(e.nodeAt(t)))?Array.from({length:t.width},(o,n)=>{const r=t.map[n];return e.nodeAt(r).attrs.colwidth[n-t.findCell(r).left]}):null},syncTableWidths=e=>{e.state.doc.descendants((t,o)=>{if("table"!==t.type.name)return!0;const n=e.nodeDOM(o),r=n&&("TABLE"===n.nodeName?n:n.querySelector("table")),l=fixedWidths(t);return r&&(r.style.width=l?"".concat(l.reduce((e,t)=>e+t,0),"px"):""),!1})},FORWARDED=Symbol("columnResizeForwarded"),followColumnResize=(e,t)=>{const o=e.nodeDOM(t),n=o&&("TABLE"===o.nodeName?o:o.querySelector("table")),r=(0,_autoScroll.scrollParentOf)(n,"x");if(!r)return;const l=r.scrollLeft;let s=null,i=0;const d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const o=(0,_autoScroll.clampToContainer)(r,"x",s)+r.scrollLeft-l+t,n=new MouseEvent(e,{bubbles:!0,clientX:o,clientY:i});n[FORWARDED]=!0,window.dispatchEvent(n)},a=(0,_autoScroll.createAutoScroller)(r,"x",{grow:e=>(d("mousemove",e),e>0),onScroll:()=>d("mousemove")}),c=e=>{e[FORWARDED]||(e.stopImmediatePropagation(),s=e.clientX,i=e.clientY,d("mousemove"),a.update(s))},u=e=>{e[FORWARDED]||(e.stopImmediatePropagation(),a.stop(),window.removeEventListener("mousemove",c,!0),window.removeEventListener("mouseup",u,!0),null===s&&(s=e.clientX),d("mouseup"))};window.addEventListener("mousemove",c,!0),window.addEventListener("mouseup",u,!0)},ColumnWidths=exports.ColumnWidths=_core.Extension.create({name:"columnWidths",addProseMirrorPlugins:()=>[new _pm.Plugin({key:new _pm.PluginKey("columnWidths"),view:e=>{const t=t=>{if(0!==t.button||!e.editable)return;const o=_pm.columnResizingPluginKey.getState(e.state);if(null==o||!o.dragging||o.activeHandle<0)return;const n=tablePosAround(e.state.doc,o.activeHandle);null!==n&&(freezeColumnWidths(e,n),followColumnResize(e,n))};return e.dom.addEventListener("mousedown",t),syncTableWidths(e),{destroy:()=>e.dom.removeEventListener("mousedown",t),update:()=>syncTableWidths(e)}}})]});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createDragGhost=void 0;var _pm=require("./pm"),_selection=require("./selection");const COPIED_STYLES=["backgroundColor","borderBottom","borderLeft","borderRight","borderTop","color","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","verticalAlign"],SHADOW="0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)",cloneCell=e=>{const{height:t,width:o}=e.getBoundingClientRect(),n=getComputedStyle(e),r=e.cloneNode(!0);return r.removeAttribute("class"),r.querySelectorAll(".table-handle, .column-resize-handle").forEach(e=>e.remove()),r.querySelectorAll("*").forEach(e=>{e.style.margin="0"}),COPIED_STYLES.forEach(e=>{r.style[e]=n[e]}),Object.assign(r.style,{boxSizing:"border-box",height:"".concat(t,"px"),position:"static",width:"".concat(o,"px")}),r},appendRow=(e,t)=>{const o=document.createElement("tr");t.forEach(e=>o.appendChild(cloneCell(e))),e.appendChild(o)},createDragGhost=(e,t,o,n,r)=>{const l=t.type===_selection.HANDLE_TYPES.row,a=document.createElement("table");Object.assign(a.style,{borderCollapse:"collapse",boxShadow:SHADOW,left:"0",margin:"0",opacity:"0.85",pointerEvents:"none",position:"fixed",tableLayout:"fixed",top:"0",zIndex:"1400"});const i=document.createElement("tbody");let c;if(a.appendChild(i),l){const e=o.rows[t.index];c=e.getBoundingClientRect(),appendRow(i,Array.from(e.cells))}else{const n=_pm.TableMap.get(e.state.doc.nodeAt(t.tablePos)),r=t.tablePos+1,l=Array.from(new Set(Array.from({length:n.height},(e,o)=>n.map[o*n.width+t.index])),t=>e.nodeDOM(r+t));l.forEach(e=>appendRow(i,[e])),c={left:l[0].getBoundingClientRect().left,top:o.getBoundingClientRect().top}}document.body.appendChild(a);const p=n-c.left,d=r-c.top,s=(e,t)=>{const o=l?c.left:e-p,n=l?t-d:c.top;a.style.transform="translate(".concat(o,"px, ").concat(n,"px)")};return s(n,r),{move:s,remove:()=>a.remove()}};exports.createDragGhost=createDragGhost;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.trackHandlePointer=exports.isHeaderLocked=void 0;var _autoScroll=require("./autoScroll"),_extensions=require("./extensions"),_columnWidths=require("./columnWidths"),_dragGhost=require("./dragGhost"),_guideLine=require("./guideLine"),_pm=require("./pm"),_selection=require("./selection");const DRAG_THRESHOLD=4,MOVE_COMMANDS={[_selection.HANDLE_TYPES.column]:_pm.moveTableColumn,[_selection.HANDLE_TYPES.row]:_pm.moveTableRow},isHeaderLocked=(e,t)=>0===t.index&&(t.type===_selection.HANDLE_TYPES.row&&(0,_extensions.hasHeaderRow)(e,t.tablePos)||t.type===_selection.HANDLE_TYPES.column&&(0,_extensions.hasHeaderColumn)(e,t.tablePos));exports.isHeaderLocked=isHeaderLocked;const firstMovableIndex=(e,t)=>(t.type===_selection.HANDLE_TYPES.row?_extensions.hasHeaderRow:_extensions.hasHeaderColumn)(e,t.tablePos)?1:0,tableElementAt=(e,t)=>{const o=e.nodeDOM(t);return o?"TABLE"===o.nodeName?o:o.querySelector("table"):null},trackRects=(e,t,o)=>t.type===_selection.HANDLE_TYPES.row?Array.from(o.rows,e=>e.getBoundingClientRect()):(0,_columnWidths.columnRects)(e,t.tablePos),canMove=(e,t,o)=>{if(o===t.index)return!1;const n=(0,_selection.rebuildSelection)(e.state.doc,t);if(!n)return!1;const r=e.state.apply(e.state.tr.setSelection(n));return MOVE_COMMANDS[t.type]({from:t.index,select:!1,to:o})(r)},beginDrag=(e,t,o,n)=>{const r=tableElementAt(e,t.tablePos);if(!r)return null;const l=t.type===_selection.HANDLE_TYPES.row,s=firstMovableIndex(e.state,t),i=(0,_guideLine.createGuideLine)(e);i.element.dataset.dropIndex="";let c=null,a=null;const d=(0,_dragGhost.createDragGhost)(e,t,r,o,n),u=trackRects(e,t,r)[t.index],m=l?u.top:u.left,p=l?u.height:u.width,_=l?n:o,E=l?"y":"x",v=(0,_autoScroll.scrollParentOf)(r,E);let h=null;const S=o=>{d.move(o.clientX,o.clientY);const n=trackRects(e,t,r),u=(l?o.clientY:o.clientX)-_,E=m+u+(u>0?p:0),v=Math.max(s,n.filter(e=>(e=>l?e.top+e.height/2:e.left+e.width/2)(e)<E).length);if(v===a)return;a=v;const h=v>t.index?v-1:v;if(c=canMove(e,t,h)?h:null,null===c)return i.hide(),void(i.element.dataset.dropIndex="");i.element.dataset.dropIndex=String(c);const S=0===v?n[0]:n[v-1],x=l?0===v?S.top:S.bottom:0===v?S.left:S.right;l?i.horizontal(r,x):i.vertical(r,x)},x=v&&(0,_autoScroll.createAutoScroller)(v,E,{onScroll:()=>{a=null,S(h)}}),y=()=>{null==x||x.stop(),i.remove(),d.remove()};return{cancel:y,drop:()=>{if(y(),null===c)return;const o=(0,_selection.rebuildSelection)(e.state.doc,t);o&&(e.dispatch(e.state.tr.setSelection(o)),MOVE_COMMANDS[t.type]({from:t.index,to:c})(e.state,e.dispatch))},update:e=>{h=e,S(e),null==x||x.update(l?e.clientY:e.clientX)}}},trackHandlePointer=(e,t,o,n)=>{let{onClick:r,onDragEnd:l,onDragStart:s}=n;const i=!!MOVE_COMMANDS[t.type]&&!isHeaderLocked(e.state,t),c=o.clientX,a=o.clientY,{body:d}=document,u=d.style.cursor;let m=null,p=!1;const _={},E=()=>{document.removeEventListener("mousemove",_.move),document.removeEventListener("mouseup",_.up),document.removeEventListener("keydown",_.keyDown,!0),d.style.cursor=u};_.move=o=>{if(!m){if(Math.hypot(o.clientX-c,o.clientY-a)<4)return;if(p=!0,!i)return;if(m=beginDrag(e,t,c,a),!m)return;d.style.cursor="grabbing",s()}m.update(o)},_.up=()=>{E(),m?(m.drop(),l(),e.focus()):p||r()},_.keyDown=e=>{"Escape"===e.key&&m&&(e.preventDefault(),e.stopPropagation(),E(),m.cancel(),l())},document.addEventListener("mousemove",_.move),document.addEventListener("mouseup",_.up),document.addEventListener("keydown",_.keyDown,!0)};exports.trackHandlePointer=trackHandlePointer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HEADER_CELL_EMAIL_STYLE=exports.DATA_CELL_EMAIL_STYLE=void 0;const HEADER_CELL_EMAIL_STYLE=exports.HEADER_CELL_EMAIL_STYLE="border: 1px solid #CCCCCC; padding: 8px 12px; text-align: left; font-family: inherit; font-weight: 600; background-color: #F5F5F5;",DATA_CELL_EMAIL_STYLE=exports.DATA_CELL_EMAIL_STYLE="border: 1px solid #CCCCCC; padding: 8px 12px; text-align: left; font-family: inherit;";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EnergyTableRow=exports.EnergyTableHeader=exports.EnergyTableCell=exports.EnergyTable=exports.CellFocus=void 0;var _core=require("@tiptap/core"),_extensionTable=require("@tiptap/extension-table"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableToTabSeparated=exports.hasHeaderRow=exports.hasHeaderColumn=exports.TableMove=exports.TableActions=exports.EnergyTableRow=exports.EnergyTableHeader=exports.EnergyTableCell=exports.EnergyTable=exports.CellFocus=void 0;var _core=require("@tiptap/core"),_extensionTable=require("@tiptap/extension-table"),_emailStyles=require("./emailStyles"),_pm=require("./pm");const buildMoveCommand=(e,t)=>l=>a=>{let r,{dispatch:o,state:n}=a;try{r=(0,_pm.selectedRect)(n)}catch{return!1}const s="row"===e?r.top:r.left,i="row"===e?r.map.height:r.map.width,d=s+l;return!(d<0||d>=i)&&t({from:s,to:d})(n,o)},TableMove=exports.TableMove=_core.Extension.create({name:"tableMove",addCommands:()=>({moveColumn:buildMoveCommand("column",_pm.moveTableColumn),moveRow:buildMoveCommand("row",_pm.moveTableRow)})}),CELL_MIN_WIDTH=72,EnergyTable=exports.EnergyTable=_extensionTable.Table.extend({addAttributes(){var e;return{...null===(e=this.parent)||void 0===e?void 0:e.call(this),style:{default:null,parseHTML:e=>e.getAttribute("style")||null,renderHTML:e=>e.style?{style:e.style}:{}}}},addKeyboardShortcuts(){var e;return{...null===(e=this.parent)||void 0===e?void 0:e.call(this),"Mod-Alt-t":()=>this.editor.commands.insertTable({cols:3,rows:3,withHeaderRow:!0})}}}).configure({cellMinWidth:72,resizable:!0}),EnergyTableRow=exports.EnergyTableRow=_extensionTable.TableRow.extend({addAttributes(){var e;return{...null===(e=this.parent)||void 0===e?void 0:e.call(this),style:{default:null,parseHTML:e=>e.getAttribute("style")||null,renderHTML:e=>e.style?{style:e.style}:{}}}}}),EnergyTableHeader=exports.EnergyTableHeader=_extensionTable.TableHeader.extend({addAttributes(){var e;return{...null===(e=this.parent)||void 0===e?void 0:e.call(this),style:{default:null,parseHTML:e=>e.getAttribute("style")||null,renderHTML:e=>e.style?{style:e.style}:{}}}}}),EnergyTableCell=exports.EnergyTableCell=_extensionTable.TableCell.extend({addAttributes(){var e;return{...null===(e=this.parent)||void 0===e?void 0:e.call(this),style:{default:null,parseHTML:e=>e.getAttribute("style")||null,renderHTML:e=>e.style?{style:e.style}:{}}}}}),uniqueCells=e=>Array.from(new Set(e)),isHeaderCell=(e,t)=>{var l;return"tableHeader"===(null===(l=e.nodeAt(t))||void 0===l?void 0:l.type.name)},hasHeaderRow=(e,t)=>{const l=e.doc.nodeAt(t);if(!l||"table"!==l.type.name)return!1;const a=_pm.TableMap.get(l);return 0!==a.height&&0!==a.width&&uniqueCells(a.map.slice(0,a.width)).every(e=>isHeaderCell(l,e))};exports.hasHeaderRow=hasHeaderRow;const hasHeaderColumn=(e,t)=>{const l=e.doc.nodeAt(t);if(!l||"table"!==l.type.name)return!1;const a=_pm.TableMap.get(l);if(0===a.height||0===a.width)return!1;const r=hasHeaderRow(e,t)?1:0;if(r>=a.height)return!1;const o=Array.from({length:a.height-r},(e,t)=>{const l=r+t;return a.map[l*a.width]});return uniqueCells(o).every(e=>isHeaderCell(l,e))};exports.hasHeaderColumn=hasHeaderColumn;const tableToTabSeparated=e=>{const t=[];return e.forEach(e=>{const l=[];e.forEach(e=>l.push(e.textContent.replace(/\n/g," "))),t.push(l.join("\t"))}),t.join("\n")};exports.tableToTabSeparated=tableToTabSeparated;const tableToHtml=(e,t)=>{const l=_pm.DOMSerializer.fromSchema(t),a=document.createElement("div");return a.appendChild(l.serializeNode(e)),a.innerHTML},clearCells=(e,t,l,a,r)=>{if(!r)return!0;const{tr:o}=a;return uniqueCells(e).forEach(e=>{const a=t.nodeAt(e);if(!a)return;const r=a.type.createAndFill().content;a.content.size<=r.size||o.replaceWith(o.mapping.map(l+e+1),o.mapping.map(l+e+a.nodeSize-1),r)}),o.docChanged&&r(o.scrollIntoView()),!0},buildClearCommand=e=>()=>t=>{let l,{state:a,dispatch:r}=t;try{l=(0,_pm.selectedRect)(a)}catch{return!1}return clearCells(e(l),l.table,l.tableStart,a,r)},normalizeStyle=e=>(e||"").replace(/\s+/g,"").toLowerCase(),HEADER_STYLE=normalizeStyle(_emailStyles.HEADER_CELL_EMAIL_STYLE),DATA_STYLE=normalizeStyle(_emailStyles.DATA_CELL_EMAIL_STYLE),swapCellEmailStyles=(e,t)=>{const l=e.doc.nodeAt(t);l&&"table"===l.type.name&&l.descendants((l,a)=>{if("tableHeader"!==l.type.name&&"tableCell"!==l.type.name)return!0;const r="tableHeader"===l.type.name;return normalizeStyle(l.attrs.style)===(r?DATA_STYLE:HEADER_STYLE)&&e.setNodeMarkup(t+1+a,null,{...l.attrs,style:r?_emailStyles.HEADER_CELL_EMAIL_STYLE:_emailStyles.DATA_CELL_EMAIL_STYLE}),!1})},buildToggleHeader=e=>t=>{let l,{state:a,dispatch:r}=t;try{l=(0,_pm.selectedRect)(a)}catch{return!1}const o=l.tableStart-1;return(0,_pm.toggleHeader)(e)(a,r&&(e=>{swapCellEmailStyles(e,o),r(e)}))},TableActions=exports.TableActions=_core.Extension.create({name:"tableActions",addCommands:()=>({clearCell:buildClearCommand(e=>e.map.cellsInRect(e)),clearRow:buildClearCommand(e=>{let{map:t,top:l}=e;const a=[];for(let e=0;e<t.width;e++)a.push(t.map[l*t.width+e]);return a}),clearColumn:buildClearCommand(e=>{let{map:t,left:l}=e;const a=[];for(let e=0;e<t.height;e++)a.push(t.map[e*t.width+l]);return a}),clearTable:buildClearCommand(e=>{let{map:t}=e;return t.map}),copyTable:()=>e=>{let t,{state:l,dispatch:a}=e;try{t=(0,_pm.selectedRect)(l)}catch{return!1}if(!a)return!0;const{table:r}=t,o=tableToTabSeparated(r),n=tableToHtml(r,l.schema);return(async()=>{var e;if(!window.ClipboardItem||null===(e=navigator.clipboard)||void 0===e||!e.write)throw new Error("ClipboardItem unsupported");await navigator.clipboard.write([new window.ClipboardItem({"text/html":new Blob([n],{type:"text/html"}),"text/plain":new Blob([o],{type:"text/plain"})})])})().catch(()=>navigator.clipboard.writeText(o)).catch(()=>{}),!0},toggleHeaderColumn:()=>buildToggleHeader("column"),toggleHeaderRow:()=>buildToggleHeader("row")})}),CellFocus=exports.CellFocus=_core.Extension.create({name:"cellFocus",addProseMirrorPlugins:()=>[new _pm.Plugin({state:{init:()=>!1,apply(e,t){const l=e.getMeta("cellFocus");return void 0!==l?l:t}},props:{handleDOMEvents:{focus:e=>(e.dispatch(e.state.tr.setMeta("cellFocus",!0)),!1),blur:e=>(e.dispatch(e.state.tr.setMeta("cellFocus",!1)),!1)},decorations(e){if(!this.getState(e))return _pm.DecorationSet.empty;const{doc:t,selection:l}=e,{$from:a}=l,r=[];for(let e=a.depth;e>0;e--){const t=a.node(e);if("tableCell"===t.type.name||"tableHeader"===t.type.name){const l=a.before(e);r.push(_pm.Decoration.node(l,l+t.nodeSize,{class:"focused-cell"}));break}}return _pm.DecorationSet.create(t,r)}}})]});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createGuideLine=void 0;const visibleRectOf=t=>{let{bottom:e,left:o,right:i,top:n}=t.getBoundingClientRect();for(let c=t.parentElement;c&&c!==document.body;c=c.parentElement){const{overflowX:t,overflowY:l}=getComputedStyle(c),r=c.getBoundingClientRect();"visible"!==t&&(o=Math.max(o,r.left),i=Math.min(i,r.right)),"visible"!==l&&(n=Math.max(n,r.top),e=Math.min(e,r.bottom))}return{bottom:e,left:o,right:i,top:n}},createGuideLine=t=>{const e=getComputedStyle(t.dom),o=e.getPropertyValue("--UT-richText-table-drop-indicator-width").trim()||"2px",i=document.createElement("div");Object.assign(i.style,{backgroundColor:e.getPropertyValue("--actionAccent04").trim(),display:"none",pointerEvents:"none",position:"fixed",zIndex:"1400"}),document.body.appendChild(i);const n=()=>{i.style.display="none"};return{element:i,hide:n,horizontal:(t,e)=>{const{bottom:c,left:l,right:r,top:a}=visibleRectOf(t);e<a||e>c||r<=l?n():Object.assign(i.style,{display:"block",height:o,left:"".concat(l,"px"),top:"calc(".concat(e,"px - ").concat(o," / 2)"),width:"".concat(r-l,"px")})},remove:()=>i.remove(),vertical:(t,e)=>{const{bottom:c,left:l,right:r,top:a}=visibleRectOf(t);e<l||e>r||c<=a?n():Object.assign(i.style,{display:"block",height:"".concat(c-a,"px"),left:"calc(".concat(e,"px - ").concat(o," / 2)"),top:"".concat(a,"px"),width:o})}}};exports.createGuideLine=createGuideLine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _constants=require("../../constants.js"),_ToolbarButton=_interopRequireDefault(require("./ToolbarButton.js")),_extensions=require("./extensions.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default={defaultConfig:{allowInsert:!0,allowStructureEdit:!0},extensions:e=>[_extensions.EnergyTable,_extensions.EnergyTableRow,_extensions.EnergyTableHeader,_extensions.EnergyTableCell,_extensions.CellFocus],key:_constants.MODULE_KEYS.table,testIds:{toolbarButton:_constants.TEST_IDS_RICH_TEXT.toolbar.table},ToolbarButton:_ToolbarButton.default,toolbarButton:{isActive:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _constants=require("../../constants.js"),_actions=require("./actions.js"),_ToolbarButton=_interopRequireDefault(require("./ToolbarButton.js")),_extensions=require("./extensions.js"),_TableHandles=require("./TableHandles.js"),_TableMenuOverlay=_interopRequireDefault(require("./TableMenuOverlay.js")),_columnWidths=require("./columnWidths.js"),_rowResizing=require("./rowResizing.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default={defaultConfig:{actions:_actions.DEFAULT_TABLE_ACTIONS,allowInsert:!0,allowStructureEdit:!0},extensions:e=>[_extensions.EnergyTable,_extensions.EnergyTableRow,_extensions.EnergyTableHeader,_extensions.EnergyTableCell,_extensions.CellFocus,_extensions.TableMove,_extensions.TableActions,_rowResizing.RowResizing,_columnWidths.ColumnWidths,...e.allowStructureEdit&&e.actions.length>0?[_TableHandles.TableHandles]:[]],EditorOverlay:_TableMenuOverlay.default,key:_constants.MODULE_KEYS.table,testIds:{toolbarButton:_constants.TEST_IDS_RICH_TEXT.toolbar.table},ToolbarButton:_ToolbarButton.default,toolbarButton:{isActive:()=>!1}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildTableMenu=exports.TABLE_ACTION_REGISTRY=exports.MENU_GROUPS=void 0;var _constants=require("../../constants.js"),_actions=require("./actions"),_extensions=require("./extensions"),_pm=require("./pm"),_selection=require("./selection");const firstMovableRow=(e,o)=>(0,_extensions.hasHeaderRow)(e,o.tablePos)?1:0,firstMovableColumn=(e,o)=>(0,_extensions.hasHeaderColumn)(e,o.tablePos)?1:0,CLEAR_ONE="Borrar contenido de la celda",clearCellsLabel=(e,o)=>(0,_selection.getHandleCellPositions)(e.doc,o).length>1?"Borrar contenido de las celdas":CLEAR_ONE,clearTableLabel=(e,o)=>(0,_selection.getHandleCellPositions)(e.doc,o).length>1?"Borrar contenido de la tabla":CLEAR_ONE,tableSize=(e,o)=>{const a=e.doc.nodeAt(o.tablePos);if(!a||"table"!==a.type.name)return{height:0,width:0};const{height:n,width:l}=_pm.TableMap.get(a);return{height:n,width:l}},TABLE_ACTION_REGISTRY=exports.TABLE_ACTION_REGISTRY={[_actions.TABLE_ACTIONS.clearCell]:{icon:"IconCircleX",label:CLEAR_ONE,run:e=>e.commands.clearCell()},[_actions.TABLE_ACTIONS.clearColumn]:{icon:"IconCircleX",label:clearCellsLabel,run:e=>e.commands.clearColumn()},[_actions.TABLE_ACTIONS.clearRow]:{icon:"IconCircleX",label:clearCellsLabel,run:e=>e.commands.clearRow()},[_actions.TABLE_ACTIONS.clearTable]:{icon:"IconCircleX",label:clearTableLabel,run:e=>e.commands.clearTable()},[_actions.TABLE_ACTIONS.copyTable]:{icon:"IconCopy",label:"Copiar tabla",run:e=>e.commands.copyTable()},[_actions.TABLE_ACTIONS.toggleHeaderColumn]:{checked:(e,o)=>(0,_extensions.hasHeaderColumn)(e,o.tablePos),icon:"IconTableColumn",label:"Columna de encabezado",run:e=>e.commands.toggleHeaderColumn(),visible:e=>e.type===_selection.HANDLE_TYPES.table||e.type===_selection.HANDLE_TYPES.column&&0===e.index},[_actions.TABLE_ACTIONS.toggleHeaderRow]:{checked:(e,o)=>(0,_extensions.hasHeaderRow)(e,o.tablePos),icon:"IconTableRow",label:"Fila de encabezado",run:e=>e.commands.toggleHeaderRow(),visible:e=>e.type===_selection.HANDLE_TYPES.table||e.type===_selection.HANDLE_TYPES.row&&0===e.index},[_actions.TABLE_ACTIONS.addColumnAfter]:{icon:"IconColumnInsertRight",label:"Añadir columna a la derecha",run:e=>e.commands.addColumnAfter()},[_actions.TABLE_ACTIONS.addColumnBefore]:{icon:"IconColumnInsertLeft",label:"Añadir columna a la izquierda",run:e=>e.commands.addColumnBefore()},[_actions.TABLE_ACTIONS.addRowAfter]:{icon:"IconRowInsertBottom",label:"Añadir fila abajo",run:e=>e.commands.addRowAfter()},[_actions.TABLE_ACTIONS.addRowBefore]:{icon:"IconRowInsertTop",label:"Añadir fila arriba",run:e=>e.commands.addRowBefore()},[_actions.TABLE_ACTIONS.deleteColumn]:{enabled:(e,o)=>tableSize(e,o).width>1,icon:"IconTrash",label:"Borrar columna",run:e=>e.commands.deleteColumn()},[_actions.TABLE_ACTIONS.deleteRow]:{enabled:(e,o)=>tableSize(e,o).height>1,icon:"IconTrash",label:"Borrar fila",run:e=>e.commands.deleteRow()},[_actions.TABLE_ACTIONS.deleteTable]:{icon:"IconTrash",label:"Borrar tabla",run:e=>e.commands.deleteTable()},[_actions.TABLE_ACTIONS.moveColumnLeft]:{enabled:(e,o)=>o.index>firstMovableColumn(e,o),icon:"IconArrowLeft",label:"Mover columna a la izquierda",run:e=>e.commands.moveColumn(-1)},[_actions.TABLE_ACTIONS.moveColumnRight]:{enabled:(e,o)=>o.index>=firstMovableColumn(e,o)&&o.index<tableSize(e,o).width-1,icon:"IconArrowRight",label:"Mover columna a la derecha",run:e=>e.commands.moveColumn(1)},[_actions.TABLE_ACTIONS.moveRowDown]:{enabled:(e,o)=>o.index>=firstMovableRow(e,o)&&o.index<tableSize(e,o).height-1,icon:"IconArrowDown",label:"Mover fila abajo",run:e=>e.commands.moveRow(1)},[_actions.TABLE_ACTIONS.moveRowUp]:{enabled:(e,o)=>o.index>firstMovableRow(e,o),icon:"IconArrowUp",label:"Mover fila arriba",run:e=>e.commands.moveRow(-1)}},MENU_GROUPS=exports.MENU_GROUPS={[_selection.HANDLE_TYPES.cell]:[[_actions.TABLE_ACTIONS.addColumnAfter,_actions.TABLE_ACTIONS.addRowAfter],[_actions.TABLE_ACTIONS.clearCell,_actions.TABLE_ACTIONS.deleteColumn,_actions.TABLE_ACTIONS.deleteRow]],[_selection.HANDLE_TYPES.column]:[[_actions.TABLE_ACTIONS.toggleHeaderColumn],[_actions.TABLE_ACTIONS.addColumnBefore,_actions.TABLE_ACTIONS.addColumnAfter,_actions.TABLE_ACTIONS.moveColumnLeft,_actions.TABLE_ACTIONS.moveColumnRight],[_actions.TABLE_ACTIONS.clearColumn,_actions.TABLE_ACTIONS.deleteColumn]],[_selection.HANDLE_TYPES.row]:[[_actions.TABLE_ACTIONS.toggleHeaderRow],[_actions.TABLE_ACTIONS.addRowBefore,_actions.TABLE_ACTIONS.addRowAfter,_actions.TABLE_ACTIONS.moveRowUp,_actions.TABLE_ACTIONS.moveRowDown],[_actions.TABLE_ACTIONS.clearRow,_actions.TABLE_ACTIONS.deleteRow]],[_selection.HANDLE_TYPES.table]:[[_actions.TABLE_ACTIONS.toggleHeaderColumn,_actions.TABLE_ACTIONS.toggleHeaderRow],[_actions.TABLE_ACTIONS.copyTable],[_actions.TABLE_ACTIONS.clearTable,_actions.TABLE_ACTIONS.deleteTable]]},buildTableMenu=(e,o,a)=>{const n=new Set(a),l={};return{groups:MENU_GROUPS[o.type].map(a=>a.filter(a=>{const t=TABLE_ACTION_REGISTRY[a];return!(!n.has(a)||!t)&&(!(t.visible&&!t.visible(o))&&(l[a]={checked:t.checked?t.checked(e.state,o):void 0,dataTestId:_constants.TEST_IDS_RICH_TEXT.tableMenu[o.type][a],disabled:!!t.enabled&&!t.enabled(e.state,o),icon:t.icon,label:"function"==typeof t.label?t.label(e.state,o):t.label,onSelect:()=>(0,_selection.runWithStoredSelection)(e,o,t.run)},!0))})).filter(e=>e.length>0),items:l}};exports.buildTableMenu=buildTableMenu;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CellSelection",{enumerable:!0,get:function(){return _prosemirrorTables.CellSelection}}),Object.defineProperty(exports,"DOMSerializer",{enumerable:!0,get:function(){return _prosemirrorModel.DOMSerializer}}),Object.defineProperty(exports,"Decoration",{enumerable:!0,get:function(){return _prosemirrorView.Decoration}}),Object.defineProperty(exports,"DecorationSet",{enumerable:!0,get:function(){return _prosemirrorView.DecorationSet}}),Object.defineProperty(exports,"Plugin",{enumerable:!0,get:function(){return _prosemirrorState.Plugin}}),Object.defineProperty(exports,"PluginKey",{enumerable:!0,get:function(){return _prosemirrorState.PluginKey}}),Object.defineProperty(exports,"Selection",{enumerable:!0,get:function(){return _prosemirrorState.Selection}}),Object.defineProperty(exports,"TableMap",{enumerable:!0,get:function(){return _prosemirrorTables.TableMap}}),Object.defineProperty(exports,"columnResizingPluginKey",{enumerable:!0,get:function(){return _prosemirrorTables.columnResizingPluginKey}}),Object.defineProperty(exports,"deleteCellSelection",{enumerable:!0,get:function(){return _prosemirrorTables.deleteCellSelection}}),Object.defineProperty(exports,"moveTableColumn",{enumerable:!0,get:function(){return _prosemirrorTables.moveTableColumn}}),Object.defineProperty(exports,"moveTableRow",{enumerable:!0,get:function(){return _prosemirrorTables.moveTableRow}}),Object.defineProperty(exports,"selectedRect",{enumerable:!0,get:function(){return _prosemirrorTables.selectedRect}}),Object.defineProperty(exports,"toggleHeader",{enumerable:!0,get:function(){return _prosemirrorTables.toggleHeader}});var _prosemirrorState=require("prosemirror-state"),_prosemirrorModel=require("prosemirror-model"),_prosemirrorView=require("prosemirror-view"),_prosemirrorTables=require("prosemirror-tables");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.withHeight=exports.rowResizingKey=exports.RowResizing=void 0;var _core=require("@tiptap/core"),_autoScroll=require("./autoScroll"),_guideLine=require("./guideLine"),_pm=require("./pm");const rowResizingKey=exports.rowResizingKey=new _pm.PluginKey("rowResizing"),EDGE=5,CURSOR_CLASS="row-resize-cursor",COLUMN_CURSOR_CLASS="resize-cursor",rowEdgeAt=(e,t)=>{var o,n;const r=null===(o=t.target)||void 0===o||null===(n=o.closest)||void 0===n?void 0:n.call(o,"td, th");if(!r||!e.dom.contains(r))return null;const i=r.parentElement,{bottom:l,top:s}=i.getBoundingClientRect();return Math.abs(t.clientY-l)<=5?i:Math.abs(t.clientY-s)<=5?i.previousElementSibling:null},rowPosOf=(e,t)=>{try{var o;const n=e.posAtDOM(t,0)-1;return"tableRow"===(null===(o=e.state.doc.nodeAt(n))||void 0===o?void 0:o.type.name)?n:null}catch{return null}},verticalExtras=e=>{const t=getComputedStyle(e);return["paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"].reduce((e,o)=>e+(parseFloat(t[o])||0),0)},contentHeight=e=>Math.max(...Array.from(e.cells,e=>Array.from(e.children).filter(e=>"absolute"!==getComputedStyle(e).position).reduce((e,t)=>e+t.getBoundingClientRect().height,0)+verticalExtras(e))),withHeight=(e,t)=>[...(e||"").split(";").map(e=>e.trim()).filter(e=>e&&!/^height\s*:/i.test(e)),"height: ".concat(t,"px")].join("; ");exports.withHeight=withHeight;const setPreview=(e,t)=>e.dispatch(e.state.tr.setMeta(rowResizingKey,{preview:t})),startResize=(e,t,o)=>{const n=rowPosOf(e,t);if(null===n)return!1;const r=o.clientY,i=t.getBoundingClientRect().height,l=contentHeight(t),s=(0,_guideLine.createGuideLine)(e),c=(0,_autoScroll.scrollParentOf)(t,"y"),u=c?c.scrollTop:0;let a=r,d=i;const g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=c?(0,_autoScroll.clampToContainer)(c,"y",a):a,o=c?c.scrollTop-u+e:0;return Math.round(Math.max(l,i+t-r+o))},p=()=>{const t=e.nodeDOM(n);t&&s.horizontal(t.closest("table"),t.getBoundingClientRect().bottom)},m=t=>t!==d&&(d=t,setPreview(e,{height:d,pos:n}),p(),!0),h=c&&(0,_autoScroll.createAutoScroller)(c,"y",{grow:e=>m(g(e)),onScroll:()=>{m(g()),p()}}),v=e=>{a=e.clientY,m(g()),null==h||h.update(a)},w=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",w),null==h||h.stop(),s.remove();const t=e.state.doc.nodeAt(n),o=e.state.tr.setMeta(rowResizingKey,{preview:null});t&&Math.abs(d-i)>=1&&o.setNodeMarkup(n,null,{...t.attrs,style:withHeight(t.attrs.style,d)}),e.dispatch(o)};return p(),document.addEventListener("mousemove",v),document.addEventListener("mouseup",w),!0},previewDecorations=(e,t)=>{const o=t&&e.nodeAt(t.pos);return o&&"tableRow"===o.type.name?_pm.DecorationSet.create(e,[_pm.Decoration.node(t.pos,t.pos+o.nodeSize,{style:"height: ".concat(t.height,"px")})]):_pm.DecorationSet.empty},RowResizing=exports.RowResizing=_core.Extension.create({name:"rowResizing",addProseMirrorPlugins(){let e=null,t=null,o=null;const n=(o,n)=>{var r;(e=n,o.dom.classList.toggle(CURSOR_CLASS,!!n),n)?(t=t||(0,_guideLine.createGuideLine)(o),t.horizontal(n.closest("table"),n.getBoundingClientRect().bottom)):null===(r=t)||void 0===r||r.hide()};return[new _pm.Plugin({key:rowResizingKey,state:{init:()=>null,apply:(e,t)=>{const o=e.getMeta(rowResizingKey);return o?o.preview:t}},view:r=>{const i=()=>{if(!e||!o)return;const t=document.elementFromPoint(o.clientX,o.clientY);n(r,rowEdgeAt(r,{clientY:o.clientY,target:t}))};return document.addEventListener("scroll",i,!0),{destroy:()=>{var e;document.removeEventListener("scroll",i,!0),null===(e=t)||void 0===e||e.remove(),t=null}}},props:{decorations:e=>previewDecorations(e.doc,rowResizingKey.getState(e)),handleDOMEvents:{mouseleave:e=>(o=null,n(e,null),!1),mousedown:(t,o)=>!(!e||0!==o.button||!t.editable)&&(!!startResize(t,e,o)&&(o.preventDefault(),n(t,null),!0)),mousemove:(t,r)=>{if(o={clientX:r.clientX,clientY:r.clientY},!t.editable||r.buttons||t.dom.classList.contains("resize-cursor"))return e&&n(t,null),!1;const i=rowEdgeAt(t,r);return(i||i!==e)&&n(t,i),!1}}}})]}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.runWithStoredSelection=exports.rebuildSelection=exports.getHandleCellPositions=exports.buildHandleRef=exports.HANDLE_TYPES=void 0;var _pm=require("./pm");const HANDLE_TYPES=exports.HANDLE_TYPES={cell:"cell",column:"column",row:"row",table:"table"},buildHandleRef=(e,t)=>{var l;return{index:null!==(l=t.index)&&void 0!==l?l:0,tablePos:t.tablePos,type:t.type}};exports.buildHandleRef=buildHandleRef;const getHandleCellPositions=(e,t)=>{const{index:l,tablePos:o,type:n}=t,r=e.nodeAt(o);if(!r||"table"!==r.type.name)return[];const i=_pm.TableMap.get(r);if(n===HANDLE_TYPES.row&&l>=i.height)return[];if(n===HANDLE_TYPES.column&&l>=i.width)return[];if(n===HANDLE_TYPES.cell&&!i.map.includes(l))return[];const s=o+1;if(n===HANDLE_TYPES.cell)return[s+l];let c;return c=n===HANDLE_TYPES.row?{bottom:l+1,left:0,right:i.width,top:l}:n===HANDLE_TYPES.column?{bottom:i.height,left:l,right:l+1,top:0}:{bottom:i.height,left:0,right:i.width,top:0},i.cellsInRect(c).map(e=>s+e)};exports.getHandleCellPositions=getHandleCellPositions;const rebuildSelection=(e,t)=>{const l=getHandleCellPositions(e,t);if(!l.length)return null;try{return _pm.CellSelection.create(e,l[0],l[l.length-1])}catch{return null}};exports.rebuildSelection=rebuildSelection;const runWithStoredSelection=(e,t,l)=>{const{view:o}=e,n=rebuildSelection(o.state.doc,t);n&&o.dispatch(o.state.tr.setSelection(n)),l(e),o.focus()};exports.runWithStoredSelection=runWithStoredSelection;
|
|
@@ -119,6 +119,8 @@
|
|
|
119
119
|
th {
|
|
120
120
|
border: 1px solid var(--light05);
|
|
121
121
|
min-width: var(--UT-textEditor-table-cell-min-width, 40px);
|
|
122
|
+
// sass-lint:disable-block no-important
|
|
123
|
+
overflow: visible !important;
|
|
122
124
|
padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
|
|
123
125
|
position: relative;
|
|
124
126
|
vertical-align: top;
|
|
@@ -126,10 +128,6 @@
|
|
|
126
128
|
> * {
|
|
127
129
|
margin: 0;
|
|
128
130
|
}
|
|
129
|
-
|
|
130
|
-
&:hover :global(.column-resize-handle) {
|
|
131
|
-
opacity: 1;
|
|
132
|
-
}
|
|
133
131
|
}
|
|
134
132
|
|
|
135
133
|
th {
|
|
@@ -182,26 +180,174 @@
|
|
|
182
180
|
|
|
183
181
|
:global(.column-resize-handle) {
|
|
184
182
|
background-color: var(--actionAccent04);
|
|
185
|
-
bottom: -
|
|
183
|
+
bottom: -1px;
|
|
186
184
|
opacity: 0;
|
|
187
185
|
pointer-events: none;
|
|
188
186
|
position: absolute;
|
|
189
187
|
right: -1px;
|
|
190
|
-
top: -
|
|
188
|
+
top: -1px;
|
|
191
189
|
transition: opacity 0.15s ease;
|
|
192
190
|
width: 2px;
|
|
193
191
|
z-index: 10;
|
|
194
192
|
}
|
|
195
193
|
|
|
196
|
-
|
|
194
|
+
&:global(.resize-cursor) {
|
|
197
195
|
cursor: col-resize;
|
|
196
|
+
|
|
197
|
+
:global(.column-resize-handle) {
|
|
198
|
+
opacity: 1;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
&:global(.row-resize-cursor) {
|
|
203
|
+
cursor: row-resize;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
&:global(.has-table-handles) :global(.tableWrapper) {
|
|
207
|
+
padding-left: calc(var(--UT-richText-table-grip-height-active) + var(--gap-sm));
|
|
208
|
+
padding-top: calc(var(--UT-richText-table-grip-height-active) / 2);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
&[contenteditable='false'] :global(.table-handle) {
|
|
212
|
+
display: none;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
:global(.table-handle) {
|
|
216
|
+
align-items: center;
|
|
217
|
+
background-color: var(--light05);
|
|
218
|
+
border-radius: var(--UT-richText-table-grip-radius);
|
|
219
|
+
box-sizing: border-box;
|
|
220
|
+
color: var(--light01);
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
display: flex;
|
|
223
|
+
justify-content: center;
|
|
224
|
+
opacity: 0;
|
|
225
|
+
position: absolute;
|
|
226
|
+
transform: translate(-50%, -50%);
|
|
227
|
+
transition: opacity 0.15s ease;
|
|
228
|
+
user-select: none;
|
|
229
|
+
z-index: 4;
|
|
230
|
+
|
|
231
|
+
&:hover {
|
|
232
|
+
background-color: var(--gray04);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
&:global(.table-handle--visible) {
|
|
236
|
+
opacity: 1;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
&:focus {
|
|
240
|
+
opacity: 1;
|
|
241
|
+
outline: 2px solid var(--actionAccent04);
|
|
242
|
+
outline-offset: 1px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
svg {
|
|
246
|
+
height: var(--UT-richText-table-grip-icon-size);
|
|
247
|
+
width: var(--UT-richText-table-grip-icon-size);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
:global(.table-handle--column),
|
|
252
|
+
:global(.table-handle--row) {
|
|
253
|
+
svg {
|
|
254
|
+
display: none;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
&:hover,
|
|
258
|
+
&:global(.table-handle--active) {
|
|
259
|
+
background-color: var(--actionAccent04);
|
|
260
|
+
|
|
261
|
+
svg {
|
|
262
|
+
display: block;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
:global(.table-handle--column) {
|
|
268
|
+
height: var(--UT-richText-table-grip-height);
|
|
269
|
+
left: 50%;
|
|
270
|
+
top: 0;
|
|
271
|
+
width: var(--UT-richText-table-grip-width);
|
|
272
|
+
|
|
273
|
+
&:hover {
|
|
274
|
+
height: var(--UT-richText-table-grip-height-active);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
:global(.table-handle--row) {
|
|
279
|
+
height: var(--UT-richText-table-grip-width);
|
|
280
|
+
left: 0;
|
|
281
|
+
top: 50%;
|
|
282
|
+
width: var(--UT-richText-table-grip-height);
|
|
283
|
+
|
|
284
|
+
&:hover {
|
|
285
|
+
width: var(--UT-richText-table-grip-height-active);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
:global(.table-handle--cell) {
|
|
290
|
+
height: var(--UT-richText-table-cell-handle-size);
|
|
291
|
+
right: 2px;
|
|
292
|
+
top: 2px;
|
|
293
|
+
transform: none;
|
|
294
|
+
width: var(--UT-richText-table-cell-handle-size);
|
|
295
|
+
z-index: 5;
|
|
296
|
+
|
|
297
|
+
svg {
|
|
298
|
+
height: var(--UT-richText-table-cell-handle-icon-size);
|
|
299
|
+
width: var(--UT-richText-table-cell-handle-icon-size);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
:global(.table-handle--table) {
|
|
304
|
+
background-color: var(--light01);
|
|
305
|
+
border: 1px solid var(--light05);
|
|
306
|
+
color: var(--gray04);
|
|
307
|
+
height: var(--UT-richText-table-grip-width);
|
|
308
|
+
left: calc(-1 * (var(--UT-richText-table-grip-height-active) + var(--gap-sm)));
|
|
309
|
+
top: 0;
|
|
310
|
+
transform: none;
|
|
311
|
+
width: var(--UT-richText-table-grip-height-active);
|
|
312
|
+
|
|
313
|
+
&:hover {
|
|
314
|
+
background-color: var(--light03);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
:global(.table-handle--active) {
|
|
319
|
+
background-color: var(--actionAccent04);
|
|
320
|
+
opacity: 1;
|
|
321
|
+
|
|
322
|
+
&:hover {
|
|
323
|
+
background-color: var(--actionAccent04);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
&:global(.table-handle--column) {
|
|
327
|
+
height: var(--UT-richText-table-grip-height-active);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
&:global(.table-handle--row) {
|
|
331
|
+
width: var(--UT-richText-table-grip-height-active);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
&:global(.table-handle--table) {
|
|
335
|
+
border-color: var(--actionAccent04);
|
|
336
|
+
color: var(--light01);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
:global(.table-drag-source) {
|
|
341
|
+
opacity: 0.4;
|
|
198
342
|
}
|
|
199
343
|
|
|
200
|
-
.selectedCell {
|
|
344
|
+
:global(.selectedCell) {
|
|
201
345
|
&::after {
|
|
202
|
-
background: var(--actionAccent01);
|
|
346
|
+
background-color: var(--actionAccent01);
|
|
347
|
+
box-shadow: inset 0 0 0 1px var(--actionAccent04);
|
|
203
348
|
content: '';
|
|
204
|
-
inset:
|
|
349
|
+
inset: -1px;
|
|
350
|
+
mix-blend-mode: multiply;
|
|
205
351
|
pointer-events: none;
|
|
206
352
|
position: absolute;
|
|
207
353
|
z-index: 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.serializeToHTML=exports.readTableNode=exports.buildTableNode=exports.buildSerializationExtensions=exports.buildParagraphNodes=exports.buildNodesFromHTML=void 0;var _core=require("@tiptap/core"),_html=require("@tiptap/html"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_constants=require("../constants.js"),_utils=require("../utils.js"),_moduleResolution=require("./moduleResolution.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const buildSerializationExtensions=function(){let{moduleConfig:e,modules:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,_utils.dedupeExtensions)([...(0,_constants.buildBaseExtensions)({}),...(0,_moduleResolution.buildModuleGroups)(t,e).flat().flatMap(e=>e.resolvedExtensions)])};exports.buildSerializationExtensions=buildSerializationExtensions;const buildEmptyParagraph=()=>({type:"paragraph"}),buildPlainInlineContent=e=>e?[{type:"text",text:e}]:[],buildInlineNodes=(e,t)=>(e||[]).reduce((e,n)=>{var l;if("text"===n.type||null!==(l=t.nodes[n.type])&&void 0!==l&&l.isInline)return[...e,n];const o=buildInlineNodes(n.content,t);return(0,_isEmpty.default)(o)?e:(0,_isEmpty.default)(e)?o:[...e,{type:"hardBreak"},...o]},[]),buildInlineHTMLContent=(e,t)=>{let{extensions:n,schema:l}=t;if(!e)return[];const{content:o}=(0,_html.generateJSON)("<p>".concat(e,"</p>"),n);return buildInlineNodes(o,l)},buildInlineContentResolver=function(){let{inlineHTML:e,moduleConfig:t,modules:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e)return buildPlainInlineContent;const l=buildSerializationExtensions({moduleConfig:t,modules:n}),o=(0,_core.getSchema)(l);return e=>buildInlineHTMLContent(e,{extensions:l,schema:o})},PARAGRAPH_SEPARATOR=/(?:\r?\n){2,}/,LINE_SEPARATOR=/\r?\n/,buildParagraphContent=(e,t)=>e.split(LINE_SEPARATOR).map(t).reduce((e,t)=>(0,_isEmpty.default)(t)?e:(0,_isEmpty.default)(e)?t:[...e,{type:"hardBreak"},...t],[]),buildParagraphNodes=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[buildEmptyParagraph()];const n=buildInlineContentResolver(t);return e.split(PARAGRAPH_SEPARATOR).map(e=>{const t=buildParagraphContent(e,n);return(0,_isEmpty.default)(t)?buildEmptyParagraph():{type:"paragraph",content:t}})};exports.buildParagraphNodes=buildParagraphNodes;const buildNodesFromHTML=function(e){let{moduleConfig:t,modules:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[buildEmptyParagraph()];const{content:l}=(0,_html.generateJSON)(e,buildSerializationExtensions({moduleConfig:t,modules:n}));return(0,_isEmpty.default)(l)?[buildEmptyParagraph()]:l};exports.buildNodesFromHTML=buildNodesFromHTML;const TABLE_HEADER_TYPE="tableHeader",TABLE_EMAIL_STYLE="border-collapse: collapse; width: 100%; border-spacing: 0;",
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.serializeToHTML=exports.readTableNode=exports.buildTableNode=exports.buildSerializationExtensions=exports.buildParagraphNodes=exports.buildNodesFromHTML=void 0;var _core=require("@tiptap/core"),_html=require("@tiptap/html"),_isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_constants=require("../constants.js"),_utils=require("../utils.js"),_emailStyles=require("../modules/table/emailStyles.js"),_moduleResolution=require("./moduleResolution.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const buildSerializationExtensions=function(){let{moduleConfig:e,modules:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,_utils.dedupeExtensions)([...(0,_constants.buildBaseExtensions)({}),...(0,_moduleResolution.buildModuleGroups)(t,e).flat().flatMap(e=>e.resolvedExtensions)])};exports.buildSerializationExtensions=buildSerializationExtensions;const buildEmptyParagraph=()=>({type:"paragraph"}),buildPlainInlineContent=e=>e?[{type:"text",text:e}]:[],buildInlineNodes=(e,t)=>(e||[]).reduce((e,n)=>{var l;if("text"===n.type||null!==(l=t.nodes[n.type])&&void 0!==l&&l.isInline)return[...e,n];const o=buildInlineNodes(n.content,t);return(0,_isEmpty.default)(o)?e:(0,_isEmpty.default)(e)?o:[...e,{type:"hardBreak"},...o]},[]),buildInlineHTMLContent=(e,t)=>{let{extensions:n,schema:l}=t;if(!e)return[];const{content:o}=(0,_html.generateJSON)("<p>".concat(e,"</p>"),n);return buildInlineNodes(o,l)},buildInlineContentResolver=function(){let{inlineHTML:e,moduleConfig:t,modules:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!e)return buildPlainInlineContent;const l=buildSerializationExtensions({moduleConfig:t,modules:n}),o=(0,_core.getSchema)(l);return e=>buildInlineHTMLContent(e,{extensions:l,schema:o})},PARAGRAPH_SEPARATOR=/(?:\r?\n){2,}/,LINE_SEPARATOR=/\r?\n/,buildParagraphContent=(e,t)=>e.split(LINE_SEPARATOR).map(t).reduce((e,t)=>(0,_isEmpty.default)(t)?e:(0,_isEmpty.default)(e)?t:[...e,{type:"hardBreak"},...t],[]),buildParagraphNodes=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[buildEmptyParagraph()];const n=buildInlineContentResolver(t);return e.split(PARAGRAPH_SEPARATOR).map(e=>{const t=buildParagraphContent(e,n);return(0,_isEmpty.default)(t)?buildEmptyParagraph():{type:"paragraph",content:t}})};exports.buildParagraphNodes=buildParagraphNodes;const buildNodesFromHTML=function(e){let{moduleConfig:t,modules:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[buildEmptyParagraph()];const{content:l}=(0,_html.generateJSON)(e,buildSerializationExtensions({moduleConfig:t,modules:n}));return(0,_isEmpty.default)(l)?[buildEmptyParagraph()]:l};exports.buildNodesFromHTML=buildNodesFromHTML;const TABLE_HEADER_TYPE="tableHeader",TABLE_EMAIL_STYLE="border-collapse: collapse; width: 100%; border-spacing: 0;",buildParagraph=(e,t)=>({type:"paragraph",content:e?t(String(e)):[]}),buildTableNode=e=>{let{cellColwidth:t,headers:n,inlineHTML:l,moduleConfig:o,modules:i,rows:r}=e;const a=buildInlineContentResolver({inlineHTML:l,moduleConfig:o,modules:i});return{type:"table",attrs:{style:TABLE_EMAIL_STYLE},content:[{type:"tableRow",content:n.map(e=>({type:"tableHeader",attrs:{colspan:1,colwidth:t?[t]:null,rowspan:1,style:_emailStyles.HEADER_CELL_EMAIL_STYLE},content:[buildParagraph(e,a)]}))},...r.map(e=>({type:"tableRow",content:e.map(e=>({type:"tableCell",attrs:{colspan:1,colwidth:t?[t]:null,rowspan:1,style:_emailStyles.DATA_CELL_EMAIL_STYLE},content:[buildParagraph(e,a)]}))}))]}};exports.buildTableNode=buildTableNode;const serializeInlineContent=(e,t)=>(e||[]).map(e=>(0,_html.generateHTML)({type:"doc",content:[e]},t).replace(/^<p>|<\/p>$/g,"")).filter(Boolean).join("<br>"),readTableNode=function(e){var t;let{moduleConfig:n,modules:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=buildSerializationExtensions({moduleConfig:n,modules:l}),i=e=>serializeInlineContent(e.content,o),r=(null==e?void 0:e.content)||[],a="tableHeader"===(null===(t=r[0])||void 0===t||null===(t=t.content)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.type),[s,d]=a?[r[0],r.slice(1)]:[null,r],u=((null==s?void 0:s.content)||[]).map(e=>{var t;return null===(t=e.attrs)||void 0===t||null===(t=t.colwidth)||void 0===t?void 0:t[0]}),[p]=u;return{cellColwidth:u.every(e=>e===p)&&null!=p?p:void 0,headers:((null==s?void 0:s.content)||[]).map(i),inlineHTML:!0,rows:d.map(e=>(e.content||[]).map(i))}};exports.readTableNode=readTableNode;const serializeToHTML=function(e){let{moduleConfig:t,modules:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,_html.generateHTML)(e,buildSerializationExtensions({moduleConfig:t,modules:n}))};exports.serializeToHTML=serializeToHTML;
|