@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,28 +1,28 @@
|
|
|
1
|
-
const
|
|
2
|
-
input:
|
|
3
|
-
error:
|
|
4
|
-
sm:
|
|
5
|
-
md:
|
|
6
|
-
control:
|
|
7
|
-
search:
|
|
8
|
-
selection:
|
|
1
|
+
const s = "_input_smn36_1", n = "_error_smn36_17", _ = "_sm_smn36_47", t = "_md_smn36_53", m = "_control_smn36_58 _input_smn36_1", o = "_search_smn36_76", e = "_selection_smn36_95", r = "_rest_smn36_105", c = "_summary_smn36_111", a = "_panel_smn36_120", l = "_empty_smn36_132", p = {
|
|
2
|
+
input: s,
|
|
3
|
+
error: n,
|
|
4
|
+
sm: _,
|
|
5
|
+
md: t,
|
|
6
|
+
control: m,
|
|
7
|
+
search: o,
|
|
8
|
+
selection: e,
|
|
9
9
|
rest: r,
|
|
10
10
|
summary: c,
|
|
11
|
-
panel:
|
|
12
|
-
empty:
|
|
11
|
+
panel: a,
|
|
12
|
+
empty: l
|
|
13
13
|
};
|
|
14
14
|
export {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
m as control,
|
|
16
|
+
p as default,
|
|
17
|
+
l as empty,
|
|
18
|
+
n as error,
|
|
19
|
+
s as input,
|
|
20
|
+
t as md,
|
|
21
|
+
a as panel,
|
|
22
22
|
r as rest,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
o as search,
|
|
24
|
+
e as selection,
|
|
25
|
+
_ as sm,
|
|
26
26
|
c as summary
|
|
27
27
|
};
|
|
28
28
|
//# sourceMappingURL=ComboBox.module.css.js.map
|
|
@@ -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 d=require("react/jsx-runtime"),q=require("react"),s=require("./Field.module.css.cjs"),x=require("../Label/Label.cjs");function y({"aria-describedby":r,className:f,characterCount:i=0,children:m,error:e,hint:a,id:j,label:t,maxLength:n,required:v=!1,showCharacterCount:o=!1,size:b="md",...g}){const B=q.useId(),l=j??`field-${B}`,c=`${l}-message`,u=`${l}-character-count`,N=[r,e||a?c:void 0,o?u:void 0].filter(Boolean).join(" ")||void 0,$=[s.default.control,b==="sm"&&s.default.sm,e&&s.default.invalid].filter(Boolean).join(" ");return d.jsxs("div",{...g,className:[s.default.field,f].filter(Boolean).join(" "),children:[t&&d.jsx(x.Label,{htmlFor:l,required:v,children:t}),m({className:$,describedBy:N,id:l,invalid:!!e}),(e||a)&&d.jsx("span",{className:e?s.default.errorMessage:s.default.hint,id:c,role:e?"alert":void 0,children:e||a}),o&&d.jsx("span",{className:s.default.characterCount,id:u,children:n?`${i}/${n}`:i})]})}exports.Field=y;
|
|
2
2
|
//# sourceMappingURL=Field.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.cjs","sources":["../../../../src/components/forms/Field/Field.tsx"],"sourcesContent":["import { useId, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { Label } from '../Label';\nimport styles from './Field.module.css';\n\nexport interface FieldWiring {\n
|
|
1
|
+
{"version":3,"file":"Field.cjs","sources":["../../../../src/components/forms/Field/Field.tsx"],"sourcesContent":["import { useId, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { Label } from '../Label';\nimport styles from './Field.module.css';\n\nexport type FieldSize = 'sm' | 'md';\n\nexport interface FieldWiring {\n /** O visual dos campos do sistema para o controle — borda, foco, erro e tamanho. A classe do controle vence a dele. */\n className: string;\n describedBy: string | undefined;\n id: string;\n invalid: boolean;\n}\n\nexport interface FieldProps extends Omit<ComponentPropsWithRef<'div'>, 'children'> {\n 'aria-describedby'?: string;\n characterCount?: number;\n children: (wiring: FieldWiring) => ReactNode;\n error?: string;\n hint?: string;\n id?: string;\n label?: string;\n maxLength?: number;\n required?: boolean;\n showCharacterCount?: boolean;\n size?: FieldSize;\n}\n\nexport function Field({\n 'aria-describedby': ariaDescribedBy,\n className,\n characterCount = 0,\n children,\n error,\n hint,\n id: providedId,\n label,\n maxLength,\n required = false,\n showCharacterCount = false,\n size = 'md',\n ...props\n}: FieldProps) {\n const generatedId = useId();\n const id = providedId ?? `field-${generatedId}`;\n const messageId = `${id}-message`;\n const characterCountId = `${id}-character-count`;\n const describedBy = [\n ariaDescribedBy,\n error || hint ? messageId : undefined,\n showCharacterCount ? characterCountId : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined;\n const controlClassName = [styles.control, size === 'sm' && styles.sm, error && styles.invalid].filter(Boolean).join(' ');\n\n return (\n <div {...props} className={[styles.field, className].filter(Boolean).join(' ')}>\n {label && <Label htmlFor={id} required={required}>{label}</Label>}\n {children({ className: controlClassName, describedBy, id, invalid: Boolean(error) })}\n {(error || hint) && (\n <span className={error ? styles.errorMessage : styles.hint} id={messageId} role={error ? 'alert' : undefined}>\n {error || hint}\n </span>\n )}\n {showCharacterCount && (\n <span className={styles.characterCount} id={characterCountId}>\n {maxLength ? `${characterCount}/${maxLength}` : characterCount}\n </span>\n )}\n </div>\n );\n}\n"],"names":["Field","ariaDescribedBy","className","characterCount","children","error","hint","providedId","label","maxLength","required","showCharacterCount","size","props","generatedId","useId","id","messageId","characterCountId","describedBy","controlClassName","styles","jsxs","jsx","Label"],"mappings":"4MA4BO,SAASA,EAAM,CACpB,mBAAoBC,EACpB,UAAAC,EACA,eAAAC,EAAiB,EACjB,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,GAAIC,EACJ,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,mBAAAC,EAAqB,GACrB,KAAAC,EAAO,KACP,GAAGC,CACL,EAAe,CACb,MAAMC,EAAcC,EAAAA,MAAA,EACdC,EAAKT,GAAc,SAASO,CAAW,GACvCG,EAAY,GAAGD,CAAE,WACjBE,EAAmB,GAAGF,CAAE,mBACxBG,EAAc,CAClBlB,EACAI,GAASC,EAAOW,EAAY,OAC5BN,EAAqBO,EAAmB,MAAA,EAEvC,OAAO,OAAO,EACd,KAAK,GAAG,GAAK,OACVE,EAAmB,CAACC,EAAAA,QAAO,QAAST,IAAS,MAAQS,UAAO,GAAIhB,GAASgB,EAAAA,QAAO,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAEvH,OACEC,EAAAA,KAAC,MAAA,CAAK,GAAGT,EAAO,UAAW,CAACQ,UAAO,MAAOnB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC1E,SAAA,CAAAM,GAASe,EAAAA,IAACC,EAAAA,MAAA,CAAM,QAASR,EAAI,SAAAN,EAAqB,SAAAF,EAAM,EACxDJ,EAAS,CAAE,UAAWgB,EAAkB,YAAAD,EAAa,GAAAH,EAAI,QAAS,EAAQX,EAAQ,GACjFA,GAASC,IACTiB,EAAAA,IAAC,OAAA,CAAK,UAAWlB,EAAQgB,UAAO,aAAeA,EAAAA,QAAO,KAAM,GAAIJ,EAAW,KAAMZ,EAAQ,QAAU,OAChG,YAASC,EACZ,EAEDK,GACCY,EAAAA,IAAC,OAAA,CAAK,UAAWF,EAAAA,QAAO,eAAgB,GAAIH,EACzC,SAAAT,EAAY,GAAGN,CAAc,IAAIM,CAAS,GAAKN,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useId as
|
|
1
|
+
import { jsxs as b, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useId as g } from "react";
|
|
3
3
|
import s from "./Field.module.css.js";
|
|
4
|
-
import { Label as
|
|
5
|
-
function
|
|
6
|
-
"aria-describedby":
|
|
4
|
+
import { Label as h } from "../Label/Label.js";
|
|
5
|
+
function k({
|
|
6
|
+
"aria-describedby": r,
|
|
7
7
|
className: f,
|
|
8
|
-
characterCount:
|
|
8
|
+
characterCount: d = 0,
|
|
9
9
|
children: p,
|
|
10
10
|
error: e,
|
|
11
|
-
hint:
|
|
11
|
+
hint: o,
|
|
12
12
|
id: v,
|
|
13
13
|
label: l,
|
|
14
14
|
maxLength: n,
|
|
15
|
-
required:
|
|
15
|
+
required: j = !1,
|
|
16
16
|
showCharacterCount: c = !1,
|
|
17
|
-
|
|
17
|
+
size: B = "md",
|
|
18
|
+
...N
|
|
18
19
|
}) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
e ||
|
|
22
|
-
c ?
|
|
23
|
-
].filter(Boolean).join(" ") || void 0;
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
-
l && /* @__PURE__ */
|
|
26
|
-
p({
|
|
27
|
-
(e ||
|
|
28
|
-
c && /* @__PURE__ */
|
|
20
|
+
const $ = g(), i = v ?? `field-${$}`, t = `${i}-message`, m = `${i}-character-count`, u = [
|
|
21
|
+
r,
|
|
22
|
+
e || o ? t : void 0,
|
|
23
|
+
c ? m : void 0
|
|
24
|
+
].filter(Boolean).join(" ") || void 0, I = [s.control, B === "sm" && s.sm, e && s.invalid].filter(Boolean).join(" ");
|
|
25
|
+
return /* @__PURE__ */ b("div", { ...N, className: [s.field, f].filter(Boolean).join(" "), children: [
|
|
26
|
+
l && /* @__PURE__ */ a(h, { htmlFor: i, required: j, children: l }),
|
|
27
|
+
p({ className: I, describedBy: u, id: i, invalid: !!e }),
|
|
28
|
+
(e || o) && /* @__PURE__ */ a("span", { className: e ? s.errorMessage : s.hint, id: t, role: e ? "alert" : void 0, children: e || o }),
|
|
29
|
+
c && /* @__PURE__ */ a("span", { className: s.characterCount, id: m, children: n ? `${d}/${n}` : d })
|
|
29
30
|
] });
|
|
30
31
|
}
|
|
31
32
|
export {
|
|
32
|
-
|
|
33
|
+
k as Field
|
|
33
34
|
};
|
|
34
35
|
//# sourceMappingURL=Field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","sources":["../../../../src/components/forms/Field/Field.tsx"],"sourcesContent":["import { useId, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { Label } from '../Label';\nimport styles from './Field.module.css';\n\nexport interface FieldWiring {\n
|
|
1
|
+
{"version":3,"file":"Field.js","sources":["../../../../src/components/forms/Field/Field.tsx"],"sourcesContent":["import { useId, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { Label } from '../Label';\nimport styles from './Field.module.css';\n\nexport type FieldSize = 'sm' | 'md';\n\nexport interface FieldWiring {\n /** O visual dos campos do sistema para o controle — borda, foco, erro e tamanho. A classe do controle vence a dele. */\n className: string;\n describedBy: string | undefined;\n id: string;\n invalid: boolean;\n}\n\nexport interface FieldProps extends Omit<ComponentPropsWithRef<'div'>, 'children'> {\n 'aria-describedby'?: string;\n characterCount?: number;\n children: (wiring: FieldWiring) => ReactNode;\n error?: string;\n hint?: string;\n id?: string;\n label?: string;\n maxLength?: number;\n required?: boolean;\n showCharacterCount?: boolean;\n size?: FieldSize;\n}\n\nexport function Field({\n 'aria-describedby': ariaDescribedBy,\n className,\n characterCount = 0,\n children,\n error,\n hint,\n id: providedId,\n label,\n maxLength,\n required = false,\n showCharacterCount = false,\n size = 'md',\n ...props\n}: FieldProps) {\n const generatedId = useId();\n const id = providedId ?? `field-${generatedId}`;\n const messageId = `${id}-message`;\n const characterCountId = `${id}-character-count`;\n const describedBy = [\n ariaDescribedBy,\n error || hint ? messageId : undefined,\n showCharacterCount ? characterCountId : undefined,\n ]\n .filter(Boolean)\n .join(' ') || undefined;\n const controlClassName = [styles.control, size === 'sm' && styles.sm, error && styles.invalid].filter(Boolean).join(' ');\n\n return (\n <div {...props} className={[styles.field, className].filter(Boolean).join(' ')}>\n {label && <Label htmlFor={id} required={required}>{label}</Label>}\n {children({ className: controlClassName, describedBy, id, invalid: Boolean(error) })}\n {(error || hint) && (\n <span className={error ? styles.errorMessage : styles.hint} id={messageId} role={error ? 'alert' : undefined}>\n {error || hint}\n </span>\n )}\n {showCharacterCount && (\n <span className={styles.characterCount} id={characterCountId}>\n {maxLength ? `${characterCount}/${maxLength}` : characterCount}\n </span>\n )}\n </div>\n );\n}\n"],"names":["Field","ariaDescribedBy","className","characterCount","children","error","hint","providedId","label","maxLength","required","showCharacterCount","size","props","generatedId","useId","id","messageId","characterCountId","describedBy","controlClassName","styles","jsxs","jsx","Label"],"mappings":";;;;AA4BO,SAASA,EAAM;AAAA,EACpB,oBAAoBC;AAAA,EACpB,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,oBAAAC,IAAqB;AAAA,EACrB,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GAAe;AACb,QAAMC,IAAcC,EAAA,GACdC,IAAKT,KAAc,SAASO,CAAW,IACvCG,IAAY,GAAGD,CAAE,YACjBE,IAAmB,GAAGF,CAAE,oBACxBG,IAAc;AAAA,IAClBlB;AAAA,IACAI,KAASC,IAAOW,IAAY;AAAA,IAC5BN,IAAqBO,IAAmB;AAAA,EAAA,EAEvC,OAAO,OAAO,EACd,KAAK,GAAG,KAAK,QACVE,IAAmB,CAACC,EAAO,SAAST,MAAS,QAAQS,EAAO,IAAIhB,KAASgB,EAAO,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAEvH,SACE,gBAAAC,EAAC,OAAA,EAAK,GAAGT,GAAO,WAAW,CAACQ,EAAO,OAAOnB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC1E,UAAA;AAAA,IAAAM,KAAS,gBAAAe,EAACC,GAAA,EAAM,SAASR,GAAI,UAAAN,GAAqB,UAAAF,GAAM;AAAA,IACxDJ,EAAS,EAAE,WAAWgB,GAAkB,aAAAD,GAAa,IAAAH,GAAI,SAAS,EAAQX,GAAQ;AAAA,KACjFA,KAASC,MACT,gBAAAiB,EAAC,QAAA,EAAK,WAAWlB,IAAQgB,EAAO,eAAeA,EAAO,MAAM,IAAIJ,GAAW,MAAMZ,IAAQ,UAAU,QAChG,eAASC,GACZ;AAAA,IAEDK,KACC,gBAAAY,EAAC,QAAA,EAAK,WAAWF,EAAO,gBAAgB,IAAIH,GACzC,UAAAT,IAAY,GAAGN,CAAc,IAAIM,CAAS,KAAKN,EAAA,CAClD;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_field_1qg91_1",o="_hint_1qg91_8",t="_errorMessage_1qg91_9",r="_characterCount_1qg91_10",n="_formValue_1qg91_31",s="_control_1qg91_40",_="_invalid_1qg91_59",a="_sm_1qg91_77",c={field:e,hint:o,errorMessage:t,characterCount:r,formValue:n,control:s,invalid:_,sm:a};exports.characterCount=r;exports.control=s;exports.default=c;exports.errorMessage=t;exports.field=e;exports.formValue=n;exports.hint=o;exports.invalid=_;exports.sm=a;
|
|
2
2
|
//# sourceMappingURL=Field.module.css.cjs.map
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
const
|
|
2
|
-
field:
|
|
3
|
-
hint:
|
|
4
|
-
errorMessage:
|
|
5
|
-
characterCount:
|
|
6
|
-
formValue:
|
|
1
|
+
const o = "_field_1qg91_1", t = "_hint_1qg91_8", _ = "_errorMessage_1qg91_9", r = "_characterCount_1qg91_10", e = "_formValue_1qg91_31", n = "_control_1qg91_40", s = "_invalid_1qg91_59", c = "_sm_1qg91_77", a = {
|
|
2
|
+
field: o,
|
|
3
|
+
hint: t,
|
|
4
|
+
errorMessage: _,
|
|
5
|
+
characterCount: r,
|
|
6
|
+
formValue: e,
|
|
7
|
+
control: n,
|
|
8
|
+
invalid: s,
|
|
9
|
+
sm: c
|
|
7
10
|
};
|
|
8
11
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
r as characterCount,
|
|
13
|
+
n as control,
|
|
14
|
+
a as default,
|
|
15
|
+
_ as errorMessage,
|
|
16
|
+
o as field,
|
|
17
|
+
e as formValue,
|
|
18
|
+
t as hint,
|
|
19
|
+
s as invalid,
|
|
20
|
+
c as sm
|
|
15
21
|
};
|
|
16
22
|
//# sourceMappingURL=Field.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Field.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),v=require("react"),b=require("../../../utils/formatters/formatarTamanhoDeArquivo.cjs"),r=require("./FileUpload.module.css.cjs"),G=require("../Field/Field.cjs"),m=require("../../icons/icons.cjs"),E=require("../../actions/Button/Button.cjs"),H=require("../../feedback/Progress/Progress.cjs"),$=require("../../actions/ButtonIcon/ButtonIcon.cjs"),J={audio:"áudio",image:"imagem",text:"texto",video:"vídeo"};function K(n){return(n??"").split(",").map(t=>t.trim().toLowerCase()).filter(Boolean)}function Q(n){if(n.startsWith("."))return n.slice(1).toUpperCase();const[t="",o=""]=n.split("/");return o==="*"?J[t]??t:o.split("+")[0].toUpperCase()}function X(n){return n.length<2?n.join(""):`${n.slice(0,-1).join(", ")} ou ${n.at(-1)}`}function Y(n,t){if(t.length===0)return!0;const o=n.name.toLowerCase(),f=n.type.toLowerCase();return t.some(i=>i.startsWith(".")?o.endsWith(i):i.endsWith("/*")?f.startsWith(i.slice(0,-1)):f===i)}function Z({accept:n,className:t,disabled:o=!1,error:f,hint:i,id:u,items:p=[],label:j,maxSize:s,multiple:x=!1,onCancel:U,onFilesRejected:q,onFilesSelected:O,onRemove:k,onRetry:w,...z}){const C=v.useRef(null),N=v.useId(),[L,D]=v.useState(!1),[M,F]=v.useState(),T=K(n),y=X([...new Set(T.map(Q))]),I=s===void 0?void 0:b.formatarTamanhoDeArquivo(s),g=[y,I&&`até ${I}`].filter(Boolean).join(", ");function W({file:a,reason:l},c){return l==="type"?`${c} não é ${y}.`:`${c} passa de ${I}.`}function B(a){const l=x?a:a.slice(0,1),c=[],h=[];for(const d of l)Y(d,T)?s!==void 0&&d.size>s?h.push({file:d,reason:"size"}):c.push(d):h.push({file:d,reason:"type"});F(h.length===0?void 0:h.map(d=>W(d,l.length===1?"O arquivo":d.file.name)).join(" ")),c.length>0&&O(c),h.length>0&&(q==null||q(h))}function P(a){B(Array.from(a.target.files??[])),a.target.value=""}function A(a){a.preventDefault(),a.dataTransfer.dropEffect=o?"none":"copy",o||D(!0)}function S(a){a.currentTarget.contains(a.relatedTarget)||D(!1)}function _(a){a.preventDefault(),D(!1),o||B(Array.from(a.dataTransfer.files))}function R(){var a,l;(a=C.current)==null||a.focus(),(l=C.current)==null||l.click()}const V=f??M;return e.jsxs("div",{...z,className:[r.default.fileUpload,t].filter(Boolean).join(" "),children:[e.jsx(G.Field,{"aria-describedby":g?N:void 0,error:V,hint:i,id:u,label:j,children:({describedBy:a,id:l,invalid:c})=>e.jsxs("div",{className:[r.default.zone,L&&r.default.dragging,c&&r.default.invalid,o&&r.default.disabled].filter(Boolean).join(" "),onDragEnter:A,onDragLeave:S,onDragOver:A,onDrop:_,children:[e.jsx("span",{"aria-hidden":"true",className:r.default.iconBox,children:e.jsx(m.IconUpload,{})}),e.jsxs("p",{className:r.default.instruction,children:[x?"Arraste os arquivos aqui ou":"Arraste o arquivo aqui ou",e.jsx(E.Button,{"aria-hidden":!0,disabled:o,onClick:R,size:"sm",tabIndex:-1,variant:"secondary",children:"escolha do computador"})]}),g&&e.jsx("p",{className:r.default.restrictions,id:N,children:g.charAt(0).toUpperCase()+g.slice(1)}),e.jsx("input",{accept:n,"aria-describedby":a,"aria-invalid":c||void 0,className:r.default.input,disabled:o,id:l,multiple:x,onChange:P,ref:C,type:"file"})]})}),p.length>0&&e.jsx("ul",{className:r.default.items,children:p.map(a=>e.jsx(ee,{item:a,onCancel:U,onRemove:k,onRetry:w},a.id))})]})}function ee({item:n,onCancel:t,onRemove:o,onRetry:f}){const{id:i,name:u,progress:p,size:j,status:s}=n;return e.jsxs("li",{className:[r.default.item,s==="error"&&r.default.failed].filter(Boolean).join(" "),children:[e.jsx("span",{"aria-hidden":"true",className:r.default.fileIcon,children:e.jsx(m.IconFile,{})}),e.jsxs("div",{className:r.default.body,children:[e.jsx("span",{className:r.default.name,title:u,children:u}),e.jsxs("span",{className:r.default.meta,children:[b.formatarTamanhoDeArquivo(j),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsxs("span",{className:s==="error"?r.default.failedMessage:r.default.status,role:"status",children:[s==="done"&&e.jsx(m.IconCheckCircle,{className:r.default.doneIcon}),s==="error"&&e.jsx(m.IconExclamationCircle,{}),s==="uploading"&&"Enviando",s==="done"&&"Enviado",s==="error"&&(n.error??"Falha no envio.")]})]}),s==="uploading"&&e.jsx(H.Progress,{label:`Enviando ${u}`,showValue:!0,size:"sm",value:p})]}),e.jsxs("div",{className:r.default.actions,children:[s==="error"&&f&&e.jsx(E.Button,{"aria-label":`Tentar de novo: ${u}`,onClick:()=>f(i),size:"sm",variant:"ghost",children:"Tentar de novo"}),s==="uploading"&&t&&e.jsx($.ButtonIcon,{icon:e.jsx(m.IconClose,{}),label:`Cancelar envio de ${u}`,onClick:()=>t(i),size:"sm",variant:"ghost"}),s!=="uploading"&&o&&e.jsx($.ButtonIcon,{icon:e.jsx(m.IconTrash,{}),label:`Remover ${u}`,onClick:()=>o(i),size:"sm",variant:"ghost"})]})]})}exports.FileUpload=Z;
|
|
2
|
+
//# sourceMappingURL=FileUpload.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.cjs","sources":["../../../../src/components/forms/FileUpload/FileUpload.tsx"],"sourcesContent":["import { useId, useRef, useState, type ChangeEvent, type ComponentPropsWithRef, type DragEvent } from 'react';\nimport { Button } from '../../actions/Button';\nimport { ButtonIcon } from '../../actions/ButtonIcon';\nimport { Progress } from '../../feedback/Progress';\nimport { IconCheckCircle, IconClose, IconExclamationCircle, IconFile, IconTrash, IconUpload } from '../../icons';\nimport { formatarTamanhoDeArquivo } from '../../../utils/formatters/formatarTamanhoDeArquivo';\nimport { Field } from '../Field';\nimport styles from './FileUpload.module.css';\n\nexport type FileRejectionReason = 'type' | 'size';\n\nexport interface FileRejection {\n file: File;\n reason: FileRejectionReason;\n}\n\nexport type FileUploadStatus = 'uploading' | 'done' | 'error';\n\n/** Um arquivo em envio. Quem envia e o produto: ele monta a lista e informa o progresso. */\nexport interface FileUploadItem {\n error?: string;\n id: string;\n name: string;\n /** De 0 a 100. Sem ele, o progresso e indeterminado. */\n progress?: number;\n size: number;\n status: FileUploadStatus;\n}\n\nexport interface FileUploadProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'onDrop'> {\n /** Os tipos aceitos, como no `<input type=\"file\">`: `.pdf,image/*`. */\n accept?: string;\n disabled?: boolean;\n /** Vence a mensagem de recusa do proprio campo. */\n error?: string;\n hint?: string;\n items?: readonly FileUploadItem[];\n label: string;\n /** Limite por arquivo, em bytes. */\n maxSize?: number;\n multiple?: boolean;\n onCancel?: (id: string) => void;\n /** Recebe so os arquivos aceitos. */\n onFilesSelected: (files: File[]) => void;\n onFilesRejected?: (rejections: FileRejection[]) => void;\n onRemove?: (id: string) => void;\n onRetry?: (id: string) => void;\n}\n\nconst NOMES_DE_FAMILIA: Record<string, string> = { audio: 'áudio', image: 'imagem', text: 'texto', video: 'vídeo' };\n\nfunction tiposAceitos(accept?: string) {\n return (accept ?? '')\n .split(',')\n .map((tipo) => tipo.trim().toLowerCase())\n .filter(Boolean);\n}\n\nfunction nomeDoTipo(tipo: string) {\n if (tipo.startsWith('.')) {\n return tipo.slice(1).toUpperCase();\n }\n\n const [familia = '', subtipo = ''] = tipo.split('/');\n return subtipo === '*' ? (NOMES_DE_FAMILIA[familia] ?? familia) : subtipo.split('+')[0]!.toUpperCase();\n}\n\nfunction listarComOu(itens: string[]) {\n return itens.length < 2 ? itens.join('') : `${itens.slice(0, -1).join(', ')} ou ${itens.at(-1)}`;\n}\n\nfunction aceitaOTipo(file: File, tipos: string[]) {\n if (tipos.length === 0) {\n return true;\n }\n\n const nome = file.name.toLowerCase();\n const mime = file.type.toLowerCase();\n\n return tipos.some((tipo) => {\n if (tipo.startsWith('.')) return nome.endsWith(tipo);\n if (tipo.endsWith('/*')) return mime.startsWith(tipo.slice(0, -1));\n return mime === tipo;\n });\n}\n\nexport function FileUpload({\n accept,\n className,\n disabled = false,\n error,\n hint,\n id,\n items = [],\n label,\n maxSize,\n multiple = false,\n onCancel,\n onFilesRejected,\n onFilesSelected,\n onRemove,\n onRetry,\n ...props\n}: FileUploadProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const restrictionsId = useId();\n const [dragging, setDragging] = useState(false);\n const [rejectionMessage, setRejectionMessage] = useState<string>();\n\n const tipos = tiposAceitos(accept);\n const descricaoDosTipos = listarComOu([...new Set(tipos.map(nomeDoTipo))]);\n const limite = maxSize === undefined ? undefined : formatarTamanhoDeArquivo(maxSize);\n const restricoes = [descricaoDosTipos, limite && `até ${limite}`].filter(Boolean).join(', ');\n\n function motivoDaRecusa({ file, reason }: FileRejection, sujeito: string) {\n return reason === 'type' ? `${sujeito} não é ${descricaoDosTipos}.` : `${sujeito} passa de ${limite}.`;\n }\n\n function receber(oferecidos: File[]) {\n const files = multiple ? oferecidos : oferecidos.slice(0, 1);\n const aceitos: File[] = [];\n const recusas: FileRejection[] = [];\n\n for (const file of files) {\n if (!aceitaOTipo(file, tipos)) recusas.push({ file, reason: 'type' });\n else if (maxSize !== undefined && file.size > maxSize) recusas.push({ file, reason: 'size' });\n else aceitos.push(file);\n }\n\n setRejectionMessage(\n recusas.length === 0\n ? undefined\n : recusas.map((recusa) => motivoDaRecusa(recusa, files.length === 1 ? 'O arquivo' : recusa.file.name)).join(' '),\n );\n\n if (aceitos.length > 0) onFilesSelected(aceitos);\n if (recusas.length > 0) onFilesRejected?.(recusas);\n }\n\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n receber(Array.from(event.target.files ?? []));\n // Limpo, o seletor aceita de novo o mesmo arquivo, como no tentar outra vez.\n event.target.value = '';\n }\n\n function handleDragOver(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n event.dataTransfer.dropEffect = disabled ? 'none' : 'copy';\n if (!disabled) setDragging(true);\n }\n\n function handleDragLeave(event: DragEvent<HTMLDivElement>) {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragging(false);\n }\n\n function handleDrop(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n setDragging(false);\n if (!disabled) receber(Array.from(event.dataTransfer.files));\n }\n\n function choose() {\n inputRef.current?.focus();\n inputRef.current?.click();\n }\n\n const fieldError = error ?? rejectionMessage;\n\n return (\n <div {...props} className={[styles.fileUpload, className].filter(Boolean).join(' ')}>\n <Field aria-describedby={restricoes ? restrictionsId : undefined} error={fieldError} hint={hint} id={id} label={label}>\n {({ describedBy, id: inputId, invalid }) => (\n <div\n className={[styles.zone, dragging && styles.dragging, invalid && styles.invalid, disabled && styles.disabled]\n .filter(Boolean)\n .join(' ')}\n onDragEnter={handleDragOver}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <span aria-hidden=\"true\" className={styles.iconBox}>\n <IconUpload />\n </span>\n <p className={styles.instruction}>\n {multiple ? 'Arraste os arquivos aqui ou' : 'Arraste o arquivo aqui ou'}\n {/* Fora da tabulacao e da arvore: o controle acessivel e o seletor nativo, que recebe o foco. */}\n <Button aria-hidden disabled={disabled} onClick={choose} size=\"sm\" tabIndex={-1} variant=\"secondary\">\n escolha do computador\n </Button>\n </p>\n {restricoes && (\n <p className={styles.restrictions} id={restrictionsId}>\n {restricoes.charAt(0).toUpperCase() + restricoes.slice(1)}\n </p>\n )}\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={invalid || undefined}\n className={styles.input}\n disabled={disabled}\n id={inputId}\n multiple={multiple}\n onChange={handleChange}\n ref={inputRef}\n type=\"file\"\n />\n </div>\n )}\n </Field>\n {items.length > 0 && (\n <ul className={styles.items}>\n {items.map((item) => (\n <FileUploadRow item={item} key={item.id} onCancel={onCancel} onRemove={onRemove} onRetry={onRetry} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\ninterface FileUploadRowProps extends Pick<FileUploadProps, 'onCancel' | 'onRemove' | 'onRetry'> {\n item: FileUploadItem;\n}\n\nfunction FileUploadRow({ item, onCancel, onRemove, onRetry }: FileUploadRowProps) {\n const { id, name, progress, size, status } = item;\n\n return (\n <li className={[styles.item, status === 'error' && styles.failed].filter(Boolean).join(' ')}>\n <span aria-hidden=\"true\" className={styles.fileIcon}>\n <IconFile />\n </span>\n <div className={styles.body}>\n <span className={styles.name} title={name}>\n {name}\n </span>\n <span className={styles.meta}>\n {formatarTamanhoDeArquivo(size)}\n <span aria-hidden=\"true\">·</span>\n <span className={status === 'error' ? styles.failedMessage : styles.status} role=\"status\">\n {status === 'done' && <IconCheckCircle className={styles.doneIcon} />}\n {status === 'error' && <IconExclamationCircle />}\n {status === 'uploading' && 'Enviando'}\n {status === 'done' && 'Enviado'}\n {status === 'error' && (item.error ?? 'Falha no envio.')}\n </span>\n </span>\n {status === 'uploading' && <Progress label={`Enviando ${name}`} showValue size=\"sm\" value={progress} />}\n </div>\n <div className={styles.actions}>\n {status === 'error' && onRetry && (\n <Button aria-label={`Tentar de novo: ${name}`} onClick={() => onRetry(id)} size=\"sm\" variant=\"ghost\">\n Tentar de novo\n </Button>\n )}\n {status === 'uploading' && onCancel && (\n <ButtonIcon icon={<IconClose />} label={`Cancelar envio de ${name}`} onClick={() => onCancel(id)} size=\"sm\" variant=\"ghost\" />\n )}\n {status !== 'uploading' && onRemove && (\n <ButtonIcon icon={<IconTrash />} label={`Remover ${name}`} onClick={() => onRemove(id)} size=\"sm\" variant=\"ghost\" />\n )}\n </div>\n </li>\n );\n}\n"],"names":["NOMES_DE_FAMILIA","tiposAceitos","accept","tipo","nomeDoTipo","familia","subtipo","listarComOu","itens","aceitaOTipo","file","tipos","nome","mime","FileUpload","className","disabled","error","hint","id","items","label","maxSize","multiple","onCancel","onFilesRejected","onFilesSelected","onRemove","onRetry","props","inputRef","useRef","restrictionsId","useId","dragging","setDragging","useState","rejectionMessage","setRejectionMessage","descricaoDosTipos","limite","formatarTamanhoDeArquivo","restricoes","motivoDaRecusa","reason","sujeito","receber","oferecidos","files","aceitos","recusas","recusa","handleChange","event","handleDragOver","handleDragLeave","handleDrop","choose","_a","_b","fieldError","jsxs","styles","jsx","Field","describedBy","inputId","invalid","IconUpload","Button","item","FileUploadRow","name","progress","size","status","IconFile","IconCheckCircle","IconExclamationCircle","Progress","ButtonIcon","IconClose","IconTrash"],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { jsxs as f, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as J, useId as K, useState as B } from "react";
|
|
3
|
+
import { formatarTamanhoDeArquivo as j } from "../../../utils/formatters/formatarTamanhoDeArquivo.js";
|
|
4
|
+
import o from "./FileUpload.module.css.js";
|
|
5
|
+
import { Field as Q } from "../Field/Field.js";
|
|
6
|
+
import { IconUpload as R, IconFile as S, IconCheckCircle as X, IconExclamationCircle as Y, IconClose as Z, IconTrash as ee } from "../../icons/icons.js";
|
|
7
|
+
import { Button as k } from "../../actions/Button/Button.js";
|
|
8
|
+
import { Progress as re } from "../../feedback/Progress/Progress.js";
|
|
9
|
+
import { ButtonIcon as U } from "../../actions/ButtonIcon/ButtonIcon.js";
|
|
10
|
+
const oe = { audio: "áudio", image: "imagem", text: "texto", video: "vídeo" };
|
|
11
|
+
function ne(n) {
|
|
12
|
+
return (n ?? "").split(",").map((s) => s.trim().toLowerCase()).filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
function ae(n) {
|
|
15
|
+
if (n.startsWith("."))
|
|
16
|
+
return n.slice(1).toUpperCase();
|
|
17
|
+
const [s = "", i = ""] = n.split("/");
|
|
18
|
+
return i === "*" ? oe[s] ?? s : i.split("+")[0].toUpperCase();
|
|
19
|
+
}
|
|
20
|
+
function ie(n) {
|
|
21
|
+
return n.length < 2 ? n.join("") : `${n.slice(0, -1).join(", ")} ou ${n.at(-1)}`;
|
|
22
|
+
}
|
|
23
|
+
function se(n, s) {
|
|
24
|
+
if (s.length === 0)
|
|
25
|
+
return !0;
|
|
26
|
+
const i = n.name.toLowerCase(), m = n.type.toLowerCase();
|
|
27
|
+
return s.some((t) => t.startsWith(".") ? i.endsWith(t) : t.endsWith("/*") ? m.startsWith(t.slice(0, -1)) : m === t);
|
|
28
|
+
}
|
|
29
|
+
function ve({
|
|
30
|
+
accept: n,
|
|
31
|
+
className: s,
|
|
32
|
+
disabled: i = !1,
|
|
33
|
+
error: m,
|
|
34
|
+
hint: t,
|
|
35
|
+
id: d,
|
|
36
|
+
items: h = [],
|
|
37
|
+
label: v,
|
|
38
|
+
maxSize: a,
|
|
39
|
+
multiple: C = !1,
|
|
40
|
+
onCancel: q,
|
|
41
|
+
onFilesRejected: N,
|
|
42
|
+
onFilesSelected: w,
|
|
43
|
+
onRemove: z,
|
|
44
|
+
onRetry: L,
|
|
45
|
+
...O
|
|
46
|
+
}) {
|
|
47
|
+
const D = J(null), T = K(), [x, I] = B(!1), [M, W] = B(), $ = ne(n), A = ie([...new Set($.map(ae))]), y = a === void 0 ? void 0 : j(a), g = [A, y && `até ${y}`].filter(Boolean).join(", ");
|
|
48
|
+
function F({ file: e, reason: l }, c) {
|
|
49
|
+
return l === "type" ? `${c} não é ${A}.` : `${c} passa de ${y}.`;
|
|
50
|
+
}
|
|
51
|
+
function E(e) {
|
|
52
|
+
const l = C ? e : e.slice(0, 1), c = [], p = [];
|
|
53
|
+
for (const u of l)
|
|
54
|
+
se(u, $) ? a !== void 0 && u.size > a ? p.push({ file: u, reason: "size" }) : c.push(u) : p.push({ file: u, reason: "type" });
|
|
55
|
+
W(
|
|
56
|
+
p.length === 0 ? void 0 : p.map((u) => F(u, l.length === 1 ? "O arquivo" : u.file.name)).join(" ")
|
|
57
|
+
), c.length > 0 && w(c), p.length > 0 && (N == null || N(p));
|
|
58
|
+
}
|
|
59
|
+
function _(e) {
|
|
60
|
+
E(Array.from(e.target.files ?? [])), e.target.value = "";
|
|
61
|
+
}
|
|
62
|
+
function b(e) {
|
|
63
|
+
e.preventDefault(), e.dataTransfer.dropEffect = i ? "none" : "copy", i || I(!0);
|
|
64
|
+
}
|
|
65
|
+
function P(e) {
|
|
66
|
+
e.currentTarget.contains(e.relatedTarget) || I(!1);
|
|
67
|
+
}
|
|
68
|
+
function V(e) {
|
|
69
|
+
e.preventDefault(), I(!1), i || E(Array.from(e.dataTransfer.files));
|
|
70
|
+
}
|
|
71
|
+
function G() {
|
|
72
|
+
var e, l;
|
|
73
|
+
(e = D.current) == null || e.focus(), (l = D.current) == null || l.click();
|
|
74
|
+
}
|
|
75
|
+
const H = m ?? M;
|
|
76
|
+
return /* @__PURE__ */ f("div", { ...O, className: [o.fileUpload, s].filter(Boolean).join(" "), children: [
|
|
77
|
+
/* @__PURE__ */ r(Q, { "aria-describedby": g ? T : void 0, error: H, hint: t, id: d, label: v, children: ({ describedBy: e, id: l, invalid: c }) => /* @__PURE__ */ f(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
className: [o.zone, x && o.dragging, c && o.invalid, i && o.disabled].filter(Boolean).join(" "),
|
|
81
|
+
onDragEnter: b,
|
|
82
|
+
onDragLeave: P,
|
|
83
|
+
onDragOver: b,
|
|
84
|
+
onDrop: V,
|
|
85
|
+
children: [
|
|
86
|
+
/* @__PURE__ */ r("span", { "aria-hidden": "true", className: o.iconBox, children: /* @__PURE__ */ r(R, {}) }),
|
|
87
|
+
/* @__PURE__ */ f("p", { className: o.instruction, children: [
|
|
88
|
+
C ? "Arraste os arquivos aqui ou" : "Arraste o arquivo aqui ou",
|
|
89
|
+
/* @__PURE__ */ r(k, { "aria-hidden": !0, disabled: i, onClick: G, size: "sm", tabIndex: -1, variant: "secondary", children: "escolha do computador" })
|
|
90
|
+
] }),
|
|
91
|
+
g && /* @__PURE__ */ r("p", { className: o.restrictions, id: T, children: g.charAt(0).toUpperCase() + g.slice(1) }),
|
|
92
|
+
/* @__PURE__ */ r(
|
|
93
|
+
"input",
|
|
94
|
+
{
|
|
95
|
+
accept: n,
|
|
96
|
+
"aria-describedby": e,
|
|
97
|
+
"aria-invalid": c || void 0,
|
|
98
|
+
className: o.input,
|
|
99
|
+
disabled: i,
|
|
100
|
+
id: l,
|
|
101
|
+
multiple: C,
|
|
102
|
+
onChange: _,
|
|
103
|
+
ref: D,
|
|
104
|
+
type: "file"
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
) }),
|
|
110
|
+
h.length > 0 && /* @__PURE__ */ r("ul", { className: o.items, children: h.map((e) => /* @__PURE__ */ r(te, { item: e, onCancel: q, onRemove: z, onRetry: L }, e.id)) })
|
|
111
|
+
] });
|
|
112
|
+
}
|
|
113
|
+
function te({ item: n, onCancel: s, onRemove: i, onRetry: m }) {
|
|
114
|
+
const { id: t, name: d, progress: h, size: v, status: a } = n;
|
|
115
|
+
return /* @__PURE__ */ f("li", { className: [o.item, a === "error" && o.failed].filter(Boolean).join(" "), children: [
|
|
116
|
+
/* @__PURE__ */ r("span", { "aria-hidden": "true", className: o.fileIcon, children: /* @__PURE__ */ r(S, {}) }),
|
|
117
|
+
/* @__PURE__ */ f("div", { className: o.body, children: [
|
|
118
|
+
/* @__PURE__ */ r("span", { className: o.name, title: d, children: d }),
|
|
119
|
+
/* @__PURE__ */ f("span", { className: o.meta, children: [
|
|
120
|
+
j(v),
|
|
121
|
+
/* @__PURE__ */ r("span", { "aria-hidden": "true", children: "·" }),
|
|
122
|
+
/* @__PURE__ */ f("span", { className: a === "error" ? o.failedMessage : o.status, role: "status", children: [
|
|
123
|
+
a === "done" && /* @__PURE__ */ r(X, { className: o.doneIcon }),
|
|
124
|
+
a === "error" && /* @__PURE__ */ r(Y, {}),
|
|
125
|
+
a === "uploading" && "Enviando",
|
|
126
|
+
a === "done" && "Enviado",
|
|
127
|
+
a === "error" && (n.error ?? "Falha no envio.")
|
|
128
|
+
] })
|
|
129
|
+
] }),
|
|
130
|
+
a === "uploading" && /* @__PURE__ */ r(re, { label: `Enviando ${d}`, showValue: !0, size: "sm", value: h })
|
|
131
|
+
] }),
|
|
132
|
+
/* @__PURE__ */ f("div", { className: o.actions, children: [
|
|
133
|
+
a === "error" && m && /* @__PURE__ */ r(k, { "aria-label": `Tentar de novo: ${d}`, onClick: () => m(t), size: "sm", variant: "ghost", children: "Tentar de novo" }),
|
|
134
|
+
a === "uploading" && s && /* @__PURE__ */ r(U, { icon: /* @__PURE__ */ r(Z, {}), label: `Cancelar envio de ${d}`, onClick: () => s(t), size: "sm", variant: "ghost" }),
|
|
135
|
+
a !== "uploading" && i && /* @__PURE__ */ r(U, { icon: /* @__PURE__ */ r(ee, {}), label: `Remover ${d}`, onClick: () => i(t), size: "sm", variant: "ghost" })
|
|
136
|
+
] })
|
|
137
|
+
] });
|
|
138
|
+
}
|
|
139
|
+
export {
|
|
140
|
+
ve as FileUpload
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=FileUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.js","sources":["../../../../src/components/forms/FileUpload/FileUpload.tsx"],"sourcesContent":["import { useId, useRef, useState, type ChangeEvent, type ComponentPropsWithRef, type DragEvent } from 'react';\nimport { Button } from '../../actions/Button';\nimport { ButtonIcon } from '../../actions/ButtonIcon';\nimport { Progress } from '../../feedback/Progress';\nimport { IconCheckCircle, IconClose, IconExclamationCircle, IconFile, IconTrash, IconUpload } from '../../icons';\nimport { formatarTamanhoDeArquivo } from '../../../utils/formatters/formatarTamanhoDeArquivo';\nimport { Field } from '../Field';\nimport styles from './FileUpload.module.css';\n\nexport type FileRejectionReason = 'type' | 'size';\n\nexport interface FileRejection {\n file: File;\n reason: FileRejectionReason;\n}\n\nexport type FileUploadStatus = 'uploading' | 'done' | 'error';\n\n/** Um arquivo em envio. Quem envia e o produto: ele monta a lista e informa o progresso. */\nexport interface FileUploadItem {\n error?: string;\n id: string;\n name: string;\n /** De 0 a 100. Sem ele, o progresso e indeterminado. */\n progress?: number;\n size: number;\n status: FileUploadStatus;\n}\n\nexport interface FileUploadProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'onDrop'> {\n /** Os tipos aceitos, como no `<input type=\"file\">`: `.pdf,image/*`. */\n accept?: string;\n disabled?: boolean;\n /** Vence a mensagem de recusa do proprio campo. */\n error?: string;\n hint?: string;\n items?: readonly FileUploadItem[];\n label: string;\n /** Limite por arquivo, em bytes. */\n maxSize?: number;\n multiple?: boolean;\n onCancel?: (id: string) => void;\n /** Recebe so os arquivos aceitos. */\n onFilesSelected: (files: File[]) => void;\n onFilesRejected?: (rejections: FileRejection[]) => void;\n onRemove?: (id: string) => void;\n onRetry?: (id: string) => void;\n}\n\nconst NOMES_DE_FAMILIA: Record<string, string> = { audio: 'áudio', image: 'imagem', text: 'texto', video: 'vídeo' };\n\nfunction tiposAceitos(accept?: string) {\n return (accept ?? '')\n .split(',')\n .map((tipo) => tipo.trim().toLowerCase())\n .filter(Boolean);\n}\n\nfunction nomeDoTipo(tipo: string) {\n if (tipo.startsWith('.')) {\n return tipo.slice(1).toUpperCase();\n }\n\n const [familia = '', subtipo = ''] = tipo.split('/');\n return subtipo === '*' ? (NOMES_DE_FAMILIA[familia] ?? familia) : subtipo.split('+')[0]!.toUpperCase();\n}\n\nfunction listarComOu(itens: string[]) {\n return itens.length < 2 ? itens.join('') : `${itens.slice(0, -1).join(', ')} ou ${itens.at(-1)}`;\n}\n\nfunction aceitaOTipo(file: File, tipos: string[]) {\n if (tipos.length === 0) {\n return true;\n }\n\n const nome = file.name.toLowerCase();\n const mime = file.type.toLowerCase();\n\n return tipos.some((tipo) => {\n if (tipo.startsWith('.')) return nome.endsWith(tipo);\n if (tipo.endsWith('/*')) return mime.startsWith(tipo.slice(0, -1));\n return mime === tipo;\n });\n}\n\nexport function FileUpload({\n accept,\n className,\n disabled = false,\n error,\n hint,\n id,\n items = [],\n label,\n maxSize,\n multiple = false,\n onCancel,\n onFilesRejected,\n onFilesSelected,\n onRemove,\n onRetry,\n ...props\n}: FileUploadProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const restrictionsId = useId();\n const [dragging, setDragging] = useState(false);\n const [rejectionMessage, setRejectionMessage] = useState<string>();\n\n const tipos = tiposAceitos(accept);\n const descricaoDosTipos = listarComOu([...new Set(tipos.map(nomeDoTipo))]);\n const limite = maxSize === undefined ? undefined : formatarTamanhoDeArquivo(maxSize);\n const restricoes = [descricaoDosTipos, limite && `até ${limite}`].filter(Boolean).join(', ');\n\n function motivoDaRecusa({ file, reason }: FileRejection, sujeito: string) {\n return reason === 'type' ? `${sujeito} não é ${descricaoDosTipos}.` : `${sujeito} passa de ${limite}.`;\n }\n\n function receber(oferecidos: File[]) {\n const files = multiple ? oferecidos : oferecidos.slice(0, 1);\n const aceitos: File[] = [];\n const recusas: FileRejection[] = [];\n\n for (const file of files) {\n if (!aceitaOTipo(file, tipos)) recusas.push({ file, reason: 'type' });\n else if (maxSize !== undefined && file.size > maxSize) recusas.push({ file, reason: 'size' });\n else aceitos.push(file);\n }\n\n setRejectionMessage(\n recusas.length === 0\n ? undefined\n : recusas.map((recusa) => motivoDaRecusa(recusa, files.length === 1 ? 'O arquivo' : recusa.file.name)).join(' '),\n );\n\n if (aceitos.length > 0) onFilesSelected(aceitos);\n if (recusas.length > 0) onFilesRejected?.(recusas);\n }\n\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n receber(Array.from(event.target.files ?? []));\n // Limpo, o seletor aceita de novo o mesmo arquivo, como no tentar outra vez.\n event.target.value = '';\n }\n\n function handleDragOver(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n event.dataTransfer.dropEffect = disabled ? 'none' : 'copy';\n if (!disabled) setDragging(true);\n }\n\n function handleDragLeave(event: DragEvent<HTMLDivElement>) {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragging(false);\n }\n\n function handleDrop(event: DragEvent<HTMLDivElement>) {\n event.preventDefault();\n setDragging(false);\n if (!disabled) receber(Array.from(event.dataTransfer.files));\n }\n\n function choose() {\n inputRef.current?.focus();\n inputRef.current?.click();\n }\n\n const fieldError = error ?? rejectionMessage;\n\n return (\n <div {...props} className={[styles.fileUpload, className].filter(Boolean).join(' ')}>\n <Field aria-describedby={restricoes ? restrictionsId : undefined} error={fieldError} hint={hint} id={id} label={label}>\n {({ describedBy, id: inputId, invalid }) => (\n <div\n className={[styles.zone, dragging && styles.dragging, invalid && styles.invalid, disabled && styles.disabled]\n .filter(Boolean)\n .join(' ')}\n onDragEnter={handleDragOver}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <span aria-hidden=\"true\" className={styles.iconBox}>\n <IconUpload />\n </span>\n <p className={styles.instruction}>\n {multiple ? 'Arraste os arquivos aqui ou' : 'Arraste o arquivo aqui ou'}\n {/* Fora da tabulacao e da arvore: o controle acessivel e o seletor nativo, que recebe o foco. */}\n <Button aria-hidden disabled={disabled} onClick={choose} size=\"sm\" tabIndex={-1} variant=\"secondary\">\n escolha do computador\n </Button>\n </p>\n {restricoes && (\n <p className={styles.restrictions} id={restrictionsId}>\n {restricoes.charAt(0).toUpperCase() + restricoes.slice(1)}\n </p>\n )}\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={invalid || undefined}\n className={styles.input}\n disabled={disabled}\n id={inputId}\n multiple={multiple}\n onChange={handleChange}\n ref={inputRef}\n type=\"file\"\n />\n </div>\n )}\n </Field>\n {items.length > 0 && (\n <ul className={styles.items}>\n {items.map((item) => (\n <FileUploadRow item={item} key={item.id} onCancel={onCancel} onRemove={onRemove} onRetry={onRetry} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\ninterface FileUploadRowProps extends Pick<FileUploadProps, 'onCancel' | 'onRemove' | 'onRetry'> {\n item: FileUploadItem;\n}\n\nfunction FileUploadRow({ item, onCancel, onRemove, onRetry }: FileUploadRowProps) {\n const { id, name, progress, size, status } = item;\n\n return (\n <li className={[styles.item, status === 'error' && styles.failed].filter(Boolean).join(' ')}>\n <span aria-hidden=\"true\" className={styles.fileIcon}>\n <IconFile />\n </span>\n <div className={styles.body}>\n <span className={styles.name} title={name}>\n {name}\n </span>\n <span className={styles.meta}>\n {formatarTamanhoDeArquivo(size)}\n <span aria-hidden=\"true\">·</span>\n <span className={status === 'error' ? styles.failedMessage : styles.status} role=\"status\">\n {status === 'done' && <IconCheckCircle className={styles.doneIcon} />}\n {status === 'error' && <IconExclamationCircle />}\n {status === 'uploading' && 'Enviando'}\n {status === 'done' && 'Enviado'}\n {status === 'error' && (item.error ?? 'Falha no envio.')}\n </span>\n </span>\n {status === 'uploading' && <Progress label={`Enviando ${name}`} showValue size=\"sm\" value={progress} />}\n </div>\n <div className={styles.actions}>\n {status === 'error' && onRetry && (\n <Button aria-label={`Tentar de novo: ${name}`} onClick={() => onRetry(id)} size=\"sm\" variant=\"ghost\">\n Tentar de novo\n </Button>\n )}\n {status === 'uploading' && onCancel && (\n <ButtonIcon icon={<IconClose />} label={`Cancelar envio de ${name}`} onClick={() => onCancel(id)} size=\"sm\" variant=\"ghost\" />\n )}\n {status !== 'uploading' && onRemove && (\n <ButtonIcon icon={<IconTrash />} label={`Remover ${name}`} onClick={() => onRemove(id)} size=\"sm\" variant=\"ghost\" />\n )}\n </div>\n </li>\n );\n}\n"],"names":["NOMES_DE_FAMILIA","tiposAceitos","accept","tipo","nomeDoTipo","familia","subtipo","listarComOu","itens","aceitaOTipo","file","tipos","nome","mime","FileUpload","className","disabled","error","hint","id","items","label","maxSize","multiple","onCancel","onFilesRejected","onFilesSelected","onRemove","onRetry","props","inputRef","useRef","restrictionsId","useId","dragging","setDragging","useState","rejectionMessage","setRejectionMessage","descricaoDosTipos","limite","formatarTamanhoDeArquivo","restricoes","motivoDaRecusa","reason","sujeito","receber","oferecidos","files","aceitos","recusas","recusa","handleChange","event","handleDragOver","handleDragLeave","handleDrop","choose","_a","_b","fieldError","jsxs","styles","jsx","Field","describedBy","inputId","invalid","IconUpload","Button","item","FileUploadRow","name","progress","size","status","IconFile","IconCheckCircle","IconExclamationCircle","Progress","ButtonIcon","IconClose","IconTrash"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s="_fileUpload_v5fjs_1",n="_zone_v5fjs_9",t="_input_v5fjs_26",i="_dragging_v5fjs_31",e="_invalid_v5fjs_37",o="_disabled_v5fjs_46",_="_iconBox_v5fjs_52",a="_instruction_v5fjs_67",c="_restrictions_v5fjs_81",d="_items_v5fjs_103",f="_item_v5fjs_103",l="_failed_v5fjs_122",v="_fileIcon_v5fjs_126",j="_body_v5fjs_136",r="_name_v5fjs_144",u="_meta_v5fjs_155",g="_status_v5fjs_167",m="_failedMessage_v5fjs_168",b="_doneIcon_v5fjs_178",p="_actions_v5fjs_182",I={fileUpload:s,zone:n,input:t,dragging:i,invalid:e,disabled:o,iconBox:_,instruction:a,restrictions:c,items:d,item:f,failed:l,fileIcon:v,body:j,name:r,meta:u,status:g,failedMessage:m,doneIcon:b,actions:p};exports.actions=p;exports.body=j;exports.default=I;exports.disabled=o;exports.doneIcon=b;exports.dragging=i;exports.failed=l;exports.failedMessage=m;exports.fileIcon=v;exports.fileUpload=s;exports.iconBox=_;exports.input=t;exports.instruction=a;exports.invalid=e;exports.item=f;exports.items=d;exports.meta=u;exports.name=r;exports.restrictions=c;exports.status=g;exports.zone=n;
|
|
2
|
+
//# sourceMappingURL=FileUpload.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const s = "_fileUpload_v5fjs_1", n = "_zone_v5fjs_9", _ = "_input_v5fjs_26", t = "_dragging_v5fjs_31", o = "_invalid_v5fjs_37", i = "_disabled_v5fjs_46", e = "_iconBox_v5fjs_52", c = "_instruction_v5fjs_67", a = "_restrictions_v5fjs_81", f = "_items_v5fjs_103", d = "_item_v5fjs_103", l = "_failed_v5fjs_122", v = "_fileIcon_v5fjs_126", j = "_body_v5fjs_136", r = "_name_v5fjs_144", g = "_meta_v5fjs_155", m = "_status_v5fjs_167", u = "_failedMessage_v5fjs_168", p = "_doneIcon_v5fjs_178", b = "_actions_v5fjs_182", I = {
|
|
2
|
+
fileUpload: s,
|
|
3
|
+
zone: n,
|
|
4
|
+
input: _,
|
|
5
|
+
dragging: t,
|
|
6
|
+
invalid: o,
|
|
7
|
+
disabled: i,
|
|
8
|
+
iconBox: e,
|
|
9
|
+
instruction: c,
|
|
10
|
+
restrictions: a,
|
|
11
|
+
items: f,
|
|
12
|
+
item: d,
|
|
13
|
+
failed: l,
|
|
14
|
+
fileIcon: v,
|
|
15
|
+
body: j,
|
|
16
|
+
name: r,
|
|
17
|
+
meta: g,
|
|
18
|
+
status: m,
|
|
19
|
+
failedMessage: u,
|
|
20
|
+
doneIcon: p,
|
|
21
|
+
actions: b
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
b as actions,
|
|
25
|
+
j as body,
|
|
26
|
+
I as default,
|
|
27
|
+
i as disabled,
|
|
28
|
+
p as doneIcon,
|
|
29
|
+
t as dragging,
|
|
30
|
+
l as failed,
|
|
31
|
+
u as failedMessage,
|
|
32
|
+
v as fileIcon,
|
|
33
|
+
s as fileUpload,
|
|
34
|
+
e as iconBox,
|
|
35
|
+
_ as input,
|
|
36
|
+
c as instruction,
|
|
37
|
+
o as invalid,
|
|
38
|
+
d as item,
|
|
39
|
+
f as items,
|
|
40
|
+
g as meta,
|
|
41
|
+
r as name,
|
|
42
|
+
a as restrictions,
|
|
43
|
+
m as status,
|
|
44
|
+
n as zone
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=FileUpload.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_control_17rak_1",t="_input_17rak_7",r="_error_17rak_26",e="_sm_17rak_44",_="_md_17rak_51",n="_toggle_17rak_67",s={control:o,input:t,error:r,sm:e,md:_,toggle:n};exports.control=o;exports.default=s;exports.error=r;exports.input=t;exports.md=_;exports.sm=e;exports.toggle=n;
|
|
2
2
|
//# sourceMappingURL=InputPassword.module.css.cjs.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
const
|
|
2
|
-
control:
|
|
3
|
-
input:
|
|
4
|
-
error:
|
|
5
|
-
sm:
|
|
6
|
-
md:
|
|
1
|
+
const o = "_control_17rak_1", r = "_input_17rak_7", t = "_error_17rak_26", _ = "_sm_17rak_44", n = "_md_17rak_51", s = "_toggle_17rak_67", c = {
|
|
2
|
+
control: o,
|
|
3
|
+
input: r,
|
|
4
|
+
error: t,
|
|
5
|
+
sm: _,
|
|
6
|
+
md: n,
|
|
7
7
|
toggle: s
|
|
8
8
|
};
|
|
9
9
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
o as control,
|
|
11
|
+
c as default,
|
|
12
|
+
t as error,
|
|
13
|
+
r as input,
|
|
14
|
+
n as md,
|
|
15
|
+
_ as sm,
|
|
16
16
|
s as toggle
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=InputPassword.module.css.js.map
|
|
@@ -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"),B=require("../../../hooks/useMergedRefs.cjs"),t=require("./InputText.module.css.cjs"),F=require("../../../hooks/useCharacterCount/useCharacterCount.cjs"),S=require("../Field/Field.cjs");function w({"aria-describedby":o,"aria-invalid":f,className:m,error:p,hint:b,icon:i,id:j,label:x,maxLength:s,required:n=!1,size:u="md",showCharacterCount:h=!1,defaultValue:d,onChange:a,value:c,ref:y,...R}){const{ref:q,count:C,updateCount:I}=F.useCharacterCount(c,d),N=B.useMergedRefs(q,y);function T(e){I(e.target.value),a==null||a(e)}return r.jsx(S.Field,{"aria-describedby":o,characterCount:C,error:p,hint:b,id:j,label:x,maxLength:s,required:n,showCharacterCount:h,size:u,children:({className:e,id:g,describedBy:v,invalid:M})=>{const l=r.jsx("input",{...R,defaultValue:d,id:g,ref:N,"aria-describedby":v,"aria-invalid":M||f,className:[e,i&&t.default.withIcon,m].filter(Boolean).join(" "),maxLength:s,onChange:T,required:n,value:c});return i?r.jsxs("div",{className:[t.default.control,u==="sm"&&t.default.sm].filter(Boolean).join(" "),children:[r.jsx("span",{"aria-hidden":"true",className:t.default.icon,children:i}),l]}):l}})}exports.InputText=w;
|
|
2
2
|
//# sourceMappingURL=InputText.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputText.cjs","sources":["../../../../src/components/forms/InputText/InputText.tsx"],"sourcesContent":["import { type ChangeEvent, type ComponentPropsWithRef } from 'react';\nimport { useCharacterCount } from '../../../hooks/useCharacterCount';\nimport { Field } from '../Field';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport styles from './InputText.module.css';\n\nexport type InputTextSize = 'sm' | 'md';\n\nexport interface InputTextProps extends Omit<ComponentPropsWithRef<'input'>, 'size'> {\n error?: string;\n hint?: string;\n label?: string;\n size?: InputTextSize;\n showCharacterCount?: boolean;\n}\n\nexport function InputText({\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n className,\n error,\n hint,\n id: providedId,\n label,\n maxLength,\n required = false,\n size = 'md',\n showCharacterCount = false,\n defaultValue,\n onChange,\n value,\n ref,\n ...props\n}: InputTextProps) {\n const { ref: inputRef, count, updateCount } = useCharacterCount<HTMLInputElement>(value, defaultValue);\n const mergedRef = useMergedRefs(inputRef, ref);\n
|
|
1
|
+
{"version":3,"file":"InputText.cjs","sources":["../../../../src/components/forms/InputText/InputText.tsx"],"sourcesContent":["import { type ChangeEvent, type ComponentPropsWithRef, type ReactNode } from 'react';\nimport { useCharacterCount } from '../../../hooks/useCharacterCount';\nimport { Field } from '../Field';\nimport { useMergedRefs } from '../../../hooks/useMergedRefs';\nimport styles from './InputText.module.css';\n\nexport type InputTextSize = 'sm' | 'md';\n\nexport interface InputTextProps extends Omit<ComponentPropsWithRef<'input'>, 'size'> {\n error?: string;\n hint?: string;\n /** Icone decorativo a frente do texto, como a lupa de uma busca. O nome do campo continua no `label`. */\n icon?: ReactNode;\n label?: string;\n size?: InputTextSize;\n showCharacterCount?: boolean;\n}\n\nexport function InputText({\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n className,\n error,\n hint,\n icon,\n id: providedId,\n label,\n maxLength,\n required = false,\n size = 'md',\n showCharacterCount = false,\n defaultValue,\n onChange,\n value,\n ref,\n ...props\n}: InputTextProps) {\n const { ref: inputRef, count, updateCount } = useCharacterCount<HTMLInputElement>(value, defaultValue);\n const mergedRef = useMergedRefs(inputRef, ref);\n\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n updateCount(event.target.value);\n onChange?.(event);\n }\n\n return (\n <Field\n aria-describedby={ariaDescribedBy}\n characterCount={count}\n error={error}\n hint={hint}\n id={providedId}\n label={label}\n maxLength={maxLength}\n required={required}\n showCharacterCount={showCharacterCount}\n size={size}\n >\n {({ className: controlClassName, id, describedBy, invalid }) => {\n const input = (\n <input\n {...props}\n defaultValue={defaultValue}\n id={id}\n ref={mergedRef}\n aria-describedby={describedBy}\n aria-invalid={invalid || ariaInvalid}\n className={[controlClassName, icon && styles.withIcon, className].filter(Boolean).join(' ')}\n maxLength={maxLength}\n onChange={handleChange}\n required={required}\n value={value}\n />\n );\n\n if (!icon) {\n return input;\n }\n\n return (\n <div className={[styles.control, size === 'sm' && styles.sm].filter(Boolean).join(' ')}>\n <span aria-hidden=\"true\" className={styles.icon}>\n {icon}\n </span>\n {input}\n </div>\n );\n }}\n </Field>\n );\n}\n"],"names":["InputText","ariaDescribedBy","ariaInvalid","className","error","hint","icon","providedId","label","maxLength","required","size","showCharacterCount","defaultValue","onChange","value","ref","props","inputRef","count","updateCount","useCharacterCount","mergedRef","useMergedRefs","handleChange","event","jsx","Field","controlClassName","id","describedBy","invalid","input","styles"],"mappings":"+SAkBO,SAASA,EAAU,CACxB,mBAAoBC,EACpB,eAAgBC,EAChB,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,KAAAC,EACA,GAAIC,EACJ,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,KAAAC,EAAO,KACP,mBAAAC,EAAqB,GACrB,aAAAC,EACA,SAAAC,EACA,MAAAC,EACA,IAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,KAAM,CAAE,IAAKC,EAAU,MAAAC,EAAO,YAAAC,GAAgBC,EAAAA,kBAAoCN,EAAOF,CAAY,EAC/FS,EAAYC,EAAAA,cAAcL,EAAUF,CAAG,EAE7C,SAASQ,EAAaC,EAAsC,CAC1DL,EAAYK,EAAM,OAAO,KAAK,EAC9BX,GAAA,MAAAA,EAAWW,EACb,CAEA,OACEC,EAAAA,IAACC,EAAAA,MAAA,CACC,mBAAkB1B,EAClB,eAAgBkB,EAChB,MAAAf,EACA,KAAAC,EACA,GAAIE,EACJ,MAAAC,EACA,UAAAC,EACA,SAAAC,EACA,mBAAAE,EACA,KAAAD,EAEC,UAAC,CAAE,UAAWiB,EAAkB,GAAAC,EAAI,YAAAC,EAAa,QAAAC,KAAc,CAC9D,MAAMC,EACJN,EAAAA,IAAC,QAAA,CACE,GAAGT,EACJ,aAAAJ,EACA,GAAAgB,EACA,IAAKP,EACL,mBAAkBQ,EAClB,eAAcC,GAAW7B,EACzB,UAAW,CAAC0B,EAAkBtB,GAAQ2B,EAAAA,QAAO,SAAU9B,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC1F,UAAAM,EACA,SAAUe,EACV,SAAAd,EACA,MAAAK,CAAA,CAAA,EAIJ,OAAKT,SAKF,MAAA,CAAI,UAAW,CAAC2B,EAAAA,QAAO,QAAStB,IAAS,MAAQsB,EAAAA,QAAO,EAAE,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EACnF,SAAA,CAAAP,MAAC,QAAK,cAAY,OAAO,UAAWO,EAAAA,QAAO,KACxC,SAAA3B,EACH,EACC0B,CAAA,EACH,EATOA,CAWX,CAAA,CAAA,CAGN"}
|