@cratis/scene.primereact 1.1.0 → 2.0.0
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/.storybook/preview.tsx +44 -0
- package/MenuItem.ts +57 -0
- package/PrimeSeverity.ts +17 -0
- package/README.md +79 -92
- package/TreeNode.ts +68 -0
- package/button/ButtonGallery.stories.tsx +1 -1
- package/button/PrimeButton.tsx +26 -8
- package/button/PrimeButtonGroup.tsx +4 -1
- package/button/PrimeSpeedDial.tsx +23 -5
- package/button/PrimeSplitButton.tsx +11 -5
- package/button/SplitButton.tsx +135 -0
- package/button/index.ts +1 -0
- package/data/Column.tsx +62 -0
- package/data/ColumnDefinition.ts +10 -1
- package/data/DataGallery.stories.tsx +0 -5
- package/data/Pagination.tsx +82 -0
- package/data/PrimeColumn.tsx +17 -7
- package/data/PrimeDataTable.tsx +111 -16
- package/data/PrimeDataView.tsx +30 -15
- package/data/PrimeOrderList.tsx +54 -13
- package/data/PrimeOrganizationChart.tsx +28 -8
- package/data/PrimePaginator.tsx +16 -14
- package/data/PrimePickList.tsx +56 -19
- package/data/PrimeTimeline.tsx +49 -14
- package/data/PrimeTree.tsx +29 -6
- package/data/columnDefinitions.ts +5 -3
- package/data/index.ts +1 -2
- package/data/primeTreeNodes.ts +68 -0
- package/data/selectOptions.ts +29 -0
- package/dist/cjs/button/PrimeButton.js +33 -9
- package/dist/cjs/button/PrimeButton.js.map +1 -1
- package/dist/cjs/button/PrimeButtonGroup.js +4 -1
- package/dist/cjs/button/PrimeButtonGroup.js.map +1 -1
- package/dist/cjs/button/PrimeSpeedDial.js +33 -4
- package/dist/cjs/button/PrimeSpeedDial.js.map +1 -1
- package/dist/cjs/button/PrimeSplitButton.js +14 -6
- package/dist/cjs/button/PrimeSplitButton.js.map +1 -1
- package/dist/cjs/button/SplitButton.js +126 -0
- package/dist/cjs/button/SplitButton.js.map +1 -0
- package/dist/cjs/data/Column.js +21 -0
- package/dist/cjs/data/Column.js.map +1 -0
- package/dist/cjs/data/Pagination.js +55 -0
- package/dist/cjs/data/Pagination.js.map +1 -0
- package/dist/cjs/data/PrimeColumn.js +14 -8
- package/dist/cjs/data/PrimeColumn.js.map +1 -1
- package/dist/cjs/data/PrimeDataTable.js +121 -16
- package/dist/cjs/data/PrimeDataTable.js.map +1 -1
- package/dist/cjs/data/PrimeDataView.js +42 -20
- package/dist/cjs/data/PrimeDataView.js.map +1 -1
- package/dist/cjs/data/PrimeOrderList.js +75 -12
- package/dist/cjs/data/PrimeOrderList.js.map +1 -1
- package/dist/cjs/data/PrimeOrganizationChart.js +34 -10
- package/dist/cjs/data/PrimeOrganizationChart.js.map +1 -1
- package/dist/cjs/data/PrimePaginator.js +16 -18
- package/dist/cjs/data/PrimePaginator.js.map +1 -1
- package/dist/cjs/data/PrimePickList.js +79 -19
- package/dist/cjs/data/PrimePickList.js.map +1 -1
- package/dist/cjs/data/PrimeTimeline.js +55 -19
- package/dist/cjs/data/PrimeTimeline.js.map +1 -1
- package/dist/cjs/data/PrimeTree.js +43 -4
- package/dist/cjs/data/PrimeTree.js.map +1 -1
- package/dist/cjs/data/columnDefinitions.js +5 -3
- package/dist/cjs/data/columnDefinitions.js.map +1 -1
- package/dist/cjs/data/primeTreeNodes.js +33 -0
- package/dist/cjs/data/primeTreeNodes.js.map +1 -0
- package/dist/cjs/data/selectOptions.js +22 -0
- package/dist/cjs/data/selectOptions.js.map +1 -0
- package/dist/cjs/form/PrimeAutoComplete.js +36 -15
- package/dist/cjs/form/PrimeAutoComplete.js.map +1 -1
- package/dist/cjs/form/PrimeCalendar.js +80 -10
- package/dist/cjs/form/PrimeCalendar.js.map +1 -1
- package/dist/cjs/form/PrimeCheckbox.js +11 -3
- package/dist/cjs/form/PrimeCheckbox.js.map +1 -1
- package/dist/cjs/form/PrimeChips.js +41 -7
- package/dist/cjs/form/PrimeChips.js.map +1 -1
- package/dist/cjs/form/PrimeColorPicker.js +57 -10
- package/dist/cjs/form/PrimeColorPicker.js.map +1 -1
- package/dist/cjs/form/PrimeDropdown.js +37 -9
- package/dist/cjs/form/PrimeDropdown.js.map +1 -1
- package/dist/cjs/form/PrimeIconField.js +15 -9
- package/dist/cjs/form/PrimeIconField.js.map +1 -1
- package/dist/cjs/form/PrimeInputNumber.js +26 -4
- package/dist/cjs/form/PrimeInputNumber.js.map +1 -1
- package/dist/cjs/form/PrimeInputTextarea.js +6 -4
- package/dist/cjs/form/PrimeInputTextarea.js.map +1 -1
- package/dist/cjs/form/PrimeKnob.js +13 -3
- package/dist/cjs/form/PrimeKnob.js.map +1 -1
- package/dist/cjs/form/PrimeListBox.js +11 -5
- package/dist/cjs/form/PrimeListBox.js.map +1 -1
- package/dist/cjs/form/PrimeMultiSelect.js +43 -8
- package/dist/cjs/form/PrimeMultiSelect.js.map +1 -1
- package/dist/cjs/form/PrimePassword.js +12 -6
- package/dist/cjs/form/PrimePassword.js.map +1 -1
- package/dist/cjs/form/PrimeRadioButton.js +13 -3
- package/dist/cjs/form/PrimeRadioButton.js.map +1 -1
- package/dist/cjs/form/PrimeRating.js +30 -5
- package/dist/cjs/form/PrimeRating.js.map +1 -1
- package/dist/cjs/form/PrimeSelectButton.js +15 -8
- package/dist/cjs/form/PrimeSelectButton.js.map +1 -1
- package/dist/cjs/form/PrimeSlider.js +14 -3
- package/dist/cjs/form/PrimeSlider.js.map +1 -1
- package/dist/cjs/form/PrimeToggleSwitch.js +15 -8
- package/dist/cjs/form/PrimeToggleSwitch.js.map +1 -1
- package/dist/cjs/form/PrimeTreeSelect.js +17 -8
- package/dist/cjs/form/PrimeTreeSelect.js.map +1 -1
- package/dist/cjs/form/TreeSelect.js +132 -0
- package/dist/cjs/form/TreeSelect.js.map +1 -0
- package/dist/cjs/index.js +41 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/media/Image.js +99 -0
- package/dist/cjs/media/Image.js.map +1 -0
- package/dist/cjs/media/PrimeCarousel.js +50 -16
- package/dist/cjs/media/PrimeCarousel.js.map +1 -1
- package/dist/cjs/media/PrimeGalleria.js +58 -18
- package/dist/cjs/media/PrimeGalleria.js.map +1 -1
- package/dist/cjs/media/PrimeImage.js +9 -3
- package/dist/cjs/media/PrimeImage.js.map +1 -1
- package/dist/cjs/menu/Dock.js +111 -0
- package/dist/cjs/menu/Dock.js.map +1 -0
- package/dist/cjs/menu/DockPosition.js +29 -0
- package/dist/cjs/menu/DockPosition.js.map +1 -0
- package/dist/cjs/menu/MegaMenu.js +138 -0
- package/dist/cjs/menu/MegaMenu.js.map +1 -0
- package/dist/cjs/menu/MenuItemAction.js +54 -0
- package/dist/cjs/menu/MenuItemAction.js.map +1 -0
- package/dist/cjs/menu/MenuItemContent.js +34 -0
- package/dist/cjs/menu/MenuItemContent.js.map +1 -0
- package/dist/cjs/menu/Menubar.js +139 -0
- package/dist/cjs/menu/Menubar.js.map +1 -0
- package/dist/cjs/menu/PanelMenu.js +112 -0
- package/dist/cjs/menu/PanelMenu.js.map +1 -0
- package/dist/cjs/menu/PrimeBreadcrumb.js +69 -7
- package/dist/cjs/menu/PrimeBreadcrumb.js.map +1 -1
- package/dist/cjs/menu/PrimeContextMenu.js +36 -12
- package/dist/cjs/menu/PrimeContextMenu.js.map +1 -1
- package/dist/cjs/menu/PrimeDock.js +35 -8
- package/dist/cjs/menu/PrimeDock.js.map +1 -1
- package/dist/cjs/menu/PrimeMegaMenu.js +12 -8
- package/dist/cjs/menu/PrimeMegaMenu.js.map +1 -1
- package/dist/cjs/menu/PrimeMenu.js +58 -2
- package/dist/cjs/menu/PrimeMenu.js.map +1 -1
- package/dist/cjs/menu/PrimeMenubar.js +10 -3
- package/dist/cjs/menu/PrimeMenubar.js.map +1 -1
- package/dist/cjs/menu/PrimePanelMenu.js +9 -4
- package/dist/cjs/menu/PrimePanelMenu.js.map +1 -1
- package/dist/cjs/menu/PrimeSteps.js +16 -10
- package/dist/cjs/menu/PrimeSteps.js.map +1 -1
- package/dist/cjs/menu/PrimeTabMenu.js +12 -9
- package/dist/cjs/menu/PrimeTabMenu.js.map +1 -1
- package/dist/cjs/menu/PrimeTieredMenu.js +9 -3
- package/dist/cjs/menu/PrimeTieredMenu.js.map +1 -1
- package/dist/cjs/menu/Steps.js +74 -0
- package/dist/cjs/menu/Steps.js.map +1 -0
- package/dist/cjs/menu/TabMenu.js +59 -0
- package/dist/cjs/menu/TabMenu.js.map +1 -0
- package/dist/cjs/menu/TieredMenu.js +131 -0
- package/dist/cjs/menu/TieredMenu.js.map +1 -0
- package/dist/cjs/menuItems.js.map +1 -1
- package/dist/cjs/messages/PrimeInlineMessage.js +40 -4
- package/dist/cjs/messages/PrimeInlineMessage.js.map +1 -1
- package/dist/cjs/messages/PrimeMessage.js +39 -4
- package/dist/cjs/messages/PrimeMessage.js.map +1 -1
- package/dist/cjs/messages/PrimeToast.js +96 -12
- package/dist/cjs/messages/PrimeToast.js.map +1 -1
- package/dist/cjs/misc/BlockUI.js +47 -0
- package/dist/cjs/misc/BlockUI.js.map +1 -0
- package/dist/cjs/misc/PrimeAvatar.js +26 -5
- package/dist/cjs/misc/PrimeAvatar.js.map +1 -1
- package/dist/cjs/misc/PrimeBadge.js +15 -3
- package/dist/cjs/misc/PrimeBadge.js.map +1 -1
- package/dist/cjs/misc/PrimeBlockUI.js +13 -3
- package/dist/cjs/misc/PrimeBlockUI.js.map +1 -1
- package/dist/cjs/misc/PrimeChip.js +41 -5
- package/dist/cjs/misc/PrimeChip.js.map +1 -1
- package/dist/cjs/misc/PrimeInplace.js +18 -5
- package/dist/cjs/misc/PrimeInplace.js.map +1 -1
- package/dist/cjs/misc/PrimeProgressBar.js +16 -6
- package/dist/cjs/misc/PrimeProgressBar.js.map +1 -1
- package/dist/cjs/misc/PrimeProgressSpinner.js +14 -3
- package/dist/cjs/misc/PrimeProgressSpinner.js.map +1 -1
- package/dist/cjs/misc/PrimeScrollTop.js +22 -12
- package/dist/cjs/misc/PrimeScrollTop.js.map +1 -1
- package/dist/cjs/misc/PrimeSkeleton.js +4 -0
- package/dist/cjs/misc/PrimeSkeleton.js.map +1 -1
- package/dist/cjs/misc/PrimeTag.js +21 -5
- package/dist/cjs/misc/PrimeTag.js.map +1 -1
- package/dist/cjs/misc/PrimeTerminal.js +22 -7
- package/dist/cjs/misc/PrimeTerminal.js.map +1 -1
- package/dist/cjs/misc/ScrollTop.js +70 -0
- package/dist/cjs/misc/ScrollTop.js.map +1 -0
- package/dist/cjs/overlay/ConfirmDialog.js +107 -0
- package/dist/cjs/overlay/ConfirmDialog.js.map +1 -0
- package/dist/cjs/overlay/PrimeConfirmDialog.js +15 -8
- package/dist/cjs/overlay/PrimeConfirmDialog.js.map +1 -1
- package/dist/cjs/overlay/PrimeDialog.js +50 -9
- package/dist/cjs/overlay/PrimeDialog.js.map +1 -1
- package/dist/cjs/overlay/PrimeOverlayPanel.js +29 -17
- package/dist/cjs/overlay/PrimeOverlayPanel.js.map +1 -1
- package/dist/cjs/overlay/PrimeSidebar.js +51 -12
- package/dist/cjs/overlay/PrimeSidebar.js.map +1 -1
- package/dist/cjs/overlay/PrimeTooltip.js +26 -13
- package/dist/cjs/overlay/PrimeTooltip.js.map +1 -1
- package/dist/cjs/panel/PrimeAccordion.js +39 -9
- package/dist/cjs/panel/PrimeAccordion.js.map +1 -1
- package/dist/cjs/panel/PrimeCard.js +25 -4
- package/dist/cjs/panel/PrimeCard.js.map +1 -1
- package/dist/cjs/panel/PrimeDivider.js +6 -1
- package/dist/cjs/panel/PrimeDivider.js.map +1 -1
- package/dist/cjs/panel/PrimeFieldset.js +37 -4
- package/dist/cjs/panel/PrimeFieldset.js.map +1 -1
- package/dist/cjs/panel/PrimePanel.js +41 -5
- package/dist/cjs/panel/PrimePanel.js.map +1 -1
- package/dist/cjs/panel/PrimeScrollPanel.js +20 -5
- package/dist/cjs/panel/PrimeScrollPanel.js.map +1 -1
- package/dist/cjs/panel/PrimeSplitter.js +26 -6
- package/dist/cjs/panel/PrimeSplitter.js.map +1 -1
- package/dist/cjs/panel/PrimeStepper.js +71 -29
- package/dist/cjs/panel/PrimeStepper.js.map +1 -1
- package/dist/cjs/panel/PrimeTabView.js +35 -10
- package/dist/cjs/panel/PrimeTabView.js.map +1 -1
- package/dist/cjs/panel/PrimeToolbar.js +18 -4
- package/dist/cjs/panel/PrimeToolbar.js.map +1 -1
- package/dist/cjs/primeReactComponents.js +12 -8
- package/dist/cjs/primeReactComponents.js.map +1 -1
- package/dist/cjs/primeReactPackage.js +7 -8
- package/dist/cjs/primeReactPackage.js.map +1 -1
- package/dist/cjs/properties.js +15 -0
- package/dist/cjs/properties.js.map +1 -1
- package/dist/cjs/screen/PrimeAction.js +24 -6
- package/dist/cjs/screen/PrimeAction.js.map +1 -1
- package/dist/cjs/screen/PrimeSummary.js +50 -26
- package/dist/cjs/screen/PrimeSummary.js.map +1 -1
- package/dist/cjs/theme/PrimeReactThemeFamily.js +34 -0
- package/dist/cjs/theme/PrimeReactThemeFamily.js.map +1 -0
- package/dist/cjs/theme/primeReactThemePreset.js +73 -0
- package/dist/cjs/theme/primeReactThemePreset.js.map +1 -0
- package/dist/cjs/theme/primeReactThemes.js +36 -18
- package/dist/cjs/theme/primeReactThemes.js.map +1 -1
- package/dist/cjs/theme/themePresets.js +364 -331
- package/dist/cjs/theme/themePresets.js.map +1 -1
- package/dist/cjs/theme/usePrimeReactTheme.js +46 -25
- package/dist/cjs/theme/usePrimeReactTheme.js.map +1 -1
- package/dist/cjs/treeNodes.js.map +1 -1
- package/dist/esm/MenuItem.d.ts +10 -0
- package/dist/esm/MenuItem.d.ts.map +1 -0
- package/dist/esm/MenuItem.js +2 -0
- package/dist/esm/MenuItem.js.map +1 -0
- package/dist/esm/PrimeSeverity.d.ts +2 -0
- package/dist/esm/PrimeSeverity.d.ts.map +1 -0
- package/dist/esm/PrimeSeverity.js +2 -0
- package/dist/esm/PrimeSeverity.js.map +1 -0
- package/dist/esm/TreeNode.d.ts +12 -0
- package/dist/esm/TreeNode.d.ts.map +1 -0
- package/dist/esm/TreeNode.js +2 -0
- package/dist/esm/TreeNode.js.map +1 -0
- package/dist/esm/button/ButtonGallery.stories.js +1 -1
- package/dist/esm/button/ButtonGallery.stories.js.map +1 -1
- package/dist/esm/button/PrimeButton.d.ts.map +1 -1
- package/dist/esm/button/PrimeButton.js +35 -11
- package/dist/esm/button/PrimeButton.js.map +1 -1
- package/dist/esm/button/PrimeButtonGroup.d.ts.map +1 -1
- package/dist/esm/button/PrimeButtonGroup.js +4 -1
- package/dist/esm/button/PrimeButtonGroup.js.map +1 -1
- package/dist/esm/button/PrimeSpeedDial.d.ts.map +1 -1
- package/dist/esm/button/PrimeSpeedDial.js +34 -5
- package/dist/esm/button/PrimeSpeedDial.js.map +1 -1
- package/dist/esm/button/PrimeSplitButton.d.ts.map +1 -1
- package/dist/esm/button/PrimeSplitButton.js +13 -5
- package/dist/esm/button/PrimeSplitButton.js.map +1 -1
- package/dist/esm/button/SplitButton.d.ts +12 -0
- package/dist/esm/button/SplitButton.d.ts.map +1 -0
- package/dist/esm/button/SplitButton.js +124 -0
- package/dist/esm/button/SplitButton.js.map +1 -0
- package/dist/esm/button/index.d.ts +1 -0
- package/dist/esm/button/index.d.ts.map +1 -1
- package/dist/esm/button/index.js +1 -0
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/data/Column.d.ts +10 -0
- package/dist/esm/data/Column.d.ts.map +1 -0
- package/dist/esm/data/Column.js +19 -0
- package/dist/esm/data/Column.js.map +1 -0
- package/dist/esm/data/ColumnDefinition.d.ts.map +1 -1
- package/dist/esm/data/DataGallery.stories.d.ts.map +1 -1
- package/dist/esm/data/DataGallery.stories.js +0 -5
- package/dist/esm/data/DataGallery.stories.js.map +1 -1
- package/dist/esm/data/Pagination.d.ts +9 -0
- package/dist/esm/data/Pagination.d.ts.map +1 -0
- package/dist/esm/data/Pagination.js +53 -0
- package/dist/esm/data/Pagination.js.map +1 -0
- package/dist/esm/data/PrimeColumn.d.ts.map +1 -1
- package/dist/esm/data/PrimeColumn.js +13 -7
- package/dist/esm/data/PrimeColumn.js.map +1 -1
- package/dist/esm/data/PrimeDataTable.d.ts +1 -1
- package/dist/esm/data/PrimeDataTable.d.ts.map +1 -1
- package/dist/esm/data/PrimeDataTable.js +122 -17
- package/dist/esm/data/PrimeDataTable.js.map +1 -1
- package/dist/esm/data/PrimeDataView.d.ts.map +1 -1
- package/dist/esm/data/PrimeDataView.js +44 -22
- package/dist/esm/data/PrimeDataView.js.map +1 -1
- package/dist/esm/data/PrimeOrderList.d.ts.map +1 -1
- package/dist/esm/data/PrimeOrderList.js +76 -13
- package/dist/esm/data/PrimeOrderList.js.map +1 -1
- package/dist/esm/data/PrimeOrganizationChart.d.ts.map +1 -1
- package/dist/esm/data/PrimeOrganizationChart.js +35 -11
- package/dist/esm/data/PrimeOrganizationChart.js.map +1 -1
- package/dist/esm/data/PrimePaginator.d.ts.map +1 -1
- package/dist/esm/data/PrimePaginator.js +16 -18
- package/dist/esm/data/PrimePaginator.js.map +1 -1
- package/dist/esm/data/PrimePickList.d.ts.map +1 -1
- package/dist/esm/data/PrimePickList.js +80 -20
- package/dist/esm/data/PrimePickList.js.map +1 -1
- package/dist/esm/data/PrimeTimeline.d.ts.map +1 -1
- package/dist/esm/data/PrimeTimeline.js +55 -19
- package/dist/esm/data/PrimeTimeline.js.map +1 -1
- package/dist/esm/data/PrimeTree.d.ts.map +1 -1
- package/dist/esm/data/PrimeTree.js +44 -5
- package/dist/esm/data/PrimeTree.js.map +1 -1
- package/dist/esm/data/columnDefinitions.d.ts.map +1 -1
- package/dist/esm/data/columnDefinitions.js +5 -3
- package/dist/esm/data/columnDefinitions.js.map +1 -1
- package/dist/esm/data/index.d.ts +1 -2
- package/dist/esm/data/index.d.ts.map +1 -1
- package/dist/esm/data/index.js +1 -2
- package/dist/esm/data/index.js.map +1 -1
- package/dist/esm/data/primeTreeNodes.d.ts +10 -0
- package/dist/esm/data/primeTreeNodes.d.ts.map +1 -0
- package/dist/esm/data/primeTreeNodes.js +31 -0
- package/dist/esm/data/primeTreeNodes.js.map +1 -0
- package/dist/esm/data/selectOptions.d.ts +3 -0
- package/dist/esm/data/selectOptions.d.ts.map +1 -0
- package/dist/esm/data/selectOptions.js +20 -0
- package/dist/esm/data/selectOptions.js.map +1 -0
- package/dist/esm/for_primeReactPackage/when_rendering_every_declared_component.js +21 -1
- package/dist/esm/for_primeReactPackage/when_rendering_every_declared_component.js.map +1 -1
- package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.d.ts +2 -0
- package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.d.ts.map +1 -0
- package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.js +30 -0
- package/dist/esm/for_primeReactThemePreset/when_resolving_a_preset.js.map +1 -0
- package/dist/esm/for_primeReactThemes/when_checking_attribution.js +3 -3
- package/dist/esm/for_primeReactThemes/when_checking_attribution.js.map +1 -1
- package/dist/esm/for_primeReactThemes/when_checking_the_token_vocabulary.js +9 -3
- package/dist/esm/for_primeReactThemes/when_checking_the_token_vocabulary.js.map +1 -1
- package/dist/esm/form/FormGallery.stories.d.ts.map +1 -1
- package/dist/esm/form/FormGallery.stories.js +1 -5
- package/dist/esm/form/FormGallery.stories.js.map +1 -1
- package/dist/esm/form/PrimeAutoComplete.d.ts.map +1 -1
- package/dist/esm/form/PrimeAutoComplete.js +37 -16
- package/dist/esm/form/PrimeAutoComplete.js.map +1 -1
- package/dist/esm/form/PrimeCalendar.d.ts.map +1 -1
- package/dist/esm/form/PrimeCalendar.js +81 -11
- package/dist/esm/form/PrimeCalendar.js.map +1 -1
- package/dist/esm/form/PrimeCheckbox.d.ts.map +1 -1
- package/dist/esm/form/PrimeCheckbox.js +11 -3
- package/dist/esm/form/PrimeCheckbox.js.map +1 -1
- package/dist/esm/form/PrimeChips.d.ts.map +1 -1
- package/dist/esm/form/PrimeChips.js +44 -10
- package/dist/esm/form/PrimeChips.js.map +1 -1
- package/dist/esm/form/PrimeColorPicker.d.ts.map +1 -1
- package/dist/esm/form/PrimeColorPicker.js +58 -11
- package/dist/esm/form/PrimeColorPicker.js.map +1 -1
- package/dist/esm/form/PrimeDropdown.d.ts.map +1 -1
- package/dist/esm/form/PrimeDropdown.js +38 -10
- package/dist/esm/form/PrimeDropdown.js.map +1 -1
- package/dist/esm/form/PrimeIconField.d.ts.map +1 -1
- package/dist/esm/form/PrimeIconField.js +16 -10
- package/dist/esm/form/PrimeIconField.js.map +1 -1
- package/dist/esm/form/PrimeInputNumber.d.ts.map +1 -1
- package/dist/esm/form/PrimeInputNumber.js +27 -5
- package/dist/esm/form/PrimeInputNumber.js.map +1 -1
- package/dist/esm/form/PrimeInputTextarea.d.ts.map +1 -1
- package/dist/esm/form/PrimeInputTextarea.js +6 -4
- package/dist/esm/form/PrimeInputTextarea.js.map +1 -1
- package/dist/esm/form/PrimeKnob.d.ts.map +1 -1
- package/dist/esm/form/PrimeKnob.js +14 -4
- package/dist/esm/form/PrimeKnob.js.map +1 -1
- package/dist/esm/form/PrimeListBox.d.ts.map +1 -1
- package/dist/esm/form/PrimeListBox.js +12 -6
- package/dist/esm/form/PrimeListBox.js.map +1 -1
- package/dist/esm/form/PrimeMultiSelect.d.ts.map +1 -1
- package/dist/esm/form/PrimeMultiSelect.js +45 -10
- package/dist/esm/form/PrimeMultiSelect.js.map +1 -1
- package/dist/esm/form/PrimePassword.d.ts.map +1 -1
- package/dist/esm/form/PrimePassword.js +12 -6
- package/dist/esm/form/PrimePassword.js.map +1 -1
- package/dist/esm/form/PrimeRadioButton.d.ts.map +1 -1
- package/dist/esm/form/PrimeRadioButton.js +13 -3
- package/dist/esm/form/PrimeRadioButton.js.map +1 -1
- package/dist/esm/form/PrimeRating.d.ts.map +1 -1
- package/dist/esm/form/PrimeRating.js +31 -6
- package/dist/esm/form/PrimeRating.js.map +1 -1
- package/dist/esm/form/PrimeSelectButton.d.ts.map +1 -1
- package/dist/esm/form/PrimeSelectButton.js +16 -9
- package/dist/esm/form/PrimeSelectButton.js.map +1 -1
- package/dist/esm/form/PrimeSlider.d.ts.map +1 -1
- package/dist/esm/form/PrimeSlider.js +15 -4
- package/dist/esm/form/PrimeSlider.js.map +1 -1
- package/dist/esm/form/PrimeToggleSwitch.d.ts.map +1 -1
- package/dist/esm/form/PrimeToggleSwitch.js +15 -8
- package/dist/esm/form/PrimeToggleSwitch.js.map +1 -1
- package/dist/esm/form/PrimeTreeSelect.d.ts.map +1 -1
- package/dist/esm/form/PrimeTreeSelect.js +17 -8
- package/dist/esm/form/PrimeTreeSelect.js.map +1 -1
- package/dist/esm/form/TreeSelect.d.ts +10 -0
- package/dist/esm/form/TreeSelect.d.ts.map +1 -0
- package/dist/esm/form/TreeSelect.js +130 -0
- package/dist/esm/form/TreeSelect.js.map +1 -0
- package/dist/esm/form/index.d.ts +1 -2
- package/dist/esm/form/index.d.ts.map +1 -1
- package/dist/esm/form/index.js +1 -2
- package/dist/esm/form/index.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +22 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/media/Image.d.ts +10 -0
- package/dist/esm/media/Image.d.ts.map +1 -0
- package/dist/esm/media/Image.js +97 -0
- package/dist/esm/media/Image.js.map +1 -0
- package/dist/esm/media/MediaGallery.stories.js +1 -1
- package/dist/esm/media/MediaGallery.stories.js.map +1 -1
- package/dist/esm/media/PrimeCarousel.d.ts.map +1 -1
- package/dist/esm/media/PrimeCarousel.js +52 -18
- package/dist/esm/media/PrimeCarousel.js.map +1 -1
- package/dist/esm/media/PrimeGalleria.d.ts.map +1 -1
- package/dist/esm/media/PrimeGalleria.js +60 -20
- package/dist/esm/media/PrimeGalleria.js.map +1 -1
- package/dist/esm/media/PrimeImage.d.ts.map +1 -1
- package/dist/esm/media/PrimeImage.js +8 -2
- package/dist/esm/media/PrimeImage.js.map +1 -1
- package/dist/esm/media/index.d.ts +1 -0
- package/dist/esm/media/index.d.ts.map +1 -1
- package/dist/esm/media/index.js +1 -0
- package/dist/esm/media/index.js.map +1 -1
- package/dist/esm/menu/Dock.d.ts +9 -0
- package/dist/esm/menu/Dock.d.ts.map +1 -0
- package/dist/esm/menu/Dock.js +109 -0
- package/dist/esm/menu/Dock.js.map +1 -0
- package/dist/esm/menu/DockPosition.d.ts +7 -0
- package/dist/esm/menu/DockPosition.d.ts.map +1 -0
- package/dist/esm/menu/DockPosition.js +27 -0
- package/dist/esm/menu/DockPosition.js.map +1 -0
- package/dist/esm/menu/MegaMenu.d.ts +7 -0
- package/dist/esm/menu/MegaMenu.d.ts.map +1 -0
- package/dist/esm/menu/MegaMenu.js +136 -0
- package/dist/esm/menu/MegaMenu.js.map +1 -0
- package/dist/esm/menu/MenuGallery.stories.d.ts +1 -0
- package/dist/esm/menu/MenuGallery.stories.d.ts.map +1 -1
- package/dist/esm/menu/MenuGallery.stories.js +25 -3
- package/dist/esm/menu/MenuGallery.stories.js.map +1 -1
- package/dist/esm/menu/MenuItemAction.d.ts +12 -0
- package/dist/esm/menu/MenuItemAction.d.ts.map +1 -0
- package/dist/esm/menu/MenuItemAction.js +52 -0
- package/dist/esm/menu/MenuItemAction.js.map +1 -0
- package/dist/esm/menu/MenuItemContent.d.ts +6 -0
- package/dist/esm/menu/MenuItemContent.d.ts.map +1 -0
- package/dist/esm/menu/MenuItemContent.js +32 -0
- package/dist/esm/menu/MenuItemContent.js.map +1 -0
- package/dist/esm/menu/Menubar.d.ts +9 -0
- package/dist/esm/menu/Menubar.d.ts.map +1 -0
- package/dist/esm/menu/Menubar.js +137 -0
- package/dist/esm/menu/Menubar.js.map +1 -0
- package/dist/esm/menu/PanelMenu.d.ts +8 -0
- package/dist/esm/menu/PanelMenu.d.ts.map +1 -0
- package/dist/esm/menu/PanelMenu.js +110 -0
- package/dist/esm/menu/PanelMenu.js.map +1 -0
- package/dist/esm/menu/PrimeBreadcrumb.d.ts.map +1 -1
- package/dist/esm/menu/PrimeBreadcrumb.js +71 -9
- package/dist/esm/menu/PrimeBreadcrumb.js.map +1 -1
- package/dist/esm/menu/PrimeContextMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimeContextMenu.js +36 -12
- package/dist/esm/menu/PrimeContextMenu.js.map +1 -1
- package/dist/esm/menu/PrimeDock.d.ts.map +1 -1
- package/dist/esm/menu/PrimeDock.js +34 -7
- package/dist/esm/menu/PrimeDock.js.map +1 -1
- package/dist/esm/menu/PrimeMegaMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimeMegaMenu.js +11 -7
- package/dist/esm/menu/PrimeMegaMenu.js.map +1 -1
- package/dist/esm/menu/PrimeMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimeMenu.js +59 -3
- package/dist/esm/menu/PrimeMenu.js.map +1 -1
- package/dist/esm/menu/PrimeMenubar.d.ts.map +1 -1
- package/dist/esm/menu/PrimeMenubar.js +9 -2
- package/dist/esm/menu/PrimeMenubar.js.map +1 -1
- package/dist/esm/menu/PrimePanelMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimePanelMenu.js +8 -3
- package/dist/esm/menu/PrimePanelMenu.js.map +1 -1
- package/dist/esm/menu/PrimeSteps.d.ts.map +1 -1
- package/dist/esm/menu/PrimeSteps.js +16 -10
- package/dist/esm/menu/PrimeSteps.js.map +1 -1
- package/dist/esm/menu/PrimeTabMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimeTabMenu.js +11 -8
- package/dist/esm/menu/PrimeTabMenu.js.map +1 -1
- package/dist/esm/menu/PrimeTieredMenu.d.ts.map +1 -1
- package/dist/esm/menu/PrimeTieredMenu.js +8 -2
- package/dist/esm/menu/PrimeTieredMenu.js.map +1 -1
- package/dist/esm/menu/Steps.d.ts +8 -0
- package/dist/esm/menu/Steps.d.ts.map +1 -0
- package/dist/esm/menu/Steps.js +72 -0
- package/dist/esm/menu/Steps.js.map +1 -0
- package/dist/esm/menu/TabMenu.d.ts +8 -0
- package/dist/esm/menu/TabMenu.d.ts.map +1 -0
- package/dist/esm/menu/TabMenu.js +57 -0
- package/dist/esm/menu/TabMenu.js.map +1 -0
- package/dist/esm/menu/TieredMenu.d.ts +7 -0
- package/dist/esm/menu/TieredMenu.d.ts.map +1 -0
- package/dist/esm/menu/TieredMenu.js +129 -0
- package/dist/esm/menu/TieredMenu.js.map +1 -0
- package/dist/esm/menu/index.d.ts +10 -0
- package/dist/esm/menu/index.d.ts.map +1 -1
- package/dist/esm/menu/index.js +10 -0
- package/dist/esm/menu/index.js.map +1 -1
- package/dist/esm/menuItems.d.ts +1 -1
- package/dist/esm/menuItems.d.ts.map +1 -1
- package/dist/esm/menuItems.js.map +1 -1
- package/dist/esm/messages/MessageGallery.stories.js +1 -1
- package/dist/esm/messages/MessageGallery.stories.js.map +1 -1
- package/dist/esm/messages/PrimeInlineMessage.d.ts.map +1 -1
- package/dist/esm/messages/PrimeInlineMessage.js +42 -6
- package/dist/esm/messages/PrimeInlineMessage.js.map +1 -1
- package/dist/esm/messages/PrimeMessage.d.ts.map +1 -1
- package/dist/esm/messages/PrimeMessage.js +41 -6
- package/dist/esm/messages/PrimeMessage.js.map +1 -1
- package/dist/esm/messages/PrimeToast.d.ts.map +1 -1
- package/dist/esm/messages/PrimeToast.js +99 -15
- package/dist/esm/messages/PrimeToast.js.map +1 -1
- package/dist/esm/misc/BlockUI.d.ts +7 -0
- package/dist/esm/misc/BlockUI.d.ts.map +1 -0
- package/dist/esm/misc/BlockUI.js +45 -0
- package/dist/esm/misc/BlockUI.js.map +1 -0
- package/dist/esm/misc/MiscGallery.stories.js +1 -1
- package/dist/esm/misc/MiscGallery.stories.js.map +1 -1
- package/dist/esm/misc/PrimeAvatar.d.ts.map +1 -1
- package/dist/esm/misc/PrimeAvatar.js +27 -6
- package/dist/esm/misc/PrimeAvatar.js.map +1 -1
- package/dist/esm/misc/PrimeBadge.d.ts.map +1 -1
- package/dist/esm/misc/PrimeBadge.js +16 -4
- package/dist/esm/misc/PrimeBadge.js.map +1 -1
- package/dist/esm/misc/PrimeBlockUI.d.ts.map +1 -1
- package/dist/esm/misc/PrimeBlockUI.js +12 -2
- package/dist/esm/misc/PrimeBlockUI.js.map +1 -1
- package/dist/esm/misc/PrimeChip.d.ts.map +1 -1
- package/dist/esm/misc/PrimeChip.js +43 -7
- package/dist/esm/misc/PrimeChip.js.map +1 -1
- package/dist/esm/misc/PrimeInplace.d.ts.map +1 -1
- package/dist/esm/misc/PrimeInplace.js +19 -6
- package/dist/esm/misc/PrimeInplace.js.map +1 -1
- package/dist/esm/misc/PrimeProgressBar.d.ts.map +1 -1
- package/dist/esm/misc/PrimeProgressBar.js +16 -6
- package/dist/esm/misc/PrimeProgressBar.js.map +1 -1
- package/dist/esm/misc/PrimeProgressSpinner.d.ts.map +1 -1
- package/dist/esm/misc/PrimeProgressSpinner.js +15 -4
- package/dist/esm/misc/PrimeProgressSpinner.js.map +1 -1
- package/dist/esm/misc/PrimeScrollTop.d.ts.map +1 -1
- package/dist/esm/misc/PrimeScrollTop.js +21 -11
- package/dist/esm/misc/PrimeScrollTop.js.map +1 -1
- package/dist/esm/misc/PrimeSkeleton.d.ts.map +1 -1
- package/dist/esm/misc/PrimeSkeleton.js +4 -0
- package/dist/esm/misc/PrimeSkeleton.js.map +1 -1
- package/dist/esm/misc/PrimeTag.d.ts.map +1 -1
- package/dist/esm/misc/PrimeTag.js +23 -7
- package/dist/esm/misc/PrimeTag.js.map +1 -1
- package/dist/esm/misc/PrimeTerminal.d.ts.map +1 -1
- package/dist/esm/misc/PrimeTerminal.js +23 -8
- package/dist/esm/misc/PrimeTerminal.js.map +1 -1
- package/dist/esm/misc/ScrollTop.d.ts +8 -0
- package/dist/esm/misc/ScrollTop.d.ts.map +1 -0
- package/dist/esm/misc/ScrollTop.js +68 -0
- package/dist/esm/misc/ScrollTop.js.map +1 -0
- package/dist/esm/misc/index.d.ts +2 -0
- package/dist/esm/misc/index.d.ts.map +1 -1
- package/dist/esm/misc/index.js +2 -0
- package/dist/esm/misc/index.js.map +1 -1
- package/dist/esm/overlay/ConfirmDialog.d.ts +14 -0
- package/dist/esm/overlay/ConfirmDialog.d.ts.map +1 -0
- package/dist/esm/overlay/ConfirmDialog.js +105 -0
- package/dist/esm/overlay/ConfirmDialog.js.map +1 -0
- package/dist/esm/overlay/OverlayGallery.stories.js +1 -1
- package/dist/esm/overlay/OverlayGallery.stories.js.map +1 -1
- package/dist/esm/overlay/PrimeConfirmDialog.d.ts.map +1 -1
- package/dist/esm/overlay/PrimeConfirmDialog.js +14 -7
- package/dist/esm/overlay/PrimeConfirmDialog.js.map +1 -1
- package/dist/esm/overlay/PrimeDialog.d.ts.map +1 -1
- package/dist/esm/overlay/PrimeDialog.js +50 -9
- package/dist/esm/overlay/PrimeDialog.js.map +1 -1
- package/dist/esm/overlay/PrimeOverlayPanel.d.ts.map +1 -1
- package/dist/esm/overlay/PrimeOverlayPanel.js +30 -18
- package/dist/esm/overlay/PrimeOverlayPanel.js.map +1 -1
- package/dist/esm/overlay/PrimeSidebar.d.ts.map +1 -1
- package/dist/esm/overlay/PrimeSidebar.js +51 -12
- package/dist/esm/overlay/PrimeSidebar.js.map +1 -1
- package/dist/esm/overlay/PrimeTooltip.d.ts.map +1 -1
- package/dist/esm/overlay/PrimeTooltip.js +27 -14
- package/dist/esm/overlay/PrimeTooltip.js.map +1 -1
- package/dist/esm/overlay/index.d.ts +1 -0
- package/dist/esm/overlay/index.d.ts.map +1 -1
- package/dist/esm/overlay/index.js +1 -0
- package/dist/esm/overlay/index.js.map +1 -1
- package/dist/esm/panel/PanelGallery.stories.js +1 -1
- package/dist/esm/panel/PanelGallery.stories.js.map +1 -1
- package/dist/esm/panel/PrimeAccordion.d.ts.map +1 -1
- package/dist/esm/panel/PrimeAccordion.js +41 -11
- package/dist/esm/panel/PrimeAccordion.js.map +1 -1
- package/dist/esm/panel/PrimeCard.d.ts.map +1 -1
- package/dist/esm/panel/PrimeCard.js +26 -5
- package/dist/esm/panel/PrimeCard.js.map +1 -1
- package/dist/esm/panel/PrimeDivider.d.ts.map +1 -1
- package/dist/esm/panel/PrimeDivider.js +6 -1
- package/dist/esm/panel/PrimeDivider.js.map +1 -1
- package/dist/esm/panel/PrimeFieldset.d.ts.map +1 -1
- package/dist/esm/panel/PrimeFieldset.js +39 -6
- package/dist/esm/panel/PrimeFieldset.js.map +1 -1
- package/dist/esm/panel/PrimePanel.d.ts.map +1 -1
- package/dist/esm/panel/PrimePanel.js +42 -6
- package/dist/esm/panel/PrimePanel.js.map +1 -1
- package/dist/esm/panel/PrimeScrollPanel.d.ts.map +1 -1
- package/dist/esm/panel/PrimeScrollPanel.js +21 -6
- package/dist/esm/panel/PrimeScrollPanel.js.map +1 -1
- package/dist/esm/panel/PrimeSplitter.d.ts.map +1 -1
- package/dist/esm/panel/PrimeSplitter.js +28 -8
- package/dist/esm/panel/PrimeSplitter.js.map +1 -1
- package/dist/esm/panel/PrimeStepper.d.ts.map +1 -1
- package/dist/esm/panel/PrimeStepper.js +74 -32
- package/dist/esm/panel/PrimeStepper.js.map +1 -1
- package/dist/esm/panel/PrimeTabView.d.ts.map +1 -1
- package/dist/esm/panel/PrimeTabView.js +36 -11
- package/dist/esm/panel/PrimeTabView.js.map +1 -1
- package/dist/esm/panel/PrimeToolbar.d.ts.map +1 -1
- package/dist/esm/panel/PrimeToolbar.js +19 -5
- package/dist/esm/panel/PrimeToolbar.js.map +1 -1
- package/dist/esm/primeReactComponents.d.ts.map +1 -1
- package/dist/esm/primeReactComponents.js +12 -8
- package/dist/esm/primeReactComponents.js.map +1 -1
- package/dist/esm/primeReactPackage.d.ts.map +1 -1
- package/dist/esm/primeReactPackage.js +7 -8
- package/dist/esm/primeReactPackage.js.map +1 -1
- package/dist/esm/properties.d.ts +3 -0
- package/dist/esm/properties.d.ts.map +1 -1
- package/dist/esm/properties.js +15 -1
- package/dist/esm/properties.js.map +1 -1
- package/dist/esm/screen/PrimeAction.d.ts.map +1 -1
- package/dist/esm/screen/PrimeAction.js +25 -7
- package/dist/esm/screen/PrimeAction.js.map +1 -1
- package/dist/esm/screen/PrimeSummary.d.ts.map +1 -1
- package/dist/esm/screen/PrimeSummary.js +51 -27
- package/dist/esm/screen/PrimeSummary.js.map +1 -1
- package/dist/esm/theme/PrimeReactThemeFamily.d.ts +7 -0
- package/dist/esm/theme/PrimeReactThemeFamily.d.ts.map +1 -0
- package/dist/esm/theme/PrimeReactThemeFamily.js +32 -0
- package/dist/esm/theme/PrimeReactThemeFamily.js.map +1 -0
- package/dist/esm/theme/index.d.ts +2 -2
- package/dist/esm/theme/index.d.ts.map +1 -1
- package/dist/esm/theme/index.js +2 -2
- package/dist/esm/theme/index.js.map +1 -1
- package/dist/esm/theme/primeReactThemePreset.d.ts +7 -0
- package/dist/esm/theme/primeReactThemePreset.d.ts.map +1 -0
- package/dist/esm/theme/primeReactThemePreset.js +71 -0
- package/dist/esm/theme/primeReactThemePreset.js.map +1 -0
- package/dist/esm/theme/primeReactThemes.d.ts +1 -0
- package/dist/esm/theme/primeReactThemes.d.ts.map +1 -1
- package/dist/esm/theme/primeReactThemes.js +36 -19
- package/dist/esm/theme/primeReactThemes.js.map +1 -1
- package/dist/esm/theme/themePresets.d.ts +5 -1
- package/dist/esm/theme/themePresets.d.ts.map +1 -1
- package/dist/esm/theme/themePresets.js +364 -331
- package/dist/esm/theme/themePresets.js.map +1 -1
- package/dist/esm/theme/usePrimeReactTheme.d.ts +11 -1
- package/dist/esm/theme/usePrimeReactTheme.d.ts.map +1 -1
- package/dist/esm/theme/usePrimeReactTheme.js +47 -27
- package/dist/esm/theme/usePrimeReactTheme.js.map +1 -1
- package/dist/esm/treeNodes.d.ts +1 -1
- package/dist/esm/treeNodes.d.ts.map +1 -1
- package/dist/esm/treeNodes.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/for_menuItems/when_converting_entries.ts +1 -1
- package/for_primeReactPackage/when_rendering_every_declared_component.tsx +43 -1
- package/for_primeReactThemePreset/when_resolving_a_preset.ts +49 -0
- package/for_primeReactThemes/when_checking_attribution.ts +9 -3
- package/for_primeReactThemes/when_checking_the_token_vocabulary.ts +22 -3
- package/form/FormGallery.stories.tsx +1 -5
- package/form/PrimeAutoComplete.tsx +34 -18
- package/form/PrimeCalendar.tsx +60 -11
- package/form/PrimeCheckbox.tsx +12 -4
- package/form/PrimeChips.tsx +29 -9
- package/form/PrimeColorPicker.tsx +56 -12
- package/form/PrimeDropdown.tsx +29 -11
- package/form/PrimeIconField.tsx +12 -5
- package/form/PrimeInputNumber.tsx +19 -5
- package/form/PrimeInputTextarea.tsx +8 -6
- package/form/PrimeKnob.tsx +12 -4
- package/form/PrimeListBox.tsx +13 -7
- package/form/PrimeMultiSelect.tsx +35 -10
- package/form/PrimePassword.tsx +12 -6
- package/form/PrimeRadioButton.tsx +14 -4
- package/form/PrimeRating.tsx +23 -6
- package/form/PrimeSelectButton.tsx +17 -9
- package/form/PrimeSlider.tsx +13 -4
- package/form/PrimeToggleSwitch.tsx +16 -9
- package/form/PrimeTreeSelect.tsx +18 -10
- package/form/TreeSelect.tsx +158 -0
- package/form/index.ts +1 -2
- package/index.ts +3 -0
- package/media/Image.tsx +104 -0
- package/media/MediaGallery.stories.tsx +1 -1
- package/media/PrimeCarousel.tsx +35 -14
- package/media/PrimeGalleria.tsx +43 -18
- package/media/PrimeImage.tsx +6 -2
- package/media/index.ts +1 -0
- package/menu/Dock.tsx +109 -0
- package/menu/DockPosition.ts +32 -0
- package/menu/MegaMenu.tsx +138 -0
- package/menu/MenuGallery.stories.tsx +31 -3
- package/menu/MenuItemAction.tsx +92 -0
- package/menu/MenuItemContent.tsx +36 -0
- package/menu/Menubar.tsx +149 -0
- package/menu/PanelMenu.tsx +107 -0
- package/menu/PrimeBreadcrumb.tsx +62 -7
- package/menu/PrimeContextMenu.tsx +43 -9
- package/menu/PrimeDock.tsx +33 -6
- package/menu/PrimeMegaMenu.tsx +9 -12
- package/menu/PrimeMenu.tsx +64 -1
- package/menu/PrimeMenubar.tsx +7 -2
- package/menu/PrimePanelMenu.tsx +6 -5
- package/menu/PrimeSteps.tsx +13 -15
- package/menu/PrimeTabMenu.tsx +8 -13
- package/menu/PrimeTieredMenu.tsx +6 -2
- package/menu/Steps.tsx +79 -0
- package/menu/TabMenu.tsx +72 -0
- package/menu/TieredMenu.tsx +136 -0
- package/menu/index.ts +10 -0
- package/menuItems.ts +1 -1
- package/messages/MessageGallery.stories.tsx +1 -1
- package/messages/PrimeInlineMessage.tsx +37 -6
- package/messages/PrimeMessage.tsx +35 -8
- package/messages/PrimeToast.tsx +84 -9
- package/misc/BlockUI.tsx +51 -0
- package/misc/MiscGallery.stories.tsx +1 -1
- package/misc/PrimeAvatar.tsx +17 -6
- package/misc/PrimeBadge.tsx +17 -5
- package/misc/PrimeBlockUI.tsx +13 -3
- package/misc/PrimeChip.tsx +27 -7
- package/misc/PrimeInplace.tsx +17 -5
- package/misc/PrimeProgressBar.tsx +11 -7
- package/misc/PrimeProgressSpinner.tsx +14 -1
- package/misc/PrimeScrollTop.tsx +16 -8
- package/misc/PrimeSkeleton.tsx +4 -0
- package/misc/PrimeTag.tsx +17 -6
- package/misc/PrimeTerminal.tsx +18 -9
- package/misc/ScrollTop.tsx +81 -0
- package/misc/index.ts +2 -0
- package/overlay/ConfirmDialog.tsx +135 -0
- package/overlay/OverlayGallery.stories.tsx +1 -1
- package/overlay/PrimeConfirmDialog.tsx +15 -10
- package/overlay/PrimeDialog.tsx +35 -8
- package/overlay/PrimeOverlayPanel.tsx +20 -8
- package/overlay/PrimeSidebar.tsx +38 -12
- package/overlay/PrimeTooltip.tsx +24 -10
- package/overlay/index.ts +1 -0
- package/package.json +19 -13
- package/panel/PanelGallery.stories.tsx +1 -1
- package/panel/PrimeAccordion.tsx +28 -10
- package/panel/PrimeCard.tsx +18 -3
- package/panel/PrimeDivider.tsx +6 -1
- package/panel/PrimeFieldset.tsx +25 -3
- package/panel/PrimePanel.tsx +26 -7
- package/panel/PrimeScrollPanel.tsx +16 -8
- package/panel/PrimeSplitter.tsx +24 -7
- package/panel/PrimeStepper.tsx +57 -20
- package/panel/PrimeTabView.tsx +29 -9
- package/panel/PrimeToolbar.tsx +13 -1
- package/primeReactComponents.ts +0 -8
- package/primeReactPackage.ts +8 -7
- package/primeReactTheme.css +56 -33
- package/properties.ts +30 -0
- package/screen/PrimeAction.tsx +20 -6
- package/screen/PrimeSummary.tsx +36 -13
- package/theme/PrimeReactThemeFamily.ts +37 -0
- package/theme/index.ts +2 -2
- package/theme/primeReactThemePreset.ts +83 -0
- package/theme/primeReactThemes.ts +37 -18
- package/theme/themePresets.ts +381 -336
- package/theme/usePrimeReactTheme.ts +73 -25
- package/treeNodes.ts +1 -1
- package/.storybook/preview.ts +0 -22
- package/data/PrimeTreeTable.tsx +0 -32
- package/data/PrimeVirtualScroller.tsx +0 -31
- package/dist/cjs/data/PrimeTreeTable.js +0 -40
- package/dist/cjs/data/PrimeTreeTable.js.map +0 -1
- package/dist/cjs/data/PrimeVirtualScroller.js +0 -34
- package/dist/cjs/data/PrimeVirtualScroller.js.map +0 -1
- package/dist/cjs/form/PrimeCascadeSelect.js +0 -32
- package/dist/cjs/form/PrimeCascadeSelect.js.map +0 -1
- package/dist/cjs/form/PrimeInputMask.js +0 -26
- package/dist/cjs/form/PrimeInputMask.js.map +0 -1
- package/dist/cjs/theme/applyPrimeReactTheme.js +0 -51
- package/dist/cjs/theme/applyPrimeReactTheme.js.map +0 -1
- package/dist/cjs/theme/primeReactThemeStylesheet.js +0 -34
- package/dist/cjs/theme/primeReactThemeStylesheet.js.map +0 -1
- package/dist/esm/data/PrimeTreeTable.d.ts +0 -3
- package/dist/esm/data/PrimeTreeTable.d.ts.map +0 -1
- package/dist/esm/data/PrimeTreeTable.js +0 -38
- package/dist/esm/data/PrimeTreeTable.js.map +0 -1
- package/dist/esm/data/PrimeVirtualScroller.d.ts +0 -3
- package/dist/esm/data/PrimeVirtualScroller.d.ts.map +0 -1
- package/dist/esm/data/PrimeVirtualScroller.js +0 -32
- package/dist/esm/data/PrimeVirtualScroller.js.map +0 -1
- package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.d.ts +0 -2
- package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.d.ts.map +0 -1
- package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.js +0 -63
- package/dist/esm/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.js.map +0 -1
- package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.d.ts +0 -2
- package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.d.ts.map +0 -1
- package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.js +0 -17
- package/dist/esm/for_primeReactThemes/when_resolving_a_theme_stylesheet.js.map +0 -1
- package/dist/esm/form/PrimeCascadeSelect.d.ts +0 -3
- package/dist/esm/form/PrimeCascadeSelect.d.ts.map +0 -1
- package/dist/esm/form/PrimeCascadeSelect.js +0 -30
- package/dist/esm/form/PrimeCascadeSelect.js.map +0 -1
- package/dist/esm/form/PrimeInputMask.d.ts +0 -3
- package/dist/esm/form/PrimeInputMask.d.ts.map +0 -1
- package/dist/esm/form/PrimeInputMask.js +0 -24
- package/dist/esm/form/PrimeInputMask.js.map +0 -1
- package/dist/esm/theme/applyPrimeReactTheme.d.ts +0 -2
- package/dist/esm/theme/applyPrimeReactTheme.d.ts.map +0 -1
- package/dist/esm/theme/applyPrimeReactTheme.js +0 -49
- package/dist/esm/theme/applyPrimeReactTheme.js.map +0 -1
- package/dist/esm/theme/primeReactThemeStylesheet.d.ts +0 -3
- package/dist/esm/theme/primeReactThemeStylesheet.d.ts.map +0 -1
- package/dist/esm/theme/primeReactThemeStylesheet.js +0 -31
- package/dist/esm/theme/primeReactThemeStylesheet.js.map +0 -1
- package/for_applyPrimeReactTheme/when_swapping_the_theme_stylesheet.ts +0 -81
- package/for_primeReactThemes/when_resolving_a_theme_stylesheet.ts +0 -22
- package/form/PrimeCascadeSelect.tsx +0 -31
- package/form/PrimeInputMask.tsx +0 -27
- package/theme/applyPrimeReactTheme.ts +0 -52
- package/theme/primeReactThemeStylesheet.ts +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimeCarousel.js","sources":["../../../media/PrimeCarousel.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Carousel } from 'primereact/carousel';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, numberProperty, recordArrayProperty, stringProperty } from '../properties';\n\n/**\n * The `PrimeReact:carousel` component - a row of items paged through horizontally.\n *\n *
|
|
1
|
+
{"version":3,"file":"PrimeCarousel.js","sources":["../../../media/PrimeCarousel.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Carousel } from 'primereact/carousel';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, numberProperty, recordArrayProperty, stringProperty } from '../properties';\n\n/**\n * The `PrimeReact:carousel` component - a row of items paged through horizontally.\n *\n * The item body is built from the `titleField` and `descriptionField` properties, for the same reason\n * `dataView` does it: the element carries records, not markup, and something has to decide which two\n * fields a reader sees. PrimeReact 11 takes that as children rather than as an `itemTemplate` callback,\n * which is why the mapping is written out here instead of passed in.\n *\n * v10's `numScroll` has no v11 counterpart and is not read: the new carousel scrolls by a page, and a page\n * is `numVisible` items. Honoring a `numScroll` that differs from it would mean re-implementing paging\n * against a component that has its own.\n *\n * Navigation and page indicators appear only when there is more than one page's worth of items. A control\n * that cannot do anything is worse than an absent one - it invites a click and answers with nothing.\n */\nexport function PrimeCarousel({ element }: RegisteredComponentProps) {\n const items = recordArrayProperty(element, 'items');\n const titleField = stringProperty(element, 'titleField', 'title');\n const descriptionField = stringProperty(element, 'descriptionField', 'description');\n const numVisible = numberProperty(element, 'numVisible', 3);\n return (\n <Carousel.Root data-scene-id={element.id} slidesPerPage={numVisible} loop={booleanProperty(element, 'circular', false)}>\n <Carousel.Content>\n {items.map((item, index) => (\n <Carousel.Item key={index}>\n <div className='m-2 flex flex-col gap-1 border p-3'>\n <span className='font-semibold'>{String(item[titleField] ?? '')}</span>\n <span className='text-sm opacity-75'>{String(item[descriptionField] ?? '')}</span>\n </div>\n </Carousel.Item>\n ))}\n </Carousel.Content>\n {items.length > numVisible && (\n <>\n <Carousel.Prev aria-label='Previous items'>\n <i className='pi pi-chevron-left' aria-hidden='true' />\n </Carousel.Prev>\n <Carousel.Next aria-label='Next items'>\n <i className='pi pi-chevron-right' aria-hidden='true' />\n </Carousel.Next>\n <Carousel.Indicators />\n </>\n )}\n </Carousel.Root>\n );\n}\n"],"names":["PrimeCarousel","element","items","recordArrayProperty","titleField","stringProperty","descriptionField","numVisible","numberProperty","_jsxs","Carousel","Root","data-scene-id","id","slidesPerPage","loop","booleanProperty","_jsx","Content","map","item","index","Item","div","className","span","String","length","_Fragment","Prev","aria-label","i","aria-hidden","Next","Indicators"],"mappings":";;;;;;AAOA;;;;;;;;;;;;;;AAcC,IACM,SAASA,aAAAA,CAAc,EAAEC,OAAO,EAA4B,EAAA;IAC/D,MAAMC,KAAAA,GAAQC,+BAAoBF,OAAAA,EAAS,OAAA,CAAA;IAC3C,MAAMG,UAAAA,GAAaC,yBAAAA,CAAeJ,OAAAA,EAAS,YAAA,EAAc,OAAA,CAAA;IACzD,MAAMK,gBAAAA,GAAmBD,yBAAAA,CAAeJ,OAAAA,EAAS,kBAAA,EAAoB,aAAA,CAAA;IACrE,MAAMM,UAAAA,GAAaC,yBAAAA,CAAeP,OAAAA,EAAS,YAAA,EAAc,CAAA,CAAA;IACzD,qBACIQ,eAAA,CAACC,kBAASC,IAAI,EAAA;AAACC,QAAAA,eAAAA,EAAeX,QAAQY,EAAE;QAAEC,aAAAA,EAAeP,UAAAA;QAAYQ,IAAAA,EAAMC,0BAAAA,CAAgBf,SAAS,UAAA,EAAY,KAAA,CAAA;;AAC5G,0BAAAgB,cAAA,CAACP,kBAASQ,OAAO,EAAA;AACZhB,gBAAAA,QAAAA,EAAAA,KAAAA,CAAMiB,GAAG,CAAC,CAACC,MAAMC,KAAAA,iBACdJ,cAAA,CAACP,kBAASY,IAAI,EAAA;AACV,wBAAA,QAAA,gBAAAb,eAAA,CAACc,KAAAA,EAAAA;4BAAIC,SAAAA,EAAU,oCAAA;;8CACXP,cAAA,CAACQ,MAAAA,EAAAA;oCAAKD,SAAAA,EAAU,eAAA;8CAAiBE,MAAAA,CAAON,IAAI,CAAChB,UAAAA,CAAW,IAAI,EAAA;;8CAC5Da,cAAA,CAACQ,MAAAA,EAAAA;oCAAKD,SAAAA,EAAU,oBAAA;8CAAsBE,MAAAA,CAAON,IAAI,CAACd,gBAAAA,CAAiB,IAAI,EAAA;;;;AAH3De,qBAAAA,EAAAA,KAAAA,CAAAA;;YAQ3BnB,KAAAA,CAAMyB,MAAM,GAAGpB,UAAAA,kBACZE,eAAA,CAAAmB,mBAAA,EAAA;;AACI,kCAAAX,cAAA,CAACP,kBAASmB,IAAI,EAAA;wBAACC,YAAAA,EAAW,gBAAA;AACtB,wBAAA,QAAA,gBAAAb,cAAA,CAACc,GAAAA,EAAAA;4BAAEP,SAAAA,EAAU,oBAAA;4BAAqBQ,aAAAA,EAAY;;;AAElD,kCAAAf,cAAA,CAACP,kBAASuB,IAAI,EAAA;wBAACH,YAAAA,EAAW,YAAA;AACtB,wBAAA,QAAA,gBAAAb,cAAA,CAACc,GAAAA,EAAAA;4BAAEP,SAAAA,EAAU,qBAAA;4BAAsBQ,aAAAA,EAAY;;;AAEnD,kCAAAf,cAAA,CAACP,kBAASwB,UAAU,EAAA,EAAA;;;;;AAKxC;;;;"}
|
|
@@ -1,38 +1,78 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var
|
|
4
|
+
var gallery = require('primereact/gallery');
|
|
5
5
|
var properties = require('../properties.js');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* The `PrimeReact:galleria` component - a gallery with thumbnails and a large view.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* PrimeReact 11 renamed the module to `gallery` and turned it into a composition, which removes the
|
|
11
|
+
* awkwardness the v10 adapter had to work around: there are no `item` and `thumbnail` render-prop
|
|
12
|
+
* templates to supply, only two lists the adapter writes out itself. Each entry is still read as
|
|
13
|
+
* `{ src, thumbnail, alt }`, with the thumbnail falling back to the full image - the common case for a
|
|
14
|
+
* small gallery that has no separately generated thumbnails.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
16
|
+
* The abstract name stays `galleria`. Renaming it would be renaming Scene's vocabulary because PrimeReact
|
|
17
|
+
* renamed a module, and every screen that says `galleria` today would have to be edited to say the same
|
|
18
|
+
* thing.
|
|
19
|
+
*
|
|
20
|
+
* Navigation and the thumbnail rail are rendered only when there is something to navigate: a single image
|
|
21
|
+
* needs no previous and next, and no items at all leave a bare, empty gallery rather than a frame of
|
|
22
|
+
* chrome around nothing.
|
|
15
23
|
*/ function PrimeGalleria({ element }) {
|
|
16
24
|
const items = properties.recordArrayProperty(element, 'items');
|
|
17
|
-
|
|
25
|
+
const showThumbnails = properties.booleanProperty(element, 'showThumbnails', true);
|
|
26
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(gallery.Gallery.Root, {
|
|
18
27
|
"data-scene-id": element.id,
|
|
19
|
-
value: items,
|
|
20
|
-
numVisible: properties.numberProperty(element, 'numVisible', 5),
|
|
21
|
-
circular: properties.booleanProperty(element, 'circular', true),
|
|
22
|
-
showThumbnails: properties.booleanProperty(element, 'showThumbnails', true),
|
|
23
28
|
style: {
|
|
24
29
|
maxWidth: `${properties.numberProperty(element, 'maxWidth', 480)}px`
|
|
25
30
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
children: [
|
|
32
|
+
/*#__PURE__*/ jsxRuntime.jsxs(gallery.Gallery.Content, {
|
|
33
|
+
children: [
|
|
34
|
+
items.map((item, index)=>/*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.Item, {
|
|
35
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("img", {
|
|
36
|
+
src: String(item.src ?? ''),
|
|
37
|
+
alt: String(item.alt ?? ''),
|
|
38
|
+
className: "block w-full"
|
|
39
|
+
})
|
|
40
|
+
}, index)),
|
|
41
|
+
items.length > 1 && /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
42
|
+
children: [
|
|
43
|
+
/*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.Prev, {
|
|
44
|
+
"aria-label": "Previous image",
|
|
45
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("i", {
|
|
46
|
+
className: "pi pi-chevron-left",
|
|
47
|
+
"aria-hidden": "true"
|
|
48
|
+
})
|
|
49
|
+
}),
|
|
50
|
+
/*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.Next, {
|
|
51
|
+
"aria-label": "Next image",
|
|
52
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("i", {
|
|
53
|
+
className: "pi pi-chevron-right",
|
|
54
|
+
"aria-hidden": "true"
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
]
|
|
30
60
|
}),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
61
|
+
showThumbnails && items.length > 1 && /*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.Thumbnail, {
|
|
62
|
+
slidesPerPage: properties.numberProperty(element, 'numVisible', 5),
|
|
63
|
+
loop: properties.booleanProperty(element, 'circular', true),
|
|
64
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.ThumbnailContent, {
|
|
65
|
+
children: items.map((item, index)=>/*#__PURE__*/ jsxRuntime.jsx(gallery.Gallery.ThumbnailItem, {
|
|
66
|
+
index: index,
|
|
67
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("img", {
|
|
68
|
+
src: String(item.thumbnail ?? item.src ?? ''),
|
|
69
|
+
alt: String(item.alt ?? ''),
|
|
70
|
+
className: "block h-12"
|
|
71
|
+
})
|
|
72
|
+
}, index))
|
|
73
|
+
})
|
|
35
74
|
})
|
|
75
|
+
]
|
|
36
76
|
});
|
|
37
77
|
}
|
|
38
78
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimeGalleria.js","sources":["../../../media/PrimeGalleria.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport {
|
|
1
|
+
{"version":3,"file":"PrimeGalleria.js","sources":["../../../media/PrimeGalleria.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Gallery } from 'primereact/gallery';\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { booleanProperty, numberProperty, recordArrayProperty } from '../properties';\n\n/**\n * The `PrimeReact:galleria` component - a gallery with thumbnails and a large view.\n *\n * PrimeReact 11 renamed the module to `gallery` and turned it into a composition, which removes the\n * awkwardness the v10 adapter had to work around: there are no `item` and `thumbnail` render-prop\n * templates to supply, only two lists the adapter writes out itself. Each entry is still read as\n * `{ src, thumbnail, alt }`, with the thumbnail falling back to the full image - the common case for a\n * small gallery that has no separately generated thumbnails.\n *\n * The abstract name stays `galleria`. Renaming it would be renaming Scene's vocabulary because PrimeReact\n * renamed a module, and every screen that says `galleria` today would have to be edited to say the same\n * thing.\n *\n * Navigation and the thumbnail rail are rendered only when there is something to navigate: a single image\n * needs no previous and next, and no items at all leave a bare, empty gallery rather than a frame of\n * chrome around nothing.\n */\nexport function PrimeGalleria({ element }: RegisteredComponentProps) {\n const items = recordArrayProperty(element, 'items');\n const showThumbnails = booleanProperty(element, 'showThumbnails', true);\n return (\n <Gallery.Root data-scene-id={element.id} style={{ maxWidth: `${numberProperty(element, 'maxWidth', 480)}px` }}>\n <Gallery.Content>\n {items.map((item, index) => (\n <Gallery.Item key={index}>\n <img src={String(item.src ?? '')} alt={String(item.alt ?? '')} className='block w-full' />\n </Gallery.Item>\n ))}\n {items.length > 1 && (\n <>\n <Gallery.Prev aria-label='Previous image'>\n <i className='pi pi-chevron-left' aria-hidden='true' />\n </Gallery.Prev>\n <Gallery.Next aria-label='Next image'>\n <i className='pi pi-chevron-right' aria-hidden='true' />\n </Gallery.Next>\n </>\n )}\n </Gallery.Content>\n {showThumbnails && items.length > 1 && (\n <Gallery.Thumbnail slidesPerPage={numberProperty(element, 'numVisible', 5)} loop={booleanProperty(element, 'circular', true)}>\n <Gallery.ThumbnailContent>\n {items.map((item, index) => (\n <Gallery.ThumbnailItem key={index} index={index}>\n <img src={String(item.thumbnail ?? item.src ?? '')} alt={String(item.alt ?? '')} className='block h-12' />\n </Gallery.ThumbnailItem>\n ))}\n </Gallery.ThumbnailContent>\n </Gallery.Thumbnail>\n )}\n </Gallery.Root>\n );\n}\n"],"names":["PrimeGalleria","element","items","recordArrayProperty","showThumbnails","booleanProperty","_jsxs","Gallery","Root","data-scene-id","id","style","maxWidth","numberProperty","Content","map","item","index","_jsx","Item","img","src","String","alt","className","length","_Fragment","Prev","aria-label","i","aria-hidden","Next","Thumbnail","slidesPerPage","loop","ThumbnailContent","ThumbnailItem","thumbnail"],"mappings":";;;;;;AAOA;;;;;;;;;;;;;;;;AAgBC,IACM,SAASA,aAAAA,CAAc,EAAEC,OAAO,EAA4B,EAAA;IAC/D,MAAMC,KAAAA,GAAQC,+BAAoBF,OAAAA,EAAS,OAAA,CAAA;IAC3C,MAAMG,cAAAA,GAAiBC,0BAAAA,CAAgBJ,OAAAA,EAAS,gBAAA,EAAkB,IAAA,CAAA;IAClE,qBACIK,eAAA,CAACC,gBAAQC,IAAI,EAAA;AAACC,QAAAA,eAAAA,EAAeR,QAAQS,EAAE;QAAEC,KAAAA,EAAO;AAAEC,YAAAA,QAAAA,EAAU,GAAGC,yBAAAA,CAAeZ,OAAAA,EAAS,UAAA,EAAY,GAAA,CAAA,CAAK,EAAE;AAAE,SAAA;;AACxG,0BAAAK,eAAA,CAACC,gBAAQO,OAAO,EAAA;;AACXZ,oBAAAA,KAAAA,CAAMa,GAAG,CAAC,CAACC,MAAMC,KAAAA,iBACdC,cAAA,CAACX,gBAAQY,IAAI,EAAA;AACT,4BAAA,QAAA,gBAAAD,cAAA,CAACE,KAAAA,EAAAA;gCAAIC,GAAAA,EAAKC,MAAAA,CAAON,IAAAA,CAAKK,GAAG,IAAI,EAAA,CAAA;gCAAKE,GAAAA,EAAKD,MAAAA,CAAON,IAAAA,CAAKO,GAAG,IAAI,EAAA,CAAA;gCAAKC,SAAAA,EAAU;;AAD1DP,yBAAAA,EAAAA,KAAAA,CAAAA,CAAAA;oBAItBf,KAAAA,CAAMuB,MAAM,GAAG,CAAA,kBACZnB,eAAA,CAAAoB,mBAAA,EAAA;;AACI,0CAAAR,cAAA,CAACX,gBAAQoB,IAAI,EAAA;gCAACC,YAAAA,EAAW,gBAAA;AACrB,gCAAA,QAAA,gBAAAV,cAAA,CAACW,GAAAA,EAAAA;oCAAEL,SAAAA,EAAU,oBAAA;oCAAqBM,aAAAA,EAAY;;;AAElD,0CAAAZ,cAAA,CAACX,gBAAQwB,IAAI,EAAA;gCAACH,YAAAA,EAAW,YAAA;AACrB,gCAAA,QAAA,gBAAAV,cAAA,CAACW,GAAAA,EAAAA;oCAAEL,SAAAA,EAAU,qBAAA;oCAAsBM,aAAAA,EAAY;;;;;;;AAK9D1B,YAAAA,cAAAA,IAAkBF,MAAMuB,MAAM,GAAG,CAAA,kBAC9BP,cAAA,CAACX,gBAAQyB,SAAS,EAAA;gBAACC,aAAAA,EAAepB,yBAAAA,CAAeZ,SAAS,YAAA,EAAc,CAAA,CAAA;gBAAIiC,IAAAA,EAAM7B,0BAAAA,CAAgBJ,SAAS,UAAA,EAAY,IAAA,CAAA;wCACnHiB,cAAA,CAACX,gBAAQ4B,gBAAgB,EAAA;AACpBjC,oBAAAA,QAAAA,EAAAA,KAAAA,CAAMa,GAAG,CAAC,CAACC,MAAMC,KAAAA,iBACdC,cAAA,CAACX,gBAAQ6B,aAAa,EAAA;4BAAanB,KAAAA,EAAOA,KAAAA;AACtC,4BAAA,QAAA,gBAAAC,cAAA,CAACE,KAAAA,EAAAA;AAAIC,gCAAAA,GAAAA,EAAKC,OAAON,IAAAA,CAAKqB,SAAS,IAAIrB,IAAAA,CAAKK,GAAG,IAAI,EAAA,CAAA;gCAAKE,GAAAA,EAAKD,MAAAA,CAAON,IAAAA,CAAKO,GAAG,IAAI,EAAA,CAAA;gCAAKC,SAAAA,EAAU;;AADnEP,yBAAAA,EAAAA,KAAAA,CAAAA;;;;;AASxD;;;;"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var
|
|
4
|
+
var Image = require('./Image.js');
|
|
5
5
|
var properties = require('../properties.js');
|
|
6
6
|
|
|
7
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
8
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
7
9
|
/**
|
|
8
10
|
* The `PrimeReact:image` component - an image with an optional full-screen preview.
|
|
9
11
|
*
|
|
12
|
+
* PrimeReact 11 removed `Image` with no replacement and no headless hook, so the adapter renders Cratis's
|
|
13
|
+
* own {@link Image}. The element's authored contract is unchanged, which is the point: which library
|
|
14
|
+
* happens to draw an `img` is not something a screen should have to be rewritten over.
|
|
15
|
+
*
|
|
10
16
|
* `alt` defaults to an empty string rather than to the file name: an image with no authored alternative
|
|
11
17
|
* text is decorative until someone says otherwise, and inventing one would put a URL fragment in front of
|
|
12
18
|
* a screen reader.
|
|
13
19
|
*/ function PrimeImage({ element }) {
|
|
14
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
20
|
+
return /*#__PURE__*/ jsxRuntime.jsx(Image.Image, {
|
|
15
21
|
"data-scene-id": element.id,
|
|
16
|
-
src: properties.stringProperty(element, 'src'
|
|
22
|
+
src: properties.stringProperty(element, 'src'),
|
|
17
23
|
alt: properties.stringProperty(element, 'alt', ''),
|
|
18
24
|
width: properties.stringProperty(element, 'width'),
|
|
19
25
|
height: properties.stringProperty(element, 'height'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimeImage.js","sources":["../../../media/PrimeImage.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport {
|
|
1
|
+
{"version":3,"file":"PrimeImage.js","sources":["../../../media/PrimeImage.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { RegisteredComponentProps } from '@cratis/scene.react';\nimport { Image } from './Image';\nimport { booleanProperty, stringProperty } from '../properties';\n\n/**\n * The `PrimeReact:image` component - an image with an optional full-screen preview.\n *\n * PrimeReact 11 removed `Image` with no replacement and no headless hook, so the adapter renders Cratis's\n * own {@link Image}. The element's authored contract is unchanged, which is the point: which library\n * happens to draw an `img` is not something a screen should have to be rewritten over.\n *\n * `alt` defaults to an empty string rather than to the file name: an image with no authored alternative\n * text is decorative until someone says otherwise, and inventing one would put a URL fragment in front of\n * a screen reader.\n */\nexport function PrimeImage({ element }: RegisteredComponentProps) {\n return (\n <Image\n data-scene-id={element.id}\n src={stringProperty(element, 'src')}\n alt={stringProperty(element, 'alt', '')}\n width={stringProperty(element, 'width')}\n height={stringProperty(element, 'height')}\n preview={booleanProperty(element, 'preview', false)}\n />\n );\n}\n"],"names":["PrimeImage","element","_jsx","Image","data-scene-id","id","src","stringProperty","alt","width","height","preview","booleanProperty"],"mappings":";;;;;;AAAA;AACA;AAMA;;;;;;;;;;AAUC,IACM,SAASA,UAAAA,CAAW,EAAEC,OAAO,EAA4B,EAAA;AAC5D,IAAA,qBACIC,cAAA,CAACC,WAAAA,EAAAA;AACGC,QAAAA,eAAAA,EAAeH,QAAQI,EAAE;AACzBC,QAAAA,GAAAA,EAAKC,0BAAeN,OAAAA,EAAS,KAAA,CAAA;QAC7BO,GAAAA,EAAKD,yBAAAA,CAAeN,SAAS,KAAA,EAAO,EAAA,CAAA;AACpCQ,QAAAA,KAAAA,EAAOF,0BAAeN,OAAAA,EAAS,OAAA,CAAA;AAC/BS,QAAAA,MAAAA,EAAQH,0BAAeN,OAAAA,EAAS,QAAA,CAAA;QAChCU,OAAAA,EAASC,0BAAAA,CAAgBX,SAAS,SAAA,EAAW,KAAA;;AAGzD;;;;"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var DockPosition = require('./DockPosition.js');
|
|
5
|
+
|
|
6
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
7
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
8
|
+
const dockStyle = {
|
|
9
|
+
position: 'absolute',
|
|
10
|
+
background: 'var(--scene-surface-overlay)',
|
|
11
|
+
border: '1px solid var(--scene-surface-border)',
|
|
12
|
+
borderRadius: 'var(--scene-content-border-radius)',
|
|
13
|
+
color: 'var(--scene-text-color)'
|
|
14
|
+
};
|
|
15
|
+
const entryStyle = {
|
|
16
|
+
background: 'transparent',
|
|
17
|
+
border: 'none',
|
|
18
|
+
color: 'inherit',
|
|
19
|
+
cursor: 'pointer',
|
|
20
|
+
font: 'inherit',
|
|
21
|
+
fontSize: '1.5rem',
|
|
22
|
+
lineHeight: 1,
|
|
23
|
+
textDecoration: 'none'
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Where the dock sits within its container, for one edge.
|
|
27
|
+
*
|
|
28
|
+
* The offset lives here rather than in four CSS classes because this package ships no component
|
|
29
|
+
* stylesheets, and because the two axes are genuinely coupled: an edge decides both which side is pinned
|
|
30
|
+
* and which axis is centered, so writing them together is what keeps them consistent.
|
|
31
|
+
*/ function anchor(position) {
|
|
32
|
+
switch(position){
|
|
33
|
+
case DockPosition.DockPosition.Top:
|
|
34
|
+
return {
|
|
35
|
+
top: 0,
|
|
36
|
+
left: '50%',
|
|
37
|
+
transform: 'translateX(-50%)'
|
|
38
|
+
};
|
|
39
|
+
case DockPosition.DockPosition.Left:
|
|
40
|
+
return {
|
|
41
|
+
left: 0,
|
|
42
|
+
top: '50%',
|
|
43
|
+
transform: 'translateY(-50%)'
|
|
44
|
+
};
|
|
45
|
+
case DockPosition.DockPosition.Right:
|
|
46
|
+
return {
|
|
47
|
+
right: 0,
|
|
48
|
+
top: '50%',
|
|
49
|
+
transform: 'translateY(-50%)'
|
|
50
|
+
};
|
|
51
|
+
default:
|
|
52
|
+
return {
|
|
53
|
+
bottom: 0,
|
|
54
|
+
left: '50%',
|
|
55
|
+
transform: 'translateX(-50%)'
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A small strip of icons anchored to one edge of its container. Cratis-owned.
|
|
61
|
+
*
|
|
62
|
+
* This exists because PrimeReact 11 removed `primereact/dock` outright, with no successor and no headless
|
|
63
|
+
* hook. It positions itself absolutely, so it expects a positioned container to sit in - dropped straight
|
|
64
|
+
* into a page it would pin itself to the page, which is why the Scene adapter wraps it in a sized relative
|
|
65
|
+
* box.
|
|
66
|
+
*
|
|
67
|
+
* Entries are icon-only, and that is precisely why each one carries its label as `aria-label` and as a
|
|
68
|
+
* `title`: a control whose only content is a decorative glyph has no accessible name at all otherwise, and
|
|
69
|
+
* a dock is exactly the shape of component where that gets forgotten. An entry with no icon still renders,
|
|
70
|
+
* as a neutral placeholder glyph, so a half-authored screen shows a gap rather than an invisible control.
|
|
71
|
+
*
|
|
72
|
+
* What it deliberately does not carry over from the v10 `Dock`: there is no magnification of the icon under
|
|
73
|
+
* the pointer, which was the component's signature effect and is pure decoration; there are no tooltips
|
|
74
|
+
* beyond the browser's own `title`; and item templates are not supported.
|
|
75
|
+
*/ function Dock({ items = [], position = DockPosition.DockPosition.Bottom, ...rest }) {
|
|
76
|
+
const vertical = position === DockPosition.DockPosition.Left || position === DockPosition.DockPosition.Right;
|
|
77
|
+
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
78
|
+
...rest,
|
|
79
|
+
role: "toolbar",
|
|
80
|
+
"aria-orientation": vertical ? 'vertical' : 'horizontal',
|
|
81
|
+
className: vertical ? 'flex flex-col items-center gap-2 p-3' : 'flex items-center gap-2 p-3',
|
|
82
|
+
style: {
|
|
83
|
+
...dockStyle,
|
|
84
|
+
...anchor(position)
|
|
85
|
+
},
|
|
86
|
+
children: items.map((item, index)=>item.url === undefined ? /*#__PURE__*/ jsxRuntime.jsx("button", {
|
|
87
|
+
type: "button",
|
|
88
|
+
style: entryStyle,
|
|
89
|
+
disabled: item.disabled,
|
|
90
|
+
title: item.label,
|
|
91
|
+
"aria-label": item.label,
|
|
92
|
+
onClick: ()=>item.command?.(),
|
|
93
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("i", {
|
|
94
|
+
className: item.icon ?? 'pi pi-circle',
|
|
95
|
+
"aria-hidden": "true"
|
|
96
|
+
})
|
|
97
|
+
}, index) : /*#__PURE__*/ jsxRuntime.jsx("a", {
|
|
98
|
+
href: item.url,
|
|
99
|
+
style: entryStyle,
|
|
100
|
+
title: item.label,
|
|
101
|
+
"aria-label": item.label,
|
|
102
|
+
children: /*#__PURE__*/ jsxRuntime.jsx("i", {
|
|
103
|
+
className: item.icon ?? 'pi pi-circle',
|
|
104
|
+
"aria-hidden": "true"
|
|
105
|
+
})
|
|
106
|
+
}, index))
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
exports.Dock = Dock;
|
|
111
|
+
//# sourceMappingURL=Dock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dock.js","sources":["../../../menu/Dock.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CSSProperties, HTMLAttributes } from 'react';\nimport { MenuItem } from '../MenuItem';\nimport { DockPosition } from './DockPosition';\n\nconst dockStyle: CSSProperties = {\n position: 'absolute',\n background: 'var(--scene-surface-overlay)',\n border: '1px solid var(--scene-surface-border)',\n borderRadius: 'var(--scene-content-border-radius)',\n color: 'var(--scene-text-color)',\n};\n\nconst entryStyle: CSSProperties = {\n background: 'transparent',\n border: 'none',\n color: 'inherit',\n cursor: 'pointer',\n font: 'inherit',\n fontSize: '1.5rem',\n lineHeight: 1,\n textDecoration: 'none',\n};\n\n/**\n * Where the dock sits within its container, for one edge.\n *\n * The offset lives here rather than in four CSS classes because this package ships no component\n * stylesheets, and because the two axes are genuinely coupled: an edge decides both which side is pinned\n * and which axis is centered, so writing them together is what keeps them consistent.\n */\nfunction anchor(position: DockPosition): CSSProperties {\n switch (position) {\n case DockPosition.Top:\n return { top: 0, left: '50%', transform: 'translateX(-50%)' };\n case DockPosition.Left:\n return { left: 0, top: '50%', transform: 'translateY(-50%)' };\n case DockPosition.Right:\n return { right: 0, top: '50%', transform: 'translateY(-50%)' };\n default:\n return { bottom: 0, left: '50%', transform: 'translateX(-50%)' };\n }\n}\n\n/**\n * The configuration {@link Dock} takes.\n */\nexport interface DockProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The entries to show. Each is shown as its icon alone, with its label as the accessible name.\n */\n items?: MenuItem[];\n\n /**\n * The edge of the containing box to anchor against.\n */\n position?: DockPosition;\n}\n\n/**\n * A small strip of icons anchored to one edge of its container. Cratis-owned.\n *\n * This exists because PrimeReact 11 removed `primereact/dock` outright, with no successor and no headless\n * hook. It positions itself absolutely, so it expects a positioned container to sit in - dropped straight\n * into a page it would pin itself to the page, which is why the Scene adapter wraps it in a sized relative\n * box.\n *\n * Entries are icon-only, and that is precisely why each one carries its label as `aria-label` and as a\n * `title`: a control whose only content is a decorative glyph has no accessible name at all otherwise, and\n * a dock is exactly the shape of component where that gets forgotten. An entry with no icon still renders,\n * as a neutral placeholder glyph, so a half-authored screen shows a gap rather than an invisible control.\n *\n * What it deliberately does not carry over from the v10 `Dock`: there is no magnification of the icon under\n * the pointer, which was the component's signature effect and is pure decoration; there are no tooltips\n * beyond the browser's own `title`; and item templates are not supported.\n */\nexport function Dock({ items = [], position = DockPosition.Bottom, ...rest }: DockProps) {\n const vertical = position === DockPosition.Left || position === DockPosition.Right;\n\n return (\n <div\n {...rest}\n role='toolbar'\n aria-orientation={vertical ? 'vertical' : 'horizontal'}\n className={vertical ? 'flex flex-col items-center gap-2 p-3' : 'flex items-center gap-2 p-3'}\n style={{ ...dockStyle, ...anchor(position) }}>\n {items.map((item, index) =>\n item.url === undefined ? (\n <button\n key={index}\n type='button'\n style={entryStyle}\n disabled={item.disabled}\n title={item.label}\n aria-label={item.label}\n onClick={() => item.command?.()}>\n <i className={item.icon ?? 'pi pi-circle'} aria-hidden='true' />\n </button>\n ) : (\n <a key={index} href={item.url} style={entryStyle} title={item.label} aria-label={item.label}>\n <i className={item.icon ?? 'pi pi-circle'} aria-hidden='true' />\n </a>\n )\n )}\n </div>\n );\n}\n"],"names":["dockStyle","position","background","border","borderRadius","color","entryStyle","cursor","font","fontSize","lineHeight","textDecoration","anchor","DockPosition","Top","top","left","transform","Left","Right","right","bottom","Dock","items","Bottom","rest","vertical","_jsx","div","role","aria-orientation","className","style","map","item","index","url","undefined","button","type","disabled","title","label","aria-label","onClick","command","i","icon","aria-hidden","a","href"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
4
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
5
|
+
/**
|
|
6
|
+
* The edge a {@link Dock} is anchored to.
|
|
7
|
+
*
|
|
8
|
+
* This is an enum rather than a union of string literals so the four edges are discoverable from the type
|
|
9
|
+
* itself and a `switch` over them stays exhaustive: adding a fifth edge becomes a compile error at every
|
|
10
|
+
* place that maps an edge onto a position, instead of a silently missing case. The values are the same
|
|
11
|
+
* lowercase words a screen authors, so an authored `position` maps straight onto a member.
|
|
12
|
+
*/ var DockPosition = /*#__PURE__*/ function(DockPosition) {
|
|
13
|
+
/**
|
|
14
|
+
* Anchored to the top edge, laid out across.
|
|
15
|
+
*/ DockPosition["Top"] = "top";
|
|
16
|
+
/**
|
|
17
|
+
* Anchored to the bottom edge, laid out across. The macOS-style default.
|
|
18
|
+
*/ DockPosition["Bottom"] = "bottom";
|
|
19
|
+
/**
|
|
20
|
+
* Anchored to the left edge, laid out down.
|
|
21
|
+
*/ DockPosition["Left"] = "left";
|
|
22
|
+
/**
|
|
23
|
+
* Anchored to the right edge, laid out down.
|
|
24
|
+
*/ DockPosition["Right"] = "right";
|
|
25
|
+
return DockPosition;
|
|
26
|
+
}({});
|
|
27
|
+
|
|
28
|
+
exports.DockPosition = DockPosition;
|
|
29
|
+
//# sourceMappingURL=DockPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockPosition.js","sources":["../../../menu/DockPosition.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * The edge a {@link Dock} is anchored to.\n *\n * This is an enum rather than a union of string literals so the four edges are discoverable from the type\n * itself and a `switch` over them stays exhaustive: adding a fifth edge becomes a compile error at every\n * place that maps an edge onto a position, instead of a silently missing case. The values are the same\n * lowercase words a screen authors, so an authored `position` maps straight onto a member.\n */\nexport enum DockPosition {\n /**\n * Anchored to the top edge, laid out across.\n */\n Top = 'top',\n\n /**\n * Anchored to the bottom edge, laid out across. The macOS-style default.\n */\n Bottom = 'bottom',\n\n /**\n * Anchored to the left edge, laid out down.\n */\n Left = 'left',\n\n /**\n * Anchored to the right edge, laid out down.\n */\n Right = 'right',\n}\n"],"names":["DockPosition"],"mappings":";;AAAA;AACA;AAEA;;;;;;;IAQO,IAAKA,YAAAA,iBAAAA,SAAAA,YAAAA,EAAAA;AACR;;AAEC,QAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAA;AAGD;;AAEC,QAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AAGD;;AAEC,QAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AAGD;;AAEC,QAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAA;AAlBOA,IAAAA,OAAAA,YAAAA;AAoBX,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var MenuItemAction = require('./MenuItemAction.js');
|
|
6
|
+
var MenuItemContent = require('./MenuItemContent.js');
|
|
7
|
+
|
|
8
|
+
const barStyle = {
|
|
9
|
+
background: 'var(--scene-surface-card)',
|
|
10
|
+
border: '1px solid var(--scene-surface-border)',
|
|
11
|
+
borderRadius: 'var(--scene-content-border-radius)',
|
|
12
|
+
color: 'var(--scene-text-color)'
|
|
13
|
+
};
|
|
14
|
+
const triggerStyle = {
|
|
15
|
+
background: 'transparent',
|
|
16
|
+
border: 'none',
|
|
17
|
+
color: 'inherit',
|
|
18
|
+
cursor: 'pointer',
|
|
19
|
+
font: 'inherit',
|
|
20
|
+
textDecoration: 'none'
|
|
21
|
+
};
|
|
22
|
+
const panelStyle = {
|
|
23
|
+
position: 'absolute',
|
|
24
|
+
top: '100%',
|
|
25
|
+
left: 0,
|
|
26
|
+
zIndex: 1,
|
|
27
|
+
background: 'var(--scene-surface-overlay)',
|
|
28
|
+
border: '1px solid var(--scene-surface-border)',
|
|
29
|
+
borderRadius: 'var(--scene-content-border-radius)'
|
|
30
|
+
};
|
|
31
|
+
const columnHeadingStyle = {
|
|
32
|
+
color: 'var(--scene-text-muted-color)'
|
|
33
|
+
};
|
|
34
|
+
const columnItemStyle = {
|
|
35
|
+
...triggerStyle,
|
|
36
|
+
width: '100%',
|
|
37
|
+
textAlign: 'left'
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* A horizontal bar whose panels lay their commands out in labeled columns. Cratis-owned.
|
|
41
|
+
*
|
|
42
|
+
* This exists because PrimeReact 11 removed `primereact/megamenu` outright, with no successor and no
|
|
43
|
+
* headless hook, so a screen that authored a mega menu had nothing left to render. It is a separate
|
|
44
|
+
* component from {@link Menubar} rather than a flag on it because the two read genuinely different item
|
|
45
|
+
* models - a menubar's children are commands, a mega menu's children are columns - and collapsing that
|
|
46
|
+
* into a boolean would make both harder to read than keeping them apart.
|
|
47
|
+
*
|
|
48
|
+
* The column model is where this deliberately departs from v10. PrimeReact 10 spelled columns as an array
|
|
49
|
+
* of arrays, so an entry's `items` held column groups rather than menu entries. Scene's item reader
|
|
50
|
+
* follows nested *objects* and drops nested arrays, which means that shape never reached the component
|
|
51
|
+
* intact anyway. Columns are therefore one ordinary level of nesting here: an entry's children are
|
|
52
|
+
* columns, and a column's children are its commands. The same authored model now survives the reader.
|
|
53
|
+
*
|
|
54
|
+
* What it otherwise does not carry over from v10: there is no vertical orientation, so the `orientation`
|
|
55
|
+
* property a v10 screen may have set is ignored rather than half-honored; panels open on click only,
|
|
56
|
+
* never on hover; and item templates are not supported.
|
|
57
|
+
*/ function MegaMenu({ items = [], ...rest }) {
|
|
58
|
+
const [openIndex, setOpenIndex] = react.useState(undefined);
|
|
59
|
+
react.useEffect(()=>{
|
|
60
|
+
const close = ()=>setOpenIndex(undefined);
|
|
61
|
+
document.addEventListener('click', close);
|
|
62
|
+
return ()=>document.removeEventListener('click', close);
|
|
63
|
+
}, []);
|
|
64
|
+
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
65
|
+
...rest,
|
|
66
|
+
role: "menubar",
|
|
67
|
+
className: "relative flex items-center gap-2 p-3",
|
|
68
|
+
style: barStyle,
|
|
69
|
+
onKeyDown: (event)=>{
|
|
70
|
+
if (event.key === 'Escape') setOpenIndex(undefined);
|
|
71
|
+
},
|
|
72
|
+
children: items.map((item, index)=>{
|
|
73
|
+
const columns = item.items ?? [];
|
|
74
|
+
return /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
75
|
+
role: "none",
|
|
76
|
+
className: "relative",
|
|
77
|
+
children: columns.length > 0 ? /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
78
|
+
children: [
|
|
79
|
+
/*#__PURE__*/ jsxRuntime.jsxs("button", {
|
|
80
|
+
type: "button",
|
|
81
|
+
role: "menuitem",
|
|
82
|
+
className: "inline-flex items-center gap-2",
|
|
83
|
+
style: triggerStyle,
|
|
84
|
+
disabled: item.disabled,
|
|
85
|
+
"aria-haspopup": "true",
|
|
86
|
+
"aria-expanded": openIndex === index,
|
|
87
|
+
onClick: (event)=>{
|
|
88
|
+
event.stopPropagation();
|
|
89
|
+
setOpenIndex(openIndex === index ? undefined : index);
|
|
90
|
+
},
|
|
91
|
+
children: [
|
|
92
|
+
/*#__PURE__*/ jsxRuntime.jsx(MenuItemContent.MenuItemContent, {
|
|
93
|
+
item: item
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ jsxRuntime.jsx("i", {
|
|
96
|
+
className: "pi pi-angle-down",
|
|
97
|
+
"aria-hidden": "true"
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
}),
|
|
101
|
+
openIndex === index && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
102
|
+
role: "menu",
|
|
103
|
+
"aria-label": item.label,
|
|
104
|
+
className: "flex gap-4 p-3",
|
|
105
|
+
style: panelStyle,
|
|
106
|
+
children: columns.map((column, columnIndex)=>/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
107
|
+
role: "group",
|
|
108
|
+
"aria-label": column.label,
|
|
109
|
+
className: "flex flex-col gap-1",
|
|
110
|
+
children: [
|
|
111
|
+
/*#__PURE__*/ jsxRuntime.jsx("span", {
|
|
112
|
+
className: "text-sm font-semibold",
|
|
113
|
+
style: columnHeadingStyle,
|
|
114
|
+
children: column.label
|
|
115
|
+
}),
|
|
116
|
+
(column.items ?? []).map((child, childIndex)=>/*#__PURE__*/ jsxRuntime.jsx(MenuItemAction.MenuItemAction, {
|
|
117
|
+
item: child,
|
|
118
|
+
role: "menuitem",
|
|
119
|
+
className: "flex items-center gap-2",
|
|
120
|
+
style: columnItemStyle
|
|
121
|
+
}, childIndex))
|
|
122
|
+
]
|
|
123
|
+
}, columnIndex))
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
}) : /*#__PURE__*/ jsxRuntime.jsx(MenuItemAction.MenuItemAction, {
|
|
127
|
+
item: item,
|
|
128
|
+
role: "menuitem",
|
|
129
|
+
className: "inline-flex items-center gap-2",
|
|
130
|
+
style: triggerStyle
|
|
131
|
+
})
|
|
132
|
+
}, index);
|
|
133
|
+
})
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
exports.MegaMenu = MegaMenu;
|
|
138
|
+
//# sourceMappingURL=MegaMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MegaMenu.js","sources":["../../../menu/MegaMenu.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CSSProperties, HTMLAttributes, useEffect, useState } from 'react';\nimport { MenuItem } from '../MenuItem';\nimport { MenuItemAction } from './MenuItemAction';\nimport { MenuItemContent } from './MenuItemContent';\n\nconst barStyle: CSSProperties = {\n background: 'var(--scene-surface-card)',\n border: '1px solid var(--scene-surface-border)',\n borderRadius: 'var(--scene-content-border-radius)',\n color: 'var(--scene-text-color)',\n};\n\nconst triggerStyle: CSSProperties = {\n background: 'transparent',\n border: 'none',\n color: 'inherit',\n cursor: 'pointer',\n font: 'inherit',\n textDecoration: 'none',\n};\n\nconst panelStyle: CSSProperties = {\n position: 'absolute',\n top: '100%',\n left: 0,\n zIndex: 1,\n background: 'var(--scene-surface-overlay)',\n border: '1px solid var(--scene-surface-border)',\n borderRadius: 'var(--scene-content-border-radius)',\n};\n\nconst columnHeadingStyle: CSSProperties = { color: 'var(--scene-text-muted-color)' };\n\nconst columnItemStyle: CSSProperties = { ...triggerStyle, width: '100%', textAlign: 'left' };\n\n/**\n * The configuration {@link MegaMenu} takes.\n */\nexport interface MegaMenuProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The commands to show. Each top-level entry's children are the columns of its panel, and each\n * column's own children are the commands in that column.\n */\n items?: MenuItem[];\n}\n\n/**\n * A horizontal bar whose panels lay their commands out in labeled columns. Cratis-owned.\n *\n * This exists because PrimeReact 11 removed `primereact/megamenu` outright, with no successor and no\n * headless hook, so a screen that authored a mega menu had nothing left to render. It is a separate\n * component from {@link Menubar} rather than a flag on it because the two read genuinely different item\n * models - a menubar's children are commands, a mega menu's children are columns - and collapsing that\n * into a boolean would make both harder to read than keeping them apart.\n *\n * The column model is where this deliberately departs from v10. PrimeReact 10 spelled columns as an array\n * of arrays, so an entry's `items` held column groups rather than menu entries. Scene's item reader\n * follows nested *objects* and drops nested arrays, which means that shape never reached the component\n * intact anyway. Columns are therefore one ordinary level of nesting here: an entry's children are\n * columns, and a column's children are its commands. The same authored model now survives the reader.\n *\n * What it otherwise does not carry over from v10: there is no vertical orientation, so the `orientation`\n * property a v10 screen may have set is ignored rather than half-honored; panels open on click only,\n * never on hover; and item templates are not supported.\n */\nexport function MegaMenu({ items = [], ...rest }: MegaMenuProps) {\n const [openIndex, setOpenIndex] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const close = () => setOpenIndex(undefined);\n document.addEventListener('click', close);\n return () => document.removeEventListener('click', close);\n }, []);\n\n return (\n <div\n {...rest}\n role='menubar'\n className='relative flex items-center gap-2 p-3'\n style={barStyle}\n onKeyDown={(event) => {\n if (event.key === 'Escape') setOpenIndex(undefined);\n }}>\n {items.map((item, index) => {\n const columns = item.items ?? [];\n\n return (\n <div key={index} role='none' className='relative'>\n {columns.length > 0 ? (\n <>\n <button\n type='button'\n role='menuitem'\n className='inline-flex items-center gap-2'\n style={triggerStyle}\n disabled={item.disabled}\n aria-haspopup='true'\n aria-expanded={openIndex === index}\n onClick={(event) => {\n event.stopPropagation();\n setOpenIndex(openIndex === index ? undefined : index);\n }}>\n <MenuItemContent item={item} />\n <i className='pi pi-angle-down' aria-hidden='true' />\n </button>\n {openIndex === index && (\n <div role='menu' aria-label={item.label} className='flex gap-4 p-3' style={panelStyle}>\n {columns.map((column, columnIndex) => (\n <div key={columnIndex} role='group' aria-label={column.label} className='flex flex-col gap-1'>\n <span className='text-sm font-semibold' style={columnHeadingStyle}>\n {column.label}\n </span>\n {(column.items ?? []).map((child, childIndex) => (\n <MenuItemAction\n key={childIndex}\n item={child}\n role='menuitem'\n className='flex items-center gap-2'\n style={columnItemStyle}\n />\n ))}\n </div>\n ))}\n </div>\n )}\n </>\n ) : (\n <MenuItemAction item={item} role='menuitem' className='inline-flex items-center gap-2' style={triggerStyle} />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n"],"names":["barStyle","background","border","borderRadius","color","triggerStyle","cursor","font","textDecoration","panelStyle","position","top","left","zIndex","columnHeadingStyle","columnItemStyle","width","textAlign","MegaMenu","items","rest","openIndex","setOpenIndex","useState","undefined","useEffect","close","document","addEventListener","removeEventListener","_jsx","div","role","className","style","onKeyDown","event","key","map","item","index","columns","length","_jsxs","_Fragment","button","type","disabled","aria-haspopup","aria-expanded","onClick","stopPropagation","MenuItemContent","i","aria-hidden","aria-label","label","column","columnIndex","span","child","childIndex","MenuItemAction"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var MenuItemContent = require('./MenuItemContent.js');
|
|
5
|
+
|
|
6
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
7
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
8
|
+
/**
|
|
9
|
+
* One selectable menu entry, rendered as a link when it navigates and as a button when it commands.
|
|
10
|
+
*
|
|
11
|
+
* The distinction is not cosmetic and it is the reason this is shared rather than repeated. An entry
|
|
12
|
+
* carrying a `url` is navigation: it belongs in an anchor so it can be opened in a new tab, copied,
|
|
13
|
+
* followed by a screen reader's link list and reached the way every other link on the page is. An entry
|
|
14
|
+
* carrying a `command` changes something on the current screen, which is what a button is for. Getting
|
|
15
|
+
* that wrong is invisible to a sighted mouse user and immediately wrong for everyone else, so the five
|
|
16
|
+
* Cratis-owned menus that need a selectable entry all defer the choice to here.
|
|
17
|
+
*
|
|
18
|
+
* A disabled entry is always a button, even when it has a `url`, because there is no way to disable an
|
|
19
|
+
* anchor - `aria-disabled` still leaves it clickable and focusable. Rendering the button lets the
|
|
20
|
+
* platform's own disabled semantics do the work.
|
|
21
|
+
*/ function MenuItemAction({ item, role, current, className, style, onActivate }) {
|
|
22
|
+
const activate = ()=>{
|
|
23
|
+
item.command?.();
|
|
24
|
+
onActivate?.();
|
|
25
|
+
};
|
|
26
|
+
if (item.url !== undefined && item.disabled !== true) {
|
|
27
|
+
return /*#__PURE__*/ jsxRuntime.jsx("a", {
|
|
28
|
+
href: item.url,
|
|
29
|
+
role: role,
|
|
30
|
+
className: className,
|
|
31
|
+
style: style,
|
|
32
|
+
"aria-current": current === true ? 'page' : undefined,
|
|
33
|
+
onClick: activate,
|
|
34
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(MenuItemContent.MenuItemContent, {
|
|
35
|
+
item: item
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return /*#__PURE__*/ jsxRuntime.jsx("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
role: role,
|
|
42
|
+
className: className,
|
|
43
|
+
style: style,
|
|
44
|
+
disabled: item.disabled,
|
|
45
|
+
"aria-current": current === true ? 'page' : undefined,
|
|
46
|
+
onClick: activate,
|
|
47
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(MenuItemContent.MenuItemContent, {
|
|
48
|
+
item: item
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.MenuItemAction = MenuItemAction;
|
|
54
|
+
//# sourceMappingURL=MenuItemAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItemAction.js","sources":["../../../menu/MenuItemAction.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { AriaRole, CSSProperties } from 'react';\nimport { MenuItem } from '../MenuItem';\nimport { MenuItemContent } from './MenuItemContent';\n\n/**\n * The configuration {@link MenuItemAction} takes.\n */\nexport interface MenuItemActionProps {\n /**\n * The entry to make selectable.\n */\n item: MenuItem;\n\n /**\n * The ARIA role the entry plays inside its container - `menuitem` inside a menu, left unset inside a\n * plain navigation bar where the surrounding markup already says what the entry is.\n */\n role?: AriaRole;\n\n /**\n * Whether this entry is the one the user is currently on, which is announced as `aria-current`.\n */\n current?: boolean;\n\n /**\n * Classes for the entry, so each menu can keep its own layout while sharing this behavior.\n */\n className?: string;\n\n /**\n * Inline styling for the entry. This package ships no component stylesheets - a `.css` import would\n * not survive the `tsc` build - so chrome that cannot be expressed with the shared utility classes is\n * written here.\n */\n style?: CSSProperties;\n\n /**\n * Invoked after the entry's own `command`, so a menu can close itself or record a selection.\n */\n onActivate?: () => void;\n}\n\n/**\n * One selectable menu entry, rendered as a link when it navigates and as a button when it commands.\n *\n * The distinction is not cosmetic and it is the reason this is shared rather than repeated. An entry\n * carrying a `url` is navigation: it belongs in an anchor so it can be opened in a new tab, copied,\n * followed by a screen reader's link list and reached the way every other link on the page is. An entry\n * carrying a `command` changes something on the current screen, which is what a button is for. Getting\n * that wrong is invisible to a sighted mouse user and immediately wrong for everyone else, so the five\n * Cratis-owned menus that need a selectable entry all defer the choice to here.\n *\n * A disabled entry is always a button, even when it has a `url`, because there is no way to disable an\n * anchor - `aria-disabled` still leaves it clickable and focusable. Rendering the button lets the\n * platform's own disabled semantics do the work.\n */\nexport function MenuItemAction({ item, role, current, className, style, onActivate }: MenuItemActionProps) {\n const activate = () => {\n item.command?.();\n onActivate?.();\n };\n\n if (item.url !== undefined && item.disabled !== true) {\n return (\n <a\n href={item.url}\n role={role}\n className={className}\n style={style}\n aria-current={current === true ? 'page' : undefined}\n onClick={activate}>\n <MenuItemContent item={item} />\n </a>\n );\n }\n\n return (\n <button\n type='button'\n role={role}\n className={className}\n style={style}\n disabled={item.disabled}\n aria-current={current === true ? 'page' : undefined}\n onClick={activate}>\n <MenuItemContent item={item} />\n </button>\n );\n}\n"],"names":["MenuItemAction","item","role","current","className","style","onActivate","activate","command","url","undefined","disabled","_jsx","a","href","aria-current","onClick","MenuItemContent","button","type"],"mappings":";;;;;AAAA;AACA;AA4CA;;;;;;;;;;;;;AAaC,IACM,SAASA,cAAAA,CAAe,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,KAAK,EAAEC,UAAU,EAAuB,EAAA;AACrG,IAAA,MAAMC,QAAAA,GAAW,IAAA;AACbN,QAAAA,IAAAA,CAAKO,OAAO,IAAA;AACZF,QAAAA,UAAAA,IAAAA;AACJ,IAAA,CAAA;AAEA,IAAA,IAAIL,KAAKQ,GAAG,KAAKC,aAAaT,IAAAA,CAAKU,QAAQ,KAAK,IAAA,EAAM;AAClD,QAAA,qBACIC,cAAA,CAACC,GAAAA,EAAAA;AACGC,YAAAA,IAAAA,EAAMb,KAAKQ,GAAG;YACdP,IAAAA,EAAMA,IAAAA;YACNE,SAAAA,EAAWA,SAAAA;YACXC,KAAAA,EAAOA,KAAAA;YACPU,cAAAA,EAAcZ,OAAAA,KAAY,OAAO,MAAA,GAASO,SAAAA;YAC1CM,OAAAA,EAAST,QAAAA;AACT,YAAA,QAAA,gBAAAK,cAAA,CAACK,+BAAAA,EAAAA;gBAAgBhB,IAAAA,EAAMA;;;AAGnC,IAAA;AAEA,IAAA,qBACIW,cAAA,CAACM,QAAAA,EAAAA;QACGC,IAAAA,EAAK,QAAA;QACLjB,IAAAA,EAAMA,IAAAA;QACNE,SAAAA,EAAWA,SAAAA;QACXC,KAAAA,EAAOA,KAAAA;AACPM,QAAAA,QAAAA,EAAUV,KAAKU,QAAQ;QACvBI,cAAAA,EAAcZ,OAAAA,KAAY,OAAO,MAAA,GAASO,SAAAA;QAC1CM,OAAAA,EAAST,QAAAA;AACT,QAAA,QAAA,gBAAAK,cAAA,CAACK,+BAAAA,EAAAA;YAAgBhB,IAAAA,EAAMA;;;AAGnC;;;;"}
|