@hitachivantara/uikit-react-lab 3.38.0 → 3.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/LICENSE.txt +201 -0
- package/dist/AppSwitcherPanel/Action/Action.js +2 -2
- package/dist/AppSwitcherPanel/Action/Action.js.map +1 -1
- package/dist/AppSwitcherPanel/AppSwitcherPanel.js +2 -2
- package/dist/AppSwitcherPanel/AppSwitcherPanel.js.map +1 -1
- package/dist/AppSwitcherPanel/TitleWithTooltip.js +2 -2
- package/dist/AppSwitcherPanel/TitleWithTooltip.js.map +1 -1
- package/dist/ColorPicker/ColorPicker.js +2 -2
- package/dist/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/ColorPicker/Fields/Fields.js +2 -2
- package/dist/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/ColorPicker/PresetColors/PresetColors.js +2 -2
- package/dist/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/Drawer/Drawer.js +8 -6
- package/dist/Drawer/Drawer.js.map +1 -1
- package/dist/FormComposer/FormComposer.js +2 -2
- package/dist/FormComposer/FormComposer.js.map +1 -1
- package/dist/InlineEditor/InlineEditor.js +2 -2
- package/dist/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/NavigationAnchors/NavigationAnchors.js +2 -2
- package/dist/NavigationAnchors/NavigationAnchors.js.map +1 -1
- package/dist/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js +5 -3
- package/dist/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js.map +1 -1
- package/dist/NotificationPanel/Notification/Notification.js +2 -2
- package/dist/NotificationPanel/Notification/Notification.js.map +1 -1
- package/dist/NotificationPanel/NotificationPanel.js +2 -2
- package/dist/NotificationPanel/NotificationPanel.js.map +1 -1
- package/dist/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js +2 -2
- package/dist/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js.map +1 -1
- package/dist/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
- package/dist/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/QueryBuilder/QueryBuilder.js +2 -2
- package/dist/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/QueryBuilder/Rule/Attribute/Attribute.js +2 -2
- package/dist/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/QueryBuilder/Rule/Operator/Operator.js +2 -2
- package/dist/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/QueryBuilder/Rule/Rule.js +5 -3
- package/dist/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +2 -2
- package/dist/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +2 -2
- package/dist/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +2 -2
- package/dist/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/TextValue/TextValue.js +2 -2
- package/dist/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/Value.js +2 -2
- package/dist/QueryBuilder/Rule/Value/Value.js.map +1 -1
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js +10 -8
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/Slider/KnobRing/KnobRing.js +2 -2
- package/dist/Slider/KnobRing/KnobRing.js.map +1 -1
- package/dist/Slider/Slider.js +2 -2
- package/dist/Slider/Slider.js.map +1 -1
- package/dist/Table/Table.js +2 -2
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody/TableBody.js +2 -2
- package/dist/Table/TableBody/TableBody.js.map +1 -1
- package/dist/Table/TableCell/TableCell.js +2 -2
- package/dist/Table/TableCell/TableCell.js.map +1 -1
- package/dist/Table/TableContainer/TableContainer.js +2 -2
- package/dist/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/Table/TableHead/TableHead.js +2 -2
- package/dist/Table/TableHead/TableHead.js.map +1 -1
- package/dist/Table/TableHeader/TableHeader.js +2 -2
- package/dist/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/Table/TableRow/TableRow.js +2 -2
- package/dist/Table/TableRow/TableRow.js.map +1 -1
- package/dist/Table/hooks/useRowExpand.js +5 -4
- package/dist/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.js +28 -0
- package/dist/Table/index.js.map +1 -1
- package/dist/Table/renderers/DateColumnCell/DateColumnCell.d.ts +12 -0
- package/dist/Table/renderers/DateColumnCell/DateColumnCell.js +61 -0
- package/dist/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -0
- package/dist/Table/renderers/DateColumnCell/index.js +16 -0
- package/dist/Table/renderers/DateColumnCell/index.js.map +1 -0
- package/dist/Table/renderers/DateColumnCell/index.ts +1 -0
- package/dist/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts +24 -0
- package/dist/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +75 -0
- package/dist/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -0
- package/dist/Table/renderers/DropdownColumnCell/index.d.ts +1 -0
- package/dist/Table/renderers/DropdownColumnCell/index.js +16 -0
- package/dist/Table/renderers/DropdownColumnCell/index.js.map +1 -0
- package/dist/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts +16 -0
- package/dist/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +66 -0
- package/dist/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -0
- package/dist/Table/renderers/ProgressColumnCell/index.js +49 -0
- package/dist/Table/renderers/ProgressColumnCell/index.js.map +1 -0
- package/dist/Table/renderers/ProgressColumnCell/index.ts +2 -0
- package/dist/Table/renderers/ProgressColumnCell/styles.js +36 -0
- package/dist/Table/renderers/ProgressColumnCell/styles.js.map +1 -0
- package/dist/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts +29 -0
- package/dist/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +83 -0
- package/dist/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -0
- package/dist/Table/renderers/SwitchColumnCell/index.js +16 -0
- package/dist/Table/renderers/SwitchColumnCell/index.js.map +1 -0
- package/dist/Table/renderers/SwitchColumnCell/index.ts +1 -0
- package/dist/Table/renderers/SwitchColumnCell/styles.js +26 -0
- package/dist/Table/renderers/SwitchColumnCell/styles.js.map +1 -0
- package/dist/Table/renderers/index.d.ts +14 -0
- package/dist/Table/renderers/index.js +80 -0
- package/dist/Table/renderers/index.js.map +1 -0
- package/dist/Table/renderers/renderers.d.ts +53 -0
- package/dist/Table/renderers/renderers.js +238 -0
- package/dist/Table/renderers/renderers.js.map +1 -0
- package/dist/Table/stories/TableColumnRenderers.stories.mdx +193 -0
- package/dist/Table/utils/fallbacks.d.ts +6 -0
- package/dist/Table/utils/fallbacks.js +32 -0
- package/dist/Table/utils/fallbacks.js.map +1 -0
- package/dist/Table/utils/index.d.ts +3 -0
- package/dist/Table/utils/index.js +26 -0
- package/dist/Table/utils/index.js.map +1 -0
- package/dist/Tag/Tag.js +2 -2
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/TimeAgo/TimeAgo.js +2 -2
- package/dist/TimeAgo/TimeAgo.js.map +1 -1
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js +2 -2
- package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/TimePicker/TimePicker.js +2 -2
- package/dist/TimePicker/TimePicker.js.map +1 -1
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js +2 -2
- package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/dist/legacy/AppSwitcherPanel/Action/Action.js +2 -2
- package/dist/legacy/AppSwitcherPanel/Action/Action.js.map +1 -1
- package/dist/legacy/AppSwitcherPanel/AppSwitcherPanel.js +2 -2
- package/dist/legacy/AppSwitcherPanel/AppSwitcherPanel.js.map +1 -1
- package/dist/legacy/AppSwitcherPanel/TitleWithTooltip.js +2 -2
- package/dist/legacy/AppSwitcherPanel/TitleWithTooltip.js.map +1 -1
- package/dist/legacy/ColorPicker/ColorPicker.js +2 -2
- package/dist/legacy/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/legacy/ColorPicker/Fields/Fields.js +2 -2
- package/dist/legacy/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/legacy/ColorPicker/PresetColors/PresetColors.js +2 -2
- package/dist/legacy/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/legacy/Drawer/Drawer.js +7 -4
- package/dist/legacy/Drawer/Drawer.js.map +1 -1
- package/dist/legacy/FormComposer/FormComposer.js +2 -2
- package/dist/legacy/FormComposer/FormComposer.js.map +1 -1
- package/dist/legacy/InlineEditor/InlineEditor.js +2 -2
- package/dist/legacy/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/legacy/NavigationAnchors/NavigationAnchors.js +2 -2
- package/dist/legacy/NavigationAnchors/NavigationAnchors.js.map +1 -1
- package/dist/legacy/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js +5 -3
- package/dist/legacy/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js.map +1 -1
- package/dist/legacy/NotificationPanel/Notification/Notification.js +2 -2
- package/dist/legacy/NotificationPanel/Notification/Notification.js.map +1 -1
- package/dist/legacy/NotificationPanel/NotificationPanel.js +2 -2
- package/dist/legacy/NotificationPanel/NotificationPanel.js.map +1 -1
- package/dist/legacy/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js +2 -2
- package/dist/legacy/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js.map +1 -1
- package/dist/legacy/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
- package/dist/legacy/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/legacy/QueryBuilder/QueryBuilder.js +2 -2
- package/dist/legacy/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Attribute/Attribute.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Operator/Operator.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Rule.js +5 -3
- package/dist/legacy/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/TextValue/TextValue.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/Value.js +2 -2
- package/dist/legacy/QueryBuilder/Rule/Value/Value.js.map +1 -1
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js +9 -6
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/legacy/Slider/KnobRing/KnobRing.js +2 -2
- package/dist/legacy/Slider/KnobRing/KnobRing.js.map +1 -1
- package/dist/legacy/Slider/Slider.js +2 -2
- package/dist/legacy/Slider/Slider.js.map +1 -1
- package/dist/legacy/Table/Table.js +2 -2
- package/dist/legacy/Table/Table.js.map +1 -1
- package/dist/legacy/Table/TableBody/TableBody.js +2 -2
- package/dist/legacy/Table/TableBody/TableBody.js.map +1 -1
- package/dist/legacy/Table/TableCell/TableCell.js +2 -2
- package/dist/legacy/Table/TableCell/TableCell.js.map +1 -1
- package/dist/legacy/Table/TableContainer/TableContainer.js +2 -2
- package/dist/legacy/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/legacy/Table/TableHead/TableHead.js +2 -2
- package/dist/legacy/Table/TableHead/TableHead.js.map +1 -1
- package/dist/legacy/Table/TableHeader/TableHeader.js +2 -2
- package/dist/legacy/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/legacy/Table/TableRow/TableRow.js +2 -2
- package/dist/legacy/Table/TableRow/TableRow.js.map +1 -1
- package/dist/legacy/Table/hooks/useRowExpand.js +4 -1
- package/dist/legacy/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/legacy/Table/index.d.ts +2 -0
- package/dist/legacy/Table/index.js +2 -0
- package/dist/legacy/Table/index.js.map +1 -1
- package/dist/legacy/Table/renderers/DateColumnCell/DateColumnCell.d.ts +12 -0
- package/dist/legacy/Table/renderers/DateColumnCell/DateColumnCell.js +30 -0
- package/dist/legacy/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -0
- package/dist/legacy/Table/renderers/DateColumnCell/index.js +2 -0
- package/dist/legacy/Table/renderers/DateColumnCell/index.js.map +1 -0
- package/dist/legacy/Table/renderers/DateColumnCell/index.ts +1 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts +24 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +59 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/index.d.ts +1 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/index.js +2 -0
- package/dist/legacy/Table/renderers/DropdownColumnCell/index.js.map +1 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts +16 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +50 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/index.js +3 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/index.js.map +1 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/index.ts +2 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/styles.js +27 -0
- package/dist/legacy/Table/renderers/ProgressColumnCell/styles.js.map +1 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts +29 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +68 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/index.js +2 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/index.js.map +1 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/index.ts +1 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/styles.js +17 -0
- package/dist/legacy/Table/renderers/SwitchColumnCell/styles.js.map +1 -0
- package/dist/legacy/Table/renderers/index.d.ts +14 -0
- package/dist/legacy/Table/renderers/index.js +5 -0
- package/dist/legacy/Table/renderers/index.js.map +1 -0
- package/dist/legacy/Table/renderers/renderers.d.ts +53 -0
- package/dist/legacy/Table/renderers/renderers.js +193 -0
- package/dist/legacy/Table/renderers/renderers.js.map +1 -0
- package/dist/legacy/Table/stories/TableColumnRenderers.stories.mdx +193 -0
- package/dist/legacy/Table/utils/fallbacks.d.ts +6 -0
- package/dist/legacy/Table/utils/fallbacks.js +14 -0
- package/dist/legacy/Table/utils/fallbacks.js.map +1 -0
- package/dist/legacy/Table/utils/index.d.ts +3 -0
- package/dist/legacy/Table/utils/index.js +2 -0
- package/dist/legacy/Table/utils/index.js.map +1 -0
- package/dist/legacy/Tag/Tag.js +2 -2
- package/dist/legacy/Tag/Tag.js.map +1 -1
- package/dist/legacy/TimeAgo/TimeAgo.js +2 -2
- package/dist/legacy/TimeAgo/TimeAgo.js.map +1 -1
- package/dist/legacy/TimePicker/PeriodPicker/PeriodPicker.js +2 -2
- package/dist/legacy/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/legacy/TimePicker/TimePicker.js +2 -2
- package/dist/legacy/TimePicker/TimePicker.js.map +1 -1
- package/dist/legacy/TimePicker/UnitTimePicker/UnitTimePicker.js +2 -2
- package/dist/legacy/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/dist/modern/AppSwitcherPanel/Action/Action.js +2 -2
- package/dist/modern/AppSwitcherPanel/Action/Action.js.map +1 -1
- package/dist/modern/AppSwitcherPanel/AppSwitcherPanel.js +2 -2
- package/dist/modern/AppSwitcherPanel/AppSwitcherPanel.js.map +1 -1
- package/dist/modern/AppSwitcherPanel/TitleWithTooltip.js +2 -2
- package/dist/modern/AppSwitcherPanel/TitleWithTooltip.js.map +1 -1
- package/dist/modern/ColorPicker/ColorPicker.js +2 -2
- package/dist/modern/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/modern/ColorPicker/Fields/Fields.js +2 -2
- package/dist/modern/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/modern/ColorPicker/PresetColors/PresetColors.js +2 -2
- package/dist/modern/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/modern/Drawer/Drawer.js +7 -4
- package/dist/modern/Drawer/Drawer.js.map +1 -1
- package/dist/modern/FormComposer/FormComposer.js +2 -2
- package/dist/modern/FormComposer/FormComposer.js.map +1 -1
- package/dist/modern/InlineEditor/InlineEditor.js +2 -2
- package/dist/modern/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/modern/NavigationAnchors/NavigationAnchors.js +2 -2
- package/dist/modern/NavigationAnchors/NavigationAnchors.js.map +1 -1
- package/dist/modern/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js +5 -3
- package/dist/modern/NotificationPanel/EmptyStatePanel/EmptyStatePanel.js.map +1 -1
- package/dist/modern/NotificationPanel/Notification/Notification.js +2 -2
- package/dist/modern/NotificationPanel/Notification/Notification.js.map +1 -1
- package/dist/modern/NotificationPanel/NotificationPanel.js +2 -2
- package/dist/modern/NotificationPanel/NotificationPanel.js.map +1 -1
- package/dist/modern/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js +2 -2
- package/dist/modern/NotificationPanel/NotificationsIndicator/NotificationsIndicator.js.map +1 -1
- package/dist/modern/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
- package/dist/modern/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/modern/QueryBuilder/QueryBuilder.js +2 -2
- package/dist/modern/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Attribute/Attribute.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Operator/Operator.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Rule.js +5 -3
- package/dist/modern/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/TextValue/TextValue.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/Value.js +2 -2
- package/dist/modern/QueryBuilder/Rule/Value/Value.js.map +1 -1
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js +9 -6
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/modern/Slider/KnobRing/KnobRing.js +2 -2
- package/dist/modern/Slider/KnobRing/KnobRing.js.map +1 -1
- package/dist/modern/Slider/Slider.js +2 -2
- package/dist/modern/Slider/Slider.js.map +1 -1
- package/dist/modern/Table/Table.js +2 -2
- package/dist/modern/Table/Table.js.map +1 -1
- package/dist/modern/Table/TableBody/TableBody.js +2 -2
- package/dist/modern/Table/TableBody/TableBody.js.map +1 -1
- package/dist/modern/Table/TableCell/TableCell.js +2 -2
- package/dist/modern/Table/TableCell/TableCell.js.map +1 -1
- package/dist/modern/Table/TableContainer/TableContainer.js +2 -2
- package/dist/modern/Table/TableContainer/TableContainer.js.map +1 -1
- package/dist/modern/Table/TableHead/TableHead.js +2 -2
- package/dist/modern/Table/TableHead/TableHead.js.map +1 -1
- package/dist/modern/Table/TableHeader/TableHeader.js +2 -2
- package/dist/modern/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/modern/Table/TableRow/TableRow.js +2 -2
- package/dist/modern/Table/TableRow/TableRow.js.map +1 -1
- package/dist/modern/Table/hooks/useRowExpand.js +3 -1
- package/dist/modern/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/modern/Table/index.d.ts +2 -0
- package/dist/modern/Table/index.js +2 -0
- package/dist/modern/Table/index.js.map +1 -1
- package/dist/modern/Table/renderers/DateColumnCell/DateColumnCell.d.ts +12 -0
- package/dist/modern/Table/renderers/DateColumnCell/DateColumnCell.js +31 -0
- package/dist/modern/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -0
- package/dist/modern/Table/renderers/DateColumnCell/index.js +2 -0
- package/dist/modern/Table/renderers/DateColumnCell/index.js.map +1 -0
- package/dist/modern/Table/renderers/DateColumnCell/index.ts +1 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts +24 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +58 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/index.d.ts +1 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/index.js +2 -0
- package/dist/modern/Table/renderers/DropdownColumnCell/index.js.map +1 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts +16 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +50 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/index.js +3 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/index.js.map +1 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/index.ts +2 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/styles.js +25 -0
- package/dist/modern/Table/renderers/ProgressColumnCell/styles.js.map +1 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts +29 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +69 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/index.js +2 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/index.js.map +1 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/index.ts +1 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/styles.js +15 -0
- package/dist/modern/Table/renderers/SwitchColumnCell/styles.js.map +1 -0
- package/dist/modern/Table/renderers/index.d.ts +14 -0
- package/dist/modern/Table/renderers/index.js +5 -0
- package/dist/modern/Table/renderers/index.js.map +1 -0
- package/dist/modern/Table/renderers/renderers.d.ts +53 -0
- package/dist/modern/Table/renderers/renderers.js +186 -0
- package/dist/modern/Table/renderers/renderers.js.map +1 -0
- package/dist/modern/Table/stories/TableColumnRenderers.stories.mdx +193 -0
- package/dist/modern/Table/utils/fallbacks.d.ts +6 -0
- package/dist/modern/Table/utils/fallbacks.js +12 -0
- package/dist/modern/Table/utils/fallbacks.js.map +1 -0
- package/dist/modern/Table/utils/index.d.ts +3 -0
- package/dist/modern/Table/utils/index.js +2 -0
- package/dist/modern/Table/utils/index.js.map +1 -0
- package/dist/modern/Tag/Tag.js +2 -2
- package/dist/modern/Tag/Tag.js.map +1 -1
- package/dist/modern/TimeAgo/TimeAgo.js +2 -2
- package/dist/modern/TimeAgo/TimeAgo.js.map +1 -1
- package/dist/modern/TimePicker/PeriodPicker/PeriodPicker.js +2 -2
- package/dist/modern/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/modern/TimePicker/TimePicker.js +2 -2
- package/dist/modern/TimePicker/TimePicker.js.map +1 -1
- package/dist/modern/TimePicker/UnitTimePicker/UnitTimePicker.js +2 -2
- package/dist/modern/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Meta, Story, Preview } from "@storybook/addon-docs";
|
|
2
|
+
|
|
3
|
+
import LinkTo from "@storybook/addon-links/react";
|
|
4
|
+
|
|
5
|
+
import { Usage } from "storybook-root/blocks/Usage";
|
|
6
|
+
|
|
7
|
+
import { HvTable } from "../..";
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
AllColumnRenderers,
|
|
11
|
+
TextColumnRenderer,
|
|
12
|
+
NumberColumnRenderer,
|
|
13
|
+
DateColumnRenderer,
|
|
14
|
+
ExpandColumnRenderer,
|
|
15
|
+
SwitchColumnRenderer,
|
|
16
|
+
TagColumnRenderer,
|
|
17
|
+
ProgressColumnRenderer,
|
|
18
|
+
DropdownColumnRenderer,
|
|
19
|
+
} from "./TableColumnRenderers.stories.js";
|
|
20
|
+
|
|
21
|
+
<Meta title="Lab/Table Column Renderers" />
|
|
22
|
+
|
|
23
|
+
# Table column renderers
|
|
24
|
+
The UI Kit library provides a collection of utility functions that, together with the <LinkTo kind="Lab/Table Hooks" story="Main" className="sbdocs-a">Table Hooks</LinkTo>,
|
|
25
|
+
ease the setup of common column configurations, including the render function, alignment, missing data fallbacks and cell overflow.
|
|
26
|
+
|
|
27
|
+
They add a set of out of the box features, not meant to be 100% feature complete, but instead, ease the majority of use-cases we have been encountering. If you need any customization or extension to these renderers, please feel free to copy and customize them.
|
|
28
|
+
|
|
29
|
+
They can be imported like this:
|
|
30
|
+
|
|
31
|
+
<Usage>{'import { hvTextColumn } from "@hitachivantara/uikit-react-lab";'}</Usage>
|
|
32
|
+
|
|
33
|
+
The following renderers are available:
|
|
34
|
+
|
|
35
|
+
- `hvTextColumn`: Renders a string and includes an overflow tooltip.
|
|
36
|
+
- `hvNumberColumn`: Renders a number aligning it correctly and includes an overflow tooltip.
|
|
37
|
+
- `hvDateColumn`: Renders a date and formats it.
|
|
38
|
+
- `hvExpandColumn`: Renders a column that includes an expand button.
|
|
39
|
+
- `hvTagColumn`: Renders a column with a tag component inside the cell.
|
|
40
|
+
- `hvSwitchColumn`: Renders a column that includes a switch to toggle between two values.
|
|
41
|
+
- `hvDropdownColumn`: Renders a column that include a dropdown select between various values.
|
|
42
|
+
- `hvProgressColumn`: Renders a progress bar to compare between a current value and max value.
|
|
43
|
+
|
|
44
|
+
## All renderers table
|
|
45
|
+
|
|
46
|
+
Complete sample table that uses most of the provided renderers.
|
|
47
|
+
|
|
48
|
+
<Preview withToolbar>
|
|
49
|
+
<Story inline story={AllColumnRenderers} />
|
|
50
|
+
</Preview>
|
|
51
|
+
|
|
52
|
+
## Text column renderer
|
|
53
|
+
|
|
54
|
+
This functions renders text in the table.
|
|
55
|
+
The column generated will have the text truncated with a tooltip if too long or if missing it will be replaced with a long dash.
|
|
56
|
+
|
|
57
|
+
parameters:
|
|
58
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
59
|
+
|
|
60
|
+
output:
|
|
61
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
62
|
+
|
|
63
|
+
<Preview withToolbar>
|
|
64
|
+
<Story inline story={TextColumnRenderer} />
|
|
65
|
+
</Preview>
|
|
66
|
+
|
|
67
|
+
## Number column renderer
|
|
68
|
+
|
|
69
|
+
This functions renders numeric values in the table.
|
|
70
|
+
The column generated will be *right* aligned and in case the value is missing it will be substituted by a long dash.
|
|
71
|
+
|
|
72
|
+
parameters:
|
|
73
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
74
|
+
|
|
75
|
+
output:
|
|
76
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
77
|
+
|
|
78
|
+
<Preview withToolbar>
|
|
79
|
+
<Story inline story={NumberColumnRenderer} />
|
|
80
|
+
</Preview>
|
|
81
|
+
|
|
82
|
+
## Date column renderer
|
|
83
|
+
|
|
84
|
+
This functions renders a string formatted as a date.
|
|
85
|
+
in case the value is missing it will be substituted by a long dash.
|
|
86
|
+
|
|
87
|
+
parameters:
|
|
88
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
89
|
+
- `format: String`: the parameter used as a reference to format the value, the default value is `ISO8601`.
|
|
90
|
+
|
|
91
|
+
output:
|
|
92
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
93
|
+
|
|
94
|
+
<Preview withToolbar>
|
|
95
|
+
<Story inline story={DateColumnRenderer} />
|
|
96
|
+
</Preview>
|
|
97
|
+
|
|
98
|
+
## Expand column renderer
|
|
99
|
+
|
|
100
|
+
This functions in conjunction with the `useHvRowExpand` hook renders a column with a button to open additional content in the table.
|
|
101
|
+
Using the renderer allows the `useHvRowExpand` to render an expander in any column, instead of only in the first one.
|
|
102
|
+
But the property `disableCreateExpandButton` must be true.
|
|
103
|
+
The text rendered next to the expander button will have the same properties as the `hvTextColumn` column.
|
|
104
|
+
|
|
105
|
+
parameters:
|
|
106
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
107
|
+
- `expandRowButtonAriaLabel: String`: The aria label for the button when the expander is closed.
|
|
108
|
+
- `collapseRowButtonAriaLabel: String`: The aria label for the button when the expander is open.
|
|
109
|
+
- `getCanRowExpand: (row: HvRowInstance) => boolean`: The function executed to determine whether the expander button is able to be opened.
|
|
110
|
+
|
|
111
|
+
output:
|
|
112
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
113
|
+
|
|
114
|
+
<Preview withToolbar>
|
|
115
|
+
<Story inline story={ExpandColumnRenderer} />
|
|
116
|
+
</Preview>
|
|
117
|
+
|
|
118
|
+
## Switch column renderer
|
|
119
|
+
|
|
120
|
+
This functions renders a column with a switch component embedded that follows the state of a `boolean` value.
|
|
121
|
+
To change the value of the switch, the data in the table must be changed.
|
|
122
|
+
|
|
123
|
+
parameters:
|
|
124
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
125
|
+
- `switchLabel: String`: The aria label for the switch.
|
|
126
|
+
- `falseLabel: String`: The label for the left side of the switch.
|
|
127
|
+
- `trueLabel: String`: The label for the right side of the switch.
|
|
128
|
+
- `switchProps: HvBaseSwitchProps`: extra props passed to the switch, these values correspond to the `HvBaseSwitch` props.
|
|
129
|
+
|
|
130
|
+
output:
|
|
131
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
132
|
+
|
|
133
|
+
<Preview withToolbar>
|
|
134
|
+
<Story inline story={SwitchColumnRenderer} />
|
|
135
|
+
</Preview>
|
|
136
|
+
|
|
137
|
+
## Tag column renderer
|
|
138
|
+
|
|
139
|
+
This functions renders a column with a tag component embedded that follows the state of a `json` value.
|
|
140
|
+
To change the value color and styles of the tag the data in the table must be changed.
|
|
141
|
+
The function receives 3 key values that correspond to properties present in the table cell value or in the whole row.
|
|
142
|
+
|
|
143
|
+
parameters:
|
|
144
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
145
|
+
- `valueDataKey: String`: The property to use as text for the tag.
|
|
146
|
+
- `colorDataKey: String`: The property to use as color for the tag this property.
|
|
147
|
+
- `textColorDataKey: String`: The property to use as color for the text of the tag.
|
|
148
|
+
- `fromRowData: Boolean`: if `true` it will extract the `valueDataKey` `colorDataKey` `textColorDataKey` from the row data, if `false` it will extract the aforementioned properties from the cell value.
|
|
149
|
+
- `tagProps: HvTagProps`: extra props passed to the tag, these values correspond to the `HvTagProps` props.
|
|
150
|
+
|
|
151
|
+
output:
|
|
152
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
153
|
+
|
|
154
|
+
<Preview withToolbar>
|
|
155
|
+
<Story inline story={TagColumnRenderer} />
|
|
156
|
+
</Preview>
|
|
157
|
+
|
|
158
|
+
## Progress column renderer
|
|
159
|
+
|
|
160
|
+
This functions renders a column with a progress bar embedded.
|
|
161
|
+
The function receives a pair of callbacks to specify the status of the bar.
|
|
162
|
+
|
|
163
|
+
parameters:
|
|
164
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
165
|
+
- `getPartial: (row: HvRowInstance) => number`: a function that returns the current value of the bar.
|
|
166
|
+
- `getTotal: (row: HvRowInstance) => number`: a function that returns the current max value of the bar.
|
|
167
|
+
- `color: "primary" | "secondary"`: which color to use for the bar.
|
|
168
|
+
|
|
169
|
+
output:
|
|
170
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
171
|
+
|
|
172
|
+
<Preview withToolbar>
|
|
173
|
+
<Story inline story={ProgressColumnRenderer} />
|
|
174
|
+
</Preview>
|
|
175
|
+
|
|
176
|
+
## Dropdown column renderer
|
|
177
|
+
|
|
178
|
+
This functions renders a dropdown component embedded into a column.
|
|
179
|
+
The function receives an onChange callback to communicate the selected value of the dropdown.
|
|
180
|
+
|
|
181
|
+
parameters:
|
|
182
|
+
- `col: HvTableColumnConfig`: The column configuration to modify.
|
|
183
|
+
- `id: string`: The dropdown id.
|
|
184
|
+
- `placeholder: string`: The dropdown placeholder when nothing is selected.
|
|
185
|
+
- `disabledPlaceholder: string`: The dropdown placeholder when is disabled.
|
|
186
|
+
- `onChange: (identifier: string, value: ListValueProp) => void`: The function called when the dropdown value is changed.
|
|
187
|
+
|
|
188
|
+
output:
|
|
189
|
+
- `col: HvTableColumnConfig`: The modified column configuration with the parameters required to render the text.
|
|
190
|
+
|
|
191
|
+
<Preview withToolbar>
|
|
192
|
+
<Story inline story={DropdownColumnRenderer} />
|
|
193
|
+
</Preview>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
export function hvStringFallback(value: string | undefined | null): string;
|
|
3
|
+
export function hvNumberFallback(value: number | undefined | null): number | "—";
|
|
4
|
+
export function hvNodeFallback(
|
|
5
|
+
value: React.ReactNode | undefined | null | "—"
|
|
6
|
+
): NonNullable<React.ReactNode>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "core-js/modules/es.object.to-string.js";
|
|
2
|
+
import "core-js/modules/es.regexp.to-string.js";
|
|
3
|
+
var LONG_DASH = "—";
|
|
4
|
+
export var hvStringFallback = function hvStringFallback(value) {
|
|
5
|
+
return typeof value === "string" && value !== "" ? value : LONG_DASH;
|
|
6
|
+
};
|
|
7
|
+
export var hvNumberFallback = function hvNumberFallback(value) {
|
|
8
|
+
return typeof value === "number" ? value : LONG_DASH;
|
|
9
|
+
};
|
|
10
|
+
export var hvNodeFallback = function hvNodeFallback(value) {
|
|
11
|
+
if (!value) return LONG_DASH;
|
|
12
|
+
return hvStringFallback(value === null || value === void 0 ? void 0 : value.toString()) === LONG_DASH ? LONG_DASH : value;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=fallbacks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/Table/utils/fallbacks.js"],"names":["LONG_DASH","hvStringFallback","value","hvNumberFallback","hvNodeFallback","toString"],"mappings":";;AAAA,IAAMA,SAAS,GAAG,GAAlB;AAEA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;AACzC,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,KAAK,EAAvC,GAA4CA,KAA5C,GAAoDF,SAA3D;AACD,CAFM;AAIP,OAAO,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACD,KAAD,EAAW;AACzC,SAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCF,SAA3C;AACD,CAFM;AAIP,OAAO,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAACF,KAAD,EAAW;AACvC,MAAI,CAACA,KAAL,EAAY,OAAOF,SAAP;AACZ,SAAOC,gBAAgB,CAACC,KAAD,aAACA,KAAD,uBAACA,KAAK,CAAEG,QAAP,EAAD,CAAhB,KAAwCL,SAAxC,GAAoDA,SAApD,GAAgEE,KAAvE;AACD,CAHM","sourcesContent":["const LONG_DASH = \"—\";\n\nexport const hvStringFallback = (value) => {\n return typeof value === \"string\" && value !== \"\" ? value : LONG_DASH;\n};\n\nexport const hvNumberFallback = (value) => {\n return typeof value === \"number\" ? value : LONG_DASH;\n};\n\nexport const hvNodeFallback = (value) => {\n if (!value) return LONG_DASH;\n return hvStringFallback(value?.toString()) === LONG_DASH ? LONG_DASH : value;\n};\n"],"file":"fallbacks.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/Table/utils/index.js"],"names":["hvStringFallback","hvNumberFallback","hvNodeFallback"],"mappings":"AAAA,SAASA,gBAAT,EAA2BC,gBAA3B,EAA6CC,cAA7C,QAAmE,aAAnE","sourcesContent":["export { hvStringFallback, hvNumberFallback, hvNodeFallback } from \"./fallbacks\";\n"],"file":"index.js"}
|
package/dist/legacy/Tag/Tag.js
CHANGED
|
@@ -62,7 +62,7 @@ export var HvTag = function HvTag(props) {
|
|
|
62
62
|
color: "atmo5"
|
|
63
63
|
}));
|
|
64
64
|
};
|
|
65
|
-
HvTag.propTypes = {
|
|
65
|
+
process.env.NODE_ENV !== "production" ? HvTag.propTypes = {
|
|
66
66
|
/**
|
|
67
67
|
* Id to be applied to the root node.
|
|
68
68
|
*/
|
|
@@ -146,7 +146,7 @@ HvTag.propTypes = {
|
|
|
146
146
|
* The cancel icon is shown based on this property
|
|
147
147
|
*/
|
|
148
148
|
showcancelicon: PropTypes.bool
|
|
149
|
-
};
|
|
149
|
+
} : void 0;
|
|
150
150
|
export default withStyles(styles, {
|
|
151
151
|
name: "HvTag"
|
|
152
152
|
})(HvTag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Tag/Tag.js"],"names":["React","PropTypes","Close","useDeprecated","clsx","withStyles","makeStyles","useTheme","styles","useStyles","name","getColor","theme","color","defaultColor","palette","HvTag","props","id","semantic","children","disabled","variant","shape","showcancelicon","others","classes","isDisabled","Tagshape","square","inlineStyle","backgroundColor","hv","accent","acce1","root","label","deleteIcon","propTypes","string","round","focusVisible","oneOf","oneOfType","arrayOf","node","isRequired","bool"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAASC,KAAT,QAAsB,mCAAtB;AAEA,SAASC,aAAT,QAA8B,kCAA9B;AAEA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,EAAqBC,UAArB,EAAiCC,QAAjC,QAAiD,mBAAjD;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;;AACA,IAAMC,SAAS,GAAGH,UAAU,CAACE,MAAD,EAAS;AAAEE,EAAAA,IAAI,EAAE;AAAR,CAAT,CAA5B;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAQC,KAAR,EAAeC,YAAf;AAAA,SAAgCF,KAAK,CAACG,OAAN,CAAcF,KAAd,KAAwBA,KAAxB,IAAiCC,YAAjE;AAAA,CAAjB;;AACA,OAAO,IAAME,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAW;AAC9B,MACEC,EADF,GAUID,KAVJ,CACEC,EADF;AAAA,MAEEC,QAFF,GAUIF,KAVJ,CAEEE,QAFF;AAAA,MAGEC,QAHF,GAUIH,KAVJ,CAGEG,QAHF;AAAA,MAIEC,QAJF,GAUIJ,KAVJ,CAIEI,QAJF;AAAA,MAKEC,OALF,GAUIL,KAVJ,CAKEK,OALF;AAAA,MAMET,KANF,GAUII,KAVJ,CAMEJ,KANF;AAAA,MAOEU,KAPF,GAUIN,KAVJ,CAOEM,KAPF;AAAA,8BAUIN,KAVJ,CAQEO,cARF;AAAA,MAQEA,cARF,sCAQmB,KARnB;AAAA,MASKC,MATL,4BAUIR,KAVJ;;AAYAd,EAAAA,aAAa,CAAC,KAAD,EAAQ,sCAAR,CAAb;AACA,MAAMuB,OAAO,GAAGjB,SAAS,EAAzB;AACA,MAAMkB,UAAU,GAAGN,QAAQ,IAAI,KAA/B;AACA,MAAMO,QAAQ,GAAGL,KAAK,IAAIG,OAAO,CAACG,MAAlC;AACA,MAAMjB,KAAK,GAAGL,QAAQ,EAAtB;AACA,MAAMuB,WAAW,GAAG,EAApB;;AAEA,MAAIX,QAAJ,EAAc;AAAA;;AACZW,IAAAA,WAAW,CAACC,eAAZ,GAA8BpB,QAAQ,CACpCC,KADoC,oBAEpCA,KAAK,CAACG,OAF8B,mDAEpC,eAAgBI,QAAhB,CAFoC,EAGpCP,KAAK,CAACoB,EAAN,CAASjB,OAAT,CAAiBkB,MAAjB,CAAwBC,KAHY,CAAtC;AAKD;AAED;AACF;AACA;;;AACE,sBACE;AACE,IAAA,EAAE,EAAEhB,EADN;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,SAAS,EAAEd,IAAI,CACbsB,OAAO,CAACS,IADK,EAEbT,OAAO,CAACJ,OAAD,CAFM,EAGRG,MAHQ,EAKSE,UALT,IAKVD,OAAO,CAACL,QALE,EAMYO,QANZ,IAMVF,OAAO,WAAIH,KAAJ,EANG,CAHjB;AAYE,IAAA,KAAK,EAAEO,WAZT;AAaE,IAAA,QAAQ,EAAEH;AAbZ,KAcMF,MAdN,gBAgBE;AAAM,IAAA,SAAS,EAAEC,OAAO,CAACU;AAAzB,KAAiChB,QAAjC,CAhBF,EAiBGI,cAAc,iBACb,oBAAC,KAAD;AACE,IAAA,SAAS,EAAEpB,IAAI,CAACsB,OAAO,CAACW,UAAT,EACOV,UADP,IACZD,OAAO,CAACL,QADI,CADjB;AAIE,IAAA,KAAK,EAAC;AAJR,IAlBJ,CADF;AA4BD,CA3DM;
|
|
1
|
+
{"version":3,"sources":["../../../src/Tag/Tag.js"],"names":["React","PropTypes","Close","useDeprecated","clsx","withStyles","makeStyles","useTheme","styles","useStyles","name","getColor","theme","color","defaultColor","palette","HvTag","props","id","semantic","children","disabled","variant","shape","showcancelicon","others","classes","isDisabled","Tagshape","square","inlineStyle","backgroundColor","hv","accent","acce1","root","label","deleteIcon","propTypes","string","round","focusVisible","oneOf","oneOfType","arrayOf","node","isRequired","bool"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDeprecated } from \"@hitachivantara/uikit-react-core\";\n\nimport clsx from \"clsx\";\nimport { withStyles, makeStyles, useTheme } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\n/**\n * The tag is a component used to notify the user about the labelled ,categorised, or organised item , in the app context.\n */\nconst useStyles = makeStyles(styles, { name: \"HvTag\" });\n\nconst getColor = (theme, color, defaultColor) => theme.palette[color] || color || defaultColor;\nexport const HvTag = (props) => {\n const {\n id,\n semantic,\n children,\n disabled,\n variant,\n color,\n shape,\n showcancelicon = false,\n ...others\n } = props;\n\n useDeprecated(\"Tag\", \"Please use the Tag component in Core\");\n const classes = useStyles();\n const isDisabled = disabled || false;\n const Tagshape = shape || classes.square;\n const theme = useTheme();\n const inlineStyle = {};\n\n if (semantic) {\n inlineStyle.backgroundColor = getColor(\n theme,\n theme.palette?.[semantic],\n theme.hv.palette.accent.acce1\n );\n }\n\n /**\n * Renders the content for the tag elements.\n */\n return (\n <div\n id={id}\n role=\"button\"\n className={clsx(\n classes.root,\n classes[variant],\n { ...others },\n {\n [classes.disabled]: isDisabled,\n [classes[`${shape}`]]: Tagshape,\n }\n )}\n style={inlineStyle}\n disabled={isDisabled}\n {...others}\n >\n <span className={classes.label}>{children}</span>\n {showcancelicon && (\n <Close\n className={clsx(classes.deleteIcon, {\n [classes.disabled]: isDisabled,\n })}\n color=\"atmo5\"\n />\n )}\n </div>\n );\n};\n\nHvTag.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the tag.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component label.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the component when it is tag.\n */\n square: PropTypes.string,\n /**\n * Styles applied to the component when it is chip.\n */\n round: PropTypes.string,\n\n /**\n * Styles applied to the component when shows label.\n */\n deleteIcon: PropTypes.string,\n /**\n * Styles applied to the component when disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the button if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }),\n /**\n * A String representing the background color of the tag.\n * You can use either an HEX or color name from the palette.\n */\n backgroundColor: PropTypes.string,\n /**\n * Category of tag to use\n */\n variant: PropTypes.oneOf([\"informational\", \"success\", \"warning\", \"error\", \"categorical\"]),\n /**\n * A String or Array of strings representing the colors to override in the icon.\n * Each element inside the array will override a diferent color.\n * You can use either an HEX or color name from the palette.\n */\n color: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n /**\n * Sets one of the standard semantic palette colors of the icon\n */\n semantic: PropTypes.oneOf([\n \"sema1\",\n \"sema2\",\n \"sema3\",\n \"sema4\",\n \"sema5\",\n \"sema6\",\n \"sema7\",\n \"sema8\",\n \"sema9\",\n \"sema10\",\n \"sema11\",\n \"sema12\",\n \"sema13\",\n \"sema14\",\n \"sema15\",\n \"sema16\",\n \"sema17\",\n \"sema18\",\n \"sema19\",\n \"sema20\",\n ]),\n shape: PropTypes.string,\n /**\n * The content of the Tag.\n */\n children: PropTypes.node.isRequired,\n /**\n * The disabled property of the Tag.\n */\n disabled: PropTypes.string,\n /**\n * The cancel icon is shown based on this property\n */\n showcancelicon: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvTag\" })(HvTag);\n"],"file":"Tag.js"}
|
|
@@ -40,7 +40,7 @@ var HvTimeAgo = function HvTimeAgo(_ref) {
|
|
|
40
40
|
}, others), !timestamp ? emptyElement : timeAgo);
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
HvTimeAgo.propTypes = {
|
|
43
|
+
process.env.NODE_ENV !== "production" ? HvTimeAgo.propTypes = {
|
|
44
44
|
/**
|
|
45
45
|
* A Jss Object used to override or extend the styles applied.
|
|
46
46
|
*/
|
|
@@ -89,7 +89,7 @@ HvTimeAgo.propTypes = {
|
|
|
89
89
|
* Consider using `useTimeAgo` instead
|
|
90
90
|
*/
|
|
91
91
|
justText: PropTypes.bool
|
|
92
|
-
};
|
|
92
|
+
} : void 0;
|
|
93
93
|
export default withStyles(styles, {
|
|
94
94
|
name: "HvTimeAgo"
|
|
95
95
|
})(HvTimeAgo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TimeAgo/TimeAgo.js"],"names":["React","PropTypes","withStyles","HvTypography","useLocale","useTimeAgo","styles","HvTimeAgo","classes","timestamp","localeProp","locale","component","Component","emptyElement","disableRefresh","showSeconds","justText","others","contextLocale","timeAgo","root","propTypes","shape","string","number","elementType","node","bool","name"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,kCAAxC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAUZ;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,SAQI,QARJA,SAQI;AAAA,MAPIC,UAOJ,QAPJC,MAOI;AAAA,4BANJC,SAMI;AAAA,MANOC,SAMP,+BANmBV,YAMnB;AAAA,+BALJW,YAKI;AAAA,MALJA,YAKI,kCALW,GAKX;AAAA,iCAJJC,cAII;AAAA,MAJJA,cAII,oCAJa,KAIb;AAAA,8BAHJC,WAGI;AAAA,MAHJA,WAGI,iCAHU,KAGV;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,KAEP;AAAA,MADDC,MACC;;AACJ,MAAMC,aAAa,GAAGf,SAAS,EAA/B;AACA,MAAMO,MAAM,GAAGD,UAAU,IAAIS,aAA7B;AACA,MAAMC,OAAO,GAAGf,UAAU,CAACI,SAAD,EAAY;AAAEE,IAAAA,MAAM,EAANA,MAAF;AAAUI,IAAAA,cAAc,EAAdA,cAAV;AAA0BC,IAAAA,WAAW,EAAXA;AAA1B,GAAZ,CAA1B;AAEA,MAAIC,QAAQ,IAAIR,SAAhB,EAA2B,OAAOW,OAAP;AAE3B,sBACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEZ,OAAO,CAACa;AAA9B,KAAwCH,MAAxC,GACG,CAACT,SAAD,GAAaK,YAAb,GAA4BM,OAD/B,CADF;AAKD,CAtBD;;
|
|
1
|
+
{"version":3,"sources":["../../../src/TimeAgo/TimeAgo.js"],"names":["React","PropTypes","withStyles","HvTypography","useLocale","useTimeAgo","styles","HvTimeAgo","classes","timestamp","localeProp","locale","component","Component","emptyElement","disableRefresh","showSeconds","justText","others","contextLocale","timeAgo","root","propTypes","shape","string","number","elementType","node","bool","name"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,kCAAxC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAUZ;AAAA,MATJC,OASI,QATJA,OASI;AAAA,MARJC,SAQI,QARJA,SAQI;AAAA,MAPIC,UAOJ,QAPJC,MAOI;AAAA,4BANJC,SAMI;AAAA,MANOC,SAMP,+BANmBV,YAMnB;AAAA,+BALJW,YAKI;AAAA,MALJA,YAKI,kCALW,GAKX;AAAA,iCAJJC,cAII;AAAA,MAJJA,cAII,oCAJa,KAIb;AAAA,8BAHJC,WAGI;AAAA,MAHJA,WAGI,iCAHU,KAGV;AAAA,2BAFJC,QAEI;AAAA,MAFJA,QAEI,8BAFO,KAEP;AAAA,MADDC,MACC;;AACJ,MAAMC,aAAa,GAAGf,SAAS,EAA/B;AACA,MAAMO,MAAM,GAAGD,UAAU,IAAIS,aAA7B;AACA,MAAMC,OAAO,GAAGf,UAAU,CAACI,SAAD,EAAY;AAAEE,IAAAA,MAAM,EAANA,MAAF;AAAUI,IAAAA,cAAc,EAAdA,cAAV;AAA0BC,IAAAA,WAAW,EAAXA;AAA1B,GAAZ,CAA1B;AAEA,MAAIC,QAAQ,IAAIR,SAAhB,EAA2B,OAAOW,OAAP;AAE3B,sBACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAEZ,OAAO,CAACa;AAA9B,KAAwCH,MAAxC,GACG,CAACT,SAAD,GAAaK,YAAb,GAA4BM,OAD/B,CADF;AAKD,CAtBD;;AAwBA,wCAAAb,SAAS,CAACe,SAAV,GAAsB;AACpB;AACF;AACA;AACEd,EAAAA,OAAO,EAAEP,SAAS,CAACsB,KAAV,CAAgB;AACvB;AACJ;AACA;AACIF,IAAAA,IAAI,EAAEpB,SAAS,CAACuB;AAJO,GAAhB,CAJW;;AAUpB;AACF;AACA;AACEf,EAAAA,SAAS,EAAER,SAAS,CAACwB,MAbD;;AAcpB;AACF;AACA;AACA;AACEd,EAAAA,MAAM,EAAEV,SAAS,CAACuB,MAlBE;;AAmBpB;AACF;AACA;AACA;AACEZ,EAAAA,SAAS,EAAEX,SAAS,CAACyB,WAvBD;;AAwBpB;AACF;AACA;AACA;AACEZ,EAAAA,YAAY,EAAEb,SAAS,CAAC0B,IA5BJ;;AA6BpB;AACF;AACA;AACEZ,EAAAA,cAAc,EAAEd,SAAS,CAAC2B,IAhCN;;AAiCpB;AACF;AACA;AACEZ,EAAAA,WAAW,EAAEf,SAAS,CAAC2B,IApCH;;AAqCpB;AACF;AACA;AACA;AACEX,EAAAA,QAAQ,EAAEhB,SAAS,CAAC2B;AAzCA,CAAtB;AA4CA,eAAe1B,UAAU,CAACI,MAAD,EAAS;AAAEuB,EAAAA,IAAI,EAAE;AAAR,CAAT,CAAV,CAA0CtB,SAA1C,CAAf","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvTypography, useLocale } from \"@hitachivantara/uikit-react-core\";\nimport useTimeAgo from \"./useTimeAgo\";\nimport styles from \"./styles\";\n\n/**\n * The HvTimeAgo component implements the Design System relative time format guidelines.\n */\nconst HvTimeAgo = ({\n classes,\n timestamp,\n locale: localeProp,\n component: Component = HvTypography,\n emptyElement = \"—\",\n disableRefresh = false,\n showSeconds = false,\n justText = false,\n ...others\n}) => {\n const contextLocale = useLocale();\n const locale = localeProp || contextLocale;\n const timeAgo = useTimeAgo(timestamp, { locale, disableRefresh, showSeconds });\n\n if (justText && timestamp) return timeAgo;\n\n return (\n <Component className={classes.root} {...others}>\n {!timestamp ? emptyElement : timeAgo}\n </Component>\n );\n};\n\nHvTimeAgo.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }),\n /**\n * The timestamp to format, in seconds\n */\n timestamp: PropTypes.number,\n /**\n * The locale to be used. Should be on of the dayjs supported locales\n * @see https://day.js.org/docs/en/i18n/i18n\n */\n locale: PropTypes.string,\n /**\n * The component used for the root node. Either a string to use a HTML element or a component.\n * Defaults to `div`.\n */\n component: PropTypes.elementType,\n /**\n * The element to render when the timestamp is null or 0\n * Defaults to `—` (Em Dash)\n */\n emptyElement: PropTypes.node,\n /**\n * Disables periodic date refreshes\n */\n disableRefresh: PropTypes.bool,\n /**\n * Whether to show seconds in the rendered time\n */\n showSeconds: PropTypes.bool,\n /**\n * Whether the component should render just the string\n * Consider using `useTimeAgo` instead\n */\n justText: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvTimeAgo\" })(HvTimeAgo);\n"],"file":"TimeAgo.js"}
|
|
@@ -90,7 +90,7 @@ var PeriodPicker = /*#__PURE__*/function (_React$Component) {
|
|
|
90
90
|
return PeriodPicker;
|
|
91
91
|
}(React.Component);
|
|
92
92
|
|
|
93
|
-
PeriodPicker.propTypes = {
|
|
93
|
+
process.env.NODE_ENV !== "production" ? PeriodPicker.propTypes = {
|
|
94
94
|
/**
|
|
95
95
|
* A Jss Object used to override or extend the styles applied to the input/popper
|
|
96
96
|
*/
|
|
@@ -105,6 +105,6 @@ PeriodPicker.propTypes = {
|
|
|
105
105
|
* Default period value
|
|
106
106
|
*/
|
|
107
107
|
period: PropTypes.oneOf([PeriodPickerOptions.AM, PeriodPickerOptions.PM])
|
|
108
|
-
};
|
|
108
|
+
} : void 0;
|
|
109
109
|
export default PeriodPicker;
|
|
110
110
|
//# sourceMappingURL=PeriodPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/TimePicker/PeriodPicker/PeriodPicker.js"],"names":["React","PropTypes","clsx","HvToggleButton","DropUpXS","UpIcon","DropDownXS","DownIcon","PeriodPickerOptions","PeriodPicker","props","onChangePeriod","period","selectDifferentPeriod","setState","currentPeriod","state","AM","PM","classes","periodContainer","icon","handleChangePeriod","periodToggle","subtractIcon","Component","propTypes","instanceOf","Object","isRequired","func","oneOf"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,cAAT,QAA+B,kCAA/B;AACA,SAASC,QAAQ,IAAIC,MAArB,EAA6BC,UAAU,IAAIC,QAA3C,QAA2D,mCAA3D;AACA,SAASC,mBAAT,QAAoC,UAApC;;IAEMC,Y;;;;;AACJ,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;;AADiB,yEAYE,YAAM;AACzB,UAAQC,cAAR,GAA2B,MAAKD,KAAhC,CAAQC,cAAR;;AACA,UAAMC,MAAM,GAAG,MAAKC,qBAAL,EAAf;;AACA,YAAKC,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEH;AADH,OAAd;;AAGAD,MAAAA,cAAc,CAACC,MAAD,CAAd;AACD,KAnBkB;;AAAA,4EA0BK,YAAM;AAC5B,UAAQG,aAAR,GAA0B,MAAKC,KAA/B,CAAQD,aAAR;AACA,aAAOA,aAAa,KAAKP,mBAAmB,CAACS,EAAtC,GACHT,mBAAmB,CAACU,EADjB,GAEHV,mBAAmB,CAACS,EAFxB;AAGD,KA/BkB;;AAGjB,UAAKD,KAAL,GAAa;AACXD,MAAAA,aAAa,mBAAEL,KAAK,CAACE,MAAR,yDAAkBJ,mBAAmB,CAACS;AADxC,KAAb;AAHiB;AAMlB;AAED;AACF;AACA;AACA;;;;;;AAsBE;AACF;AACA;AACA;AACE,sBAAS;AACP,UAAQE,OAAR,GAAoB,KAAKT,KAAzB,CAAQS,OAAR;AACA,UAAQJ,aAAR,GAA0B,KAAKC,KAA/B,CAAQD,aAAR;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEI,OAAO,CAACC;AAAxB,sBACE,oBAAC,MAAD;AAAQ,QAAA,SAAS,EAAED,OAAO,CAACE,IAA3B;AAAiC,QAAA,OAAO,EAAE,KAAKC;AAA/C,QADF,eAEE,oBAAC,cAAD;AACE,QAAA,SAAS,EAAEH,OAAO,CAACI,YADrB;AAEE,QAAA,QAAQ,EAAER,aAAa,KAAKP,mBAAmB,CAACU,EAFlD;AAGE,QAAA,OAAO,EAAE,KAAKI;AAHhB,SAKGP,aALH,CAFF,eASE,oBAAC,QAAD;AACE,QAAA,SAAS,EAAEb,IAAI,CAACiB,OAAO,CAACE,IAAT,EAAeF,OAAO,CAACK,YAAvB,CADjB;AAEE,QAAA,OAAO,EAAE,KAAKF;AAFhB,QATF,CADF;AAgBD;;;;EA1DwBtB,KAAK,CAACyB,S;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/TimePicker/PeriodPicker/PeriodPicker.js"],"names":["React","PropTypes","clsx","HvToggleButton","DropUpXS","UpIcon","DropDownXS","DownIcon","PeriodPickerOptions","PeriodPicker","props","onChangePeriod","period","selectDifferentPeriod","setState","currentPeriod","state","AM","PM","classes","periodContainer","icon","handleChangePeriod","periodToggle","subtractIcon","Component","propTypes","instanceOf","Object","isRequired","func","oneOf"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,cAAT,QAA+B,kCAA/B;AACA,SAASC,QAAQ,IAAIC,MAArB,EAA6BC,UAAU,IAAIC,QAA3C,QAA2D,mCAA3D;AACA,SAASC,mBAAT,QAAoC,UAApC;;IAEMC,Y;;;;;AACJ,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;;AADiB,yEAYE,YAAM;AACzB,UAAQC,cAAR,GAA2B,MAAKD,KAAhC,CAAQC,cAAR;;AACA,UAAMC,MAAM,GAAG,MAAKC,qBAAL,EAAf;;AACA,YAAKC,QAAL,CAAc;AACZC,QAAAA,aAAa,EAAEH;AADH,OAAd;;AAGAD,MAAAA,cAAc,CAACC,MAAD,CAAd;AACD,KAnBkB;;AAAA,4EA0BK,YAAM;AAC5B,UAAQG,aAAR,GAA0B,MAAKC,KAA/B,CAAQD,aAAR;AACA,aAAOA,aAAa,KAAKP,mBAAmB,CAACS,EAAtC,GACHT,mBAAmB,CAACU,EADjB,GAEHV,mBAAmB,CAACS,EAFxB;AAGD,KA/BkB;;AAGjB,UAAKD,KAAL,GAAa;AACXD,MAAAA,aAAa,mBAAEL,KAAK,CAACE,MAAR,yDAAkBJ,mBAAmB,CAACS;AADxC,KAAb;AAHiB;AAMlB;AAED;AACF;AACA;AACA;;;;;;AAsBE;AACF;AACA;AACA;AACE,sBAAS;AACP,UAAQE,OAAR,GAAoB,KAAKT,KAAzB,CAAQS,OAAR;AACA,UAAQJ,aAAR,GAA0B,KAAKC,KAA/B,CAAQD,aAAR;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEI,OAAO,CAACC;AAAxB,sBACE,oBAAC,MAAD;AAAQ,QAAA,SAAS,EAAED,OAAO,CAACE,IAA3B;AAAiC,QAAA,OAAO,EAAE,KAAKC;AAA/C,QADF,eAEE,oBAAC,cAAD;AACE,QAAA,SAAS,EAAEH,OAAO,CAACI,YADrB;AAEE,QAAA,QAAQ,EAAER,aAAa,KAAKP,mBAAmB,CAACU,EAFlD;AAGE,QAAA,OAAO,EAAE,KAAKI;AAHhB,SAKGP,aALH,CAFF,eASE,oBAAC,QAAD;AACE,QAAA,SAAS,EAAEb,IAAI,CAACiB,OAAO,CAACE,IAAT,EAAeF,OAAO,CAACK,YAAvB,CADjB;AAEE,QAAA,OAAO,EAAE,KAAKF;AAFhB,QATF,CADF;AAgBD;;;;EA1DwBtB,KAAK,CAACyB,S;;AA6DjC,wCAAAhB,YAAY,CAACiB,SAAb,GAAyB;AACvB;AACF;AACA;AACEP,EAAAA,OAAO,EAAElB,SAAS,CAAC0B,UAAV,CAAqBC,MAArB,EAA6BC,UAJf;;AAKvB;AACF;AACA;AACElB,EAAAA,cAAc,EAAEV,SAAS,CAAC6B,IAAV,CAAeD,UARR;;AASvB;AACF;AACA;AACEjB,EAAAA,MAAM,EAAEX,SAAS,CAAC8B,KAAV,CAAgB,CAACvB,mBAAmB,CAACS,EAArB,EAAyBT,mBAAmB,CAACU,EAA7C,CAAhB;AAZe,CAAzB;AAeA,eAAeT,YAAf","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { HvToggleButton } from \"@hitachivantara/uikit-react-core\";\nimport { DropUpXS as UpIcon, DropDownXS as DownIcon } from \"@hitachivantara/uikit-react-icons\";\nimport { PeriodPickerOptions } from \"../enums\";\n\nclass PeriodPicker extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n currentPeriod: props.period ?? PeriodPickerOptions.AM,\n };\n }\n\n /**\n * Handles the period change\n * @memberof PeriodPicker\n */\n handleChangePeriod = () => {\n const { onChangePeriod } = this.props;\n const period = this.selectDifferentPeriod();\n this.setState({\n currentPeriod: period,\n });\n onChangePeriod(period);\n };\n\n /**\n * Gets the new value for the period\n * @returns the new value for the period\n * @memberof UnitTimePicker\n */\n selectDifferentPeriod = () => {\n const { currentPeriod } = this.state;\n return currentPeriod === PeriodPickerOptions.AM\n ? PeriodPickerOptions.PM\n : PeriodPickerOptions.AM;\n };\n\n /**\n * Renders the PeriodPicker\n * @memberof UnitTimePicker\n */\n render() {\n const { classes } = this.props;\n const { currentPeriod } = this.state;\n\n return (\n <div className={classes.periodContainer}>\n <UpIcon className={classes.icon} onClick={this.handleChangePeriod} />\n <HvToggleButton\n className={classes.periodToggle}\n selected={currentPeriod === PeriodPickerOptions.PM}\n onClick={this.handleChangePeriod}\n >\n {currentPeriod}\n </HvToggleButton>\n <DownIcon\n className={clsx(classes.icon, classes.subtractIcon)}\n onClick={this.handleChangePeriod}\n />\n </div>\n );\n }\n}\n\nPeriodPicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.instanceOf(Object).isRequired,\n /**\n * Callback function called when the period value changes\n */\n onChangePeriod: PropTypes.func.isRequired,\n /**\n * Default period value\n */\n period: PropTypes.oneOf([PeriodPickerOptions.AM, PeriodPickerOptions.PM]),\n};\n\nexport default PeriodPicker;\n"],"file":"PeriodPicker.js"}
|
|
@@ -414,7 +414,7 @@ var HvTimePicker = function HvTimePicker(_ref) {
|
|
|
414
414
|
}, validationMessage));
|
|
415
415
|
};
|
|
416
416
|
|
|
417
|
-
HvTimePicker.propTypes = {
|
|
417
|
+
process.env.NODE_ENV !== "production" ? HvTimePicker.propTypes = {
|
|
418
418
|
/**
|
|
419
419
|
* A Jss Object used to override or extend the styles applied to the input/popper
|
|
420
420
|
*/
|
|
@@ -689,7 +689,7 @@ HvTimePicker.propTypes = {
|
|
|
689
689
|
* Extra properties to be passed to the timepicker dropdown.
|
|
690
690
|
*/
|
|
691
691
|
dropdownProps: PropTypes.instanceOf(Object)
|
|
692
|
-
};
|
|
692
|
+
} : void 0;
|
|
693
693
|
export default withStyles(styles, {
|
|
694
694
|
name: "HvTimePicker"
|
|
695
695
|
})(HvTimePicker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TimePicker/TimePicker.js"],"names":["React","useState","useEffect","useRef","useMemo","PropTypes","clsx","withStyles","HvFormElement","HvBaseDropdown","HvLabel","HvWarningText","HvInfoMessage","setId","useUniqueId","useControlled","useLocale","HvTypography","useSavedState","Time","TimeIcon","TimePickerUnits","TimeFormat","PeriodPickerOptions","getFormattedTime","getTimeFormatForLocale","getHoursForTimeFormat","getTimeWithFormat24","UnitTimePicker","PeriodPicker","styles","setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","H24","H12","minutesInputState","secondsInputState","HvTimePicker","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","value","defaultValueProp","defaultValue","chosenTimeFormat","localeProp","locale","disableDefaultValue","onToggleCallback","onToggle","Date","getHours","getMinutes","chosenTimePeriod","disablePortal","escapeWithReference","dropdownProps","others","elementId","localeFromProvider","toString","v","AM","PM","setValue","rollbackValue","lastValidValue","validationMessage","validationState","setValidationState","isOpen","setOpen","firstRender","currentValue","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","root","formElementRoot","labelContainer","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport {\n HvFormElement,\n HvBaseDropdown,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n setId,\n useUniqueId,\n useControlled,\n useLocale,\n HvTypography,\n useSavedState,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\n\nimport { TimePickerUnits, TimeFormat, PeriodPickerOptions } from \"./enums\";\nimport { getFormattedTime, getTimeFormatForLocale } from \"./timePickerFormatter\";\nimport { getHoursForTimeFormat, getTimeWithFormat24 } from \"./timePickerConverter\";\nimport UnitTimePicker from \"./UnitTimePicker\";\nimport PeriodPicker from \"./PeriodPicker\";\n\nimport styles from \"./styles\";\n\nconst setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n};\n\nconst timeIsEqual = (timeA, timeB) => {\n return (\n timeA === timeB ||\n (timeA == null && timeB == null) ||\n (timeA != null &&\n timeB != null &&\n timeA.hours === timeB.hours &&\n timeA.minutes === timeB.minutes &&\n timeA.seconds === timeB.seconds &&\n timeA.period === timeB.period)\n );\n};\n\nconst timeIsValid = (time, timeFormat) => {\n const hourInputState =\n time?.hours != null &&\n time.hours !== \"\" &&\n time.hours >= 0 &&\n ((timeFormat === TimeFormat.H24 && time.hours <= 24) ||\n (timeFormat === TimeFormat.H12 && time.hours <= 12));\n const minutesInputState =\n time?.minutes != null && time.minutes !== \"\" && time.minutes >= 0 && time.minutes <= 59;\n const secondsInputState =\n time?.seconds != null && time.seconds !== \"\" && time.seconds >= 0 && time.seconds <= 59;\n\n return hourInputState && minutesInputState && secondsInputState;\n};\n\n/**\n * A TimePicker component used to choose the time, following specifications provided by Design System. Still in development.\n */\n\nconst HvTimePicker = ({\n classes,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat: chosenTimeFormat,\n locale: localeProp,\n\n disableDefaultValue,\n\n onToggle: onToggleCallback,\n\n // deprecated properties:\n hours = new Date().getHours(),\n minutes = new Date().getMinutes(),\n seconds = 0,\n period: chosenTimePeriod,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n}) => {\n // #region STATE\n const elementId = useUniqueId(id, \"hvtimepicker\");\n\n const localeFromProvider = useLocale();\n const locale = localeProp || localeFromProvider;\n const timeFormat = useMemo(\n () => (chosenTimeFormat != null ? chosenTimeFormat.toString() : getTimeFormatForLocale(locale)),\n [chosenTimeFormat, locale]\n );\n\n const [value, setValue, rollbackValue, lastValidValue] = useSavedState(() => {\n // fallback to the deprecated properties\n // we shouldn't do that when promoting to core\n // as it makes impossible to start with an empty value\n const defaultValue =\n defaultValueProp ??\n (disableDefaultValue\n ? null\n : {\n hours,\n minutes,\n seconds,\n });\n\n const v = valueProp ?? defaultValue;\n\n return v != null\n ? {\n hours: v?.hours != null ? getHoursForTimeFormat(v.hours, timeFormat) : null,\n minutes: v?.minutes,\n seconds: v?.seconds,\n period:\n timeFormat === TimeFormat.H12\n ? chosenTimePeriod ??\n (v?.hours == null || v.hours < 12 ? PeriodPickerOptions.AM : PeriodPickerOptions.PM)\n : null,\n }\n : null;\n });\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [isOpen, setOpen] = useState(false);\n // #endregion\n\n // #region SIDE EFFECTS\n const firstRender = useRef(true);\n const currentValue = useRef(value);\n useEffect(() => {\n currentValue.current = value;\n });\n const currentTimeFormat = useRef(timeFormat);\n useEffect(() => {\n currentTimeFormat.current = timeFormat;\n });\n\n useEffect(() => {\n // allow external changes to the time format (via timeFormat or locale properties)\n if (!firstRender.current && currentValue.current != null) {\n const to12 = timeFormat === TimeFormat.H12;\n\n let { hours: h, period: p } = currentValue.current;\n if (to12) {\n if (h == null || h < 12) {\n p = PeriodPickerOptions.AM;\n } else {\n p = PeriodPickerOptions.PM;\n if (h > 12) {\n h -= 12;\n }\n }\n } else {\n if (p === PeriodPickerOptions.AM) {\n if (h === 12) {\n h = 0;\n }\n } else if (h < 12) {\n h += 12;\n }\n p = undefined;\n }\n\n setValue(\n {\n hours: h,\n minutes: currentValue.current.minutes,\n seconds: currentValue.current.seconds,\n period: p,\n },\n true\n );\n }\n }, [setValue, timeFormat]);\n\n useEffect(() => {\n // allow control of value property\n if (!firstRender.current) {\n const dayPeriod =\n valueProp?.hours == null || valueProp.hours < 12\n ? PeriodPickerOptions.AM\n : PeriodPickerOptions.PM;\n\n setValue(\n valueProp != null\n ? {\n hours:\n valueProp?.hours != null\n ? getHoursForTimeFormat(valueProp.hours, currentTimeFormat.current)\n : null,\n minutes: valueProp?.minutes,\n seconds: valueProp?.seconds,\n period: currentTimeFormat.current === TimeFormat.H12 ? dayPeriod : null,\n }\n : null,\n true\n );\n }\n }, [setValue, valueProp]);\n\n useEffect(() => {\n // on close, make sure to restore the last valid value\n // (in the case the user closed with some time part invalid)\n if (!firstRender.current && !isOpen) {\n rollbackValue();\n }\n }, [isOpen, rollbackValue]);\n\n useEffect(() => {\n // run validations on each render\n // (except on the first, remaining in the standBy/untouched state)\n if (!firstRender.current) {\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && lastValidValue == null) {\n return \"invalid\";\n }\n return \"valid\";\n });\n }\n });\n\n useEffect(() => {\n firstRender.current = false;\n }, []);\n // #endregion\n\n // #region EVENT HANDLERS\n const handleTimeChange = (updatedTimeObject) => {\n if (!timeIsEqual(value, updatedTimeObject)) {\n const valid = timeIsValid(updatedTimeObject, timeFormat);\n\n // the value only is commited if valid\n setValue(updatedTimeObject, valid);\n\n if (valid) {\n // always output in 24h format\n onChange?.(getTimeWithFormat24(updatedTimeObject, timeFormat));\n }\n }\n };\n\n /**\n * Handles the change of the hours value\n * @param {Number} hours - selected hours\n * @memberof HvTimePicker\n */\n const handleHoursChange = (updatedHours) => {\n const newSelectedTime = {\n ...value,\n hours: updatedHours,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the minutes value\n * @param {Number} minutes - selected minutes\n * @memberof HvTimePicker\n */\n const handleMinutesChange = (updatedMinutes) => {\n const newSelectedTime = {\n ...value,\n minutes: updatedMinutes,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the seconds value\n * @param {Number} seconds - selected seconds\n * @memberof HvTimePicker\n */\n const handleSecondsChange = (updatedSeconds) => {\n const newSelectedTime = {\n ...value,\n seconds: updatedSeconds,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the period (am/pm)\n * @param {String} period - selected period\n * @memberof HvTimePicker\n */\n const handleChangePeriod = (updatedPeriod) => {\n const newSelectedTime = {\n ...value,\n period: updatedPeriod,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n const onToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the change of the expanded property.\n */\n if (evt === null) return;\n\n onToggleCallback?.(evt, open);\n\n setOpen(open);\n };\n // #endregion\n\n const hasLabels = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = validationState === \"invalid\";\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n locale={locale}\n required={required}\n disabled={disabled}\n status={validationState}\n classes={{\n root: classes.formElementRoot,\n }}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabels || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabels && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(elementId, \"timepicker-dropdown\")}\n role=\"combobox\"\n placeholder={\n lastValidValue != null ? (\n getFormattedTime(lastValidValue, timeFormat)\n ) : (\n <HvTypography variant=\"placeholderText\">{placeholder}</HvTypography>\n )\n }\n classes={{\n placeholder: disabled ? classes.dropdownPlaceholderDisabled : classes.dropdownPlaceholder,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n variableWidth\n placement=\"right\"\n adornment={\n <TimeIcon color={disabled ? \"atmo5\" : \"acce1\"} className={classes.iconBaseRoot} />\n }\n expanded={isOpen}\n onToggle={onToggle}\n onContainerCreation={setFocusToContent}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n disablePortal={disablePortal}\n disabled={disabled}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n {...dropdownProps}\n >\n <div className={classes.timePopperContainer}>\n <UnitTimePicker\n id={setId(elementId, \"hours\")}\n placeholder={hoursPlaceholder}\n unit={\n timeFormat === TimeFormat.H24\n ? TimePickerUnits.HOUR_24.type\n : TimePickerUnits.HOUR_12.type\n }\n unitValue={value?.hours}\n onChangeUnitTimeValue={handleHoursChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"minutes\")}\n placeholder={minutesPlaceholder}\n unit={TimePickerUnits.MINUTE.type}\n unitValue={value?.minutes}\n onChangeUnitTimeValue={handleMinutesChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"seconds\")}\n placeholder={secondsPlaceholder}\n unit={TimePickerUnits.SECOND.type}\n unitValue={value?.seconds}\n onChangeUnitTimeValue={handleSecondsChange}\n />\n {timeFormat === TimeFormat.H12 && (\n <PeriodPicker onChangePeriod={handleChangePeriod} period={value?.period} />\n )}\n </div>\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTimePicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the input.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the label.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the timePopperContainer.\n */\n timePopperContainer: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the period container.\n */\n periodContainer: PropTypes.string,\n /**\n * Styles applied to the form element.\n */\n formElementRoot: PropTypes.string,\n /**\n * Styles applied to the dropdown placeholder.\n */\n dropdownPlaceholder: PropTypes.string,\n /**\n * Styles applied to the icon base.\n */\n iconBaseRoot: PropTypes.string,\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n /**\n * Styles applied to the dropdown when invalid information text.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the dropdown text when invalid.\n */\n\n dropdownPlaceholderDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown border when invalid.\n */\n dropdownHeaderOpen: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the form element.\n */\n value: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when no time is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * The placeholder of the hours input.\n */\n hoursPlaceholder: PropTypes.string,\n /**\n * The placeholder of the minutes input.\n */\n minutesPlaceholder: PropTypes.string,\n /**\n * The placeholder of the seconds input.\n */\n secondsPlaceholder: PropTypes.string,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the time picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * If the time should be presented in 12 or 24 hour format.\n * If undefined, the component will use a format according to the passed locale.\n * If defined, it will \"override\" the default value given by the locale\n */\n timeFormat: PropTypes.oneOf([TimeFormat.H12, TimeFormat.H24, 12, 24, undefined]),\n\n /**\n * Locale that will provide the time format(12 or 24 hour format)\n * It is \"overwritten\" by the timeFormat prop\n */\n locale: PropTypes.string,\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a object param with the following props:\n * - hours (in a 24h format)\n * - minutes\n * - seconds\n * - period\n *\n * It is always invoked with the hours in a 24h format\n */\n onChange: PropTypes.func,\n\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle: PropTypes.func,\n\n /**\n * Allow starting with an empty value by not defaulting to the current time.\n * This should become the default behavior when the component is promoted to core.\n */\n disableDefaultValue: PropTypes.bool,\n\n /**\n * Default value for the hours picker\n * @deprecated use defaultValue instead\n */\n hours: PropTypes.number,\n /**\n * Default value for the minutes picker\n * @deprecated use defaultValue instead\n */\n minutes: PropTypes.number,\n /**\n * Default value for the seconds picker\n * @deprecated use defaultValue instead\n */\n seconds: PropTypes.number,\n /**\n * Default value for the period picker\n * @deprecated use defaultValue instead\n */\n period: PropTypes.string,\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Sets if the calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * Extra properties to be passed to the timepicker dropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvTimePicker\" })(HvTimePicker);\n"],"file":"TimePicker.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/TimePicker/TimePicker.js"],"names":["React","useState","useEffect","useRef","useMemo","PropTypes","clsx","withStyles","HvFormElement","HvBaseDropdown","HvLabel","HvWarningText","HvInfoMessage","setId","useUniqueId","useControlled","useLocale","HvTypography","useSavedState","Time","TimeIcon","TimePickerUnits","TimeFormat","PeriodPickerOptions","getFormattedTime","getTimeFormatForLocale","getHoursForTimeFormat","getTimeWithFormat24","UnitTimePicker","PeriodPicker","styles","setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","H24","H12","minutesInputState","secondsInputState","HvTimePicker","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","value","defaultValueProp","defaultValue","chosenTimeFormat","localeProp","locale","disableDefaultValue","onToggleCallback","onToggle","Date","getHours","getMinutes","chosenTimePeriod","disablePortal","escapeWithReference","dropdownProps","others","elementId","localeFromProvider","toString","v","AM","PM","setValue","rollbackValue","lastValidValue","validationMessage","validationState","setValidationState","isOpen","setOpen","firstRender","currentValue","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","root","formElementRoot","labelContainer","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport {\n HvFormElement,\n HvBaseDropdown,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n setId,\n useUniqueId,\n useControlled,\n useLocale,\n HvTypography,\n useSavedState,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\n\nimport { TimePickerUnits, TimeFormat, PeriodPickerOptions } from \"./enums\";\nimport { getFormattedTime, getTimeFormatForLocale } from \"./timePickerFormatter\";\nimport { getHoursForTimeFormat, getTimeWithFormat24 } from \"./timePickerConverter\";\nimport UnitTimePicker from \"./UnitTimePicker\";\nimport PeriodPicker from \"./PeriodPicker\";\n\nimport styles from \"./styles\";\n\nconst setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n};\n\nconst timeIsEqual = (timeA, timeB) => {\n return (\n timeA === timeB ||\n (timeA == null && timeB == null) ||\n (timeA != null &&\n timeB != null &&\n timeA.hours === timeB.hours &&\n timeA.minutes === timeB.minutes &&\n timeA.seconds === timeB.seconds &&\n timeA.period === timeB.period)\n );\n};\n\nconst timeIsValid = (time, timeFormat) => {\n const hourInputState =\n time?.hours != null &&\n time.hours !== \"\" &&\n time.hours >= 0 &&\n ((timeFormat === TimeFormat.H24 && time.hours <= 24) ||\n (timeFormat === TimeFormat.H12 && time.hours <= 12));\n const minutesInputState =\n time?.minutes != null && time.minutes !== \"\" && time.minutes >= 0 && time.minutes <= 59;\n const secondsInputState =\n time?.seconds != null && time.seconds !== \"\" && time.seconds >= 0 && time.seconds <= 59;\n\n return hourInputState && minutesInputState && secondsInputState;\n};\n\n/**\n * A TimePicker component used to choose the time, following specifications provided by Design System. Still in development.\n */\n\nconst HvTimePicker = ({\n classes,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat: chosenTimeFormat,\n locale: localeProp,\n\n disableDefaultValue,\n\n onToggle: onToggleCallback,\n\n // deprecated properties:\n hours = new Date().getHours(),\n minutes = new Date().getMinutes(),\n seconds = 0,\n period: chosenTimePeriod,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n}) => {\n // #region STATE\n const elementId = useUniqueId(id, \"hvtimepicker\");\n\n const localeFromProvider = useLocale();\n const locale = localeProp || localeFromProvider;\n const timeFormat = useMemo(\n () => (chosenTimeFormat != null ? chosenTimeFormat.toString() : getTimeFormatForLocale(locale)),\n [chosenTimeFormat, locale]\n );\n\n const [value, setValue, rollbackValue, lastValidValue] = useSavedState(() => {\n // fallback to the deprecated properties\n // we shouldn't do that when promoting to core\n // as it makes impossible to start with an empty value\n const defaultValue =\n defaultValueProp ??\n (disableDefaultValue\n ? null\n : {\n hours,\n minutes,\n seconds,\n });\n\n const v = valueProp ?? defaultValue;\n\n return v != null\n ? {\n hours: v?.hours != null ? getHoursForTimeFormat(v.hours, timeFormat) : null,\n minutes: v?.minutes,\n seconds: v?.seconds,\n period:\n timeFormat === TimeFormat.H12\n ? chosenTimePeriod ??\n (v?.hours == null || v.hours < 12 ? PeriodPickerOptions.AM : PeriodPickerOptions.PM)\n : null,\n }\n : null;\n });\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [isOpen, setOpen] = useState(false);\n // #endregion\n\n // #region SIDE EFFECTS\n const firstRender = useRef(true);\n const currentValue = useRef(value);\n useEffect(() => {\n currentValue.current = value;\n });\n const currentTimeFormat = useRef(timeFormat);\n useEffect(() => {\n currentTimeFormat.current = timeFormat;\n });\n\n useEffect(() => {\n // allow external changes to the time format (via timeFormat or locale properties)\n if (!firstRender.current && currentValue.current != null) {\n const to12 = timeFormat === TimeFormat.H12;\n\n let { hours: h, period: p } = currentValue.current;\n if (to12) {\n if (h == null || h < 12) {\n p = PeriodPickerOptions.AM;\n } else {\n p = PeriodPickerOptions.PM;\n if (h > 12) {\n h -= 12;\n }\n }\n } else {\n if (p === PeriodPickerOptions.AM) {\n if (h === 12) {\n h = 0;\n }\n } else if (h < 12) {\n h += 12;\n }\n p = undefined;\n }\n\n setValue(\n {\n hours: h,\n minutes: currentValue.current.minutes,\n seconds: currentValue.current.seconds,\n period: p,\n },\n true\n );\n }\n }, [setValue, timeFormat]);\n\n useEffect(() => {\n // allow control of value property\n if (!firstRender.current) {\n const dayPeriod =\n valueProp?.hours == null || valueProp.hours < 12\n ? PeriodPickerOptions.AM\n : PeriodPickerOptions.PM;\n\n setValue(\n valueProp != null\n ? {\n hours:\n valueProp?.hours != null\n ? getHoursForTimeFormat(valueProp.hours, currentTimeFormat.current)\n : null,\n minutes: valueProp?.minutes,\n seconds: valueProp?.seconds,\n period: currentTimeFormat.current === TimeFormat.H12 ? dayPeriod : null,\n }\n : null,\n true\n );\n }\n }, [setValue, valueProp]);\n\n useEffect(() => {\n // on close, make sure to restore the last valid value\n // (in the case the user closed with some time part invalid)\n if (!firstRender.current && !isOpen) {\n rollbackValue();\n }\n }, [isOpen, rollbackValue]);\n\n useEffect(() => {\n // run validations on each render\n // (except on the first, remaining in the standBy/untouched state)\n if (!firstRender.current) {\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && lastValidValue == null) {\n return \"invalid\";\n }\n return \"valid\";\n });\n }\n });\n\n useEffect(() => {\n firstRender.current = false;\n }, []);\n // #endregion\n\n // #region EVENT HANDLERS\n const handleTimeChange = (updatedTimeObject) => {\n if (!timeIsEqual(value, updatedTimeObject)) {\n const valid = timeIsValid(updatedTimeObject, timeFormat);\n\n // the value only is commited if valid\n setValue(updatedTimeObject, valid);\n\n if (valid) {\n // always output in 24h format\n onChange?.(getTimeWithFormat24(updatedTimeObject, timeFormat));\n }\n }\n };\n\n /**\n * Handles the change of the hours value\n * @param {Number} hours - selected hours\n * @memberof HvTimePicker\n */\n const handleHoursChange = (updatedHours) => {\n const newSelectedTime = {\n ...value,\n hours: updatedHours,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the minutes value\n * @param {Number} minutes - selected minutes\n * @memberof HvTimePicker\n */\n const handleMinutesChange = (updatedMinutes) => {\n const newSelectedTime = {\n ...value,\n minutes: updatedMinutes,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the seconds value\n * @param {Number} seconds - selected seconds\n * @memberof HvTimePicker\n */\n const handleSecondsChange = (updatedSeconds) => {\n const newSelectedTime = {\n ...value,\n seconds: updatedSeconds,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the period (am/pm)\n * @param {String} period - selected period\n * @memberof HvTimePicker\n */\n const handleChangePeriod = (updatedPeriod) => {\n const newSelectedTime = {\n ...value,\n period: updatedPeriod,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n const onToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the change of the expanded property.\n */\n if (evt === null) return;\n\n onToggleCallback?.(evt, open);\n\n setOpen(open);\n };\n // #endregion\n\n const hasLabels = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = validationState === \"invalid\";\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n locale={locale}\n required={required}\n disabled={disabled}\n status={validationState}\n classes={{\n root: classes.formElementRoot,\n }}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabels || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabels && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(elementId, \"timepicker-dropdown\")}\n role=\"combobox\"\n placeholder={\n lastValidValue != null ? (\n getFormattedTime(lastValidValue, timeFormat)\n ) : (\n <HvTypography variant=\"placeholderText\">{placeholder}</HvTypography>\n )\n }\n classes={{\n placeholder: disabled ? classes.dropdownPlaceholderDisabled : classes.dropdownPlaceholder,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n variableWidth\n placement=\"right\"\n adornment={\n <TimeIcon color={disabled ? \"atmo5\" : \"acce1\"} className={classes.iconBaseRoot} />\n }\n expanded={isOpen}\n onToggle={onToggle}\n onContainerCreation={setFocusToContent}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n disablePortal={disablePortal}\n disabled={disabled}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n {...dropdownProps}\n >\n <div className={classes.timePopperContainer}>\n <UnitTimePicker\n id={setId(elementId, \"hours\")}\n placeholder={hoursPlaceholder}\n unit={\n timeFormat === TimeFormat.H24\n ? TimePickerUnits.HOUR_24.type\n : TimePickerUnits.HOUR_12.type\n }\n unitValue={value?.hours}\n onChangeUnitTimeValue={handleHoursChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"minutes\")}\n placeholder={minutesPlaceholder}\n unit={TimePickerUnits.MINUTE.type}\n unitValue={value?.minutes}\n onChangeUnitTimeValue={handleMinutesChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"seconds\")}\n placeholder={secondsPlaceholder}\n unit={TimePickerUnits.SECOND.type}\n unitValue={value?.seconds}\n onChangeUnitTimeValue={handleSecondsChange}\n />\n {timeFormat === TimeFormat.H12 && (\n <PeriodPicker onChangePeriod={handleChangePeriod} period={value?.period} />\n )}\n </div>\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTimePicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the input.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the label.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the timePopperContainer.\n */\n timePopperContainer: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the period container.\n */\n periodContainer: PropTypes.string,\n /**\n * Styles applied to the form element.\n */\n formElementRoot: PropTypes.string,\n /**\n * Styles applied to the dropdown placeholder.\n */\n dropdownPlaceholder: PropTypes.string,\n /**\n * Styles applied to the icon base.\n */\n iconBaseRoot: PropTypes.string,\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n /**\n * Styles applied to the dropdown when invalid information text.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the dropdown text when invalid.\n */\n\n dropdownPlaceholderDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown border when invalid.\n */\n dropdownHeaderOpen: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the form element.\n */\n value: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when no time is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * The placeholder of the hours input.\n */\n hoursPlaceholder: PropTypes.string,\n /**\n * The placeholder of the minutes input.\n */\n minutesPlaceholder: PropTypes.string,\n /**\n * The placeholder of the seconds input.\n */\n secondsPlaceholder: PropTypes.string,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the time picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * If the time should be presented in 12 or 24 hour format.\n * If undefined, the component will use a format according to the passed locale.\n * If defined, it will \"override\" the default value given by the locale\n */\n timeFormat: PropTypes.oneOf([TimeFormat.H12, TimeFormat.H24, 12, 24, undefined]),\n\n /**\n * Locale that will provide the time format(12 or 24 hour format)\n * It is \"overwritten\" by the timeFormat prop\n */\n locale: PropTypes.string,\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a object param with the following props:\n * - hours (in a 24h format)\n * - minutes\n * - seconds\n * - period\n *\n * It is always invoked with the hours in a 24h format\n */\n onChange: PropTypes.func,\n\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle: PropTypes.func,\n\n /**\n * Allow starting with an empty value by not defaulting to the current time.\n * This should become the default behavior when the component is promoted to core.\n */\n disableDefaultValue: PropTypes.bool,\n\n /**\n * Default value for the hours picker\n * @deprecated use defaultValue instead\n */\n hours: PropTypes.number,\n /**\n * Default value for the minutes picker\n * @deprecated use defaultValue instead\n */\n minutes: PropTypes.number,\n /**\n * Default value for the seconds picker\n * @deprecated use defaultValue instead\n */\n seconds: PropTypes.number,\n /**\n * Default value for the period picker\n * @deprecated use defaultValue instead\n */\n period: PropTypes.string,\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Sets if the calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * Extra properties to be passed to the timepicker dropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvTimePicker\" })(HvTimePicker);\n"],"file":"TimePicker.js"}
|
|
@@ -171,7 +171,7 @@ var UnitTimePicker = function UnitTimePicker(props) {
|
|
|
171
171
|
}));
|
|
172
172
|
};
|
|
173
173
|
|
|
174
|
-
UnitTimePicker.propTypes = {
|
|
174
|
+
process.env.NODE_ENV !== "production" ? UnitTimePicker.propTypes = {
|
|
175
175
|
/**
|
|
176
176
|
* Id to be applied to the input node.
|
|
177
177
|
*/
|
|
@@ -201,6 +201,6 @@ UnitTimePicker.propTypes = {
|
|
|
201
201
|
* Callback function called when the unit time value changes
|
|
202
202
|
*/
|
|
203
203
|
onChangeUnitTimeValue: PropTypes.func.isRequired
|
|
204
|
-
};
|
|
204
|
+
} : void 0;
|
|
205
205
|
export default UnitTimePicker;
|
|
206
206
|
//# sourceMappingURL=UnitTimePicker.js.map
|