@widergy/energy-ui 3.176.0 → 3.177.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 (32) hide show
  1. package/CHANGELOG.md +15 -4
  2. package/dist/components/UTRichText/components/EditorSkeleton/index.js +1 -0
  3. package/dist/components/UTRichText/components/EditorSkeleton/styles.module.scss +71 -0
  4. package/dist/components/UTRichText/components/Toolbar/styles.module.scss +13 -0
  5. package/dist/components/UTRichText/constants.js +1 -1
  6. package/dist/components/UTRichText/hooks/useModuleResolution.js +1 -1
  7. package/dist/components/UTRichText/index.js +1 -1
  8. package/dist/components/UTRichText/modules/table/TableToolbar/index.js +1 -0
  9. package/dist/components/UTRichText/modules/table/TableToolbar/styles.module.scss +13 -0
  10. package/dist/components/UTRichText/modules/table/ToolbarButton.js +1 -0
  11. package/dist/components/UTRichText/modules/table/extensions.js +1 -0
  12. package/dist/components/UTRichText/modules/table/index.js +1 -0
  13. package/dist/components/UTRichText/registry.js +1 -1
  14. package/dist/components/UTRichText/styles.module.scss +117 -0
  15. package/dist/components/UTRichText/utils/contentBuilders.js +1 -0
  16. package/dist/constants/testIds.js +1 -1
  17. package/dist/esm/components/UTRichText/components/EditorSkeleton/index.js +1 -0
  18. package/dist/esm/components/UTRichText/components/EditorSkeleton/styles.module.scss +71 -0
  19. package/dist/esm/components/UTRichText/components/Toolbar/styles.module.scss +13 -0
  20. package/dist/esm/components/UTRichText/constants.js +1 -1
  21. package/dist/esm/components/UTRichText/hooks/useModuleResolution.js +1 -1
  22. package/dist/esm/components/UTRichText/index.js +1 -1
  23. package/dist/esm/components/UTRichText/modules/table/TableToolbar/index.js +1 -0
  24. package/dist/esm/components/UTRichText/modules/table/TableToolbar/styles.module.scss +13 -0
  25. package/dist/esm/components/UTRichText/modules/table/ToolbarButton.js +1 -0
  26. package/dist/esm/components/UTRichText/modules/table/extensions.js +1 -0
  27. package/dist/esm/components/UTRichText/modules/table/index.js +1 -0
  28. package/dist/esm/components/UTRichText/registry.js +1 -1
  29. package/dist/esm/components/UTRichText/styles.module.scss +117 -0
  30. package/dist/esm/components/UTRichText/utils/contentBuilders.js +1 -0
  31. package/dist/esm/constants/testIds.js +1 -1
  32. package/package.json +6 -1
package/CHANGELOG.md CHANGED
@@ -1,15 +1,26 @@
1
- # [3.176.0](https://github.com/widergy/energy-ui/compare/v3.175.1...v3.176.0) (2026-08-14)
1
+ ## [3.177.1](https://github.com/widergy/energy-ui/compare/v3.177.0...v3.177.1) (2026-08-19)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * [OUG-999] rich text tests ([#843](https://github.com/widergy/energy-ui/issues/843)) ([9823568](https://github.com/widergy/energy-ui/commit/9823568ec9d696ead7d9a6aaa0b3756f58f9cc1c))
7
- * [OUG] rich text again ([#844](https://github.com/widergy/energy-ui/issues/844)) ([96a97a1](https://github.com/widergy/energy-ui/commit/96a97a1221586518f31627220d182127fb60db2a))
6
+ * removes table module tiptap export ([#846](https://github.com/widergy/energy-ui/issues/846)) ([bfe944c](https://github.com/widergy/energy-ui/commit/bfe944cc28232f5ac3286c32f07006871876c22c))
7
+
8
+ # [3.177.0](https://github.com/widergy/energy-ui/compare/v3.176.0...v3.177.0) (2026-08-18)
8
9
 
9
10
 
10
11
  ### Features
11
12
 
12
- * new component UTTextEditor ([#842](https://github.com/widergy/energy-ui/issues/842)) ([5e3f7e4](https://github.com/widergy/energy-ui/commit/5e3f7e4f91b42418abbb8c6aef41e07fed37710a))
13
+ * [AXCH-2132] table module for utrichtext ([#845](https://github.com/widergy/energy-ui/issues/845)) ([f70072c](https://github.com/widergy/energy-ui/commit/f70072c40322104c35ddf5076df6b336c35231f9))
14
+
15
+ # [3.176.0](https://github.com/widergy/energy-ui/compare/v3.175.1...v3.176.0) (2026-08-14)
16
+
17
+ ### Novedades y Mejoras
18
+
19
+ * Se incorpora un nuevo editor de texto enriquecido que permite escribir y formatear contenido con negrita, itálica, listas con viñetas y listas numeradas. Incluye atajos de teclado, soporte para pegar contenido desde herramientas externas y se adapta a la paleta visual de cada cliente. [#842](https://github.com/widergy/Energy-UI/pull/842) [AXCH-2125](https://widergy.atlassian.net/browse/AXCH-2125) [AXCH-2119](https://widergy.atlassian.net/browse/AXCH-2119) [AXCH-2126](https://widergy.atlassian.net/browse/AXCH-2126)
20
+
21
+ ### Correcciones
22
+
23
+ * Se corrigieron problemas en las pruebas automatizadas del editor de texto que causaban fallos intermitentes al ejecutarse. [#843](https://github.com/widergy/Energy-UI/pull/843) [#844](https://github.com/widergy/Energy-UI/pull/844) [OUG-999](https://widergy.atlassian.net/browse/OUG-999)
13
24
 
14
25
  ## [3.175.1](https://github.com/widergy/energy-ui/compare/v3.175.0...v3.175.1) (2026-08-06)
15
26
 
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=require("prop-types"),_react=_interopRequireDefault(require("react")),_stylesModule=_interopRequireDefault(require("./styles.module.scss"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const EditorSkeleton=e=>{let{cols:t=3,rows:l=3}=e;const a=Array.from({length:t},(e,t)=>"c".concat(t)),r=Array.from({length:l},(e,t)=>"r".concat(t));return _react.default.createElement("div",{className:_stylesModule.default.root},_react.default.createElement("div",{className:_stylesModule.default.tableWrapper},_react.default.createElement("div",{className:_stylesModule.default.table},_react.default.createElement("div",{className:_stylesModule.default.row},a.map(e=>_react.default.createElement("div",{key:e,className:_stylesModule.default.headerCell},_react.default.createElement("div",{className:_stylesModule.default.bar})))),r.map(e=>_react.default.createElement("div",{key:e,className:_stylesModule.default.row},a.map(e=>_react.default.createElement("div",{key:e,className:_stylesModule.default.bodyCell},_react.default.createElement("div",{className:_stylesModule.default.bar}))))))))};EditorSkeleton.propTypes={cols:_propTypes.number,rows:_propTypes.number};var _default=exports.default=EditorSkeleton;
@@ -0,0 +1,71 @@
1
+ @use '../../../../scss/variables/colors.module.scss' as *;
2
+
3
+ @keyframes editorSkeletonShimmer {
4
+ 0% {
5
+ background-position: -150px;
6
+ }
7
+
8
+ 40% {
9
+ background-position: 350px;
10
+ }
11
+
12
+ 100% {
13
+ background-position: 350px;
14
+ }
15
+ }
16
+
17
+ // Shared shimmer mixin — same colors and animation as UTSkeleton.
18
+ %shimmer {
19
+ animation: editorSkeletonShimmer 2s infinite linear;
20
+ background-color: $skeleton-base;
21
+ background-image: linear-gradient(90deg, $skeleton-base 0, $skeleton-second 50px, $skeleton-base 100px);
22
+ background-size: 600px;
23
+ border-radius: 3px;
24
+ }
25
+
26
+ // Cell content bar (14 px high, full width of its cell).
27
+ .bar {
28
+ @extend %shimmer;
29
+ height: 14px;
30
+ width: 100%;
31
+ }
32
+
33
+ // --- Layout ---
34
+
35
+ .root {
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: var(--UT-textEditor-gap, 12px);
39
+ }
40
+
41
+ .tableWrapper {
42
+ overflow-x: auto;
43
+ }
44
+
45
+ .table {
46
+ min-width: 100%;
47
+ }
48
+
49
+ .row {
50
+ display: flex;
51
+
52
+ & + & {
53
+ margin-top: -1px;
54
+ }
55
+ }
56
+
57
+ .headerCell {
58
+ background-color: var(--light03);
59
+ border: 1px solid var(--light05);
60
+ flex: 1;
61
+ min-width: 80px;
62
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
63
+ }
64
+
65
+ .bodyCell {
66
+ background-color: var(--light01);
67
+ border: 1px solid var(--light05);
68
+ flex: 1;
69
+ min-width: 80px;
70
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
71
+ }
@@ -3,6 +3,12 @@
3
3
  display: flex;
4
4
  flex-shrink: 0;
5
5
  grid-gap: var(--UT-richText-toolbar-gap);
6
+
7
+ // When all buttons return null (e.g. table-only with allowInsert:false outside a table),
8
+ // React inserts no DOM nodes and the div is genuinely empty — hide it to avoid dead space.
9
+ &:empty {
10
+ display: none;
11
+ }
6
12
  }
7
13
 
8
14
  .separator {
@@ -10,4 +16,11 @@
10
16
  height: var(--UT-richText-separator-height);
11
17
  margin: 0 var(--UT-richText-toolbar-gap);
12
18
  width: 1px;
19
+
20
+ // When the button after this separator returns null (e.g. table with allowInsert:false
21
+ // and cursor outside a table), React removes that button from the DOM and this separator
22
+ // becomes the last child — hide it so it doesn't float at the end of the toolbar.
23
+ &:last-child {
24
+ display: none;
25
+ }
13
26
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildBaseExtensions=exports.TOOLBAR_GROUPS=exports.TOOLBAR_BUTTON=exports.TITLE_VARIANTS=exports.TEST_IDS_RICH_TEXT=exports.PUBLISHED_SCHEMA=exports.MODULE_KEYS=exports.KEYMAP_SHORTCUTS=exports.DEFAULT_PROPS=exports.DEFAULT_MODULES=void 0;var _extensionDocument=_interopRequireDefault(require("@tiptap/extension-document")),_extensionHardBreak=_interopRequireDefault(require("@tiptap/extension-hard-break")),_extensionLink=_interopRequireDefault(require("@tiptap/extension-link")),_extensionParagraph=_interopRequireDefault(require("@tiptap/extension-paragraph")),_extensionText=_interopRequireDefault(require("@tiptap/extension-text")),_extensions=require("@tiptap/extensions"),_testIds=require("../../constants/testIds.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const TEST_IDS_RICH_TEXT=exports.TEST_IDS_RICH_TEXT=_testIds.TEST_IDS.UTRichText,MODULE_KEYS=exports.MODULE_KEYS={bold:"bold",italic:"italic",list:"list",listNumbers:"listNumbers"},TOOLBAR_GROUPS=exports.TOOLBAR_GROUPS=[[MODULE_KEYS.bold,MODULE_KEYS.italic],[MODULE_KEYS.listNumbers,MODULE_KEYS.list]],DEFAULT_MODULES=exports.DEFAULT_MODULES=TOOLBAR_GROUPS.flat(),KEYMAP_SHORTCUTS=exports.KEYMAP_SHORTCUTS={submit:"Mod-Enter"},TOOLBAR_BUTTON=exports.TOOLBAR_BUTTON={active:{colorTheme:"primary",variant:"semitransparent"},inactive:{colorTheme:"gray",variant:"text"},size:"small"},TITLE_VARIANTS=exports.TITLE_VARIANTS={large:"large",small:"small"},DEFAULT_PROPS=exports.DEFAULT_PROPS={titleVariant:TITLE_VARIANTS.large},PUBLISHED_SCHEMA=exports.PUBLISHED_SCHEMA={marks:["bold","italic","link"],nodes:["bulletList","doc","hardBreak","listItem","orderedList","paragraph","text"]},buildBaseExtensions=e=>{let{placeholder:t}=e;return[_extensionDocument.default,_extensionParagraph.default,_extensionText.default,_extensionHardBreak.default,_extensionLink.default.configure({autolink:!0,openOnClick:!1}),_extensions.Dropcursor,_extensions.Gapcursor,_extensions.UndoRedo,_extensions.Placeholder.configure({placeholder:t})]};exports.buildBaseExtensions=buildBaseExtensions;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildBaseExtensions=exports.TOOLBAR_GROUPS=exports.TOOLBAR_BUTTON=exports.TITLE_VARIANTS=exports.TEST_IDS_RICH_TEXT=exports.PUBLISHED_SCHEMA=exports.MODULE_KEYS=exports.KEYMAP_SHORTCUTS=exports.DEFAULT_PROPS=exports.DEFAULT_MODULES=void 0;var _extensionDocument=_interopRequireDefault(require("@tiptap/extension-document")),_extensionHardBreak=_interopRequireDefault(require("@tiptap/extension-hard-break")),_extensionLink=_interopRequireDefault(require("@tiptap/extension-link")),_extensionParagraph=_interopRequireDefault(require("@tiptap/extension-paragraph")),_extensionText=_interopRequireDefault(require("@tiptap/extension-text")),_extensions=require("@tiptap/extensions"),_testIds=require("../../constants/testIds.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const TEST_IDS_RICH_TEXT=exports.TEST_IDS_RICH_TEXT=_testIds.TEST_IDS.UTRichText,MODULE_KEYS=exports.MODULE_KEYS={bold:"bold",italic:"italic",list:"list",listNumbers:"listNumbers",table:"table"},TOOLBAR_GROUPS=exports.TOOLBAR_GROUPS=[[MODULE_KEYS.bold,MODULE_KEYS.italic],[MODULE_KEYS.listNumbers,MODULE_KEYS.list],[MODULE_KEYS.table]],DEFAULT_MODULES=exports.DEFAULT_MODULES=[MODULE_KEYS.bold,MODULE_KEYS.italic,MODULE_KEYS.listNumbers,MODULE_KEYS.list],KEYMAP_SHORTCUTS=exports.KEYMAP_SHORTCUTS={submit:"Mod-Enter"},TOOLBAR_BUTTON=exports.TOOLBAR_BUTTON={active:{colorTheme:"primary",variant:"semitransparent"},inactive:{colorTheme:"gray",variant:"text"},size:"small"},TITLE_VARIANTS=exports.TITLE_VARIANTS={large:"large",small:"small"},DEFAULT_PROPS=exports.DEFAULT_PROPS={titleVariant:TITLE_VARIANTS.large},PUBLISHED_SCHEMA=exports.PUBLISHED_SCHEMA={marks:["bold","italic","link"],nodes:["bulletList","doc","hardBreak","listItem","orderedList","paragraph","table","tableCell","tableHeader","tableRow","text"]},buildBaseExtensions=e=>{let{placeholder:t}=e;return[_extensionDocument.default,_extensionParagraph.default,_extensionText.default,_extensionHardBreak.default,_extensionLink.default.configure({autolink:!0,openOnClick:!1}),_extensions.Dropcursor,_extensions.Gapcursor,_extensions.UndoRedo,_extensions.Placeholder.configure({placeholder:t})]};exports.buildBaseExtensions=buildBaseExtensions;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_react=require("react"),_constants=require("../constants.js"),_registry=require("../registry.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const buildModuleGroups=e=>{const t=new Set(e);return _constants.TOOLBAR_GROUPS.map(e=>e.filter(e=>t.has(e)&&_registry.MODULE_REGISTRY[e]).map(e=>_registry.MODULE_REGISTRY[e])).filter(e=>!(0,_isEmpty.default)(e))},useModuleResolution=e=>{let{modules:t}=e;const r=JSON.stringify(t||_constants.DEFAULT_MODULES);return(0,_react.useMemo)(()=>buildModuleGroups(JSON.parse(r)),[r])};var _default=exports.default=useModuleResolution;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _isEmpty=_interopRequireDefault(require("lodash/isEmpty")),_react=require("react"),_constants=require("../constants.js"),_registry=require("../registry.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const resolveConfig=(e,t)=>({...e.defaultConfig,...t[e.key]||{}}),resolveExtensions=(e,t)=>"function"==typeof e?e(t):e,buildModuleGroups=(e,t)=>{const s=new Set(e);return _constants.TOOLBAR_GROUPS.map(e=>e.filter(e=>s.has(e)&&_registry.MODULE_REGISTRY[e]).map(e=>{const s=_registry.MODULE_REGISTRY[e],r=resolveConfig(s,t);return{...s,config:r,resolvedExtensions:resolveExtensions(s.extensions,r)}})).filter(e=>!(0,_isEmpty.default)(e))},useModuleResolution=e=>{let{moduleConfig:t={},modules:s}=e;const r=JSON.stringify(s||_constants.DEFAULT_MODULES),o=JSON.stringify(t);return(0,_react.useMemo)(()=>buildModuleGroups(JSON.parse(r),t),[r,o])};var _default=exports.default=useModuleResolution;
@@ -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/SubmitAction/index.js")),_index5=_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 s,o,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(s=t?a:r){if(s.has(e))return s.get(e);s.set(e,l)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(s=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?s(l,t,o):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:s=_constants.TEST_IDS_RICH_TEXT.root,disabled:o=!1,error:l,helpText:i,loading:n=!1,modules:u,onBlur:p,onChange:d,onFocus:_,onSubmit:c,placeholder:T,readOnly:f=!1,required:y=!1,submitButtonProps:m,title:b,titleVariant:E=_constants.DEFAULT_PROPS.titleVariant,validations:R,value:q}=e;const[x,I]=(0,_react2.useState)(!1),S=(0,_useModuleResolution.default)({modules:u}),h=(0,_react2.useMemo)(()=>S.flat(),[S]),v=(0,_react2.useMemo)(()=>(0,_classesUtils.mergeMultipleClassNames)(_stylesModule.default,a),[a]),D=(0,_react2.useCallback)(e=>{I(!0),null==_||_(e)},[_]),j=(0,_react2.useCallback)(e=>{I(!1),null==p||p(e)},[p]),O=(0,_react2.useRef)(!1),C=(0,_react2.useCallback)(()=>!(!O.current||!c)&&(c(),!0),[c]),M=(0,_useRichTextEditor.default)({activeModules:h,ariaLabel:b,dataTestId:_constants.TEST_IDS_RICH_TEXT.content,disabled:o,editorClassName:_stylesModule.default.editorContent,onBlur:j,onChange:d,onFocus:D,onSubmit:C,placeholder:T,readOnly:f,value:q}),g=null===(t=(0,_react.useEditorState)({editor:M,selector:e=>{let{editor:t}=e;return!t||t.isEmpty}}))||void 0===t||t,U=Boolean(c)&&!o&&!n&&!g;O.current=U;const N=(0,_react2.useMemo)(()=>(0,_isEmpty.default)(R)?l?(0,_utils.formatErrorToValidation)(l):null:R,[l,R]);return _react2.default.createElement("div",{className:v.container,"data-testid":s},b&&_react2.default.createElement(_index.default,{actions:r,dataTestId:_constants.TEST_IDS_RICH_TEXT.label,readOnly:f,required:y,size:E},b),_react2.default.createElement("div",{className:(0,_utils2.getFieldClassName)({classes:v,disabled:o,error:l,isFocused:x,readOnly:f}),"data-testid":_constants.TEST_IDS_RICH_TEXT.field},!f&&_react2.default.createElement(_index5.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.toolbar.root,disabled:o,editor:M,moduleGroups:S}),_react2.default.createElement("div",{className:v.scrollArea},_react2.default.createElement(_react.EditorContent,{className:v.editorWrapper,editor:M})),c&&!f&&_react2.default.createElement(_index4.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.submitButton,disabled:!U,loading:n,onSubmit:c,submitButtonProps:m})),i&&_react2.default.createElement(_index2.default,{className:v.helpText,colorTheme:"gray",dataTestId:_constants.TEST_IDS_RICH_TEXT.helpText,variant:"small",withMarkdown:!0},i),N&&_react2.default.createElement(_index3.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.validation,validationData:N}))},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,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;
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.jsx")),_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:p,onBlur:d,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[S,v]=(0,_react2.useState)(!1),I=(0,_useModuleResolution.default)({moduleConfig:u,modules:p}),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=>{v(!0),null==c||c(e)},[c]),C=(0,_react2.useCallback)(e=>{v(!1),null==d||d(e)},[d]),O=(0,_react2.useRef)(!1),M=(0,_react2.useCallback)(()=>!(!O.current||!T)&&(T(),!0),[T]),U=(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}),N=null===(t=(0,_react.useEditorState)({editor:U,selector:e=>{let{editor:t}=e;return!t||t.isEmpty}}))||void 0===t||t,k=Boolean(T)&&!s&&!n&&!N;O.current=k;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:S,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:U,moduleGroups:I}),_react2.default.createElement("div",{className:h.scrollArea},_react2.default.createElement(_react.EditorContent,{className:h.editorWrapper,editor:U})),T&&!y&&_react2.default.createElement(_index5.default,{dataTestId:_constants.TEST_IDS_RICH_TEXT.submitButton,disabled:!k,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.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"),_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 o=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var r,l,n={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return n;if(r=t?a:o){if(r.has(e))return r.get(e);r.set(e,n)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((l=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(l.get||l.set)?r(n,t,l):n[t]=e[t]);return n})(e,t)}const{tableToolbar:tableToolbar}=_constants.TEST_IDS_RICH_TEXT,StructureButton=e=>{let{dataTestId:t,disabled:o,editor:a,icon:r,onCommand:l,tooltip:n}=e;const d=(0,_react.useCallback)(()=>l(a.chain().focus()).run(),[a,l]);return _react.default.createElement(_index2.default,{arrow:!1,content:n,tippyProps:{appendTo:()=>document.body,interactive:!1}},_react.default.createElement("div",null,_react.default.createElement(_index.default,{colorTheme:_constants.TOOLBAR_BUTTON.inactive.colorTheme,dataTestId:t,disabled:o,LeftIcon:r,onClick:d,size:_constants.TOOLBAR_BUTTON.size,variant:_constants.TOOLBAR_BUTTON.inactive.variant})))};StructureButton.propTypes={dataTestId:_propTypes.string,disabled:_propTypes.bool,editor:_propTypes.object,icon:_propTypes.string,onCommand:_propTypes.func,tooltip:_propTypes.string};const TableToolbar=e=>{let{dataTestId:t,disabled:o,editor:a}=e;return _react.default.createElement("div",{className:_stylesModule.default.tableToolbar,"data-testid":t},_react.default.createElement(StructureButton,{dataTestId:tableToolbar.addColumnBefore,disabled:o,editor:a,icon:"IconColumnInsertLeft",onCommand:e=>e.addColumnBefore(),tooltip:"Agregar columna antes"}),_react.default.createElement(StructureButton,{dataTestId:tableToolbar.addColumnAfter,disabled:o,editor:a,icon:"IconColumnInsertRight",onCommand:e=>e.addColumnAfter(),tooltip:"Agregar columna después"}),_react.default.createElement(StructureButton,{dataTestId:tableToolbar.deleteColumn,disabled:o,editor:a,icon:"IconColumnRemove",onCommand:e=>e.deleteColumn(),tooltip:"Eliminar columna"}),_react.default.createElement("span",{className:_stylesModule.default.separator}),_react.default.createElement(StructureButton,{dataTestId:tableToolbar.addRowAfter,disabled:o,editor:a,icon:"IconRowInsertBottom",onCommand:e=>e.addRowAfter(),tooltip:"Agregar fila después"}),_react.default.createElement(StructureButton,{dataTestId:tableToolbar.deleteRow,disabled:o,editor:a,icon:"IconRowRemove",onCommand:e=>e.deleteRow(),tooltip:"Eliminar fila"}),_react.default.createElement("span",{className:_stylesModule.default.separator}),_react.default.createElement(StructureButton,{dataTestId:tableToolbar.deleteTable,disabled:o,editor:a,icon:"IconTableOff",onCommand:e=>e.deleteTable(),tooltip:"Eliminar tabla"}))};TableToolbar.propTypes={dataTestId:_propTypes.string,disabled:_propTypes.bool,editor:_propTypes.object};var _default=exports.default=TableToolbar;
@@ -0,0 +1,13 @@
1
+ .tableToolbar {
2
+ align-items: center;
3
+ display: flex;
4
+ flex-shrink: 0;
5
+ grid-gap: var(--UT-textEditor-toolbar-gap, 4px);
6
+ }
7
+
8
+ .separator {
9
+ background-color: var(--light04);
10
+ height: var(--UT-textEditor-separator-height, 20px);
11
+ margin: 0 var(--UT-textEditor-toolbar-gap, 4px);
12
+ width: 1px;
13
+ }
@@ -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("../../../UTButton/index.js")),_index2=_interopRequireDefault(require("../../../UTTooltip/index.js")),_constants=require("../../constants.js"),_index3=_interopRequireDefault(require("./TableToolbar/index.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=>{let{disabled:t,editor:r,isActive:o,module:n}=e;const{allowInsert:a,allowStructureEdit:i}=n.config||n.defaultConfig,l=(0,_react.useCallback)(()=>{if(!r.isActive("table"))return void r.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run();const{$from:e}=r.state.selection;for(let t=e.depth;t>0;t--)if("table"===e.node(t).type.name){const o=e.after(t);return void r.chain().insertContentAt(o,{type:"paragraph"}).setTextSelection(o+1).insertTable(INSERT_TABLE_DEFAULTS).run()}r.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run()},[r]);var s,u;return o&&i?_react.default.createElement(_index3.default,{dataTestId:null===(s=n.testIds)||void 0===s?void 0:s.toolbarButton,disabled:t,editor:r}):!o&&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===(u=n.testIds)||void 0===u?void 0:u.toolbarButton,disabled:t,LeftIcon:"IconTable",onClick:l,size:_constants.TOOLBAR_BUTTON.size,variant:_constants.TOOLBAR_BUTTON.inactive.variant}))):null};TableToolbarButton.propTypes={disabled:_propTypes.bool,editor:_propTypes.object,isActive:_propTypes.bool,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.EnergyTableRow=exports.EnergyTableHeader=exports.EnergyTableCell=exports.EnergyTable=exports.CellFocus=void 0;var _core=require("@tiptap/core"),_extensionTable=require("@tiptap/extension-table"),_state=require("@tiptap/pm/state"),_view=require("@tiptap/pm/view");const 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({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}:{}}}}}),CellFocus=exports.CellFocus=_core.Extension.create({name:"cellFocus",addProseMirrorPlugins:()=>[new _state.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 _view.DecorationSet.empty;const{doc:t,selection:l}=e,{$from:r}=l,s=[];for(let e=r.depth;e>0;e--){const t=r.node(e);if("tableCell"===t.type.name||"tableHeader"===t.type.name){const l=r.before(e);s.push(_view.Decoration.node(l,l+t.nodeSize,{class:"focused-cell"}));break}}return _view.DecorationSet.create(t,s)}}})]});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _constants=require("../../constants.js"),_ToolbarButton=_interopRequireDefault(require("./ToolbarButton.jsx")),_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:e=>e.isActive("table")&&e.isFocused}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MODULE_REGISTRY=void 0;var _index=_interopRequireDefault(require("./modules/bold/index.js")),_index2=_interopRequireDefault(require("./modules/italic/index.js")),_index3=_interopRequireDefault(require("./modules/list/index.js")),_index4=_interopRequireDefault(require("./modules/listNumbers/index.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const MODULE_REGISTRY=exports.MODULE_REGISTRY={bold:_index.default,italic:_index2.default,list:_index3.default,listNumbers:_index4.default};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MODULE_REGISTRY=void 0;var _index=_interopRequireDefault(require("./modules/bold/index.js")),_index2=_interopRequireDefault(require("./modules/italic/index.js")),_index3=_interopRequireDefault(require("./modules/list/index.js")),_index4=_interopRequireDefault(require("./modules/listNumbers/index.js")),_index5=_interopRequireDefault(require("./modules/table/index.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const MODULE_REGISTRY=exports.MODULE_REGISTRY={bold:_index.default,italic:_index2.default,list:_index3.default,listNumbers:_index4.default,table:_index5.default};
@@ -107,6 +107,123 @@
107
107
  text-decoration: underline;
108
108
  }
109
109
 
110
+ // --- Estilos de tabla ---
111
+ // Applies only to tables rendered inside the editor (not in email output, which uses
112
+ // inline styles via the `style` attribute set by buildTableNode / EnergyTable*).
113
+
114
+ // Wrapper generado por Tiptap cuando resizable:true. Scroll horizontal cuando la
115
+ // tabla supera el ancho del contenedor.
116
+ :global(.tableWrapper) {
117
+ overflow-x: auto;
118
+
119
+ & + * {
120
+ margin-top: var(--UT-textEditor-block-gap, 8px);
121
+ }
122
+ }
123
+
124
+ table {
125
+ border-collapse: collapse;
126
+ table-layout: fixed;
127
+ width: 100%;
128
+ }
129
+
130
+ td,
131
+ th {
132
+ border: 1px solid var(--light05);
133
+ min-width: var(--UT-textEditor-table-cell-min-width, 40px);
134
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
135
+ position: relative;
136
+ vertical-align: top;
137
+
138
+ > * {
139
+ margin: 0;
140
+ }
141
+
142
+ &:hover :global(.column-resize-handle) {
143
+ opacity: 1;
144
+ }
145
+ }
146
+
147
+ th {
148
+ background-color: var(--light03);
149
+ font-weight: var(--UT-textEditor-bold-weight, 600);
150
+ text-align: left;
151
+
152
+ &:hover {
153
+ background-color: var(--light04);
154
+ }
155
+
156
+ &:global(.focused-cell) {
157
+ background-color: var(--light02);
158
+
159
+ &::before {
160
+ border: 2px solid var(--actionAccent04);
161
+ bottom: 0;
162
+ content: '';
163
+ left: 0;
164
+ pointer-events: none;
165
+ position: absolute;
166
+ right: 0;
167
+ top: 0;
168
+ z-index: 3;
169
+ }
170
+ }
171
+ }
172
+
173
+ td {
174
+ background-color: var(--light01);
175
+
176
+ &:hover {
177
+ background-color: var(--light04);
178
+ }
179
+
180
+ &:global(.focused-cell) {
181
+ &::before {
182
+ border: 2px solid var(--actionAccent04);
183
+ bottom: 0;
184
+ content: '';
185
+ left: 0;
186
+ pointer-events: none;
187
+ position: absolute;
188
+ right: 0;
189
+ top: 0;
190
+ z-index: 3;
191
+ }
192
+ }
193
+ }
194
+
195
+ // Column resize handle — spans the full column height by extending beyond the cell
196
+ // boundaries with large top/bottom values (td/th don't clip overflow by default).
197
+ :global(.column-resize-handle) {
198
+ background-color: var(--actionAccent04);
199
+ bottom: -9999px;
200
+ opacity: 0;
201
+ pointer-events: none;
202
+ position: absolute;
203
+ right: -1px;
204
+ top: -9999px;
205
+ transition: opacity 0.15s ease;
206
+ width: 2px;
207
+ z-index: 10;
208
+ }
209
+
210
+ // Cursor de redimensionado activo.
211
+ :global(.resize-cursor) {
212
+ cursor: col-resize;
213
+ }
214
+
215
+ // Tiptap selection highlight on cells.
216
+ .selectedCell {
217
+ &::after {
218
+ background: var(--actionAccent01);
219
+ content: '';
220
+ inset: 0;
221
+ pointer-events: none;
222
+ position: absolute;
223
+ z-index: 2;
224
+ }
225
+ }
226
+
110
227
  // Única clase global necesaria: la genera la extensión Placeholder de Tiptap,
111
228
  // así que CSS Modules la hashearía y la regla no aplicaría. Va anidada dentro
112
229
  // de .editorContent, así que no se filtra fuera del editor.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildTableNode=exports.buildTableExtensions=void 0;var _extensionDocument=_interopRequireDefault(require("@tiptap/extension-document")),_extensionParagraph=_interopRequireDefault(require("@tiptap/extension-paragraph")),_extensionText=_interopRequireDefault(require("@tiptap/extension-text")),_extensions=require("../modules/table/extensions.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const TABLE_EMAIL_STYLE="border-collapse: collapse; width: 100%; border-spacing: 0;",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="border: 1px solid #CCCCCC; padding: 8px 12px; text-align: left; font-family: inherit;",buildParagraph=e=>({type:"paragraph",content:e?[{type:"text",text:String(e)}]:[]}),buildTableNode=e=>{let{headers:t,rows:n,cellColwidth:a}=e;return{type:"table",attrs:{style:TABLE_EMAIL_STYLE},content:[{type:"tableRow",content:t.map(e=>({type:"tableHeader",attrs:{colspan:1,colwidth:a?[a]:null,rowspan:1,style:HEADER_CELL_EMAIL_STYLE},content:[buildParagraph(e)]}))},...n.map(e=>({type:"tableRow",content:e.map(e=>({type:"tableCell",attrs:{colspan:1,colwidth:a?[a]:null,rowspan:1,style:DATA_CELL_EMAIL_STYLE},content:[buildParagraph(e)]}))}))]}};exports.buildTableNode=buildTableNode;const buildTableExtensions=()=>[_extensionDocument.default,_extensionParagraph.default,_extensionText.default,_extensions.EnergyTable,_extensions.EnergyTableRow,_extensions.EnergyTableHeader,_extensions.EnergyTableCell];exports.buildTableExtensions=buildTableExtensions;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEST_IDS=exports.ID_CONSTANTS=void 0;const ID_CONSTANTS=exports.ID_CONSTANTS={ACTIONS:"actions",ADD_FILTER_BUTTON:"addFilterButton",AVATAR:"avatar",BOTTOM_NAV:"bottomNav",CANVAS:"canvas",CELL:"cell",CLEAR_BUTTON:"clearButton",CLIENT_FILTER:"clientFilter",COLLAPSED_PANEL_CONTENT:"collapsedPanelContent",COLLAPSE_BUTTON:"collapseButton",COLLAPSE_BUTTON_TOOLTIP:"collapseButtonTooltip",CREDIT_CARD:"creditCard",CUSTOM_SEARCH_ACTION:"customSearchAction",DATA_CATEGORY:"dataCategory",DATA_ELEMENT:"dataElement",DELETE_BUTTON:"deleteButton",DELETE_BUTTON_TOOLTIP:"deleteButtonTooltip",ADDITIONAL_CONTENT:"additionalContent",ADDITIONAL_CONTENT_BODY:"additionalContentBody",DESCRIPTION:"description",DIALOG:"dialog",EDIT_BUTTON:"editButton",EDIT_BUTTON_TOOLTIP:"editButtonTooltip",EXPANDED_PANEL_CONTENT:"expandedPanelContent",EXPANDED_PANEL_CONTENT_CATEGORY:"expandedPanelContentCategory",EXPANDED_PANEL_CONTENT_CATEGORY_EMPTY:"expandedPanelContentCategoryEmpty",EXPANDED_PANEL_CONTENT_CATEGORY_HEADER:"expandedPanelContentCategoryHeader",EXPANDED_PANEL_CONTENT_CATEGORY_ITEM:"expandedPanelContentCategoryItem",EXPANDED_PANEL_CONTENT_HEADER:"expandedPanelContentHeader",EXPAND_BUTTON:"expandButton",FILTER_GROUPING:"filterGrouping",GROUPING_PANEL:"groupingPanel",HEADER:"header",HELP_TEXT:"helpText",ICON:"icon",INVALID_PARAMS:"invalidParams",LABEL:"label",MAIN_BUTTON:"mainButton",NAME:"name",NAME_CONTAINER:"nameContainer",ONBOARDING:"onboarding",PAGINATION_NEXT:"paginationNext",PAGINATION_PREV:"paginationPrev",PANEL:"panel",PERSISTENT_FILTER:"persistentFilter",PINNED:"pinned",POPPER:"popper",SEARCH_BUTTON:"searchButton",SECONDARY_ACTION:"secondaryAction",SEARCH_BUTTON_TOOLTIP:"searchButtonTooltip",SEARCH_FIELD:"searchField",SELECTION_COMPONENT:"selectionComponent",SIDEBAR:"sidebar",SIDEBAR_BUTTON:"sidebarButton",STATUS_MESSAGE:"statusMessage",TABLE:"table",TERTIARY_ACTION:"tertiaryAction",TABLE_ROW:"tableRow",TITLE:"title",USER_FILTER:"userFilter",UT_RICH_TEXT:"UTRichText",UT_SNACKBAR:"UTSnackbar",VALIDATION_DATA:"validationData",WORKFLOW_CONTAINER:"workflowContainer"},TEST_IDS=exports.TEST_IDS={barChart:{bar:{tooltip:"barChart.bar.tooltip."},xAxis:{secondaryLabel:"barChart.xAxis.secondaryLabel.",mainLabel:"barChart.xAxis.mainLabel."}},breadcrumbs:{item:"breadcrumbs.item"},creditCard:{cardField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cardField"),cvcField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cvcField"),expires:"".concat(ID_CONSTANTS.CREDIT_CARD,".expires"),nameField:"".concat(ID_CONSTANTS.CREDIT_CARD,".nameField")},dataCategory:{container:"".concat(ID_CONSTANTS.DATA_CATEGORY,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_CATEGORY,".collapseButton"),item:"".concat(ID_CONSTANTS.DATA_CATEGORY,".item")},dataElement:{container:"".concat(ID_CONSTANTS.DATA_ELEMENT,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_ELEMENT,".collapseButton"),switchAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionSwitch"),buttonAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionButton")},dialog:{acceptButton:"".concat(ID_CONSTANTS.DIALOG,".acceptButton"),cancelButton:"".concat(ID_CONSTANTS.DIALOG,".cancelButton"),closeButton:"".concat(ID_CONSTANTS.DIALOG,".closeButton"),title:"".concat(ID_CONSTANTS.DIALOG,".title")},filterGrouping:{groupingPanel:{collapsedPanelContent:{expandButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.COLLAPSED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPAND_BUTTON)},expandedPanelContent:{expandedPanelContentCategory:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_CATEGORY),expandedPanelContentHeader:{addFilterButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.ADD_FILTER_BUTTON),collapseButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON),collapseButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON_TOOLTIP),customSearchAction:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.CUSTOM_SEARCH_ACTION),searchButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON),searchButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON_TOOLTIP),searchField:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_FIELD),title:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.TITLE)}}}},onboarding:{close:"".concat(ID_CONSTANTS.ONBOARDING,".close"),description:"".concat(ID_CONSTANTS.ONBOARDING,".description"),nextButton:"".concat(ID_CONSTANTS.ONBOARDING,".nextButton"),prevButton:"".concat(ID_CONSTANTS.ONBOARDING,".prevButton"),title:"".concat(ID_CONSTANTS.ONBOARDING,".title")},panel:{additionalContent:{body:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT_BODY),sidebar:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR),sidebarButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR_BUTTON,".")},backButton:"".concat(ID_CONSTANTS.PANEL,".backButton"),closeButton:"".concat(ID_CONSTANTS.PANEL,".closeButton"),mainAction:"".concat(ID_CONSTANTS.PANEL,".mainAction"),mainButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.MAIN_BUTTON),paginationNext:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_NEXT),paginationPrev:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_PREV),secondaryAction:"".concat(ID_CONSTANTS.PANEL,".secondaryAction"),title:"".concat(ID_CONSTANTS.PANEL,".title")},signature:"signature",snackBar:{closeButton:"snackbar.closeButton",label:"snackbar.label"},statusMessage:{description:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".description"),helperText:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".helperText"),icon:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".icon"),title:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".title")},table:{tableHeader:{title:"".concat(ID_CONSTANTS.TABLE,".tableHeader.title")}},tabs:{tab:"tabs.tab."},wrapperObservation:{actionIcon:"wrapperObservation.actionIcon."},UTLoading:{logoLoader:"UTLoading.logoLoader",spinner:"UTLoading.spinner"},UTRichText:{content:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".content"),field:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".field"),helpText:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.HELP_TEXT),label:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.LABEL),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".root"),submitButton:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".submitButton"),toolbar:{bold:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.bold"),italic:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.italic"),list:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.list"),listNumbers:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.listNumbers"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.root")},validation:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.VALIDATION_DATA)},UTSnackbar:{closeButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".closeButton"),description:"".concat(ID_CONSTANTS.UT_SNACKBAR,".description"),label:"".concat(ID_CONSTANTS.UT_SNACKBAR,".label"),primaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".primaryActionButton"),root:"".concat(ID_CONSTANTS.UT_SNACKBAR,".root"),secondaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".secondaryActionButton")},UTDatePickerV1TestID:{calendar:"UTDatePickerV1.calendar",calendarPrevBtn:"UTDatePickerV1.calendarPrevBtn",calendarNextBtn:"UTDatePickerV1.calendarNextBtn",calendarMonthYear:"UTDatePickerV1.calendarMonthYear"},workflowContainer:{bottomNav:{backButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".backButton"),nextButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".nextButton"),primaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".primaryAction"),secondaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".secondaryAction")},header:{helpText:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".helpText"),requiredFieldInfo:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".requiredFieldInfo"),subtitle:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".subtitle"),tagline:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".tagline"),title:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".title")}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEST_IDS=exports.ID_CONSTANTS=void 0;const ID_CONSTANTS=exports.ID_CONSTANTS={ACTIONS:"actions",ADD_FILTER_BUTTON:"addFilterButton",AVATAR:"avatar",BOTTOM_NAV:"bottomNav",CANVAS:"canvas",CELL:"cell",CLEAR_BUTTON:"clearButton",CLIENT_FILTER:"clientFilter",COLLAPSED_PANEL_CONTENT:"collapsedPanelContent",COLLAPSE_BUTTON:"collapseButton",COLLAPSE_BUTTON_TOOLTIP:"collapseButtonTooltip",CREDIT_CARD:"creditCard",CUSTOM_SEARCH_ACTION:"customSearchAction",DATA_CATEGORY:"dataCategory",DATA_ELEMENT:"dataElement",DELETE_BUTTON:"deleteButton",DELETE_BUTTON_TOOLTIP:"deleteButtonTooltip",ADDITIONAL_CONTENT:"additionalContent",ADDITIONAL_CONTENT_BODY:"additionalContentBody",DESCRIPTION:"description",DIALOG:"dialog",EDIT_BUTTON:"editButton",EDIT_BUTTON_TOOLTIP:"editButtonTooltip",EXPANDED_PANEL_CONTENT:"expandedPanelContent",EXPANDED_PANEL_CONTENT_CATEGORY:"expandedPanelContentCategory",EXPANDED_PANEL_CONTENT_CATEGORY_EMPTY:"expandedPanelContentCategoryEmpty",EXPANDED_PANEL_CONTENT_CATEGORY_HEADER:"expandedPanelContentCategoryHeader",EXPANDED_PANEL_CONTENT_CATEGORY_ITEM:"expandedPanelContentCategoryItem",EXPANDED_PANEL_CONTENT_HEADER:"expandedPanelContentHeader",EXPAND_BUTTON:"expandButton",FILTER_GROUPING:"filterGrouping",GROUPING_PANEL:"groupingPanel",HEADER:"header",HELP_TEXT:"helpText",ICON:"icon",INVALID_PARAMS:"invalidParams",LABEL:"label",MAIN_BUTTON:"mainButton",NAME:"name",NAME_CONTAINER:"nameContainer",ONBOARDING:"onboarding",PAGINATION_NEXT:"paginationNext",PAGINATION_PREV:"paginationPrev",PANEL:"panel",PERSISTENT_FILTER:"persistentFilter",PINNED:"pinned",POPPER:"popper",SEARCH_BUTTON:"searchButton",SECONDARY_ACTION:"secondaryAction",SEARCH_BUTTON_TOOLTIP:"searchButtonTooltip",SEARCH_FIELD:"searchField",SELECTION_COMPONENT:"selectionComponent",SIDEBAR:"sidebar",SIDEBAR_BUTTON:"sidebarButton",STATUS_MESSAGE:"statusMessage",TABLE:"table",TERTIARY_ACTION:"tertiaryAction",TABLE_ROW:"tableRow",TITLE:"title",USER_FILTER:"userFilter",UT_RICH_TEXT:"UTRichText",UT_SNACKBAR:"UTSnackbar",VALIDATION_DATA:"validationData",WORKFLOW_CONTAINER:"workflowContainer"},TEST_IDS=exports.TEST_IDS={barChart:{bar:{tooltip:"barChart.bar.tooltip."},xAxis:{secondaryLabel:"barChart.xAxis.secondaryLabel.",mainLabel:"barChart.xAxis.mainLabel."}},breadcrumbs:{item:"breadcrumbs.item"},creditCard:{cardField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cardField"),cvcField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cvcField"),expires:"".concat(ID_CONSTANTS.CREDIT_CARD,".expires"),nameField:"".concat(ID_CONSTANTS.CREDIT_CARD,".nameField")},dataCategory:{container:"".concat(ID_CONSTANTS.DATA_CATEGORY,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_CATEGORY,".collapseButton"),item:"".concat(ID_CONSTANTS.DATA_CATEGORY,".item")},dataElement:{container:"".concat(ID_CONSTANTS.DATA_ELEMENT,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_ELEMENT,".collapseButton"),switchAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionSwitch"),buttonAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionButton")},dialog:{acceptButton:"".concat(ID_CONSTANTS.DIALOG,".acceptButton"),cancelButton:"".concat(ID_CONSTANTS.DIALOG,".cancelButton"),closeButton:"".concat(ID_CONSTANTS.DIALOG,".closeButton"),title:"".concat(ID_CONSTANTS.DIALOG,".title")},filterGrouping:{groupingPanel:{collapsedPanelContent:{expandButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.COLLAPSED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPAND_BUTTON)},expandedPanelContent:{expandedPanelContentCategory:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_CATEGORY),expandedPanelContentHeader:{addFilterButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.ADD_FILTER_BUTTON),collapseButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON),collapseButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON_TOOLTIP),customSearchAction:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.CUSTOM_SEARCH_ACTION),searchButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON),searchButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON_TOOLTIP),searchField:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_FIELD),title:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.TITLE)}}}},onboarding:{close:"".concat(ID_CONSTANTS.ONBOARDING,".close"),description:"".concat(ID_CONSTANTS.ONBOARDING,".description"),nextButton:"".concat(ID_CONSTANTS.ONBOARDING,".nextButton"),prevButton:"".concat(ID_CONSTANTS.ONBOARDING,".prevButton"),title:"".concat(ID_CONSTANTS.ONBOARDING,".title")},panel:{additionalContent:{body:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT_BODY),sidebar:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR),sidebarButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR_BUTTON,".")},backButton:"".concat(ID_CONSTANTS.PANEL,".backButton"),closeButton:"".concat(ID_CONSTANTS.PANEL,".closeButton"),mainAction:"".concat(ID_CONSTANTS.PANEL,".mainAction"),mainButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.MAIN_BUTTON),paginationNext:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_NEXT),paginationPrev:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_PREV),secondaryAction:"".concat(ID_CONSTANTS.PANEL,".secondaryAction"),title:"".concat(ID_CONSTANTS.PANEL,".title")},signature:"signature",snackBar:{closeButton:"snackbar.closeButton",label:"snackbar.label"},statusMessage:{description:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".description"),helperText:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".helperText"),icon:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".icon"),title:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".title")},table:{tableHeader:{title:"".concat(ID_CONSTANTS.TABLE,".tableHeader.title")}},tabs:{tab:"tabs.tab."},wrapperObservation:{actionIcon:"wrapperObservation.actionIcon."},UTLoading:{logoLoader:"UTLoading.logoLoader",spinner:"UTLoading.spinner"},UTRichText:{content:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".content"),field:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".field"),helpText:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.HELP_TEXT),label:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.LABEL),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".root"),submitButton:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".submitButton"),tableToolbar:{addColumnAfter:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addColumnAfter"),addColumnBefore:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addColumnBefore"),addRowAfter:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addRowAfter"),deleteColumn:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteColumn"),deleteRow:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteRow"),deleteTable:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteTable"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.root")},toolbar:{bold:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.bold"),italic:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.italic"),list:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.list"),listNumbers:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.listNumbers"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.root"),table:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.table")},validation:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.VALIDATION_DATA)},UTSnackbar:{closeButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".closeButton"),description:"".concat(ID_CONSTANTS.UT_SNACKBAR,".description"),label:"".concat(ID_CONSTANTS.UT_SNACKBAR,".label"),primaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".primaryActionButton"),root:"".concat(ID_CONSTANTS.UT_SNACKBAR,".root"),secondaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".secondaryActionButton")},UTDatePickerV1TestID:{calendar:"UTDatePickerV1.calendar",calendarPrevBtn:"UTDatePickerV1.calendarPrevBtn",calendarNextBtn:"UTDatePickerV1.calendarNextBtn",calendarMonthYear:"UTDatePickerV1.calendarMonthYear"},workflowContainer:{bottomNav:{backButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".backButton"),nextButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".nextButton"),primaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".primaryAction"),secondaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".secondaryAction")},header:{helpText:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".helpText"),requiredFieldInfo:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".requiredFieldInfo"),subtitle:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".subtitle"),tagline:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".tagline"),title:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".title")}}};
@@ -0,0 +1 @@
1
+ import{number}from"prop-types";import React from"react";import styles from"./styles.module.scss";const EditorSkeleton=e=>{let{cols:t=3,rows:a=3}=e;const s=Array.from({length:t},(e,t)=>"c".concat(t)),l=Array.from({length:a},(e,t)=>"r".concat(t));return React.createElement("div",{className:styles.root},React.createElement("div",{className:styles.tableWrapper},React.createElement("div",{className:styles.table},React.createElement("div",{className:styles.row},s.map(e=>React.createElement("div",{key:e,className:styles.headerCell},React.createElement("div",{className:styles.bar})))),l.map(e=>React.createElement("div",{key:e,className:styles.row},s.map(e=>React.createElement("div",{key:e,className:styles.bodyCell},React.createElement("div",{className:styles.bar}))))))))};EditorSkeleton.propTypes={cols:number,rows:number};export default EditorSkeleton;
@@ -0,0 +1,71 @@
1
+ @use '../../../../scss/variables/colors.module.scss' as *;
2
+
3
+ @keyframes editorSkeletonShimmer {
4
+ 0% {
5
+ background-position: -150px;
6
+ }
7
+
8
+ 40% {
9
+ background-position: 350px;
10
+ }
11
+
12
+ 100% {
13
+ background-position: 350px;
14
+ }
15
+ }
16
+
17
+ // Shared shimmer mixin — same colors and animation as UTSkeleton.
18
+ %shimmer {
19
+ animation: editorSkeletonShimmer 2s infinite linear;
20
+ background-color: $skeleton-base;
21
+ background-image: linear-gradient(90deg, $skeleton-base 0, $skeleton-second 50px, $skeleton-base 100px);
22
+ background-size: 600px;
23
+ border-radius: 3px;
24
+ }
25
+
26
+ // Cell content bar (14 px high, full width of its cell).
27
+ .bar {
28
+ @extend %shimmer;
29
+ height: 14px;
30
+ width: 100%;
31
+ }
32
+
33
+ // --- Layout ---
34
+
35
+ .root {
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: var(--UT-textEditor-gap, 12px);
39
+ }
40
+
41
+ .tableWrapper {
42
+ overflow-x: auto;
43
+ }
44
+
45
+ .table {
46
+ min-width: 100%;
47
+ }
48
+
49
+ .row {
50
+ display: flex;
51
+
52
+ & + & {
53
+ margin-top: -1px;
54
+ }
55
+ }
56
+
57
+ .headerCell {
58
+ background-color: var(--light03);
59
+ border: 1px solid var(--light05);
60
+ flex: 1;
61
+ min-width: 80px;
62
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
63
+ }
64
+
65
+ .bodyCell {
66
+ background-color: var(--light01);
67
+ border: 1px solid var(--light05);
68
+ flex: 1;
69
+ min-width: 80px;
70
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
71
+ }
@@ -3,6 +3,12 @@
3
3
  display: flex;
4
4
  flex-shrink: 0;
5
5
  grid-gap: var(--UT-richText-toolbar-gap);
6
+
7
+ // When all buttons return null (e.g. table-only with allowInsert:false outside a table),
8
+ // React inserts no DOM nodes and the div is genuinely empty — hide it to avoid dead space.
9
+ &:empty {
10
+ display: none;
11
+ }
6
12
  }
7
13
 
8
14
  .separator {
@@ -10,4 +16,11 @@
10
16
  height: var(--UT-richText-separator-height);
11
17
  margin: 0 var(--UT-richText-toolbar-gap);
12
18
  width: 1px;
19
+
20
+ // When the button after this separator returns null (e.g. table with allowInsert:false
21
+ // and cursor outside a table), React removes that button from the DOM and this separator
22
+ // becomes the last child — hide it so it doesn't float at the end of the toolbar.
23
+ &:last-child {
24
+ display: none;
25
+ }
13
26
  }
@@ -1 +1 @@
1
- import Document from"@tiptap/extension-document";import HardBreak from"@tiptap/extension-hard-break";import Link from"@tiptap/extension-link";import Paragraph from"@tiptap/extension-paragraph";import Text from"@tiptap/extension-text";import{Dropcursor,Gapcursor,Placeholder,UndoRedo}from"@tiptap/extensions";import{TEST_IDS}from"../../constants/testIds.js";export const TEST_IDS_RICH_TEXT=TEST_IDS.UTRichText;export const MODULE_KEYS={bold:"bold",italic:"italic",list:"list",listNumbers:"listNumbers"};export const TOOLBAR_GROUPS=[[MODULE_KEYS.bold,MODULE_KEYS.italic],[MODULE_KEYS.listNumbers,MODULE_KEYS.list]];export const DEFAULT_MODULES=TOOLBAR_GROUPS.flat();export const KEYMAP_SHORTCUTS={submit:"Mod-Enter"};export const TOOLBAR_BUTTON={active:{colorTheme:"primary",variant:"semitransparent"},inactive:{colorTheme:"gray",variant:"text"},size:"small"};export const TITLE_VARIANTS={large:"large",small:"small"};export const DEFAULT_PROPS={titleVariant:TITLE_VARIANTS.large};export const PUBLISHED_SCHEMA={marks:["bold","italic","link"],nodes:["bulletList","doc","hardBreak","listItem","orderedList","paragraph","text"]};export const buildBaseExtensions=t=>{let{placeholder:r}=t;return[Document,Paragraph,Text,HardBreak,Link.configure({autolink:!0,openOnClick:!1}),Dropcursor,Gapcursor,UndoRedo,Placeholder.configure({placeholder:r})]};
1
+ import Document from"@tiptap/extension-document";import HardBreak from"@tiptap/extension-hard-break";import Link from"@tiptap/extension-link";import Paragraph from"@tiptap/extension-paragraph";import Text from"@tiptap/extension-text";import{Dropcursor,Gapcursor,Placeholder,UndoRedo}from"@tiptap/extensions";import{TEST_IDS}from"../../constants/testIds.js";export const TEST_IDS_RICH_TEXT=TEST_IDS.UTRichText;export const MODULE_KEYS={bold:"bold",italic:"italic",list:"list",listNumbers:"listNumbers",table:"table"};export const TOOLBAR_GROUPS=[[MODULE_KEYS.bold,MODULE_KEYS.italic],[MODULE_KEYS.listNumbers,MODULE_KEYS.list],[MODULE_KEYS.table]];export const DEFAULT_MODULES=[MODULE_KEYS.bold,MODULE_KEYS.italic,MODULE_KEYS.listNumbers,MODULE_KEYS.list];export const KEYMAP_SHORTCUTS={submit:"Mod-Enter"};export const TOOLBAR_BUTTON={active:{colorTheme:"primary",variant:"semitransparent"},inactive:{colorTheme:"gray",variant:"text"},size:"small"};export const TITLE_VARIANTS={large:"large",small:"small"};export const DEFAULT_PROPS={titleVariant:TITLE_VARIANTS.large};export const PUBLISHED_SCHEMA={marks:["bold","italic","link"],nodes:["bulletList","doc","hardBreak","listItem","orderedList","paragraph","table","tableCell","tableHeader","tableRow","text"]};export const buildBaseExtensions=t=>{let{placeholder:e}=t;return[Document,Paragraph,Text,HardBreak,Link.configure({autolink:!0,openOnClick:!1}),Dropcursor,Gapcursor,UndoRedo,Placeholder.configure({placeholder:e})]};
@@ -1 +1 @@
1
- import isEmpty from"lodash/isEmpty";import{useMemo}from"react";import{DEFAULT_MODULES,TOOLBAR_GROUPS}from"../constants.js";import{MODULE_REGISTRY}from"../registry.js";const buildModuleGroups=o=>{const e=new Set(o);return TOOLBAR_GROUPS.map(o=>o.filter(o=>e.has(o)&&MODULE_REGISTRY[o]).map(o=>MODULE_REGISTRY[o])).filter(o=>!isEmpty(o))},useModuleResolution=o=>{let{modules:e}=o;const t=JSON.stringify(e||DEFAULT_MODULES);return useMemo(()=>buildModuleGroups(JSON.parse(t)),[t])};export default useModuleResolution;
1
+ import isEmpty from"lodash/isEmpty";import{useMemo}from"react";import{DEFAULT_MODULES,TOOLBAR_GROUPS}from"../constants.js";import{MODULE_REGISTRY}from"../registry.js";const resolveConfig=(e,o)=>({...e.defaultConfig,...o[e.key]||{}}),resolveExtensions=(e,o)=>"function"==typeof e?e(o):e,buildModuleGroups=(e,o)=>{const s=new Set(e);return TOOLBAR_GROUPS.map(e=>e.filter(e=>s.has(e)&&MODULE_REGISTRY[e]).map(e=>{const s=MODULE_REGISTRY[e],t=resolveConfig(s,o);return{...s,config:t,resolvedExtensions:resolveExtensions(s.extensions,t)}})).filter(e=>!isEmpty(e))},useModuleResolution=e=>{let{moduleConfig:o={},modules:s}=e;const t=JSON.stringify(s||DEFAULT_MODULES),r=JSON.stringify(o);return useMemo(()=>buildModuleGroups(JSON.parse(t),o),[t,r])};export default useModuleResolution;
@@ -1 +1 @@
1
- import{EditorContent,useEditorState}from"@tiptap/react";import isEmpty from"lodash/isEmpty";import{arrayOf,bool,func,object,objectOf,oneOf,oneOfType,string}from"prop-types";import React,{useCallback,useMemo,useRef,useState}from"react";import{mergeMultipleClassNames}from"../../utils/classesUtils.js";import UTFieldLabel from"../UTFieldLabel/index.js";import UTLabel from"../UTLabel/index.js";import UTValidation,{validationDataProptypes}from"../UTValidation/index.js";import{formatErrorToValidation}from"../UTValidation/utils.js";import SubmitAction from"./components/SubmitAction/index.js";import Toolbar from"./components/Toolbar/index.js";import{DEFAULT_PROPS,MODULE_KEYS,TEST_IDS_RICH_TEXT,TITLE_VARIANTS}from"./constants.js";import useModuleResolution from"./hooks/useModuleResolution.js";import useRichTextEditor from"./hooks/useRichTextEditor.js";import{getFieldClassName}from"./utils.js";import styles from"./styles.module.scss";const UTRichText=e=>{var t;let{actions:o,classNames:a={},dataTestId:s=TEST_IDS_RICH_TEXT.root,disabled:l=!1,error:r,helpText:i,loading:n=!1,modules:d,onBlur:T,onChange:m,onFocus:c,onSubmit:u,placeholder:p,readOnly:E=!1,required:b=!1,submitButtonProps:f,title:S,titleVariant:R=DEFAULT_PROPS.titleVariant,validations:_,value:I}=e;const[y,C]=useState(!1),h=useModuleResolution({modules:d}),O=useMemo(()=>h.flat(),[h]),j=useMemo(()=>mergeMultipleClassNames(styles,a),[a]),g=useCallback(e=>{C(!0),null==c||c(e)},[c]),v=useCallback(e=>{C(!1),null==T||T(e)},[T]),U=useRef(!1),x=useCallback(()=>!(!U.current||!u)&&(u(),!0),[u]),D=useRichTextEditor({activeModules:O,ariaLabel:S,dataTestId:TEST_IDS_RICH_TEXT.content,disabled:l,editorClassName:styles.editorContent,onBlur:v,onChange:m,onFocus:g,onSubmit:x,placeholder:p,readOnly:E,value:I}),N=null===(t=useEditorState({editor:D,selector:e=>{let{editor:t}=e;return!t||t.isEmpty}}))||void 0===t||t,L=Boolean(u)&&!l&&!n&&!N;U.current=L;const M=useMemo(()=>isEmpty(_)?r?formatErrorToValidation(r):null:_,[r,_]);return React.createElement("div",{className:j.container,"data-testid":s},S&&React.createElement(UTFieldLabel,{actions:o,dataTestId:TEST_IDS_RICH_TEXT.label,readOnly:E,required:b,size:R},S),React.createElement("div",{className:getFieldClassName({classes:j,disabled:l,error:r,isFocused:y,readOnly:E}),"data-testid":TEST_IDS_RICH_TEXT.field},!E&&React.createElement(Toolbar,{dataTestId:TEST_IDS_RICH_TEXT.toolbar.root,disabled:l,editor:D,moduleGroups:h}),React.createElement("div",{className:j.scrollArea},React.createElement(EditorContent,{className:j.editorWrapper,editor:D})),u&&!E&&React.createElement(SubmitAction,{dataTestId:TEST_IDS_RICH_TEXT.submitButton,disabled:!L,loading:n,onSubmit:u,submitButtonProps:f})),i&&React.createElement(UTLabel,{className:j.helpText,colorTheme:"gray",dataTestId:TEST_IDS_RICH_TEXT.helpText,variant:"small",withMarkdown:!0},i),M&&React.createElement(UTValidation,{dataTestId:TEST_IDS_RICH_TEXT.validation,validationData:M}))};export const propTypes={actions:arrayOf(object),classNames:objectOf(string),dataTestId:string,disabled:bool,error:oneOfType([bool,string]),helpText:string,loading:bool,modules:arrayOf(oneOf(Object.values(MODULE_KEYS))),onBlur:func,onChange:func,onFocus:func,onSubmit:func,placeholder:string,readOnly:bool,required:bool,submitButtonProps:object,title:string,titleVariant:oneOf(Object.values(TITLE_VARIANTS)),validations:validationDataProptypes,value:object};UTRichText.propTypes=propTypes;export default UTRichText;
1
+ import{EditorContent,useEditorState}from"@tiptap/react";import isEmpty from"lodash/isEmpty";import{arrayOf,bool,func,object,objectOf,oneOf,oneOfType,string}from"prop-types";import React,{useCallback,useMemo,useRef,useState}from"react";import{mergeMultipleClassNames}from"../../utils/classesUtils.js";import UTFieldLabel from"../UTFieldLabel/index.js";import UTLabel from"../UTLabel/index.js";import UTValidation,{validationDataProptypes}from"../UTValidation/index.js";import{formatErrorToValidation}from"../UTValidation/utils.js";import EditorSkeleton from"./components/EditorSkeleton/index.jsx";import SubmitAction from"./components/SubmitAction/index.js";import Toolbar from"./components/Toolbar/index.js";import{DEFAULT_PROPS,MODULE_KEYS,TEST_IDS_RICH_TEXT,TITLE_VARIANTS}from"./constants.js";import useModuleResolution from"./hooks/useModuleResolution.js";import useRichTextEditor from"./hooks/useRichTextEditor.js";import{getFieldClassName}from"./utils.js";import styles from"./styles.module.scss";const UTRichText=e=>{var t;let{actions:o,classNames:a={},dataTestId:s=TEST_IDS_RICH_TEXT.root,disabled:l=!1,error:r,helpText:i,loading:n=!1,moduleConfig:d={},modules:m,onBlur:c,onChange:u,onFocus:T,onSubmit:p,placeholder:E,readOnly:b=!1,required:f=!1,submitButtonProps:S,title:R,titleVariant:_=DEFAULT_PROPS.titleVariant,validations:I,value:C}=e;const[y,g]=useState(!1),j=useModuleResolution({moduleConfig:d,modules:m}),x=useMemo(()=>j.flat(),[j]),O=useMemo(()=>mergeMultipleClassNames(styles,a),[a]),h=useMemo(()=>x.map(e=>{var t;return{...e,extensions:null!==(t=e.resolvedExtensions)&&void 0!==t?t:e.extensions}}),[x]),v=useCallback(e=>{g(!0),null==T||T(e)},[T]),U=useCallback(e=>{g(!1),null==c||c(e)},[c]),D=useRef(!1),M=useCallback(()=>!(!D.current||!p)&&(p(),!0),[p]),N=useRichTextEditor({activeModules:h,ariaLabel:R,dataTestId:TEST_IDS_RICH_TEXT.content,disabled:l,editorClassName:styles.editorContent,onBlur:U,onChange:u,onFocus:v,onSubmit:M,placeholder:E,readOnly:b,value:C}),L=null===(t=useEditorState({editor:N,selector:e=>{let{editor:t}=e;return!t||t.isEmpty}}))||void 0===t||t,F=Boolean(p)&&!l&&!n&&!L;D.current=F;const V=useMemo(()=>isEmpty(I)?r?formatErrorToValidation(r):null:I,[r,I]);return React.createElement("div",{className:O.container,"data-testid":s},R&&React.createElement(UTFieldLabel,{actions:o,dataTestId:TEST_IDS_RICH_TEXT.label,readOnly:b,required:f,size:_},R),React.createElement("div",{className:getFieldClassName({classes:O,disabled:l,error:r,isFocused:y,readOnly:b}),"data-testid":TEST_IDS_RICH_TEXT.field},n?React.createElement(EditorSkeleton,null):React.createElement(React.Fragment,null,!b&&React.createElement(Toolbar,{dataTestId:TEST_IDS_RICH_TEXT.toolbar.root,disabled:l,editor:N,moduleGroups:j}),React.createElement("div",{className:O.scrollArea},React.createElement(EditorContent,{className:O.editorWrapper,editor:N})),p&&!b&&React.createElement(SubmitAction,{dataTestId:TEST_IDS_RICH_TEXT.submitButton,disabled:!F,loading:n,onSubmit:p,submitButtonProps:S}))),i&&React.createElement(UTLabel,{className:O.helpText,colorTheme:"gray",dataTestId:TEST_IDS_RICH_TEXT.helpText,variant:"small",withMarkdown:!0},i),V&&React.createElement(UTValidation,{dataTestId:TEST_IDS_RICH_TEXT.validation,validationData:V}))};export const propTypes={actions:arrayOf(object),classNames:objectOf(string),dataTestId:string,disabled:bool,error:oneOfType([bool,string]),helpText:string,loading:bool,moduleConfig:objectOf(object),modules:arrayOf(oneOf(Object.values(MODULE_KEYS))),onBlur:func,onChange:func,onFocus:func,onSubmit:func,placeholder:string,readOnly:bool,required:bool,submitButtonProps:object,title:string,titleVariant:oneOf(Object.values(TITLE_VARIANTS)),validations:validationDataProptypes,value:object};UTRichText.propTypes=propTypes;export default UTRichText;
@@ -0,0 +1 @@
1
+ import{bool,func,object,string}from"prop-types";import React,{useCallback}from"react";import UTButton from"../../../../UTButton/index.js";import UTTooltip from"../../../../UTTooltip/index.js";import{TEST_IDS_RICH_TEXT,TOOLBAR_BUTTON}from"../../../constants.js";import styles from"./styles.module.scss";const{tableToolbar:tableToolbar}=TEST_IDS_RICH_TEXT,StructureButton=t=>{let{dataTestId:e,disabled:o,editor:a,icon:l,onCommand:r,tooltip:n}=t;const d=useCallback(()=>r(a.chain().focus()).run(),[a,r]);return React.createElement(UTTooltip,{arrow:!1,content:n,tippyProps:{appendTo:()=>document.body,interactive:!1}},React.createElement("div",null,React.createElement(UTButton,{colorTheme:TOOLBAR_BUTTON.inactive.colorTheme,dataTestId:e,disabled:o,LeftIcon:l,onClick:d,size:TOOLBAR_BUTTON.size,variant:TOOLBAR_BUTTON.inactive.variant})))};StructureButton.propTypes={dataTestId:string,disabled:bool,editor:object,icon:string,onCommand:func,tooltip:string};const TableToolbar=t=>{let{dataTestId:e,disabled:o,editor:a}=t;return React.createElement("div",{className:styles.tableToolbar,"data-testid":e},React.createElement(StructureButton,{dataTestId:tableToolbar.addColumnBefore,disabled:o,editor:a,icon:"IconColumnInsertLeft",onCommand:t=>t.addColumnBefore(),tooltip:"Agregar columna antes"}),React.createElement(StructureButton,{dataTestId:tableToolbar.addColumnAfter,disabled:o,editor:a,icon:"IconColumnInsertRight",onCommand:t=>t.addColumnAfter(),tooltip:"Agregar columna después"}),React.createElement(StructureButton,{dataTestId:tableToolbar.deleteColumn,disabled:o,editor:a,icon:"IconColumnRemove",onCommand:t=>t.deleteColumn(),tooltip:"Eliminar columna"}),React.createElement("span",{className:styles.separator}),React.createElement(StructureButton,{dataTestId:tableToolbar.addRowAfter,disabled:o,editor:a,icon:"IconRowInsertBottom",onCommand:t=>t.addRowAfter(),tooltip:"Agregar fila después"}),React.createElement(StructureButton,{dataTestId:tableToolbar.deleteRow,disabled:o,editor:a,icon:"IconRowRemove",onCommand:t=>t.deleteRow(),tooltip:"Eliminar fila"}),React.createElement("span",{className:styles.separator}),React.createElement(StructureButton,{dataTestId:tableToolbar.deleteTable,disabled:o,editor:a,icon:"IconTableOff",onCommand:t=>t.deleteTable(),tooltip:"Eliminar tabla"}))};TableToolbar.propTypes={dataTestId:string,disabled:bool,editor:object};export default TableToolbar;
@@ -0,0 +1,13 @@
1
+ .tableToolbar {
2
+ align-items: center;
3
+ display: flex;
4
+ flex-shrink: 0;
5
+ grid-gap: var(--UT-textEditor-toolbar-gap, 4px);
6
+ }
7
+
8
+ .separator {
9
+ background-color: var(--light04);
10
+ height: var(--UT-textEditor-separator-height, 20px);
11
+ margin: 0 var(--UT-textEditor-toolbar-gap, 4px);
12
+ width: 1px;
13
+ }
@@ -0,0 +1 @@
1
+ import{bool,object,shape,string}from"prop-types";import React,{useCallback}from"react";import UTButton from"../../../UTButton/index.js";import UTTooltip from"../../../UTTooltip/index.js";import{TOOLBAR_BUTTON}from"../../constants.js";import TableToolbar from"./TableToolbar/index.js";const INSERT_TABLE_DEFAULTS={cols:3,rows:3,withHeaderRow:!0},TableToolbarButton=t=>{let{disabled:e,editor:o,isActive:a,module:r}=t;const{allowInsert:l,allowStructureEdit:n}=r.config||r.defaultConfig,i=useCallback(()=>{if(!o.isActive("table"))return void o.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run();const{$from:t}=o.state.selection;for(let e=t.depth;e>0;e--)if("table"===t.node(e).type.name){const a=t.after(e);return void o.chain().insertContentAt(a,{type:"paragraph"}).setTextSelection(a+1).insertTable(INSERT_TABLE_DEFAULTS).run()}o.chain().focus().insertTable(INSERT_TABLE_DEFAULTS).run()},[o]);var T,s;return a&&n?React.createElement(TableToolbar,{dataTestId:null===(T=r.testIds)||void 0===T?void 0:T.toolbarButton,disabled:e,editor:o}):!a&&l?React.createElement(UTTooltip,{arrow:!1,content:"Insertar tabla",tippyProps:{appendTo:()=>document.body,interactive:!1}},React.createElement("div",null,React.createElement(UTButton,{colorTheme:TOOLBAR_BUTTON.inactive.colorTheme,dataTestId:null===(s=r.testIds)||void 0===s?void 0:s.toolbarButton,disabled:e,LeftIcon:"IconTable",onClick:i,size:TOOLBAR_BUTTON.size,variant:TOOLBAR_BUTTON.inactive.variant}))):null};TableToolbarButton.propTypes={disabled:bool,editor:object,isActive:bool,module:shape({config:object,defaultConfig:object,key:string,testIds:object})};export default TableToolbarButton;
@@ -0,0 +1 @@
1
+ import{Extension}from"@tiptap/core";import{Table,TableCell,TableHeader,TableRow}from"@tiptap/extension-table";import{Plugin}from"@tiptap/pm/state";import{Decoration,DecorationSet}from"@tiptap/pm/view";export const EnergyTable=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({resizable:!0});export const EnergyTableRow=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}:{}}}}});export const EnergyTableHeader=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}:{}}}}});export const EnergyTableCell=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}:{}}}}});export const CellFocus=Extension.create({name:"cellFocus",addProseMirrorPlugins:()=>[new 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 DecorationSet.empty;const{doc:t,selection:l}=e,{$from:r}=l,a=[];for(let e=r.depth;e>0;e--){const t=r.node(e);if("tableCell"===t.type.name||"tableHeader"===t.type.name){const l=r.before(e);a.push(Decoration.node(l,l+t.nodeSize,{class:"focused-cell"}));break}}return DecorationSet.create(t,a)}}})]});
@@ -0,0 +1 @@
1
+ import{MODULE_KEYS,TEST_IDS_RICH_TEXT}from"../../constants.js";import TableToolbarButton from"./ToolbarButton.jsx";import{CellFocus,EnergyTable,EnergyTableCell,EnergyTableHeader,EnergyTableRow}from"./extensions.js";export default{defaultConfig:{allowInsert:!0,allowStructureEdit:!0},extensions:e=>[EnergyTable,EnergyTableRow,EnergyTableHeader,EnergyTableCell,CellFocus],key:MODULE_KEYS.table,testIds:{toolbarButton:TEST_IDS_RICH_TEXT.toolbar.table},ToolbarButton:TableToolbarButton,toolbarButton:{isActive:e=>e.isActive("table")&&e.isFocused}};
@@ -1 +1 @@
1
- import bold from"./modules/bold/index.js";import italic from"./modules/italic/index.js";import list from"./modules/list/index.js";import listNumbers from"./modules/listNumbers/index.js";export const MODULE_REGISTRY={bold:bold,italic:italic,list:list,listNumbers:listNumbers};
1
+ import bold from"./modules/bold/index.js";import italic from"./modules/italic/index.js";import list from"./modules/list/index.js";import listNumbers from"./modules/listNumbers/index.js";import table from"./modules/table/index.js";export const MODULE_REGISTRY={bold:bold,italic:italic,list:list,listNumbers:listNumbers,table:table};
@@ -107,6 +107,123 @@
107
107
  text-decoration: underline;
108
108
  }
109
109
 
110
+ // --- Estilos de tabla ---
111
+ // Applies only to tables rendered inside the editor (not in email output, which uses
112
+ // inline styles via the `style` attribute set by buildTableNode / EnergyTable*).
113
+
114
+ // Wrapper generado por Tiptap cuando resizable:true. Scroll horizontal cuando la
115
+ // tabla supera el ancho del contenedor.
116
+ :global(.tableWrapper) {
117
+ overflow-x: auto;
118
+
119
+ & + * {
120
+ margin-top: var(--UT-textEditor-block-gap, 8px);
121
+ }
122
+ }
123
+
124
+ table {
125
+ border-collapse: collapse;
126
+ table-layout: fixed;
127
+ width: 100%;
128
+ }
129
+
130
+ td,
131
+ th {
132
+ border: 1px solid var(--light05);
133
+ min-width: var(--UT-textEditor-table-cell-min-width, 40px);
134
+ padding: var(--UT-textEditor-table-cell-padding-y, 6px) var(--UT-textEditor-table-cell-padding-x, 8px);
135
+ position: relative;
136
+ vertical-align: top;
137
+
138
+ > * {
139
+ margin: 0;
140
+ }
141
+
142
+ &:hover :global(.column-resize-handle) {
143
+ opacity: 1;
144
+ }
145
+ }
146
+
147
+ th {
148
+ background-color: var(--light03);
149
+ font-weight: var(--UT-textEditor-bold-weight, 600);
150
+ text-align: left;
151
+
152
+ &:hover {
153
+ background-color: var(--light04);
154
+ }
155
+
156
+ &:global(.focused-cell) {
157
+ background-color: var(--light02);
158
+
159
+ &::before {
160
+ border: 2px solid var(--actionAccent04);
161
+ bottom: 0;
162
+ content: '';
163
+ left: 0;
164
+ pointer-events: none;
165
+ position: absolute;
166
+ right: 0;
167
+ top: 0;
168
+ z-index: 3;
169
+ }
170
+ }
171
+ }
172
+
173
+ td {
174
+ background-color: var(--light01);
175
+
176
+ &:hover {
177
+ background-color: var(--light04);
178
+ }
179
+
180
+ &:global(.focused-cell) {
181
+ &::before {
182
+ border: 2px solid var(--actionAccent04);
183
+ bottom: 0;
184
+ content: '';
185
+ left: 0;
186
+ pointer-events: none;
187
+ position: absolute;
188
+ right: 0;
189
+ top: 0;
190
+ z-index: 3;
191
+ }
192
+ }
193
+ }
194
+
195
+ // Column resize handle — spans the full column height by extending beyond the cell
196
+ // boundaries with large top/bottom values (td/th don't clip overflow by default).
197
+ :global(.column-resize-handle) {
198
+ background-color: var(--actionAccent04);
199
+ bottom: -9999px;
200
+ opacity: 0;
201
+ pointer-events: none;
202
+ position: absolute;
203
+ right: -1px;
204
+ top: -9999px;
205
+ transition: opacity 0.15s ease;
206
+ width: 2px;
207
+ z-index: 10;
208
+ }
209
+
210
+ // Cursor de redimensionado activo.
211
+ :global(.resize-cursor) {
212
+ cursor: col-resize;
213
+ }
214
+
215
+ // Tiptap selection highlight on cells.
216
+ .selectedCell {
217
+ &::after {
218
+ background: var(--actionAccent01);
219
+ content: '';
220
+ inset: 0;
221
+ pointer-events: none;
222
+ position: absolute;
223
+ z-index: 2;
224
+ }
225
+ }
226
+
110
227
  // Única clase global necesaria: la genera la extensión Placeholder de Tiptap,
111
228
  // así que CSS Modules la hashearía y la regla no aplicaría. Va anidada dentro
112
229
  // de .editorContent, así que no se filtra fuera del editor.
@@ -0,0 +1 @@
1
+ import Document from"@tiptap/extension-document";import Paragraph from"@tiptap/extension-paragraph";import Text from"@tiptap/extension-text";import{EnergyTable,EnergyTableCell,EnergyTableHeader,EnergyTableRow}from"../modules/table/extensions.js";const TABLE_EMAIL_STYLE="border-collapse: collapse; width: 100%; border-spacing: 0;",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="border: 1px solid #CCCCCC; padding: 8px 12px; text-align: left; font-family: inherit;",buildParagraph=e=>({type:"paragraph",content:e?[{type:"text",text:String(e)}]:[]});export const buildTableNode=e=>{let{headers:t,rows:a,cellColwidth:r}=e;return{type:"table",attrs:{style:TABLE_EMAIL_STYLE},content:[{type:"tableRow",content:t.map(e=>({type:"tableHeader",attrs:{colspan:1,colwidth:r?[r]:null,rowspan:1,style:HEADER_CELL_EMAIL_STYLE},content:[buildParagraph(e)]}))},...a.map(e=>({type:"tableRow",content:e.map(e=>({type:"tableCell",attrs:{colspan:1,colwidth:r?[r]:null,rowspan:1,style:DATA_CELL_EMAIL_STYLE},content:[buildParagraph(e)]}))}))]}};export const buildTableExtensions=()=>[Document,Paragraph,Text,EnergyTable,EnergyTableRow,EnergyTableHeader,EnergyTableCell];
@@ -1 +1 @@
1
- export const ID_CONSTANTS={ACTIONS:"actions",ADD_FILTER_BUTTON:"addFilterButton",AVATAR:"avatar",BOTTOM_NAV:"bottomNav",CANVAS:"canvas",CELL:"cell",CLEAR_BUTTON:"clearButton",CLIENT_FILTER:"clientFilter",COLLAPSED_PANEL_CONTENT:"collapsedPanelContent",COLLAPSE_BUTTON:"collapseButton",COLLAPSE_BUTTON_TOOLTIP:"collapseButtonTooltip",CREDIT_CARD:"creditCard",CUSTOM_SEARCH_ACTION:"customSearchAction",DATA_CATEGORY:"dataCategory",DATA_ELEMENT:"dataElement",DELETE_BUTTON:"deleteButton",DELETE_BUTTON_TOOLTIP:"deleteButtonTooltip",ADDITIONAL_CONTENT:"additionalContent",ADDITIONAL_CONTENT_BODY:"additionalContentBody",DESCRIPTION:"description",DIALOG:"dialog",EDIT_BUTTON:"editButton",EDIT_BUTTON_TOOLTIP:"editButtonTooltip",EXPANDED_PANEL_CONTENT:"expandedPanelContent",EXPANDED_PANEL_CONTENT_CATEGORY:"expandedPanelContentCategory",EXPANDED_PANEL_CONTENT_CATEGORY_EMPTY:"expandedPanelContentCategoryEmpty",EXPANDED_PANEL_CONTENT_CATEGORY_HEADER:"expandedPanelContentCategoryHeader",EXPANDED_PANEL_CONTENT_CATEGORY_ITEM:"expandedPanelContentCategoryItem",EXPANDED_PANEL_CONTENT_HEADER:"expandedPanelContentHeader",EXPAND_BUTTON:"expandButton",FILTER_GROUPING:"filterGrouping",GROUPING_PANEL:"groupingPanel",HEADER:"header",HELP_TEXT:"helpText",ICON:"icon",INVALID_PARAMS:"invalidParams",LABEL:"label",MAIN_BUTTON:"mainButton",NAME:"name",NAME_CONTAINER:"nameContainer",ONBOARDING:"onboarding",PAGINATION_NEXT:"paginationNext",PAGINATION_PREV:"paginationPrev",PANEL:"panel",PERSISTENT_FILTER:"persistentFilter",PINNED:"pinned",POPPER:"popper",SEARCH_BUTTON:"searchButton",SECONDARY_ACTION:"secondaryAction",SEARCH_BUTTON_TOOLTIP:"searchButtonTooltip",SEARCH_FIELD:"searchField",SELECTION_COMPONENT:"selectionComponent",SIDEBAR:"sidebar",SIDEBAR_BUTTON:"sidebarButton",STATUS_MESSAGE:"statusMessage",TABLE:"table",TERTIARY_ACTION:"tertiaryAction",TABLE_ROW:"tableRow",TITLE:"title",USER_FILTER:"userFilter",UT_RICH_TEXT:"UTRichText",UT_SNACKBAR:"UTSnackbar",VALIDATION_DATA:"validationData",WORKFLOW_CONTAINER:"workflowContainer"};export const TEST_IDS={barChart:{bar:{tooltip:"barChart.bar.tooltip."},xAxis:{secondaryLabel:"barChart.xAxis.secondaryLabel.",mainLabel:"barChart.xAxis.mainLabel."}},breadcrumbs:{item:"breadcrumbs.item"},creditCard:{cardField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cardField"),cvcField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cvcField"),expires:"".concat(ID_CONSTANTS.CREDIT_CARD,".expires"),nameField:"".concat(ID_CONSTANTS.CREDIT_CARD,".nameField")},dataCategory:{container:"".concat(ID_CONSTANTS.DATA_CATEGORY,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_CATEGORY,".collapseButton"),item:"".concat(ID_CONSTANTS.DATA_CATEGORY,".item")},dataElement:{container:"".concat(ID_CONSTANTS.DATA_ELEMENT,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_ELEMENT,".collapseButton"),switchAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionSwitch"),buttonAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionButton")},dialog:{acceptButton:"".concat(ID_CONSTANTS.DIALOG,".acceptButton"),cancelButton:"".concat(ID_CONSTANTS.DIALOG,".cancelButton"),closeButton:"".concat(ID_CONSTANTS.DIALOG,".closeButton"),title:"".concat(ID_CONSTANTS.DIALOG,".title")},filterGrouping:{groupingPanel:{collapsedPanelContent:{expandButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.COLLAPSED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPAND_BUTTON)},expandedPanelContent:{expandedPanelContentCategory:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_CATEGORY),expandedPanelContentHeader:{addFilterButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.ADD_FILTER_BUTTON),collapseButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON),collapseButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON_TOOLTIP),customSearchAction:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.CUSTOM_SEARCH_ACTION),searchButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON),searchButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON_TOOLTIP),searchField:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_FIELD),title:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.TITLE)}}}},onboarding:{close:"".concat(ID_CONSTANTS.ONBOARDING,".close"),description:"".concat(ID_CONSTANTS.ONBOARDING,".description"),nextButton:"".concat(ID_CONSTANTS.ONBOARDING,".nextButton"),prevButton:"".concat(ID_CONSTANTS.ONBOARDING,".prevButton"),title:"".concat(ID_CONSTANTS.ONBOARDING,".title")},panel:{additionalContent:{body:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT_BODY),sidebar:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR),sidebarButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR_BUTTON,".")},backButton:"".concat(ID_CONSTANTS.PANEL,".backButton"),closeButton:"".concat(ID_CONSTANTS.PANEL,".closeButton"),mainAction:"".concat(ID_CONSTANTS.PANEL,".mainAction"),mainButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.MAIN_BUTTON),paginationNext:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_NEXT),paginationPrev:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_PREV),secondaryAction:"".concat(ID_CONSTANTS.PANEL,".secondaryAction"),title:"".concat(ID_CONSTANTS.PANEL,".title")},signature:"signature",snackBar:{closeButton:"snackbar.closeButton",label:"snackbar.label"},statusMessage:{description:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".description"),helperText:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".helperText"),icon:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".icon"),title:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".title")},table:{tableHeader:{title:"".concat(ID_CONSTANTS.TABLE,".tableHeader.title")}},tabs:{tab:"tabs.tab."},wrapperObservation:{actionIcon:"wrapperObservation.actionIcon."},UTLoading:{logoLoader:"UTLoading.logoLoader",spinner:"UTLoading.spinner"},UTRichText:{content:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".content"),field:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".field"),helpText:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.HELP_TEXT),label:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.LABEL),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".root"),submitButton:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".submitButton"),toolbar:{bold:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.bold"),italic:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.italic"),list:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.list"),listNumbers:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.listNumbers"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.root")},validation:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.VALIDATION_DATA)},UTSnackbar:{closeButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".closeButton"),description:"".concat(ID_CONSTANTS.UT_SNACKBAR,".description"),label:"".concat(ID_CONSTANTS.UT_SNACKBAR,".label"),primaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".primaryActionButton"),root:"".concat(ID_CONSTANTS.UT_SNACKBAR,".root"),secondaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".secondaryActionButton")},UTDatePickerV1TestID:{calendar:"UTDatePickerV1.calendar",calendarPrevBtn:"UTDatePickerV1.calendarPrevBtn",calendarNextBtn:"UTDatePickerV1.calendarNextBtn",calendarMonthYear:"UTDatePickerV1.calendarMonthYear"},workflowContainer:{bottomNav:{backButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".backButton"),nextButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".nextButton"),primaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".primaryAction"),secondaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".secondaryAction")},header:{helpText:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".helpText"),requiredFieldInfo:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".requiredFieldInfo"),subtitle:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".subtitle"),tagline:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".tagline"),title:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".title")}}};
1
+ export const ID_CONSTANTS={ACTIONS:"actions",ADD_FILTER_BUTTON:"addFilterButton",AVATAR:"avatar",BOTTOM_NAV:"bottomNav",CANVAS:"canvas",CELL:"cell",CLEAR_BUTTON:"clearButton",CLIENT_FILTER:"clientFilter",COLLAPSED_PANEL_CONTENT:"collapsedPanelContent",COLLAPSE_BUTTON:"collapseButton",COLLAPSE_BUTTON_TOOLTIP:"collapseButtonTooltip",CREDIT_CARD:"creditCard",CUSTOM_SEARCH_ACTION:"customSearchAction",DATA_CATEGORY:"dataCategory",DATA_ELEMENT:"dataElement",DELETE_BUTTON:"deleteButton",DELETE_BUTTON_TOOLTIP:"deleteButtonTooltip",ADDITIONAL_CONTENT:"additionalContent",ADDITIONAL_CONTENT_BODY:"additionalContentBody",DESCRIPTION:"description",DIALOG:"dialog",EDIT_BUTTON:"editButton",EDIT_BUTTON_TOOLTIP:"editButtonTooltip",EXPANDED_PANEL_CONTENT:"expandedPanelContent",EXPANDED_PANEL_CONTENT_CATEGORY:"expandedPanelContentCategory",EXPANDED_PANEL_CONTENT_CATEGORY_EMPTY:"expandedPanelContentCategoryEmpty",EXPANDED_PANEL_CONTENT_CATEGORY_HEADER:"expandedPanelContentCategoryHeader",EXPANDED_PANEL_CONTENT_CATEGORY_ITEM:"expandedPanelContentCategoryItem",EXPANDED_PANEL_CONTENT_HEADER:"expandedPanelContentHeader",EXPAND_BUTTON:"expandButton",FILTER_GROUPING:"filterGrouping",GROUPING_PANEL:"groupingPanel",HEADER:"header",HELP_TEXT:"helpText",ICON:"icon",INVALID_PARAMS:"invalidParams",LABEL:"label",MAIN_BUTTON:"mainButton",NAME:"name",NAME_CONTAINER:"nameContainer",ONBOARDING:"onboarding",PAGINATION_NEXT:"paginationNext",PAGINATION_PREV:"paginationPrev",PANEL:"panel",PERSISTENT_FILTER:"persistentFilter",PINNED:"pinned",POPPER:"popper",SEARCH_BUTTON:"searchButton",SECONDARY_ACTION:"secondaryAction",SEARCH_BUTTON_TOOLTIP:"searchButtonTooltip",SEARCH_FIELD:"searchField",SELECTION_COMPONENT:"selectionComponent",SIDEBAR:"sidebar",SIDEBAR_BUTTON:"sidebarButton",STATUS_MESSAGE:"statusMessage",TABLE:"table",TERTIARY_ACTION:"tertiaryAction",TABLE_ROW:"tableRow",TITLE:"title",USER_FILTER:"userFilter",UT_RICH_TEXT:"UTRichText",UT_SNACKBAR:"UTSnackbar",VALIDATION_DATA:"validationData",WORKFLOW_CONTAINER:"workflowContainer"};export const TEST_IDS={barChart:{bar:{tooltip:"barChart.bar.tooltip."},xAxis:{secondaryLabel:"barChart.xAxis.secondaryLabel.",mainLabel:"barChart.xAxis.mainLabel."}},breadcrumbs:{item:"breadcrumbs.item"},creditCard:{cardField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cardField"),cvcField:"".concat(ID_CONSTANTS.CREDIT_CARD,".cvcField"),expires:"".concat(ID_CONSTANTS.CREDIT_CARD,".expires"),nameField:"".concat(ID_CONSTANTS.CREDIT_CARD,".nameField")},dataCategory:{container:"".concat(ID_CONSTANTS.DATA_CATEGORY,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_CATEGORY,".collapseButton"),item:"".concat(ID_CONSTANTS.DATA_CATEGORY,".item")},dataElement:{container:"".concat(ID_CONSTANTS.DATA_ELEMENT,".container"),collapseButton:"".concat(ID_CONSTANTS.DATA_ELEMENT,".collapseButton"),switchAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionSwitch"),buttonAction:"".concat(ID_CONSTANTS.DATA_ELEMENT,".actionButton")},dialog:{acceptButton:"".concat(ID_CONSTANTS.DIALOG,".acceptButton"),cancelButton:"".concat(ID_CONSTANTS.DIALOG,".cancelButton"),closeButton:"".concat(ID_CONSTANTS.DIALOG,".closeButton"),title:"".concat(ID_CONSTANTS.DIALOG,".title")},filterGrouping:{groupingPanel:{collapsedPanelContent:{expandButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.COLLAPSED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPAND_BUTTON)},expandedPanelContent:{expandedPanelContentCategory:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_CATEGORY),expandedPanelContentHeader:{addFilterButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.ADD_FILTER_BUTTON),collapseButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON),collapseButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.COLLAPSE_BUTTON_TOOLTIP),customSearchAction:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.CUSTOM_SEARCH_ACTION),searchButton:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON),searchButtonTooltip:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_BUTTON_TOOLTIP),searchField:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.SEARCH_FIELD),title:"".concat(ID_CONSTANTS.FILTER_GROUPING,".").concat(ID_CONSTANTS.GROUPING_PANEL,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT,".").concat(ID_CONSTANTS.EXPANDED_PANEL_CONTENT_HEADER,".").concat(ID_CONSTANTS.TITLE)}}}},onboarding:{close:"".concat(ID_CONSTANTS.ONBOARDING,".close"),description:"".concat(ID_CONSTANTS.ONBOARDING,".description"),nextButton:"".concat(ID_CONSTANTS.ONBOARDING,".nextButton"),prevButton:"".concat(ID_CONSTANTS.ONBOARDING,".prevButton"),title:"".concat(ID_CONSTANTS.ONBOARDING,".title")},panel:{additionalContent:{body:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT_BODY),sidebar:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR),sidebarButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.ADDITIONAL_CONTENT,".").concat(ID_CONSTANTS.SIDEBAR_BUTTON,".")},backButton:"".concat(ID_CONSTANTS.PANEL,".backButton"),closeButton:"".concat(ID_CONSTANTS.PANEL,".closeButton"),mainAction:"".concat(ID_CONSTANTS.PANEL,".mainAction"),mainButton:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.MAIN_BUTTON),paginationNext:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_NEXT),paginationPrev:"".concat(ID_CONSTANTS.PANEL,".").concat(ID_CONSTANTS.PAGINATION_PREV),secondaryAction:"".concat(ID_CONSTANTS.PANEL,".secondaryAction"),title:"".concat(ID_CONSTANTS.PANEL,".title")},signature:"signature",snackBar:{closeButton:"snackbar.closeButton",label:"snackbar.label"},statusMessage:{description:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".description"),helperText:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".helperText"),icon:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".icon"),title:"".concat(ID_CONSTANTS.STATUS_MESSAGE,".title")},table:{tableHeader:{title:"".concat(ID_CONSTANTS.TABLE,".tableHeader.title")}},tabs:{tab:"tabs.tab."},wrapperObservation:{actionIcon:"wrapperObservation.actionIcon."},UTLoading:{logoLoader:"UTLoading.logoLoader",spinner:"UTLoading.spinner"},UTRichText:{content:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".content"),field:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".field"),helpText:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.HELP_TEXT),label:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.LABEL),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".root"),submitButton:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".submitButton"),tableToolbar:{addColumnAfter:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addColumnAfter"),addColumnBefore:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addColumnBefore"),addRowAfter:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.addRowAfter"),deleteColumn:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteColumn"),deleteRow:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteRow"),deleteTable:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.deleteTable"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".tableToolbar.root")},toolbar:{bold:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.bold"),italic:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.italic"),list:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.list"),listNumbers:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.listNumbers"),root:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.root"),table:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".toolbar.table")},validation:"".concat(ID_CONSTANTS.UT_RICH_TEXT,".").concat(ID_CONSTANTS.VALIDATION_DATA)},UTSnackbar:{closeButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".closeButton"),description:"".concat(ID_CONSTANTS.UT_SNACKBAR,".description"),label:"".concat(ID_CONSTANTS.UT_SNACKBAR,".label"),primaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".primaryActionButton"),root:"".concat(ID_CONSTANTS.UT_SNACKBAR,".root"),secondaryActionButton:"".concat(ID_CONSTANTS.UT_SNACKBAR,".secondaryActionButton")},UTDatePickerV1TestID:{calendar:"UTDatePickerV1.calendar",calendarPrevBtn:"UTDatePickerV1.calendarPrevBtn",calendarNextBtn:"UTDatePickerV1.calendarNextBtn",calendarMonthYear:"UTDatePickerV1.calendarMonthYear"},workflowContainer:{bottomNav:{backButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".backButton"),nextButton:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".nextButton"),primaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".primaryAction"),secondaryAction:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.BOTTOM_NAV,".secondaryAction")},header:{helpText:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".helpText"),requiredFieldInfo:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".requiredFieldInfo"),subtitle:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".subtitle"),tagline:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".tagline"),title:"".concat(ID_CONSTANTS.WORKFLOW_CONTAINER,".").concat(ID_CONSTANTS.HEADER,".title")}}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widergy/energy-ui",
3
- "version": "3.176.0",
3
+ "version": "3.177.1",
4
4
  "description": "Widergy Web Components",
5
5
  "author": "widergy",
6
6
  "license": "MIT",
@@ -57,8 +57,13 @@
57
57
  "@tiptap/extension-link": "3.29.2",
58
58
  "@tiptap/extension-list": "3.29.2",
59
59
  "@tiptap/extension-paragraph": "3.29.2",
60
+ "@tiptap/extension-table": "3.29.2",
61
+ "@tiptap/extension-table-cell": "3.29.2",
62
+ "@tiptap/extension-table-header": "3.29.2",
63
+ "@tiptap/extension-table-row": "3.29.2",
60
64
  "@tiptap/extension-text": "3.29.2",
61
65
  "@tiptap/extensions": "3.29.2",
66
+ "@tiptap/html": "3.29.2",
62
67
  "@tiptap/pm": "3.29.2",
63
68
  "@tiptap/react": "3.29.2",
64
69
  "@trainline/react-skeletor": "^1.0.2",