primereact 10.5.1 → 10.5.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.
- package/api/api.cjs.js +94 -92
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +229 -11
- package/api/api.esm.js +94 -92
- package/api/api.esm.min.js +1 -1
- package/api/api.js +94 -92
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +89 -45
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +6 -1
- package/autocomplete/autocomplete.esm.js +89 -45
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +89 -45
- package/autocomplete/autocomplete.min.js +1 -1
- package/blockui/blockui.cjs.js +13 -13
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +13 -13
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +13 -13
- package/blockui/blockui.min.js +1 -1
- package/calendar/calendar.cjs.js +30 -11
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +9 -0
- package/calendar/calendar.esm.js +30 -11
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +30 -11
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +17 -15
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +4 -2
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +17 -15
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +28 -14
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +5 -0
- package/cascadeselect/cascadeselect.esm.js +28 -14
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +28 -14
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/checkbox.cjs.js +70 -153
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.d.ts +10 -34
- package/checkbox/checkbox.esm.js +70 -153
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +70 -153
- package/checkbox/checkbox.min.js +1 -1
- package/chips/chips.cjs.js +23 -9
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.d.ts +6 -1
- package/chips/chips.esm.js +23 -9
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +23 -9
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +3 -2
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +2 -1
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +3 -2
- package/colorpicker/colorpicker.min.js +1 -1
- package/componentbase/componentbase.cjs.js +4 -6
- package/componentbase/componentbase.cjs.min.js +1 -1
- package/componentbase/componentbase.esm.js +5 -7
- package/componentbase/componentbase.esm.min.js +1 -1
- package/componentbase/componentbase.js +4 -6
- package/componentbase/componentbase.min.js +1 -1
- package/confirmdialog/confirmdialog.cjs.js +1 -0
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.esm.js +1 -0
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +1 -0
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +5 -5
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +5 -5
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +5 -5
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/core/core.js +639 -603
- package/core/core.min.js +13 -13
- package/datatable/datatable.cjs.js +128 -110
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +1 -1
- package/datatable/datatable.esm.js +128 -110
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +128 -110
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +16 -13
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +4 -1
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +17 -15
- package/dataview/dataview.min.js +1 -1
- package/dialog/dialog.cjs.js +6 -6
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +6 -6
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +6 -6
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +98 -29
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +41 -0
- package/dropdown/dropdown.esm.js +98 -29
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +98 -31
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +125 -54
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +125 -54
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +125 -54
- package/editor/editor.min.js +1 -1
- package/galleria/galleria.cjs.js +22 -19
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +4 -1
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +23 -20
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +115 -72
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.esm.js +116 -73
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +115 -72
- package/hooks/hooks.min.js +1 -1
- package/image/image.cjs.js +11 -9
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +11 -9
- package/image/image.esm.min.js +1 -1
- package/image/image.js +11 -9
- package/image/image.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +20 -36
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.d.ts +5 -5
- package/inputnumber/inputnumber.esm.js +20 -36
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +20 -36
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +18 -93
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.d.ts +9 -20
- package/inputswitch/inputswitch.esm.js +18 -93
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +18 -93
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/inputtext.cjs.js +5 -3
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.d.ts +5 -0
- package/inputtext/inputtext.esm.js +5 -3
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +5 -3
- package/inputtext/inputtext.min.js +1 -1
- package/inputtextarea/inputtextarea.cjs.js +3 -1
- package/inputtextarea/inputtextarea.cjs.min.js +1 -1
- package/inputtextarea/inputtextarea.d.ts +5 -0
- package/inputtextarea/inputtextarea.esm.js +3 -1
- package/inputtextarea/inputtextarea.esm.min.js +1 -1
- package/inputtextarea/inputtextarea.js +3 -1
- package/inputtextarea/inputtextarea.min.js +1 -1
- package/listbox/listbox.cjs.js +14 -10
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +15 -0
- package/listbox/listbox.esm.js +15 -11
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +14 -10
- package/listbox/listbox.min.js +1 -1
- package/mention/mention.cjs.js +3 -1
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.esm.js +3 -1
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +3 -1
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +3 -2
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +3 -2
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +3 -2
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +1 -1
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +1 -1
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +1 -1
- package/menubar/menubar.min.js +1 -1
- package/message/message.cjs.js +2 -8
- package/message/message.cjs.min.js +1 -1
- package/message/message.d.ts +1 -1
- package/message/message.esm.js +2 -8
- package/message/message.esm.min.js +1 -1
- package/message/message.js +2 -8
- package/message/message.min.js +1 -1
- package/messages/messages.cjs.js +1 -1
- package/messages/messages.cjs.min.js +1 -1
- package/messages/messages.d.ts +1 -1
- package/messages/messages.esm.js +1 -1
- package/messages/messages.esm.min.js +1 -1
- package/messages/messages.js +1 -1
- package/messages/messages.min.js +1 -1
- package/metergroup/metergroup.cjs.js +237 -0
- package/metergroup/metergroup.cjs.min.js +1 -0
- package/metergroup/metergroup.d.ts +183 -0
- package/metergroup/metergroup.esm.js +233 -0
- package/metergroup/metergroup.esm.min.js +1 -0
- package/metergroup/metergroup.js +236 -0
- package/metergroup/metergroup.min.js +1 -0
- package/multiselect/multiselect.cjs.js +94 -123
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +25 -1
- package/multiselect/multiselect.esm.js +94 -123
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +94 -123
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +1 -1
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.cjs.js +35 -11
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.d.ts +5 -0
- package/orderlist/orderlist.esm.js +35 -11
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +35 -11
- package/orderlist/orderlist.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +3 -2
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +3 -2
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +3 -2
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +125 -108
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.d.ts +88 -0
- package/paginator/paginator.esm.js +125 -108
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +125 -108
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +13 -5
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +13 -5
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +13 -5
- package/panelmenu/panelmenu.min.js +1 -1
- package/passthrough/index.d.ts +12 -0
- package/passthrough/tailwind/index.cjs.js +268 -172
- package/passthrough/tailwind/index.cjs.min.js +1 -1
- package/passthrough/tailwind/index.esm.js +268 -172
- package/passthrough/tailwind/index.esm.min.js +1 -1
- package/passthrough/tailwind/index.js +268 -172
- package/passthrough/tailwind/index.min.js +1 -1
- package/password/password.cjs.js +70 -39
- package/password/password.cjs.min.js +1 -1
- package/password/password.d.ts +5 -0
- package/password/password.esm.js +72 -41
- package/password/password.esm.min.js +1 -1
- package/password/password.js +70 -39
- package/password/password.min.js +1 -1
- package/picklist/picklist.cjs.js +126 -101
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.d.ts +5 -0
- package/picklist/picklist.esm.js +126 -101
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +126 -101
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +1774 -1431
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +1775 -1431
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +1774 -1431
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +67 -142
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +17 -35
- package/radiobutton/radiobutton.esm.js +68 -143
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +67 -142
- package/radiobutton/radiobutton.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +344 -67
- package/resources/themes/arya-green/theme.css +344 -67
- package/resources/themes/arya-orange/theme.css +344 -67
- package/resources/themes/bootstrap4-dark-blue/theme.css +389 -64
- package/resources/themes/bootstrap4-light-blue/theme.css +389 -64
- package/resources/themes/fluent-light/theme.css +341 -64
- package/resources/themes/lara-dark-amber/theme.css +470 -67
- package/resources/themes/lara-dark-blue/theme.css +470 -67
- package/resources/themes/lara-dark-cyan/theme.css +470 -67
- package/resources/themes/lara-dark-green/theme.css +470 -67
- package/resources/themes/lara-dark-indigo/theme.css +470 -67
- package/resources/themes/lara-dark-pink/theme.css +470 -67
- package/resources/themes/lara-dark-teal/theme.css +470 -67
- package/resources/themes/lara-light-amber/theme.css +470 -67
- package/resources/themes/lara-light-blue/theme.css +470 -67
- package/resources/themes/lara-light-cyan/theme.css +470 -67
- package/resources/themes/lara-light-green/theme.css +470 -67
- package/resources/themes/lara-light-indigo/theme.css +470 -67
- package/resources/themes/lara-light-pink/theme.css +470 -67
- package/resources/themes/lara-light-teal/theme.css +470 -67
- package/resources/themes/luna-amber/theme.css +344 -67
- package/resources/themes/luna-blue/theme.css +344 -67
- package/resources/themes/luna-green/theme.css +344 -67
- package/resources/themes/luna-pink/theme.css +344 -67
- package/resources/themes/md-dark-deeppurple/theme.css +995 -289
- package/resources/themes/md-dark-indigo/theme.css +684 -232
- package/resources/themes/md-light-deeppurple/theme.css +868 -162
- package/resources/themes/md-light-indigo/theme.css +566 -101
- package/resources/themes/mdc-dark-deeppurple/theme.css +995 -289
- package/resources/themes/mdc-dark-indigo/theme.css +697 -232
- package/resources/themes/mdc-light-deeppurple/theme.css +868 -162
- package/resources/themes/mdc-light-indigo/theme.css +566 -101
- package/resources/themes/mira/theme.css +344 -67
- package/resources/themes/nano/theme.css +344 -67
- package/resources/themes/nova/theme.css +344 -67
- package/resources/themes/nova-accent/theme.css +344 -67
- package/resources/themes/nova-alt/theme.css +344 -67
- package/resources/themes/rhea/theme.css +343 -66
- package/resources/themes/saga-blue/theme.css +344 -67
- package/resources/themes/saga-green/theme.css +344 -67
- package/resources/themes/saga-orange/theme.css +344 -67
- package/resources/themes/soho-dark/theme.css +413 -88
- package/resources/themes/soho-light/theme.css +392 -67
- package/resources/themes/tailwind-light/theme.css +344 -67
- package/resources/themes/vela-blue/theme.css +344 -67
- package/resources/themes/vela-green/theme.css +344 -67
- package/resources/themes/vela-orange/theme.css +344 -67
- package/resources/themes/viva-dark/theme.css +392 -67
- package/resources/themes/viva-light/theme.css +392 -67
- package/selectbutton/selectbutton.cjs.js +12 -4
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.d.ts +5 -0
- package/selectbutton/selectbutton.esm.js +12 -4
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +13 -5
- package/selectbutton/selectbutton.min.js +1 -1
- package/sidebar/sidebar.cjs.js +4 -3
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.d.ts +4 -4
- package/sidebar/sidebar.esm.js +4 -3
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +4 -3
- package/sidebar/sidebar.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +3 -2
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.esm.js +3 -2
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +3 -2
- package/slidemenu/slidemenu.min.js +1 -1
- package/slider/slider.cjs.js +18 -2
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +18 -2
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +18 -2
- package/slider/slider.min.js +1 -1
- package/splitbutton/splitbutton.d.ts +2 -2
- package/splitter/splitter.cjs.js +7 -7
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +5 -5
- package/splitter/splitter.esm.js +7 -7
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +7 -7
- package/splitter/splitter.min.js +1 -1
- package/styleclass/styleclass.cjs.js +21 -1
- package/styleclass/styleclass.cjs.min.js +1 -1
- package/styleclass/styleclass.d.ts +10 -0
- package/styleclass/styleclass.esm.js +21 -1
- package/styleclass/styleclass.esm.min.js +1 -1
- package/styleclass/styleclass.js +22 -2
- package/styleclass/styleclass.min.js +1 -1
- package/tabmenu/tabmenu.cjs.js +1 -1
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -1
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +1 -1
- package/tabmenu/tabmenu.min.js +1 -1
- package/toast/toast.cjs.js +93 -92
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.d.ts +1 -1
- package/toast/toast.esm.js +93 -92
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +93 -92
- package/toast/toast.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +54 -92
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.d.ts +24 -0
- package/togglebutton/togglebutton.esm.js +53 -91
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +54 -92
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/tooltip.d.ts +3 -3
- package/tooltip/tooltipoptions.d.ts +5 -0
- package/tree/tree.cjs.js +20 -8
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +20 -8
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +20 -8
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +2 -0
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +5 -0
- package/treeselect/treeselect.esm.js +2 -0
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +2 -0
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +17 -14
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +17 -14
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +17 -14
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +33 -90
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +12 -13
- package/tristatecheckbox/tristatecheckbox.esm.js +34 -91
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +33 -90
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +64 -72
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +11 -2
- package/utils/utils.esm.js +65 -72
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +64 -72
- package/utils/utils.min.js +1 -1
- package/virtualscroller/virtualscroller.cjs.js +17 -15
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +14 -12
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +17 -15
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +455 -39
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var hooks = require('primereact/hooks');
|
|
8
|
+
var api = require('primereact/api');
|
|
9
|
+
var utils = require('primereact/utils');
|
|
10
|
+
var componentbase = require('primereact/componentbase');
|
|
11
|
+
|
|
12
|
+
function _extends() {
|
|
13
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
14
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
15
|
+
var source = arguments[i];
|
|
16
|
+
for (var key in source) {
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
18
|
+
target[key] = source[key];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return target;
|
|
23
|
+
};
|
|
24
|
+
return _extends.apply(this, arguments);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function _typeof(o) {
|
|
28
|
+
"@babel/helpers - typeof";
|
|
29
|
+
|
|
30
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
31
|
+
return typeof o;
|
|
32
|
+
} : function (o) {
|
|
33
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
34
|
+
}, _typeof(o);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function _toPrimitive(input, hint) {
|
|
38
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
39
|
+
var prim = input[Symbol.toPrimitive];
|
|
40
|
+
if (prim !== undefined) {
|
|
41
|
+
var res = prim.call(input, hint || "default");
|
|
42
|
+
if (_typeof(res) !== "object") return res;
|
|
43
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
44
|
+
}
|
|
45
|
+
return (hint === "string" ? String : Number)(input);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function _toPropertyKey(arg) {
|
|
49
|
+
var key = _toPrimitive(arg, "string");
|
|
50
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function _defineProperty(obj, key, value) {
|
|
54
|
+
key = _toPropertyKey(key);
|
|
55
|
+
if (key in obj) {
|
|
56
|
+
Object.defineProperty(obj, key, {
|
|
57
|
+
value: value,
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
writable: true
|
|
61
|
+
});
|
|
62
|
+
} else {
|
|
63
|
+
obj[key] = value;
|
|
64
|
+
}
|
|
65
|
+
return obj;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var classes = {
|
|
69
|
+
root: function root(_ref) {
|
|
70
|
+
var props = _ref.props;
|
|
71
|
+
return [utils.classNames('p-metergroup p-component', {
|
|
72
|
+
'p-metergroup-horizontal': props.orientation === 'horizontal',
|
|
73
|
+
'p-metergroup-vertical': props.orientation === 'vertical'
|
|
74
|
+
})];
|
|
75
|
+
},
|
|
76
|
+
metercontainer: 'p-metergroup-meter-container',
|
|
77
|
+
meter: 'p-metergroup-meter',
|
|
78
|
+
labellist: function labellist(_ref2) {
|
|
79
|
+
var props = _ref2.props;
|
|
80
|
+
return utils.classNames('p-metergroup-label-list', {
|
|
81
|
+
'p-metergroup-label-list-start': props.labelPosition === 'start',
|
|
82
|
+
'p-metergroup-label-list-end': props.labelPosition === 'end',
|
|
83
|
+
'p-metergroup-label-list-vertical': props.labelOrientation === 'vertical',
|
|
84
|
+
'p-metergroup-label-list-horizontal': props.labelOrientation === 'horizontal'
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
labellistitem: 'p-metergroup-label-list-item',
|
|
88
|
+
labelicon: 'p-metergroup-label-icon',
|
|
89
|
+
labellisttype: 'p-metergroup-label-type',
|
|
90
|
+
label: 'p-metergroup-label'
|
|
91
|
+
};
|
|
92
|
+
var styles = "\n@layer primereact {\n .p-metergroup {\n position: relative;\n overflow: hidden;\n }\n\n .p-metergroup-vertical.p-metergroup {\n display: flex;\n }\n\n .p-metergroup-vertical .p-metergroup-meter-container {\n flex-direction: column;\n }\n\n .p-metergroup-meter-container {\n display: flex;\n }\n\n .p-metergroup-label-list {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .p-metergroup-vertical .p-metergroup-label-list {\n align-items: start;\n }\n\n .p-metergroup-label-list-vertical {\n flex-direction: column;\n }\n\n .p-metergroup-label-list-horizontal {\n flex-direction: row;\n }\n\n .p-metergroup-label-list-item {\n display: inline-flex;\n align-items: center;\n }\n\n .p-metergroup-label-type {\n display: inline-block;\n }\n}\n";
|
|
93
|
+
var MeterGroupBase = componentbase.ComponentBase.extend({
|
|
94
|
+
defaultProps: {
|
|
95
|
+
__TYPE: 'MeterGroup',
|
|
96
|
+
__parentMetadata: null,
|
|
97
|
+
children: undefined,
|
|
98
|
+
className: null,
|
|
99
|
+
values: null,
|
|
100
|
+
min: 0,
|
|
101
|
+
max: 100,
|
|
102
|
+
orientation: 'horizontal',
|
|
103
|
+
labelPosition: 'end',
|
|
104
|
+
labelOrientation: 'horizontal',
|
|
105
|
+
start: null,
|
|
106
|
+
end: null,
|
|
107
|
+
meter: null,
|
|
108
|
+
labelList: null
|
|
109
|
+
},
|
|
110
|
+
css: {
|
|
111
|
+
classes: classes,
|
|
112
|
+
styles: styles
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
117
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
118
|
+
var MeterGroup = function MeterGroup(inProps) {
|
|
119
|
+
var context = react.useContext(api.PrimeReactContext);
|
|
120
|
+
var props = MeterGroupBase.getProps(inProps, context);
|
|
121
|
+
var values = props.values,
|
|
122
|
+
min = props.min,
|
|
123
|
+
max = props.max,
|
|
124
|
+
orientation = props.orientation,
|
|
125
|
+
labelPosition = props.labelPosition,
|
|
126
|
+
start = props.start,
|
|
127
|
+
end = props.end,
|
|
128
|
+
meter = props.meter,
|
|
129
|
+
labelList = props.labelList;
|
|
130
|
+
var mergeProps = hooks.useMergeProps();
|
|
131
|
+
var _MeterGroupBase$setMe = MeterGroupBase.setMetaData(_objectSpread(_objectSpread({
|
|
132
|
+
props: props
|
|
133
|
+
}, props.__parentMetadata), {}, {
|
|
134
|
+
context: {
|
|
135
|
+
disabled: props.disabled
|
|
136
|
+
}
|
|
137
|
+
})),
|
|
138
|
+
ptm = _MeterGroupBase$setMe.ptm,
|
|
139
|
+
cx = _MeterGroupBase$setMe.cx,
|
|
140
|
+
isUnstyled = _MeterGroupBase$setMe.isUnstyled;
|
|
141
|
+
componentbase.useHandleStyle(MeterGroupBase.css.styles, isUnstyled, {
|
|
142
|
+
name: 'progressbar'
|
|
143
|
+
});
|
|
144
|
+
var totalPercent = 0;
|
|
145
|
+
var precentages = [];
|
|
146
|
+
values.map(function (item) {
|
|
147
|
+
totalPercent += item.value;
|
|
148
|
+
precentages.push(Math.round(item.value / totalPercent * 100));
|
|
149
|
+
});
|
|
150
|
+
var calculatePercentage = function calculatePercentage() {
|
|
151
|
+
var meterValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
152
|
+
var percentageOfItem = (meterValue - min) / (max - min) * 100;
|
|
153
|
+
return Math.round(Math.max(0, Math.min(100, percentageOfItem)));
|
|
154
|
+
};
|
|
155
|
+
var rootProps = mergeProps({
|
|
156
|
+
className: utils.classNames(props.className, cx('root', {
|
|
157
|
+
orientation: orientation
|
|
158
|
+
}))
|
|
159
|
+
}, MeterGroupBase.getOtherProps(props), ptm('root'));
|
|
160
|
+
var createMeters = function createMeters() {
|
|
161
|
+
var meters = values.map(function (item, index) {
|
|
162
|
+
var calculatedPercantage = calculatePercentage(item.value);
|
|
163
|
+
var meterInlineStyles = {
|
|
164
|
+
backgroundColor: item.color,
|
|
165
|
+
width: orientation === 'horizontal' ? calculatedPercantage + '%' : 'auto',
|
|
166
|
+
height: orientation === 'vertical' ? calculatedPercantage + '%' : 'auto'
|
|
167
|
+
};
|
|
168
|
+
var meterProps = mergeProps({
|
|
169
|
+
className: cx('meter'),
|
|
170
|
+
style: meterInlineStyles
|
|
171
|
+
}, ptm('meter'));
|
|
172
|
+
if (meter || item.meterTemplate) {
|
|
173
|
+
var meterTemplateProps = mergeProps({
|
|
174
|
+
className: cx('meter')
|
|
175
|
+
}, ptm('meter'));
|
|
176
|
+
return utils.ObjectUtils.getJSXElement(item.meterTemplate || meter, _objectSpread(_objectSpread({}, item), {}, {
|
|
177
|
+
percentage: calculatedPercantage,
|
|
178
|
+
index: index
|
|
179
|
+
}), meterTemplateProps);
|
|
180
|
+
} else {
|
|
181
|
+
return /*#__PURE__*/React.createElement("span", _extends({
|
|
182
|
+
key: index
|
|
183
|
+
}, meterProps));
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
var meterContainerProps = mergeProps({
|
|
187
|
+
className: cx('metercontainer')
|
|
188
|
+
}, ptm('metercontainer'));
|
|
189
|
+
return /*#__PURE__*/React.createElement("div", meterContainerProps, meters);
|
|
190
|
+
};
|
|
191
|
+
var createLabelList = function createLabelList() {
|
|
192
|
+
var labelListProps = mergeProps({
|
|
193
|
+
className: cx('labellist')
|
|
194
|
+
}, ptm('labellist'));
|
|
195
|
+
var labelItemProps = mergeProps({
|
|
196
|
+
className: cx('labellistitem')
|
|
197
|
+
}, ptm('labellistitem'));
|
|
198
|
+
var labelProps = mergeProps({
|
|
199
|
+
className: cx('label')
|
|
200
|
+
}, ptm('label'));
|
|
201
|
+
return /*#__PURE__*/React.createElement("ol", labelListProps, values.map(function (item, index) {
|
|
202
|
+
var labelIconProps = mergeProps({
|
|
203
|
+
className: utils.classNames(cx('labelicon'), item.icon),
|
|
204
|
+
style: {
|
|
205
|
+
color: item.color
|
|
206
|
+
}
|
|
207
|
+
}, ptm('labelicon'));
|
|
208
|
+
var labelListIconProps = mergeProps({
|
|
209
|
+
className: cx('labellisttype'),
|
|
210
|
+
style: {
|
|
211
|
+
backgroundColor: item.color
|
|
212
|
+
}
|
|
213
|
+
}, ptm('labellisttype'));
|
|
214
|
+
var labelIcon = item.icon ? /*#__PURE__*/React.createElement("i", labelIconProps) : /*#__PURE__*/React.createElement("span", labelListIconProps);
|
|
215
|
+
return /*#__PURE__*/React.createElement("li", _extends({
|
|
216
|
+
key: index
|
|
217
|
+
}, labelItemProps), labelIcon, /*#__PURE__*/React.createElement("span", labelProps, item === null || item === void 0 ? void 0 : item.label, " ", (item === null || item === void 0 ? void 0 : item.value) && "(".concat(item === null || item === void 0 ? void 0 : item.value, "%)")));
|
|
218
|
+
}));
|
|
219
|
+
};
|
|
220
|
+
var templateProps = {
|
|
221
|
+
totalPercent: totalPercent,
|
|
222
|
+
precentages: precentages,
|
|
223
|
+
values: values
|
|
224
|
+
};
|
|
225
|
+
var labelElement = utils.ObjectUtils.getJSXElement(labelList || createLabelList, {
|
|
226
|
+
values: values,
|
|
227
|
+
totalPercent: totalPercent
|
|
228
|
+
});
|
|
229
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rootProps, {
|
|
230
|
+
role: "meter",
|
|
231
|
+
"aria-valuemin": min,
|
|
232
|
+
"aria-valuemax": max,
|
|
233
|
+
"aria-valuenow": totalPercent
|
|
234
|
+
}), labelPosition === 'start' && labelElement, start && utils.ObjectUtils.getJSXElement(start, templateProps), createMeters(), end && utils.ObjectUtils.getJSXElement(end, templateProps), labelPosition === 'end' && labelElement);
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
exports.MeterGroup = MeterGroup;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/api"),n=require("primereact/utils"),l=require("primereact/componentbase");function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function s(e){var t=i(e,"string");return"symbol"===o(t)?t:String(t)}var c=l.ComponentBase.extend({defaultProps:{__TYPE:"MeterGroup",__parentMetadata:null,children:void 0,className:null,values:null,min:0,max:100,orientation:"horizontal",labelPosition:"end",labelOrientation:"horizontal",start:null,end:null,meter:null,labelList:null},css:{classes:{root:function(e){var t=e.props;return[n.classNames("p-metergroup p-component",{"p-metergroup-horizontal":"horizontal"===t.orientation,"p-metergroup-vertical":"vertical"===t.orientation})]},metercontainer:"p-metergroup-meter-container",meter:"p-metergroup-meter",labellist:function(e){var t=e.props;return n.classNames("p-metergroup-label-list",{"p-metergroup-label-list-start":"start"===t.labelPosition,"p-metergroup-label-list-end":"end"===t.labelPosition,"p-metergroup-label-list-vertical":"vertical"===t.labelOrientation,"p-metergroup-label-list-horizontal":"horizontal"===t.labelOrientation})},labellistitem:"p-metergroup-label-list-item",labelicon:"p-metergroup-label-icon",labellisttype:"p-metergroup-label-type",label:"p-metergroup-label"},styles:"\n@layer primereact {\n .p-metergroup {\n position: relative;\n overflow: hidden;\n }\n\n .p-metergroup-vertical.p-metergroup {\n display: flex;\n }\n\n .p-metergroup-vertical .p-metergroup-meter-container {\n flex-direction: column;\n }\n\n .p-metergroup-meter-container {\n display: flex;\n }\n\n .p-metergroup-label-list {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .p-metergroup-vertical .p-metergroup-label-list {\n align-items: start;\n }\n\n .p-metergroup-label-list-vertical {\n flex-direction: column;\n }\n\n .p-metergroup-label-list-horizontal {\n flex-direction: row;\n }\n\n .p-metergroup-label-list-item {\n display: inline-flex;\n align-items: center;\n }\n\n .p-metergroup-label-type {\n display: inline-block;\n }\n}\n"}});function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){var n,l,a;n=e,a=r[t],(l=s(l=t))in n?Object.defineProperty(n,l,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[l]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}exports.MeterGroup=function(o){var i=e.useContext(r.PrimeReactContext),s=c.getProps(o,i),p=s.values,m=s.min,b=s.max,g=s.orientation,v=s.labelPosition,y=s.start,f=s.end,d=s.meter,O=s.labelList,h=t.useMergeProps(),P=c.setMetaData(u(u({props:s},s.__parentMetadata),{},{context:{disabled:s.disabled}})),j=P.ptm,x=P.cx;l.useHandleStyle(c.css.styles,P.isUnstyled,{name:"progressbar"});var E=0,N=[];p.map((function(e){E+=e.value,N.push(Math.round(e.value/E*100))}));var S,w,M=function(){return Math.round(Math.max(0,Math.min(100,((arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)-m)/(b-m)*100)))},R=h({className:n.classNames(s.className,x("root",{orientation:g}))},c.getOtherProps(s),j("root")),z={totalPercent:E,precentages:N,values:p},_=n.ObjectUtils.getJSXElement(O||function(){var e=h({className:x("labellist")},j("labellist")),t=h({className:x("labellistitem")},j("labellistitem")),r=h({className:x("label")},j("label"));return React.createElement("ol",e,p.map((function(e,l){var o=h({className:n.classNames(x("labelicon"),e.icon),style:{color:e.color}},j("labelicon")),i=h({className:x("labellisttype"),style:{backgroundColor:e.color}},j("labellisttype")),s=e.icon?React.createElement("i",o):React.createElement("span",i);return React.createElement("li",a({key:l},t),s,React.createElement("span",r,null==e?void 0:e.label," ",(null==e?void 0:e.value)&&"(".concat(null==e?void 0:e.value,"%)")))})))},{values:p,totalPercent:E});return React.createElement("div",a({},R,{role:"meter","aria-valuemin":m,"aria-valuemax":b,"aria-valuenow":E}),"start"===v&&_,y&&n.ObjectUtils.getJSXElement(y,z),(S=p.map((function(e,t){var r=M(e.value),l={backgroundColor:e.color,width:"horizontal"===g?r+"%":"auto",height:"vertical"===g?r+"%":"auto"},o=h({className:x("meter"),style:l},j("meter"));if(d||e.meterTemplate){var i=h({className:x("meter")},j("meter"));return n.ObjectUtils.getJSXElement(e.meterTemplate||d,u(u({},e),{},{percentage:r,index:t}),i)}return React.createElement("span",a({key:t},o))})),w=h({className:x("metercontainer")},j("metercontainer")),React.createElement("div",w,S)),f&&n.ObjectUtils.getJSXElement(f,z),"end"===v&&_)};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* MeterGroup displays scalar measurements within a known range.
|
|
4
|
+
*
|
|
5
|
+
* [Live Demo](https://www.primereact.org/metergroup/)
|
|
6
|
+
*
|
|
7
|
+
* @module metergroup
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import { ComponentType, ReactNode } from 'react';
|
|
12
|
+
import { CSSTransitionProps as ReactCSSTransitionProps } from 'react-transition-group/CSSTransition';
|
|
13
|
+
import { CheckboxPassThroughOptions } from '../checkbox/checkbox';
|
|
14
|
+
import { ComponentHooks } from '../componentbase/componentbase';
|
|
15
|
+
import { CSSTransitionProps } from '../csstransition/csstransition';
|
|
16
|
+
import { PassThroughOptions } from '../passthrough';
|
|
17
|
+
import { SelectItemOptionsType } from '../selectitem/selectitem';
|
|
18
|
+
import { TooltipPassThroughOptions } from '../tooltip/tooltip';
|
|
19
|
+
import { TooltipOptions } from '../tooltip/tooltipoptions';
|
|
20
|
+
import { IconType, PassThroughType } from '../utils/utils';
|
|
21
|
+
import { VirtualScrollerPassThroughOptions, VirtualScrollerProps } from '../virtualscroller/virtualscroller';
|
|
22
|
+
|
|
23
|
+
export declare type MeterGroupPassThroughType<T> = PassThroughType<T, MeterGroupPassThroughMethodOptions>;
|
|
24
|
+
export declare type MeterGroupPassThroughTransitionType = ReactCSSTransitionProps | ((options: MeterGroupPassThroughMethodOptions) => ReactCSSTransitionProps) | undefined;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Defines current options in MeterGroup component.
|
|
28
|
+
*/
|
|
29
|
+
export interface MeterGroupContext {
|
|
30
|
+
/**
|
|
31
|
+
* Current disabled state of the component as a boolean.
|
|
32
|
+
* @defaultValue false
|
|
33
|
+
*/
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Custom passthrough(pt) option method.
|
|
39
|
+
*/
|
|
40
|
+
export interface MeterGroupPassThroughMethodOptions {
|
|
41
|
+
props: MeterGroupProps;
|
|
42
|
+
context: MeterGroupContext;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Custom passthrough(pt) options.
|
|
47
|
+
* @see {@link MeterGroupProps.pt}
|
|
48
|
+
*/
|
|
49
|
+
export interface MeterGroupPassThroughOptions {
|
|
50
|
+
/**
|
|
51
|
+
* Used to pass attributes to the root's DOM element.
|
|
52
|
+
*/
|
|
53
|
+
root?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
|
|
54
|
+
/**
|
|
55
|
+
* Used to pass attributes to the label list's DOM element.
|
|
56
|
+
*/
|
|
57
|
+
labellist?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLOListElement>>;
|
|
58
|
+
/**
|
|
59
|
+
* Used to pass attributes to the label list item's DOM element.
|
|
60
|
+
*/
|
|
61
|
+
labellistitem?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLLIElement>>;
|
|
62
|
+
/**
|
|
63
|
+
* Used to pass attributes to the label list type's DOM element.
|
|
64
|
+
*/
|
|
65
|
+
labellisttype?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLOrSVGElement | any>>;
|
|
66
|
+
/**
|
|
67
|
+
* Used to pass attributes to the label's DOM element.
|
|
68
|
+
*/
|
|
69
|
+
label?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLSpanElement>>;
|
|
70
|
+
/**
|
|
71
|
+
* Used to pass attributes to the meter container's DOM element.
|
|
72
|
+
*/
|
|
73
|
+
metercontainer?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
|
|
74
|
+
/**
|
|
75
|
+
* Used to pass attributes to the meter's DOM element.
|
|
76
|
+
*/
|
|
77
|
+
meter?: MeterGroupPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
interface MeterGroupValue {
|
|
81
|
+
value?: number;
|
|
82
|
+
label?: string | HTMLElement;
|
|
83
|
+
color?: string;
|
|
84
|
+
[key: string]: any;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
interface CustomRenderProps {
|
|
88
|
+
totaLPercent: number;
|
|
89
|
+
percentages: number[];
|
|
90
|
+
values: MeterGroupValue[];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Defines valid properties in MeterGroup component. In addition to these, all properties of HTMLDivElement can be used in this component.
|
|
95
|
+
* @group Properties
|
|
96
|
+
*/
|
|
97
|
+
interface MeterGroupProps {
|
|
98
|
+
/**
|
|
99
|
+
* Additional CSS classes to apply to the MeterGroup.
|
|
100
|
+
*/
|
|
101
|
+
className?: string;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* An array of values to be represented by the MeterGroup.
|
|
105
|
+
*/
|
|
106
|
+
values?: MeterGroupValue[];
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* The minimum value for the MeterGroup.
|
|
110
|
+
* @defaultValue 0
|
|
111
|
+
*/
|
|
112
|
+
min?: number;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* The maximum value for the MeterGroup.
|
|
116
|
+
* @defaultValue 100
|
|
117
|
+
*/
|
|
118
|
+
max?: number;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The orientation of the MeterGroup. Can be either 'horizontal' or 'vertical'.
|
|
122
|
+
* @defaultValue 'horizontal'
|
|
123
|
+
*/
|
|
124
|
+
orientation?: 'horizontal' | 'vertical';
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* The position of the label. Can be either 'start' or 'end'.
|
|
128
|
+
* @defaultValue 'end'
|
|
129
|
+
*/
|
|
130
|
+
labelPosition?: 'start' | 'end';
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* The orientation of the label. Can be either 'horizontal' or 'vertical'.
|
|
134
|
+
* @defaultValue 'horizontal'
|
|
135
|
+
*/
|
|
136
|
+
labelOrientation?: 'horizontal' | 'vertical';
|
|
137
|
+
/**
|
|
138
|
+
* Uses to pass attributes to DOM elements inside the component.
|
|
139
|
+
* @type {MeterGroupPassThroughOptions}
|
|
140
|
+
*/
|
|
141
|
+
pt?: MeterGroupPassThroughOptions;
|
|
142
|
+
/**
|
|
143
|
+
* Used to configure passthrough(pt) options of the component.
|
|
144
|
+
* @type {PassThroughOptions}
|
|
145
|
+
*/
|
|
146
|
+
ptOptions?: PassThroughOptions;
|
|
147
|
+
/**
|
|
148
|
+
* A function to render custom start label.
|
|
149
|
+
* @param {CustomRenderProps} prop - Custom Render Props
|
|
150
|
+
*/
|
|
151
|
+
start?: (props: CustomRenderProps) => ReactNode;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* A function to render custom end label.
|
|
155
|
+
* @param {CustomRenderProps} prop - Custom Render Props
|
|
156
|
+
*/
|
|
157
|
+
end?: (props: CustomRenderProps) => ReactNode;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* A function to render a custom meter.
|
|
161
|
+
* @param {CustomRenderProps} prop - Custom Render Props
|
|
162
|
+
*/
|
|
163
|
+
meter?: (props: CustomRenderProps) => ReactNode;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* A function to render a custom label list.
|
|
167
|
+
* @param {CustomRenderProps} prop - Custom Render Props
|
|
168
|
+
*/
|
|
169
|
+
labelList?: (props: CustomRenderProps) => ReactNode;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* **PrimeReact - MeterGroup**
|
|
174
|
+
*
|
|
175
|
+
* _MeterGroup is an extension to standard input element with theming and keyfiltering._
|
|
176
|
+
*
|
|
177
|
+
* [Live Demo](https://www.primereact.org/metergroup/)
|
|
178
|
+
* --- ---
|
|
179
|
+
* 
|
|
180
|
+
*
|
|
181
|
+
* @group Component
|
|
182
|
+
*/
|
|
183
|
+
export declare class MeterGroup extends React.Component<MeterGroupProps, any> {}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useMergeProps } from 'primereact/hooks';
|
|
4
|
+
import { PrimeReactContext } from 'primereact/api';
|
|
5
|
+
import { classNames, ObjectUtils } from 'primereact/utils';
|
|
6
|
+
import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
|
|
7
|
+
|
|
8
|
+
function _extends() {
|
|
9
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
10
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
11
|
+
var source = arguments[i];
|
|
12
|
+
for (var key in source) {
|
|
13
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
14
|
+
target[key] = source[key];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
return _extends.apply(this, arguments);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function _typeof(o) {
|
|
24
|
+
"@babel/helpers - typeof";
|
|
25
|
+
|
|
26
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
27
|
+
return typeof o;
|
|
28
|
+
} : function (o) {
|
|
29
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
30
|
+
}, _typeof(o);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function _toPrimitive(input, hint) {
|
|
34
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
35
|
+
var prim = input[Symbol.toPrimitive];
|
|
36
|
+
if (prim !== undefined) {
|
|
37
|
+
var res = prim.call(input, hint || "default");
|
|
38
|
+
if (_typeof(res) !== "object") return res;
|
|
39
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
40
|
+
}
|
|
41
|
+
return (hint === "string" ? String : Number)(input);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _toPropertyKey(arg) {
|
|
45
|
+
var key = _toPrimitive(arg, "string");
|
|
46
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function _defineProperty(obj, key, value) {
|
|
50
|
+
key = _toPropertyKey(key);
|
|
51
|
+
if (key in obj) {
|
|
52
|
+
Object.defineProperty(obj, key, {
|
|
53
|
+
value: value,
|
|
54
|
+
enumerable: true,
|
|
55
|
+
configurable: true,
|
|
56
|
+
writable: true
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
obj[key] = value;
|
|
60
|
+
}
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var classes = {
|
|
65
|
+
root: function root(_ref) {
|
|
66
|
+
var props = _ref.props;
|
|
67
|
+
return [classNames('p-metergroup p-component', {
|
|
68
|
+
'p-metergroup-horizontal': props.orientation === 'horizontal',
|
|
69
|
+
'p-metergroup-vertical': props.orientation === 'vertical'
|
|
70
|
+
})];
|
|
71
|
+
},
|
|
72
|
+
metercontainer: 'p-metergroup-meter-container',
|
|
73
|
+
meter: 'p-metergroup-meter',
|
|
74
|
+
labellist: function labellist(_ref2) {
|
|
75
|
+
var props = _ref2.props;
|
|
76
|
+
return classNames('p-metergroup-label-list', {
|
|
77
|
+
'p-metergroup-label-list-start': props.labelPosition === 'start',
|
|
78
|
+
'p-metergroup-label-list-end': props.labelPosition === 'end',
|
|
79
|
+
'p-metergroup-label-list-vertical': props.labelOrientation === 'vertical',
|
|
80
|
+
'p-metergroup-label-list-horizontal': props.labelOrientation === 'horizontal'
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
labellistitem: 'p-metergroup-label-list-item',
|
|
84
|
+
labelicon: 'p-metergroup-label-icon',
|
|
85
|
+
labellisttype: 'p-metergroup-label-type',
|
|
86
|
+
label: 'p-metergroup-label'
|
|
87
|
+
};
|
|
88
|
+
var styles = "\n@layer primereact {\n .p-metergroup {\n position: relative;\n overflow: hidden;\n }\n\n .p-metergroup-vertical.p-metergroup {\n display: flex;\n }\n\n .p-metergroup-vertical .p-metergroup-meter-container {\n flex-direction: column;\n }\n\n .p-metergroup-meter-container {\n display: flex;\n }\n\n .p-metergroup-label-list {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .p-metergroup-vertical .p-metergroup-label-list {\n align-items: start;\n }\n\n .p-metergroup-label-list-vertical {\n flex-direction: column;\n }\n\n .p-metergroup-label-list-horizontal {\n flex-direction: row;\n }\n\n .p-metergroup-label-list-item {\n display: inline-flex;\n align-items: center;\n }\n\n .p-metergroup-label-type {\n display: inline-block;\n }\n}\n";
|
|
89
|
+
var MeterGroupBase = ComponentBase.extend({
|
|
90
|
+
defaultProps: {
|
|
91
|
+
__TYPE: 'MeterGroup',
|
|
92
|
+
__parentMetadata: null,
|
|
93
|
+
children: undefined,
|
|
94
|
+
className: null,
|
|
95
|
+
values: null,
|
|
96
|
+
min: 0,
|
|
97
|
+
max: 100,
|
|
98
|
+
orientation: 'horizontal',
|
|
99
|
+
labelPosition: 'end',
|
|
100
|
+
labelOrientation: 'horizontal',
|
|
101
|
+
start: null,
|
|
102
|
+
end: null,
|
|
103
|
+
meter: null,
|
|
104
|
+
labelList: null
|
|
105
|
+
},
|
|
106
|
+
css: {
|
|
107
|
+
classes: classes,
|
|
108
|
+
styles: styles
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
113
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
114
|
+
var MeterGroup = function MeterGroup(inProps) {
|
|
115
|
+
var context = useContext(PrimeReactContext);
|
|
116
|
+
var props = MeterGroupBase.getProps(inProps, context);
|
|
117
|
+
var values = props.values,
|
|
118
|
+
min = props.min,
|
|
119
|
+
max = props.max,
|
|
120
|
+
orientation = props.orientation,
|
|
121
|
+
labelPosition = props.labelPosition,
|
|
122
|
+
start = props.start,
|
|
123
|
+
end = props.end,
|
|
124
|
+
meter = props.meter,
|
|
125
|
+
labelList = props.labelList;
|
|
126
|
+
var mergeProps = useMergeProps();
|
|
127
|
+
var _MeterGroupBase$setMe = MeterGroupBase.setMetaData(_objectSpread(_objectSpread({
|
|
128
|
+
props: props
|
|
129
|
+
}, props.__parentMetadata), {}, {
|
|
130
|
+
context: {
|
|
131
|
+
disabled: props.disabled
|
|
132
|
+
}
|
|
133
|
+
})),
|
|
134
|
+
ptm = _MeterGroupBase$setMe.ptm,
|
|
135
|
+
cx = _MeterGroupBase$setMe.cx,
|
|
136
|
+
isUnstyled = _MeterGroupBase$setMe.isUnstyled;
|
|
137
|
+
useHandleStyle(MeterGroupBase.css.styles, isUnstyled, {
|
|
138
|
+
name: 'progressbar'
|
|
139
|
+
});
|
|
140
|
+
var totalPercent = 0;
|
|
141
|
+
var precentages = [];
|
|
142
|
+
values.map(function (item) {
|
|
143
|
+
totalPercent += item.value;
|
|
144
|
+
precentages.push(Math.round(item.value / totalPercent * 100));
|
|
145
|
+
});
|
|
146
|
+
var calculatePercentage = function calculatePercentage() {
|
|
147
|
+
var meterValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
148
|
+
var percentageOfItem = (meterValue - min) / (max - min) * 100;
|
|
149
|
+
return Math.round(Math.max(0, Math.min(100, percentageOfItem)));
|
|
150
|
+
};
|
|
151
|
+
var rootProps = mergeProps({
|
|
152
|
+
className: classNames(props.className, cx('root', {
|
|
153
|
+
orientation: orientation
|
|
154
|
+
}))
|
|
155
|
+
}, MeterGroupBase.getOtherProps(props), ptm('root'));
|
|
156
|
+
var createMeters = function createMeters() {
|
|
157
|
+
var meters = values.map(function (item, index) {
|
|
158
|
+
var calculatedPercantage = calculatePercentage(item.value);
|
|
159
|
+
var meterInlineStyles = {
|
|
160
|
+
backgroundColor: item.color,
|
|
161
|
+
width: orientation === 'horizontal' ? calculatedPercantage + '%' : 'auto',
|
|
162
|
+
height: orientation === 'vertical' ? calculatedPercantage + '%' : 'auto'
|
|
163
|
+
};
|
|
164
|
+
var meterProps = mergeProps({
|
|
165
|
+
className: cx('meter'),
|
|
166
|
+
style: meterInlineStyles
|
|
167
|
+
}, ptm('meter'));
|
|
168
|
+
if (meter || item.meterTemplate) {
|
|
169
|
+
var meterTemplateProps = mergeProps({
|
|
170
|
+
className: cx('meter')
|
|
171
|
+
}, ptm('meter'));
|
|
172
|
+
return ObjectUtils.getJSXElement(item.meterTemplate || meter, _objectSpread(_objectSpread({}, item), {}, {
|
|
173
|
+
percentage: calculatedPercantage,
|
|
174
|
+
index: index
|
|
175
|
+
}), meterTemplateProps);
|
|
176
|
+
} else {
|
|
177
|
+
return /*#__PURE__*/React.createElement("span", _extends({
|
|
178
|
+
key: index
|
|
179
|
+
}, meterProps));
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
var meterContainerProps = mergeProps({
|
|
183
|
+
className: cx('metercontainer')
|
|
184
|
+
}, ptm('metercontainer'));
|
|
185
|
+
return /*#__PURE__*/React.createElement("div", meterContainerProps, meters);
|
|
186
|
+
};
|
|
187
|
+
var createLabelList = function createLabelList() {
|
|
188
|
+
var labelListProps = mergeProps({
|
|
189
|
+
className: cx('labellist')
|
|
190
|
+
}, ptm('labellist'));
|
|
191
|
+
var labelItemProps = mergeProps({
|
|
192
|
+
className: cx('labellistitem')
|
|
193
|
+
}, ptm('labellistitem'));
|
|
194
|
+
var labelProps = mergeProps({
|
|
195
|
+
className: cx('label')
|
|
196
|
+
}, ptm('label'));
|
|
197
|
+
return /*#__PURE__*/React.createElement("ol", labelListProps, values.map(function (item, index) {
|
|
198
|
+
var labelIconProps = mergeProps({
|
|
199
|
+
className: classNames(cx('labelicon'), item.icon),
|
|
200
|
+
style: {
|
|
201
|
+
color: item.color
|
|
202
|
+
}
|
|
203
|
+
}, ptm('labelicon'));
|
|
204
|
+
var labelListIconProps = mergeProps({
|
|
205
|
+
className: cx('labellisttype'),
|
|
206
|
+
style: {
|
|
207
|
+
backgroundColor: item.color
|
|
208
|
+
}
|
|
209
|
+
}, ptm('labellisttype'));
|
|
210
|
+
var labelIcon = item.icon ? /*#__PURE__*/React.createElement("i", labelIconProps) : /*#__PURE__*/React.createElement("span", labelListIconProps);
|
|
211
|
+
return /*#__PURE__*/React.createElement("li", _extends({
|
|
212
|
+
key: index
|
|
213
|
+
}, labelItemProps), labelIcon, /*#__PURE__*/React.createElement("span", labelProps, item === null || item === void 0 ? void 0 : item.label, " ", (item === null || item === void 0 ? void 0 : item.value) && "(".concat(item === null || item === void 0 ? void 0 : item.value, "%)")));
|
|
214
|
+
}));
|
|
215
|
+
};
|
|
216
|
+
var templateProps = {
|
|
217
|
+
totalPercent: totalPercent,
|
|
218
|
+
precentages: precentages,
|
|
219
|
+
values: values
|
|
220
|
+
};
|
|
221
|
+
var labelElement = ObjectUtils.getJSXElement(labelList || createLabelList, {
|
|
222
|
+
values: values,
|
|
223
|
+
totalPercent: totalPercent
|
|
224
|
+
});
|
|
225
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, rootProps, {
|
|
226
|
+
role: "meter",
|
|
227
|
+
"aria-valuemin": min,
|
|
228
|
+
"aria-valuemax": max,
|
|
229
|
+
"aria-valuenow": totalPercent
|
|
230
|
+
}), labelPosition === 'start' && labelElement, start && ObjectUtils.getJSXElement(start, templateProps), createMeters(), end && ObjectUtils.getJSXElement(end, templateProps), labelPosition === 'end' && labelElement);
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
export { MeterGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as e}from"react";import{useMergeProps as t}from"primereact/hooks";import{PrimeReactContext as r}from"primereact/api";import{classNames as n,ObjectUtils as l}from"primereact/utils";import{ComponentBase as a,useHandleStyle as o}from"primereact/componentbase";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function c(e,t){if("object"!==p(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function m(e){var t=c(e,"string");return"symbol"===p(t)?t:String(t)}var s=a.extend({defaultProps:{__TYPE:"MeterGroup",__parentMetadata:null,children:void 0,className:null,values:null,min:0,max:100,orientation:"horizontal",labelPosition:"end",labelOrientation:"horizontal",start:null,end:null,meter:null,labelList:null},css:{classes:{root:function(e){var t=e.props;return[n("p-metergroup p-component",{"p-metergroup-horizontal":"horizontal"===t.orientation,"p-metergroup-vertical":"vertical"===t.orientation})]},metercontainer:"p-metergroup-meter-container",meter:"p-metergroup-meter",labellist:function(e){var t=e.props;return n("p-metergroup-label-list",{"p-metergroup-label-list-start":"start"===t.labelPosition,"p-metergroup-label-list-end":"end"===t.labelPosition,"p-metergroup-label-list-vertical":"vertical"===t.labelOrientation,"p-metergroup-label-list-horizontal":"horizontal"===t.labelOrientation})},labellistitem:"p-metergroup-label-list-item",labelicon:"p-metergroup-label-icon",labellisttype:"p-metergroup-label-type",label:"p-metergroup-label"},styles:"\n@layer primereact {\n .p-metergroup {\n position: relative;\n overflow: hidden;\n }\n\n .p-metergroup-vertical.p-metergroup {\n display: flex;\n }\n\n .p-metergroup-vertical .p-metergroup-meter-container {\n flex-direction: column;\n }\n\n .p-metergroup-meter-container {\n display: flex;\n }\n\n .p-metergroup-label-list {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n\n .p-metergroup-vertical .p-metergroup-label-list {\n align-items: start;\n }\n\n .p-metergroup-label-list-vertical {\n flex-direction: column;\n }\n\n .p-metergroup-label-list-horizontal {\n flex-direction: row;\n }\n\n .p-metergroup-label-list-item {\n display: inline-flex;\n align-items: center;\n }\n\n .p-metergroup-label-type {\n display: inline-block;\n }\n}\n"}});function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){var n,l,a;n=e,a=r[t],(l=m(l=t))in n?Object.defineProperty(n,l,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[l]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=function(a){var p=e(r),c=s.getProps(a,p),m=c.values,u=c.min,g=c.max,v=c.orientation,f=c.labelPosition,y=c.start,d=c.end,h=c.meter,O=c.labelList,P=t(),j=s.setMetaData(b(b({props:c},c.__parentMetadata),{},{context:{disabled:c.disabled}})),x=j.ptm,E=j.cx;o(s.css.styles,j.isUnstyled,{name:"progressbar"});var w=0,S=[];m.map((function(e){w+=e.value,S.push(Math.round(e.value/w*100))}));var N,z,M=function(){return Math.round(Math.max(0,Math.min(100,((arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)-u)/(g-u)*100)))},R=P({className:n(c.className,E("root",{orientation:v}))},s.getOtherProps(c),x("root")),k={totalPercent:w,precentages:S,values:m},_=l.getJSXElement(O||function(){var e=P({className:E("labellist")},x("labellist")),t=P({className:E("labellistitem")},x("labellistitem")),r=P({className:E("label")},x("label"));return React.createElement("ol",e,m.map((function(e,l){var a=P({className:n(E("labelicon"),e.icon),style:{color:e.color}},x("labelicon")),o=P({className:E("labellisttype"),style:{backgroundColor:e.color}},x("labellisttype")),p=e.icon?React.createElement("i",a):React.createElement("span",o);return React.createElement("li",i({key:l},t),p,React.createElement("span",r,null==e?void 0:e.label," ",(null==e?void 0:e.value)&&"(".concat(null==e?void 0:e.value,"%)")))})))},{values:m,totalPercent:w});return React.createElement("div",i({},R,{role:"meter","aria-valuemin":u,"aria-valuemax":g,"aria-valuenow":w}),"start"===f&&_,y&&l.getJSXElement(y,k),(N=m.map((function(e,t){var r=M(e.value),n={backgroundColor:e.color,width:"horizontal"===v?r+"%":"auto",height:"vertical"===v?r+"%":"auto"},a=P({className:E("meter"),style:n},x("meter"));if(h||e.meterTemplate){var o=P({className:E("meter")},x("meter"));return l.getJSXElement(e.meterTemplate||h,b(b({},e),{},{percentage:r,index:t}),o)}return React.createElement("span",i({key:t},a))})),z=P({className:E("metercontainer")},x("metercontainer")),React.createElement("div",z,N)),d&&l.getJSXElement(d,k),"end"===f&&_)};export{g as MeterGroup};
|