@hitachivantara/uikit-react-core 5.13.0 → 5.14.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.
- package/dist/cjs/components/BaseInput/BaseInput.cjs +2 -2
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs +2 -2
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +3 -2
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +6 -3
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +36 -5
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
- package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +2 -2
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js +2 -2
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +3 -2
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +2 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +7 -4
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +36 -5
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
- package/dist/esm/hocs/withTooltip.js.map +1 -1
- package/dist/types/index.d.ts +8 -4
- package/package.json +2 -2
|
@@ -31,7 +31,7 @@ const baseInputStyles = /* @__PURE__ */ react.css({
|
|
|
31
31
|
"input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-search-results-button, input::-webkit-search-results-decoration": {
|
|
32
32
|
display: "none"
|
|
33
33
|
}
|
|
34
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:baseInputStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQmFzZUlucHV0L0Jhc2VJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJ3QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0Jhc2VJbnB1dC9CYXNlSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBJbnB1dEJhc2VDb21wb25lbnRQcm9wcyBhcyBNdWlJbnB1dEJhc2VDb21wb25lbnRQcm9wcyxcbiAgSW5wdXRQcm9wcyBhcyBNdWlJbnB1dFByb3BzLFxuICBJbnB1dCBhcyBNdWlJbnB1dCxcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBIdkZvcm1FbGVtZW50Q29udGV4dCxcbiAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCxcbiAgYnVpbGRGb3JtRWxlbWVudFByb3BzRnJvbUNvbnRleHQsXG4gIGJ1aWxkQXJpYVByb3BzRnJvbUNvbnRleHQsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBjc3MgYXMgZW1vdGlvbkNzcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtc3R5bGVzXCI7XG5pbXBvcnQgYmFzZUlucHV0Q2xhc3NlcywgeyBIdkJhc2VJbnB1dENsYXNzZXMgfSBmcm9tIFwiLi9iYXNlSW5wdXRDbGFzc2VzXCI7XG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tIFwiLi9CYXNlSW5wdXQuc3R5bGVzXCI7XG5cbi8vIEdsb2JhbCBzdHlsZXMgZm9yIHRoZSBiYXNlIGlucHV0LlxuY29uc3QgYmFzZUlucHV0U3R5bGVzID0gZW1vdGlvbkNzcyh7XG4gIFwiaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbFwiOiB7XG4gICAgV2Via2l0Qm94U2hhZG93OiBgMCAwIDBweCAxMDAwcHggJHt0aGVtZS5jb2xvcnMuYXRtbzF9IGluc2V0YCxcbiAgICBXZWJraXRUZXh0RmlsbENvbG9yOiB0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LFxuICB9LFxuXG4gIC8vIENsZWFycyBudW1iZXIgaW5wdXQgdXAvZG93biBhcnJvd3MgaW4gQ2hyb21lIGFuZCBGaXJlZm94XG4gIFwiaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b25cIjoge1xuICAgIFdlYmtpdEFwcGVhcmFuY2U6IFwibm9uZVwiLFxuICAgIG1hcmdpbjogMCxcbiAgfSxcbiAgXCJpbnB1dFt0eXBlPW51bWJlcl1cIjoge1xuICAgIE1vekFwcGVhcmFuY2U6IFwidGV4dGZpZWxkXCIsXG4gIH0sXG5cbiAgLy8gQ2xlYXJzIHRpbWUgaW5wdXQgY2xvY2sgaW4gQ2hyb21lXG4gIFwiaW5wdXQ6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvclwiOiB7XG4gICAgZGlzcGxheTogXCJub25lXCIsXG4gIH0sXG5cbiAgLy8gQ2xlYXJzIHNlYXJjaCBpbnB1dCBjbGVhciBidXR0b24gaW4gQ2hyb21lXG4gIFwiaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxcXG4gIGlucHV0Ojotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb25cIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICB9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHZCYXNlSW5wdXRQcm9wc1xuICBleHRlbmRzIE9taXQ8TXVpSW5wdXRQcm9wcywgXCJvbkNoYW5nZVwiIHwgXCJjbGFzc2VzXCI+LFxuICAgIEh2QmFzZVByb3BzPFxuICAgICAgSFRNTERpdkVsZW1lbnQsXG4gICAgICB8IFwib25DaGFuZ2VcIlxuICAgICAgfCBcImNvbG9yXCJcbiAgICAgIHwgXCJvbkJsdXJcIlxuICAgICAgfCBcIm9uRm9jdXNcIlxuICAgICAgfCBcIm9uSW52YWxpZFwiXG4gICAgICB8IFwib25LZXlEb3duXCJcbiAgICAgIHwgXCJvbktleVVwXCJcbiAgICA+IHtcbiAgLyoqIFRoZSBpbnB1dCBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiBjb250cm9sbGVkLiAqL1xuICB2YWx1ZT86IHN0cmluZztcbiAgLyoqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiB1bmNvbnRyb2xsZWQuICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgLyoqIElmIGB0cnVlYCB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBpcyBub3QgZWRpdGFibGUuICovXG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUsIHRoZSBpbnB1dCBlbGVtZW50IHdpbGwgYmUgcmVxdWlyZWQuICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgb25DaGFuZ2UsIGFsbG93cyBtb2RpZmljYXRpb24gb2YgdGhlIGlucHV0LFxuICAgKiBpdCByZWNlaXZlcyB0aGUgdmFsdWUuIElmIGEgbmV3IHZhbHVlIHNob3VsZCBiZSBwcmVzZW50ZWQgaXQgbXVzdCByZXR1cm5lZCBpdC4gKi9cbiAgb25DaGFuZ2U/OiAoXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgICB2YWx1ZTogc3RyaW5nXG4gICkgPT4gdm9pZDtcbiAgLyoqIFRoZSBpbnB1dCB0eXBlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xuICAvKiogTGFiZWwgaW5zaWRlIHRoZSBpbnB1dCB1c2VkIHRvIGhlbHAgdXNlci4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBJZiB0cnVlLCBhIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZW5kZXJlZC4gKi9cbiAgbXVsdGlsaW5lPzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUgYW5kIG11bHRpbGluZSBpcyBhbHNvIHRydWUgdGhlIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZXNpemFibGUuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBEZW5vdGVzIGlmIHRoZSBpbnB1dCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiAqL1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgLyoqIEF0dHJpYnV0ZXMgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgaW5wdXRQcm9wcz86IE11aUlucHV0QmFzZUNvbXBvbmVudFByb3BzO1xuICAvKiogQWxsb3dzIHBhc3NpbmcgYSByZWYgdG8gdGhlIHVuZGVybHlpbmcgaW5wdXQgKi9cbiAgaW5wdXRSZWY/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZCYXNlSW5wdXRDbGFzc2VzO1xufVxuXG4vKipcbiAqIEFuIElucHV0IGNvbXBvbmVudCB0aGF0IG9ubHkgcG9zc2VzIHRoZSBtb3N0IGJhc2ljIGZ1bmN0aW9uYWxpdGllcy5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIGFsb25nc2lkZSB0aGUgb3RoZXIgZm9ybSBlbGVtZW50cyB0byBjb25zdHJ1Y3QgYSBwcm9wZXIgYWNjZXNzaWJsZSBmb3JtLlxuICovXG5leHBvcnQgY29uc3QgSHZCYXNlSW5wdXQgPSAoe1xuICBjbGFzc2VzLFxuICBjbGFzc05hbWUgPSBcIlwiLFxuICBpZCxcbiAgbmFtZSxcbiAgdmFsdWUsXG4gIGRlZmF1bHRWYWx1ZSxcbiAgcmVxdWlyZWQsXG4gIHJlYWRPbmx5LFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2UsXG4gIHR5cGUgPSBcInRleHRcIixcbiAgcGxhY2Vob2xkZXIsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICByZXNpemFibGUgPSBmYWxzZSxcbiAgaW52YWxpZCA9IGZhbHNlLFxuICBpbnB1dFJlZixcbiAgaW5wdXRQcm9wcyA9IHt9LFxuICAuLi5vdGhlcnNcbn06IEh2QmFzZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZm9ybUVsZW1lbnRDb250ZXh0ID0gdXNlQ29udGV4dChIdkZvcm1FbGVtZW50Q29udGV4dCk7XG4gIGNvbnN0IGZvcm1FbGVtZW50UHJvcHMgPSBidWlsZEZvcm1FbGVtZW50UHJvcHNGcm9tQ29udGV4dChcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkLFxuICAgIHJlYWRPbmx5LFxuICAgIHJlcXVpcmVkLFxuICAgIHN0YXR1cyxcbiAgICBmb3JtRWxlbWVudENvbnRleHRcbiAgKTtcblxuICBjb25zdCBsb2NhbEludmFsaWQgPSBpbnZhbGlkIHx8IGZvcm1FbGVtZW50UHJvcHMuc3RhdHVzID09PSBcImludmFsaWRcIjtcblxuICBjb25zdCBmb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCA9IHVzZUNvbnRleHQoXG4gICAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dFxuICApO1xuICBjb25zdCBhcmlhUHJvcHMgPSBidWlsZEFyaWFQcm9wc0Zyb21Db250ZXh0KFxuICAgIGlucHV0UHJvcHMsXG4gICAgZm9ybUVsZW1lbnREZXNjcmlwdG9yc0NvbnRleHQsXG4gICAgbG9jYWxJbnZhbGlkLFxuICAgIGlkXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gKFxuICAgIGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKSA9PiB7XG4gICAgb25DaGFuZ2U/LihldmVudCwgZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDbGFzc05hbWVzPlxuICAgICAgeyh7IGNzcywgY3ggfSkgPT4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxHbG9iYWwgc3R5bGVzPXtiYXNlSW5wdXRTdHlsZXN9IC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5yb290LFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBiYXNlSW5wdXRDbGFzc2VzLmludmFsaWQsXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZXNpemFibGUsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5yZWFkT25seSxcbiAgICAgICAgICAgICAgY3NzKHN0eWxlcy5yb290KSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJiBjc3Moc3R5bGVzLmRpc2FibGVkKSxcbiAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW52YWxpZCksXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgY3NzKHN0eWxlcy5yZXNpemFibGUpLFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMucmVhZE9ubHkpLFxuICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgIGNsYXNzZXM/LnJvb3QsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uZGlzYWJsZWQsXG4gICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBjbGFzc2VzPy5pbnZhbGlkLFxuICAgICAgICAgICAgICBtdWx0aWxpbmUgJiYgcmVzaXphYmxlICYmIGNsYXNzZXM/LnJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjbGFzc2VzPy5yZWFkT25seVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TXVpSW5wdXRcbiAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICBuYW1lPXtmb3JtRWxlbWVudFByb3BzLm5hbWV9XG4gICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgcmVhZE9ubHk9eyEhZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Zvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290UmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNzcyhzdHlsZXMuaW5wdXRSb290SW52YWxpZCksXG4gICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjc3Moc3R5bGVzLmlucHV0Um9vdFJlYWRPbmx5KSxcbiAgICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgY2xhc3Nlcz8uaW5wdXRSb290SW52YWxpZCxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNsYXNzZXM/LmlucHV0Um9vdFJlYWRPbmx5XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICByb290OiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3QpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmb2N1c2VkOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290Rm9jdXNlZCxcbiAgICAgICAgICAgICAgICAgIGNzcyhzdHlsZXMuaW5wdXRSb290Rm9jdXNlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3RGb2N1c2VkXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0Um9vdERpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3REaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3REaXNhYmxlZFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbXVsdGlsaW5lOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290TXVsdGlsaW5lLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3RNdWx0aWxpbmUpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRSb290TXVsdGlsaW5lXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpbnB1dDogY3goXG4gICAgICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLmlucHV0LFxuICAgICAgICAgICAgICAgICAgIWZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzaXphYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSZXNpemFibGUsXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGJhc2VJbnB1dENsYXNzZXMuaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJlYWRPbmx5LFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dCksXG4gICAgICAgICAgICAgICAgICAhZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJlc2l6YWJsZSksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGNzcyhzdHlsZXMuaW5wdXREaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMuaW5wdXRSZWFkT25seSksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICFmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY2xhc3Nlcz8uaW5wdXREaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY2xhc3Nlcz8uaW5wdXRSZWFkT25seVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGlucHV0UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAvLyBBdm9pZCB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIGF0IHRoZSByb290IG5vZGVcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZm9ybUVsZW1lbnRQcm9wcy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAuLi5pbnB1dFByb3BzLFxuICAgICAgICAgICAgICAgIC4uLmFyaWFQcm9wcyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgaW5wdXRSZWY9e2lucHV0UmVmfVxuICAgICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgICAgcm93cz17MTB9XG4gICAgICAgICAgICAgIHsuLi5vdGhlcnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgeyFtdWx0aWxpbmUgJiYgKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRCb3JkZXJDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Qm9yZGVyQ29udGFpbmVyKSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0Qm9yZGVyQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L0NsYXNzTmFtZXM+XG4gICk7XG59O1xuIl19 */");
|
|
34
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:baseInputStyles;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQmFzZUlucHV0L0Jhc2VJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJ3QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0Jhc2VJbnB1dC9CYXNlSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBJbnB1dEJhc2VDb21wb25lbnRQcm9wcyBhcyBNdWlJbnB1dEJhc2VDb21wb25lbnRQcm9wcyxcbiAgSW5wdXRQcm9wcyBhcyBNdWlJbnB1dFByb3BzLFxuICBJbnB1dCBhcyBNdWlJbnB1dCxcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IEh2QmFzZVByb3BzIH0gZnJvbSBcIkBjb3JlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBIdkZvcm1FbGVtZW50Q29udGV4dCxcbiAgSHZGb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCxcbiAgYnVpbGRGb3JtRWxlbWVudFByb3BzRnJvbUNvbnRleHQsXG4gIGJ1aWxkQXJpYVByb3BzRnJvbUNvbnRleHQsXG59IGZyb20gXCJAY29yZS9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBjc3MgYXMgZW1vdGlvbkNzcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCJAaGl0YWNoaXZhbnRhcmEvdWlraXQtc3R5bGVzXCI7XG5pbXBvcnQgYmFzZUlucHV0Q2xhc3NlcywgeyBIdkJhc2VJbnB1dENsYXNzZXMgfSBmcm9tIFwiLi9iYXNlSW5wdXRDbGFzc2VzXCI7XG5pbXBvcnQgeyBzdHlsZXMgfSBmcm9tIFwiLi9CYXNlSW5wdXQuc3R5bGVzXCI7XG5cbi8vIEdsb2JhbCBzdHlsZXMgZm9yIHRoZSBiYXNlIGlucHV0LlxuY29uc3QgYmFzZUlucHV0U3R5bGVzID0gZW1vdGlvbkNzcyh7XG4gIFwiaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbFwiOiB7XG4gICAgV2Via2l0Qm94U2hhZG93OiBgMCAwIDBweCAxMDAwcHggJHt0aGVtZS5jb2xvcnMuYXRtbzF9IGluc2V0YCxcbiAgICBXZWJraXRUZXh0RmlsbENvbG9yOiB0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LFxuICB9LFxuXG4gIC8vIENsZWFycyBudW1iZXIgaW5wdXQgdXAvZG93biBhcnJvd3MgaW4gQ2hyb21lIGFuZCBGaXJlZm94XG4gIFwiaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b25cIjoge1xuICAgIFdlYmtpdEFwcGVhcmFuY2U6IFwibm9uZVwiLFxuICAgIG1hcmdpbjogMCxcbiAgfSxcbiAgXCJpbnB1dFt0eXBlPW51bWJlcl1cIjoge1xuICAgIE1vekFwcGVhcmFuY2U6IFwidGV4dGZpZWxkXCIsXG4gIH0sXG5cbiAgLy8gQ2xlYXJzIHRpbWUgaW5wdXQgY2xvY2sgaW4gQ2hyb21lXG4gIFwiaW5wdXQ6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvclwiOiB7XG4gICAgZGlzcGxheTogXCJub25lXCIsXG4gIH0sXG5cbiAgLy8gQ2xlYXJzIHNlYXJjaCBpbnB1dCBjbGVhciBidXR0b24gaW4gQ2hyb21lXG4gIFwiaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXFxcbiAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxcXG4gIGlucHV0Ojotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb25cIjoge1xuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICB9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHZCYXNlSW5wdXRQcm9wc1xuICBleHRlbmRzIE9taXQ8TXVpSW5wdXRQcm9wcywgXCJvbkNoYW5nZVwiIHwgXCJjbGFzc2VzXCI+LFxuICAgIEh2QmFzZVByb3BzPFxuICAgICAgSFRNTERpdkVsZW1lbnQsXG4gICAgICB8IFwib25DaGFuZ2VcIlxuICAgICAgfCBcImNvbG9yXCJcbiAgICAgIHwgXCJvbkJsdXJcIlxuICAgICAgfCBcIm9uRm9jdXNcIlxuICAgICAgfCBcIm9uSW52YWxpZFwiXG4gICAgICB8IFwib25LZXlEb3duXCJcbiAgICAgIHwgXCJvbktleVVwXCJcbiAgICA+IHtcbiAgLyoqIFRoZSBpbnB1dCBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiBjb250cm9sbGVkLiAqL1xuICB2YWx1ZT86IHN0cmluZztcbiAgLyoqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBpbnB1dCwgd2hlbiB1bmNvbnRyb2xsZWQuICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgLyoqIElmIGB0cnVlYCB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIEluZGljYXRlcyB0aGF0IHRoZSBpbnB1dCBpcyBub3QgZWRpdGFibGUuICovXG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUsIHRoZSBpbnB1dCBlbGVtZW50IHdpbGwgYmUgcmVxdWlyZWQuICovXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgb25DaGFuZ2UsIGFsbG93cyBtb2RpZmljYXRpb24gb2YgdGhlIGlucHV0LFxuICAgKiBpdCByZWNlaXZlcyB0aGUgdmFsdWUuIElmIGEgbmV3IHZhbHVlIHNob3VsZCBiZSBwcmVzZW50ZWQgaXQgbXVzdCByZXR1cm5lZCBpdC4gKi9cbiAgb25DaGFuZ2U/OiAoXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgICB2YWx1ZTogc3RyaW5nXG4gICkgPT4gdm9pZDtcbiAgLyoqIFRoZSBpbnB1dCB0eXBlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xuICAvKiogTGFiZWwgaW5zaWRlIHRoZSBpbnB1dCB1c2VkIHRvIGhlbHAgdXNlci4gKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIC8qKiBJZiB0cnVlLCBhIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZW5kZXJlZC4gKi9cbiAgbXVsdGlsaW5lPzogYm9vbGVhbjtcbiAgLyoqIElmIHRydWUgYW5kIG11bHRpbGluZSBpcyBhbHNvIHRydWUgdGhlIHRleHRhcmVhIGVsZW1lbnQgd2lsbCBiZSByZXNpemFibGUuICovXG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIC8qKiBEZW5vdGVzIGlmIHRoZSBpbnB1dCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiAqL1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgLyoqIEF0dHJpYnV0ZXMgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgaW5wdXRQcm9wcz86IE11aUlucHV0QmFzZUNvbXBvbmVudFByb3BzO1xuICAvKiogQWxsb3dzIHBhc3NpbmcgYSByZWYgdG8gdGhlIHVuZGVybHlpbmcgaW5wdXQgKi9cbiAgaW5wdXRSZWY/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+O1xuICAvKiogQSBKc3MgT2JqZWN0IHVzZWQgdG8gb3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LiAqL1xuICBjbGFzc2VzPzogSHZCYXNlSW5wdXRDbGFzc2VzO1xufVxuXG4vKipcbiAqIEFuIElucHV0IGNvbXBvbmVudCB0aGF0IG9ubHkgcG9zc2VzIHRoZSBtb3N0IGJhc2ljIGZ1bmN0aW9uYWxpdGllcy5cbiAqIEl0IHNob3VsZCBiZSB1c2VkIGFsb25nc2lkZSB0aGUgb3RoZXIgZm9ybSBlbGVtZW50cyB0byBjb25zdHJ1Y3QgYSBwcm9wZXIgYWNjZXNzaWJsZSBmb3JtLlxuICovXG5leHBvcnQgY29uc3QgSHZCYXNlSW5wdXQgPSAoe1xuICBjbGFzc2VzLFxuICBjbGFzc05hbWUgPSBcIlwiLFxuICBpZCxcbiAgbmFtZSxcbiAgdmFsdWUsXG4gIGRlZmF1bHRWYWx1ZSxcbiAgcmVxdWlyZWQsXG4gIHJlYWRPbmx5LFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2UsXG4gIHR5cGUgPSBcInRleHRcIixcbiAgcGxhY2Vob2xkZXIsXG4gIG11bHRpbGluZSA9IGZhbHNlLFxuICByZXNpemFibGUgPSBmYWxzZSxcbiAgaW52YWxpZCA9IGZhbHNlLFxuICBpbnB1dFJlZixcbiAgaW5wdXRQcm9wcyA9IHt9LFxuICAuLi5vdGhlcnNcbn06IEh2QmFzZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgZm9ybUVsZW1lbnRDb250ZXh0ID0gdXNlQ29udGV4dChIdkZvcm1FbGVtZW50Q29udGV4dCk7XG4gIGNvbnN0IGZvcm1FbGVtZW50UHJvcHMgPSBidWlsZEZvcm1FbGVtZW50UHJvcHNGcm9tQ29udGV4dChcbiAgICBuYW1lLFxuICAgIGRpc2FibGVkLFxuICAgIHJlYWRPbmx5LFxuICAgIHJlcXVpcmVkLFxuICAgIGZvcm1FbGVtZW50Q29udGV4dFxuICApO1xuXG4gIGNvbnN0IGxvY2FsSW52YWxpZCA9IGludmFsaWQgfHwgZm9ybUVsZW1lbnRQcm9wcy5zdGF0dXMgPT09IFwiaW52YWxpZFwiO1xuXG4gIGNvbnN0IGZvcm1FbGVtZW50RGVzY3JpcHRvcnNDb250ZXh0ID0gdXNlQ29udGV4dChcbiAgICBIdkZvcm1FbGVtZW50RGVzY3JpcHRvcnNDb250ZXh0XG4gICk7XG4gIGNvbnN0IGFyaWFQcm9wcyA9IGJ1aWxkQXJpYVByb3BzRnJvbUNvbnRleHQoXG4gICAgaW5wdXRQcm9wcyxcbiAgICBmb3JtRWxlbWVudERlc2NyaXB0b3JzQ29udGV4dCxcbiAgICBsb2NhbEludmFsaWQsXG4gICAgaWRcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZUhhbmRsZXIgPSAoXG4gICAgZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICApID0+IHtcbiAgICBvbkNoYW5nZT8uKGV2ZW50LCBldmVudC50YXJnZXQudmFsdWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPENsYXNzTmFtZXM+XG4gICAgICB7KHsgY3NzLCBjeCB9KSA9PiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEdsb2JhbCBzdHlsZXM9e2Jhc2VJbnB1dFN0eWxlc30gLz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICBiYXNlSW5wdXRDbGFzc2VzLnJvb3QsXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgYmFzZUlucHV0Q2xhc3Nlcy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGJhc2VJbnB1dENsYXNzZXMuaW52YWxpZCxcbiAgICAgICAgICAgICAgbXVsdGlsaW5lICYmIHJlc2l6YWJsZSAmJiBiYXNlSW5wdXRDbGFzc2VzLnJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBiYXNlSW5wdXRDbGFzc2VzLnJlYWRPbmx5LFxuICAgICAgICAgICAgICBjc3Moc3R5bGVzLnJvb3QpLFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmIGNzcyhzdHlsZXMuZGlzYWJsZWQpLFxuICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgY3NzKHN0eWxlcy5pbnZhbGlkKSxcbiAgICAgICAgICAgICAgbXVsdGlsaW5lICYmIHJlc2l6YWJsZSAmJiBjc3Moc3R5bGVzLnJlc2l6YWJsZSksXG4gICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY3NzKHN0eWxlcy5yZWFkT25seSksXG4gICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgY2xhc3Nlcz8ucm9vdCxcbiAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJiBjbGFzc2VzPy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgbG9jYWxJbnZhbGlkICYmIGNsYXNzZXM/LmludmFsaWQsXG4gICAgICAgICAgICAgIG11bHRpbGluZSAmJiByZXNpemFibGUgJiYgY2xhc3Nlcz8ucmVzaXphYmxlLFxuICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNsYXNzZXM/LnJlYWRPbmx5XG4gICAgICAgICAgICApfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNdWlJbnB1dFxuICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgIG5hbWU9e2Zvcm1FbGVtZW50UHJvcHMubmFtZX1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICByZWFkT25seT17ISFmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17Zm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlSGFuZGxlcn1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJvb3RJbnZhbGlkLFxuICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJvb3RSZWFkT25seSxcbiAgICAgICAgICAgICAgICBsb2NhbEludmFsaWQgJiYgY3NzKHN0eWxlcy5pbnB1dFJvb3RJbnZhbGlkKSxcbiAgICAgICAgICAgICAgICBmb3JtRWxlbWVudFByb3BzLnJlYWRPbmx5ICYmIGNzcyhzdHlsZXMuaW5wdXRSb290UmVhZE9ubHkpLFxuICAgICAgICAgICAgICAgIGxvY2FsSW52YWxpZCAmJiBjbGFzc2VzPy5pbnB1dFJvb3RJbnZhbGlkLFxuICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY2xhc3Nlcz8uaW5wdXRSb290UmVhZE9ubHlcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgIHJvb3Q6IGN4KFxuICAgICAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJvb3QsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Um9vdCksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3RcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGZvY3VzZWQ6IGN4KFxuICAgICAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJvb3RGb2N1c2VkLFxuICAgICAgICAgICAgICAgICAgY3NzKHN0eWxlcy5pbnB1dFJvb3RGb2N1c2VkKSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0Um9vdEZvY3VzZWRcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXRSb290RGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Um9vdERpc2FibGVkKSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0Um9vdERpc2FibGVkXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtdWx0aWxpbmU6IGN4KFxuICAgICAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJvb3RNdWx0aWxpbmUsXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0Um9vdE11bHRpbGluZSksXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPy5pbnB1dFJvb3RNdWx0aWxpbmVcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlucHV0OiBjeChcbiAgICAgICAgICAgICAgICAgIGJhc2VJbnB1dENsYXNzZXMuaW5wdXQsXG4gICAgICAgICAgICAgICAgICAhZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dFJlc2l6YWJsZSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dERpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBiYXNlSW5wdXRDbGFzc2VzLmlucHV0UmVhZE9ubHksXG4gICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0KSxcbiAgICAgICAgICAgICAgICAgICFmb3JtRWxlbWVudFByb3BzLmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6YWJsZSAmJlxuICAgICAgICAgICAgICAgICAgICBjc3Moc3R5bGVzLmlucHV0UmVzaXphYmxlKSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiYgY3NzKHN0eWxlcy5pbnB1dERpc2FibGVkKSxcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50UHJvcHMucmVhZE9ubHkgJiYgY3NzKHN0eWxlcy5pbnB1dFJlYWRPbmx5KSxcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0LFxuICAgICAgICAgICAgICAgICAgIWZvcm1FbGVtZW50UHJvcHMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVzaXphYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM/LmlucHV0UmVzaXphYmxlLFxuICAgICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5kaXNhYmxlZCAmJiBjbGFzc2VzPy5pbnB1dERpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgZm9ybUVsZW1lbnRQcm9wcy5yZWFkT25seSAmJiBjbGFzc2VzPy5pbnB1dFJlYWRPbmx5XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgaW5wdXRQcm9wcz17e1xuICAgICAgICAgICAgICAgIC8vIEF2b2lkIHRoZSByZXF1aXJlZCBhdHRyaWJ1dGUgYXQgdGhlIHJvb3Qgbm9kZVxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmb3JtRWxlbWVudFByb3BzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIC4uLmlucHV0UHJvcHMsXG4gICAgICAgICAgICAgICAgLi4uYXJpYVByb3BzLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBpbnB1dFJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgICByb3dzPXsxMH1cbiAgICAgICAgICAgICAgey4uLm90aGVyc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7IW11bHRpbGluZSAmJiAoXG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgYmFzZUlucHV0Q2xhc3Nlcy5pbnB1dEJvcmRlckNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgIGNzcyhzdHlsZXMuaW5wdXRCb3JkZXJDb250YWluZXIpLFxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz8uaW5wdXRCb3JkZXJDb250YWluZXJcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvQ2xhc3NOYW1lcz5cbiAgKTtcbn07XG4iXX0= */");
|
|
35
35
|
const HvBaseInput = ({
|
|
36
36
|
classes,
|
|
37
37
|
className = "",
|
|
@@ -53,7 +53,7 @@ const HvBaseInput = ({
|
|
|
53
53
|
...others
|
|
54
54
|
}) => {
|
|
55
55
|
const formElementContext = React.useContext(FormElementContext.HvFormElementContext);
|
|
56
|
-
const formElementProps = FormUtils.buildFormElementPropsFromContext(name, disabled, readOnly, required,
|
|
56
|
+
const formElementProps = FormUtils.buildFormElementPropsFromContext(name, disabled, readOnly, required, formElementContext);
|
|
57
57
|
const localInvalid = invalid || formElementProps.status === "invalid";
|
|
58
58
|
const formElementDescriptorsContext = React.useContext(FormElementDescriptorsContext.HvFormElementDescriptorsContext);
|
|
59
59
|
const ariaProps = FormUtils.buildAriaPropsFromContext(inputProps, formElementDescriptorsContext, localInvalid, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components\";\nimport { ClassNames, css as emotionCss, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { styles } from \"./BaseInput.styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,\\\n input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,\\\n input::-webkit-search-cancel-button,\\\n input::-webkit-search-results-button,\\\n input::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: RefObject<HTMLElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = ({\n classes,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n status,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(\n baseInputClasses.root,\n formElementProps.disabled && baseInputClasses.disabled,\n localInvalid && baseInputClasses.invalid,\n multiline && resizable && baseInputClasses.resizable,\n formElementProps.readOnly && baseInputClasses.readOnly,\n css(styles.root),\n formElementProps.disabled && css(styles.disabled),\n localInvalid && css(styles.invalid),\n multiline && resizable && css(styles.resizable),\n formElementProps.readOnly && css(styles.readOnly),\n className,\n classes?.root,\n formElementProps.disabled && classes?.disabled,\n localInvalid && classes?.invalid,\n multiline && resizable && classes?.resizable,\n formElementProps.readOnly && classes?.readOnly\n )}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx(\n localInvalid && baseInputClasses.inputRootInvalid,\n formElementProps.readOnly && baseInputClasses.inputRootReadOnly,\n localInvalid && css(styles.inputRootInvalid),\n formElementProps.readOnly && css(styles.inputRootReadOnly),\n localInvalid && classes?.inputRootInvalid,\n formElementProps.readOnly && classes?.inputRootReadOnly\n )}\n classes={{\n root: cx(\n baseInputClasses.inputRoot,\n css(styles.inputRoot),\n classes?.inputRoot\n ),\n focused: cx(\n baseInputClasses.inputRootFocused,\n css(styles.inputRootFocused),\n classes?.inputRootFocused\n ),\n disabled: cx(\n baseInputClasses.inputRootDisabled,\n css(styles.inputRootDisabled),\n classes?.inputRootDisabled\n ),\n multiline: cx(\n baseInputClasses.inputRootMultiline,\n css(styles.inputRootMultiline),\n classes?.inputRootMultiline\n ),\n input: cx(\n baseInputClasses.input,\n !formElementProps.disabled &&\n resizable &&\n baseInputClasses.inputResizable,\n formElementProps.disabled && baseInputClasses.inputDisabled,\n formElementProps.readOnly && baseInputClasses.inputReadOnly,\n css(styles.input),\n !formElementProps.disabled &&\n resizable &&\n css(styles.inputResizable),\n formElementProps.disabled && css(styles.inputDisabled),\n formElementProps.readOnly && css(styles.inputReadOnly),\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n classes?.inputResizable,\n formElementProps.disabled && classes?.inputDisabled,\n formElementProps.readOnly && classes?.inputReadOnly\n ),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div\n role=\"presentation\"\n className={cx(\n baseInputClasses.inputBorderContainer,\n css(styles.inputBorderContainer),\n classes?.inputBorderContainer\n )}\n />\n )}\n </div>\n </>\n )}\n </ClassNames>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","status","localInvalid","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","ClassNames","children","css","cx","_Fragment","_jsx","Global","styles","_jsxs","baseInputClasses","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.cjs","sources":["../../../../src/components/BaseInput/BaseInput.tsx"],"sourcesContent":["import { RefObject, useContext } from \"react\";\nimport {\n InputBaseComponentProps as MuiInputBaseComponentProps,\n InputProps as MuiInputProps,\n Input as MuiInput,\n} from \"@mui/material\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n} from \"@core/components\";\nimport { ClassNames, css as emotionCss, Global } from \"@emotion/react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport baseInputClasses, { HvBaseInputClasses } from \"./baseInputClasses\";\nimport { styles } from \"./BaseInput.styles\";\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,\\\n input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,\\\n input::-webkit-search-cancel-button,\\\n input::-webkit-search-results-button,\\\n input::-webkit-search-results-decoration\": {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\">,\n HvBaseProps<\n HTMLDivElement,\n | \"onChange\"\n | \"color\"\n | \"onBlur\"\n | \"onFocus\"\n | \"onInvalid\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: RefObject<HTMLElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = ({\n classes,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline = false,\n resizable = false,\n invalid = false,\n inputRef,\n inputProps = {},\n ...others\n}: HvBaseInputProps) => {\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext\n );\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id\n );\n\n const onChangeHandler = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(\n baseInputClasses.root,\n formElementProps.disabled && baseInputClasses.disabled,\n localInvalid && baseInputClasses.invalid,\n multiline && resizable && baseInputClasses.resizable,\n formElementProps.readOnly && baseInputClasses.readOnly,\n css(styles.root),\n formElementProps.disabled && css(styles.disabled),\n localInvalid && css(styles.invalid),\n multiline && resizable && css(styles.resizable),\n formElementProps.readOnly && css(styles.readOnly),\n className,\n classes?.root,\n formElementProps.disabled && classes?.disabled,\n localInvalid && classes?.invalid,\n multiline && resizable && classes?.resizable,\n formElementProps.readOnly && classes?.readOnly\n )}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx(\n localInvalid && baseInputClasses.inputRootInvalid,\n formElementProps.readOnly && baseInputClasses.inputRootReadOnly,\n localInvalid && css(styles.inputRootInvalid),\n formElementProps.readOnly && css(styles.inputRootReadOnly),\n localInvalid && classes?.inputRootInvalid,\n formElementProps.readOnly && classes?.inputRootReadOnly\n )}\n classes={{\n root: cx(\n baseInputClasses.inputRoot,\n css(styles.inputRoot),\n classes?.inputRoot\n ),\n focused: cx(\n baseInputClasses.inputRootFocused,\n css(styles.inputRootFocused),\n classes?.inputRootFocused\n ),\n disabled: cx(\n baseInputClasses.inputRootDisabled,\n css(styles.inputRootDisabled),\n classes?.inputRootDisabled\n ),\n multiline: cx(\n baseInputClasses.inputRootMultiline,\n css(styles.inputRootMultiline),\n classes?.inputRootMultiline\n ),\n input: cx(\n baseInputClasses.input,\n !formElementProps.disabled &&\n resizable &&\n baseInputClasses.inputResizable,\n formElementProps.disabled && baseInputClasses.inputDisabled,\n formElementProps.readOnly && baseInputClasses.inputReadOnly,\n css(styles.input),\n !formElementProps.disabled &&\n resizable &&\n css(styles.inputResizable),\n formElementProps.disabled && css(styles.inputDisabled),\n formElementProps.readOnly && css(styles.inputReadOnly),\n classes?.input,\n !formElementProps.disabled &&\n resizable &&\n classes?.inputResizable,\n formElementProps.disabled && classes?.inputDisabled,\n formElementProps.readOnly && classes?.inputReadOnly\n ),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={inputRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div\n role=\"presentation\"\n className={cx(\n baseInputClasses.inputBorderContainer,\n css(styles.inputBorderContainer),\n classes?.inputBorderContainer\n )}\n />\n )}\n </div>\n </>\n )}\n </ClassNames>\n );\n};\n"],"names":["baseInputStyles","emotionCss","WebkitBoxShadow","theme","colors","atmo1","WebkitTextFillColor","secondary","WebkitAppearance","margin","MozAppearance","display","process","env","NODE_ENV","HvBaseInput","classes","className","id","name","value","defaultValue","required","readOnly","disabled","onChange","type","placeholder","multiline","resizable","invalid","inputRef","inputProps","others","formElementContext","useContext","HvFormElementContext","formElementProps","buildFormElementPropsFromContext","localInvalid","status","formElementDescriptorsContext","HvFormElementDescriptorsContext","ariaProps","buildAriaPropsFromContext","onChangeHandler","event","target","ClassNames","children","css","cx","_Fragment","_jsx","Global","styles","_jsxs","baseInputClasses","root","MuiInput","inputRootInvalid","inputRootReadOnly","inputRoot","focused","inputRootFocused","inputRootDisabled","inputRootMultiline","input","inputResizable","inputDisabled","inputReadOnly","rows","role","inputBorderContainer"],"mappings":"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"}
|
|
@@ -36,13 +36,13 @@ const getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {
|
|
|
36
36
|
const referenceList = (_c = (_b = (_a = descriptors == null ? void 0 : descriptors[formElementType]) == null ? void 0 : _a.filter((d) => d.htmlFor !== filterFor)) == null ? void 0 : _b.map((d) => d.id)) == null ? void 0 : _c[0];
|
|
37
37
|
return referenceList !== "" ? referenceList : void 0;
|
|
38
38
|
};
|
|
39
|
-
const buildFormElementPropsFromContext = (name, disabled, readOnly, required,
|
|
39
|
+
const buildFormElementPropsFromContext = (name, disabled, readOnly, required, context) => {
|
|
40
40
|
return {
|
|
41
41
|
name: name || (context == null ? void 0 : context.elementName),
|
|
42
42
|
disabled: disabled !== void 0 ? disabled : context == null ? void 0 : context.elementDisabled,
|
|
43
43
|
readOnly: readOnly !== void 0 ? readOnly : context == null ? void 0 : context.elementReadOnly,
|
|
44
44
|
required: required !== void 0 ? required : context == null ? void 0 : context.elementRequired,
|
|
45
|
-
status:
|
|
45
|
+
status: context == null ? void 0 : context.elementStatus
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
48
|
const buildAriaPropsFromContext = (props, context, isInvalid, inputId) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormUtils.cjs","sources":["../../../../../../src/components/Forms/FormElement/utils/FormUtils.ts"],"sourcesContent":["import React from \"react\";\n\ninterface Descriptor {\n id?: string;\n htmlFor?: string;\n}\n/**\n * Scans the element's children looking for the children IDs that match the different form element types.\n * This function will produce an object that has a key for each provided name\n * Inside each key there will be an array with each id of the found descriptor.\n *\n * @param {Array} children - The children inside the form element to scan.\n * @param {Object} descriptors - Initial descriptors map (used for recursion).\n *\n */\nconst findDescriptors = (\n children,\n descriptors: {\n input: Descriptor[];\n label: Descriptor[];\n description: Descriptor[];\n controlled: Descriptor[];\n errormessage: Descriptor[];\n HvCalendarHeader?: Descriptor[];\n } = {\n input: [],\n label: [],\n description: [],\n controlled: [],\n errormessage: [],\n\n // TODO: refactor this out\n HvCalendarHeader: [],\n }\n) => {\n React.Children.forEach(children, (child) => {\n if (child?.type?.formElementType && child.props?.id) {\n descriptors[child.type.formElementType]?.push({\n id: child.props?.id,\n htmlFor: child.props?.htmlFor,\n });\n }\n\n if (child?.type?.formElementType !== \"formelement\") {\n findDescriptors(child?.props?.children, descriptors);\n }\n });\n\n return descriptors;\n};\n\nconst getIdReferenceListFor = (\n formElementType,\n descriptors,\n filterFor = null\n) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)\n .join(\" \")\n .trim();\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)?.[0];\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst buildFormElementPropsFromContext = (\n name,\n disabled,\n readOnly,\n required,\n
|
|
1
|
+
{"version":3,"file":"FormUtils.cjs","sources":["../../../../../../src/components/Forms/FormElement/utils/FormUtils.ts"],"sourcesContent":["import React from \"react\";\n\ninterface Descriptor {\n id?: string;\n htmlFor?: string;\n}\n/**\n * Scans the element's children looking for the children IDs that match the different form element types.\n * This function will produce an object that has a key for each provided name\n * Inside each key there will be an array with each id of the found descriptor.\n *\n * @param {Array} children - The children inside the form element to scan.\n * @param {Object} descriptors - Initial descriptors map (used for recursion).\n *\n */\nconst findDescriptors = (\n children,\n descriptors: {\n input: Descriptor[];\n label: Descriptor[];\n description: Descriptor[];\n controlled: Descriptor[];\n errormessage: Descriptor[];\n HvCalendarHeader?: Descriptor[];\n } = {\n input: [],\n label: [],\n description: [],\n controlled: [],\n errormessage: [],\n\n // TODO: refactor this out\n HvCalendarHeader: [],\n }\n) => {\n React.Children.forEach(children, (child) => {\n if (child?.type?.formElementType && child.props?.id) {\n descriptors[child.type.formElementType]?.push({\n id: child.props?.id,\n htmlFor: child.props?.htmlFor,\n });\n }\n\n if (child?.type?.formElementType !== \"formelement\") {\n findDescriptors(child?.props?.children, descriptors);\n }\n });\n\n return descriptors;\n};\n\nconst getIdReferenceListFor = (\n formElementType,\n descriptors,\n filterFor = null\n) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)\n .join(\" \")\n .trim();\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst getIdReferenceFor = (formElementType, descriptors, filterFor = null) => {\n const referenceList = descriptors?.[formElementType]\n ?.filter((d) => d.htmlFor !== filterFor)\n ?.map((d) => d.id)?.[0];\n\n return referenceList !== \"\" ? referenceList : undefined;\n};\n\nconst buildFormElementPropsFromContext = (\n name,\n disabled,\n readOnly,\n required,\n context\n) => {\n return {\n name: name || context?.elementName,\n disabled: disabled !== undefined ? disabled : context?.elementDisabled,\n readOnly: readOnly !== undefined ? readOnly : context?.elementReadOnly,\n required: required !== undefined ? required : context?.elementRequired,\n status: context?.elementStatus,\n };\n};\n\nconst buildAriaPropsFromContext = (props, context, isInvalid, inputId) => {\n const arias = {\n \"aria-labelledby\":\n props?.[\"aria-labelledby\"] !== undefined\n ? props?.[\"aria-labelledby\"]\n : getIdReferenceListFor(\"label\", context?.descriptors, inputId),\n \"aria-describedby\":\n props?.[\"aria-describedby\"] !== undefined\n ? props?.[\"aria-describedby\"]\n : getIdReferenceListFor(\"description\", context?.descriptors),\n \"aria-controls\":\n props?.[\"aria-controls\"] !== undefined\n ? props?.[\"aria-controls\"]\n : getIdReferenceListFor(\"controlled\", context?.descriptors),\n };\n\n if (isInvalid) {\n arias[\"aria-invalid\"] = isInvalid;\n arias[\"aria-errormessage\"] =\n props?.[\"aria-errormessage\"] !== undefined\n ? props?.[\"aria-errormessage\"]\n : getIdReferenceFor(\"errormessage\", context?.descriptors);\n }\n\n return arias;\n};\n\nexport {\n findDescriptors,\n getIdReferenceListFor,\n getIdReferenceFor,\n buildFormElementPropsFromContext,\n buildAriaPropsFromContext,\n};\n"],"names":["findDescriptors","children","descriptors","input","label","description","controlled","errormessage","HvCalendarHeader","Children","forEach","child","type","formElementType","props","id","push","htmlFor","getIdReferenceListFor","filterFor","referenceList","filter","d","map","join","trim","undefined","getIdReferenceFor","buildFormElementPropsFromContext","name","disabled","readOnly","required","context","elementName","elementDisabled","elementReadOnly","elementRequired","status","elementStatus","buildAriaPropsFromContext","isInvalid","inputId","arias"],"mappings":";;;;;AAeMA,MAAAA,kBAAkBA,CACtBC,UACAC,cAOI;AAAA,EACFC,OAAO,CAAE;AAAA,EACTC,OAAO,CAAE;AAAA,EACTC,aAAa,CAAE;AAAA,EACfC,YAAY,CAAE;AAAA,EACdC,cAAc,CAAE;AAAA;AAAA,EAGhBC,kBAAkB,CAAA;AACpB,MACG;AACGC,iBAAAA,QAAAA,SAASC,QAAQT,UAAWU,CAAU,UAAA;;AAC1C,UAAIA,oCAAOC,SAAPD,mBAAaE,sBAAmBF,WAAMG,UAANH,mBAAaI,KAAI;AACnDb,wBAAYS,MAAMC,KAAKC,eAAe,MAAtCX,mBAAyCc,KAAK;AAAA,QAC5CD,KAAIJ,WAAMG,UAANH,mBAAaI;AAAAA,QACjBE,UAASN,WAAMG,UAANH,mBAAaM;AAAAA,MAAAA;AAAAA,IAE1B;AAEIN,UAAAA,oCAAOC,SAAPD,mBAAaE,qBAAoB,eAAe;AAClCF,uBAAAA,oCAAOG,UAAPH,mBAAcV,UAAUC,WAAW;AAAA,IACrD;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAMgB,wBAAwBA,CAC5BL,iBACAX,aACAiB,YAAY,SACT;;AACH,QAAMC,iBAAgBlB,sDAAcW,qBAAdX,mBAClBmB,OAAQC,CAAAA,MAAMA,EAAEL,YAAYE,eADVjB,mBAElBqB,IAAKD,OAAMA,EAAEP,IACdS,KAAK,KACLC;AAEIL,SAAAA,kBAAkB,KAAKA,gBAAgBM;AAChD;AAEA,MAAMC,oBAAoBA,CAACd,iBAAiBX,aAAaiB,YAAY,SAAS;;AAC5E,QAAMC,iBAAgBlB,4DAAcW,qBAAdX,mBAClBmB,OAAQC,CAAMA,MAAAA,EAAEL,YAAYE,eADVjB,mBAElBqB,IAAKD,CAAAA,MAAMA,EAAEP,QAFKb,mBAEC;AAEhBkB,SAAAA,kBAAkB,KAAKA,gBAAgBM;AAChD;AAEA,MAAME,mCAAmCA,CACvCC,MACAC,UACAC,UACAC,UACAC,YACG;AACI,SAAA;AAAA,IACLJ,MAAMA,SAAQI,mCAASC;AAAAA,IACvBJ,UAAUA,aAAaJ,SAAYI,WAAWG,mCAASE;AAAAA,IACvDJ,UAAUA,aAAaL,SAAYK,WAAWE,mCAASG;AAAAA,IACvDJ,UAAUA,aAAaN,SAAYM,WAAWC,mCAASI;AAAAA,IACvDC,QAAQL,mCAASM;AAAAA,EAAAA;AAErB;AAEA,MAAMC,4BAA4BA,CAAC1B,OAAOmB,SAASQ,WAAWC,YAAY;AACxE,QAAMC,QAAQ;AAAA,IACZ,oBACE7B,+BAAQ,wBAAuBY,SAC3BZ,+BAAQ,qBACRI,sBAAsB,SAASe,mCAAS/B,aAAawC,OAAO;AAAA,IAClE,qBACE5B,+BAAQ,yBAAwBY,SAC5BZ,+BAAQ,sBACRI,sBAAsB,eAAee,mCAAS/B,WAAW;AAAA,IAC/D,kBACEY,+BAAQ,sBAAqBY,SACzBZ,+BAAQ,mBACRI,sBAAsB,cAAce,mCAAS/B,WAAW;AAAA,EAAA;AAGhE,MAAIuC,WAAW;AACbE,UAAM,cAAc,IAAIF;AACxBE,UAAM,mBAAmB,KACvB7B,+BAAQ,0BAAyBY,SAC7BZ,+BAAQ,uBACRa,kBAAkB,gBAAgBM,mCAAS/B,WAAW;AAAA,EAC9D;AAEOyC,SAAAA;AACT;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowTooltip.cjs","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { HvBaseProps } from \"@core/types/index\";\nimport { HvTooltip, HvTooltipProps, HvTypography } from \"@core/components\";\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: HvTooltipProps
|
|
1
|
+
{"version":3,"file":"OverflowTooltip.cjs","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useMemo } from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { HvBaseProps } from \"@core/types/index\";\nimport { HvTooltip, HvTooltipProps, HvTypography } from \"@core/components\";\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children) => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = ({\n id,\n classes,\n className,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n}: HvOverflowTooltipProps) => {\n const { width = 0, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n const scrollWidth = ref.current?.scrollWidth || 0;\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = scrollWidth - width >= 1;\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data?.toString()),\n [data, paragraphOverflow]\n );\n\n const content = useMemo(\n () => (\n <StyledDataContainer\n ref={ref}\n className={clsx(\n className,\n !isParag &&\n clsx(overflowTooltipClasses.tooltipAnchor, classes?.tooltipAnchor),\n isParag &&\n clsx(\n overflowTooltipClasses.tooltipAnchorParagraph,\n classes?.tooltipAnchorParagraph\n )\n )}\n $isParag={isParag}\n >\n {data}\n </StyledDataContainer>\n ),\n [\n className,\n classes?.tooltipAnchor,\n classes?.tooltipAnchorParagraph,\n data,\n isParag,\n ref,\n ]\n );\n\n return open || isOverflowing ? (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography\n className={clsx(\n overflowTooltipClasses.tooltipData,\n classes?.tooltipData\n )}\n variant=\"body\"\n >\n {data}\n </HvTypography>\n }\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n ) : (\n content\n );\n};\n"],"names":["isParagraph","children","test","HvOverflowTooltip","id","classes","className","data","open","paragraphOverflow","placement","tooltipsProps","width","ref","useResizeDetector","refreshMode","refreshOptions","trailing","handleHeight","scrollWidth","current","isOverflowing","isParag","useMemo","toString","content","_jsx","StyledDataContainer","clsx","overflowTooltipClasses","tooltipAnchor","tooltipAnchorParagraph","$isParag","HvTooltip","disableHoverListener","title","HvTypography","tooltipData","variant"],"mappings":";;;;;;;;;;AAqCA,MAAMA,cAAeC,CAAAA,aAAa,KAAKC,KAAKD,QAAQ;AAK7C,MAAME,oBAAoBA,CAAC;AAAA,EAChCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY;AAAA,EACZC;AACsB,MAAM;;AACtB,QAAA;AAAA,IAAEC,QAAQ;AAAA,IAAGC;AAAAA,MAAQC,sCAAkB;AAAA,IAC3CC,aAAa;AAAA,IACbC,gBAAgB;AAAA,MACdC,UAAU;AAAA,IACZ;AAAA,IACAC,cAAc;AAAA,EAAA,CACf;AACKC,QAAAA,gBAAcN,SAAIO,YAAJP,mBAAaM,gBAAe;AAE1CE,QAAAA,gBAAgBF,cAAcP,SAAS;AAE7C,QAAMU,UAAUC,MAAAA,QACd,MAAMd,qBAAqBT,YAAYO,6BAAMiB,UAAU,GACvD,CAACjB,MAAME,iBAAiB,CAAC;AAG3B,QAAMgB,UAAUF,MAAAA,QACd,MACEG,2BAAAA,IAACC,uBAAAA,qBAAmB;AAAA,IAClBd;AAAAA,IACAP,WAAWsB,KACTtB,KAAAA,WACA,CAACgB,WACCM,UAAKC,uBAAuBC,QAAAA,eAAezB,mCAASyB,aAAa,GACnER,WACEM,UACEC,uBAAAA,QAAuBE,wBACvB1B,mCAAS0B,sBAAsB,CAChC;AAAA,IAELC,UAAUV;AAAAA,IAAQrB,UAEjBM;AAAAA,EAAI,CAAA,GAGT,CACED,WACAD,mCAASyB,eACTzB,mCAAS0B,wBACTxB,MACAe,SACAT,GAAG,CACJ;AAGIL,SAAAA,QAAQa,gBACbK,2BAAAA,IAACO,mBAAS;AAAA,IACR7B;AAAAA,IACA8B,sBAAsB,CAACb;AAAAA,IACvBb;AAAAA,IACAE;AAAAA,IACAyB,sCACGC,yBAAY;AAAA,MACX9B,WAAWsB,KAAAA,KACTC,uBAAAA,QAAuBQ,aACvBhC,mCAASgC,WAAW;AAAA,MAEtBC,SAAQ;AAAA,MAAMrC,UAEbM;AAAAA,IAAAA,CAEJ;AAAA,IAAA,GACGI;AAAAA,IAAaV,UAEhBwB;AAAAA,EAAO,CAAA,IAGVA;AAEJ;;"}
|
|
@@ -13,12 +13,13 @@ const Button = require("../../Button/Button.cjs");
|
|
|
13
13
|
const Tag = require("../../Tag/Tag.cjs");
|
|
14
14
|
const Typography = require("../../Typography/Typography.cjs");
|
|
15
15
|
const setId = require("../../../utils/setId.cjs");
|
|
16
|
-
function hvTextColumn(col) {
|
|
16
|
+
function hvTextColumn(col, overflowTooltipProps = {}) {
|
|
17
17
|
return {
|
|
18
18
|
Cell: ({
|
|
19
19
|
value
|
|
20
20
|
}) => /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, {
|
|
21
|
-
data: fallbacks.hvStringFallback(value)
|
|
21
|
+
data: fallbacks.hvStringFallback(value),
|
|
22
|
+
...overflowTooltipProps
|
|
22
23
|
}),
|
|
23
24
|
sortType: "alphanumeric",
|
|
24
25
|
...col
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.cjs","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { setId } from \"@core/utils\";\nimport {\n HvOverflowTooltip,\n HvTag,\n HvTypography,\n HvButton,\n HvTableColumnConfig,\n HvRowInstance,\n HvTagProps,\n HvBaseSwitchProps,\n HvListValue,\n} from \"@core/components\";\nimport { HvTableHeaderRenderer, HvCellProps } from \"../hooks/useTable\";\nimport DateColumnCell from \"./DateColumnCell/index\";\nimport SwitchColumnCell from \"./SwitchColumnCell\";\nimport ProgressColumnCell from \"./ProgressColumnCell\";\nimport DropdownColumnCell from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(col: HvTableColumnConfig<D, H>): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvOverflowTooltip data={hvStringFallback(value)} />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(col: HvTableColumnConfig<D, H>): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => <>{hvNumberFallback(value)}</>,\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n dateFormat?: string\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <DateColumnCell date={value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D, H>) => boolean,\n ExpandedIcon: React.ReactNode = <DropUpXS />,\n CollapsedIcon: React.ReactNode = <DropDownXS />\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n const expandedProps = row.getToggleRowExpandedProps?.();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <ClassNames>\n {({ css }) => (\n <>\n {hasContent && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={expandedProps?.onClick}\n classes={{\n root: css({\n position: \"absolute\",\n left: 0,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n }),\n }}\n >\n {row.isExpanded ? ExpandedIcon : CollapsedIcon}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n )}\n </ClassNames>\n );\n },\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n A extends object = Record<string, unknown>\n>(\n col: HvTableColumnConfig<D, H>,\n valueDataKey: keyof A,\n colorDataKey: keyof A,\n textColorDataKey: keyof A,\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n if (!value) {\n return <>—</>;\n }\n\n const {\n [valueDataKey]: name,\n [colorDataKey]: color,\n [textColorDataKey]: textColor,\n } = fromRowData ? row.original : value;\n\n return (\n <HvTag\n label={<HvTypography variant=\"body\">{name}</HvTypography>}\n type=\"semantic\"\n color={color}\n style={textColor != null ? { color: textColor } : {}}\n tabIndex={-1}\n {...tagProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvSwitchColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n return (\n <SwitchColumnCell\n checked={value}\n value={row.id}\n switchLabel={switchLabel}\n falseLabel={falseLabel}\n trueLabel={trueLabel}\n switchProps={switchProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvDropdownColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n id: string,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <DropdownColumnCell\n values={value}\n placeholder={dsbld ? disabledPlaceholder : placeholder}\n onChange={(val) => onChange?.(row.id, val)}\n disabled={dsbld}\n dropdownProps={{\n \"aria-labelledby\": setId(id, column.id),\n }}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvProgressColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n getPartial?: (row: HvRowInstance<D, H>) => number,\n getTotal?: (row: HvRowInstance<D, H>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { row } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <ProgressColumnCell partial={partial} total={total} color={color} />\n );\n }\n\n return <>—</>;\n },\n\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n"],"names":["hvTextColumn","col","Cell","value","HvOverflowTooltip","data","hvStringFallback","sortType","hvNumberColumn","_Fragment","children","hvNumberFallback","align","hvDateColumn","dateFormat","DateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","ExpandedIcon","DropUpXS","CollapsedIcon","_jsx","DropDownXS","cellProps","row","expandedProps","getToggleRowExpandedProps","hasContent","ClassNames","css","HvButton","icon","variant","isExpanded","onClick","classes","root","position","left","top","transform","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","type","style","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","SwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","DropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","ProgressColumnCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderers.cjs","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { setId } from \"@core/utils\";\nimport {\n HvOverflowTooltip,\n HvTag,\n HvTypography,\n HvButton,\n HvTableColumnConfig,\n HvRowInstance,\n HvTagProps,\n HvBaseSwitchProps,\n HvListValue,\n HvOverflowTooltipProps,\n} from \"@core/components\";\nimport { HvTableHeaderRenderer, HvCellProps } from \"../hooks/useTable\";\nimport DateColumnCell from \"./DateColumnCell/index\";\nimport SwitchColumnCell from \"./SwitchColumnCell\";\nimport ProgressColumnCell from \"./ProgressColumnCell\";\nimport DropdownColumnCell from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n overflowTooltipProps: Omit<HvOverflowTooltipProps, \"data\"> = {}\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvOverflowTooltip\n data={hvStringFallback(value)}\n {...overflowTooltipProps}\n />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(col: HvTableColumnConfig<D, H>): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => <>{hvNumberFallback(value)}</>,\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n dateFormat?: string\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <DateColumnCell date={value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D, H>) => boolean,\n ExpandedIcon: React.ReactNode = <DropUpXS />,\n CollapsedIcon: React.ReactNode = <DropDownXS />\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n const expandedProps = row.getToggleRowExpandedProps?.();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <ClassNames>\n {({ css }) => (\n <>\n {hasContent && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={expandedProps?.onClick}\n classes={{\n root: css({\n position: \"absolute\",\n left: 0,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n }),\n }}\n >\n {row.isExpanded ? ExpandedIcon : CollapsedIcon}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n )}\n </ClassNames>\n );\n },\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n A extends object = Record<string, unknown>\n>(\n col: HvTableColumnConfig<D, H>,\n valueDataKey: keyof A,\n colorDataKey: keyof A,\n textColorDataKey: keyof A,\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n if (!value) {\n return <>—</>;\n }\n\n const {\n [valueDataKey]: name,\n [colorDataKey]: color,\n [textColorDataKey]: textColor,\n } = fromRowData ? row.original : value;\n\n return (\n <HvTag\n label={<HvTypography variant=\"body\">{name}</HvTypography>}\n type=\"semantic\"\n color={color}\n style={textColor != null ? { color: textColor } : {}}\n tabIndex={-1}\n {...tagProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvSwitchColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n return (\n <SwitchColumnCell\n checked={value}\n value={row.id}\n switchLabel={switchLabel}\n falseLabel={falseLabel}\n trueLabel={trueLabel}\n switchProps={switchProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvDropdownColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n id: string,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <DropdownColumnCell\n values={value}\n placeholder={dsbld ? disabledPlaceholder : placeholder}\n onChange={(val) => onChange?.(row.id, val)}\n disabled={dsbld}\n dropdownProps={{\n \"aria-labelledby\": setId(id, column.id),\n }}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvProgressColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n getPartial?: (row: HvRowInstance<D, H>) => number,\n getTotal?: (row: HvRowInstance<D, H>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { row } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <ProgressColumnCell partial={partial} total={total} color={color} />\n );\n }\n\n return <>—</>;\n },\n\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n"],"names":["hvTextColumn","col","overflowTooltipProps","Cell","value","HvOverflowTooltip","data","hvStringFallback","sortType","hvNumberColumn","_Fragment","children","hvNumberFallback","align","hvDateColumn","dateFormat","DateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","ExpandedIcon","DropUpXS","CollapsedIcon","_jsx","DropDownXS","cellProps","row","expandedProps","getToggleRowExpandedProps","hasContent","ClassNames","css","HvButton","icon","variant","isExpanded","onClick","classes","root","position","left","top","transform","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","type","style","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","SwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","DropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","ProgressColumnCell"],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ const HvTooltip = React.forwardRef((props, ref) => {
|
|
|
22
22
|
timeout: 400,
|
|
23
23
|
placement
|
|
24
24
|
},
|
|
25
|
+
containerId,
|
|
25
26
|
...others
|
|
26
27
|
} = props;
|
|
27
28
|
const {
|
|
@@ -42,7 +43,7 @@ const HvTooltip = React.forwardRef((props, ref) => {
|
|
|
42
43
|
title,
|
|
43
44
|
PopperProps: {
|
|
44
45
|
sx: Tooltip_styles.popperSx(useSingle),
|
|
45
|
-
container: document.getElementById(rootId || "") || document.body
|
|
46
|
+
container: document.getElementById(containerId || rootId || "") || document.body
|
|
46
47
|
},
|
|
47
48
|
...others,
|
|
48
49
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useTheme } from \"@core/hooks\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType = MuiTooltipProps[\"placement\"];\n\nexport interface HvTooltipProps extends Omit<MuiTooltipProps, \"classes\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /** @inheritdoc */\n title: MuiTooltipProps[\"title\"];\n /** @inheritdoc */\n TransitionComponent?: MuiTooltipProps[\"TransitionComponent\"];\n /** @inheritdoc */\n TransitionProps?: MuiTooltipProps[\"TransitionProps\"];\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n * Accessibility-wise, the tooltip automatically labels the `children` content.\n */\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n ...others\n } = props;\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\nimport { forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useTheme } from \"@core/hooks\";\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType = MuiTooltipProps[\"placement\"];\n\nexport interface HvTooltipProps extends Omit<MuiTooltipProps, \"classes\"> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /** @inheritdoc */\n title: MuiTooltipProps[\"title\"];\n /** @inheritdoc */\n TransitionComponent?: MuiTooltipProps[\"TransitionComponent\"];\n /** @inheritdoc */\n TransitionProps?: MuiTooltipProps[\"TransitionProps\"];\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n /**\n * Id attribute value of an HTML Element to have the tooltip appended to it.\n */\n containerId?: string;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n * Accessibility-wise, the tooltip automatically labels the `children` content.\n */\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n containerId,\n ...others\n } = props;\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container:\n document.getElementById(containerId || rootId || \"\") || document.body,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","containerId","others","rootId","useTheme","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","document","getElementById","body"],"mappings":";;;;;;;;;AA2DO,MAAMA,YAAYC,MAAAA,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC,SAAAA;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAU;AAAA,IAC5CQ;AAAAA,IACA,GAAGC;AAAAA,EACDf,IAAAA;AAEE,QAAA;AAAA,IAAEgB;AAAAA,MAAWC,SAAU,SAAA;AAE7B,wCACGC,SAAAA,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,QAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,KAAAA,KAAKC,eAAAA,QAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,KAAKC,KAAAA,eAAAA,QAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,KAAAA,KAAKC,eAAAA,QAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,wBAASpB,SAAS;AAAA,MACtBqB,WACEC,SAASC,eAAehB,eAAeE,UAAU,EAAE,KAAKa,SAASE;AAAAA,IACrE;AAAA,IAAE,GACEhB;AAAAA,IAAMP;AAAAA,EAAAA,CAGC;AAEjB,CAAC;;"}
|
|
@@ -222,7 +222,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
222
222
|
onClick: handleClick,
|
|
223
223
|
onMouseDown: handleMouseDown,
|
|
224
224
|
style: {
|
|
225
|
-
paddingLeft: (
|
|
225
|
+
paddingLeft: (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10)
|
|
226
226
|
},
|
|
227
227
|
role: href ? void 0 : "button",
|
|
228
228
|
...treeviewMode ? {
|
|
@@ -236,14 +236,17 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
236
236
|
"aria-controls": expandable ? setId.setId(id, "group") : void 0,
|
|
237
237
|
"aria-label": payload == null ? void 0 : payload.label
|
|
238
238
|
},
|
|
239
|
-
children: [
|
|
239
|
+
children: [/* @__PURE__ */ jsxRuntime.jsx(IconWrapper.IconWrapper, {
|
|
240
240
|
icon: useIcons && icon,
|
|
241
241
|
label: payload == null ? void 0 : payload.label,
|
|
242
242
|
hasChildren: Boolean(children),
|
|
243
243
|
showAvatar: !icon && useIcons,
|
|
244
244
|
isOpen,
|
|
245
245
|
disableTooltip
|
|
246
|
-
}), isOpen &&
|
|
246
|
+
}), isOpen && /* @__PURE__ */ jsxRuntime.jsx(TreeViewItem_styles.StyledLabel, {
|
|
247
|
+
$expandable: !!expandable,
|
|
248
|
+
children: label
|
|
249
|
+
}), isOpen && expandable && (expanded ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropUpXS, {}) : /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropDownXS, {}))]
|
|
247
250
|
}), [id, href, target, classes == null ? void 0 : classes.content, treeViewItemClasses.default.content, classes == null ? void 0 : classes.link, treeViewItemClasses.default.link, classes == null ? void 0 : classes.minimized, treeViewItemClasses.default.minimized, disabled, handleClick, handleMouseDown, expandable, icon, level, collapsible, treeviewMode, handleFocus, selectable, handleKeyDown, selected, expanded, label, disableTooltip]);
|
|
248
251
|
const renderedChildren = React.useMemo(() => children && /* @__PURE__ */ jsxRuntime.jsx(TreeViewItem_styles.StyledGroup, {
|
|
249
252
|
id: setId.setId(id, "group"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport { StyledContent, StyledGroup, StyledNode } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"..\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (expandable || useIcons || !isOpen ? 0 : 10) +\n level * (collapsible ? 32 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && label}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id ?? undefined}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen && !useIcons && clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n useIcons &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\n )}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","DropUpXS","DropDownXS","IconWrapper","hasChildren","Boolean","showAvatar","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useForkRef } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\nimport treeViewItemClasses, {\n HvVerticalNavigationTreeViewItemClasses,\n} from \"./treeViewItemClasses\";\nimport {\n StyledContent,\n StyledGroup,\n StyledNode,\n StyledLabel,\n} from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"..\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <StyledContent\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n ref={contentRef}\n className={clsx(\n treeViewItemClasses.content,\n classes?.content,\n href != null && clsx(treeViewItemClasses.link, classes?.link),\n !isOpen && clsx(treeViewItemClasses.minimized, classes?.minimized)\n )}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && (\n <StyledLabel $expandable={!!expandable}>{label}</StyledLabel>\n )}\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n </StyledContent>\n ),\n [\n id,\n href,\n target,\n classes?.content,\n treeViewItemClasses.content,\n classes?.link,\n treeViewItemClasses.link,\n classes?.minimized,\n treeViewItemClasses.minimized,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n ]\n );\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <StyledGroup\n id={setId(id, \"group\")}\n className={clsx(treeViewItemClasses.group, classes?.group)}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </StyledGroup>\n ),\n [children, treeViewItemClasses.group, classes?.group, id, treeviewMode]\n );\n\n return (\n <StyledNode\n ref={handleRef}\n id={id ?? undefined}\n className={clsx(\n treeViewItemClasses?.node,\n classes?.node,\n className,\n disabled && clsx(treeViewItemClasses.disabled, classes?.disabled),\n expandable &&\n clsx(treeViewItemClasses.expandable, classes?.expandable),\n expandable &&\n !expanded &&\n clsx(treeViewItemClasses.collapsed, classes?.collapsed),\n expandable &&\n expanded &&\n clsx(treeViewItemClasses.expanded, classes?.expanded),\n selectable &&\n !disabled &&\n clsx(treeViewItemClasses.selectable, classes?.selectable),\n !disabled &&\n !selectable &&\n clsx(treeViewItemClasses.unselectable, classes?.unselectable),\n !disabled &&\n selectable &&\n selected &&\n clsx(treeViewItemClasses.selected, classes?.selected),\n !disabled &&\n selectable &&\n !selected &&\n clsx(treeViewItemClasses.unselected, classes?.unselected),\n focused && clsx(treeViewItemClasses.focused, classes?.focused),\n !isOpen && !useIcons && clsx(treeViewItemClasses.hide, classes?.hide),\n !isOpen &&\n useIcons &&\n isChildSelected &&\n isChildSelected(nodeId) &&\n clsx(treeViewItemClasses.selected, classes?.selected)\n )}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </StyledNode>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","_jsxs","StyledContent","setId","component","clsx","treeViewItemClasses","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","_jsx","IconWrapper","hasChildren","Boolean","showAvatar","StyledLabel","$expandable","DropUpXS","DropDownXS","renderedChildren","StyledGroup","group","StyledNode","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|