@plenustech/design-system 0.2.2 → 0.2.3
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/dist/components/actions/ButtonTile/ButtonTile.cjs +2 -0
- package/dist/components/actions/ButtonTile/ButtonTile.cjs.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.js +23 -0
- package/dist/components/actions/ButtonTile/ButtonTile.js.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +2 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +16 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.js.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.cjs +2 -0
- package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.js +118 -0
- package/dist/components/actions/Toolbar/Toolbar.js.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.cjs +2 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.cjs.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.js +20 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.js.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs +1 -1
- package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -1
- package/dist/components/charts/ChartArea/ChartArea.js +196 -148
- package/dist/components/charts/ChartArea/ChartArea.js.map +1 -1
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +1 -1
- package/dist/components/charts/ChartArea/ChartArea.module.css.js +12 -10
- package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.cjs +1 -1
- package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.js +168 -145
- package/dist/components/charts/ChartBar/ChartBar.js.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +1 -1
- package/dist/components/charts/ChartBar/ChartBar.module.css.js +12 -10
- package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.cjs +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.js +179 -154
- package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +16 -14
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.cjs +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.js +72 -61
- package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -1
- package/dist/components/charts/ChartLine/ChartLine.cjs +1 -1
- package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -1
- package/dist/components/charts/ChartLine/ChartLine.js +196 -143
- package/dist/components/charts/ChartLine/ChartLine.js.map +1 -1
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +1 -1
- package/dist/components/charts/ChartLine/ChartLine.module.css.js +16 -14
- package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -1
- package/dist/components/charts/ChartPie/ChartPie.cjs +1 -1
- package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -1
- package/dist/components/charts/ChartPie/ChartPie.js +71 -60
- package/dist/components/charts/ChartPie/ChartPie.js.map +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.cjs +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.js +101 -84
- package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.cjs +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.js +148 -125
- package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.cjs +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.js +138 -106
- package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +3 -3
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +1 -1
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -1
- package/dist/components/charts/ChartSunburst/ChartSunburst.js +115 -100
- package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.js +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.js +100 -89
- package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +125 -105
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +8 -6
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -1
- package/dist/components/charts/core/CartesianFrame.cjs +1 -1
- package/dist/components/charts/core/CartesianFrame.cjs.map +1 -1
- package/dist/components/charts/core/CartesianFrame.js +61 -96
- package/dist/components/charts/core/CartesianFrame.js.map +1 -1
- package/dist/components/charts/core/Chart.module.css.cjs +1 -1
- package/dist/components/charts/core/Chart.module.css.js +52 -54
- package/dist/components/charts/core/Chart.module.css.js.map +1 -1
- package/dist/components/charts/core/ChartFrame.cjs +1 -1
- package/dist/components/charts/core/ChartFrame.cjs.map +1 -1
- package/dist/components/charts/core/ChartFrame.js +53 -47
- package/dist/components/charts/core/ChartFrame.js.map +1 -1
- package/dist/components/charts/core/PointBands.cjs +2 -0
- package/dist/components/charts/core/PointBands.cjs.map +1 -0
- package/dist/components/charts/core/PointBands.js +41 -0
- package/dist/components/charts/core/PointBands.js.map +1 -0
- package/dist/components/charts/core/cartesianLayout.cjs +1 -1
- package/dist/components/charts/core/cartesianLayout.cjs.map +1 -1
- package/dist/components/charts/core/cartesianLayout.js +49 -41
- package/dist/components/charts/core/cartesianLayout.js.map +1 -1
- package/dist/components/charts/core/hoverPath.cjs +2 -0
- package/dist/components/charts/core/hoverPath.cjs.map +1 -0
- package/dist/components/charts/core/hoverPath.js +7 -0
- package/dist/components/charts/core/hoverPath.js.map +1 -0
- package/dist/components/charts/core/pointLabels.cjs +2 -0
- package/dist/components/charts/core/pointLabels.cjs.map +1 -0
- package/dist/components/charts/core/pointLabels.js +12 -0
- package/dist/components/charts/core/pointLabels.js.map +1 -0
- package/dist/components/charts/core/tooltips.cjs +2 -0
- package/dist/components/charts/core/tooltips.cjs.map +1 -0
- package/dist/components/charts/core/tooltips.js +48 -0
- package/dist/components/charts/core/tooltips.js.map +1 -0
- package/dist/components/charts/core/useCartesianLayout.cjs +2 -0
- package/dist/components/charts/core/useCartesianLayout.cjs.map +1 -0
- package/dist/components/charts/core/useCartesianLayout.js +38 -0
- package/dist/components/charts/core/useCartesianLayout.js.map +1 -0
- package/dist/components/charts/core/useSeriesToggle.cjs +1 -1
- package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -1
- package/dist/components/charts/core/useSeriesToggle.js +19 -12
- package/dist/components/charts/core/useSeriesToggle.js.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.js +56 -46
- package/dist/components/data-display/Accordion/Accordion.js.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.module.css.js +16 -16
- package/dist/components/data-display/SortableList/SortableList.cjs +2 -0
- package/dist/components/data-display/SortableList/SortableList.cjs.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.js +168 -0
- package/dist/components/data-display/SortableList/SortableList.js.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.cjs +2 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.cjs.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.js +34 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.js.map +1 -0
- package/dist/components/data-display/Table/Table.cjs +1 -1
- package/dist/components/data-display/Table/Table.cjs.map +1 -1
- package/dist/components/data-display/Table/Table.js +86 -85
- package/dist/components/data-display/Table/Table.js.map +1 -1
- package/dist/components/data-display/Table/Table.module.css.cjs +1 -1
- package/dist/components/data-display/Table/Table.module.css.js +50 -51
- package/dist/components/data-display/Table/Table.module.css.js.map +1 -1
- package/dist/components/data-display/Tag/Tag.cjs +2 -0
- package/dist/components/data-display/Tag/Tag.cjs.map +1 -0
- package/dist/components/data-display/Tag/Tag.js +50 -0
- package/dist/components/data-display/Tag/Tag.js.map +1 -0
- package/dist/components/data-display/Tag/Tag.module.css.cjs +2 -0
- package/dist/components/data-display/Tag/Tag.module.css.cjs.map +1 -0
- package/dist/components/data-display/Tag/Tag.module.css.js +22 -0
- package/dist/components/data-display/Tag/Tag.module.css.js.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.cjs +2 -0
- package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.js +31 -0
- package/dist/components/data-display/Timeline/Timeline.js.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs +2 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.js +30 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs +2 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.js +17 -0
- package/dist/components/feedback/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs +2 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.js +15 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.js.map +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs +2 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs.map +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.js +31 -0
- package/dist/components/feedback/Toast/Toast.module.css.js.map +1 -0
- package/dist/components/feedback/Toast/ToastRegion.cjs +2 -0
- package/dist/components/feedback/Toast/ToastRegion.cjs.map +1 -0
- package/dist/components/feedback/Toast/ToastRegion.js +62 -0
- package/dist/components/feedback/Toast/ToastRegion.js.map +1 -0
- package/dist/components/feedback/Toast/toastStore.cjs +2 -0
- package/dist/components/feedback/Toast/toastStore.cjs.map +1 -0
- package/dist/components/feedback/Toast/toastStore.js +33 -0
- package/dist/components/feedback/Toast/toastStore.js.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs +1 -1
- package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/forms/Checkbox/Checkbox.js +43 -31
- package/dist/components/forms/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.js +1 -1
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs +2 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.js +54 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +2 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +22 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs +2 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.js +57 -0
- package/dist/components/forms/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs +2 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.js +22 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.js.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +1 -1
- package/dist/components/forms/ComboBox/ComboBox.module.css.js +20 -20
- package/dist/components/forms/Field/Field.cjs +1 -1
- package/dist/components/forms/Field/Field.cjs.map +1 -1
- package/dist/components/forms/Field/Field.js +21 -20
- package/dist/components/forms/Field/Field.js.map +1 -1
- package/dist/components/forms/Field/Field.module.css.cjs +1 -1
- package/dist/components/forms/Field/Field.module.css.js +18 -12
- package/dist/components/forms/Field/Field.module.css.js.map +1 -1
- package/dist/components/forms/FileUpload/FileUpload.cjs +2 -0
- package/dist/components/forms/FileUpload/FileUpload.cjs.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.js +142 -0
- package/dist/components/forms/FileUpload/FileUpload.js.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs +2 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.js +46 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.js.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +1 -1
- package/dist/components/forms/InputPassword/InputPassword.module.css.js +12 -12
- package/dist/components/forms/InputText/InputText.cjs +1 -1
- package/dist/components/forms/InputText/InputText.cjs.map +1 -1
- package/dist/components/forms/InputText/InputText.js +55 -47
- package/dist/components/forms/InputText/InputText.js.map +1 -1
- package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
- package/dist/components/forms/InputText/InputText.module.css.js +10 -10
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs +2 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.js +52 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js +22 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
- package/dist/components/forms/Select/Select.module.css.cjs +1 -1
- package/dist/components/forms/Select/Select.module.css.js +13 -13
- package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
- package/dist/components/forms/Switch/Switch.module.css.js +2 -2
- package/dist/components/icons/icons.cjs +1 -1
- package/dist/components/icons/icons.cjs.map +1 -1
- package/dist/components/icons/icons.js +198 -40
- package/dist/components/icons/icons.js.map +1 -1
- package/dist/components/navigation/SkipLink/SkipLink.cjs +2 -0
- package/dist/components/navigation/SkipLink/SkipLink.cjs.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.js +9 -0
- package/dist/components/navigation/SkipLink/SkipLink.js.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs +2 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.js +8 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.js.map +1 -0
- package/dist/components/navigation/Steps/Steps.cjs +2 -0
- package/dist/components/navigation/Steps/Steps.cjs.map +1 -0
- package/dist/components/navigation/Steps/Steps.js +30 -0
- package/dist/components/navigation/Steps/Steps.js.map +1 -0
- package/dist/components/navigation/Steps/Steps.module.css.cjs +2 -0
- package/dist/components/navigation/Steps/Steps.module.css.cjs.map +1 -0
- package/dist/components/navigation/Steps/Steps.module.css.js +26 -0
- package/dist/components/navigation/Steps/Steps.module.css.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs +1 -1
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +88 -79
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs +1 -1
- package/dist/components/navigation/Tabs/Tabs.module.css.js +18 -14
- package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -1
- package/dist/components/overlays/Dialog/Dialog.cjs +1 -1
- package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +11 -58
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogFrame.cjs +2 -0
- package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -0
- package/dist/components/overlays/Dialog/DialogFrame.js +65 -0
- package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.cjs +2 -0
- package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.js +17 -0
- package/dist/components/overlays/Drawer/Drawer.js.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs +2 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.js +23 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.js.map +1 -0
- package/dist/components/overlays/Menu/Menu.cjs +1 -1
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
- package/dist/components/overlays/Menu/Menu.js +105 -86
- package/dist/components/overlays/Menu/Menu.js.map +1 -1
- package/dist/components/overlays/Menu/Menu.module.css.cjs +1 -1
- package/dist/components/overlays/Menu/Menu.module.css.js +24 -6
- package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -1
- package/dist/design-system.css +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +184 -122
- package/dist/index.js.map +1 -1
- package/dist/types/components/actions/ButtonTile/ButtonTile.d.ts +14 -0
- package/dist/types/components/actions/ButtonTile/index.d.ts +2 -0
- package/dist/types/components/actions/Toolbar/Toolbar.d.ts +27 -0
- package/dist/types/components/actions/Toolbar/index.d.ts +2 -0
- package/dist/types/components/charts/ChartArea/ChartArea.d.ts +15 -4
- package/dist/types/components/charts/ChartBar/ChartBar.d.ts +11 -4
- package/dist/types/components/charts/ChartCombo/ChartCombo.d.ts +16 -4
- package/dist/types/components/charts/ChartDonut/ChartDonut.d.ts +5 -1
- package/dist/types/components/charts/ChartLine/ChartLine.d.ts +15 -4
- package/dist/types/components/charts/ChartPie/ChartPie.d.ts +5 -1
- package/dist/types/components/charts/ChartRadial/ChartRadial.d.ts +5 -1
- package/dist/types/components/charts/ChartSankey/ChartSankey.d.ts +5 -1
- package/dist/types/components/charts/ChartScatter/ChartScatter.d.ts +7 -1
- package/dist/types/components/charts/ChartSunburst/ChartSunburst.d.ts +11 -2
- package/dist/types/components/charts/ChartTooltip/ChartTooltip.d.ts +2 -0
- package/dist/types/components/charts/ChartTreemap/ChartTreemap.d.ts +11 -2
- package/dist/types/components/charts/ChartWaterfall/ChartWaterfall.d.ts +8 -3
- package/dist/types/components/charts/core/CartesianFrame.d.ts +6 -1
- package/dist/types/components/charts/core/ChartFrame.d.ts +7 -1
- package/dist/types/components/charts/core/PointBands.d.ts +22 -0
- package/dist/types/components/charts/core/cartesianLayout.d.ts +10 -4
- package/dist/types/components/charts/core/hoverPath.d.ts +10 -0
- package/dist/types/components/charts/core/index.d.ts +13 -3
- package/dist/types/components/charts/core/pointLabels.d.ts +13 -0
- package/dist/types/components/charts/core/tooltips.d.ts +49 -0
- package/dist/types/components/charts/core/useCartesianLayout.d.ts +20 -0
- package/dist/types/components/charts/core/useSeriesToggle.d.ts +15 -1
- package/dist/types/components/data-display/Accordion/Accordion.d.ts +6 -1
- package/dist/types/components/data-display/Accordion/index.d.ts +1 -1
- package/dist/types/components/data-display/SortableList/SortableList.d.ts +22 -0
- package/dist/types/components/data-display/SortableList/index.d.ts +2 -0
- package/dist/types/components/data-display/Tag/Tag.d.ts +13 -0
- package/dist/types/components/data-display/Tag/index.d.ts +2 -0
- package/dist/types/components/data-display/Timeline/Timeline.d.ts +15 -0
- package/dist/types/components/data-display/Timeline/index.d.ts +2 -0
- package/dist/types/components/feedback/Skeleton/Skeleton.d.ts +13 -0
- package/dist/types/components/feedback/Skeleton/index.d.ts +2 -0
- package/dist/types/components/feedback/Toast/ToastRegion.d.ts +2 -0
- package/dist/types/components/feedback/Toast/index.d.ts +3 -0
- package/dist/types/components/feedback/Toast/toastStore.d.ts +24 -0
- package/dist/types/components/forms/CheckboxGroup/CheckboxGroup.d.ts +28 -0
- package/dist/types/components/forms/CheckboxGroup/index.d.ts +2 -0
- package/dist/types/components/forms/ColorPicker/ColorPicker.d.ts +26 -0
- package/dist/types/components/forms/ColorPicker/index.d.ts +2 -0
- package/dist/types/components/forms/Field/Field.d.ts +6 -2
- package/dist/types/components/forms/Field/index.d.ts +1 -1
- package/dist/types/components/forms/FileUpload/FileUpload.d.ts +37 -0
- package/dist/types/components/forms/FileUpload/index.d.ts +2 -0
- package/dist/types/components/forms/InputText/InputText.d.ts +4 -2
- package/dist/types/components/forms/SegmentedControl/SegmentedControl.d.ts +23 -0
- package/dist/types/components/forms/SegmentedControl/index.d.ts +2 -0
- package/dist/types/components/icons/icons.d.ts +29 -0
- package/dist/types/components/icons/index.d.ts +1 -1
- package/dist/types/components/navigation/SkipLink/SkipLink.d.ts +7 -0
- package/dist/types/components/navigation/SkipLink/index.d.ts +2 -0
- package/dist/types/components/navigation/Steps/Steps.d.ts +16 -0
- package/dist/types/components/navigation/Steps/index.d.ts +2 -0
- package/dist/types/components/navigation/Tabs/Tabs.d.ts +5 -1
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +2 -2
- package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +7 -0
- package/dist/types/components/overlays/Drawer/Drawer.d.ts +9 -0
- package/dist/types/components/overlays/Drawer/index.d.ts +2 -0
- package/dist/types/components/overlays/Menu/Menu.d.ts +16 -2
- package/dist/types/components/overlays/Menu/index.d.ts +1 -1
- package/dist/types/index.d.ts +35 -7
- package/dist/types/utils/formatters/formatarNumero.d.ts +6 -1
- package/dist/types/utils/formatters/formatarTamanhoDeArquivo.d.ts +7 -0
- package/dist/types/utils/formatters/index.d.ts +3 -1
- package/dist/utils/formatters/formatarNumero.cjs +1 -1
- package/dist/utils/formatters/formatarNumero.cjs.map +1 -1
- package/dist/utils/formatters/formatarNumero.js +42 -17
- package/dist/utils/formatters/formatarNumero.js.map +1 -1
- package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs +2 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs.map +1 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.js +17 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.cjs","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div
|
|
1
|
+
{"version":3,"file":"Tabs.cjs","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n /** O painel ocupa a altura que sobra nas abas e rola por dentro. As abas precisam de altura, dada por quem as usa. */\n fillHeight?: boolean;\n /** As abas dividem a largura em partes iguais, em vez de ficar do tamanho do rotulo. */\n fitted?: boolean;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n fillHeight = false,\n fitted = false,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.tabs, styles[orientation], fitted && styles.fitted, fillHeight && styles.fillHeight, className]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={styles.list}\n role=\"tablist\"\n aria-label={label}\n aria-orientation={orientation}\n onKeyDown={handleKeyDown}\n >\n {items.map((item) => (\n <button\n key={item.key}\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.tab, ativa === item.key && styles.active].filter(Boolean).join(' ')}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-${item.key}`}\n aria-controls={ativa === item.key ? `${baseId}-${item.key}-panel` : undefined}\n aria-selected={ativa === item.key}\n disabled={item.disabled}\n tabIndex={parada === item.key ? 0 : -1}\n onClick={() => selection.select(item.key)}\n >\n {item.label}\n </button>\n ))}\n </div>\n {painel && (\n <div\n className={styles.panel}\n role=\"tabpanel\"\n id={`${baseId}-${painel.key}-panel`}\n aria-labelledby={`${baseId}-${painel.key}`}\n tabIndex={0}\n >\n {painel.content}\n </div>\n )}\n </div>\n );\n}\n\n// Percorre em circulo, como o APG define para abas.\nfunction proximaChave(items: readonly SelectionItem[], from: string | undefined, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Tabs","className","defaultSelectedKey","fillHeight","fitted","items","label","onSelectionChange","orientation","selectedKey","props","baseId","useId","nodes","useRef","collection","useMemo","item","primeira","_a","selection","useSelection","keys","escolhida","ativa","painel","parada","useEffect","mover","proxima","handleKeyDown","event","atual","avancar","voltar","proximaChave","_b","jsxs","styles","jsx","node","from","passo","total","inicio","i"],"mappings":"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"}
|
|
@@ -1,96 +1,105 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useId as
|
|
3
|
-
import
|
|
4
|
-
import { useSelection as
|
|
5
|
-
function
|
|
1
|
+
import { jsxs as E, jsx as w } from "react/jsx-runtime";
|
|
2
|
+
import { useId as H, useRef as M, useMemo as R, useEffect as z } from "react";
|
|
3
|
+
import l from "./Tabs.module.css.js";
|
|
4
|
+
import { useSelection as L } from "../../../hooks/useSelection/useSelection.js";
|
|
5
|
+
function F({
|
|
6
6
|
className: c,
|
|
7
|
-
defaultSelectedKey:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
defaultSelectedKey: f,
|
|
8
|
+
fillHeight: p = !1,
|
|
9
|
+
fitted: t = !1,
|
|
10
|
+
items: i,
|
|
11
|
+
label: s,
|
|
12
|
+
onSelectionChange: n,
|
|
13
|
+
orientation: y = "horizontal",
|
|
14
|
+
selectedKey: v,
|
|
15
|
+
...A
|
|
14
16
|
}) {
|
|
15
|
-
var
|
|
16
|
-
const u = `tabs-${
|
|
17
|
-
() =>
|
|
18
|
-
[
|
|
19
|
-
),
|
|
17
|
+
var D;
|
|
18
|
+
const u = `tabs-${H()}`, $ = M(/* @__PURE__ */ new Map()), o = R(
|
|
19
|
+
() => i.map((e) => ({ key: e.key, disabled: e.disabled, textValue: e.label })),
|
|
20
|
+
[i]
|
|
21
|
+
), x = (D = o.find((e) => !e.disabled)) == null ? void 0 : D.key, d = L({
|
|
20
22
|
items: o,
|
|
21
23
|
mode: "single",
|
|
22
|
-
defaultSelectedKeys:
|
|
23
|
-
selectedKeys:
|
|
24
|
+
defaultSelectedKeys: v === void 0 ? [f ?? x ?? ""] : void 0,
|
|
25
|
+
selectedKeys: v === void 0 ? void 0 : [v],
|
|
24
26
|
onSelectionChange: (e) => {
|
|
25
|
-
const [
|
|
26
|
-
|
|
27
|
+
const [a] = e;
|
|
28
|
+
a !== void 0 && (n == null || n(a));
|
|
27
29
|
}
|
|
28
|
-
}), [r] =
|
|
29
|
-
|
|
30
|
+
}), [r] = d.selectedKeys, b = i.find((e) => e.key === r), N = o.some((e) => e.key === r && !e.disabled) ? r : x;
|
|
31
|
+
z(() => {
|
|
30
32
|
var e;
|
|
31
|
-
|
|
32
|
-
}, [
|
|
33
|
+
d.focusedKey && ((e = $.current.get(d.focusedKey)) == null || e.focus());
|
|
34
|
+
}, [d.focusedKey]);
|
|
33
35
|
function k(e) {
|
|
34
|
-
e &&
|
|
36
|
+
e && d.select(e);
|
|
35
37
|
}
|
|
36
|
-
function
|
|
37
|
-
var
|
|
38
|
-
const
|
|
39
|
-
e.key ===
|
|
38
|
+
function g(e) {
|
|
39
|
+
var K, I;
|
|
40
|
+
const a = d.focusedKey ?? r, m = y === "vertical" ? "ArrowDown" : "ArrowRight", B = y === "vertical" ? "ArrowUp" : "ArrowLeft";
|
|
41
|
+
e.key === m ? (e.preventDefault(), k(j(o, a, 1))) : e.key === B ? (e.preventDefault(), k(j(o, a, -1))) : e.key === "Home" ? (e.preventDefault(), k((K = o.find((h) => !h.disabled)) == null ? void 0 : K.key)) : e.key === "End" && (e.preventDefault(), k((I = [...o].reverse().find((h) => !h.disabled)) == null ? void 0 : I.key));
|
|
40
42
|
}
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
onKeyDown: A,
|
|
50
|
-
children: d.map((e) => /* @__PURE__ */ $(
|
|
51
|
-
"button",
|
|
43
|
+
return /* @__PURE__ */ E(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
...A,
|
|
47
|
+
className: [l.tabs, l[y], t && l.fitted, p && l.fillHeight, c].filter(Boolean).join(" "),
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ w(
|
|
50
|
+
"div",
|
|
52
51
|
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
52
|
+
className: l.list,
|
|
53
|
+
role: "tablist",
|
|
54
|
+
"aria-label": s,
|
|
55
|
+
"aria-orientation": y,
|
|
56
|
+
onKeyDown: g,
|
|
57
|
+
children: i.map((e) => /* @__PURE__ */ w(
|
|
58
|
+
"button",
|
|
59
|
+
{
|
|
60
|
+
ref: (a) => {
|
|
61
|
+
a ? $.current.set(e.key, a) : $.current.delete(e.key);
|
|
62
|
+
},
|
|
63
|
+
className: [l.tab, r === e.key && l.active].filter(Boolean).join(" "),
|
|
64
|
+
type: "button",
|
|
65
|
+
role: "tab",
|
|
66
|
+
id: `${u}-${e.key}`,
|
|
67
|
+
"aria-controls": r === e.key ? `${u}-${e.key}-panel` : void 0,
|
|
68
|
+
"aria-selected": r === e.key,
|
|
69
|
+
disabled: e.disabled,
|
|
70
|
+
tabIndex: N === e.key ? 0 : -1,
|
|
71
|
+
onClick: () => d.select(e.key),
|
|
72
|
+
children: e.label
|
|
73
|
+
},
|
|
74
|
+
e.key
|
|
75
|
+
))
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
b && /* @__PURE__ */ w(
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
className: l.panel,
|
|
82
|
+
role: "tabpanel",
|
|
83
|
+
id: `${u}-${b.key}-panel`,
|
|
84
|
+
"aria-labelledby": `${u}-${b.key}`,
|
|
85
|
+
tabIndex: 0,
|
|
86
|
+
children: b.content
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
);
|
|
83
92
|
}
|
|
84
|
-
function
|
|
85
|
-
const
|
|
86
|
-
for (let
|
|
87
|
-
const
|
|
88
|
-
if (!
|
|
89
|
-
return
|
|
93
|
+
function j(c, f, p) {
|
|
94
|
+
const t = c.length, i = c.findIndex((s) => s.key === f);
|
|
95
|
+
for (let s = 1; s <= t; s += 1) {
|
|
96
|
+
const n = c[(i + p * s + t * t) % t];
|
|
97
|
+
if (!n.disabled)
|
|
98
|
+
return n.key;
|
|
90
99
|
}
|
|
91
|
-
return
|
|
100
|
+
return f;
|
|
92
101
|
}
|
|
93
102
|
export {
|
|
94
|
-
|
|
103
|
+
F as Tabs
|
|
95
104
|
};
|
|
96
105
|
//# sourceMappingURL=Tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import {\n useEffect,\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Tabs.module.css';\n\nexport interface TabItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\nexport interface TabsProps extends ComponentPropsWithRef<'div'> {\n defaultSelectedKey?: string;\n /** O painel ocupa a altura que sobra nas abas e rola por dentro. As abas precisam de altura, dada por quem as usa. */\n fillHeight?: boolean;\n /** As abas dividem a largura em partes iguais, em vez de ficar do tamanho do rotulo. */\n fitted?: boolean;\n items: readonly TabItem[];\n label: string;\n onSelectionChange?: (key: string) => void;\n orientation?: TabsOrientation;\n selectedKey?: string;\n}\n\nexport function Tabs({\n className,\n defaultSelectedKey,\n fillHeight = false,\n fitted = false,\n items,\n label,\n onSelectionChange,\n orientation = 'horizontal',\n selectedKey,\n ...props\n}: TabsProps) {\n const baseId = `tabs-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const primeira = collection.find((item) => !item.disabled)?.key;\n const selection = useSelection({\n items: collection,\n mode: 'single',\n defaultSelectedKeys: selectedKey === undefined ? [defaultSelectedKey ?? primeira ?? ''] : undefined,\n selectedKeys: selectedKey === undefined ? undefined : [selectedKey],\n onSelectionChange: (keys) => {\n const [escolhida] = keys;\n if (escolhida !== undefined) {\n onSelectionChange?.(escolhida);\n }\n },\n });\n const [ativa] = selection.selectedKeys;\n const painel = items.find((item) => item.key === ativa);\n // A lista sempre tem uma parada de Tab: com a escolhida inexistente ou desabilitada, nenhuma aba era alcancavel.\n const parada = collection.some((item) => item.key === ativa && !item.disabled) ? ativa : primeira;\n\n useEffect(() => {\n if (selection.focusedKey) {\n nodes.current.get(selection.focusedKey)?.focus();\n }\n }, [selection.focusedKey]);\n\n // Ativacao automatica: mover o foco troca a aba, conforme o padrao do APG\n // para paineis que carregam instantaneamente.\n function mover(proxima: string | undefined) {\n if (proxima) {\n selection.select(proxima);\n }\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLDivElement>) {\n const atual = selection.focusedKey ?? ativa;\n const avancar = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const voltar = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n if (event.key === avancar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, 1));\n } else if (event.key === voltar) {\n event.preventDefault();\n mover(proximaChave(collection, atual, -1));\n } else if (event.key === 'Home') {\n event.preventDefault();\n mover(collection.find((item) => !item.disabled)?.key);\n } else if (event.key === 'End') {\n event.preventDefault();\n mover([...collection].reverse().find((item) => !item.disabled)?.key);\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.tabs, styles[orientation], fitted && styles.fitted, fillHeight && styles.fillHeight, className]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={styles.list}\n role=\"tablist\"\n aria-label={label}\n aria-orientation={orientation}\n onKeyDown={handleKeyDown}\n >\n {items.map((item) => (\n <button\n key={item.key}\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.tab, ativa === item.key && styles.active].filter(Boolean).join(' ')}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-${item.key}`}\n aria-controls={ativa === item.key ? `${baseId}-${item.key}-panel` : undefined}\n aria-selected={ativa === item.key}\n disabled={item.disabled}\n tabIndex={parada === item.key ? 0 : -1}\n onClick={() => selection.select(item.key)}\n >\n {item.label}\n </button>\n ))}\n </div>\n {painel && (\n <div\n className={styles.panel}\n role=\"tabpanel\"\n id={`${baseId}-${painel.key}-panel`}\n aria-labelledby={`${baseId}-${painel.key}`}\n tabIndex={0}\n >\n {painel.content}\n </div>\n )}\n </div>\n );\n}\n\n// Percorre em circulo, como o APG define para abas.\nfunction proximaChave(items: readonly SelectionItem[], from: string | undefined, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Tabs","className","defaultSelectedKey","fillHeight","fitted","items","label","onSelectionChange","orientation","selectedKey","props","baseId","useId","nodes","useRef","collection","useMemo","item","primeira","_a","selection","useSelection","keys","escolhida","ativa","painel","parada","useEffect","mover","proxima","handleKeyDown","event","atual","avancar","voltar","proximaChave","_b","jsxs","styles","jsx","node","from","passo","total","inicio","i"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_tabs_cf8v3_1",e="_horizontal_cf8v3_7",i="_list_cf8v3_11",l="_active_cf8v3_17",c="_vertical_cf8v3_23",_="_tab_cf8v3_1",a="_panel_cf8v3_45",s="_fitted_cf8v3_89",o="_fillHeight_cf8v3_95",n={tabs:t,horizontal:e,list:i,active:l,vertical:c,tab:_,panel:a,fitted:s,fillHeight:o};exports.active=l;exports.default=n;exports.fillHeight=o;exports.fitted=s;exports.horizontal=e;exports.list=i;exports.panel=a;exports.tab=_;exports.tabs=t;exports.vertical=c;
|
|
2
2
|
//# sourceMappingURL=Tabs.module.css.cjs.map
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
const t = "
|
|
1
|
+
const t = "_tabs_cf8v3_1", _ = "_horizontal_cf8v3_7", c = "_list_cf8v3_11", i = "_active_cf8v3_17", a = "_vertical_cf8v3_23", l = "_tab_cf8v3_1", s = "_panel_cf8v3_45", e = "_fitted_cf8v3_89", o = "_fillHeight_cf8v3_95", f = {
|
|
2
2
|
tabs: t,
|
|
3
|
-
horizontal:
|
|
4
|
-
list:
|
|
5
|
-
active:
|
|
6
|
-
vertical:
|
|
7
|
-
tab:
|
|
8
|
-
panel:
|
|
3
|
+
horizontal: _,
|
|
4
|
+
list: c,
|
|
5
|
+
active: i,
|
|
6
|
+
vertical: a,
|
|
7
|
+
tab: l,
|
|
8
|
+
panel: s,
|
|
9
|
+
fitted: e,
|
|
10
|
+
fillHeight: o
|
|
9
11
|
};
|
|
10
12
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
i as active,
|
|
14
|
+
f as default,
|
|
15
|
+
o as fillHeight,
|
|
16
|
+
e as fitted,
|
|
17
|
+
_ as horizontal,
|
|
18
|
+
c as list,
|
|
19
|
+
s as panel,
|
|
20
|
+
l as tab,
|
|
17
21
|
t as tabs,
|
|
18
|
-
|
|
22
|
+
a as vertical
|
|
19
23
|
};
|
|
20
24
|
//# sourceMappingURL=Tabs.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tabs.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),o=require("./DialogFrame.cjs"),e=require("./Dialog.module.css.cjs");function u({size:a="md",...l}){return r.jsx(o.DialogFrame,{...l,surfaceClassName:[e.default.dialog,e.default[a]].join(" "),underlayClassName:e.default.underlay})}exports.Dialog=u;
|
|
2
2
|
//# sourceMappingURL=Dialog.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.cjs","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Dialog.cjs","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\nimport { DialogFrame } from './DialogFrame';\nimport styles from './Dialog.module.css';\n\nexport type DialogSize = 'sm' | 'md' | 'lg';\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** As propriedades nativas vao ao elemento do dialogo; o `className` soma ao do sistema. */\nexport interface DialogProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'role' | 'title'> {\n children?: ReactNode;\n description?: string;\n dismissable?: boolean;\n footer?: ReactNode;\n /** Opcional. Desenhado ao lado do titulo, fora da leitura: quem fala e o titulo. */\n icon?: ReactNode;\n onClose: () => void;\n open: boolean;\n /** `alertdialog` para a confirmacao que interrompe e exige resposta, como a de uma acao destrutiva. */\n role?: DialogRole;\n size?: DialogSize;\n title: string;\n}\n\nexport function Dialog({ size = 'md', ...props }: DialogProps) {\n return (\n <DialogFrame\n {...props}\n surfaceClassName={[styles.dialog, styles[size]].join(' ')}\n underlayClassName={styles.underlay}\n />\n );\n}\n"],"names":["Dialog","size","props","jsx","DialogFrame","styles"],"mappings":"yLAuBO,SAASA,EAAO,CAAE,KAAAC,EAAO,KAAM,GAAGC,GAAsB,CAC7D,OACEC,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGF,EACJ,iBAAkB,CAACG,EAAAA,QAAO,OAAQA,EAAAA,QAAOJ,CAAI,CAAC,EAAE,KAAK,GAAG,EACxD,kBAAmBI,EAAAA,QAAO,QAAA,CAAA,CAGhC"}
|
|
@@ -1,64 +1,17 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import e from "./Dialog.module.css.js";
|
|
8
|
-
import { IconClose as S } from "../../icons/icons.js";
|
|
9
|
-
function A({ open: i, ...t }) {
|
|
10
|
-
return !i || typeof document > "u" ? null : P(/* @__PURE__ */ r($, { ...t }), document.body);
|
|
11
|
-
}
|
|
12
|
-
function $({
|
|
13
|
-
children: i,
|
|
14
|
-
className: t,
|
|
15
|
-
description: a,
|
|
16
|
-
dismissable: s = !0,
|
|
17
|
-
footer: l,
|
|
18
|
-
icon: n,
|
|
19
|
-
onClose: c,
|
|
20
|
-
ref: p,
|
|
21
|
-
role: h = "dialog",
|
|
22
|
-
size: y = "md",
|
|
23
|
-
title: v,
|
|
24
|
-
...b
|
|
25
|
-
}) {
|
|
26
|
-
const o = I(null), N = C(o, p), u = j(), m = `${u}-title`, f = `${u}-description`, { overlayProps: g, underlayProps: D } = O(
|
|
27
|
-
{
|
|
28
|
-
isOpen: !0,
|
|
29
|
-
onClose: c,
|
|
30
|
-
isDismissable: s,
|
|
31
|
-
isKeyboardDismissDisabled: !s
|
|
32
|
-
},
|
|
33
|
-
o
|
|
34
|
-
);
|
|
35
|
-
return R(), F(() => o.current ? B([o.current]) : void 0, []), /* @__PURE__ */ r("div", { ...D, className: e.underlay, children: /* @__PURE__ */ r(x, { contain: !0, restoreFocus: !0, autoFocus: !0, children: /* @__PURE__ */ d(
|
|
36
|
-
"div",
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { DialogFrame as e } from "./DialogFrame.js";
|
|
3
|
+
import r from "./Dialog.module.css.js";
|
|
4
|
+
function t({ size: o = "md", ...a }) {
|
|
5
|
+
return /* @__PURE__ */ m(
|
|
6
|
+
e,
|
|
37
7
|
{
|
|
38
|
-
...
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
className: [e.dialog, e[y], t].filter(Boolean).join(" "),
|
|
42
|
-
role: h,
|
|
43
|
-
"aria-modal": "true",
|
|
44
|
-
"aria-labelledby": m,
|
|
45
|
-
"aria-describedby": a ? f : void 0,
|
|
46
|
-
children: [
|
|
47
|
-
/* @__PURE__ */ d("header", { className: [e.header, i && e.headerDivided].filter(Boolean).join(" "), children: [
|
|
48
|
-
n && /* @__PURE__ */ r("span", { "aria-hidden": "true", className: e.icon, children: n }),
|
|
49
|
-
/* @__PURE__ */ d("div", { className: e.heading, children: [
|
|
50
|
-
/* @__PURE__ */ r("h2", { className: e.title, id: m, children: v }),
|
|
51
|
-
a && /* @__PURE__ */ r("p", { className: e.description, id: f, children: a })
|
|
52
|
-
] }),
|
|
53
|
-
s && /* @__PURE__ */ r("button", { className: e.close, type: "button", "aria-label": "Fechar", onClick: c, children: /* @__PURE__ */ r(S, { size: 20 }) })
|
|
54
|
-
] }),
|
|
55
|
-
i && /* @__PURE__ */ r("div", { className: e.body, children: i }),
|
|
56
|
-
l && /* @__PURE__ */ r("div", { className: e.footer, children: l })
|
|
57
|
-
]
|
|
8
|
+
...a,
|
|
9
|
+
surfaceClassName: [r.dialog, r[o]].join(" "),
|
|
10
|
+
underlayClassName: r.underlay
|
|
58
11
|
}
|
|
59
|
-
)
|
|
12
|
+
);
|
|
60
13
|
}
|
|
61
14
|
export {
|
|
62
|
-
|
|
15
|
+
t as Dialog
|
|
63
16
|
};
|
|
64
17
|
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/overlays/Dialog/Dialog.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\nimport { DialogFrame } from './DialogFrame';\nimport styles from './Dialog.module.css';\n\nexport type DialogSize = 'sm' | 'md' | 'lg';\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** As propriedades nativas vao ao elemento do dialogo; o `className` soma ao do sistema. */\nexport interface DialogProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'role' | 'title'> {\n children?: ReactNode;\n description?: string;\n dismissable?: boolean;\n footer?: ReactNode;\n /** Opcional. Desenhado ao lado do titulo, fora da leitura: quem fala e o titulo. */\n icon?: ReactNode;\n onClose: () => void;\n open: boolean;\n /** `alertdialog` para a confirmacao que interrompe e exige resposta, como a de uma acao destrutiva. */\n role?: DialogRole;\n size?: DialogSize;\n title: string;\n}\n\nexport function Dialog({ size = 'md', ...props }: DialogProps) {\n return (\n <DialogFrame\n {...props}\n surfaceClassName={[styles.dialog, styles[size]].join(' ')}\n underlayClassName={styles.underlay}\n />\n );\n}\n"],"names":["Dialog","size","props","jsx","DialogFrame","styles"],"mappings":";;;AAuBO,SAASA,EAAO,EAAE,MAAAC,IAAO,MAAM,GAAGC,KAAsB;AAC7D,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGF;AAAA,MACJ,kBAAkB,CAACG,EAAO,QAAQA,EAAOJ,CAAI,CAAC,EAAE,KAAK,GAAG;AAAA,MACxD,mBAAmBI,EAAO;AAAA,IAAA;AAAA,EAAA;AAGhC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),q=require("react-dom"),F=require("@react-aria/focus"),d=require("@react-aria/overlays"),I=require("../../../hooks/useMergedRefs.cjs"),r=require("./Dialog.module.css.cjs"),P=require("../../icons/icons.cjs");function R({open:s,...t}){return!s||typeof document>"u"?null:q.createPortal(e.jsx(O,{...t}),document.body)}function O({children:s,className:t,description:i,dismissable:o=!0,footer:n,icon:c,onClose:u,ref:h,role:x="dialog",surfaceClassName:v,title:y,underlayClassName:b,...g}){const a=l.useRef(null),p=I.useMergedRefs(a,h),f=l.useId(),m=`${f}-title`,j=`${f}-description`,{overlayProps:N,underlayProps:D}=d.useOverlay({isOpen:!0,onClose:u,isDismissable:o,isKeyboardDismissDisabled:!o},a);return d.usePreventScroll(),l.useEffect(()=>a.current?d.ariaHideOutside([a.current]):void 0,[]),e.jsx("div",{...D,className:b,children:e.jsx(F.FocusScope,{contain:!0,restoreFocus:!0,autoFocus:!0,children:e.jsxs("div",{...g,...N,ref:p,className:[v,t].filter(Boolean).join(" "),role:x,"aria-modal":"true","aria-labelledby":m,"aria-describedby":i?j:void 0,children:[e.jsxs("header",{className:[r.default.header,s&&r.default.headerDivided].filter(Boolean).join(" "),children:[c&&e.jsx("span",{"aria-hidden":"true",className:r.default.icon,children:c}),e.jsxs("div",{className:r.default.heading,children:[e.jsx("h2",{className:r.default.title,id:m,children:y}),i&&e.jsx("p",{className:r.default.description,id:j,children:i})]}),o&&e.jsx("button",{className:r.default.close,type:"button","aria-label":"Fechar",onClick:u,children:e.jsx(P.IconClose,{size:20})})]}),s&&e.jsx("div",{className:r.default.body,children:s}),n&&e.jsx("div",{className:r.default.footer,children:n})]})})})}exports.DialogFrame=R;
|
|
2
|
+
//# sourceMappingURL=DialogFrame.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogFrame.cjs","sources":["../../../../src/components/overlays/Dialog/DialogFrame.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { FocusScope } from '@react-aria/focus';\nimport { ariaHideOutside, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { IconClose } from '../../icons';\nimport type { DialogProps } from './Dialog';\nimport styles from './Dialog.module.css';\n\nexport interface DialogFrameProps extends Omit<DialogProps, 'size'> {\n surfaceClassName: string;\n underlayClassName: string;\n}\n\n/** Mecanica modal do `Dialog` e do `Drawer`: portal, foco preso, rolagem travada, cabecalho, corpo e rodape. Interna. */\nexport function DialogFrame({ open, ...props }: DialogFrameProps) {\n // No servidor nao ha `document` para o portal; o modal nasce na hidratacao.\n if (!open || typeof document === 'undefined') {\n return null;\n }\n\n return createPortal(<DialogFrameContent {...props} />, document.body);\n}\n\nfunction DialogFrameContent({\n children,\n className,\n description,\n dismissable = true,\n footer,\n icon,\n onClose,\n ref: refDoConsumidor,\n role = 'dialog',\n surfaceClassName,\n title,\n underlayClassName,\n ...props\n}: Omit<DialogFrameProps, 'open'>) {\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRefs(ref, refDoConsumidor);\n const generatedId = useId();\n const titleId = `${generatedId}-title`;\n const descriptionId = `${generatedId}-description`;\n\n const { overlayProps, underlayProps } = useOverlay(\n {\n isOpen: true,\n onClose,\n isDismissable: dismissable,\n isKeyboardDismissDisabled: !dismissable,\n },\n ref,\n );\n\n usePreventScroll();\n\n useEffect(() => (ref.current ? ariaHideOutside([ref.current]) : undefined), []);\n\n return (\n <div {...underlayProps} className={underlayClassName}>\n <FocusScope contain restoreFocus autoFocus>\n <div\n {...props}\n {...overlayProps}\n ref={mergedRef}\n className={[surfaceClassName, className].filter(Boolean).join(' ')}\n role={role}\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <header className={[styles.header, children && styles.headerDivided].filter(Boolean).join(' ')}>\n {icon && (\n <span aria-hidden=\"true\" className={styles.icon}>\n {icon}\n </span>\n )}\n <div className={styles.heading}>\n <h2 className={styles.title} id={titleId}>{title}</h2>\n {description && <p className={styles.description} id={descriptionId}>{description}</p>}\n </div>\n {dismissable && (\n <button className={styles.close} type=\"button\" aria-label=\"Fechar\" onClick={onClose}>\n <IconClose size={20} />\n </button>\n )}\n </header>\n {children && <div className={styles.body}>{children}</div>}\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </FocusScope>\n </div>\n );\n}\n"],"names":["DialogFrame","open","props","createPortal","jsx","DialogFrameContent","children","className","description","dismissable","footer","icon","onClose","refDoConsumidor","role","surfaceClassName","title","underlayClassName","ref","useRef","mergedRef","useMergedRefs","generatedId","useId","titleId","descriptionId","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","ariaHideOutside","FocusScope","jsxs","styles","IconClose"],"mappings":"sVAeO,SAASA,EAAY,CAAE,KAAAC,EAAM,GAAGC,GAA2B,CAEhE,MAAI,CAACD,GAAQ,OAAO,SAAa,IACxB,KAGFE,EAAAA,aAAaC,EAAAA,IAACC,EAAA,CAAoB,GAAGH,EAAO,EAAI,SAAS,IAAI,CACtE,CAEA,SAASG,EAAmB,CAC1B,SAAAC,EACA,UAAAC,EACA,YAAAC,EACA,YAAAC,EAAc,GACd,OAAAC,EACA,KAAAC,EACA,QAAAC,EACA,IAAKC,EACL,KAAAC,EAAO,SACP,iBAAAC,EACA,MAAAC,EACA,kBAAAC,EACA,GAAGf,CACL,EAAmC,CACjC,MAAMgB,EAAMC,EAAAA,OAAuB,IAAI,EACjCC,EAAYC,EAAAA,cAAcH,EAAKL,CAAe,EAC9CS,EAAcC,EAAAA,MAAA,EACdC,EAAU,GAAGF,CAAW,SACxBG,EAAgB,GAAGH,CAAW,eAE9B,CAAE,aAAAI,EAAc,cAAAC,CAAA,EAAkBC,EAAAA,WACtC,CACE,OAAQ,GACR,QAAAhB,EACA,cAAeH,EACf,0BAA2B,CAACA,CAAA,EAE9BS,CAAA,EAGFW,OAAAA,mBAAA,EAEAC,YAAU,IAAOZ,EAAI,QAAUa,EAAAA,gBAAgB,CAACb,EAAI,OAAO,CAAC,EAAI,OAAY,EAAE,EAG5Ed,EAAAA,IAAC,MAAA,CAAK,GAAGuB,EAAe,UAAWV,EACjC,SAAAb,EAAAA,IAAC4B,EAAAA,WAAA,CAAW,QAAO,GAAC,aAAY,GAAC,UAAS,GACxC,SAAAC,EAAAA,KAAC,MAAA,CACE,GAAG/B,EACH,GAAGwB,EACJ,IAAKN,EACL,UAAW,CAACL,EAAkBR,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EACjE,KAAAO,EACA,aAAW,OACX,kBAAiBU,EACjB,mBAAkBhB,EAAciB,EAAgB,OAEhD,SAAA,CAAAQ,EAAAA,KAAC,SAAA,CAAO,UAAW,CAACC,EAAAA,QAAO,OAAQ5B,GAAY4B,EAAAA,QAAO,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC1F,SAAA,CAAAvB,SACE,OAAA,CAAK,cAAY,OAAO,UAAWuB,UAAO,KACxC,SAAAvB,CAAA,CACH,EAEFsB,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,QACrB,SAAA,CAAA9B,MAAC,MAAG,UAAW8B,EAAAA,QAAO,MAAO,GAAIV,EAAU,SAAAR,EAAM,EAChDR,SAAgB,IAAA,CAAE,UAAW0B,EAAAA,QAAO,YAAa,GAAIT,EAAgB,SAAAjB,CAAA,CAAY,CAAA,EACpF,EACCC,GACCL,EAAAA,IAAC,SAAA,CAAO,UAAW8B,EAAAA,QAAO,MAAO,KAAK,SAAS,aAAW,SAAS,QAAStB,EAC1E,SAAAR,EAAAA,IAAC+B,EAAAA,UAAA,CAAU,KAAM,GAAI,CAAA,CACvB,CAAA,EAEJ,EACC7B,GAAYF,EAAAA,IAAC,MAAA,CAAI,UAAW8B,UAAO,KAAO,SAAA5B,EAAS,EACnDI,GAAUN,EAAAA,IAAC,MAAA,CAAI,UAAW8B,EAAAA,QAAO,OAAS,SAAAxB,CAAA,CAAO,CAAA,CAAA,CAAA,EAEtD,CAAA,CACF,CAEJ"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as I, useId as j, useEffect as P } from "react";
|
|
3
|
+
import { createPortal as x } from "react-dom";
|
|
4
|
+
import { FocusScope as O } from "@react-aria/focus";
|
|
5
|
+
import { useOverlay as R, usePreventScroll as B, ariaHideOutside as C } from "@react-aria/overlays";
|
|
6
|
+
import { useMergedRefs as S } from "../../../hooks/useMergedRefs.js";
|
|
7
|
+
import r from "./Dialog.module.css.js";
|
|
8
|
+
import { IconClose as $ } from "../../icons/icons.js";
|
|
9
|
+
function G({ open: i, ...t }) {
|
|
10
|
+
return !i || typeof document > "u" ? null : x(/* @__PURE__ */ e(k, { ...t }), document.body);
|
|
11
|
+
}
|
|
12
|
+
function k({
|
|
13
|
+
children: i,
|
|
14
|
+
className: t,
|
|
15
|
+
description: a,
|
|
16
|
+
dismissable: s = !0,
|
|
17
|
+
footer: d,
|
|
18
|
+
icon: l,
|
|
19
|
+
onClose: c,
|
|
20
|
+
ref: p,
|
|
21
|
+
role: h = "dialog",
|
|
22
|
+
surfaceClassName: v,
|
|
23
|
+
title: y,
|
|
24
|
+
underlayClassName: b,
|
|
25
|
+
...N
|
|
26
|
+
}) {
|
|
27
|
+
const o = I(null), g = S(o, p), u = j(), m = `${u}-title`, f = `${u}-description`, { overlayProps: D, underlayProps: F } = R(
|
|
28
|
+
{
|
|
29
|
+
isOpen: !0,
|
|
30
|
+
onClose: c,
|
|
31
|
+
isDismissable: s,
|
|
32
|
+
isKeyboardDismissDisabled: !s
|
|
33
|
+
},
|
|
34
|
+
o
|
|
35
|
+
);
|
|
36
|
+
return B(), P(() => o.current ? C([o.current]) : void 0, []), /* @__PURE__ */ e("div", { ...F, className: b, children: /* @__PURE__ */ e(O, { contain: !0, restoreFocus: !0, autoFocus: !0, children: /* @__PURE__ */ n(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
...N,
|
|
40
|
+
...D,
|
|
41
|
+
ref: g,
|
|
42
|
+
className: [v, t].filter(Boolean).join(" "),
|
|
43
|
+
role: h,
|
|
44
|
+
"aria-modal": "true",
|
|
45
|
+
"aria-labelledby": m,
|
|
46
|
+
"aria-describedby": a ? f : void 0,
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ n("header", { className: [r.header, i && r.headerDivided].filter(Boolean).join(" "), children: [
|
|
49
|
+
l && /* @__PURE__ */ e("span", { "aria-hidden": "true", className: r.icon, children: l }),
|
|
50
|
+
/* @__PURE__ */ n("div", { className: r.heading, children: [
|
|
51
|
+
/* @__PURE__ */ e("h2", { className: r.title, id: m, children: y }),
|
|
52
|
+
a && /* @__PURE__ */ e("p", { className: r.description, id: f, children: a })
|
|
53
|
+
] }),
|
|
54
|
+
s && /* @__PURE__ */ e("button", { className: r.close, type: "button", "aria-label": "Fechar", onClick: c, children: /* @__PURE__ */ e($, { size: 20 }) })
|
|
55
|
+
] }),
|
|
56
|
+
i && /* @__PURE__ */ e("div", { className: r.body, children: i }),
|
|
57
|
+
d && /* @__PURE__ */ e("div", { className: r.footer, children: d })
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
) }) });
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
G as DialogFrame
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=DialogFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogFrame.js","sources":["../../../../src/components/overlays/Dialog/DialogFrame.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { FocusScope } from '@react-aria/focus';\nimport { ariaHideOutside, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport { IconClose } from '../../icons';\nimport type { DialogProps } from './Dialog';\nimport styles from './Dialog.module.css';\n\nexport interface DialogFrameProps extends Omit<DialogProps, 'size'> {\n surfaceClassName: string;\n underlayClassName: string;\n}\n\n/** Mecanica modal do `Dialog` e do `Drawer`: portal, foco preso, rolagem travada, cabecalho, corpo e rodape. Interna. */\nexport function DialogFrame({ open, ...props }: DialogFrameProps) {\n // No servidor nao ha `document` para o portal; o modal nasce na hidratacao.\n if (!open || typeof document === 'undefined') {\n return null;\n }\n\n return createPortal(<DialogFrameContent {...props} />, document.body);\n}\n\nfunction DialogFrameContent({\n children,\n className,\n description,\n dismissable = true,\n footer,\n icon,\n onClose,\n ref: refDoConsumidor,\n role = 'dialog',\n surfaceClassName,\n title,\n underlayClassName,\n ...props\n}: Omit<DialogFrameProps, 'open'>) {\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRefs(ref, refDoConsumidor);\n const generatedId = useId();\n const titleId = `${generatedId}-title`;\n const descriptionId = `${generatedId}-description`;\n\n const { overlayProps, underlayProps } = useOverlay(\n {\n isOpen: true,\n onClose,\n isDismissable: dismissable,\n isKeyboardDismissDisabled: !dismissable,\n },\n ref,\n );\n\n usePreventScroll();\n\n useEffect(() => (ref.current ? ariaHideOutside([ref.current]) : undefined), []);\n\n return (\n <div {...underlayProps} className={underlayClassName}>\n <FocusScope contain restoreFocus autoFocus>\n <div\n {...props}\n {...overlayProps}\n ref={mergedRef}\n className={[surfaceClassName, className].filter(Boolean).join(' ')}\n role={role}\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n >\n <header className={[styles.header, children && styles.headerDivided].filter(Boolean).join(' ')}>\n {icon && (\n <span aria-hidden=\"true\" className={styles.icon}>\n {icon}\n </span>\n )}\n <div className={styles.heading}>\n <h2 className={styles.title} id={titleId}>{title}</h2>\n {description && <p className={styles.description} id={descriptionId}>{description}</p>}\n </div>\n {dismissable && (\n <button className={styles.close} type=\"button\" aria-label=\"Fechar\" onClick={onClose}>\n <IconClose size={20} />\n </button>\n )}\n </header>\n {children && <div className={styles.body}>{children}</div>}\n {footer && <div className={styles.footer}>{footer}</div>}\n </div>\n </FocusScope>\n </div>\n );\n}\n"],"names":["DialogFrame","open","props","createPortal","jsx","DialogFrameContent","children","className","description","dismissable","footer","icon","onClose","refDoConsumidor","role","surfaceClassName","title","underlayClassName","ref","useRef","mergedRef","useMergedRefs","generatedId","useId","titleId","descriptionId","overlayProps","underlayProps","useOverlay","usePreventScroll","useEffect","ariaHideOutside","FocusScope","jsxs","styles","IconClose"],"mappings":";;;;;;;;AAeO,SAASA,EAAY,EAAE,MAAAC,GAAM,GAAGC,KAA2B;AAEhE,SAAI,CAACD,KAAQ,OAAO,WAAa,MACxB,OAGFE,EAAa,gBAAAC,EAACC,GAAA,EAAoB,GAAGH,GAAO,GAAI,SAAS,IAAI;AACtE;AAEA,SAASG,EAAmB;AAAA,EAC1B,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAKC;AAAA,EACL,MAAAC,IAAO;AAAA,EACP,kBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,GAAGf;AACL,GAAmC;AACjC,QAAMgB,IAAMC,EAAuB,IAAI,GACjCC,IAAYC,EAAcH,GAAKL,CAAe,GAC9CS,IAAcC,EAAA,GACdC,IAAU,GAAGF,CAAW,UACxBG,IAAgB,GAAGH,CAAW,gBAE9B,EAAE,cAAAI,GAAc,eAAAC,EAAA,IAAkBC;AAAA,IACtC;AAAA,MACE,QAAQ;AAAA,MACR,SAAAhB;AAAA,MACA,eAAeH;AAAA,MACf,2BAA2B,CAACA;AAAA,IAAA;AAAA,IAE9BS;AAAA,EAAA;AAGF,SAAAW,EAAA,GAEAC,EAAU,MAAOZ,EAAI,UAAUa,EAAgB,CAACb,EAAI,OAAO,CAAC,IAAI,QAAY,EAAE,GAG5E,gBAAAd,EAAC,OAAA,EAAK,GAAGuB,GAAe,WAAWV,GACjC,UAAA,gBAAAb,EAAC4B,GAAA,EAAW,SAAO,IAAC,cAAY,IAAC,WAAS,IACxC,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG/B;AAAA,MACH,GAAGwB;AAAA,MACJ,KAAKN;AAAA,MACL,WAAW,CAACL,GAAkBR,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MACjE,MAAAO;AAAA,MACA,cAAW;AAAA,MACX,mBAAiBU;AAAA,MACjB,oBAAkBhB,IAAciB,IAAgB;AAAA,MAEhD,UAAA;AAAA,QAAA,gBAAAQ,EAAC,UAAA,EAAO,WAAW,CAACC,EAAO,QAAQ5B,KAAY4B,EAAO,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC1F,UAAA;AAAA,UAAAvB,uBACE,QAAA,EAAK,eAAY,QAAO,WAAWuB,EAAO,MACxC,UAAAvB,EAAA,CACH;AAAA,UAEF,gBAAAsB,EAAC,OAAA,EAAI,WAAWC,EAAO,SACrB,UAAA;AAAA,YAAA,gBAAA9B,EAAC,QAAG,WAAW8B,EAAO,OAAO,IAAIV,GAAU,UAAAR,GAAM;AAAA,YAChDR,uBAAgB,KAAA,EAAE,WAAW0B,EAAO,aAAa,IAAIT,GAAgB,UAAAjB,EAAA,CAAY;AAAA,UAAA,GACpF;AAAA,UACCC,KACC,gBAAAL,EAAC,UAAA,EAAO,WAAW8B,EAAO,OAAO,MAAK,UAAS,cAAW,UAAS,SAAStB,GAC1E,UAAA,gBAAAR,EAAC+B,GAAA,EAAU,MAAM,IAAI,EAAA,CACvB;AAAA,QAAA,GAEJ;AAAA,QACC7B,KAAY,gBAAAF,EAAC,OAAA,EAAI,WAAW8B,EAAO,MAAO,UAAA5B,GAAS;AAAA,QACnDI,KAAU,gBAAAN,EAAC,OAAA,EAAI,WAAW8B,EAAO,QAAS,UAAAxB,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEtD,EAAA,CACF;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),l=require("../Dialog/DialogFrame.cjs"),e=require("./Drawer.module.css.cjs");function i({side:r="right",size:a="md",...t}){return u.jsx(l.DialogFrame,{...t,surfaceClassName:[e.default.drawer,e.default[a]].join(" "),underlayClassName:[e.default.underlay,e.default[r]].join(" ")})}exports.Drawer=i;
|
|
2
|
+
//# sourceMappingURL=Drawer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawer.cjs","sources":["../../../../src/components/overlays/Drawer/Drawer.tsx"],"sourcesContent":["import type { DialogProps } from '../Dialog';\nimport { DialogFrame } from '../Dialog/DialogFrame';\nimport styles from './Drawer.module.css';\n\nexport type DrawerSide = 'left' | 'right';\nexport type DrawerSize = 'sm' | 'md' | 'lg';\n\nexport interface DrawerProps extends Omit<DialogProps, 'icon' | 'role' | 'size'> {\n side?: DrawerSide;\n size?: DrawerSize;\n}\n\n/** Painel modal preso a lateral da tela, com a mesma mecanica do `Dialog`: foco preso, Esc fecha, a pagina nao rola. */\nexport function Drawer({ side = 'right', size = 'md', ...props }: DrawerProps) {\n return (\n <DialogFrame\n {...props}\n surfaceClassName={[styles.drawer, styles[size]].join(' ')}\n underlayClassName={[styles.underlay, styles[side]].join(' ')}\n />\n );\n}\n"],"names":["Drawer","side","size","props","jsx","DialogFrame","styles"],"mappings":"iMAaO,SAASA,EAAO,CAAE,KAAAC,EAAO,QAAS,KAAAC,EAAO,KAAM,GAAGC,GAAsB,CAC7E,OACEC,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGF,EACJ,iBAAkB,CAACG,EAAAA,QAAO,OAAQA,EAAAA,QAAOJ,CAAI,CAAC,EAAE,KAAK,GAAG,EACxD,kBAAmB,CAACI,EAAAA,QAAO,SAAUA,EAAAA,QAAOL,CAAI,CAAC,EAAE,KAAK,GAAG,CAAA,CAAA,CAGjE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { DialogFrame as i } from "../Dialog/DialogFrame.js";
|
|
3
|
+
import r from "./Drawer.module.css.js";
|
|
4
|
+
function l({ side: a = "right", size: e = "md", ...o }) {
|
|
5
|
+
return /* @__PURE__ */ m(
|
|
6
|
+
i,
|
|
7
|
+
{
|
|
8
|
+
...o,
|
|
9
|
+
surfaceClassName: [r.drawer, r[e]].join(" "),
|
|
10
|
+
underlayClassName: [r.underlay, r[a]].join(" ")
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
l as Drawer
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=Drawer.js.map
|