reneco-hierarchized-picker 0.4.3-beta.17 → 0.4.3-beta.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/reneco-hierarchized-picker.cjs.js +1 -1
  3. package/dist/cjs/reneco-hierarchized-picker_2.cjs.entry.js +216 -140
  4. package/dist/collection/components/hierarchized-picker/hierarchized-picker.css +4 -0
  5. package/dist/collection/components/hierarchized-picker/hierarchized-picker.js +124 -46
  6. package/dist/collection/components/treejs/index.js +4 -5
  7. package/dist/collection/core/options-manager.js +1 -0
  8. package/dist/collection/features/events/focus-handlers.js +4 -0
  9. package/dist/collection/features/keyboard-navigation/keyboard-navigation.js +63 -59
  10. package/dist/collection/features/tree/tree-utils.js +10 -0
  11. package/dist/custom-elements/index.js +216 -140
  12. package/dist/esm/loader.js +1 -1
  13. package/dist/esm/reneco-hierarchized-picker.js +1 -1
  14. package/dist/esm/reneco-hierarchized-picker_2.entry.js +216 -140
  15. package/dist/esm-es5/loader.js +1 -1
  16. package/dist/esm-es5/reneco-hierarchized-picker.js +1 -1
  17. package/dist/esm-es5/reneco-hierarchized-picker_2.entry.js +1 -1
  18. package/dist/reneco-hierarchized-picker/p-0b7769a1.entry.js +1 -0
  19. package/dist/reneco-hierarchized-picker/p-73168a50.system.js +1 -1
  20. package/dist/reneco-hierarchized-picker/p-8c379f58.system.entry.js +3 -0
  21. package/dist/reneco-hierarchized-picker/reneco-hierarchized-picker.esm.js +1 -1
  22. package/dist/types/components/hierarchized-picker/hierarchized-picker.d.ts +6 -2
  23. package/dist/types/components.d.ts +1 -0
  24. package/dist/types/core/options-manager.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/dist/reneco-hierarchized-picker/p-6a3abc16.entry.js +0 -1
  27. package/dist/reneco-hierarchized-picker/p-8ed96f20.system.entry.js +0 -3
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["reneco-hierarchized-picker_2.cjs",[[0,"reneco-hierarchized-picker",{"options":[1],"valueChangeCallback":[16],"disabled":[4],"newoptions":[1],"newfilter":[1],"activatedDragAndDrop":[4,"activated-drag-and-drop"],"isDisabled":[32],"componentID":[32],"rawData":[32],"pickerClass":[32],"displayedValue":[32],"value":[32],"shownTree":[32],"searchResultData":[32],"hasFocus":[32],"errorToLog":[32],"getValue":[64],"refreshPicker":[64],"setOptions":[64],"getSearchResult":[64],"filterTree":[64],"clearPicker":[64],"showSelectedNodes":[64]}],[0,"search-input",{"placeholder":[1],"setFocus":[64]}]]]], options);
17
+ return index.bootstrapLazy([["reneco-hierarchized-picker_2.cjs",[[0,"reneco-hierarchized-picker",{"options":[1],"valueChangeCallback":[16],"disabled":[4],"newoptions":[1],"newfilter":[1],"activatedDragAndDrop":[4,"activated-drag-and-drop"],"isDisabled":[32],"componentID":[32],"rawData":[32],"pickerClass":[32],"displayedValue":[32],"value":[32],"shownTree":[32],"searchResultData":[32],"hasFocus":[32],"errorToLog":[32],"getValue":[64],"refreshPicker":[64],"setOptions":[64],"getSearchResult":[64],"filterTree":[64],"clearPicker":[64],"showSelectedNodes":[64],"scrollToNodeWithId":[64]}],[0,"search-input",{"placeholder":[1],"setFocus":[64]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -17,7 +17,7 @@ const patchBrowser = () => {
17
17
  };
18
18
 
19
19
  patchBrowser().then(options => {
20
- return index.bootstrapLazy([["reneco-hierarchized-picker_2.cjs",[[0,"reneco-hierarchized-picker",{"options":[1],"valueChangeCallback":[16],"disabled":[4],"newoptions":[1],"newfilter":[1],"activatedDragAndDrop":[4,"activated-drag-and-drop"],"isDisabled":[32],"componentID":[32],"rawData":[32],"pickerClass":[32],"displayedValue":[32],"value":[32],"shownTree":[32],"searchResultData":[32],"hasFocus":[32],"errorToLog":[32],"getValue":[64],"refreshPicker":[64],"setOptions":[64],"getSearchResult":[64],"filterTree":[64],"clearPicker":[64],"showSelectedNodes":[64]}],[0,"search-input",{"placeholder":[1],"setFocus":[64]}]]]], options);
20
+ return index.bootstrapLazy([["reneco-hierarchized-picker_2.cjs",[[0,"reneco-hierarchized-picker",{"options":[1],"valueChangeCallback":[16],"disabled":[4],"newoptions":[1],"newfilter":[1],"activatedDragAndDrop":[4,"activated-drag-and-drop"],"isDisabled":[32],"componentID":[32],"rawData":[32],"pickerClass":[32],"displayedValue":[32],"value":[32],"shownTree":[32],"searchResultData":[32],"hasFocus":[32],"errorToLog":[32],"getValue":[64],"refreshPicker":[64],"setOptions":[64],"getSearchResult":[64],"filterTree":[64],"clearPicker":[64],"showSelectedNodes":[64],"scrollToNodeWithId":[64]}],[0,"search-input",{"placeholder":[1],"setFocus":[64]}]]]], options);
21
21
  });
22
22
 
23
23
  exports.setNonce = index.setNonce;
@@ -673,11 +673,10 @@ Tree.prototype.createLiEle = function (node, closed) {
673
673
  else {
674
674
  li.classList.add('treejs-placeholder');
675
675
  }
676
- if (!this.options.parentApi || (this.options.parentApi && this.options.parentApi.theOptions.multiple)) {
677
- const checkbox = document.createElement('span');
678
- checkbox.classList.add('treejs-checkbox');
679
- li.appendChild(checkbox);
680
- }
676
+ const checkbox = document.createElement('span');
677
+ checkbox.classList.add('treejs-checkbox');
678
+ checkbox.style.display = ((!this.options.parentApi || (this.options.parentApi && this.options.parentApi.theOptions.multiple)) ? "inline-block" : "none");
679
+ li.appendChild(checkbox);
681
680
  const label = document.createElement('span');
682
681
  label.classList.add('treejs-label');
683
682
  const text = document.createTextNode(node.text);
@@ -18375,6 +18374,7 @@ class OptionsManager {
18375
18374
  errorsInInput: true,
18376
18375
  isFullpath: true,
18377
18376
  defaultValue: [],
18377
+ defaultValueIsFullpath: false,
18378
18378
  };
18379
18379
  const validatedOptions = Object.assign(Object.assign({}, defaults), options);
18380
18380
  // Validate specific fields
@@ -18528,6 +18528,11 @@ function completeCurrentTreeWithTree(treeJsInstance, newTree, options) {
18528
18528
  var _a;
18529
18529
  const ElmID = newTree.key || newTree.id || newTree.ID;
18530
18530
  const targetNode = findNodeById(treeJsInstance, ElmID);
18531
+ if (ElmID == 0 && newTree.children && newTree.children.length > 0) {
18532
+ newTree.children.forEach(child => {
18533
+ completeCurrentTreeWithTree(treeJsInstance, child, options);
18534
+ });
18535
+ }
18531
18536
  if (targetNode) {
18532
18537
  targetNode.children = [];
18533
18538
  let ulElem = (_a = treeJsInstance.liElementsById[ElmID]) === null || _a === void 0 ? void 0 : _a.querySelector('ul');
@@ -18543,6 +18548,11 @@ function completeCurrentTreeWithTree(treeJsInstance, newTree, options) {
18543
18548
  targetNode.children.push(item);
18544
18549
  treeJsInstance.nodesById[item.id] = item;
18545
18550
  treeJsInstance.liElementsById[item.id] = liElm;
18551
+ if (item.children && item.children.some(child => Object.keys(child).length > 0)) {
18552
+ newTree.children.forEach(child => {
18553
+ completeCurrentTreeWithTree(treeJsInstance, child, options);
18554
+ });
18555
+ }
18546
18556
  });
18547
18557
  }
18548
18558
  }
@@ -18585,6 +18595,101 @@ function clearAutocomplete(eraseResults = false) {
18585
18595
  }
18586
18596
  }
18587
18597
 
18598
+ let focusedNodeIndex = 0;
18599
+ function setupKeyboardNavigation(component, optionsManager, navigateInTree) {
18600
+ if (!optionsManager.getOptions().keyboardNavigation)
18601
+ return;
18602
+ const treeArea = component.el.querySelector('.hierarchized-picker-tree-area') || component.el.querySelector('.hierarchized-picker-raw-tree-area');
18603
+ if (!treeArea)
18604
+ return;
18605
+ function focusNode(allLiElements, liElementToFocus) {
18606
+ Object.values(allLiElements).forEach((liNode) => {
18607
+ liNode.classList.remove('treejs-node__focused');
18608
+ });
18609
+ liElementToFocus.classList.add('treejs-node__focused');
18610
+ }
18611
+ function findAllTreeNodes(treeNodes, liElementsById) {
18612
+ let allNodes = [];
18613
+ const traverse = (nodes) => {
18614
+ nodes.forEach(node => {
18615
+ allNodes.push(node);
18616
+ if (node.children && node.children.length > 0 && !liElementsById[node.id].classList.contains("treejs-node__close")) {
18617
+ traverse(node.children);
18618
+ }
18619
+ });
18620
+ };
18621
+ traverse(treeNodes);
18622
+ return allNodes;
18623
+ }
18624
+ focusedNodeIndex = 0;
18625
+ if (component && component.loadedTreeJs && component.loadedTreeJs.liElementsById && component.loadedTreeJs.treeNodes) {
18626
+ focusNode(component.loadedTreeJs.liElementsById, component.loadedTreeJs.liElementsById[component.loadedTreeJs.treeNodes[focusedNodeIndex].id]);
18627
+ }
18628
+ //todo, put back ?
18629
+ // if ((component.el as any)._hasKeydownListener) {
18630
+ // return;
18631
+ // }
18632
+ component.el._hasKeydownListener = true;
18633
+ if (!component._keydownListenerAdded) {
18634
+ component._keydownListenerAdded = true;
18635
+ component.el.addEventListener('keydown', (event) => {
18636
+ var _a, _b;
18637
+ event.stopPropagation();
18638
+ const tree = component.loadedTreeJs;
18639
+ let treeNodesFromTree = findAllTreeNodes(tree.treeNodes, tree.liElementsById);
18640
+ if (!tree || !treeNodesFromTree.length)
18641
+ return;
18642
+ let spaceNode = treeNodesFromTree[focusedNodeIndex];
18643
+ let activeNode = treeNodesFromTree[focusedNodeIndex];
18644
+ let liElement = tree.liElementsById[activeNode.id];
18645
+ const handledEvents = ['tab', '0', 'arrowup', 'arrowdown', 'arrowleft', 'arrowright'];
18646
+ switch (event.key) {
18647
+ case 'Tab':
18648
+ case '0':
18649
+ event.preventDefault();
18650
+ { //(spaceNode?.nodeId) {
18651
+ component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
18652
+ component.showTree('hide');
18653
+ setTimeout(() => focusMainInput(), 100);
18654
+ }
18655
+ break;
18656
+ case 'ArrowUp':
18657
+ event.preventDefault();
18658
+ focusedNodeIndex = Math.max(focusedNodeIndex - 1, 0);
18659
+ const newActiveNodeUp = treeNodesFromTree[focusedNodeIndex];
18660
+ const newLiElementUp = tree.liElementsById[newActiveNodeUp.id];
18661
+ newLiElementUp.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
18662
+ focusNode(tree.liElementsById, newLiElementUp);
18663
+ break;
18664
+ case 'ArrowDown':
18665
+ event.preventDefault();
18666
+ focusedNodeIndex = Math.min(focusedNodeIndex + 1, treeNodesFromTree.length - 1);
18667
+ const newActiveNodeDown = treeNodesFromTree[focusedNodeIndex];
18668
+ const newLiElementDown = tree.liElementsById[newActiveNodeDown.id];
18669
+ focusNode(tree.liElementsById, newLiElementDown);
18670
+ newLiElementDown.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
18671
+ break;
18672
+ case 'ArrowLeft':
18673
+ event.preventDefault();
18674
+ const leftSwitcher = liElement.querySelector('.treejs-switcher');
18675
+ if (leftSwitcher) {
18676
+ (_a = component.loadedTreeJs) === null || _a === void 0 ? void 0 : _a.onSwitcherClick(leftSwitcher);
18677
+ }
18678
+ break;
18679
+ case 'ArrowRight':
18680
+ event.preventDefault();
18681
+ const rightSwitcher = liElement.querySelector('.treejs-switcher');
18682
+ if (rightSwitcher) {
18683
+ (_b = component.loadedTreeJs) === null || _b === void 0 ? void 0 : _b.onSwitcherClick(rightSwitcher);
18684
+ }
18685
+ break;
18686
+ }
18687
+ if (handledEvents.includes(event.key.toLowerCase()))
18688
+ navigateInTree.emit(event);
18689
+ });
18690
+ }
18691
+ }
18692
+
18588
18693
  // Utility functions
18589
18694
  function isInsidePicker(component, target) {
18590
18695
  return target !== null && component.el.contains(target);
@@ -18629,6 +18734,9 @@ function clickPickerModalArea(component, _event) {
18629
18734
  else {
18630
18735
  component.mylog('Ignored modal click');
18631
18736
  }
18737
+ if (component.theOptions.mode == 'tree') {
18738
+ setupKeyboardNavigation(component, component.optionsManager, component.navigateInTree);
18739
+ }
18632
18740
  }
18633
18741
  // Exposed event handlers
18634
18742
  function focusInSearchEvent(component) {
@@ -18637,98 +18745,7 @@ function focusInSearchEvent(component) {
18637
18745
  function focusOutSearchEvent(component, event) {
18638
18746
  }
18639
18747
 
18640
- let focusedNodeIndex = 0;
18641
- function setupKeyboardNavigation(component, optionsManager, navigateInTree) {
18642
- if (!optionsManager.getOptions().keyboardNavigation)
18643
- return;
18644
- const treeArea = component.el.querySelector('.hierarchized-picker-tree-area');
18645
- if (!treeArea)
18646
- return;
18647
- function focusNode(allLiElements, liElementToFocus) {
18648
- Object.values(allLiElements).forEach((liNode) => {
18649
- liNode.classList.remove('treejs-node__focused');
18650
- });
18651
- liElementToFocus.classList.add('treejs-node__focused');
18652
- }
18653
- function findAllTreeNodes(treeNodes, liElementsById) {
18654
- let allNodes = [];
18655
- const traverse = (nodes) => {
18656
- nodes.forEach(node => {
18657
- allNodes.push(node);
18658
- if (node.children && node.children.length > 0 && !liElementsById[node.id].classList.contains("treejs-node__close")) {
18659
- traverse(node.children);
18660
- }
18661
- });
18662
- };
18663
- traverse(treeNodes);
18664
- return allNodes;
18665
- }
18666
- focusedNodeIndex = 0;
18667
- if (component && component.loadedTreeJs && component.loadedTreeJs.liElementsById && component.loadedTreeJs.treeNodes) {
18668
- focusNode(component.loadedTreeJs.liElementsById, component.loadedTreeJs.liElementsById[component.loadedTreeJs.treeNodes[focusedNodeIndex].id]);
18669
- }
18670
- if (component.el._hasKeydownListener) {
18671
- return;
18672
- }
18673
- component.el._hasKeydownListener = true;
18674
- component.el.addEventListener('keydown', (event) => {
18675
- var _a, _b;
18676
- event.stopPropagation();
18677
- const tree = component.loadedTreeJs;
18678
- let treeNodesFromTree = findAllTreeNodes(tree.treeNodes, tree.liElementsById);
18679
- if (!tree || !treeNodesFromTree.length)
18680
- return;
18681
- let spaceNode = treeNodesFromTree[focusedNodeIndex];
18682
- let activeNode = treeNodesFromTree[focusedNodeIndex];
18683
- let liElement = tree.liElementsById[activeNode.id];
18684
- const handledEvents = ['tab', '0', 'arrowup', 'arrowdown', 'arrowleft', 'arrowright'];
18685
- switch (event.key) {
18686
- case 'Tab':
18687
- case '0':
18688
- event.preventDefault();
18689
- { //(spaceNode?.nodeId) {
18690
- component.setNodeAsSelected(spaceNode.nodeId, component.loadedTreeJs, true);
18691
- component.showTree('hide');
18692
- setTimeout(() => focusMainInput(), 100);
18693
- }
18694
- break;
18695
- case 'ArrowUp':
18696
- event.preventDefault();
18697
- focusedNodeIndex = Math.max(focusedNodeIndex - 1, 0);
18698
- const newActiveNodeUp = treeNodesFromTree[focusedNodeIndex];
18699
- const newLiElementUp = tree.liElementsById[newActiveNodeUp.id];
18700
- newLiElementUp.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
18701
- focusNode(tree.liElementsById, newLiElementUp);
18702
- break;
18703
- case 'ArrowDown':
18704
- event.preventDefault();
18705
- focusedNodeIndex = Math.min(focusedNodeIndex + 1, treeNodesFromTree.length - 1);
18706
- const newActiveNodeDown = treeNodesFromTree[focusedNodeIndex];
18707
- const newLiElementDown = tree.liElementsById[newActiveNodeDown.id];
18708
- focusNode(tree.liElementsById, newLiElementDown);
18709
- newLiElementDown.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
18710
- break;
18711
- case 'ArrowLeft':
18712
- event.preventDefault();
18713
- const leftSwitcher = liElement.querySelector('.treejs-switcher');
18714
- if (leftSwitcher) {
18715
- (_a = component.loadedTreeJs) === null || _a === void 0 ? void 0 : _a.onSwitcherClick(leftSwitcher);
18716
- }
18717
- break;
18718
- case 'ArrowRight':
18719
- event.preventDefault();
18720
- const rightSwitcher = liElement.querySelector('.treejs-switcher');
18721
- if (rightSwitcher) {
18722
- (_b = component.loadedTreeJs) === null || _b === void 0 ? void 0 : _b.onSwitcherClick(rightSwitcher);
18723
- }
18724
- break;
18725
- }
18726
- if (handledEvents.includes(event.key.toLowerCase()))
18727
- navigateInTree.emit(event);
18728
- });
18729
- }
18730
-
18731
- const hierarchizedPickerCss = "reneco-hierarchized-picker .hierarchized-picker-raw-tree-area{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader{color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;position:absolute;z-index:1;min-width:100%;min-height:100%;background:#FFFFFF99;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader .loader-inner{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA))) !important;padding:20px;-webkit-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader:not(.loading){display:none}reneco-hierarchized-picker .scrollable{overflow-y:auto;position:relative}reneco-hierarchized-picker .treejs{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--hpicker-theme-typography-tree-font-size, 14px) !important;font-weight:var(--hpicker-theme-typography-tree-font-weight, 400) !important}reneco-hierarchized-picker .treejs *:after,reneco-hierarchized-picker .treejs *:before{-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .treejs>.treejs-node{padding-left:0}reneco-hierarchized-picker .treejs .treejs-nodes{list-style:none;padding-left:20px;overflow:hidden;-webkit-transition:height 150ms ease-out, opacity 150ms ease-out;-o-transition:height 150ms ease-out, opacity 150ms ease-out;transition:height 150ms ease-out, opacity 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-node{cursor:pointer;overflow:hidden;position:relative}reneco-hierarchized-picker .treejs .treejs-node.treejs-placeholder{padding-left:20px}reneco-hierarchized-picker .treejs .treejs-switcher{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative;-webkit-transition:-webkit-transform 150ms ease-out;transition:-webkit-transform 150ms ease-out;-o-transition:transform 150ms ease-out;transition:transform 150ms ease-out;transition:transform 150ms ease-out, -webkit-transform 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-switcher:before{position:absolute;top:8px;left:6px;display:block;content:' ';border:4px solid transparent;border-top:4px solid rgba(0, 0, 0, 0.4);-webkit-transition:border-color 150ms;-o-transition:border-color 150ms;transition:border-color 150ms}reneco-hierarchized-picker .treejs .treejs-switcher:hover:before{border-top:4px solid var(--hpicker-theme-palette-font-color)}reneco-hierarchized-picker .treejs-node__checked>.treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-primary-contrastText) !important}reneco-hierarchized-picker .treejs-node__focused{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-switcher{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-nodes{height:0}reneco-hierarchized-picker .treejs .treejs-checkbox{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;cursor:pointer;position:absolute;top:2px;content:' ';display:block;width:16px;height:16px;border:1px solid #d9d9d9;border-radius:2px}reneco-hierarchized-picker .treejs .treejs-checkbox:hover:before{-webkit-box-shadow:0 0 2px 1px #1890ff;box-shadow:0 0 2px 1px #1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:4px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}reneco-hierarchized-picker .treejs .treejs-node__halfchecked{background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c))}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:9px;left:3px;width:10px;height:2px;background-color:#fff}reneco-hierarchized-picker .treejs .treejs-node__disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25)}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox{cursor:not-allowed}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:before{cursor:not-allowed;border-color:#d9d9d9 !important;background-color:#f5f5f5 !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:hover:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-label{vertical-align:middle}reneco-hierarchized-picker .treejs .treejs-node__deprecated>.treejs-label{text-decoration:line-through}reneco-hierarchized-picker .treejs .treejs-node__desaturated>.treejs-label{opacity:.5}reneco-hierarchized-picker .treejs .treejs-node__searchmatch>.treejs-label{font-weight:bolder}reneco-hierarchized-picker .treejs .dragging{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c));display:inline;opacity:.9;padding:11px 0px;display:block}reneco-hierarchized-picker .treejs .dragover{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c))}reneco-hierarchized-picker .treejs .dragover-over::after{content:\"\";display:block;width:2px;height:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-before::after{content:\"\";display:block;height:2px;width:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-after::after{content:\"\";display:block;height:2px;width:100%;position:absolute;bottom:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .fieldError{color:red !important}reneco-hierarchized-picker .hidden{display:none;opacity:0}reneco-hierarchized-picker ul.treejs-nodes:first-child{padding-left:0px !important;margin-top:0px !important;margin-left:0px !important;background-color:var(--hpicker-theme-palette-background-dark)}reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){margin:0 !important;padding-left:15px !important;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF)))}reneco-hierarchized-picker ul.treejs-nodes{margin-left:15px !important;padding-left:0px !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node ul.treejs-nodes{margin:11px 0 0 0 !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node__close ul.treejs-nodes{margin:0 !important}reneco-hierarchized-picker li.treejs-node__close{background-color:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA)))}reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c));padding-bottom:0px !important}reneco-hierarchized-picker li:not(.treejs-node__close) ul.treejs-nodes li{margin-top:2px !important}reneco-hierarchized-picker ul li:last-child{margin-bottom:0px !important}reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--hpicker-theme-palette-primary-light) !important;color:var(--hpicker-theme-palette-primary-contrastText, var(--mui-palette-primary-ContrastText, var(--ion-color-primary-contrast, #000)))!important}reneco-hierarchized-picker li.treejs-node{padding:2px 0px;margin-bottom:2px}reneco-hierarchized-picker .treejs-node.readonly_node{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:darkgrey}reneco-hierarchized-picker .treejs-node:not(.readonly_node){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker .hierarchized-picker-container{position:relative;width:100%}reneco-hierarchized-picker .hierarchized-picker-input-area{background-color:transparent !important;display:-ms-flexbox;display:flex;width:100%;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input{-ms-flex:2;flex:2}reneco-hierarchized-picker .hierarchized-picker-input input{width:100%}reneco-hierarchized-picker .hierarchized-picker-input.readonly{pointer-events:none;cursor:initial}reneco-hierarchized-picker .hierarchized-picker-label{position:stacked;margin-left:5px}reneco-hierarchized-picker .hierarchized-picker-tree-area{padding-top:10px}reneco-hierarchized-picker .hierarchized-picker-modal-area{position:absolute;width:100%;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;z-index:10;overflow:scroll;top:20px;min-height:100px;max-height:var(--hpicker-theme-modal-height, \"200px\") !important;-webkit-box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);border-radius:4px;margin-right:0px !important}reneco-hierarchized-picker .hierarchized-picker-modal-area.display-modale-top{bottom:30px !important;top:unset !important}reneco-hierarchized-picker .hierarchized-picker-modal{padding:0px 15px}reneco-hierarchized-picker .hierarchized-picker{display:-ms-flexbox;display:flex;width:100%;font-family:'Roboto', sans-serif}reneco-hierarchized-picker .hierarchized-picker-spinner{margin:35px 0px 0px 145px}reneco-hierarchized-picker .reneco:before{position:relative;top:1px}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco:hover{cursor:pointer}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco-close{color:var(--ion-color-danger, red) !important;padding-left:10px}reneco-hierarchized-picker .treejs .treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-dark-shade, #121212)))}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before,reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;border-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker #autocomplete-results-area{position:absolute;margin-top:48px;background-color:white;left:15px;z-index:10;padding:0px 5px;max-width:340px;max-height:110px;overflow:auto}reneco-hierarchized-picker #autocomplete-results-area li{list-style-type:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;margin:1px}reneco-hierarchized-picker .hierarchized-picker-raw-tree-area li.treejs-node{padding:11px 0px;display:block}reneco-hierarchized-picker input[title]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}reneco-hierarchized-picker input{background-color:var(--hpicker-theme-palette-input-background-color, #eeeeee);border-style:var(--hpicker-theme-palette-input-border-style, solid);color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker input:focus-visible{outline:unset !important;outline-color:unset !important;outline-style:unset !important}.hierarchized-picker-raw-tree-area.readonly li.treejs-node .treejs-switcher{pointer-events:all}::-webkit-scrollbar-thumb{background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433)));width:8px;margin:5px;border-radius:5px}::-webkit-scrollbar{background:var(--ion-color-medium-tint, #E0E0E0);width:8px;height:8px;margin:5px;cursor:pointer;border-radius:5px}::-webkit-scrollbar-corner{background-color:var(--ion-color-light-tint, #FFF)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__close{background-color:var(--ion-color-dark-tint, #424242);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--ion-color-dark, #212121);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--ion-color-background, var(--hpicker-theme-palette-background-default, rgba(221, 169, 37, 0.18)));color:var(--ion-color-primary-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker .treejs-switcher:before{border-top-color:var(--ion-color-dark-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked .treejs-switcher:before{color:var(--ion-color-light-contrast, #111111) !important}[class$=\"-dark\"] reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){background-color:var(--ion-color-light-contrast, #111111) !important}";
18748
+ const hierarchizedPickerCss = "reneco-hierarchized-picker .hierarchized-picker-raw-tree-area{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker div:focus{outline:none}reneco-hierarchized-picker .loader{color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;position:absolute;z-index:1;min-width:100%;min-height:100%;background:#FFFFFF99;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader .loader-inner{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA))) !important;padding:20px;-webkit-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000;-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .loader:not(.loading){display:none}reneco-hierarchized-picker .scrollable{overflow-y:auto;position:relative}reneco-hierarchized-picker .treejs{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--hpicker-theme-typography-tree-font-size, 14px) !important;font-weight:var(--hpicker-theme-typography-tree-font-weight, 400) !important}reneco-hierarchized-picker .treejs *:after,reneco-hierarchized-picker .treejs *:before{-webkit-box-sizing:border-box;box-sizing:border-box}reneco-hierarchized-picker .treejs>.treejs-node{padding-left:0}reneco-hierarchized-picker .treejs .treejs-nodes{list-style:none;padding-left:20px;overflow:hidden;-webkit-transition:height 150ms ease-out, opacity 150ms ease-out;-o-transition:height 150ms ease-out, opacity 150ms ease-out;transition:height 150ms ease-out, opacity 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-node{cursor:pointer;overflow:hidden;position:relative}reneco-hierarchized-picker .treejs .treejs-node.treejs-placeholder{padding-left:20px}reneco-hierarchized-picker .treejs .treejs-switcher{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative;-webkit-transition:-webkit-transform 150ms ease-out;transition:-webkit-transform 150ms ease-out;-o-transition:transform 150ms ease-out;transition:transform 150ms ease-out;transition:transform 150ms ease-out, -webkit-transform 150ms ease-out}reneco-hierarchized-picker .treejs .treejs-switcher:before{position:absolute;top:8px;left:6px;display:block;content:' ';border:4px solid transparent;border-top:4px solid rgba(0, 0, 0, 0.4);-webkit-transition:border-color 150ms;-o-transition:border-color 150ms;transition:border-color 150ms}reneco-hierarchized-picker .treejs .treejs-switcher:hover:before{border-top:4px solid var(--hpicker-theme-palette-font-color)}reneco-hierarchized-picker .treejs-node__checked>.treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-primary-contrastText) !important}reneco-hierarchized-picker .treejs-node__focused{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-switcher{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}reneco-hierarchized-picker .treejs .treejs-node__close>.treejs-nodes{height:0}reneco-hierarchized-picker .treejs .treejs-checkbox{display:inline-block;vertical-align:middle;width:20px;height:20px;cursor:pointer;position:relative}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-transition:all 0.3s;-o-transition:all 0.3s;transition:all 0.3s;cursor:pointer;position:absolute;top:2px;content:' ';display:block;width:16px;height:16px;border:1px solid #d9d9d9;border-radius:2px}reneco-hierarchized-picker .treejs .treejs-checkbox:hover:before{-webkit-box-shadow:0 0 2px 1px #1890ff;box-shadow:0 0 2px 1px #1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:4px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}reneco-hierarchized-picker .treejs .treejs-node__halfchecked{background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c))}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:#1890ff;border-color:#1890ff}reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:after{position:absolute;content:' ';display:block;top:9px;left:3px;width:10px;height:2px;background-color:#fff}reneco-hierarchized-picker .treejs .treejs-node__disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25)}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox{cursor:not-allowed}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:before{cursor:not-allowed;border-color:#d9d9d9 !important;background-color:#f5f5f5 !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-checkbox:hover:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled .treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__checked>.treejs-checkbox:after{border-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-node__disabled.treejs-node__halfchecked>.treejs-checkbox:after{background-color:#d9d9d9}reneco-hierarchized-picker .treejs .treejs-label{vertical-align:middle}reneco-hierarchized-picker .treejs .treejs-node__deprecated>.treejs-label{text-decoration:line-through}reneco-hierarchized-picker .treejs .treejs-node__desaturated>.treejs-label{opacity:.5}reneco-hierarchized-picker .treejs .treejs-node__searchmatch>.treejs-label{font-weight:bolder}reneco-hierarchized-picker .treejs .dragging{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c));display:inline;opacity:.9;padding:11px 0px;display:block}reneco-hierarchized-picker .treejs .dragover{background:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, #e8a86c))}reneco-hierarchized-picker .treejs .dragover-over::after{content:\"\";display:block;width:2px;height:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-before::after{content:\"\";display:block;height:2px;width:100%;position:absolute;top:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .treejs .dragover-after::after{content:\"\";display:block;height:2px;width:100%;position:absolute;bottom:0;left:0;background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, #d58433))}reneco-hierarchized-picker .fieldError{color:red !important}reneco-hierarchized-picker .hidden{display:none;opacity:0}reneco-hierarchized-picker ul.treejs-nodes:first-child{padding-left:0px !important;margin-top:0px !important;margin-left:0px !important;background-color:var(--hpicker-theme-palette-background-dark)}reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){margin:0 !important;padding-left:15px !important;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF)))}reneco-hierarchized-picker ul.treejs-nodes{margin-left:15px !important;padding-left:0px !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node ul.treejs-nodes{margin:11px 0 0 0 !important}reneco-hierarchized-picker .hierarchized-picker-raw-tree li.treejs-node__close ul.treejs-nodes{margin:0 !important}reneco-hierarchized-picker li.treejs-node__close{background-color:var(--hpicker-theme-palette-background-light, var(--mui-palette-background-light, var(--ion-color-light, #FAFAFA)))}reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--hpicker-theme-palette-background-default, var(--mui-palette-background-default, #e8a86c));padding-bottom:0px !important}reneco-hierarchized-picker li:not(.treejs-node__close) ul.treejs-nodes li{margin-top:2px !important}reneco-hierarchized-picker ul li:last-child{margin-bottom:0px !important}reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--hpicker-theme-palette-primary-light) !important;color:var(--hpicker-theme-palette-primary-contrastText, var(--mui-palette-primary-ContrastText, var(--ion-color-primary-contrast, #000)))!important}reneco-hierarchized-picker li.treejs-node{padding:2px 0px;margin-bottom:2px}reneco-hierarchized-picker .treejs-node.readonly_node{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:darkgrey}reneco-hierarchized-picker .treejs-node:not(.readonly_node){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker .hierarchized-picker-container{position:relative;width:100%}reneco-hierarchized-picker .hierarchized-picker-input-area{background-color:transparent !important;display:-ms-flexbox;display:flex;width:100%;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center}reneco-hierarchized-picker .hierarchized-picker-input-area .input-wrapper{padding-left:10px !important}reneco-hierarchized-picker .hierarchized-picker-input{-ms-flex:2;flex:2}reneco-hierarchized-picker .hierarchized-picker-input input{width:100%}reneco-hierarchized-picker .hierarchized-picker-input.readonly{pointer-events:none;cursor:initial}reneco-hierarchized-picker .hierarchized-picker-label{position:stacked;margin-left:5px}reneco-hierarchized-picker .hierarchized-picker-tree-area{padding-top:10px}reneco-hierarchized-picker .hierarchized-picker-modal-area{position:absolute;width:100%;background-color:var(--hpicker-theme-palette-background-dark, var(--mui-palette-background-dark, var(--ion-color-light-tint, #FFF))) !important;z-index:10;overflow:scroll;top:20px;min-height:100px;max-height:var(--hpicker-theme-modal-height, \"200px\") !important;-webkit-box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);box-shadow:0 0px 15px 0 rgba(0, 0, 0, 0.2);border-radius:4px;margin-right:0px !important}reneco-hierarchized-picker .hierarchized-picker-modal-area.display-modale-top{bottom:30px !important;top:unset !important}reneco-hierarchized-picker .hierarchized-picker-modal{padding:0px 15px}reneco-hierarchized-picker .hierarchized-picker{display:-ms-flexbox;display:flex;width:100%;font-family:'Roboto', sans-serif}reneco-hierarchized-picker .hierarchized-picker-spinner{margin:35px 0px 0px 145px}reneco-hierarchized-picker .reneco:before{position:relative;top:1px}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco:hover{cursor:pointer}reneco-hierarchized-picker .hierarchized-picker-input-area span.reneco-close{color:var(--ion-color-danger, red) !important;padding-left:10px}reneco-hierarchized-picker .treejs .treejs-switcher:before{border-top:4px solid var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, var(--ion-color-dark-shade, #121212)))}reneco-hierarchized-picker .treejs .treejs-checkbox:before{-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker .treejs .treejs-node__checked>.treejs-checkbox:before,reneco-hierarchized-picker .treejs .treejs-node__halfchecked>.treejs-checkbox:before{background-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;border-color:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433))) !important;-webkit-box-shadow:none !important;box-shadow:none !important}reneco-hierarchized-picker #autocomplete-results-area{position:absolute;margin-top:48px;background-color:white;left:15px;z-index:10;padding:0px 5px;max-width:340px;max-height:110px;overflow:auto}reneco-hierarchized-picker #autocomplete-results-area li{list-style-type:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;margin:1px}reneco-hierarchized-picker .hierarchized-picker-raw-tree-area li.treejs-node{padding:11px 0px;display:block}reneco-hierarchized-picker input[title]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}reneco-hierarchized-picker input{background-color:var(--hpicker-theme-palette-input-background-color, #eeeeee);border-style:var(--hpicker-theme-palette-input-border-style, solid);color:var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black))}reneco-hierarchized-picker input:focus-visible{outline:unset !important;outline-color:unset !important;outline-style:unset !important}.hierarchized-picker-raw-tree-area.readonly li.treejs-node .treejs-switcher{pointer-events:all}::-webkit-scrollbar-thumb{background:var(--hpicker-theme-palette-primary-main, var(--mui-palette-primary-main, var(--ion-color-primary, #d58433)));width:8px;margin:5px;border-radius:5px}::-webkit-scrollbar{background:var(--ion-color-medium-tint, #E0E0E0);width:8px;height:8px;margin:5px;cursor:pointer;border-radius:5px}::-webkit-scrollbar-corner{background-color:var(--ion-color-light-tint, #FFF)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__close{background-color:var(--ion-color-dark-tint, #424242);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li:not(.treejs-node__close){background-color:var(--ion-color-dark, #212121);color:var(--ion-color-dark-contrast, #fff)}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked{background-color:var(--ion-color-background, var(--hpicker-theme-palette-background-default, rgba(221, 169, 37, 0.18)));color:var(--ion-color-primary-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker .treejs-switcher:before{border-top-color:var(--ion-color-dark-contrast, #fff) !important}[class$=\"-dark\"] reneco-hierarchized-picker li.treejs-node__checked .treejs-switcher:before{color:var(--ion-color-light-contrast, #111111) !important}[class$=\"-dark\"] reneco-hierarchized-picker ul.treejs-nodes:not(:first-child){background-color:var(--ion-color-light-contrast, #111111) !important}";
18732
18749
 
18733
18750
  const HierarchizedPickerComponent = class {
18734
18751
  /**
@@ -18805,6 +18822,24 @@ const HierarchizedPickerComponent = class {
18805
18822
  get theOptions() {
18806
18823
  return this.optionsManager.getOptions();
18807
18824
  }
18825
+ diffKeys(obj1, obj2, prefix = '') {
18826
+ const diffs = [];
18827
+ const keys = new Set([...Object.keys(obj1 || {}), ...Object.keys(obj2 || {})]);
18828
+ for (const key of keys) {
18829
+ const fullKey = prefix ? `${prefix}.${key}` : key;
18830
+ const val1 = obj1 ? obj1[key] : undefined;
18831
+ const val2 = obj2 ? obj2[key] : undefined;
18832
+ if (typeof val1 === 'object' && val1 !== null && typeof val2 === 'object' && val2 !== null) {
18833
+ // Appel récursif pour les objets imbriqués
18834
+ diffs.push(...this.diffKeys(val1, val2, fullKey));
18835
+ }
18836
+ else if (val1 !== val2) {
18837
+ // Valeurs différentes ou propriété manquante
18838
+ diffs.push(fullKey);
18839
+ }
18840
+ }
18841
+ return diffs;
18842
+ }
18808
18843
  async setNewOption(newValue, oldValue = null) {
18809
18844
  this.ready = false;
18810
18845
  // --------------------------------------- DEPRECATED ?
@@ -18823,6 +18858,7 @@ const HierarchizedPickerComponent = class {
18823
18858
  // });
18824
18859
  // ---------------------------------------
18825
18860
  // this.theOptions = newValue;
18861
+ const savedOldValue = Object.assign({}, this.theOptions);
18826
18862
  if (oldValue && JSON.stringify(newValue.options) == JSON.stringify(oldValue.options)) {
18827
18863
  this.ready = true;
18828
18864
  return;
@@ -18849,11 +18885,26 @@ const HierarchizedPickerComponent = class {
18849
18885
  if (oldValue && JSON.stringify(newValue.options) != JSON.stringify(oldValue.options)) {
18850
18886
  this.value = [];
18851
18887
  }
18852
- if ((newValue === null || newValue === void 0 ? void 0 : newValue.loading) == 'display') {
18888
+ if ((newValue === null || newValue === void 0 ? void 0 : newValue.loading) == 'display' || (newValue && !newValue.loading)) {
18853
18889
  if ((oldValue && this.isChangeInOptions(newValue, oldValue)) || !oldValue) {
18854
- this.rawDataManager = new RawDataManager(this.getOptionsAsIConf(this.optionsManager.getOptions()).token, this.optionsManager);
18855
- await this.loadHierarchizedPicker(true);
18856
- this.displayWhenLoaded();
18890
+ if (!oldValue) {
18891
+ oldValue = savedOldValue;
18892
+ }
18893
+ const propDiffs = this.diffKeys(oldValue, this.optionsManager.initializeOptions(newValue));
18894
+ const noReloadProps = ["multiple"];
18895
+ if (propDiffs.length == 1 && propDiffs.some(item => noReloadProps.includes(item))) {
18896
+ const propChanged = propDiffs[0];
18897
+ switch (propChanged) {
18898
+ case "multiple":
18899
+ document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-checkbox').forEach((item) => (item.style.display = (this.theOptions.multiple ? 'inline-block' : 'none')));
18900
+ break;
18901
+ }
18902
+ }
18903
+ else {
18904
+ this.rawDataManager = new RawDataManager(this.getOptionsAsIConf(this.optionsManager.getOptions()).token, this.optionsManager);
18905
+ await this.loadHierarchizedPicker(true);
18906
+ this.displayWhenLoaded();
18907
+ }
18857
18908
  }
18858
18909
  else {
18859
18910
  this.ready = true;
@@ -18923,6 +18974,52 @@ const HierarchizedPickerComponent = class {
18923
18974
  this.lastSearchMatchCounter = 0; // Counter of number of matches for last search
18924
18975
  this.setValueOnClick = true; // Tells wether we edit the picker value on click in the tree
18925
18976
  this.mylog = console.log; // Custom log function for debug purposes
18977
+ this.scrollToNode = (targetNodeId = null, displayChildren = false) => {
18978
+ var _a;
18979
+ let scrollToValue = 0;
18980
+ let removeClosedAndLookUp = (element, editScroll = false) => {
18981
+ var _a, _b, _c, _d;
18982
+ const nodeId = element === null || element === void 0 ? void 0 : element.nodeId;
18983
+ if (!element || !nodeId) {
18984
+ return;
18985
+ }
18986
+ const node = this.loadedTreeJs.nodesById[nodeId];
18987
+ if ((_b = (_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) {
18988
+ (_c = element.classList) === null || _c === void 0 ? void 0 : _c.remove('treejs-node__close');
18989
+ }
18990
+ if (editScroll) {
18991
+ scrollToValue += element.offsetTop;
18992
+ }
18993
+ const parent = (_d = element.parentNode) === null || _d === void 0 ? void 0 : _d.closest('.treejs-node');
18994
+ if (parent) {
18995
+ removeClosedAndLookUp(parent, editScroll);
18996
+ }
18997
+ };
18998
+ try {
18999
+ if (targetNodeId) {
19000
+ const targetNode = this.loadedTreeJs.liElementsById[targetNodeId];
19001
+ if (targetNode) {
19002
+ removeClosedAndLookUp(targetNode, true);
19003
+ if (displayChildren && targetNode.classList.contains('treejs-node__close')) {
19004
+ const leftSwitcher = targetNode.querySelector('.treejs-switcher');
19005
+ if (leftSwitcher) {
19006
+ (_a = this.loadedTreeJs) === null || _a === void 0 ? void 0 : _a.onSwitcherClick(leftSwitcher);
19007
+ }
19008
+ }
19009
+ }
19010
+ }
19011
+ else {
19012
+ const checkeds = document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-node__checked');
19013
+ checkeds.forEach((item) => removeClosedAndLookUp(item, scrollToValue == 0));
19014
+ }
19015
+ }
19016
+ catch (err) {
19017
+ console.error("Error in showSelectedNodes", err);
19018
+ }
19019
+ if (scrollToValue && this.scrollable) {
19020
+ this.scrollable.scrollTop = scrollToValue;
19021
+ }
19022
+ };
18926
19023
  this.getShortenedFullpath = (realFullpath) => {
18927
19024
  var _a, _b, _c, _d;
18928
19025
  let toret = realFullpath;
@@ -19224,8 +19321,8 @@ const HierarchizedPickerComponent = class {
19224
19321
  }
19225
19322
  }
19226
19323
  // TODO > Celine would rather like the context (thesaurus or position) to be extracted another way
19227
- getContextualApiURL(init = false) {
19228
- const { options, url } = this.optionsManager.getOptions();
19324
+ getContextualApiURL(init = false, forcedOptions = null) {
19325
+ const { options, url } = forcedOptions || this.optionsManager.getOptions();
19229
19326
  if (init && options.Reach) {
19230
19327
  const base = window.location.origin;
19231
19328
  const parsedUrl = new URL(url, base);
@@ -19428,9 +19525,7 @@ const HierarchizedPickerComponent = class {
19428
19525
  this.showSelectedNodes();
19429
19526
  this.deactivateNodesOutOfDepthSettings();
19430
19527
  // Hides checkboxes in non multiple context
19431
- if (!this.optionsManager.getOptions().multiple) {
19432
- document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-checkbox').forEach((item) => (item.style.display = 'none'));
19433
- }
19528
+ document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-checkbox').forEach((item) => (item.style.display = (this.theOptions.multiple ? 'inline-block' : 'none')));
19434
19529
  }
19435
19530
  onItemContextMenuItemClick(e) {
19436
19531
  this.itemContextMenuItemClick.emit(e);
@@ -19483,44 +19578,25 @@ const HierarchizedPickerComponent = class {
19483
19578
  // console.warn('You are not allowed to scroll to selected nodes in multiple mode');
19484
19579
  // return;
19485
19580
  // }
19486
- const scrollToNode = () => {
19487
- let scrollToValue = 0;
19488
- let removeClosedAndLookUp = (element, editScroll = false) => {
19489
- var _a, _b, _c, _d;
19490
- const nodeId = element === null || element === void 0 ? void 0 : element.nodeId;
19491
- if (!element || !nodeId) {
19492
- return;
19493
- }
19494
- const node = this.loadedTreeJs.nodesById[nodeId];
19495
- if ((_b = (_a = node === null || node === void 0 ? void 0 : node.children) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) {
19496
- (_c = element.classList) === null || _c === void 0 ? void 0 : _c.remove('treejs-node__close');
19497
- }
19498
- if (editScroll) {
19499
- scrollToValue += element.offsetTop;
19500
- }
19501
- const parent = (_d = element.parentNode) === null || _d === void 0 ? void 0 : _d.closest('.treejs-node');
19502
- if (parent) {
19503
- removeClosedAndLookUp(parent, editScroll);
19504
- }
19505
- };
19506
- try {
19507
- const checkeds = document.querySelectorAll('#tree-area-' + this.componentID + ' .treejs-node__checked');
19508
- checkeds.forEach((item) => removeClosedAndLookUp(item, scrollToValue == 0));
19509
- }
19510
- catch (err) {
19511
- console.error("Error in showSelectedNodes", err);
19512
- }
19513
- if (scrollToValue && this.scrollable) {
19514
- this.scrollable.scrollTop = scrollToValue;
19515
- }
19516
- };
19517
19581
  if (addDelay) {
19518
19582
  setTimeout(() => {
19519
- scrollToNode();
19583
+ this.scrollToNode();
19520
19584
  }, 200);
19521
19585
  }
19522
19586
  else {
19523
- scrollToNode();
19587
+ this.scrollToNode();
19588
+ }
19589
+ }
19590
+ async scrollToNodeWithId(targetNodeId, displayChildren = false) {
19591
+ const targetNode = this.loadedTreeJs.liElementsById[targetNodeId];
19592
+ if (!targetNode) {
19593
+ const contextualApiParams = this.getContextualApiParams(Object.assign(Object.assign({}, this.theOptions.options), { Reach: [targetNodeId] }), null, true);
19594
+ const contextualApiURL = this.getContextualApiURL(true, Object.assign(Object.assign({}, this.theOptions), { options: contextualApiParams }));
19595
+ this.rawDataManager.getFromClassification(contextualApiURL, contextualApiParams, document.querySelector("#hierarchized-picker-" + this.componentID + " .loader"))
19596
+ .then(data => {
19597
+ completeCurrentTreeWithTree(this.loadedTreeJs, data, this.theOptions);
19598
+ this.scrollToNode(targetNodeId, displayChildren);
19599
+ });
19524
19600
  }
19525
19601
  }
19526
19602
  showTree(focused) {
@@ -19840,7 +19916,7 @@ const HierarchizedPickerComponent = class {
19840
19916
  clickPickerModalArea(this);
19841
19917
  } }, index.h("div", { class: "loader", ref: el => {
19842
19918
  this.loader = el;
19843
- } }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}` }, index.h("search-input", { placeholder: getLanguageValue(this.optionsManager.getOptions().searchPlaceholder, this.optionsManager.getOptions().language, defaultLanguage), onInputFocus: () => focusInSearchEvent(this), onInputBlur: () => focusOutSearchEvent(this, event), onSearch: (event) => this.search(event.detail) }), index.h("ul", { id: "autocomplete-results-area" }), index.h("div", { id: 'tree-area-' + this.componentID, class: 'hierarchized-picker-tree hierarchized-picker-tree-area ' + this.pickerClass }))))) : (index.h("div", { class: 'hierarchized-picker-raw-tree-area' + (this.isDisabled ? ' readonly' : ''), onClick: event => {
19919
+ } }, index.h("div", { class: "loader-inner" }, "Loading...")), index.h("div", { class: `hierarchized-picker-modal ${!this.ready ? 'hidden' : ''}`, tabindex: "" + this.componentID }, index.h("search-input", { placeholder: getLanguageValue(this.optionsManager.getOptions().searchPlaceholder, this.optionsManager.getOptions().language, defaultLanguage), onInputFocus: () => focusInSearchEvent(this), onInputBlur: () => focusOutSearchEvent(this, event), onSearch: (event) => this.search(event.detail) }), index.h("ul", { id: "autocomplete-results-area" }), index.h("div", { id: 'tree-area-' + this.componentID, class: 'hierarchized-picker-tree hierarchized-picker-tree-area ' + this.pickerClass }))))) : (index.h("div", { class: 'hierarchized-picker-raw-tree-area' + (this.isDisabled ? ' readonly' : ''), tabindex: "" + this.componentID, onClick: event => {
19844
19920
  clickPickerModalArea(this);
19845
19921
  } }, index.h("div", { class: "loader", ref: el => {
19846
19922
  this.loader = el;
@@ -3,6 +3,10 @@ reneco-hierarchized-picker .hierarchized-picker-raw-tree-area {
3
3
  box-sizing: border-box;
4
4
  }
5
5
 
6
+ reneco-hierarchized-picker div:focus {
7
+ outline: none;
8
+ }
9
+
6
10
  reneco-hierarchized-picker .loader {
7
11
  color: var(--hpicker-theme-palette-font-color, var(--mui-palette-font-color, black)) !important;
8
12
  position: absolute;