primevue 4.2.1 → 4.2.2

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 (93) hide show
  1. package/autocomplete/AutoComplete.vue +2 -1
  2. package/autocomplete/BaseAutoComplete.vue +4 -0
  3. package/autocomplete/index.d.ts +5 -0
  4. package/autocomplete/index.mjs +6 -1
  5. package/autocomplete/index.mjs.map +1 -1
  6. package/button/Button.vue +2 -2
  7. package/button/index.d.ts +1 -1
  8. package/button/index.mjs +7 -7
  9. package/button/index.mjs.map +1 -1
  10. package/buttongroup/style/index.mjs +1 -1
  11. package/buttongroup/style/index.mjs.map +1 -1
  12. package/checkbox/index.d.ts +5 -0
  13. package/confirmpopup/ConfirmPopup.vue +1 -1
  14. package/confirmpopup/index.mjs +1 -1
  15. package/confirmpopup/index.mjs.map +1 -1
  16. package/contextmenu/ContextMenuSub.vue +1 -2
  17. package/contextmenu/index.mjs +1 -2
  18. package/contextmenu/index.mjs.map +1 -1
  19. package/datatable/style/index.mjs +1 -1
  20. package/datatable/style/index.mjs.map +1 -1
  21. package/datepicker/DatePicker.vue +6 -1
  22. package/datepicker/index.mjs +5 -1
  23. package/datepicker/index.mjs.map +1 -1
  24. package/dock/DockSub.vue +2 -3
  25. package/dock/index.mjs +1 -2
  26. package/dock/index.mjs.map +1 -1
  27. package/drawer/Drawer.vue +4 -3
  28. package/drawer/index.d.ts +10 -1
  29. package/drawer/index.mjs +5 -2
  30. package/drawer/index.mjs.map +1 -1
  31. package/drawer/style/index.mjs +8 -3
  32. package/drawer/style/index.mjs.map +1 -1
  33. package/dynamicdialog/DynamicDialog.vue +1 -0
  34. package/dynamicdialog/index.mjs +1 -0
  35. package/dynamicdialog/index.mjs.map +1 -1
  36. package/editor/Editor.vue +1 -1
  37. package/editor/index.mjs +1 -1
  38. package/editor/index.mjs.map +1 -1
  39. package/inputgroup/style/index.mjs +1 -1
  40. package/inputgroup/style/index.mjs.map +1 -1
  41. package/inputnumber/InputNumber.vue +2 -1
  42. package/inputnumber/index.mjs +2 -1
  43. package/inputnumber/index.mjs.map +1 -1
  44. package/inputotp/InputOtp.vue +2 -1
  45. package/inputotp/index.mjs +2 -1
  46. package/inputotp/index.mjs.map +1 -1
  47. package/inputtext/index.d.ts +4 -4
  48. package/listbox/Listbox.vue +19 -15
  49. package/listbox/index.d.ts +4 -0
  50. package/listbox/index.mjs +21 -18
  51. package/listbox/index.mjs.map +1 -1
  52. package/megamenu/MegaMenuSub.vue +1 -2
  53. package/megamenu/index.d.ts +1 -1
  54. package/megamenu/index.mjs +1 -2
  55. package/megamenu/index.mjs.map +1 -1
  56. package/menu/Menuitem.vue +1 -2
  57. package/menu/index.mjs +1 -2
  58. package/menu/index.mjs.map +1 -1
  59. package/menubar/MenubarSub.vue +1 -2
  60. package/menubar/index.mjs +1 -2
  61. package/menubar/index.mjs.map +1 -1
  62. package/menubar/style/index.mjs +1 -1
  63. package/menubar/style/index.mjs.map +1 -1
  64. package/metergroup/index.d.ts +1 -1
  65. package/package.json +5 -5
  66. package/paginator/style/index.mjs +1 -1
  67. package/paginator/style/index.mjs.map +1 -1
  68. package/panelmenu/PanelMenuSub.vue +1 -2
  69. package/panelmenu/index.mjs +1 -2
  70. package/panelmenu/index.mjs.map +1 -1
  71. package/panelmenu/style/index.mjs +1 -1
  72. package/panelmenu/style/index.mjs.map +1 -1
  73. package/select/Select.vue +1 -1
  74. package/select/index.mjs +1 -1
  75. package/select/index.mjs.map +1 -1
  76. package/slider/Slider.vue +8 -6
  77. package/slider/index.mjs +6 -4
  78. package/slider/index.mjs.map +1 -1
  79. package/textarea/Textarea.vue +14 -3
  80. package/textarea/index.mjs +14 -3
  81. package/textarea/index.mjs.map +1 -1
  82. package/tieredmenu/TieredMenuSub.vue +1 -2
  83. package/tieredmenu/index.mjs +1 -2
  84. package/tieredmenu/index.mjs.map +1 -1
  85. package/timeline/style/index.mjs +1 -1
  86. package/timeline/style/index.mjs.map +1 -1
  87. package/treeselect/TreeSelect.vue +4 -3
  88. package/treeselect/index.mjs +9 -8
  89. package/treeselect/index.mjs.map +1 -1
  90. package/treetable/style/index.mjs +1 -1
  91. package/treetable/style/index.mjs.map +1 -1
  92. package/umd/primevue.min.js +1 -1
  93. package/web-types.json +1 -1
@@ -2,7 +2,7 @@ import BaseStyle from '@primevue/core/base/style';
2
2
 
3
3
  var theme = function theme(_ref) {
4
4
  var dt = _ref.dt;
5
- return "\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ".concat(dt('timeline.vertical.event.content.padding'), ";\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ").concat(dt('timeline.event.connector.size'), ";\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ").concat(dt('timeline.event.min.height'), ";\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ").concat(dt('timeline.event.marker.border.width'), ";\n border-style: solid;\n border-color: ").concat(dt('timeline.event.marker.border.color'), ";\n border-radius: ").concat(dt('timeline.event.marker.border.radius'), ";\n width: ").concat(dt('timeline.event.marker.size'), ";\n height: ").concat(dt('timeline.event.marker.size'), ";\n background: ").concat(dt('timeline.event.marker.background'), ";\n}\n\n.p-timeline-event-marker::before {\n content: \" \";\n border-radius: ").concat(dt('timeline.event.marker.content.border.radius'), ";\n width: ").concat(dt('timeline.event.marker.content.size'), ";\n height:").concat(dt('timeline.event.marker.content.size'), ";\n background: ").concat(dt('timeline.event.marker.content.background'), ";\n}\n\n.p-timeline-event-marker::after {\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ").concat(dt('timeline.event.marker.border.radius'), ";\n box-shadow: ").concat(dt('timeline.event.marker.content.inset.shadow'), ";\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ").concat(dt('timeline.event.connector.color'), ";\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ").concat(dt('timeline.event.connector.size'), ";\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ").concat(dt('timeline.horizontal.event.content.padding'), ";\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n");
5
+ return "\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n direction: ltr;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ".concat(dt('timeline.vertical.event.content.padding'), ";\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ").concat(dt('timeline.event.connector.size'), ";\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ").concat(dt('timeline.event.min.height'), ";\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ").concat(dt('timeline.event.marker.border.width'), ";\n border-style: solid;\n border-color: ").concat(dt('timeline.event.marker.border.color'), ";\n border-radius: ").concat(dt('timeline.event.marker.border.radius'), ";\n width: ").concat(dt('timeline.event.marker.size'), ";\n height: ").concat(dt('timeline.event.marker.size'), ";\n background: ").concat(dt('timeline.event.marker.background'), ";\n}\n\n.p-timeline-event-marker::before {\n content: \" \";\n border-radius: ").concat(dt('timeline.event.marker.content.border.radius'), ";\n width: ").concat(dt('timeline.event.marker.content.size'), ";\n height:").concat(dt('timeline.event.marker.content.size'), ";\n background: ").concat(dt('timeline.event.marker.content.background'), ";\n}\n\n.p-timeline-event-marker::after {\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ").concat(dt('timeline.event.marker.border.radius'), ";\n box-shadow: ").concat(dt('timeline.event.marker.content.inset.shadow'), ";\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ").concat(dt('timeline.event.connector.color'), ";\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ").concat(dt('timeline.event.connector.size'), ";\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ").concat(dt('timeline.horizontal.event.content.padding'), ";\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n");
6
6
  };
7
7
  var classes = {
8
8
  root: function root(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/timeline/style/TimelineStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ${dt('timeline.vertical.event.content.padding')};\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ${dt('timeline.event.connector.size')};\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ${dt('timeline.event.min.height')};\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ${dt('timeline.event.marker.border.width')};\n border-style: solid;\n border-color: ${dt('timeline.event.marker.border.color')};\n border-radius: ${dt('timeline.event.marker.border.radius')};\n width: ${dt('timeline.event.marker.size')};\n height: ${dt('timeline.event.marker.size')};\n background: ${dt('timeline.event.marker.background')};\n}\n\n.p-timeline-event-marker::before {\n content: \" \";\n border-radius: ${dt('timeline.event.marker.content.border.radius')};\n width: ${dt('timeline.event.marker.content.size')};\n height:${dt('timeline.event.marker.content.size')};\n background: ${dt('timeline.event.marker.content.background')};\n}\n\n.p-timeline-event-marker::after {\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${dt('timeline.event.marker.border.radius')};\n box-shadow: ${dt('timeline.event.marker.content.inset.shadow')};\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ${dt('timeline.event.connector.color')};\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ${dt('timeline.event.connector.size')};\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ${dt('timeline.horizontal.event.content.padding')};\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-timeline p-component', 'p-timeline-' + props.align, 'p-timeline-' + props.layout],\n event: 'p-timeline-event',\n eventOpposite: 'p-timeline-event-opposite',\n eventSeparator: 'p-timeline-event-separator',\n eventMarker: 'p-timeline-event-marker',\n eventConnector: 'p-timeline-event-connector',\n eventContent: 'p-timeline-event-content'\n};\n\nexport default BaseStyle.extend({\n name: 'timeline',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","props","align","layout","event","eventOpposite","eventSeparator","eventMarker","eventConnector","eventContent","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;AAAA,EAAA,OAAA,qtCAAA,CAAAC,MAAA,CAiDJD,EAAE,CAAC,yCAAyC,CAAC,EAAAC,yEAAAA,CAAAA,CAAAA,MAAA,CAI/CD,EAAE,CAAC,+BAA+B,CAAC,EAAA,4FAAA,CAAA,CAAAC,MAAA,CAM9BD,EAAE,CAAC,2BAA2B,CAAC,EAAAC,sdAAAA,CAAAA,CAAAA,MAAA,CA4B7BD,EAAE,CAAC,oCAAoC,CAAC,EAAA,iDAAA,CAAA,CAAAC,MAAA,CAExCD,EAAE,CAAC,oCAAoC,CAAC,EAAAC,wBAAAA,CAAAA,CAAAA,MAAA,CACvCD,EAAE,CAAC,qCAAqC,CAAC,EAAA,gBAAA,CAAA,CAAAC,MAAA,CACjDD,EAAE,CAAC,4BAA4B,CAAC,EAAAC,iBAAAA,CAAAA,CAAAA,MAAA,CAC/BD,EAAE,CAAC,4BAA4B,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CAC5BD,EAAE,CAAC,kCAAkC,CAAC,EAAAC,sFAAAA,CAAAA,CAAAA,MAAA,CAKnCD,EAAE,CAAC,6CAA6C,CAAC,EAAA,gBAAA,CAAA,CAAAC,MAAA,CACzDD,EAAE,CAAC,oCAAoC,CAAC,EAAAC,gBAAAA,CAAAA,CAAAA,MAAA,CACxCD,EAAE,CAAC,oCAAoC,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CACnCD,EAAE,CAAC,0CAA0C,CAAC,EAAAC,mJAAAA,CAAAA,CAAAA,MAAA,CAQ3CD,EAAE,CAAC,qCAAqC,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CAC5CD,EAAE,CAAC,4CAA4C,CAAC,EAAAC,4EAAAA,CAAAA,CAAAA,MAAA,CAKhDD,EAAE,CAAC,gCAAgC,CAAC,EAAA,kZAAA,CAAA,CAAAC,MAAA,CAsBxCD,EAAE,CAAC,+BAA+B,CAAC,EAAAC,+HAAAA,CAAAA,CAAAA,MAAA,CAKlCD,EAAE,CAAC,2CAA2C,CAAC,EAAA,qNAAA,CAAA;AAAA,CAU7D;AAED,IAAME,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,KAAA,CAALC,KAAK;AAAA,IAAA,OAAO,CAAC,wBAAwB,EAAE,aAAa,GAAGA,KAAK,CAACC,KAAK,EAAE,aAAa,GAAGD,KAAK,CAACE,MAAM,CAAC;AAAA,GAAA;AAC1GC,EAAAA,KAAK,EAAE,kBAAkB;AACzBC,EAAAA,aAAa,EAAE,2BAA2B;AAC1CC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,WAAW,EAAE,yBAAyB;AACtCC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,YAAY,EAAE;AAClB,CAAC;AAED,oBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,UAAU;AAChBlB,EAAAA,KAAK,EAALA,KAAK;AACLI,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/timeline/style/TimelineStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n direction: ltr;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ${dt('timeline.vertical.event.content.padding')};\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ${dt('timeline.event.connector.size')};\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ${dt('timeline.event.min.height')};\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ${dt('timeline.event.marker.border.width')};\n border-style: solid;\n border-color: ${dt('timeline.event.marker.border.color')};\n border-radius: ${dt('timeline.event.marker.border.radius')};\n width: ${dt('timeline.event.marker.size')};\n height: ${dt('timeline.event.marker.size')};\n background: ${dt('timeline.event.marker.background')};\n}\n\n.p-timeline-event-marker::before {\n content: \" \";\n border-radius: ${dt('timeline.event.marker.content.border.radius')};\n width: ${dt('timeline.event.marker.content.size')};\n height:${dt('timeline.event.marker.content.size')};\n background: ${dt('timeline.event.marker.content.background')};\n}\n\n.p-timeline-event-marker::after {\n content: \" \";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ${dt('timeline.event.marker.border.radius')};\n box-shadow: ${dt('timeline.event.marker.content.inset.shadow')};\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ${dt('timeline.event.connector.color')};\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ${dt('timeline.event.connector.size')};\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ${dt('timeline.horizontal.event.content.padding')};\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-timeline p-component', 'p-timeline-' + props.align, 'p-timeline-' + props.layout],\n event: 'p-timeline-event',\n eventOpposite: 'p-timeline-event-opposite',\n eventSeparator: 'p-timeline-event-separator',\n eventMarker: 'p-timeline-event-marker',\n eventConnector: 'p-timeline-event-connector',\n eventContent: 'p-timeline-event-content'\n};\n\nexport default BaseStyle.extend({\n name: 'timeline',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","props","align","layout","event","eventOpposite","eventSeparator","eventMarker","eventConnector","eventContent","BaseStyle","extend","name"],"mappings":";;AAEA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;AAAA,EAAA,OAAA,0uCAAA,CAAAC,MAAA,CAkDJD,EAAE,CAAC,yCAAyC,CAAC,EAAAC,yEAAAA,CAAAA,CAAAA,MAAA,CAI/CD,EAAE,CAAC,+BAA+B,CAAC,EAAA,4FAAA,CAAA,CAAAC,MAAA,CAM9BD,EAAE,CAAC,2BAA2B,CAAC,EAAAC,sdAAAA,CAAAA,CAAAA,MAAA,CA4B7BD,EAAE,CAAC,oCAAoC,CAAC,EAAA,iDAAA,CAAA,CAAAC,MAAA,CAExCD,EAAE,CAAC,oCAAoC,CAAC,EAAAC,wBAAAA,CAAAA,CAAAA,MAAA,CACvCD,EAAE,CAAC,qCAAqC,CAAC,EAAA,gBAAA,CAAA,CAAAC,MAAA,CACjDD,EAAE,CAAC,4BAA4B,CAAC,EAAAC,iBAAAA,CAAAA,CAAAA,MAAA,CAC/BD,EAAE,CAAC,4BAA4B,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CAC5BD,EAAE,CAAC,kCAAkC,CAAC,EAAAC,sFAAAA,CAAAA,CAAAA,MAAA,CAKnCD,EAAE,CAAC,6CAA6C,CAAC,EAAA,gBAAA,CAAA,CAAAC,MAAA,CACzDD,EAAE,CAAC,oCAAoC,CAAC,EAAAC,gBAAAA,CAAAA,CAAAA,MAAA,CACxCD,EAAE,CAAC,oCAAoC,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CACnCD,EAAE,CAAC,0CAA0C,CAAC,EAAAC,mJAAAA,CAAAA,CAAAA,MAAA,CAQ3CD,EAAE,CAAC,qCAAqC,CAAC,EAAA,qBAAA,CAAA,CAAAC,MAAA,CAC5CD,EAAE,CAAC,4CAA4C,CAAC,EAAAC,4EAAAA,CAAAA,CAAAA,MAAA,CAKhDD,EAAE,CAAC,gCAAgC,CAAC,EAAA,kZAAA,CAAA,CAAAC,MAAA,CAsBxCD,EAAE,CAAC,+BAA+B,CAAC,EAAAC,+HAAAA,CAAAA,CAAAA,MAAA,CAKlCD,EAAE,CAAC,2CAA2C,CAAC,EAAA,qNAAA,CAAA;AAAA,CAU7D;AAED,IAAME,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,KAAA,CAALC,KAAK;AAAA,IAAA,OAAO,CAAC,wBAAwB,EAAE,aAAa,GAAGA,KAAK,CAACC,KAAK,EAAE,aAAa,GAAGD,KAAK,CAACE,MAAM,CAAC;AAAA,GAAA;AAC1GC,EAAAA,KAAK,EAAE,kBAAkB;AACzBC,EAAAA,aAAa,EAAE,2BAA2B;AAC1CC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,WAAW,EAAE,yBAAyB;AACtCC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,YAAY,EAAE;AAClB,CAAC;AAED,oBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,UAAU;AAChBlB,EAAAA,KAAK,EAALA,KAAK;AACLI,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
@@ -88,6 +88,7 @@
88
88
  @node-collapse="$emit('node-collapse', $event)"
89
89
  @node-select="onNodeSelect"
90
90
  @node-unselect="onNodeUnselect"
91
+ @click.stop
91
92
  :level="0"
92
93
  :unstyled="unstyled"
93
94
  :pt="ptm('pcTree')"
@@ -133,13 +134,13 @@ import { isEmpty, isNotEmpty } from '@primeuix/utils/object';
133
134
  import { ZIndex } from '@primeuix/utils/zindex';
134
135
  import { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';
135
136
  import ChevronDownIcon from '@primevue/icons/chevrondown';
137
+ import TimesIcon from '@primevue/icons/times';
136
138
  import Chip from 'primevue/chip';
137
139
  import OverlayEventBus from 'primevue/overlayeventbus';
138
140
  import Portal from 'primevue/portal';
139
141
  import Ripple from 'primevue/ripple';
140
142
  import Tree from 'primevue/tree';
141
143
  import BaseTreeSelect from './BaseTreeSelect.vue';
142
- import TimesIcon from '@primevue/icons/times';
143
144
 
144
145
  export default {
145
146
  name: 'TreeSelect',
@@ -228,14 +229,14 @@ export default {
228
229
 
229
230
  if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
230
231
  return;
231
- } else if (!this.disabled && (!this.overlay || !this.overlay.contains(event.target))) {
232
+ } else if (!this.overlay || !this.overlay.contains(event.target)) {
232
233
  if (this.overlayVisible) this.hide();
233
234
  else this.show();
234
235
 
235
236
  focus(this.$refs.focusInput);
236
237
  }
237
238
  },
238
- onClearClick(event) {
239
+ onClearClick() {
239
240
  this.onSelectionChange(null);
240
241
  },
241
242
  onSelectionChange(keys) {
@@ -3,6 +3,7 @@ import { isNotEmpty, isEmpty } from '@primeuix/utils/object';
3
3
  import { ZIndex } from '@primeuix/utils/zindex';
4
4
  import { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';
5
5
  import ChevronDownIcon from '@primevue/icons/chevrondown';
6
+ import TimesIcon from '@primevue/icons/times';
6
7
  import Chip from 'primevue/chip';
7
8
  import OverlayEventBus from 'primevue/overlayeventbus';
8
9
  import Portal from 'primevue/portal';
@@ -10,8 +11,7 @@ import Ripple from 'primevue/ripple';
10
11
  import Tree from 'primevue/tree';
11
12
  import BaseInput from '@primevue/core/baseinput';
12
13
  import TreeSelectStyle from 'primevue/treeselect/style';
13
- import TimesIcon from '@primevue/icons/times';
14
- import { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, Fragment, createTextVNode, toDisplayString, renderList, createVNode, normalizeClass, createCommentVNode, createBlock, resolveDynamicComponent, withCtx, Transition, createSlots } from 'vue';
14
+ import { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, Fragment, createTextVNode, toDisplayString, renderList, createVNode, normalizeClass, createCommentVNode, createBlock, resolveDynamicComponent, withCtx, Transition, withModifiers, createSlots } from 'vue';
15
15
 
16
16
  var script$1 = {
17
17
  name: 'BaseTreeSelect',
@@ -243,12 +243,12 @@ var script = {
243
243
  }
244
244
  if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
245
245
  return;
246
- } else if (!this.disabled && (!this.overlay || !this.overlay.contains(event.target))) {
246
+ } else if (!this.overlay || !this.overlay.contains(event.target)) {
247
247
  if (this.overlayVisible) this.hide();else this.show();
248
248
  focus(this.$refs.focusInput);
249
249
  }
250
250
  },
251
- onClearClick: function onClearClick(event) {
251
+ onClearClick: function onClearClick() {
252
252
  this.onSelectionChange(null);
253
253
  },
254
254
  onSelectionChange: function onSelectionChange(keys) {
@@ -638,7 +638,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
638
638
  ref: "container",
639
639
  "class": _ctx.cx('root'),
640
640
  style: _ctx.sx('root'),
641
- onClick: _cache[9] || (_cache[9] = function () {
641
+ onClick: _cache[10] || (_cache[10] = function () {
642
642
  return $options.onClick && $options.onClick.apply($options, arguments);
643
643
  })
644
644
  }, _ctx.ptmi('root')), [createElementVNode("div", mergeProps({
@@ -735,11 +735,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
735
735
  return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({
736
736
  key: 0,
737
737
  ref: $options.overlayRef,
738
- onClick: _cache[7] || (_cache[7] = function () {
738
+ onClick: _cache[8] || (_cache[8] = function () {
739
739
  return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);
740
740
  }),
741
741
  "class": [_ctx.cx('panel'), _ctx.panelClass],
742
- onKeydown: _cache[8] || (_cache[8] = function () {
742
+ onKeydown: _cache[9] || (_cache[9] = function () {
743
743
  return $options.onOverlayKeydown && $options.onOverlayKeydown.apply($options, arguments);
744
744
  })
745
745
  }, _objectSpread(_objectSpread({}, _ctx.panelProps), _ctx.ptm('panel'))), [createElementVNode("span", mergeProps({
@@ -787,6 +787,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
787
787
  }),
788
788
  onNodeSelect: $options.onNodeSelect,
789
789
  onNodeUnselect: $options.onNodeUnselect,
790
+ onClick: _cache[6] || (_cache[6] = withModifiers(function () {}, ["stop"])),
790
791
  level: 0,
791
792
  unstyled: _ctx.unstyled,
792
793
  pt: _ctx.ptm('pcTree')
@@ -845,7 +846,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
845
846
  role: "presentation",
846
847
  "class": "p-hidden-accessible p-hidden-focusable",
847
848
  tabindex: 0,
848
- onFocus: _cache[6] || (_cache[6] = function () {
849
+ onFocus: _cache[7] || (_cache[7] = function () {
849
850
  return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments);
850
851
  })
851
852
  }, _ctx.ptm('hiddenLastFocusableEl'), {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/treeselect/BaseTreeSelect.vue","../../src/treeselect/TreeSelect.vue","../../src/treeselect/TreeSelect.vue?vue&type=template&id=3526f04b&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport TreeSelectStyle from 'primevue/treeselect/style';\n\nexport default {\n name: 'BaseTreeSelect',\n extends: BaseInput,\n props: {\n options: Array,\n scrollHeight: {\n type: String,\n default: '20rem'\n },\n placeholder: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: null\n },\n selectionMode: {\n type: String,\n default: 'single'\n },\n selectedItemsLabel: {\n type: String,\n default: null\n },\n maxSelectedLabels: {\n type: Number,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n emptyMessage: {\n type: String,\n default: null\n },\n display: {\n type: String,\n default: 'comma'\n },\n metaKeySelection: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n showClear: {\n type: Boolean,\n default: false\n },\n clearIcon: {\n type: String,\n default: undefined\n },\n filter: {\n type: Boolean,\n default: false\n },\n filterBy: {\n type: [String, Function],\n default: 'label'\n },\n filterMode: {\n type: String,\n default: 'lenient'\n },\n filterPlaceholder: {\n type: String,\n default: null\n },\n filterLocale: {\n type: String,\n default: undefined\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n inputProps: {\n type: null,\n default: null\n },\n panelClass: {\n type: [String, Object],\n default: null\n },\n panelProps: {\n type: null,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n }\n },\n style: TreeSelectStyle,\n provide() {\n return {\n $pcTreeSelect: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"listId\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\nimport TimesIcon from '@primevue/icons/times';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n id: this.$attrs.id,\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.disabled && (!this.overlay || !this.overlay.contains(event.target))) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick(event) {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.focus();\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked(event) {\n return !(this.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options) {\n let keys = { ...this.d_value };\n\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"listId\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\nimport TimesIcon from '@primevue/icons/times';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n id: this.$attrs.id,\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.disabled && (!this.overlay || !this.overlay.contains(event.target))) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick(event) {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.focus();\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked(event) {\n return !(this.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options) {\n let keys = { ...this.d_value };\n\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseInput","props","options","Array","scrollHeight","type","String","placeholder","tabindex","Number","selectionMode","selectedItemsLabel","maxSelectedLabels","appendTo","Object","emptyMessage","display","metaKeySelection","Boolean","loading","loadingIcon","undefined","loadingMode","showClear","clearIcon","filter","filterBy","Function","filterMode","filterPlaceholder","filterLocale","inputId","inputClass","inputStyle","inputProps","panelClass","panelProps","ariaLabelledby","ariaLabel","expandedKeys","style","TreeSelectStyle","provide","$pcTreeSelect","$parentInstance","BaseTreeSelect","inheritAttrs","emits","inject","$pcFluid","data","id","$attrs","focused","overlayVisible","d_expandedKeys","watch","$attrsId","newValue","UniqueComponentId","modelValue","handler","selfChange","updateTreeState","immediate","value","outsideClickListener","resizeListener","scrollHandler","overlay","selfClick","beforeUnmount","unbindOutsideClickListener","unbindResizeListener","destroy","ZIndex","clear","mounted","methods","show","$emit","hide","$refs","focusInput","focus","onFocus","event","onBlur","_this$formField$onBlu","_this$formField","formField","call","onClick","disabled","target","tagName","getAttribute","closest","contains","onClearClick","onSelectionChange","keys","writeValue","onNodeSelect","node","onNodeUnselect","onNodeToggle","getSelectedItemsLabel","pattern","$primevue","config","locale","selectionMessage","test","replace","match","d_value","length","onFirstHiddenFocus","focusableEl","relatedTarget","getFirstFocusableElement","onLastHiddenFocus","getLastFocusableElement","onKeyDown","code","onArrowDownKey","onEnterKey","onEscapeKey","onTabKey","_this","$nextTick","treeNodeEl","find","tree","$el","focusedElement","_toConsumableArray","item","preventDefault","pressedInInputText","hasFocusableElements","firstHiddenFocusableElementOnOverlay","getFocusableElements","onOverlayEnter","el","set","zIndex","addStyle","position","top","left","alignOverlay","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","scrollValueInView","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","focusableElements","relativePosition","minWidth","getOuterWidth","absolutePosition","_this2","isOutsideClicked","document","addEventListener","removeEventListener","_this3","ConnectedOverlayScrollHandler","container","_this4","isTouchDevice","window","isSameNode","overlayRef","onOverlayClick","OverlayEventBus","emit","originalEvent","onOverlayKeydown","findSelectedNodes","selectedNodes","isSelected","push","key","children","_iterator","_createForOfIteratorHelper","_step","s","n","done","childNode","err","e","f","_iterator2","_step2","checked","_objectSpread","updateTreeBranchState","path","expandPath","_iterator3","_step3","_iterator4","_step4","_iterator5","_step5","selectedItem","findSingle","scrollIntoView","block","inline","computed","label","isNotEmpty","map","join","chipSelectedItems","emptyMessageText","emptyValue","$filled","emptyOptions","listId","hasFluid","isEmpty","fluid","isClearIconVisible","components","TSTree","Tree","Chip","Portal","ChevronDownIcon","TimesIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","sx","$options","apply","arguments","ptmi","_createElementVNode","ptm","role","readonly","$data","_cache","$event","onKeydown","_hoisted_1","_renderSlot","$slots","_Fragment","_renderList","_createVNode","_component_Chip","unstyled","pt","clearCallback","_createBlock","_resolveDynamicComponent","dropdownicon","_component_Portal","_Transition","onEnter","onAfterEnter","onLeave","onAfterLeave","_component_TSTree","selectionKeys","onNodeExpand","onNodeCollapse","level","option","fn","_withCtx","optionSlotProps","expanded","selected","itemtoggleicon","iconSlotProps","_normalizeClass","itemtogglericon","itemcheckboxicon","partialChecked"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/treeselect/BaseTreeSelect.vue","../../src/treeselect/TreeSelect.vue","../../src/treeselect/TreeSelect.vue?vue&type=template&id=4befeb92&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport TreeSelectStyle from 'primevue/treeselect/style';\n\nexport default {\n name: 'BaseTreeSelect',\n extends: BaseInput,\n props: {\n options: Array,\n scrollHeight: {\n type: String,\n default: '20rem'\n },\n placeholder: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: null\n },\n selectionMode: {\n type: String,\n default: 'single'\n },\n selectedItemsLabel: {\n type: String,\n default: null\n },\n maxSelectedLabels: {\n type: Number,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n emptyMessage: {\n type: String,\n default: null\n },\n display: {\n type: String,\n default: 'comma'\n },\n metaKeySelection: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n showClear: {\n type: Boolean,\n default: false\n },\n clearIcon: {\n type: String,\n default: undefined\n },\n filter: {\n type: Boolean,\n default: false\n },\n filterBy: {\n type: [String, Function],\n default: 'label'\n },\n filterMode: {\n type: String,\n default: 'lenient'\n },\n filterPlaceholder: {\n type: String,\n default: null\n },\n filterLocale: {\n type: String,\n default: undefined\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n inputProps: {\n type: null,\n default: null\n },\n panelClass: {\n type: [String, Object],\n default: null\n },\n panelProps: {\n type: null,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n }\n },\n style: TreeSelectStyle,\n provide() {\n return {\n $pcTreeSelect: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"listId\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n @click.stop\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport TimesIcon from '@primevue/icons/times';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n id: this.$attrs.id,\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick() {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.focus();\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked(event) {\n return !(this.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options) {\n let keys = { ...this.d_value };\n\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" :style=\"sx('root')\" @click=\"onClick\" v-bind=\"ptmi('root')\">\n <div class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenInputContainer')\" :data-p-hidden-accessible=\"true\">\n <input\n ref=\"focusInput\"\n :id=\"inputId\"\n type=\"text\"\n role=\"combobox\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n readonly\n :disabled=\"disabled\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"listId\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @keydown=\"onKeyDown($event)\"\n v-bind=\"{ ...inputProps, ...ptm('hiddenInput') }\"\n />\n </div>\n <div :class=\"cx('labelContainer')\" v-bind=\"ptm('labelContainer')\">\n <div :class=\"cx('label')\" v-bind=\"ptm('label')\">\n <slot name=\"value\" :value=\"selectedNodes\" :placeholder=\"placeholder\">\n <template v-if=\"display === 'comma'\">\n {{ label || 'empty' }}\n </template>\n <template v-else-if=\"display === 'chip'\">\n <template v-if=\"chipSelectedItems\">\n <span>{{ label }}</span>\n </template>\n <template v-else>\n <div v-for=\"node of selectedNodes\" :key=\"node.key\" :class=\"cx('chipItem')\" v-bind=\"ptm('chipItem')\">\n <Chip :class=\"cx('pcChip')\" :label=\"node.label\" :unstyled=\"unstyled\" :pt=\"ptm('pcChip')\" />\n </div>\n <template v-if=\"emptyValue\">{{ placeholder || 'empty' }}</template>\n </template>\n </template>\n </slot>\n </div>\n </div>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" :aria-expanded=\"overlayVisible\" v-bind=\"ptm('dropdown')\">\n <!-- TODO: triggericon is deprecated since v4.0 -->\n <slot :name=\"$slots.dropdownicon ? 'dropdownicon' : 'triggericon'\" :class=\"cx('dropdownIcon')\">\n <component :is=\"'ChevronDownIcon'\" :class=\"cx('dropdownIcon')\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" @click=\"onOverlayClick\" :class=\"[cx('panel'), panelClass]\" @keydown=\"onOverlayKeydown\" v-bind=\"{ ...panelProps, ...ptm('panel') }\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"options\"></slot>\n <div :class=\"cx('treeContainer')\" :style=\"{ 'max-height': scrollHeight }\" v-bind=\"ptm('treeContainer')\">\n <TSTree\n ref=\"tree\"\n :id=\"listId\"\n :value=\"options\"\n :selectionMode=\"selectionMode\"\n :loading=\"loading\"\n :loadingIcon=\"loadingIcon\"\n :loadingMode=\"loadingMode\"\n :filter=\"filter\"\n :filterBy=\"filterBy\"\n :filterMode=\"filterMode\"\n :filterPlaceholder=\"filterPlaceholder\"\n :filterLocale=\"filterLocale\"\n @update:selectionKeys=\"onSelectionChange\"\n :selectionKeys=\"d_value\"\n :expandedKeys=\"d_expandedKeys\"\n @update:expandedKeys=\"onNodeToggle\"\n :metaKeySelection=\"metaKeySelection\"\n @node-expand=\"$emit('node-expand', $event)\"\n @node-collapse=\"$emit('node-collapse', $event)\"\n @node-select=\"onNodeSelect\"\n @node-unselect=\"onNodeUnselect\"\n @click.stop\n :level=\"0\"\n :unstyled=\"unstyled\"\n :pt=\"ptm('pcTree')\"\n >\n <template v-if=\"$slots.option\" #default=\"optionSlotProps\">\n <slot name=\"option\" :node=\"optionSlotProps.node\" :expanded=\"optionSlotProps.expanded\" :selected=\"optionSlotProps.selected\" />\n </template>\n <template v-if=\"$slots.itemtoggleicon\" #toggleicon=\"iconSlotProps\">\n <slot name=\"itemtoggleicon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <!--TODO: itemtogglericon deprecated since v4.0-->\n <template v-else-if=\"$slots.itemtogglericon\" #togglericon=\"iconSlotProps\">\n <slot name=\"itemtogglericon\" :node=\"iconSlotProps.node\" :expanded=\"iconSlotProps.expanded\" :class=\"iconSlotProps.class\" />\n </template>\n <template v-if=\"$slots.itemcheckboxicon\" #checkboxicon=\"iconSlotProps\">\n <slot name=\"itemcheckboxicon\" :checked=\"iconSlotProps.checked\" :partialChecked=\"iconSlotProps.partialChecked\" :class=\"iconSlotProps.class\" />\n </template>\n </TSTree>\n <div v-if=\"emptyOptions && !loading\" :class=\"cx('emptyMessage')\" v-bind=\"ptm('emptyMessage')\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </div>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"options\"></slot>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { isEmpty, isNotEmpty } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport TimesIcon from '@primevue/icons/times';\nimport Chip from 'primevue/chip';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport Tree from 'primevue/tree';\nimport BaseTreeSelect from './BaseTreeSelect.vue';\n\nexport default {\n name: 'TreeSelect',\n extends: BaseTreeSelect,\n inheritAttrs: false,\n emits: ['before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur', 'update:expandedKeys'],\n inject: {\n $pcFluid: { default: null }\n },\n data() {\n return {\n id: this.$attrs.id,\n focused: false,\n overlayVisible: false,\n d_expandedKeys: this.expandedKeys || {}\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: {\n handler: function () {\n if (!this.selfChange) {\n this.updateTreeState();\n }\n\n this.selfChange = false;\n },\n immediate: true\n },\n options() {\n this.updateTreeState();\n },\n expandedKeys(value) {\n this.d_expandedKeys = value;\n }\n },\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n selfChange: false,\n selfClick: false,\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n this.updateTreeState();\n },\n methods: {\n show() {\n this.$emit('before-show');\n this.overlayVisible = true;\n },\n hide() {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.$refs.focusInput.focus();\n },\n onFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n this.formField.onBlur?.();\n },\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n if (this.overlayVisible) this.hide();\n else this.show();\n\n focus(this.$refs.focusInput);\n }\n },\n onClearClick() {\n this.onSelectionChange(null);\n },\n onSelectionChange(keys) {\n this.selfChange = true;\n this.writeValue(keys);\n this.$emit('change', keys);\n },\n onNodeSelect(node) {\n this.$emit('node-select', node);\n\n if (this.selectionMode === 'single') {\n this.hide();\n }\n },\n onNodeUnselect(node) {\n this.$emit('node-unselect', node);\n },\n onNodeToggle(keys) {\n this.d_expandedKeys = keys;\n\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;\n\n if (pattern.test(selectedItemsLabel)) {\n return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + '');\n }\n\n return selectedItemsLabel;\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'Space':\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (this.overlayVisible) return;\n\n this.show();\n\n this.$nextTick(() => {\n const treeNodeEl = find(this.$refs.tree.$el, '[data-pc-section=\"treeitem\"]');\n const focusedElement = [...treeNodeEl].find((item) => item.getAttribute('tabindex') === '0');\n\n focus(focusedElement);\n });\n\n event.preventDefault();\n },\n onEnterKey(event) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n },\n onEscapeKey(event) {\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n }\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.focus();\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.scrollValueInView();\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n focus() {\n let focusableElements = getFocusableElements(this.overlay);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.selfClick = false;\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked(event) {\n return !(this.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n },\n overlayRef(el) {\n this.overlay = el;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n\n this.selfClick = true;\n },\n onOverlayKeydown(event) {\n if (event.code === 'Escape') this.hide();\n },\n findSelectedNodes(node, keys, selectedNodes) {\n if (node) {\n if (this.isSelected(node, keys)) {\n selectedNodes.push(node);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n },\n isSelected(node, keys) {\n return this.selectionMode === 'checkbox' ? keys[node.key] && keys[node.key].checked : keys[node.key];\n },\n updateTreeState() {\n let keys = { ...this.d_value };\n\n if (keys && this.options) {\n this.updateTreeBranchState(null, null, keys);\n }\n },\n updateTreeBranchState(node, path, keys) {\n if (node) {\n if (this.isSelected(node, keys)) {\n this.expandPath(path);\n delete keys[node.key];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n path.push(node.key);\n this.updateTreeBranchState(childNode, path, keys);\n }\n }\n } else {\n for (let childNode of this.options) {\n this.updateTreeBranchState(childNode, [], keys);\n }\n }\n },\n expandPath(path) {\n if (path.length > 0) {\n for (let key of path) {\n this.d_expandedKeys[key] = true;\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n }\n },\n scrollValueInView() {\n if (this.overlay) {\n let selectedItem = findSingle(this.overlay, '[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n },\n computed: {\n selectedNodes() {\n let selectedNodes = [];\n\n if (this.d_value && this.options) {\n let keys = { ...this.d_value };\n\n this.findSelectedNodes(null, keys, selectedNodes);\n }\n\n return selectedNodes;\n },\n label() {\n let value = this.selectedNodes;\n let label;\n\n if (value.length) {\n if (isNotEmpty(this.maxSelectedLabels) && value.length > this.maxSelectedLabels) {\n label = this.getSelectedItemsLabel();\n } else {\n label = value.map((node) => node.label).join(', ');\n }\n } else {\n label = this.placeholder;\n }\n\n return label;\n },\n chipSelectedItems() {\n return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels;\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage;\n },\n emptyValue() {\n return !this.$filled;\n },\n emptyOptions() {\n return !this.options || this.options.length === 0;\n },\n listId() {\n return this.id + '_list';\n },\n hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n }\n },\n components: {\n TSTree: Tree,\n Chip,\n Portal,\n ChevronDownIcon,\n TimesIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseInput","props","options","Array","scrollHeight","type","String","placeholder","tabindex","Number","selectionMode","selectedItemsLabel","maxSelectedLabels","appendTo","Object","emptyMessage","display","metaKeySelection","Boolean","loading","loadingIcon","undefined","loadingMode","showClear","clearIcon","filter","filterBy","Function","filterMode","filterPlaceholder","filterLocale","inputId","inputClass","inputStyle","inputProps","panelClass","panelProps","ariaLabelledby","ariaLabel","expandedKeys","style","TreeSelectStyle","provide","$pcTreeSelect","$parentInstance","BaseTreeSelect","inheritAttrs","emits","inject","$pcFluid","data","id","$attrs","focused","overlayVisible","d_expandedKeys","watch","$attrsId","newValue","UniqueComponentId","modelValue","handler","selfChange","updateTreeState","immediate","value","outsideClickListener","resizeListener","scrollHandler","overlay","selfClick","beforeUnmount","unbindOutsideClickListener","unbindResizeListener","destroy","ZIndex","clear","mounted","methods","show","$emit","hide","$refs","focusInput","focus","onFocus","event","onBlur","_this$formField$onBlu","_this$formField","formField","call","onClick","disabled","target","tagName","getAttribute","closest","contains","onClearClick","onSelectionChange","keys","writeValue","onNodeSelect","node","onNodeUnselect","onNodeToggle","getSelectedItemsLabel","pattern","$primevue","config","locale","selectionMessage","test","replace","match","d_value","length","onFirstHiddenFocus","focusableEl","relatedTarget","getFirstFocusableElement","onLastHiddenFocus","getLastFocusableElement","onKeyDown","code","onArrowDownKey","onEnterKey","onEscapeKey","onTabKey","_this","$nextTick","treeNodeEl","find","tree","$el","focusedElement","_toConsumableArray","item","preventDefault","pressedInInputText","hasFocusableElements","firstHiddenFocusableElementOnOverlay","getFocusableElements","onOverlayEnter","el","set","zIndex","addStyle","position","top","left","alignOverlay","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","scrollValueInView","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","focusableElements","relativePosition","minWidth","getOuterWidth","absolutePosition","_this2","isOutsideClicked","document","addEventListener","removeEventListener","_this3","ConnectedOverlayScrollHandler","container","_this4","isTouchDevice","window","isSameNode","overlayRef","onOverlayClick","OverlayEventBus","emit","originalEvent","onOverlayKeydown","findSelectedNodes","selectedNodes","isSelected","push","key","children","_iterator","_createForOfIteratorHelper","_step","s","n","done","childNode","err","e","f","_iterator2","_step2","checked","_objectSpread","updateTreeBranchState","path","expandPath","_iterator3","_step3","_iterator4","_step4","_iterator5","_step5","selectedItem","findSingle","scrollIntoView","block","inline","computed","label","isNotEmpty","map","join","chipSelectedItems","emptyMessageText","emptyValue","$filled","emptyOptions","listId","hasFluid","isEmpty","fluid","isClearIconVisible","components","TSTree","Tree","Chip","Portal","ChevronDownIcon","TimesIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","sx","$options","apply","arguments","ptmi","_createElementVNode","ptm","role","readonly","$data","_cache","$event","onKeydown","_hoisted_1","_renderSlot","$slots","_Fragment","_renderList","_createVNode","_component_Chip","unstyled","pt","clearCallback","_createBlock","_resolveDynamicComponent","dropdownicon","_component_Portal","_Transition","onEnter","onAfterEnter","onLeave","onAfterLeave","_component_TSTree","selectionKeys","onNodeExpand","onNodeCollapse","level","option","fn","_withCtx","optionSlotProps","expanded","selected","itemtoggleicon","iconSlotProps","_normalizeClass","itemtogglericon","itemcheckboxicon","partialChecked"],"mappings":"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"}