primevue 3.15.0 → 3.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/autocomplete/AutoComplete.d.ts +182 -38
  2. package/autocomplete/AutoComplete.vue +636 -342
  3. package/autocomplete/autocomplete.cjs.js +745 -416
  4. package/autocomplete/autocomplete.cjs.min.js +1 -1
  5. package/autocomplete/autocomplete.esm.js +747 -418
  6. package/autocomplete/autocomplete.esm.min.js +1 -1
  7. package/autocomplete/autocomplete.js +745 -416
  8. package/autocomplete/autocomplete.min.js +1 -1
  9. package/button/Button.vue +4 -1
  10. package/button/button.cjs.js +5 -1
  11. package/button/button.cjs.min.js +1 -1
  12. package/button/button.esm.js +5 -1
  13. package/button/button.esm.min.js +1 -1
  14. package/button/button.js +5 -1
  15. package/button/button.min.js +1 -1
  16. package/calendar/Calendar.d.ts +51 -12
  17. package/calendar/Calendar.vue +259 -114
  18. package/calendar/calendar.cjs.js +414 -220
  19. package/calendar/calendar.cjs.min.js +1 -1
  20. package/calendar/calendar.esm.js +415 -221
  21. package/calendar/calendar.esm.min.js +1 -1
  22. package/calendar/calendar.js +414 -220
  23. package/calendar/calendar.min.js +1 -1
  24. package/carousel/Carousel.vue +25 -0
  25. package/carousel/carousel.cjs.js +25 -0
  26. package/carousel/carousel.cjs.min.js +1 -1
  27. package/carousel/carousel.esm.js +25 -0
  28. package/carousel/carousel.esm.min.js +1 -1
  29. package/carousel/carousel.js +25 -0
  30. package/carousel/carousel.min.js +1 -1
  31. package/cascadeselect/CascadeSelect.d.ts +97 -17
  32. package/cascadeselect/CascadeSelect.vue +560 -135
  33. package/cascadeselect/CascadeSelectSub.vue +48 -129
  34. package/cascadeselect/cascadeselect.cjs.js +670 -306
  35. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  36. package/cascadeselect/cascadeselect.esm.js +672 -308
  37. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  38. package/cascadeselect/cascadeselect.js +670 -306
  39. package/cascadeselect/cascadeselect.min.js +1 -1
  40. package/checkbox/Checkbox.d.ts +40 -4
  41. package/checkbox/Checkbox.vue +50 -13
  42. package/checkbox/checkbox.cjs.js +64 -23
  43. package/checkbox/checkbox.cjs.min.js +1 -1
  44. package/checkbox/checkbox.esm.js +65 -24
  45. package/checkbox/checkbox.esm.min.js +1 -1
  46. package/checkbox/checkbox.js +64 -23
  47. package/checkbox/checkbox.min.js +1 -1
  48. package/chips/Chips.d.ts +36 -12
  49. package/chips/Chips.vue +116 -22
  50. package/chips/chips.cjs.js +149 -37
  51. package/chips/chips.cjs.min.js +1 -1
  52. package/chips/chips.esm.js +150 -38
  53. package/chips/chips.esm.min.js +1 -1
  54. package/chips/chips.js +150 -39
  55. package/chips/chips.min.js +1 -1
  56. package/colorpicker/ColorPicker.d.ts +3 -6
  57. package/colorpicker/ColorPicker.vue +1 -5
  58. package/colorpicker/colorpicker.cjs.js +2 -7
  59. package/colorpicker/colorpicker.cjs.min.js +1 -1
  60. package/colorpicker/colorpicker.esm.js +2 -7
  61. package/colorpicker/colorpicker.esm.min.js +1 -1
  62. package/colorpicker/colorpicker.js +2 -7
  63. package/colorpicker/colorpicker.min.js +1 -1
  64. package/column/Column.d.ts +4 -0
  65. package/column/Column.vue +4 -0
  66. package/column/column.cjs.js +4 -0
  67. package/column/column.cjs.min.js +1 -1
  68. package/column/column.esm.js +4 -0
  69. package/column/column.esm.min.js +1 -1
  70. package/column/column.js +4 -0
  71. package/column/column.min.js +1 -1
  72. package/config/PrimeVue.d.ts +42 -0
  73. package/config/config.cjs.js +35 -4
  74. package/config/config.cjs.min.js +1 -1
  75. package/config/config.esm.js +35 -4
  76. package/config/config.esm.min.js +1 -1
  77. package/config/config.js +35 -4
  78. package/config/config.min.js +1 -1
  79. package/confirmdialog/ConfirmDialog.vue +4 -1
  80. package/confirmdialog/confirmdialog.cjs.js +6 -2
  81. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  82. package/confirmdialog/confirmdialog.esm.js +6 -2
  83. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  84. package/confirmdialog/confirmdialog.js +6 -2
  85. package/confirmdialog/confirmdialog.min.js +1 -1
  86. package/contextmenu/ContextMenu.d.ts +1 -1
  87. package/contextmenu/ContextMenuSub.vue +3 -3
  88. package/contextmenu/contextmenu.cjs.js +14 -8
  89. package/contextmenu/contextmenu.cjs.min.js +1 -1
  90. package/contextmenu/contextmenu.esm.js +15 -9
  91. package/contextmenu/contextmenu.esm.min.js +1 -1
  92. package/contextmenu/contextmenu.js +14 -8
  93. package/contextmenu/contextmenu.min.js +1 -1
  94. package/core/core.js +1128 -772
  95. package/core/core.min.js +12 -12
  96. package/datatable/BodyCell.vue +11 -2
  97. package/datatable/DataTable.vue +23 -2
  98. package/datatable/datatable.cjs.js +34 -4
  99. package/datatable/datatable.cjs.min.js +1 -1
  100. package/datatable/datatable.esm.js +34 -4
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +34 -4
  103. package/datatable/datatable.min.js +1 -1
  104. package/dialog/Dialog.d.ts +5 -1
  105. package/dropdown/Dropdown.d.ts +92 -38
  106. package/dropdown/Dropdown.vue +538 -399
  107. package/dropdown/dropdown.cjs.js +657 -486
  108. package/dropdown/dropdown.cjs.min.js +1 -1
  109. package/dropdown/dropdown.esm.js +659 -488
  110. package/dropdown/dropdown.esm.min.js +1 -1
  111. package/dropdown/dropdown.js +657 -486
  112. package/dropdown/dropdown.min.js +1 -1
  113. package/editor/Editor.d.ts +32 -0
  114. package/editor/Editor.vue +15 -1
  115. package/editor/editor.cjs.js +15 -1
  116. package/editor/editor.cjs.min.js +1 -1
  117. package/editor/editor.esm.js +15 -1
  118. package/editor/editor.esm.min.js +1 -1
  119. package/editor/editor.js +15 -1
  120. package/editor/editor.min.js +1 -1
  121. package/inputmask/InputMask.vue +9 -6
  122. package/inputmask/inputmask.cjs.js +14 -6
  123. package/inputmask/inputmask.cjs.min.js +1 -1
  124. package/inputmask/inputmask.esm.js +15 -7
  125. package/inputmask/inputmask.esm.min.js +1 -1
  126. package/inputmask/inputmask.js +14 -6
  127. package/inputmask/inputmask.min.js +1 -1
  128. package/inputnumber/InputNumber.d.ts +31 -7
  129. package/inputnumber/InputNumber.vue +53 -20
  130. package/inputnumber/inputnumber.cjs.js +75 -29
  131. package/inputnumber/inputnumber.cjs.min.js +1 -1
  132. package/inputnumber/inputnumber.esm.js +76 -30
  133. package/inputnumber/inputnumber.esm.min.js +1 -1
  134. package/inputnumber/inputnumber.js +75 -29
  135. package/inputnumber/inputnumber.min.js +1 -1
  136. package/inputswitch/InputSwitch.d.ts +24 -8
  137. package/inputswitch/InputSwitch.vue +27 -12
  138. package/inputswitch/inputswitch.cjs.js +38 -20
  139. package/inputswitch/inputswitch.cjs.min.js +1 -1
  140. package/inputswitch/inputswitch.esm.js +39 -21
  141. package/inputswitch/inputswitch.esm.min.js +1 -1
  142. package/inputswitch/inputswitch.js +38 -20
  143. package/inputswitch/inputswitch.min.js +1 -1
  144. package/inputtext/InputText.vue +1 -2
  145. package/inputtext/inputtext.cjs.js +3 -4
  146. package/inputtext/inputtext.cjs.min.js +1 -1
  147. package/inputtext/inputtext.esm.js +4 -5
  148. package/inputtext/inputtext.esm.min.js +1 -1
  149. package/inputtext/inputtext.js +3 -4
  150. package/inputtext/inputtext.min.js +1 -1
  151. package/knob/Knob.d.ts +12 -0
  152. package/knob/Knob.vue +62 -2
  153. package/knob/knob.cjs.js +73 -5
  154. package/knob/knob.cjs.min.js +1 -1
  155. package/knob/knob.esm.js +73 -5
  156. package/knob/knob.esm.min.js +1 -1
  157. package/knob/knob.js +73 -5
  158. package/knob/knob.min.js +1 -1
  159. package/listbox/Listbox.d.ts +53 -7
  160. package/listbox/Listbox.vue +500 -135
  161. package/listbox/listbox.cjs.js +597 -193
  162. package/listbox/listbox.cjs.min.js +1 -1
  163. package/listbox/listbox.esm.js +599 -195
  164. package/listbox/listbox.esm.min.js +1 -1
  165. package/listbox/listbox.js +597 -193
  166. package/listbox/listbox.min.js +1 -1
  167. package/menu/Menu.d.ts +1 -1
  168. package/menu/Menuitem.vue +2 -2
  169. package/menu/menu.cjs.js +12 -6
  170. package/menu/menu.cjs.min.js +1 -1
  171. package/menu/menu.esm.js +13 -7
  172. package/menu/menu.esm.min.js +1 -1
  173. package/menu/menu.js +12 -6
  174. package/menu/menu.min.js +1 -1
  175. package/menubar/MenubarSub.vue +3 -3
  176. package/menubar/menubar.cjs.js +14 -8
  177. package/menubar/menubar.cjs.min.js +1 -1
  178. package/menubar/menubar.esm.js +15 -9
  179. package/menubar/menubar.esm.min.js +1 -1
  180. package/menubar/menubar.js +14 -8
  181. package/menubar/menubar.min.js +1 -1
  182. package/menuitem/MenuItem.d.ts +1 -1
  183. package/multiselect/MultiSelect.d.ts +111 -51
  184. package/multiselect/MultiSelect.vue +629 -338
  185. package/multiselect/multiselect.cjs.js +748 -428
  186. package/multiselect/multiselect.cjs.min.js +1 -1
  187. package/multiselect/multiselect.esm.js +750 -430
  188. package/multiselect/multiselect.esm.min.js +1 -1
  189. package/multiselect/multiselect.js +748 -428
  190. package/multiselect/multiselect.min.js +1 -1
  191. package/overlaypanel/OverlayPanel.d.ts +1 -1
  192. package/overlaypanel/OverlayPanel.vue +14 -2
  193. package/overlaypanel/overlaypanel.cjs.js +14 -2
  194. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  195. package/overlaypanel/overlaypanel.esm.js +14 -2
  196. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  197. package/overlaypanel/overlaypanel.js +14 -2
  198. package/overlaypanel/overlaypanel.min.js +1 -1
  199. package/package.json +2 -2
  200. package/paginator/Paginator.d.ts +2 -2
  201. package/password/Password.d.ts +36 -8
  202. package/password/Password.vue +50 -14
  203. package/password/password.cjs.js +69 -24
  204. package/password/password.cjs.min.js +1 -1
  205. package/password/password.esm.js +71 -26
  206. package/password/password.esm.min.js +1 -1
  207. package/password/password.js +69 -24
  208. package/password/password.min.js +1 -1
  209. package/picklist/PickList.d.ts +8 -0
  210. package/picklist/PickList.vue +10 -2
  211. package/picklist/picklist.cjs.js +68 -50
  212. package/picklist/picklist.cjs.min.js +1 -1
  213. package/picklist/picklist.esm.js +69 -51
  214. package/picklist/picklist.esm.min.js +1 -1
  215. package/picklist/picklist.js +68 -50
  216. package/picklist/picklist.min.js +1 -1
  217. package/portal/Portal.d.ts +1 -1
  218. package/radiobutton/RadioButton.d.ts +28 -4
  219. package/radiobutton/RadioButton.vue +36 -11
  220. package/radiobutton/radiobutton.cjs.js +49 -23
  221. package/radiobutton/radiobutton.cjs.min.js +1 -1
  222. package/radiobutton/radiobutton.esm.js +50 -24
  223. package/radiobutton/radiobutton.esm.min.js +1 -1
  224. package/radiobutton/radiobutton.js +49 -23
  225. package/radiobutton/radiobutton.min.js +1 -1
  226. package/rating/Rating.d.ts +4 -0
  227. package/rating/Rating.vue +61 -7
  228. package/rating/rating.cjs.js +90 -16
  229. package/rating/rating.cjs.min.js +1 -1
  230. package/rating/rating.esm.js +91 -17
  231. package/rating/rating.esm.min.js +1 -1
  232. package/rating/rating.js +90 -16
  233. package/rating/rating.min.js +1 -1
  234. package/resources/primevue.css +8 -0
  235. package/resources/primevue.min.css +1 -1
  236. package/resources/themes/arya-blue/theme.css +82 -40
  237. package/resources/themes/arya-green/theme.css +82 -40
  238. package/resources/themes/arya-orange/theme.css +82 -40
  239. package/resources/themes/arya-purple/theme.css +82 -40
  240. package/resources/themes/bootstrap4-dark-blue/theme.css +82 -40
  241. package/resources/themes/bootstrap4-dark-purple/theme.css +82 -40
  242. package/resources/themes/bootstrap4-light-blue/theme.css +82 -40
  243. package/resources/themes/bootstrap4-light-purple/theme.css +82 -40
  244. package/resources/themes/fluent-light/theme.css +82 -40
  245. package/resources/themes/lara-dark-blue/theme.css +82 -40
  246. package/resources/themes/lara-dark-indigo/theme.css +82 -40
  247. package/resources/themes/lara-dark-purple/theme.css +82 -40
  248. package/resources/themes/lara-dark-teal/theme.css +82 -40
  249. package/resources/themes/lara-light-blue/theme.css +82 -40
  250. package/resources/themes/lara-light-indigo/theme.css +82 -40
  251. package/resources/themes/lara-light-purple/theme.css +82 -40
  252. package/resources/themes/lara-light-teal/theme.css +82 -40
  253. package/resources/themes/luna-amber/theme.css +82 -40
  254. package/resources/themes/luna-blue/theme.css +82 -40
  255. package/resources/themes/luna-green/theme.css +82 -40
  256. package/resources/themes/luna-pink/theme.css +82 -40
  257. package/resources/themes/md-dark-deeppurple/theme.css +82 -40
  258. package/resources/themes/md-dark-indigo/theme.css +82 -40
  259. package/resources/themes/md-light-deeppurple/theme.css +82 -40
  260. package/resources/themes/md-light-indigo/theme.css +82 -40
  261. package/resources/themes/mdc-dark-deeppurple/theme.css +82 -40
  262. package/resources/themes/mdc-dark-indigo/theme.css +82 -40
  263. package/resources/themes/mdc-light-deeppurple/theme.css +82 -40
  264. package/resources/themes/mdc-light-indigo/theme.css +82 -40
  265. package/resources/themes/nova/theme.css +82 -40
  266. package/resources/themes/nova-accent/theme.css +82 -40
  267. package/resources/themes/nova-alt/theme.css +82 -40
  268. package/resources/themes/nova-vue/theme.css +82 -40
  269. package/resources/themes/rhea/theme.css +82 -40
  270. package/resources/themes/saga-blue/theme.css +82 -40
  271. package/resources/themes/saga-green/theme.css +82 -40
  272. package/resources/themes/saga-orange/theme.css +82 -40
  273. package/resources/themes/saga-purple/theme.css +82 -40
  274. package/resources/themes/tailwind-light/theme.css +82 -40
  275. package/resources/themes/vela-blue/theme.css +82 -40
  276. package/resources/themes/vela-green/theme.css +82 -40
  277. package/resources/themes/vela-orange/theme.css +82 -40
  278. package/resources/themes/vela-purple/theme.css +82 -40
  279. package/ripple/ripple.cjs.js +1 -0
  280. package/ripple/ripple.cjs.min.js +1 -1
  281. package/ripple/ripple.esm.js +1 -0
  282. package/ripple/ripple.esm.min.js +1 -1
  283. package/ripple/ripple.js +1 -0
  284. package/ripple/ripple.min.js +1 -1
  285. package/selectbutton/SelectButton.d.ts +6 -2
  286. package/selectbutton/SelectButton.vue +89 -12
  287. package/selectbutton/selectbutton.cjs.js +97 -22
  288. package/selectbutton/selectbutton.cjs.min.js +1 -1
  289. package/selectbutton/selectbutton.esm.js +99 -24
  290. package/selectbutton/selectbutton.esm.min.js +1 -1
  291. package/selectbutton/selectbutton.js +97 -22
  292. package/selectbutton/selectbutton.min.js +1 -1
  293. package/slider/Slider.d.ts +9 -1
  294. package/slider/Slider.vue +50 -34
  295. package/slider/slider.cjs.js +59 -38
  296. package/slider/slider.cjs.min.js +1 -1
  297. package/slider/slider.esm.js +59 -38
  298. package/slider/slider.esm.min.js +1 -1
  299. package/slider/slider.js +59 -38
  300. package/slider/slider.min.js +1 -1
  301. package/splitbutton/SplitButton.d.ts +1 -1
  302. package/splitter/Splitter.vue +30 -1
  303. package/splitter/splitter.cjs.js +30 -1
  304. package/splitter/splitter.cjs.min.js +1 -1
  305. package/splitter/splitter.esm.js +30 -1
  306. package/splitter/splitter.esm.min.js +1 -1
  307. package/splitter/splitter.js +30 -1
  308. package/splitter/splitter.min.js +1 -1
  309. package/textarea/Textarea.vue +1 -2
  310. package/textarea/textarea.cjs.js +3 -5
  311. package/textarea/textarea.cjs.min.js +1 -1
  312. package/textarea/textarea.esm.js +4 -6
  313. package/textarea/textarea.esm.min.js +1 -1
  314. package/textarea/textarea.js +3 -5
  315. package/textarea/textarea.min.js +1 -1
  316. package/tieredmenu/TieredMenu.d.ts +1 -1
  317. package/tieredmenu/TieredMenuSub.vue +3 -3
  318. package/tieredmenu/tieredmenu.cjs.js +14 -8
  319. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  320. package/tieredmenu/tieredmenu.esm.js +15 -9
  321. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  322. package/tieredmenu/tieredmenu.js +14 -8
  323. package/tieredmenu/tieredmenu.min.js +1 -1
  324. package/timeline/Timeline.d.ts +10 -1
  325. package/timeline/Timeline.vue +1 -1
  326. package/timeline/timeline.cjs.js +5 -1
  327. package/timeline/timeline.cjs.min.js +1 -1
  328. package/timeline/timeline.esm.js +5 -1
  329. package/timeline/timeline.esm.min.js +1 -1
  330. package/timeline/timeline.js +5 -1
  331. package/timeline/timeline.min.js +1 -1
  332. package/togglebutton/ToggleButton.d.ts +42 -0
  333. package/togglebutton/ToggleButton.vue +44 -7
  334. package/togglebutton/togglebutton.cjs.js +59 -13
  335. package/togglebutton/togglebutton.cjs.min.js +1 -1
  336. package/togglebutton/togglebutton.esm.js +60 -14
  337. package/togglebutton/togglebutton.esm.min.js +1 -1
  338. package/togglebutton/togglebutton.js +59 -13
  339. package/togglebutton/togglebutton.min.js +1 -1
  340. package/tooltip/tooltip.cjs.js +20 -11
  341. package/tooltip/tooltip.cjs.min.js +1 -1
  342. package/tooltip/tooltip.esm.js +21 -12
  343. package/tooltip/tooltip.esm.min.js +1 -1
  344. package/tooltip/tooltip.js +20 -11
  345. package/tooltip/tooltip.min.js +1 -1
  346. package/tree/Tree.vue +5 -1
  347. package/tree/TreeNode.vue +20 -19
  348. package/tree/tree.cjs.js +47 -32
  349. package/tree/tree.cjs.min.js +1 -1
  350. package/tree/tree.esm.js +47 -32
  351. package/tree/tree.esm.min.js +1 -1
  352. package/tree/tree.js +47 -32
  353. package/tree/tree.min.js +1 -1
  354. package/treeselect/TreeSelect.d.ts +26 -10
  355. package/treeselect/TreeSelect.vue +52 -29
  356. package/treeselect/treeselect.cjs.js +74 -41
  357. package/treeselect/treeselect.cjs.min.js +1 -1
  358. package/treeselect/treeselect.esm.js +76 -43
  359. package/treeselect/treeselect.esm.min.js +1 -1
  360. package/treeselect/treeselect.js +74 -41
  361. package/treeselect/treeselect.min.js +1 -1
  362. package/tristatecheckbox/TriStateCheckbox.d.ts +20 -4
  363. package/tristatecheckbox/TriStateCheckbox.vue +52 -15
  364. package/tristatecheckbox/tristatecheckbox.cjs.js +67 -26
  365. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  366. package/tristatecheckbox/tristatecheckbox.esm.js +68 -27
  367. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  368. package/tristatecheckbox/tristatecheckbox.js +67 -26
  369. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  370. package/utils/Utils.d.ts +3 -2
  371. package/utils/utils.cjs.js +239 -173
  372. package/utils/utils.cjs.min.js +1 -1
  373. package/utils/utils.esm.js +239 -173
  374. package/utils/utils.esm.min.js +1 -1
  375. package/utils/utils.js +239 -173
  376. package/utils/utils.min.js +1 -1
  377. package/vetur-attributes.json +612 -136
  378. package/vetur-tags.json +180 -59
  379. package/virtualscroller/VirtualScroller.d.ts +10 -0
  380. package/virtualscroller/VirtualScroller.vue +18 -17
  381. package/virtualscroller/virtualscroller.cjs.js +22 -20
  382. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  383. package/virtualscroller/virtualscroller.esm.js +22 -20
  384. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  385. package/virtualscroller/virtualscroller.js +22 -20
  386. package/virtualscroller/virtualscroller.min.js +1 -1
  387. package/web-types.json +1745 -338
@@ -4,11 +4,15 @@ var vue = require('vue');
4
4
 
5
5
  var script = {
6
6
  name: 'Rating',
7
- emits: ['update:modelValue', 'change'],
7
+ emits: ['update:modelValue', 'change', 'focus', 'blur'],
8
8
  props: {
9
9
  modelValue: {
10
10
  type: Number,
11
11
  default: null
12
+ },
13
+ name: {
14
+ type: String,
15
+ default: null
12
16
  },
13
17
  disabled: {
14
18
  type: Boolean,
@@ -27,12 +31,46 @@ var script = {
27
31
  default: true
28
32
  }
29
33
  },
34
+ data() {
35
+ return {
36
+ focusIndex: null
37
+ };
38
+ },
30
39
  methods: {
31
40
  onStarClick(event, value) {
32
41
  if (!this.readonly && !this.disabled) {
33
42
  this.updateModel(event, value);
43
+ this.focusIndex = value;
34
44
  }
35
45
  },
46
+ onKeyDown(event, value) {
47
+ if (event.code === 'Space') {
48
+ this.updateModel(event, value);
49
+ }
50
+ if (event.code === 'Tab') {
51
+ this.focusIndex = null;
52
+ }
53
+ },
54
+ onFocus(event, index) {
55
+ if (!this.readonly) {
56
+ if (this.modelValue === null && this.focusIndex === null) {
57
+ this.cancel ? this.focusIndex = 0 : this.focusIndex = 1;
58
+ }
59
+ else if (this.modelValue !== null && this.focusIndex === null) {
60
+ this.focusIndex = this.modelValue;
61
+ this.updateModel(event, this.modelValue);
62
+ }
63
+ else {
64
+ this.focusIndex = index;
65
+ this.updateModel(event, index);
66
+ }
67
+
68
+ this.$emit('focus', event);
69
+ }
70
+ },
71
+ onBlur(event) {
72
+ this.$emit('blur', event);
73
+ },
36
74
  onCancelClick(event) {
37
75
  if (!this.readonly && !this.disabled) {
38
76
  this.updateModel(event, null);
@@ -44,6 +82,9 @@ var script = {
44
82
  originalEvent: event,
45
83
  value: value
46
84
  });
85
+ },
86
+ ariaLabelTemplate(index) {
87
+ return index === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, index);
47
88
  }
48
89
  },
49
90
  computed: {
@@ -55,15 +96,18 @@ var script = {
55
96
  'p-disabled': this.disabled
56
97
  }
57
98
  ];
58
- },
59
- focusIndex() {
60
- return (this.disabled || this.readonly) ? null : '0';
61
99
  }
62
100
  }
63
101
  };
64
102
 
65
- const _hoisted_1 = ["tabindex"];
66
- const _hoisted_2 = ["onClick", "tabindex", "onKeydown"];
103
+ const _hoisted_1 = {
104
+ key: 0,
105
+ class: "p-hidden-accessible"
106
+ };
107
+ const _hoisted_2 = ["name", "checked", "disabled", "readonly", "aria-label"];
108
+ const _hoisted_3 = ["onClick"];
109
+ const _hoisted_4 = { class: "p-hidden-accessible" };
110
+ const _hoisted_5 = ["value", "name", "checked", "disabled", "readonly", "aria-label", "onFocus", "onKeydown"];
67
111
 
68
112
  function render(_ctx, _cache, $props, $setup, $data, $options) {
69
113
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -72,19 +116,49 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
72
116
  ($props.cancel)
73
117
  ? (vue.openBlock(), vue.createElementBlock("span", {
74
118
  key: 0,
75
- class: "p-rating-icon p-rating-cancel pi pi-ban",
76
- tabindex: $options.focusIndex,
77
- onClick: _cache[0] || (_cache[0] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args)))
78
- }, null, 8, _hoisted_1))
119
+ class: vue.normalizeClass(['p-rating-icon p-rating-cancel pi pi-ban', {'p-focus': $data.focusIndex === 0}]),
120
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args))),
121
+ onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args)))
122
+ }, [
123
+ ($props.cancel)
124
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1, [
125
+ vue.createElementVNode("input", {
126
+ type: "radio",
127
+ value: "0",
128
+ name: $props.name,
129
+ checked: $props.modelValue === 0,
130
+ disabled: $props.disabled,
131
+ readonly: $props.readonly,
132
+ "aria-label": _ctx.$primevue.config.locale.clear,
133
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event, 0))),
134
+ onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onBlur && $options.onBlur(...args))),
135
+ onKeydown: _cache[2] || (_cache[2] = $event => ($options.onKeyDown($event, 0)))
136
+ }, null, 40, _hoisted_2)
137
+ ]))
138
+ : vue.createCommentVNode("", true)
139
+ ], 34))
79
140
  : vue.createCommentVNode("", true),
80
141
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.stars, (i) => {
81
142
  return (vue.openBlock(), vue.createElementBlock("span", {
82
143
  key: i,
83
- onClick: $event => ($options.onStarClick($event,i)),
84
- tabindex: $options.focusIndex,
85
- onKeydown: vue.withKeys(vue.withModifiers($event => ($options.onStarClick($event,i)), ["prevent"]), ["enter"]),
86
- class: vue.normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue)}])
87
- }, null, 42, _hoisted_2))
144
+ class: vue.normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue), 'p-focus': i === $data.focusIndex}]),
145
+ onClick: $event => ($options.onStarClick($event,i))
146
+ }, [
147
+ vue.createElementVNode("span", _hoisted_4, [
148
+ vue.createElementVNode("input", {
149
+ type: "radio",
150
+ value: i,
151
+ name: $props.name,
152
+ checked: $props.modelValue === i,
153
+ disabled: $props.disabled,
154
+ readonly: $props.readonly,
155
+ "aria-label": $options.ariaLabelTemplate(i),
156
+ onFocus: $event => ($options.onFocus($event, i)),
157
+ onBlur: _cache[5] || (_cache[5] = (...args) => ($options.onBlur && $options.onBlur(...args))),
158
+ onKeydown: $event => ($options.onKeyDown($event,i))
159
+ }, null, 40, _hoisted_5)
160
+ ])
161
+ ], 10, _hoisted_3))
88
162
  }), 128))
89
163
  ], 2))
90
164
  }
@@ -116,7 +190,7 @@ function styleInject(css, ref) {
116
190
  }
117
191
  }
118
192
 
119
- var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n";
193
+ var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n";
120
194
  styleInject(css_248z);
121
195
 
122
196
  script.render = render;
@@ -1 +1 @@
1
- "use strict";var e=require("vue"),n={name:"Rating",emits:["update:modelValue","change"],props:{modelValue:{type:Number,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},methods:{onStarClick(e,n){this.readonly||this.disabled||this.updateModel(e,n)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]},focusIndex(){return this.disabled||this.readonly?null:"0"}}};const t=["tabindex"],l=["onClick","tabindex","onKeydown"];!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&l.firstChild?l.insertBefore(a,l.firstChild):l.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n"),n.render=function(n,a,i,o,d,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.containerClass)},[i.cancel?(e.openBlock(),e.createElementBlock("span",{key:0,class:"p-rating-icon p-rating-cancel pi pi-ban",tabindex:r.focusIndex,onClick:a[0]||(a[0]=(...e)=>r.onCancelClick&&r.onCancelClick(...e))},null,8,t)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.stars,(n=>(e.openBlock(),e.createElementBlock("span",{key:n,onClick:e=>r.onStarClick(e,n),tabindex:r.focusIndex,onKeydown:e.withKeys(e.withModifiers((e=>r.onStarClick(e,n)),["prevent"]),["enter"]),class:e.normalizeClass(["p-rating-icon",{"pi pi-star":n>i.modelValue,"pi pi-star-fill":n<=i.modelValue}])},null,42,l)))),128))],2)},module.exports=n;
1
+ "use strict";var e=require("vue"),n={name:"Rating",emits:["update:modelValue","change","focus","blur"],props:{modelValue:{type:Number,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},data:()=>({focusIndex:null}),methods:{onStarClick(e,n){this.readonly||this.disabled||(this.updateModel(e,n),this.focusIndex=n)},onKeyDown(e,n){"Space"===e.code&&this.updateModel(e,n),"Tab"===e.code&&(this.focusIndex=null)},onFocus(e,n){this.readonly||(null===this.modelValue&&null===this.focusIndex?this.cancel?this.focusIndex=0:this.focusIndex=1:null!==this.modelValue&&null===this.focusIndex?(this.focusIndex=this.modelValue,this.updateModel(e,this.modelValue)):(this.focusIndex=n,this.updateModel(e,n)),this.$emit("focus",e))},onBlur(e){this.$emit("blur",e)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})},ariaLabelTemplate(e){return 1===e?this.$primevue.config.locale.aria.star:this.$primevue.config.locale.aria.stars.replace(/{star}/g,e)}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]}}};const l={key:0,class:"p-hidden-accessible"},a=["name","checked","disabled","readonly","aria-label"],o=["onClick"],t={class:"p-hidden-accessible"},i=["value","name","checked","disabled","readonly","aria-label","onFocus","onKeydown"];!function(e,n){void 0===n&&(n={});var l=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===l&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n"),n.render=function(n,d,s,c,r,u){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.containerClass)},[s.cancel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["p-rating-icon p-rating-cancel pi pi-ban",{"p-focus":0===r.focusIndex}]),onClick:d[3]||(d[3]=(...e)=>u.onCancelClick&&u.onCancelClick(...e)),onKeydown:d[4]||(d[4]=(...e)=>u.onKeyDown&&u.onKeyDown(...e))},[s.cancel?(e.openBlock(),e.createElementBlock("span",l,[e.createElementVNode("input",{type:"radio",value:"0",name:s.name,checked:0===s.modelValue,disabled:s.disabled,readonly:s.readonly,"aria-label":n.$primevue.config.locale.clear,onFocus:d[0]||(d[0]=e=>u.onFocus(e,0)),onBlur:d[1]||(d[1]=(...e)=>u.onBlur&&u.onBlur(...e)),onKeydown:d[2]||(d[2]=e=>u.onKeyDown(e,0))},null,40,a)])):e.createCommentVNode("",!0)],34)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.stars,(n=>(e.openBlock(),e.createElementBlock("span",{key:n,class:e.normalizeClass(["p-rating-icon",{"pi pi-star":n>s.modelValue,"pi pi-star-fill":n<=s.modelValue,"p-focus":n===r.focusIndex}]),onClick:e=>u.onStarClick(e,n)},[e.createElementVNode("span",t,[e.createElementVNode("input",{type:"radio",value:n,name:s.name,checked:s.modelValue===n,disabled:s.disabled,readonly:s.readonly,"aria-label":u.ariaLabelTemplate(n),onFocus:e=>u.onFocus(e,n),onBlur:d[5]||(d[5]=(...e)=>u.onBlur&&u.onBlur(...e)),onKeydown:e=>u.onKeyDown(e,n)},null,40,i)])],10,o)))),128))],2)},module.exports=n;
@@ -1,12 +1,16 @@
1
- import { openBlock, createElementBlock, normalizeClass, createCommentVNode, Fragment, renderList, withKeys, withModifiers } from 'vue';
1
+ import { openBlock, createElementBlock, normalizeClass, createElementVNode, createCommentVNode, Fragment, renderList } from 'vue';
2
2
 
3
3
  var script = {
4
4
  name: 'Rating',
5
- emits: ['update:modelValue', 'change'],
5
+ emits: ['update:modelValue', 'change', 'focus', 'blur'],
6
6
  props: {
7
7
  modelValue: {
8
8
  type: Number,
9
9
  default: null
10
+ },
11
+ name: {
12
+ type: String,
13
+ default: null
10
14
  },
11
15
  disabled: {
12
16
  type: Boolean,
@@ -25,12 +29,46 @@ var script = {
25
29
  default: true
26
30
  }
27
31
  },
32
+ data() {
33
+ return {
34
+ focusIndex: null
35
+ };
36
+ },
28
37
  methods: {
29
38
  onStarClick(event, value) {
30
39
  if (!this.readonly && !this.disabled) {
31
40
  this.updateModel(event, value);
41
+ this.focusIndex = value;
32
42
  }
33
43
  },
44
+ onKeyDown(event, value) {
45
+ if (event.code === 'Space') {
46
+ this.updateModel(event, value);
47
+ }
48
+ if (event.code === 'Tab') {
49
+ this.focusIndex = null;
50
+ }
51
+ },
52
+ onFocus(event, index) {
53
+ if (!this.readonly) {
54
+ if (this.modelValue === null && this.focusIndex === null) {
55
+ this.cancel ? this.focusIndex = 0 : this.focusIndex = 1;
56
+ }
57
+ else if (this.modelValue !== null && this.focusIndex === null) {
58
+ this.focusIndex = this.modelValue;
59
+ this.updateModel(event, this.modelValue);
60
+ }
61
+ else {
62
+ this.focusIndex = index;
63
+ this.updateModel(event, index);
64
+ }
65
+
66
+ this.$emit('focus', event);
67
+ }
68
+ },
69
+ onBlur(event) {
70
+ this.$emit('blur', event);
71
+ },
34
72
  onCancelClick(event) {
35
73
  if (!this.readonly && !this.disabled) {
36
74
  this.updateModel(event, null);
@@ -42,6 +80,9 @@ var script = {
42
80
  originalEvent: event,
43
81
  value: value
44
82
  });
83
+ },
84
+ ariaLabelTemplate(index) {
85
+ return index === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, index);
45
86
  }
46
87
  },
47
88
  computed: {
@@ -53,15 +94,18 @@ var script = {
53
94
  'p-disabled': this.disabled
54
95
  }
55
96
  ];
56
- },
57
- focusIndex() {
58
- return (this.disabled || this.readonly) ? null : '0';
59
97
  }
60
98
  }
61
99
  };
62
100
 
63
- const _hoisted_1 = ["tabindex"];
64
- const _hoisted_2 = ["onClick", "tabindex", "onKeydown"];
101
+ const _hoisted_1 = {
102
+ key: 0,
103
+ class: "p-hidden-accessible"
104
+ };
105
+ const _hoisted_2 = ["name", "checked", "disabled", "readonly", "aria-label"];
106
+ const _hoisted_3 = ["onClick"];
107
+ const _hoisted_4 = { class: "p-hidden-accessible" };
108
+ const _hoisted_5 = ["value", "name", "checked", "disabled", "readonly", "aria-label", "onFocus", "onKeydown"];
65
109
 
66
110
  function render(_ctx, _cache, $props, $setup, $data, $options) {
67
111
  return (openBlock(), createElementBlock("div", {
@@ -70,19 +114,49 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
70
114
  ($props.cancel)
71
115
  ? (openBlock(), createElementBlock("span", {
72
116
  key: 0,
73
- class: "p-rating-icon p-rating-cancel pi pi-ban",
74
- tabindex: $options.focusIndex,
75
- onClick: _cache[0] || (_cache[0] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args)))
76
- }, null, 8, _hoisted_1))
117
+ class: normalizeClass(['p-rating-icon p-rating-cancel pi pi-ban', {'p-focus': $data.focusIndex === 0}]),
118
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args))),
119
+ onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args)))
120
+ }, [
121
+ ($props.cancel)
122
+ ? (openBlock(), createElementBlock("span", _hoisted_1, [
123
+ createElementVNode("input", {
124
+ type: "radio",
125
+ value: "0",
126
+ name: $props.name,
127
+ checked: $props.modelValue === 0,
128
+ disabled: $props.disabled,
129
+ readonly: $props.readonly,
130
+ "aria-label": _ctx.$primevue.config.locale.clear,
131
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event, 0))),
132
+ onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onBlur && $options.onBlur(...args))),
133
+ onKeydown: _cache[2] || (_cache[2] = $event => ($options.onKeyDown($event, 0)))
134
+ }, null, 40, _hoisted_2)
135
+ ]))
136
+ : createCommentVNode("", true)
137
+ ], 34))
77
138
  : createCommentVNode("", true),
78
139
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.stars, (i) => {
79
140
  return (openBlock(), createElementBlock("span", {
80
141
  key: i,
81
- onClick: $event => ($options.onStarClick($event,i)),
82
- tabindex: $options.focusIndex,
83
- onKeydown: withKeys(withModifiers($event => ($options.onStarClick($event,i)), ["prevent"]), ["enter"]),
84
- class: normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue)}])
85
- }, null, 42, _hoisted_2))
142
+ class: normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue), 'p-focus': i === $data.focusIndex}]),
143
+ onClick: $event => ($options.onStarClick($event,i))
144
+ }, [
145
+ createElementVNode("span", _hoisted_4, [
146
+ createElementVNode("input", {
147
+ type: "radio",
148
+ value: i,
149
+ name: $props.name,
150
+ checked: $props.modelValue === i,
151
+ disabled: $props.disabled,
152
+ readonly: $props.readonly,
153
+ "aria-label": $options.ariaLabelTemplate(i),
154
+ onFocus: $event => ($options.onFocus($event, i)),
155
+ onBlur: _cache[5] || (_cache[5] = (...args) => ($options.onBlur && $options.onBlur(...args))),
156
+ onKeydown: $event => ($options.onKeyDown($event,i))
157
+ }, null, 40, _hoisted_5)
158
+ ])
159
+ ], 10, _hoisted_3))
86
160
  }), 128))
87
161
  ], 2))
88
162
  }
@@ -114,7 +188,7 @@ function styleInject(css, ref) {
114
188
  }
115
189
  }
116
190
 
117
- var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n";
191
+ var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n";
118
192
  styleInject(css_248z);
119
193
 
120
194
  script.render = render;
@@ -1 +1 @@
1
- import{openBlock as e,createElementBlock as n,normalizeClass as t,createCommentVNode as a,Fragment as l,renderList as i,withKeys as d,withModifiers as o}from"vue";var s={name:"Rating",emits:["update:modelValue","change"],props:{modelValue:{type:Number,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},methods:{onStarClick(e,n){this.readonly||this.disabled||this.updateModel(e,n)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]},focusIndex(){return this.disabled||this.readonly?null:"0"}}};const r=["tabindex"],c=["onClick","tabindex","onKeydown"];!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===t&&a.firstChild?a.insertBefore(l,a.firstChild):a.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n"),s.render=function(s,u,p,h,m,y){return e(),n("div",{class:t(y.containerClass)},[p.cancel?(e(),n("span",{key:0,class:"p-rating-icon p-rating-cancel pi pi-ban",tabindex:y.focusIndex,onClick:u[0]||(u[0]=(...e)=>y.onCancelClick&&y.onCancelClick(...e))},null,8,r)):a("",!0),(e(!0),n(l,null,i(p.stars,(a=>(e(),n("span",{key:a,onClick:e=>y.onStarClick(e,a),tabindex:y.focusIndex,onKeydown:d(o((e=>y.onStarClick(e,a)),["prevent"]),["enter"]),class:t(["p-rating-icon",{"pi pi-star":a>p.modelValue,"pi pi-star-fill":a<=p.modelValue}])},null,42,c)))),128))],2)};export{s as default};
1
+ import{openBlock as e,createElementBlock as n,normalizeClass as a,createElementVNode as l,createCommentVNode as o,Fragment as t,renderList as i}from"vue";var d={name:"Rating",emits:["update:modelValue","change","focus","blur"],props:{modelValue:{type:Number,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},data:()=>({focusIndex:null}),methods:{onStarClick(e,n){this.readonly||this.disabled||(this.updateModel(e,n),this.focusIndex=n)},onKeyDown(e,n){"Space"===e.code&&this.updateModel(e,n),"Tab"===e.code&&(this.focusIndex=null)},onFocus(e,n){this.readonly||(null===this.modelValue&&null===this.focusIndex?this.cancel?this.focusIndex=0:this.focusIndex=1:null!==this.modelValue&&null===this.focusIndex?(this.focusIndex=this.modelValue,this.updateModel(e,this.modelValue)):(this.focusIndex=n,this.updateModel(e,n)),this.$emit("focus",e))},onBlur(e){this.$emit("blur",e)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})},ariaLabelTemplate(e){return 1===e?this.$primevue.config.locale.aria.star:this.$primevue.config.locale.aria.stars.replace(/{star}/g,e)}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]}}};const s={key:0,class:"p-hidden-accessible"},u=["name","checked","disabled","readonly","aria-label"],c=["onClick"],r={class:"p-hidden-accessible"},p=["value","name","checked","disabled","readonly","aria-label","onFocus","onKeydown"];!function(e,n){void 0===n&&(n={});var a=n.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===a&&l.firstChild?l.insertBefore(o,l.firstChild):l.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n"),d.render=function(d,h,m,f,y,b){return e(),n("div",{class:a(b.containerClass)},[m.cancel?(e(),n("span",{key:0,class:a(["p-rating-icon p-rating-cancel pi pi-ban",{"p-focus":0===y.focusIndex}]),onClick:h[3]||(h[3]=(...e)=>b.onCancelClick&&b.onCancelClick(...e)),onKeydown:h[4]||(h[4]=(...e)=>b.onKeyDown&&b.onKeyDown(...e))},[m.cancel?(e(),n("span",s,[l("input",{type:"radio",value:"0",name:m.name,checked:0===m.modelValue,disabled:m.disabled,readonly:m.readonly,"aria-label":d.$primevue.config.locale.clear,onFocus:h[0]||(h[0]=e=>b.onFocus(e,0)),onBlur:h[1]||(h[1]=(...e)=>b.onBlur&&b.onBlur(...e)),onKeydown:h[2]||(h[2]=e=>b.onKeyDown(e,0))},null,40,u)])):o("",!0)],34)):o("",!0),(e(!0),n(t,null,i(m.stars,(o=>(e(),n("span",{key:o,class:a(["p-rating-icon",{"pi pi-star":o>m.modelValue,"pi pi-star-fill":o<=m.modelValue,"p-focus":o===y.focusIndex}]),onClick:e=>b.onStarClick(e,o)},[l("span",r,[l("input",{type:"radio",value:o,name:m.name,checked:m.modelValue===o,disabled:m.disabled,readonly:m.readonly,"aria-label":b.ariaLabelTemplate(o),onFocus:e=>b.onFocus(e,o),onBlur:h[5]||(h[5]=(...e)=>b.onBlur&&b.onBlur(...e)),onKeydown:e=>b.onKeyDown(e,o)},null,40,p)])],10,c)))),128))],2)};export{d as default};
package/rating/rating.js CHANGED
@@ -4,11 +4,15 @@ this.primevue.rating = (function (vue) {
4
4
 
5
5
  var script = {
6
6
  name: 'Rating',
7
- emits: ['update:modelValue', 'change'],
7
+ emits: ['update:modelValue', 'change', 'focus', 'blur'],
8
8
  props: {
9
9
  modelValue: {
10
10
  type: Number,
11
11
  default: null
12
+ },
13
+ name: {
14
+ type: String,
15
+ default: null
12
16
  },
13
17
  disabled: {
14
18
  type: Boolean,
@@ -27,12 +31,46 @@ this.primevue.rating = (function (vue) {
27
31
  default: true
28
32
  }
29
33
  },
34
+ data() {
35
+ return {
36
+ focusIndex: null
37
+ };
38
+ },
30
39
  methods: {
31
40
  onStarClick(event, value) {
32
41
  if (!this.readonly && !this.disabled) {
33
42
  this.updateModel(event, value);
43
+ this.focusIndex = value;
34
44
  }
35
45
  },
46
+ onKeyDown(event, value) {
47
+ if (event.code === 'Space') {
48
+ this.updateModel(event, value);
49
+ }
50
+ if (event.code === 'Tab') {
51
+ this.focusIndex = null;
52
+ }
53
+ },
54
+ onFocus(event, index) {
55
+ if (!this.readonly) {
56
+ if (this.modelValue === null && this.focusIndex === null) {
57
+ this.cancel ? this.focusIndex = 0 : this.focusIndex = 1;
58
+ }
59
+ else if (this.modelValue !== null && this.focusIndex === null) {
60
+ this.focusIndex = this.modelValue;
61
+ this.updateModel(event, this.modelValue);
62
+ }
63
+ else {
64
+ this.focusIndex = index;
65
+ this.updateModel(event, index);
66
+ }
67
+
68
+ this.$emit('focus', event);
69
+ }
70
+ },
71
+ onBlur(event) {
72
+ this.$emit('blur', event);
73
+ },
36
74
  onCancelClick(event) {
37
75
  if (!this.readonly && !this.disabled) {
38
76
  this.updateModel(event, null);
@@ -44,6 +82,9 @@ this.primevue.rating = (function (vue) {
44
82
  originalEvent: event,
45
83
  value: value
46
84
  });
85
+ },
86
+ ariaLabelTemplate(index) {
87
+ return index === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, index);
47
88
  }
48
89
  },
49
90
  computed: {
@@ -55,15 +96,18 @@ this.primevue.rating = (function (vue) {
55
96
  'p-disabled': this.disabled
56
97
  }
57
98
  ];
58
- },
59
- focusIndex() {
60
- return (this.disabled || this.readonly) ? null : '0';
61
99
  }
62
100
  }
63
101
  };
64
102
 
65
- const _hoisted_1 = ["tabindex"];
66
- const _hoisted_2 = ["onClick", "tabindex", "onKeydown"];
103
+ const _hoisted_1 = {
104
+ key: 0,
105
+ class: "p-hidden-accessible"
106
+ };
107
+ const _hoisted_2 = ["name", "checked", "disabled", "readonly", "aria-label"];
108
+ const _hoisted_3 = ["onClick"];
109
+ const _hoisted_4 = { class: "p-hidden-accessible" };
110
+ const _hoisted_5 = ["value", "name", "checked", "disabled", "readonly", "aria-label", "onFocus", "onKeydown"];
67
111
 
68
112
  function render(_ctx, _cache, $props, $setup, $data, $options) {
69
113
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -72,19 +116,49 @@ this.primevue.rating = (function (vue) {
72
116
  ($props.cancel)
73
117
  ? (vue.openBlock(), vue.createElementBlock("span", {
74
118
  key: 0,
75
- class: "p-rating-icon p-rating-cancel pi pi-ban",
76
- tabindex: $options.focusIndex,
77
- onClick: _cache[0] || (_cache[0] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args)))
78
- }, null, 8, _hoisted_1))
119
+ class: vue.normalizeClass(['p-rating-icon p-rating-cancel pi pi-ban', {'p-focus': $data.focusIndex === 0}]),
120
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onCancelClick && $options.onCancelClick(...args))),
121
+ onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args)))
122
+ }, [
123
+ ($props.cancel)
124
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1, [
125
+ vue.createElementVNode("input", {
126
+ type: "radio",
127
+ value: "0",
128
+ name: $props.name,
129
+ checked: $props.modelValue === 0,
130
+ disabled: $props.disabled,
131
+ readonly: $props.readonly,
132
+ "aria-label": _ctx.$primevue.config.locale.clear,
133
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event, 0))),
134
+ onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onBlur && $options.onBlur(...args))),
135
+ onKeydown: _cache[2] || (_cache[2] = $event => ($options.onKeyDown($event, 0)))
136
+ }, null, 40, _hoisted_2)
137
+ ]))
138
+ : vue.createCommentVNode("", true)
139
+ ], 34))
79
140
  : vue.createCommentVNode("", true),
80
141
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.stars, (i) => {
81
142
  return (vue.openBlock(), vue.createElementBlock("span", {
82
143
  key: i,
83
- onClick: $event => ($options.onStarClick($event,i)),
84
- tabindex: $options.focusIndex,
85
- onKeydown: vue.withKeys(vue.withModifiers($event => ($options.onStarClick($event,i)), ["prevent"]), ["enter"]),
86
- class: vue.normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue)}])
87
- }, null, 42, _hoisted_2))
144
+ class: vue.normalizeClass(['p-rating-icon', {'pi pi-star': (i > $props.modelValue), 'pi pi-star-fill': (i <= $props.modelValue), 'p-focus': i === $data.focusIndex}]),
145
+ onClick: $event => ($options.onStarClick($event,i))
146
+ }, [
147
+ vue.createElementVNode("span", _hoisted_4, [
148
+ vue.createElementVNode("input", {
149
+ type: "radio",
150
+ value: i,
151
+ name: $props.name,
152
+ checked: $props.modelValue === i,
153
+ disabled: $props.disabled,
154
+ readonly: $props.readonly,
155
+ "aria-label": $options.ariaLabelTemplate(i),
156
+ onFocus: $event => ($options.onFocus($event, i)),
157
+ onBlur: _cache[5] || (_cache[5] = (...args) => ($options.onBlur && $options.onBlur(...args))),
158
+ onKeydown: $event => ($options.onKeyDown($event,i))
159
+ }, null, 40, _hoisted_5)
160
+ ])
161
+ ], 10, _hoisted_3))
88
162
  }), 128))
89
163
  ], 2))
90
164
  }
@@ -116,7 +190,7 @@ this.primevue.rating = (function (vue) {
116
190
  }
117
191
  }
118
192
 
119
- var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n";
193
+ var css_248z = "\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n";
120
194
  styleInject(css_248z);
121
195
 
122
196
  script.render = render;
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.rating=function(e){"use strict";var n={name:"Rating",emits:["update:modelValue","change"],props:{modelValue:{type:Number,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},methods:{onStarClick(e,n){this.readonly||this.disabled||this.updateModel(e,n)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]},focusIndex(){return this.disabled||this.readonly?null:"0"}}};const t=["tabindex"],l=["onClick","tabindex","onKeydown"];return function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&l.firstChild?l.insertBefore(a,l.firstChild):l.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n"),n.render=function(n,a,i,o,d,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.containerClass)},[i.cancel?(e.openBlock(),e.createElementBlock("span",{key:0,class:"p-rating-icon p-rating-cancel pi pi-ban",tabindex:r.focusIndex,onClick:a[0]||(a[0]=(...e)=>r.onCancelClick&&r.onCancelClick(...e))},null,8,t)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.stars,(n=>(e.openBlock(),e.createElementBlock("span",{key:n,onClick:e=>r.onStarClick(e,n),tabindex:r.focusIndex,onKeydown:e.withKeys(e.withModifiers((e=>r.onStarClick(e,n)),["prevent"]),["enter"]),class:e.normalizeClass(["p-rating-icon",{"pi pi-star":n>i.modelValue,"pi pi-star-fill":n<=i.modelValue}])},null,42,l)))),128))],2)},n}(Vue);
1
+ this.primevue=this.primevue||{},this.primevue.rating=function(e){"use strict";var n={name:"Rating",emits:["update:modelValue","change","focus","blur"],props:{modelValue:{type:Number,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},stars:{type:Number,default:5},cancel:{type:Boolean,default:!0}},data:()=>({focusIndex:null}),methods:{onStarClick(e,n){this.readonly||this.disabled||(this.updateModel(e,n),this.focusIndex=n)},onKeyDown(e,n){"Space"===e.code&&this.updateModel(e,n),"Tab"===e.code&&(this.focusIndex=null)},onFocus(e,n){this.readonly||(null===this.modelValue&&null===this.focusIndex?this.cancel?this.focusIndex=0:this.focusIndex=1:null!==this.modelValue&&null===this.focusIndex?(this.focusIndex=this.modelValue,this.updateModel(e,this.modelValue)):(this.focusIndex=n,this.updateModel(e,n)),this.$emit("focus",e))},onBlur(e){this.$emit("blur",e)},onCancelClick(e){this.readonly||this.disabled||this.updateModel(e,null)},updateModel(e,n){this.$emit("update:modelValue",n),this.$emit("change",{originalEvent:e,value:n})},ariaLabelTemplate(e){return 1===e?this.$primevue.config.locale.aria.star:this.$primevue.config.locale.aria.stars.replace(/{star}/g,e)}},computed:{containerClass(){return["p-rating",{"p-readonly":this.readonly,"p-disabled":this.disabled}]}}};const l={key:0,class:"p-hidden-accessible"},a=["name","checked","disabled","readonly","aria-label"],o=["onClick"],t={class:"p-hidden-accessible"},i=["value","name","checked","disabled","readonly","aria-label","onFocus","onKeydown"];return function(e,n){void 0===n&&(n={});var l=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===l&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-rating-icon {\n cursor: pointer;\n}\n.p-rating.p-rating-readonly .p-rating-icon {\n cursor: default;\n}\n.p-rating:not(.p-disabled) .p-rating-icon.p-focus {\n outline: 0 none;\n outline-offset: 0;\n -webkit-box-shadow: 0 0 0 0.2rem #BFDBFE;\n box-shadow: 0 0 0 0.2rem #BFDBFE;\n border-color: #3B82F6;\n}\n"),n.render=function(n,s,d,c,r,u){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.containerClass)},[d.cancel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["p-rating-icon p-rating-cancel pi pi-ban",{"p-focus":0===r.focusIndex}]),onClick:s[3]||(s[3]=(...e)=>u.onCancelClick&&u.onCancelClick(...e)),onKeydown:s[4]||(s[4]=(...e)=>u.onKeyDown&&u.onKeyDown(...e))},[d.cancel?(e.openBlock(),e.createElementBlock("span",l,[e.createElementVNode("input",{type:"radio",value:"0",name:d.name,checked:0===d.modelValue,disabled:d.disabled,readonly:d.readonly,"aria-label":n.$primevue.config.locale.clear,onFocus:s[0]||(s[0]=e=>u.onFocus(e,0)),onBlur:s[1]||(s[1]=(...e)=>u.onBlur&&u.onBlur(...e)),onKeydown:s[2]||(s[2]=e=>u.onKeyDown(e,0))},null,40,a)])):e.createCommentVNode("",!0)],34)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.stars,(n=>(e.openBlock(),e.createElementBlock("span",{key:n,class:e.normalizeClass(["p-rating-icon",{"pi pi-star":n>d.modelValue,"pi pi-star-fill":n<=d.modelValue,"p-focus":n===r.focusIndex}]),onClick:e=>u.onStarClick(e,n)},[e.createElementVNode("span",t,[e.createElementVNode("input",{type:"radio",value:n,name:d.name,checked:d.modelValue===n,disabled:d.disabled,readonly:d.readonly,"aria-label":u.ariaLabelTemplate(n),onFocus:e=>u.onFocus(e,n),onBlur:s[5]||(s[5]=(...e)=>u.onBlur&&u.onBlur(...e)),onKeydown:e=>u.onKeyDown(e,n)},null,40,i)])],10,o)))),128))],2)},n}(Vue);
@@ -275,6 +275,10 @@ button {
275
275
  position: relative;
276
276
  }
277
277
 
278
+ .p-checkbox.p-checkbox-disabled {
279
+ cursor: default;
280
+ }
281
+
278
282
  .p-checkbox-box {
279
283
  display: flex;
280
284
  justify-content: center;
@@ -383,6 +387,10 @@ button {
383
387
  vertical-align: bottom;
384
388
  }
385
389
 
390
+ .p-radiobutton.p-radiobutton-disabled {
391
+ cursor: default;
392
+ }
393
+
386
394
  .p-radiobutton-box {
387
395
  display: flex;
388
396
  justify-content: center;
@@ -1 +1 @@
1
- .p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default !important;pointer-events:none;user-select:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@-webkit-keyframes p-fadein{0%{opacity:0}100%{opacity:1}}@keyframes p-fadein{0%{opacity:0}100%{opacity:1}}input[type="button"],input[type="submit"],input[type="reset"],input[type="file"]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;user-select:none}.p-link:disabled{cursor:default}.p-connected-overlay{opacity:0;transform:scaleY(0.8);transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-connected-overlay-enter-from{opacity:0;transform:scaleY(0.8)}.p-connected-overlay-leave-to{opacity:0}.p-connected-overlay-enter-active{transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-leave-active{transition:opacity .1s linear}.p-toggleable-content-enter-from,.p-toggleable-content-leave-to{max-height:0}.p-toggleable-content-enter-to,.p-toggleable-content-leave-from{max-height:1000px}.p-toggleable-content-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0,1,0,1)}.p-toggleable-content-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only .p-button-label{visibility:hidden;width:0;flex:0 0 auto}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-checkbox{display:inline-flex;cursor:pointer;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-box{display:flex;justify-content:center;align-items:center}.p-colorpicker-panel .p-colorpicker-color{background:transparent url("./images/color.png") no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url("./images/hue.png") no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-fluid .p-inputgroup .p-input{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill ~ label{top:-20px;font-size:12px}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-radiobutton{display:inline-flex;cursor:pointer;user-select:none;vertical-align:bottom}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1.0,1.0);visibility:visible}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,0.5);border-radius:100%;transform:scale(0);pointer-events:none}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none !important}@keyframes ripple{100%{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}
1
+ .p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default !important;pointer-events:none;user-select:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@-webkit-keyframes p-fadein{0%{opacity:0}100%{opacity:1}}@keyframes p-fadein{0%{opacity:0}100%{opacity:1}}input[type="button"],input[type="submit"],input[type="reset"],input[type="file"]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;user-select:none}.p-link:disabled{cursor:default}.p-connected-overlay{opacity:0;transform:scaleY(0.8);transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-connected-overlay-enter-from{opacity:0;transform:scaleY(0.8)}.p-connected-overlay-leave-to{opacity:0}.p-connected-overlay-enter-active{transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-leave-active{transition:opacity .1s linear}.p-toggleable-content-enter-from,.p-toggleable-content-leave-to{max-height:0}.p-toggleable-content-enter-to,.p-toggleable-content-leave-from{max-height:1000px}.p-toggleable-content-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0,1,0,1)}.p-toggleable-content-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only .p-button-label{visibility:hidden;width:0;flex:0 0 auto}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-checkbox{display:inline-flex;cursor:pointer;user-select:none;vertical-align:bottom;position:relative}.p-checkbox.p-checkbox-disabled{cursor:default}.p-checkbox-box{display:flex;justify-content:center;align-items:center}.p-colorpicker-panel .p-colorpicker-color{background:transparent url("./images/color.png") no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url("./images/hue.png") no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-fluid .p-inputgroup .p-input{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill ~ label{top:-20px;font-size:12px}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-radiobutton{display:inline-flex;cursor:pointer;user-select:none;vertical-align:bottom}.p-radiobutton.p-radiobutton-disabled{cursor:default}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1.0,1.0);visibility:visible}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,0.5);border-radius:100%;transform:scale(0);pointer-events:none}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none !important}@keyframes ripple{100%{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}