primevue 3.7.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/autocomplete/AutoComplete.d.ts +1 -0
  2. package/autocomplete/AutoComplete.vue +8 -1
  3. package/autocomplete/autocomplete.cjs.js +8 -1
  4. package/autocomplete/autocomplete.cjs.min.js +1 -1
  5. package/autocomplete/autocomplete.esm.js +8 -1
  6. package/autocomplete/autocomplete.esm.min.js +1 -1
  7. package/autocomplete/autocomplete.js +8 -1
  8. package/autocomplete/autocomplete.min.js +1 -1
  9. package/blockui/BlockUI.vue +1 -1
  10. package/blockui/blockui.cjs.js +1 -1
  11. package/blockui/blockui.cjs.min.js +1 -1
  12. package/blockui/blockui.esm.js +1 -1
  13. package/blockui/blockui.esm.min.js +1 -1
  14. package/blockui/blockui.js +1 -1
  15. package/blockui/blockui.min.js +1 -1
  16. package/breadcrumb/Breadcrumb.vue +4 -0
  17. package/breadcrumb/breadcrumb.cjs.js +1 -1
  18. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  19. package/breadcrumb/breadcrumb.esm.js +1 -1
  20. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  21. package/breadcrumb/breadcrumb.js +1 -1
  22. package/breadcrumb/breadcrumb.min.js +1 -1
  23. package/confirmationservice/ConfirmationService.d.ts +3 -2
  24. package/core/core.js +7574 -0
  25. package/core/core.min.js +47 -0
  26. package/datatable/BodyCell.vue +36 -17
  27. package/datatable/ColumnFilter.vue +3 -3
  28. package/datatable/DataTable.d.ts +1 -1
  29. package/datatable/DataTable.vue +109 -69
  30. package/datatable/FooterCell.vue +2 -2
  31. package/datatable/HeaderCell.vue +2 -2
  32. package/datatable/TableBody.vue +10 -5
  33. package/datatable/TableFooter.vue +2 -1
  34. package/datatable/TableHeader.vue +3 -2
  35. package/datatable/datatable.cjs.js +192 -122
  36. package/datatable/datatable.cjs.min.js +1 -1
  37. package/datatable/datatable.esm.js +192 -122
  38. package/datatable/datatable.esm.min.js +1 -1
  39. package/datatable/datatable.js +192 -122
  40. package/datatable/datatable.min.js +1 -1
  41. package/dock/Dock.d.ts +1 -0
  42. package/dock/Dock.vue +1 -1
  43. package/dock/DockSub.vue +13 -8
  44. package/dock/dock.cjs.js +24 -10
  45. package/dock/dock.cjs.min.js +1 -1
  46. package/dock/dock.esm.js +20 -10
  47. package/dock/dock.esm.min.js +1 -1
  48. package/dock/dock.js +25 -12
  49. package/dock/dock.min.js +1 -1
  50. package/dropdown/Dropdown.vue +9 -8
  51. package/dropdown/dropdown.cjs.js +13 -11
  52. package/dropdown/dropdown.cjs.min.js +1 -1
  53. package/dropdown/dropdown.esm.js +13 -11
  54. package/dropdown/dropdown.esm.min.js +1 -1
  55. package/dropdown/dropdown.js +13 -11
  56. package/dropdown/dropdown.min.js +1 -1
  57. package/galleria/Galleria.vue +1 -0
  58. package/galleria/GalleriaContent.vue +10 -1
  59. package/galleria/galleria.cjs.js +11 -2
  60. package/galleria/galleria.cjs.min.js +1 -1
  61. package/galleria/galleria.esm.js +11 -2
  62. package/galleria/galleria.esm.min.js +1 -1
  63. package/galleria/galleria.js +11 -2
  64. package/galleria/galleria.min.js +1 -1
  65. package/inplace/Inplace.d.ts +1 -0
  66. package/inplace/Inplace.vue +12 -1
  67. package/inplace/inplace.cjs.js +13 -2
  68. package/inplace/inplace.cjs.min.js +1 -1
  69. package/inplace/inplace.esm.js +13 -2
  70. package/inplace/inplace.esm.min.js +1 -1
  71. package/inplace/inplace.js +13 -2
  72. package/inplace/inplace.min.js +1 -1
  73. package/inputnumber/InputNumber.d.ts +2 -0
  74. package/inputnumber/InputNumber.vue +84 -35
  75. package/inputnumber/inputnumber.cjs.js +84 -35
  76. package/inputnumber/inputnumber.cjs.min.js +1 -1
  77. package/inputnumber/inputnumber.esm.js +84 -35
  78. package/inputnumber/inputnumber.esm.min.js +1 -1
  79. package/inputnumber/inputnumber.js +84 -35
  80. package/inputnumber/inputnumber.min.js +1 -1
  81. package/inputswitch/InputSwitch.vue +6 -3
  82. package/inputswitch/inputswitch.cjs.js +6 -3
  83. package/inputswitch/inputswitch.cjs.min.js +1 -1
  84. package/inputswitch/inputswitch.esm.js +6 -3
  85. package/inputswitch/inputswitch.esm.min.js +1 -1
  86. package/inputswitch/inputswitch.js +6 -3
  87. package/inputswitch/inputswitch.min.js +1 -1
  88. package/knob/Knob.vue +1 -1
  89. package/knob/knob.cjs.js +1 -1
  90. package/knob/knob.esm.js +1 -1
  91. package/knob/knob.js +1 -1
  92. package/overlaypanel/OverlayPanel.d.ts +2 -0
  93. package/overlaypanel/OverlayPanel.vue +4 -1
  94. package/overlaypanel/overlaypanel.cjs.js +7 -3
  95. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  96. package/overlaypanel/overlaypanel.esm.js +7 -3
  97. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  98. package/overlaypanel/overlaypanel.js +7 -3
  99. package/overlaypanel/overlaypanel.min.js +1 -1
  100. package/package.json +1 -1
  101. package/paginator/CurrentPageReport.vue +5 -1
  102. package/paginator/JumpToPageInput.vue +1 -1
  103. package/paginator/Paginator.vue +6 -3
  104. package/paginator/paginator.cjs.js +12 -4
  105. package/paginator/paginator.cjs.min.js +1 -1
  106. package/paginator/paginator.esm.js +12 -4
  107. package/paginator/paginator.esm.min.js +1 -1
  108. package/paginator/paginator.js +12 -4
  109. package/paginator/paginator.min.js +1 -1
  110. package/panelmenu/PanelMenuSub.vue +4 -4
  111. package/panelmenu/panelmenu.cjs.js +4 -4
  112. package/panelmenu/panelmenu.cjs.min.js +1 -1
  113. package/panelmenu/panelmenu.esm.js +4 -4
  114. package/panelmenu/panelmenu.esm.min.js +1 -1
  115. package/panelmenu/panelmenu.js +4 -4
  116. package/panelmenu/panelmenu.min.js +1 -1
  117. package/resources/primevue.css +3 -0
  118. package/resources/primevue.min.css +1 -1
  119. package/resources/themes/arya-blue/theme.css +6 -1
  120. package/resources/themes/arya-green/theme.css +6 -1
  121. package/resources/themes/arya-orange/theme.css +6 -1
  122. package/resources/themes/arya-purple/theme.css +6 -1
  123. package/resources/themes/bootstrap4-dark-blue/theme.css +6 -1
  124. package/resources/themes/bootstrap4-dark-purple/theme.css +6 -1
  125. package/resources/themes/bootstrap4-light-blue/theme.css +6 -1
  126. package/resources/themes/bootstrap4-light-purple/theme.css +6 -1
  127. package/resources/themes/fluent-light/theme.css +6 -1
  128. package/resources/themes/luna-amber/theme.css +6 -1
  129. package/resources/themes/luna-blue/theme.css +6 -1
  130. package/resources/themes/luna-green/theme.css +6 -1
  131. package/resources/themes/luna-pink/theme.css +6 -1
  132. package/resources/themes/md-dark-deeppurple/theme.css +6 -1
  133. package/resources/themes/md-dark-indigo/theme.css +6 -1
  134. package/resources/themes/md-light-deeppurple/theme.css +6 -1
  135. package/resources/themes/md-light-indigo/theme.css +6 -1
  136. package/resources/themes/mdc-dark-deeppurple/theme.css +6 -1
  137. package/resources/themes/mdc-dark-indigo/theme.css +6 -1
  138. package/resources/themes/mdc-light-deeppurple/theme.css +6 -1
  139. package/resources/themes/mdc-light-indigo/theme.css +6 -1
  140. package/resources/themes/nova/theme.css +6 -1
  141. package/resources/themes/nova-accent/theme.css +6 -1
  142. package/resources/themes/nova-alt/theme.css +6 -1
  143. package/resources/themes/nova-vue/theme.css +6 -1
  144. package/resources/themes/rhea/theme.css +6 -1
  145. package/resources/themes/saga-blue/theme.css +6 -1
  146. package/resources/themes/saga-green/theme.css +6 -1
  147. package/resources/themes/saga-orange/theme.css +6 -1
  148. package/resources/themes/saga-purple/theme.css +6 -1
  149. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  150. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  151. package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  152. package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  153. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  154. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  155. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  156. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  157. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  158. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  159. package/resources/themes/tailwind-light/theme.css +5440 -0
  160. package/resources/themes/vela-blue/theme.css +6 -1
  161. package/resources/themes/vela-green/theme.css +6 -1
  162. package/resources/themes/vela-orange/theme.css +6 -1
  163. package/resources/themes/vela-purple/theme.css +6 -1
  164. package/speeddial/SpeedDial.vue +2 -1
  165. package/speeddial/speeddial.cjs.js +2 -1
  166. package/speeddial/speeddial.cjs.min.js +1 -1
  167. package/speeddial/speeddial.esm.js +2 -1
  168. package/speeddial/speeddial.esm.min.js +1 -1
  169. package/speeddial/speeddial.js +2 -1
  170. package/speeddial/speeddial.min.js +1 -1
  171. package/splitter/Splitter.vue +5 -3
  172. package/splitter/splitter.cjs.js +4 -2
  173. package/splitter/splitter.cjs.min.js +1 -1
  174. package/splitter/splitter.esm.js +5 -3
  175. package/splitter/splitter.esm.min.js +1 -1
  176. package/splitter/splitter.js +4 -2
  177. package/splitter/splitter.min.js +1 -1
  178. package/tabmenu/TabMenu.vue +4 -0
  179. package/tabmenu/tabmenu.cjs.js +1 -1
  180. package/tabmenu/tabmenu.cjs.min.js +1 -1
  181. package/tabmenu/tabmenu.esm.js +1 -1
  182. package/tabmenu/tabmenu.esm.min.js +1 -1
  183. package/tabmenu/tabmenu.js +1 -1
  184. package/tabmenu/tabmenu.min.js +1 -1
  185. package/terminal/terminal.js +1 -1
  186. package/terminal/terminal.min.js +1 -1
  187. package/tieredmenu/TieredMenuSub.vue +1 -1
  188. package/tieredmenu/tieredmenu.cjs.js +1 -1
  189. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  190. package/tieredmenu/tieredmenu.esm.js +1 -1
  191. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  192. package/tieredmenu/tieredmenu.js +1 -1
  193. package/tieredmenu/tieredmenu.min.js +1 -1
  194. package/toastservice/ToastService.d.ts +3 -2
  195. package/tooltip/tooltip.cjs.js +10 -3
  196. package/tooltip/tooltip.cjs.min.js +1 -1
  197. package/tooltip/tooltip.esm.js +10 -3
  198. package/tooltip/tooltip.esm.min.js +1 -1
  199. package/tooltip/tooltip.js +10 -3
  200. package/tooltip/tooltip.min.js +1 -1
  201. package/treetable/BodyCell.vue +2 -3
  202. package/treetable/FooterCell.vue +2 -2
  203. package/treetable/HeaderCell.vue +2 -2
  204. package/treetable/TreeTable.vue +2 -2
  205. package/treetable/TreeTableRow.vue +2 -2
  206. package/treetable/treetable.cjs.js +6 -6
  207. package/treetable/treetable.cjs.min.js +1 -1
  208. package/treetable/treetable.esm.js +7 -7
  209. package/treetable/treetable.esm.min.js +1 -1
  210. package/treetable/treetable.js +6 -6
  211. package/treetable/treetable.min.js +1 -1
  212. package/utils/Utils.d.ts +80 -0
  213. package/utils/package.json +3 -2
  214. package/utils/utils.cjs.js +126 -108
  215. package/utils/utils.cjs.min.js +1 -1
  216. package/utils/utils.esm.js +126 -108
  217. package/utils/utils.esm.min.js +1 -1
  218. package/utils/utils.js +126 -108
  219. package/utils/utils.min.js +1 -1
  220. package/vetur-attributes.json +12 -0
  221. package/vetur-tags.json +4 -1
  222. package/virtualscroller/VirtualScroller.vue +1 -1
  223. package/virtualscroller/virtualscroller.cjs.js +1 -1
  224. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  225. package/virtualscroller/virtualscroller.esm.js +1 -1
  226. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  227. package/virtualscroller/virtualscroller.js +1 -1
  228. package/virtualscroller/virtualscroller.min.js +1 -1
  229. package/web-types.json +88 -5
@@ -40,6 +40,8 @@
40
40
  --surface-overlay:#1f2d40;
41
41
  --surface-border:#304562;
42
42
  --surface-hover:rgba(255,255,255,.03);
43
+ --focus-ring: 0 0 0 1px #93cbf9;
44
+ --maskbg: rgba(0, 0, 0, 0.4);
43
45
  }
44
46
 
45
47
  * {
@@ -55,7 +57,6 @@
55
57
  .p-component-overlay {
56
58
  background-color: rgba(0, 0, 0, 0.4);
57
59
  transition-duration: 0.2s;
58
- --maskbg: rgba(0, 0, 0, 0.4);
59
60
  }
60
61
 
61
62
  .p-disabled, .p-component:disabled {
@@ -740,6 +741,7 @@
740
741
  }
741
742
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
742
743
  padding-right: 1.5rem;
744
+ margin-right: -1.5rem;
743
745
  }
744
746
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
745
747
  right: 0.5rem;
@@ -3496,6 +3498,9 @@
3496
3498
  outline-offset: 0;
3497
3499
  box-shadow: 0 0 0 1px #93cbf9;
3498
3500
  }
3501
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {
3502
+ color: rgba(255, 255, 255, 0.87);
3503
+ }
3499
3504
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
3500
3505
  background: rgba(255, 255, 255, 0.03);
3501
3506
  border-color: #304562;
@@ -40,6 +40,8 @@
40
40
  --surface-overlay:#1f2d40;
41
41
  --surface-border:#304562;
42
42
  --surface-hover:rgba(255,255,255,.03);
43
+ --focus-ring: 0 0 0 1px #a7d8a9;
44
+ --maskbg: rgba(0, 0, 0, 0.4);
43
45
  }
44
46
 
45
47
  * {
@@ -55,7 +57,6 @@
55
57
  .p-component-overlay {
56
58
  background-color: rgba(0, 0, 0, 0.4);
57
59
  transition-duration: 0.2s;
58
- --maskbg: rgba(0, 0, 0, 0.4);
59
60
  }
60
61
 
61
62
  .p-disabled, .p-component:disabled {
@@ -740,6 +741,7 @@
740
741
  }
741
742
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
742
743
  padding-right: 1.5rem;
744
+ margin-right: -1.5rem;
743
745
  }
744
746
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
745
747
  right: 0.5rem;
@@ -3496,6 +3498,9 @@
3496
3498
  outline-offset: 0;
3497
3499
  box-shadow: 0 0 0 1px #a7d8a9;
3498
3500
  }
3501
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {
3502
+ color: rgba(255, 255, 255, 0.87);
3503
+ }
3499
3504
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
3500
3505
  background: rgba(255, 255, 255, 0.03);
3501
3506
  border-color: #304562;
@@ -40,6 +40,8 @@
40
40
  --surface-overlay:#1f2d40;
41
41
  --surface-border:#304562;
42
42
  --surface-hover:rgba(255,255,255,.03);
43
+ --focus-ring: 0 0 0 1px #ffe284;
44
+ --maskbg: rgba(0, 0, 0, 0.4);
43
45
  }
44
46
 
45
47
  * {
@@ -55,7 +57,6 @@
55
57
  .p-component-overlay {
56
58
  background-color: rgba(0, 0, 0, 0.4);
57
59
  transition-duration: 0.2s;
58
- --maskbg: rgba(0, 0, 0, 0.4);
59
60
  }
60
61
 
61
62
  .p-disabled, .p-component:disabled {
@@ -740,6 +741,7 @@
740
741
  }
741
742
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
742
743
  padding-right: 1.5rem;
744
+ margin-right: -1.5rem;
743
745
  }
744
746
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
745
747
  right: 0.5rem;
@@ -3496,6 +3498,9 @@
3496
3498
  outline-offset: 0;
3497
3499
  box-shadow: 0 0 0 1px #ffe284;
3498
3500
  }
3501
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {
3502
+ color: rgba(255, 255, 255, 0.87);
3503
+ }
3499
3504
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
3500
3505
  background: rgba(255, 255, 255, 0.03);
3501
3506
  border-color: #304562;
@@ -40,6 +40,8 @@
40
40
  --surface-overlay:#1f2d40;
41
41
  --surface-border:#304562;
42
42
  --surface-hover:rgba(255,255,255,.03);
43
+ --focus-ring: 0 0 0 1px #cf95d9;
44
+ --maskbg: rgba(0, 0, 0, 0.4);
43
45
  }
44
46
 
45
47
  * {
@@ -55,7 +57,6 @@
55
57
  .p-component-overlay {
56
58
  background-color: rgba(0, 0, 0, 0.4);
57
59
  transition-duration: 0.2s;
58
- --maskbg: rgba(0, 0, 0, 0.4);
59
60
  }
60
61
 
61
62
  .p-disabled, .p-component:disabled {
@@ -740,6 +741,7 @@
740
741
  }
741
742
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
742
743
  padding-right: 1.5rem;
744
+ margin-right: -1.5rem;
743
745
  }
744
746
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
745
747
  right: 0.5rem;
@@ -3496,6 +3498,9 @@
3496
3498
  outline-offset: 0;
3497
3499
  box-shadow: 0 0 0 1px #cf95d9;
3498
3500
  }
3501
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {
3502
+ color: rgba(255, 255, 255, 0.87);
3503
+ }
3499
3504
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
3500
3505
  background: rgba(255, 255, 255, 0.03);
3501
3506
  border-color: #304562;
@@ -27,6 +27,7 @@ import {DomHandler} from 'primevue/utils';
27
27
 
28
28
  export default {
29
29
  name: 'SpeedDial',
30
+ emits: ['click', 'show', 'hide'],
30
31
  props: {
31
32
  model: null,
32
33
  visible: {
@@ -109,7 +110,7 @@ export default {
109
110
  }
110
111
  },
111
112
  beforeMount() {
112
- this.bindDocumentClickListener();
113
+ this.unbindDocumentClickListener();
113
114
  },
114
115
  methods: {
115
116
  onItemClick(e, item) {
@@ -12,6 +12,7 @@ var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
12
12
 
13
13
  var script = {
14
14
  name: 'SpeedDial',
15
+ emits: ['click', 'show', 'hide'],
15
16
  props: {
16
17
  model: null,
17
18
  visible: {
@@ -94,7 +95,7 @@ var script = {
94
95
  }
95
96
  },
96
97
  beforeMount() {
97
- this.bindDocumentClickListener();
98
+ this.unbindDocumentClickListener();
98
99
  },
99
100
  methods: {
100
101
  onItemClick(e, item) {
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/button"),i=require("primevue/ripple"),t=require("primevue/utils"),n=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(e),l=s(i),r={name:"SpeedDial",props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.DomHandler.findSingle(this.container,".p-speeddial-button"),i=t.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.bindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:o,bottom:l};if("down"===i)return{left:o,top:l};if("left"===i)return{right:l,top:o};if("right"===i)return{left:l,top:o}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:o,bottom:l};if("up-right"===i)return{left:o,bottom:l};if("down-left"===i)return{right:l,top:o};if("down-right"===i)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:o.default},directives:{ripple:l.default}};!function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),r.render=function(e,i,t,s,o,l){const r=n.resolveComponent("SDButton"),a=n.resolveDirective("tooltip"),c=n.resolveDirective("ripple");return n.openBlock(),n.createBlock(n.Fragment,null,[n.createVNode("div",{ref:l.containerRef,class:l.containerClass,style:t.style},[n.renderSlot(e.$slots,"button",{toggle:l.onClick},(()=>[n.createVNode(r,{type:"button",class:l.buttonClassName,icon:l.iconClassName,onClick:i[1]||(i[1]=e=>l.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),n.createVNode("ul",{ref:l.listRef,class:"p-speeddial-list",role:"menu"},[(n.openBlock(!0),n.createBlock(n.Fragment,null,n.renderList(t.model,((i,s)=>(n.openBlock(),n.createBlock("li",{key:s,class:"p-speeddial-item",style:l.getItemStyle(s),role:"none"},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:i},null,8,["item"])):n.withDirectives((n.openBlock(),n.createBlock("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>l.onItemClick(e,i)},[i.icon?(n.openBlock(),n.createBlock("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):n.createCommentVNode("",!0)],10,["href","target","onClick"])),[[a,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[c]])],4)))),128))],512)],6),t.mask?(n.openBlock(),n.createBlock("div",{key:0,class:l.maskClassName,style:t.maskStyle},null,6)):n.createCommentVNode("",!0)],64)},module.exports=r;
1
+ "use strict";var e=require("primevue/button"),i=require("primevue/ripple"),t=require("primevue/utils"),n=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(e),l=s(i),r={name:"SpeedDial",emits:["click","show","hide"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.DomHandler.findSingle(this.container,".p-speeddial-button"),i=t.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:o,bottom:l};if("down"===i)return{left:o,top:l};if("left"===i)return{right:l,top:o};if("right"===i)return{left:l,top:o}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:o,bottom:l};if("up-right"===i)return{left:o,bottom:l};if("down-left"===i)return{right:l,top:o};if("down-right"===i)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:o.default},directives:{ripple:l.default}};!function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),r.render=function(e,i,t,s,o,l){const r=n.resolveComponent("SDButton"),a=n.resolveDirective("tooltip"),c=n.resolveDirective("ripple");return n.openBlock(),n.createBlock(n.Fragment,null,[n.createVNode("div",{ref:l.containerRef,class:l.containerClass,style:t.style},[n.renderSlot(e.$slots,"button",{toggle:l.onClick},(()=>[n.createVNode(r,{type:"button",class:l.buttonClassName,icon:l.iconClassName,onClick:i[1]||(i[1]=e=>l.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),n.createVNode("ul",{ref:l.listRef,class:"p-speeddial-list",role:"menu"},[(n.openBlock(!0),n.createBlock(n.Fragment,null,n.renderList(t.model,((i,s)=>(n.openBlock(),n.createBlock("li",{key:s,class:"p-speeddial-item",style:l.getItemStyle(s),role:"none"},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:i},null,8,["item"])):n.withDirectives((n.openBlock(),n.createBlock("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>l.onItemClick(e,i)},[i.icon?(n.openBlock(),n.createBlock("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):n.createCommentVNode("",!0)],10,["href","target","onClick"])),[[a,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[c]])],4)))),128))],512)],6),t.mask?(n.openBlock(),n.createBlock("div",{key:0,class:l.maskClassName,style:t.maskStyle},null,6)):n.createCommentVNode("",!0)],64)},module.exports=r;
@@ -5,6 +5,7 @@ import { resolveComponent, resolveDirective, openBlock, createBlock, Fragment, c
5
5
 
6
6
  var script = {
7
7
  name: 'SpeedDial',
8
+ emits: ['click', 'show', 'hide'],
8
9
  props: {
9
10
  model: null,
10
11
  visible: {
@@ -87,7 +88,7 @@ var script = {
87
88
  }
88
89
  },
89
90
  beforeMount() {
90
- this.bindDocumentClickListener();
91
+ this.unbindDocumentClickListener();
91
92
  },
92
93
  methods: {
93
94
  onItemClick(e, item) {
@@ -1 +1 @@
1
- import e from"primevue/button";import i from"primevue/ripple";import{DomHandler as t}from"primevue/utils";import{resolveComponent as n,resolveDirective as s,openBlock as l,createBlock as o,Fragment as r,createVNode as a,renderSlot as c,renderList as d,withDirectives as p,createCommentVNode as m,resolveDynamicComponent as b}from"vue";var u={name:"SpeedDial",props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.findSingle(this.container,".p-speeddial-button"),i=t.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.bindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),l=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,o=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:l,bottom:o};if("down"===i)return{left:l,top:o};if("left"===i)return{right:o,top:l};if("right"===i)return{left:o,top:l}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),l=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,o=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:l,bottom:o};if("up-right"===i)return{left:l,bottom:o};if("down-left"===i)return{right:o,top:l};if("down-right"===i)return{left:o,top:l}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:e},directives:{ripple:i}};!function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),u.render=function(e,i,t,u,f,h){const k=n("SDButton"),x=s("tooltip"),y=s("ripple");return l(),o(r,null,[a("div",{ref:h.containerRef,class:h.containerClass,style:t.style},[c(e.$slots,"button",{toggle:h.onClick},(()=>[a(k,{type:"button",class:h.buttonClassName,icon:h.iconClassName,onClick:i[1]||(i[1]=e=>h.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),a("ul",{ref:h.listRef,class:"p-speeddial-list",role:"menu"},[(l(!0),o(r,null,d(t.model,((i,n)=>(l(),o("li",{key:n,class:"p-speeddial-item",style:h.getItemStyle(n),role:"none"},[e.$slots.item?(l(),o(b(e.$slots.item),{key:1,item:i},null,8,["item"])):p((l(),o("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>h.onItemClick(e,i)},[i.icon?(l(),o("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):m("",!0)],10,["href","target","onClick"])),[[x,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[y]])],4)))),128))],512)],6),t.mask?(l(),o("div",{key:0,class:h.maskClassName,style:t.maskStyle},null,6)):m("",!0)],64)};export default u;
1
+ import e from"primevue/button";import i from"primevue/ripple";import{DomHandler as t}from"primevue/utils";import{resolveComponent as n,resolveDirective as s,openBlock as l,createBlock as o,Fragment as r,createVNode as a,renderSlot as c,renderList as d,withDirectives as p,createCommentVNode as m,resolveDynamicComponent as b}from"vue";var u={name:"SpeedDial",emits:["click","show","hide"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.findSingle(this.container,".p-speeddial-button"),i=t.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),l=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,o=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:l,bottom:o};if("down"===i)return{left:l,top:o};if("left"===i)return{right:o,top:l};if("right"===i)return{left:o,top:l}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),l=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,o=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:l,bottom:o};if("up-right"===i)return{left:l,bottom:o};if("down-left"===i)return{right:o,top:l};if("down-right"===i)return{left:o,top:l}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:e},directives:{ripple:i}};!function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),u.render=function(e,i,t,u,f,h){const k=n("SDButton"),x=s("tooltip"),y=s("ripple");return l(),o(r,null,[a("div",{ref:h.containerRef,class:h.containerClass,style:t.style},[c(e.$slots,"button",{toggle:h.onClick},(()=>[a(k,{type:"button",class:h.buttonClassName,icon:h.iconClassName,onClick:i[1]||(i[1]=e=>h.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),a("ul",{ref:h.listRef,class:"p-speeddial-list",role:"menu"},[(l(!0),o(r,null,d(t.model,((i,n)=>(l(),o("li",{key:n,class:"p-speeddial-item",style:h.getItemStyle(n),role:"none"},[e.$slots.item?(l(),o(b(e.$slots.item),{key:1,item:i},null,8,["item"])):p((l(),o("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>h.onItemClick(e,i)},[i.icon?(l(),o("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):m("",!0)],10,["href","target","onClick"])),[[x,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[y]])],4)))),128))],512)],6),t.mask?(l(),o("div",{key:0,class:h.maskClassName,style:t.maskStyle},null,6)):m("",!0)],64)};export default u;
@@ -9,6 +9,7 @@ this.primevue.speeddial = (function (Button, Ripple, utils, vue) {
9
9
 
10
10
  var script = {
11
11
  name: 'SpeedDial',
12
+ emits: ['click', 'show', 'hide'],
12
13
  props: {
13
14
  model: null,
14
15
  visible: {
@@ -91,7 +92,7 @@ this.primevue.speeddial = (function (Button, Ripple, utils, vue) {
91
92
  }
92
93
  },
93
94
  beforeMount() {
94
- this.bindDocumentClickListener();
95
+ this.unbindDocumentClickListener();
95
96
  },
96
97
  methods: {
97
98
  onItemClick(e, item) {
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.speeddial=function(e,i,t,n){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(e),l=s(i),r={name:"SpeedDial",props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.DomHandler.findSingle(this.container,".p-speeddial-button"),i=t.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.bindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:o,bottom:l};if("down"===i)return{left:o,top:l};if("left"===i)return{right:l,top:o};if("right"===i)return{left:l,top:o}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:o,bottom:l};if("up-right"===i)return{left:o,bottom:l};if("down-left"===i)return{right:l,top:o};if("down-right"===i)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:o.default},directives:{ripple:l.default}};return function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),r.render=function(e,i,t,s,o,l){const r=n.resolveComponent("SDButton"),a=n.resolveDirective("tooltip"),c=n.resolveDirective("ripple");return n.openBlock(),n.createBlock(n.Fragment,null,[n.createVNode("div",{ref:l.containerRef,class:l.containerClass,style:t.style},[n.renderSlot(e.$slots,"button",{toggle:l.onClick},(()=>[n.createVNode(r,{type:"button",class:l.buttonClassName,icon:l.iconClassName,onClick:i[1]||(i[1]=e=>l.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),n.createVNode("ul",{ref:l.listRef,class:"p-speeddial-list",role:"menu"},[(n.openBlock(!0),n.createBlock(n.Fragment,null,n.renderList(t.model,((i,s)=>(n.openBlock(),n.createBlock("li",{key:s,class:"p-speeddial-item",style:l.getItemStyle(s),role:"none"},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:i},null,8,["item"])):n.withDirectives((n.openBlock(),n.createBlock("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>l.onItemClick(e,i)},[i.icon?(n.openBlock(),n.createBlock("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):n.createCommentVNode("",!0)],10,["href","target","onClick"])),[[a,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[c]])],4)))),128))],512)],6),t.mask?(n.openBlock(),n.createBlock("div",{key:0,class:l.maskClassName,style:t.maskStyle},null,6)):n.createCommentVNode("",!0)],64)},r}(primevue.button,primevue.ripple,primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.speeddial=function(e,i,t,n){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=s(e),l=s(i),r={name:"SpeedDial",emits:["click","show","hide"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:"pi pi-plus"},hideIcon:null,rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null},documentClickListener:null,container:null,list:null,data(){return{d_visible:this.visible,isItemClicked:!1}},watch:{visible(e){this.d_visible=e}},mounted(){if("linear"!==this.type){const e=t.DomHandler.findSingle(this.container,".p-speeddial-button"),i=t.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&i){const t=Math.abs(e.offsetWidth-i.offsetWidth),n=Math.abs(e.offsetHeight-i.offsetHeight);this.list.style.setProperty("--item-diff-x",t/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{onItemClick(e,i){i.command&&i.command({originalEvent:e,item:i}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const i=this.model.length;return(this.d_visible?e:i-e-1)*this.transitionDelay},calculatePointStyle(e){const i=this.type;if("linear"!==i){const t=this.model.length,n=this.radius||20*t;if("circle"===i){const i=2*Math.PI/t;return{left:`calc(${n*Math.cos(i*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(i*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===i){const i=this.direction,s=Math.PI/(t-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===i)return{left:o,bottom:l};if("down"===i)return{left:o,top:l};if("left"===i)return{right:l,top:o};if("right"===i)return{left:l,top:o}}else if("quarter-circle"===i){const i=this.direction,s=Math.PI/(2*(t-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===i)return{right:o,bottom:l};if("up-right"===i)return{left:o,bottom:l};if("down-left"===i)return{right:l,top:o};if("down-right"===i)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},containerRef(e){this.container=e},listRef(e){this.list=e}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},iconClassName(){return this.d_visible&&this.hideIcon?this.hideIcon:this.showIcon},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]}},components:{SDButton:o.default},directives:{ripple:l.default}};return function(e,i){void 0===i&&(i={});var t=i.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===t&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-transition: top 0s linear 0.2s;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n}\n.p-speeddial-item {\n -webkit-transform: scale(0);\n transform: scale(0);\n opacity: 0;\n -webkit-transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s, -webkit-transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n -webkit-transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n"),r.render=function(e,i,t,s,o,l){const r=n.resolveComponent("SDButton"),a=n.resolveDirective("tooltip"),c=n.resolveDirective("ripple");return n.openBlock(),n.createBlock(n.Fragment,null,[n.createVNode("div",{ref:l.containerRef,class:l.containerClass,style:t.style},[n.renderSlot(e.$slots,"button",{toggle:l.onClick},(()=>[n.createVNode(r,{type:"button",class:l.buttonClassName,icon:l.iconClassName,onClick:i[1]||(i[1]=e=>l.onClick(e)),disabled:t.disabled},null,8,["class","icon","disabled"])])),n.createVNode("ul",{ref:l.listRef,class:"p-speeddial-list",role:"menu"},[(n.openBlock(!0),n.createBlock(n.Fragment,null,n.renderList(t.model,((i,s)=>(n.openBlock(),n.createBlock("li",{key:s,class:"p-speeddial-item",style:l.getItemStyle(s),role:"none"},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:i},null,8,["item"])):n.withDirectives((n.openBlock(),n.createBlock("a",{key:0,href:i.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":i.disabled}],target:i.target,onClick:e=>l.onItemClick(e,i)},[i.icon?(n.openBlock(),n.createBlock("span",{key:0,class:["p-speeddial-action-icon",i.icon]},null,2)):n.createCommentVNode("",!0)],10,["href","target","onClick"])),[[a,{value:i.label,disabled:!t.tooltipOptions},t.tooltipOptions],[c]])],4)))),128))],512)],6),t.mask?(n.openBlock(),n.createBlock("div",{key:0,class:l.maskClassName,style:t.maskStyle},null,6)):n.createCommentVNode("",!0)],64)},r}(primevue.button,primevue.ripple,primevue.utils,Vue);
@@ -14,7 +14,7 @@
14
14
  </template>
15
15
 
16
16
  <script>
17
- import {DomHandler} from 'primevue/utils';
17
+ import {DomHandler,ObjectUtils} from 'primevue/utils';
18
18
 
19
19
  export default {
20
20
  name: 'Splitter',
@@ -150,11 +150,13 @@ export default {
150
150
  }
151
151
  },
152
152
  validateResize(newPrevPanelSize, newNextPanelSize) {
153
- if (this.panels[0].props && this.panels[0].props.minSize && this.panels[0].props.minSize > newPrevPanelSize) {
153
+ let prevPanelMinSize = ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
154
+ if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
154
155
  return false;
155
156
  }
156
157
 
157
- if (this.panels[1].props && this.panels[1].props.minSize && this.panels[1].props.minSize > newNextPanelSize) {
158
+ let newPanelMinSize = ObjectUtils.getVNodeProp(this.panels[1], 'minSize');
159
+ if (this.panels[1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {
158
160
  return false;
159
161
  }
160
162
 
@@ -137,11 +137,13 @@ var script = {
137
137
  }
138
138
  },
139
139
  validateResize(newPrevPanelSize, newNextPanelSize) {
140
- if (this.panels[0].props && this.panels[0].props.minSize && this.panels[0].props.minSize > newPrevPanelSize) {
140
+ let prevPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
141
+ if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
141
142
  return false;
142
143
  }
143
144
 
144
- if (this.panels[1].props && this.panels[1].props.minSize && this.panels[1].props.minSize > newNextPanelSize) {
145
+ let newPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[1], 'minSize');
146
+ if (this.panels[1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {
145
147
  return false;
146
148
  }
147
149
 
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/utils"),t=require("vue"),s={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),s=[];this.panels.map(((e,n)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;s[n]=i,t[n].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=s}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,s){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=s,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let s=this.prevPanelSize+t,n=this.nextPanelSize-t;this.validateResize(s,n)&&(this.prevPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=s,this.panelSizes[this.prevPanelIndex+1]=n)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(e,t){return!(this.panels[0].props&&this.panels[0].props.minSize&&this.panels[0].props.minSize>e)&&!(this.panels[1].props&&this.panels[1].props.minSize&&this.panels[1].props.minSize>t)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const n=t.createVNode("div",{class:"p-splitter-gutter-handle"},null,-1);!function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===s&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),s.render=function(e,s,i,l,r,o){return t.openBlock(),t.createBlock("div",{class:o.containerClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(o.panels,((e,s)=>(t.openBlock(),t.createBlock(t.Fragment,{key:s},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),s!==o.panels.length-1?(t.openBlock(),t.createBlock("div",{key:0,class:"p-splitter-gutter",style:o.gutterStyle,onMousedown:e=>o.onGutterMouseDown(e,s),onTouchstart:e=>o.onGutterTouchStart(e,s),onTouchmove:e=>o.onGutterTouchMove(e,s),onTouchend:e=>o.onGutterTouchEnd(e,s)},[n],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):t.createCommentVNode("",!0)],64)))),128))],2)},module.exports=s;
1
+ "use strict";var e=require("primevue/utils"),t=require("vue"),n={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),n=[];this.panels.map(((e,s)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;n[s]=i,t[s].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=n}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,n){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=n,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let n=this.prevPanelSize+t,s=this.nextPanelSize-t;this.validateResize(n,s)&&(this.prevPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=n,this.panelSizes[this.prevPanelIndex+1]=s)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(t,n){let s=e.ObjectUtils.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&s&&s>t)return!1;let i=e.ObjectUtils.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>n)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const s=t.createVNode("div",{class:"p-splitter-gutter-handle"},null,-1);!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),n.render=function(e,n,i,l,r,o){return t.openBlock(),t.createBlock("div",{class:o.containerClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(o.panels,((e,n)=>(t.openBlock(),t.createBlock(t.Fragment,{key:n},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),n!==o.panels.length-1?(t.openBlock(),t.createBlock("div",{key:0,class:"p-splitter-gutter",style:o.gutterStyle,onMousedown:e=>o.onGutterMouseDown(e,n),onTouchstart:e=>o.onGutterTouchStart(e,n),onTouchmove:e=>o.onGutterTouchMove(e,n),onTouchend:e=>o.onGutterTouchEnd(e,n)},[s],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):t.createCommentVNode("",!0)],64)))),128))],2)},module.exports=n;
@@ -1,4 +1,4 @@
1
- import { DomHandler } from 'primevue/utils';
1
+ import { DomHandler, ObjectUtils } from 'primevue/utils';
2
2
  import { openBlock, createBlock, Fragment, renderList, resolveDynamicComponent, createCommentVNode, createVNode } from 'vue';
3
3
 
4
4
  var script = {
@@ -135,11 +135,13 @@ var script = {
135
135
  }
136
136
  },
137
137
  validateResize(newPrevPanelSize, newNextPanelSize) {
138
- if (this.panels[0].props && this.panels[0].props.minSize && this.panels[0].props.minSize > newPrevPanelSize) {
138
+ let prevPanelMinSize = ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
139
+ if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
139
140
  return false;
140
141
  }
141
142
 
142
- if (this.panels[1].props && this.panels[1].props.minSize && this.panels[1].props.minSize > newNextPanelSize) {
143
+ let newPanelMinSize = ObjectUtils.getVNodeProp(this.panels[1], 'minSize');
144
+ if (this.panels[1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {
143
145
  return false;
144
146
  }
145
147
 
@@ -1 +1 @@
1
- import{DomHandler as e}from"primevue/utils";import{openBlock as t,createBlock as s,Fragment as n,renderList as i,resolveDynamicComponent as l,createCommentVNode as r,createVNode as o}from"vue";var a={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))),s=[];this.panels.map(((e,n)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;s[n]=i,t[n].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=s}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,s){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.getWidth(this.$el):e.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.getOuterWidth(this.prevPanelElement,!0):e.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.getOuterWidth(this.nextPanelElement,!0):e.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=s,e.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let s=this.prevPanelSize+t,n=this.nextPanelSize-t;this.validateResize(s,n)&&(this.prevPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=s,this.panelSizes[this.prevPanelIndex+1]=n)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(e,t){return!(this.panels[0].props&&this.panels[0].props.minSize&&this.panels[0].props.minSize>e)&&!(this.panels[1].props&&this.panels[1].props.minSize&&this.panels[1].props.minSize>t)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const p=o("div",{class:"p-splitter-gutter-handle"},null,-1);!function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===s&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),a.render=function(e,o,a,h,u,d){return t(),s("div",{class:d.containerClass},[(t(!0),s(n,null,i(d.panels,((e,i)=>(t(),s(n,{key:i},[(t(),s(l(e))),i!==d.panels.length-1?(t(),s("div",{key:0,class:"p-splitter-gutter",style:d.gutterStyle,onMousedown:e=>d.onGutterMouseDown(e,i),onTouchstart:e=>d.onGutterTouchStart(e,i),onTouchmove:e=>d.onGutterTouchMove(e,i),onTouchend:e=>d.onGutterTouchEnd(e,i)},[p],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):r("",!0)],64)))),128))],2)};export default a;
1
+ import{DomHandler as e,ObjectUtils as t}from"primevue/utils";import{openBlock as s,createBlock as n,Fragment as i,renderList as l,resolveDynamicComponent as r,createCommentVNode as o,createVNode as a}from"vue";var h={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))),s=[];this.panels.map(((e,n)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;s[n]=i,t[n].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=s}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,s){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.getWidth(this.$el):e.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.getOuterWidth(this.prevPanelElement,!0):e.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.getOuterWidth(this.nextPanelElement,!0):e.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=s,e.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let s=this.prevPanelSize+t,n=this.nextPanelSize-t;this.validateResize(s,n)&&(this.prevPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=s,this.panelSizes[this.prevPanelIndex+1]=n)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(e,s){let n=t.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&n&&n>e)return!1;let i=t.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>s)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const p=a("div",{class:"p-splitter-gutter-handle"},null,-1);!function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===s&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),h.render=function(e,t,a,h,u,d){return s(),n("div",{class:d.containerClass},[(s(!0),n(i,null,l(d.panels,((e,t)=>(s(),n(i,{key:t},[(s(),n(r(e))),t!==d.panels.length-1?(s(),n("div",{key:0,class:"p-splitter-gutter",style:d.gutterStyle,onMousedown:e=>d.onGutterMouseDown(e,t),onTouchstart:e=>d.onGutterTouchStart(e,t),onTouchmove:e=>d.onGutterTouchMove(e,t),onTouchend:e=>d.onGutterTouchEnd(e,t)},[p],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):o("",!0)],64)))),128))],2)};export default h;
@@ -136,11 +136,13 @@ this.primevue.splitter = (function (utils, vue) {
136
136
  }
137
137
  },
138
138
  validateResize(newPrevPanelSize, newNextPanelSize) {
139
- if (this.panels[0].props && this.panels[0].props.minSize && this.panels[0].props.minSize > newPrevPanelSize) {
139
+ let prevPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
140
+ if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
140
141
  return false;
141
142
  }
142
143
 
143
- if (this.panels[1].props && this.panels[1].props.minSize && this.panels[1].props.minSize > newNextPanelSize) {
144
+ let newPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[1], 'minSize');
145
+ if (this.panels[1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {
144
146
  return false;
145
147
  }
146
148
 
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.splitter=function(e,t){"use strict";var s={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),s=[];this.panels.map(((e,n)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;s[n]=i,t[n].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=s}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,s){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=s,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let s=this.prevPanelSize+t,n=this.nextPanelSize-t;this.validateResize(s,n)&&(this.prevPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=s,this.panelSizes[this.prevPanelIndex+1]=n)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(e,t){return!(this.panels[0].props&&this.panels[0].props.minSize&&this.panels[0].props.minSize>e)&&!(this.panels[1].props&&this.panels[1].props.minSize&&this.panels[1].props.minSize>t)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const n=t.createVNode("div",{class:"p-splitter-gutter-handle"},null,-1);return function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===s&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),s.render=function(e,s,i,l,r,o){return t.openBlock(),t.createBlock("div",{class:o.containerClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(o.panels,((e,s)=>(t.openBlock(),t.createBlock(t.Fragment,{key:s},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),s!==o.panels.length-1?(t.openBlock(),t.createBlock("div",{key:0,class:"p-splitter-gutter",style:o.gutterStyle,onMousedown:e=>o.onGutterMouseDown(e,s),onTouchstart:e=>o.onGutterTouchStart(e,s),onTouchmove:e=>o.onGutterTouchMove(e,s),onTouchend:e=>o.onGutterTouchEnd(e,s)},[n],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):t.createCommentVNode("",!0)],64)))),128))],2)},s}(primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.splitter=function(e,t){"use strict";var n={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),n=[];this.panels.map(((e,s)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;n[s]=i,t[s].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=n}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,n){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=n,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let n=this.prevPanelSize+t,s=this.nextPanelSize-t;this.validateResize(n,s)&&(this.prevPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=n,this.panelSizes[this.prevPanelIndex+1]=s)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(t,n){let s=e.ObjectUtils.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&s&&s>t)return!1;let i=e.ObjectUtils.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>n)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children.length>0&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const s=t.createVNode("div",{class:"p-splitter-gutter-handle"},null,-1);return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),n.render=function(e,n,i,l,r,o){return t.openBlock(),t.createBlock("div",{class:o.containerClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(o.panels,((e,n)=>(t.openBlock(),t.createBlock(t.Fragment,{key:n},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),n!==o.panels.length-1?(t.openBlock(),t.createBlock("div",{key:0,class:"p-splitter-gutter",style:o.gutterStyle,onMousedown:e=>o.onGutterMouseDown(e,n),onTouchstart:e=>o.onGutterTouchStart(e,n),onTouchmove:e=>o.onGutterTouchMove(e,n),onTouchend:e=>o.onGutterTouchEnd(e,n)},[s],44,["onMousedown","onTouchstart","onTouchmove","onTouchend"])):t.createCommentVNode("",!0)],64)))),128))],2)},n}(primevue.utils,Vue);
@@ -181,4 +181,8 @@ export default {
181
181
  display: none;
182
182
  z-index: 1;
183
183
  }
184
+
185
+ .p-tabmenu::-webkit-scrollbar {
186
+ display: none;
187
+ }
184
188
  </style>
@@ -250,7 +250,7 @@ function styleInject(css, ref) {
250
250
  }
251
251
  }
252
252
 
253
- var css_248z = "\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n";
253
+ var css_248z = "\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n";
254
254
  styleInject(css_248z);
255
255
 
256
256
  script.render = render;