@mezzanine-ui/react 0.15.3 → 1.0.0-alpha.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/Accordion/Accordion.js +1 -2
- package/Accordion/AccordionControlContext.js +1 -0
- package/Accordion/AccordionDetails.js +2 -2
- package/Accordion/AccordionSummary.d.ts +1 -1
- package/Accordion/AccordionSummary.js +11 -12
- package/Accordion/index.d.ts +6 -3
- package/Alert/Alert.js +1 -2
- package/Alert/index.d.ts +3 -2
- package/AlertBanner/AlertBanner.d.ts +93 -0
- package/AlertBanner/AlertBanner.js +154 -0
- package/AlertBanner/index.d.ts +2 -0
- package/AlertBanner/index.js +1 -0
- package/Anchor/Anchor.js +2 -3
- package/Anchor/index.d.ts +2 -1
- package/AppBar/AppBar.js +1 -2
- package/AppBar/AppBarBrand.js +1 -2
- package/AppBar/AppBarMain.js +1 -2
- package/AppBar/AppBarSupport.js +1 -2
- package/AppBar/index.d.ts +8 -4
- package/{Overlay/Overlay.d.ts → Backdrop/Backdrop.d.ts} +12 -16
- package/Backdrop/Backdrop.js +40 -0
- package/Backdrop/index.d.ts +2 -0
- package/Backdrop/index.js +1 -0
- package/Badge/Badge.d.ts +20 -14
- package/Badge/Badge.js +15 -18
- package/Badge/BadgeContainer.d.ts +1 -1
- package/Badge/BadgeContainer.js +2 -3
- package/Badge/index.d.ts +3 -2
- package/Badge/typings.d.ts +48 -0
- package/Breadcrumb/Breadcrumb.d.ts +6 -0
- package/Breadcrumb/Breadcrumb.js +25 -0
- package/Breadcrumb/BreadcrumbItem.d.ts +4 -0
- package/Breadcrumb/BreadcrumbItem.js +45 -0
- package/Breadcrumb/index.d.ts +2 -0
- package/Breadcrumb/index.js +1 -0
- package/Breadcrumb/typings.d.ts +70 -0
- package/Button/Button.js +24 -19
- package/Button/ButtonGroup.d.ts +6 -28
- package/Button/ButtonGroup.js +8 -18
- package/Button/index.d.ts +6 -12
- package/Button/index.js +2 -3
- package/Button/typings.d.ts +11 -26
- package/Calendar/Calendar.d.ts +31 -2
- package/Calendar/Calendar.js +75 -21
- package/Calendar/CalendarCell.d.ts +4 -0
- package/Calendar/CalendarCell.js +3 -3
- package/Calendar/CalendarConfigProviderDayjs.d.ts +21 -0
- package/Calendar/CalendarConfigProviderDayjs.js +15 -0
- package/Calendar/CalendarConfigProviderLuxon.d.ts +21 -0
- package/Calendar/CalendarConfigProviderLuxon.js +15 -0
- package/Calendar/CalendarConfigProviderMoment.d.ts +21 -0
- package/Calendar/CalendarConfigProviderMoment.js +15 -0
- package/Calendar/CalendarContext.d.ts +14 -7
- package/Calendar/CalendarContext.js +8 -13
- package/Calendar/CalendarControls.d.ts +16 -0
- package/Calendar/CalendarControls.js +3 -7
- package/Calendar/CalendarDayOfWeek.js +4 -3
- package/Calendar/CalendarDays.d.ts +9 -1
- package/Calendar/CalendarDays.js +63 -38
- package/Calendar/CalendarFooterActions.d.ts +13 -0
- package/Calendar/CalendarFooterActions.js +14 -0
- package/Calendar/CalendarFooterControl.d.ts +16 -0
- package/Calendar/CalendarFooterControl.js +14 -0
- package/Calendar/CalendarHalfYears.d.ts +39 -0
- package/Calendar/CalendarHalfYears.js +62 -0
- package/Calendar/CalendarMonths.js +17 -5
- package/Calendar/CalendarQuarters.d.ts +37 -0
- package/Calendar/CalendarQuarters.js +64 -0
- package/Calendar/CalendarQuickSelect.d.ts +21 -0
- package/Calendar/CalendarQuickSelect.js +15 -0
- package/Calendar/CalendarWeeks.d.ts +1 -1
- package/Calendar/CalendarWeeks.js +89 -44
- package/Calendar/CalendarYears.js +14 -4
- package/Calendar/RangeCalendar.d.ts +59 -0
- package/Calendar/RangeCalendar.js +232 -0
- package/Calendar/index.d.ts +33 -10
- package/Calendar/index.js +7 -0
- package/Calendar/useCalendarControlModifiers.d.ts +4 -4
- package/Calendar/useCalendarControlModifiers.js +40 -8
- package/Calendar/useCalendarControls.d.ts +2 -0
- package/Calendar/useCalendarControls.js +19 -2
- package/Calendar/useCalendarModeStack.js +1 -0
- package/Calendar/useRangeCalendarControls.d.ts +18 -0
- package/Calendar/useRangeCalendarControls.js +115 -0
- package/Card/Card.js +1 -2
- package/Card/CardActions.js +2 -3
- package/Card/index.d.ts +4 -2
- package/Checkbox/CheckAll.d.ts +16 -6
- package/Checkbox/CheckAll.js +41 -28
- package/Checkbox/Checkbox.d.ts +100 -22
- package/Checkbox/Checkbox.js +74 -18
- package/Checkbox/CheckboxGroup.d.ts +100 -18
- package/Checkbox/CheckboxGroup.js +169 -25
- package/Checkbox/CheckboxGroupContext.d.ts +0 -2
- package/Checkbox/CheckboxGroupContext.js +1 -0
- package/Checkbox/index.d.ts +16 -4
- package/Checkbox/index.js +6 -2
- package/Checkbox/typings.d.ts +37 -0
- package/ClearActions/ClearActions.d.ts +41 -0
- package/ClearActions/ClearActions.js +23 -0
- package/ClearActions/index.d.ts +3 -0
- package/ClearActions/index.js +5 -0
- package/ConfirmActions/ConfirmActions.d.ts +2 -1
- package/ConfirmActions/ConfirmActions.js +1 -2
- package/ConfirmActions/index.d.ts +2 -1
- package/DatePicker/DatePicker.d.ts +12 -1
- package/DatePicker/DatePicker.js +42 -11
- package/DatePicker/DatePickerCalendar.d.ts +3 -6
- package/DatePicker/DatePickerCalendar.js +38 -39
- package/DatePicker/index.d.ts +4 -2
- package/DateRangePicker/DateRangePicker.d.ts +18 -2
- package/DateRangePicker/DateRangePicker.js +144 -102
- package/DateRangePicker/DateRangePickerCalendar.d.ts +13 -9
- package/DateRangePicker/DateRangePickerCalendar.js +8 -96
- package/DateRangePicker/index.d.ts +6 -3
- package/DateRangePicker/useDateRangeCalendarControls.js +11 -6
- package/DateRangePicker/useDateRangePickerValue.d.ts +38 -15
- package/DateRangePicker/useDateRangePickerValue.js +142 -63
- package/DateTimePicker/DateTimePicker.d.ts +31 -10
- package/DateTimePicker/DateTimePicker.js +180 -96
- package/DateTimePicker/index.d.ts +2 -2
- package/DateTimePicker/index.js +0 -1
- package/Drawer/Drawer.js +3 -4
- package/Drawer/index.d.ts +2 -1
- package/Dropdown/Dropdown.js +13 -24
- package/Dropdown/index.d.ts +2 -1
- package/Empty/Empty.d.ts +1 -16
- package/Empty/Empty.js +37 -9
- package/Empty/icons/EmptyMainInitialDataIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainInitialDataIcon.js +9 -0
- package/Empty/icons/EmptyMainResultIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainResultIcon.js +9 -0
- package/Empty/icons/EmptyMainSystemIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainSystemIcon.js +9 -0
- package/Empty/index.d.ts +2 -1
- package/Empty/typings.d.ts +52 -0
- package/Form/FormControlContext.js +1 -0
- package/Form/FormField.js +1 -2
- package/Form/FormHintText.d.ts +18 -0
- package/Form/FormHintText.js +17 -0
- package/Form/FormLabel.js +2 -2
- package/Form/index.d.ts +9 -5
- package/Form/index.js +1 -1
- package/Form/useAutoCompleteValueControl.js +2 -0
- package/Form/useCheckboxControlValue.js +0 -1
- package/Form/useInputWithClearControlValue.d.ts +1 -1
- package/Form/useInputWithTagsModeValue.d.ts +1 -1
- package/Form/useSelectValueControl.js +2 -0
- package/Icon/Icon.js +1 -2
- package/InlineMessage/InlineMessage.d.ts +33 -0
- package/InlineMessage/InlineMessage.js +42 -0
- package/InlineMessage/InlineMessageGroup.d.ts +24 -0
- package/InlineMessage/InlineMessageGroup.js +21 -0
- package/InlineMessage/index.d.ts +4 -0
- package/InlineMessage/index.js +2 -0
- package/Input/ActionButton/ActionButton.d.ts +26 -0
- package/Input/ActionButton/ActionButton.js +14 -0
- package/Input/ActionButton/index.d.ts +2 -0
- package/Input/ActionButton/index.js +1 -0
- package/Input/Input.d.ts +147 -42
- package/Input/Input.js +196 -31
- package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.d.ts +31 -0
- package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.js +18 -0
- package/Input/PasswordStrengthIndicator/index.d.ts +2 -0
- package/Input/PasswordStrengthIndicator/index.js +1 -0
- package/Input/SelectButton/SelectButton.d.ts +20 -0
- package/Input/SelectButton/SelectButton.js +21 -0
- package/Input/SelectButton/index.d.ts +2 -0
- package/Input/SelectButton/index.js +1 -0
- package/Input/SpinnerButton/SpinnerButton.d.ts +19 -0
- package/Input/SpinnerButton/SpinnerButton.js +14 -0
- package/Input/SpinnerButton/index.d.ts +2 -0
- package/Input/SpinnerButton/index.js +1 -0
- package/Input/index.d.ts +3 -2
- package/Menu/Menu.js +2 -2
- package/Menu/MenuDivider.js +1 -2
- package/Menu/MenuItem.js +1 -2
- package/Menu/MenuItemGroup.js +1 -2
- package/Menu/index.d.ts +8 -4
- package/Message/Message.d.ts +6 -4
- package/Message/Message.js +87 -11
- package/Message/MessageTimerController.d.ts +14 -0
- package/Message/MessageTimerController.js +27 -0
- package/Message/index.d.ts +3 -2
- package/Modal/Modal.js +3 -4
- package/Modal/ModalActions.js +2 -2
- package/Modal/ModalBody.js +1 -2
- package/Modal/ModalControl.js +1 -0
- package/Modal/ModalFooter.js +1 -2
- package/Modal/ModalHeader.js +3 -3
- package/Modal/index.d.ts +10 -5
- package/Modal/useModalContainer.d.ts +1 -1
- package/Modal/useModalContainer.js +2 -4
- package/Navigation/Navigation.js +38 -36
- package/Navigation/NavigationContext.js +1 -0
- package/Navigation/NavigationItem.js +2 -2
- package/Navigation/NavigationSubMenu.js +17 -28
- package/Navigation/index.d.ts +8 -4
- package/Notification/Notification.js +1 -3
- package/Notification/index.d.ts +3 -2
- package/Notifier/NotifierManager.d.ts +16 -3
- package/Notifier/NotifierManager.js +60 -18
- package/Notifier/createNotifier.d.ts +9 -0
- package/Notifier/createNotifier.js +3 -2
- package/Notifier/typings.d.ts +3 -1
- package/OverflowTooltip/OverflowCounterTag.d.ts +12 -0
- package/OverflowTooltip/OverflowCounterTag.js +48 -0
- package/OverflowTooltip/OverflowTooltip.d.ts +34 -0
- package/OverflowTooltip/OverflowTooltip.js +53 -0
- package/OverflowTooltip/index.d.ts +2 -0
- package/OverflowTooltip/index.js +2 -0
- package/PageFooter/PageFooter.d.ts +73 -8
- package/PageFooter/PageFooter.js +35 -5
- package/PageFooter/index.d.ts +2 -1
- package/PageHeader/PageHeader.d.ts +36 -0
- package/PageHeader/PageHeader.js +65 -0
- package/PageHeader/index.d.ts +2 -0
- package/PageHeader/index.js +1 -0
- package/PageToolbar/PageToolbar.d.ts +67 -0
- package/PageToolbar/PageToolbar.js +114 -0
- package/PageToolbar/index.d.ts +2 -0
- package/PageToolbar/index.js +1 -0
- package/Pagination/Pagination.d.ts +23 -29
- package/Pagination/Pagination.js +4 -6
- package/Pagination/PaginationItem.d.ts +1 -1
- package/Pagination/PaginationItem.js +7 -5
- package/Pagination/PaginationJumper.d.ts +7 -9
- package/Pagination/PaginationJumper.js +4 -7
- package/Pagination/PaginationPageSize.d.ts +8 -11
- package/Pagination/PaginationPageSize.js +6 -6
- package/Pagination/index.d.ts +8 -4
- package/Pagination/usePagination.d.ts +3 -1
- package/Pagination/usePagination.js +30 -21
- package/Picker/FormattedInput.d.ts +17 -0
- package/Picker/FormattedInput.js +74 -0
- package/Picker/MaskFormat.d.ts +39 -0
- package/Picker/MaskFormat.js +94 -0
- package/Picker/PickerTrigger.d.ts +14 -4
- package/Picker/PickerTrigger.js +18 -4
- package/Picker/PickerTriggerWithSeparator.d.ts +124 -0
- package/Picker/PickerTriggerWithSeparator.js +80 -0
- package/Picker/RangePickerTrigger.d.ts +57 -6
- package/Picker/RangePickerTrigger.js +66 -9
- package/Picker/formatUtils.d.ts +34 -0
- package/Picker/formatUtils.js +124 -0
- package/Picker/index.d.ts +17 -6
- package/Picker/index.js +4 -1
- package/Picker/useDateInputFormatter.d.ts +52 -0
- package/Picker/useDateInputFormatter.js +382 -0
- package/Picker/usePickerDocumentEventClose.d.ts +3 -3
- package/Picker/usePickerValue.d.ts +2 -3
- package/Picker/usePickerValue.js +8 -13
- package/Picker/useTabKeyClose.d.ts +1 -1
- package/Popconfirm/Popconfirm.js +3 -4
- package/Popconfirm/index.d.ts +2 -1
- package/Popover/Popover.js +5 -10
- package/Popover/index.d.ts +2 -1
- package/Popper/Popper.d.ts +15 -10
- package/Popper/Popper.js +89 -19
- package/Popper/index.d.ts +2 -1
- package/Portal/Portal.d.ts +13 -5
- package/Portal/Portal.js +26 -12
- package/Portal/index.d.ts +4 -1
- package/Portal/index.js +1 -0
- package/Portal/portalRegistry.d.ts +17 -0
- package/Portal/portalRegistry.js +92 -0
- package/Progress/Progress.d.ts +23 -30
- package/Progress/Progress.js +72 -23
- package/Progress/index.d.ts +3 -2
- package/Provider/ConfigProvider.d.ts +2 -1
- package/Provider/ConfigProvider.js +1 -0
- package/Provider/context.js +1 -0
- package/Radio/Radio.d.ts +1 -1
- package/Radio/Radio.js +3 -3
- package/Radio/RadioGroup.d.ts +1 -1
- package/Radio/RadioGroup.js +2 -3
- package/Radio/RadioGroupContext.js +1 -0
- package/Radio/index.d.ts +4 -2
- package/ResultState/ResultState.d.ts +52 -0
- package/ResultState/ResultState.js +24 -0
- package/ResultState/index.d.ts +2 -0
- package/ResultState/index.js +1 -0
- package/Select/AutoComplete.d.ts +3 -3
- package/Select/AutoComplete.js +6 -13
- package/Select/Option.js +2 -2
- package/Select/Select.d.ts +1 -1
- package/Select/Select.js +3 -3
- package/Select/SelectControlContext.js +1 -0
- package/Select/SelectTrigger.d.ts +1 -87
- package/Select/SelectTrigger.js +27 -23
- package/Select/SelectTriggerTags.d.ts +1 -1
- package/Select/SelectTriggerTags.js +48 -20
- package/Select/TreeSelect.d.ts +1 -1
- package/Select/TreeSelect.js +3 -3
- package/Select/index.d.ts +14 -7
- package/Select/typings.d.ts +99 -0
- package/Select/useSelectTriggerTags.d.ts +15 -8
- package/Select/useSelectTriggerTags.js +79 -43
- package/Selection/Selection.d.ts +98 -0
- package/Selection/Selection.js +46 -0
- package/Selection/index.d.ts +12 -0
- package/Selection/index.js +5 -0
- package/Skeleton/Skeleton.d.ts +10 -3
- package/Skeleton/Skeleton.js +13 -6
- package/Skeleton/index.d.ts +2 -1
- package/Slider/Slider.d.ts +44 -7
- package/Slider/Slider.js +18 -15
- package/Slider/index.d.ts +5 -3
- package/Slider/useSlider.d.ts +1 -1
- package/Slider/useSlider.js +1 -1
- package/Spin/Spin.d.ts +39 -0
- package/{Loading/Loading.js → Spin/Spin.js} +9 -10
- package/Spin/index.d.ts +2 -0
- package/Spin/index.js +1 -0
- package/Stepper/Step.d.ts +1 -35
- package/Stepper/Step.js +44 -10
- package/Stepper/Stepper.d.ts +1 -14
- package/Stepper/Stepper.js +50 -17
- package/Stepper/index.d.ts +5 -2
- package/Stepper/index.js +1 -0
- package/Stepper/typings.d.ts +77 -0
- package/Stepper/useStepDistance.d.ts +10 -0
- package/Stepper/useStepDistance.js +81 -0
- package/Stepper/useStepper.d.ts +21 -0
- package/Stepper/useStepper.js +26 -0
- package/Table/Table.d.ts +1 -1
- package/Table/Table.js +3 -4
- package/Table/TableBody.js +3 -2
- package/Table/TableBodyRow.js +1 -0
- package/Table/TableCell.js +1 -2
- package/Table/TableContext.js +1 -0
- package/Table/TableExpandedTable.js +1 -0
- package/Table/TableHeader.js +1 -0
- package/Table/draggable/useTableDraggable.d.ts +1 -1
- package/Table/editable/TableEditRenderWrapper.js +1 -0
- package/Table/expandable/TableExpandable.js +1 -1
- package/Table/index.d.ts +7 -4
- package/Table/pagination/TablePagination.d.ts +1 -1
- package/Table/pagination/TablePagination.js +1 -0
- package/Table/pagination/useTablePagination.d.ts +1 -1
- package/Table/pagination/useTablePagination.js +1 -0
- package/Table/refresh/TableRefresh.js +4 -3
- package/Table/rowSelection/TableRowSelection.js +3 -2
- package/Table/sorting/TableSortingIcon.js +2 -1
- package/Table/sorting/useTableSorting.js +1 -0
- package/Table/useTableFetchMore.js +1 -1
- package/Table/useTableScroll.d.ts +44 -14
- package/Table/useTableScroll.js +10 -8
- package/Tabs/Tab.js +1 -2
- package/Tabs/TabPane.js +2 -2
- package/Tabs/Tabs.js +10 -6
- package/Tabs/index.d.ts +6 -3
- package/Tabs/useTabsOverflow.d.ts +1 -1
- package/Tabs/useTabsOverflow.js +4 -3
- package/Tag/Tag.d.ts +2 -25
- package/Tag/Tag.js +24 -15
- package/Tag/TagGroup.d.ts +12 -0
- package/Tag/TagGroup.js +41 -0
- package/Tag/index.d.ts +2 -1
- package/Tag/typings.d.ts +78 -0
- package/TextField/TextField.d.ts +78 -20
- package/TextField/TextField.js +59 -24
- package/TextField/index.d.ts +2 -1
- package/Textarea/Textarea.d.ts +19 -51
- package/Textarea/Textarea.js +14 -21
- package/Textarea/index.d.ts +2 -2
- package/TimePanel/TimePanel.d.ts +1 -22
- package/TimePanel/TimePanel.js +32 -28
- package/TimePanel/TimePanelAction.d.ts +2 -8
- package/TimePanel/TimePanelAction.js +3 -4
- package/TimePanel/TimePanelColumn.d.ts +0 -13
- package/TimePanel/TimePanelColumn.js +10 -13
- package/TimePanel/index.d.ts +6 -3
- package/TimePicker/TimePicker.d.ts +10 -1
- package/TimePicker/TimePicker.js +87 -37
- package/TimePicker/TimePickerPanel.d.ts +1 -2
- package/TimePicker/TimePickerPanel.js +3 -4
- package/TimePicker/index.d.ts +4 -2
- package/Toggle/Toggle.d.ts +46 -0
- package/Toggle/Toggle.js +29 -0
- package/Toggle/index.d.ts +3 -0
- package/Toggle/index.js +1 -0
- package/Tooltip/Tooltip.d.ts +14 -3
- package/Tooltip/Tooltip.js +53 -18
- package/Tooltip/index.d.ts +2 -1
- package/Tooltip/useDelayMouseEnterLeave.d.ts +1 -2
- package/Tooltip/useDelayMouseEnterLeave.js +10 -13
- package/Transition/Collapse.d.ts +2 -0
- package/Transition/Collapse.js +7 -12
- package/Transition/Fade.js +5 -6
- package/Transition/Rotate.d.ts +42 -0
- package/Transition/Rotate.js +30 -0
- package/Transition/Scale.d.ts +13 -0
- package/Transition/{Grow.js → Scale.js} +19 -17
- package/Transition/Slide.d.ts +7 -0
- package/Transition/{Zoom.js → Slide.js} +14 -13
- package/Transition/SlideFade.d.ts +3 -0
- package/Transition/SlideFade.js +6 -6
- package/Transition/Transition.d.ts +3 -3
- package/Transition/Translate.d.ts +14 -0
- package/Transition/Translate.js +94 -0
- package/Transition/index.d.ts +16 -6
- package/Transition/index.js +4 -2
- package/Transition/useAutoTransitionDuration.d.ts +1 -1
- package/Transition/useAutoTransitionDuration.js +3 -3
- package/Transition/useSetNodeTransition.js +0 -2
- package/Tree/Tree.js +1 -2
- package/Tree/TreeNode.js +8 -8
- package/Tree/TreeNodeList.js +1 -2
- package/Tree/index.d.ts +10 -5
- package/Tree/typings.d.ts +2 -2
- package/Typography/Typography.d.ts +6 -9
- package/Typography/Typography.js +7 -9
- package/Typography/index.d.ts +4 -7
- package/Upload/Upload.d.ts +175 -0
- package/Upload/Upload.js +279 -0
- package/Upload/UploadItem.d.ts +82 -0
- package/Upload/UploadItem.js +118 -0
- package/Upload/UploadPictureCard.d.ts +110 -0
- package/Upload/UploadPictureCard.js +101 -0
- package/Upload/Uploader.d.ts +161 -0
- package/Upload/Uploader.js +120 -0
- package/Upload/index.d.ts +8 -6
- package/Upload/index.js +4 -5
- package/Upload/upload-utils.d.ts +41 -0
- package/Upload/upload-utils.js +65 -0
- package/_internal/InputCheck/InputCheck.js +1 -2
- package/_internal/InputCheck/InputCheckGroup.js +1 -2
- package/_internal/InputCheck/index.d.ts +4 -2
- package/_internal/InputTriggerPopper/InputTriggerPopper.js +16 -27
- package/_internal/InputTriggerPopper/index.d.ts +2 -1
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +2 -2
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +5 -29
- package/_internal/SlideFadeOverlay/index.d.ts +2 -1
- package/_internal/SlideFadeOverlay/useTopStack.js +1 -0
- package/dayjs.d.ts +21 -0
- package/dayjs.js +2 -0
- package/hooks/useClickAway.d.ts +1 -1
- package/hooks/useComposeRefs.js +1 -1
- package/hooks/useLastCallback.js +3 -1
- package/hooks/useScrollLock.d.ts +28 -0
- package/hooks/useScrollLock.js +134 -0
- package/index.d.ts +126 -58
- package/index.js +103 -90
- package/luxon.d.ts +21 -0
- package/luxon.js +2 -0
- package/moment.d.ts +21 -0
- package/moment.js +2 -0
- package/package.json +16 -20
- package/utils/composeRefs.js +0 -1
- package/utils/get-css-variable-value.d.ts +1 -0
- package/utils/get-css-variable-value.js +9 -0
- package/utils/jsx-types.d.ts +1 -1
- package/Button/IconButton.d.ts +0 -21
- package/Button/IconButton.js +0 -13
- package/DateTimePicker/DateTimePickerPanel.d.ts +0 -28
- package/DateTimePicker/DateTimePickerPanel.js +0 -50
- package/Form/FormMessage.d.ts +0 -7
- package/Form/FormMessage.js +0 -19
- package/Form/useInputWithTagsModeValue.js +0 -86
- package/Loading/Loading.d.ts +0 -33
- package/Loading/index.d.ts +0 -1
- package/Loading/index.js +0 -1
- package/Overlay/Overlay.js +0 -32
- package/Overlay/index.d.ts +0 -1
- package/Overlay/index.js +0 -1
- package/Picker/useRangePickerValue.d.ts +0 -23
- package/Picker/useRangePickerValue.js +0 -99
- package/Switch/Switch.d.ts +0 -43
- package/Switch/Switch.js +0 -29
- package/Switch/index.d.ts +0 -2
- package/Switch/index.js +0 -1
- package/Transition/Grow.d.ts +0 -12
- package/Transition/Zoom.d.ts +0 -7
- package/Upload/UploadButton.d.ts +0 -9
- package/Upload/UploadButton.js +0 -24
- package/Upload/UploadInput.d.ts +0 -20
- package/Upload/UploadInput.js +0 -24
- package/Upload/UploadPicture.d.ts +0 -49
- package/Upload/UploadPicture.js +0 -52
- package/Upload/UploadPictureBlock.d.ts +0 -20
- package/Upload/UploadPictureBlock.js +0 -82
- package/Upload/UploadPictureWall.d.ts +0 -81
- package/Upload/UploadPictureWall.js +0 -169
- package/Upload/UploadPictureWallItem.d.ts +0 -15
- package/Upload/UploadPictureWallItem.js +0 -18
- package/Upload/UploadResult.d.ts +0 -35
- package/Upload/UploadResult.js +0 -30
- package/utils/scroll-lock.d.ts +0 -2
- package/utils/scroll-lock.js +0 -24
package/Tag/Tag.d.ts
CHANGED
|
@@ -1,29 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TagSize } from '@mezzanine-ui/core/tag';
|
|
3
|
-
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
-
export interface TagProps extends NativeElementPropsWithoutKeyAndRef<'span'> {
|
|
5
|
-
/**
|
|
6
|
-
* Whether the tag can be closed.
|
|
7
|
-
* @default false
|
|
8
|
-
*/
|
|
9
|
-
closable?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Whether the tag disabled.
|
|
12
|
-
* @default false
|
|
13
|
-
*/
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Callback executed while tag closed.
|
|
17
|
-
*/
|
|
18
|
-
onClose?: MouseEventHandler;
|
|
19
|
-
/**
|
|
20
|
-
* The size of the tag.
|
|
21
|
-
* @default 'medium'
|
|
22
|
-
*/
|
|
23
|
-
size?: TagSize;
|
|
24
|
-
}
|
|
1
|
+
import { TagProps } from './typings';
|
|
25
2
|
/**
|
|
26
3
|
* The react component for `mezzanine` tag.
|
|
27
4
|
*/
|
|
28
|
-
declare const Tag: import("react").ForwardRefExoticComponent<TagProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
5
|
+
declare const Tag: import("react").ForwardRefExoticComponent<TagProps & import("react").RefAttributes<HTMLButtonElement | HTMLSpanElement>>;
|
|
29
6
|
export default Tag;
|
package/Tag/Tag.js
CHANGED
|
@@ -1,25 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
3
4
|
import { tagClasses } from '@mezzanine-ui/core/tag';
|
|
4
|
-
import {
|
|
5
|
-
import { MezzanineConfig } from '../Provider/context.js';
|
|
5
|
+
import { PlusIcon, CloseIcon } from '@mezzanine-ui/icons';
|
|
6
6
|
import Icon from '../Icon/Icon.js';
|
|
7
|
+
import Badge from '../Badge/Badge.js';
|
|
7
8
|
import cx from 'clsx';
|
|
8
9
|
|
|
10
|
+
const getTagType = (props) => { var _a; return (_a = props.type) !== null && _a !== void 0 ? _a : 'static'; };
|
|
11
|
+
const isTagType = (props, current) => getTagType(props) === current;
|
|
9
12
|
/**
|
|
10
13
|
* The react component for `mezzanine` tag.
|
|
11
14
|
*/
|
|
12
15
|
const Tag = forwardRef(function Tag(props, ref) {
|
|
13
|
-
const { size:
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
const { active, className, disabled, onClick, onClose: _onClose, readOnly, size = 'main', type: _type, ...rest } = props;
|
|
17
|
+
const tagType = _type !== null && _type !== void 0 ? _type : 'static';
|
|
18
|
+
const commonClassName = cx(tagClasses.host, tagClasses.size(size), tagClasses.type(tagType), {
|
|
19
|
+
[tagClasses.disabled]: disabled,
|
|
20
|
+
[tagClasses.active]: active,
|
|
21
|
+
[tagClasses.readOnly]: readOnly,
|
|
22
|
+
}, className);
|
|
23
|
+
if (isTagType(props, 'overflow-counter')) {
|
|
24
|
+
const { count } = props;
|
|
25
|
+
return (jsxs("button", { ...rest, ref: ref, type: "button", onClick: onClick, disabled: disabled, className: commonClassName, children: [jsx(Icon, { className: tagClasses.icon, icon: PlusIcon, size: 16 }), jsx("span", { className: tagClasses.label, children: count })] }));
|
|
26
|
+
}
|
|
27
|
+
if (isTagType(props, 'addable')) {
|
|
28
|
+
const { label } = props;
|
|
29
|
+
return (jsxs("button", { ...rest, ref: ref, type: "button", onClick: onClick, disabled: disabled, className: commonClassName, children: [jsx(Icon, { className: tagClasses.icon, icon: PlusIcon, size: 16 }), jsx("span", { className: tagClasses.label, children: label })] }));
|
|
30
|
+
}
|
|
31
|
+
return (jsxs("span", { ...rest, ref: ref, "aria-disabled": disabled, className: commonClassName, children: [isTagType(props, 'static') && (jsx("span", { className: tagClasses.label, children: props.label })), isTagType(props, 'counter') && (jsxs(Fragment, { children: [jsx("span", { className: tagClasses.label, children: props.label }), jsx(Badge, { variant: "count-info", count: props.count })] })), isTagType(props, 'dismissable') && (jsxs(Fragment, { children: [jsx("span", { className: tagClasses.label, children: props.label }), jsx("button", { className: tagClasses.closeButton, type: "button", onClick: props.onClose, disabled: disabled, children: jsx(Icon, { className: tagClasses.icon, icon: CloseIcon, size: 16 }) })] }))] }));
|
|
22
32
|
});
|
|
23
|
-
var Tag$1 = Tag;
|
|
24
33
|
|
|
25
|
-
export { Tag
|
|
34
|
+
export { Tag as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
3
|
+
import Tag, { TagProps } from '../Tag';
|
|
4
|
+
import OverflowCounterTag, { OverflowCounterTagProps } from '../OverflowTooltip/OverflowCounterTag';
|
|
5
|
+
import { TransitionImplementationChildProps } from '../Transition';
|
|
6
|
+
type TagElement = ReactElement<TagProps & TransitionImplementationChildProps, typeof Tag>;
|
|
7
|
+
type OverflowCounterTagElement = ReactElement<OverflowCounterTagProps & TransitionImplementationChildProps, typeof OverflowCounterTag>;
|
|
8
|
+
type TagGroupChild = TagElement | OverflowCounterTagElement;
|
|
9
|
+
declare const TagGroup: import("react").ForwardRefExoticComponent<Omit<NativeElementPropsWithoutKeyAndRef<"div">, "children"> & {
|
|
10
|
+
children: TagGroupChild | TagGroupChild[];
|
|
11
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export default TagGroup;
|
package/Tag/TagGroup.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef, Children, isValidElement, createElement } from 'react';
|
|
3
|
+
import OverflowCounterTag from '../OverflowTooltip/OverflowCounterTag.js';
|
|
4
|
+
import { tagClasses } from '@mezzanine-ui/core/tag';
|
|
5
|
+
import { TransitionGroup } from 'react-transition-group';
|
|
6
|
+
import { MOTION_EASING, MOTION_DURATION } from '@mezzanine-ui/system/motion';
|
|
7
|
+
import Fade from '../Transition/Fade.js';
|
|
8
|
+
import Tag from './Tag.js';
|
|
9
|
+
import cx from 'clsx';
|
|
10
|
+
|
|
11
|
+
const isTagElement = (child) => isValidElement(child) && child.type === Tag;
|
|
12
|
+
const isOverflowCounterElement = (child) => isValidElement(child) && child.type === OverflowCounterTag;
|
|
13
|
+
const fadeProps = {
|
|
14
|
+
duration: {
|
|
15
|
+
enter: MOTION_DURATION.fast,
|
|
16
|
+
exit: MOTION_DURATION.fast,
|
|
17
|
+
},
|
|
18
|
+
easing: {
|
|
19
|
+
enter: MOTION_EASING.standard,
|
|
20
|
+
exit: MOTION_EASING.standard,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const TagGroup = forwardRef(function TagGroup({ className, children, ...rest }, ref) {
|
|
24
|
+
const hasInvalidChild = Children.toArray(children).some((child) => {
|
|
25
|
+
if (!isTagElement(child) && !isOverflowCounterElement(child)) {
|
|
26
|
+
console.error('<TagGroup> only accepts <Tag> or <OverflowCounterTag>');
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
});
|
|
31
|
+
if (hasInvalidChild) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return (jsx("div", { ...rest, ref: ref, className: cx(tagClasses.group, className), children: jsx(TransitionGroup, { component: null, children: Children.map(children, (child, index) => {
|
|
35
|
+
var _a;
|
|
36
|
+
return (createElement(Fade, { ...fadeProps, key: (_a = child.key) !== null && _a !== void 0 ? _a : index },
|
|
37
|
+
jsx("span", { children: child })));
|
|
38
|
+
}) }) }));
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export { TagGroup as default };
|
package/Tag/index.d.ts
CHANGED
package/Tag/typings.d.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { TagSize } from '@mezzanine-ui/core/tag';
|
|
2
|
+
import { MouseEventHandler } from 'react';
|
|
3
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
+
type TagNativeProps<T extends 'span' | 'button'> = Omit<NativeElementPropsWithoutKeyAndRef<T>, 'onClick' | 'type'>;
|
|
5
|
+
type TagBaseProps<T extends 'span' | 'button'> = TagNativeProps<T> & {
|
|
6
|
+
/** Custom class names on the host element. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Size of the tag.
|
|
10
|
+
* @default main
|
|
11
|
+
*/
|
|
12
|
+
size?: TagSize;
|
|
13
|
+
};
|
|
14
|
+
type TagSpanHostProps = TagBaseProps<'span'>;
|
|
15
|
+
type TagButtonHostProps = TagBaseProps<'button'>;
|
|
16
|
+
export type TagProps = TagPropsStatic | TagPropsCounter | TagPropsOverflowCounter | TagPropsDismissable | TagPropsAddable;
|
|
17
|
+
type TagPropsStatic = TagSpanHostProps & {
|
|
18
|
+
/**
|
|
19
|
+
* Type of the tag.
|
|
20
|
+
* @default static
|
|
21
|
+
*/
|
|
22
|
+
type?: 'static';
|
|
23
|
+
/** Text rendered inside label-based tags. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Applies read-only styling for static/overflow-counter tags. */
|
|
26
|
+
readOnly?: boolean;
|
|
27
|
+
/** Active state. Only available on dismissable/addable tags. */
|
|
28
|
+
active?: never;
|
|
29
|
+
/** Numeric value displayed by counter/overflow-counter variants. */
|
|
30
|
+
count?: never;
|
|
31
|
+
/** Disabled state. Only available on overflow-counter/dismissable/addable tags. */
|
|
32
|
+
disabled?: never;
|
|
33
|
+
/** Handler fired when the close button in dismissable tag is clicked. */
|
|
34
|
+
onClose?: never;
|
|
35
|
+
/** Handler fired when button-based tag clicked */
|
|
36
|
+
onClick?: never;
|
|
37
|
+
};
|
|
38
|
+
type TagPropsCounter = TagSpanHostProps & {
|
|
39
|
+
type: 'counter';
|
|
40
|
+
label: string;
|
|
41
|
+
count: number;
|
|
42
|
+
active?: never;
|
|
43
|
+
disabled?: never;
|
|
44
|
+
onClose?: never;
|
|
45
|
+
onClick?: never;
|
|
46
|
+
readOnly?: never;
|
|
47
|
+
};
|
|
48
|
+
type TagPropsOverflowCounter = TagButtonHostProps & {
|
|
49
|
+
type: 'overflow-counter';
|
|
50
|
+
count: number;
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
53
|
+
readOnly?: boolean;
|
|
54
|
+
active?: never;
|
|
55
|
+
label?: never;
|
|
56
|
+
onClose?: never;
|
|
57
|
+
};
|
|
58
|
+
type TagPropsDismissable = TagSpanHostProps & {
|
|
59
|
+
type: 'dismissable';
|
|
60
|
+
active?: boolean;
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
readOnly?: never;
|
|
63
|
+
label: string;
|
|
64
|
+
onClose: MouseEventHandler<HTMLButtonElement>;
|
|
65
|
+
count?: never;
|
|
66
|
+
onClick?: never;
|
|
67
|
+
};
|
|
68
|
+
type TagPropsAddable = TagButtonHostProps & {
|
|
69
|
+
type: 'addable';
|
|
70
|
+
active?: boolean;
|
|
71
|
+
disabled?: boolean;
|
|
72
|
+
label: string;
|
|
73
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
74
|
+
count?: never;
|
|
75
|
+
onClose?: never;
|
|
76
|
+
readOnly?: never;
|
|
77
|
+
};
|
|
78
|
+
export {};
|
package/TextField/TextField.d.ts
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
|
-
import { MouseEventHandler, ReactNode
|
|
1
|
+
import { MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
import { TextFieldSize } from '@mezzanine-ui/core/text-field';
|
|
3
3
|
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Padding info provided to children function
|
|
6
|
+
*/
|
|
7
|
+
export interface TextFieldPaddingInfo {
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* ClassName that applies the same padding as TextField's current size.
|
|
10
|
+
* Use this when you want to move padding from TextField to input/textarea.
|
|
11
|
+
*/
|
|
12
|
+
paddingClassName: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Base props shared by all TextField variants
|
|
16
|
+
*/
|
|
17
|
+
export interface TextFieldBaseProps extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'children' | 'defaultValue' | 'onChange' | 'prefix'> {
|
|
18
|
+
/**
|
|
19
|
+
* Whether the field is active (focused/opened/expanded).
|
|
20
|
+
* @default false
|
|
7
21
|
*/
|
|
8
22
|
active?: boolean;
|
|
9
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The input/textarea element, or a function that receives padding info.
|
|
25
|
+
* When using function form, TextField will not apply padding (you control it).
|
|
26
|
+
*/
|
|
27
|
+
children: ReactNode | ((paddingInfo: TextFieldPaddingInfo) => ReactNode);
|
|
28
|
+
/**
|
|
29
|
+
* Additional class name to apply to the root element.
|
|
30
|
+
*/
|
|
10
31
|
className?: string;
|
|
11
32
|
/**
|
|
12
33
|
* Whether to show the clear button.
|
|
@@ -14,41 +35,78 @@ export interface TextFieldProps extends Omit<NativeElementPropsWithoutKeyAndRef<
|
|
|
14
35
|
*/
|
|
15
36
|
clearable?: boolean;
|
|
16
37
|
/**
|
|
17
|
-
* Whether the field is
|
|
18
|
-
* @default false
|
|
19
|
-
*/
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Whether the field is error.
|
|
38
|
+
* Whether the field is in error state.
|
|
23
39
|
* @default false
|
|
24
40
|
*/
|
|
25
41
|
error?: boolean;
|
|
26
42
|
/**
|
|
27
|
-
*
|
|
28
|
-
* @default
|
|
43
|
+
* Whether the field should take the full width of its container.
|
|
44
|
+
* @default true
|
|
29
45
|
*/
|
|
30
46
|
fullWidth?: boolean;
|
|
31
47
|
/**
|
|
32
48
|
* The callback will be fired after clear icon clicked.
|
|
33
49
|
*/
|
|
34
50
|
onClear?: MouseEventHandler;
|
|
35
|
-
/**
|
|
36
|
-
* The prefix addon of the field.
|
|
37
|
-
*/
|
|
38
|
-
prefix?: ReactNode;
|
|
39
51
|
/**
|
|
40
52
|
* The size of field.
|
|
41
|
-
* @default '
|
|
53
|
+
* @default 'main'
|
|
42
54
|
*/
|
|
43
55
|
size?: TextFieldSize;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the field is in warning state.
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
warning?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Affix props - prefix and suffix
|
|
64
|
+
*/
|
|
65
|
+
export type TextFieldAffixProps = {
|
|
66
|
+
/**
|
|
67
|
+
* The prefix addon of the field.
|
|
68
|
+
*/
|
|
69
|
+
prefix?: ReactNode;
|
|
44
70
|
/**
|
|
45
71
|
* The suffix addon of the field.
|
|
46
72
|
*/
|
|
47
73
|
suffix?: ReactNode;
|
|
48
|
-
|
|
49
|
-
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Interactive state - typing, disabled, and readonly are mutually exclusive
|
|
77
|
+
*/
|
|
78
|
+
export type TextFieldInteractiveStateProps = {
|
|
79
|
+
/**
|
|
80
|
+
* Whether the user is currently typing.
|
|
81
|
+
* If not provided, will be auto-detected.
|
|
82
|
+
*/
|
|
83
|
+
typing?: boolean;
|
|
84
|
+
disabled?: never;
|
|
85
|
+
readonly?: never;
|
|
86
|
+
} | {
|
|
87
|
+
typing?: never;
|
|
88
|
+
/**
|
|
89
|
+
* Whether the field is disabled.
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
disabled: true;
|
|
93
|
+
readonly?: never;
|
|
94
|
+
} | {
|
|
95
|
+
typing?: never;
|
|
96
|
+
disabled?: never;
|
|
97
|
+
/**
|
|
98
|
+
* Whether the field is readonly.
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
readonly: true;
|
|
102
|
+
} | {
|
|
103
|
+
typing?: never;
|
|
104
|
+
disabled?: never;
|
|
105
|
+
readonly?: never;
|
|
106
|
+
};
|
|
107
|
+
export type TextFieldProps = TextFieldBaseProps & TextFieldAffixProps & TextFieldInteractiveStateProps;
|
|
50
108
|
/**
|
|
51
|
-
* The react component for `mezzanine`
|
|
109
|
+
* The react component for `mezzanine` text field.
|
|
52
110
|
*/
|
|
53
111
|
declare const TextField: import("react").ForwardRefExoticComponent<TextFieldProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
54
112
|
export default TextField;
|
package/TextField/TextField.js
CHANGED
|
@@ -1,46 +1,81 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef,
|
|
3
|
-
import { TimesIcon } from '@mezzanine-ui/icons';
|
|
3
|
+
import { forwardRef, useState, useRef, useEffect } from 'react';
|
|
4
4
|
import { textFieldClasses } from '@mezzanine-ui/core/text-field';
|
|
5
5
|
import { useTextFieldControl } from './useTextFieldControl.js';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import ClearActions from '../ClearActions/ClearActions.js';
|
|
7
|
+
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
8
8
|
import cx from 'clsx';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* The react component for `mezzanine`
|
|
11
|
+
* The react component for `mezzanine` text field.
|
|
12
12
|
*/
|
|
13
13
|
const TextField = forwardRef(function TextField(props, ref) {
|
|
14
|
-
const { size:
|
|
15
|
-
const
|
|
14
|
+
const { active = false, children, className, clearable = false, disabled, error = false, fullWidth = true, onClear, onClick: onClickProps, onKeyDown: onKeyDownProps, prefix, readonly, role: roleProp, size = 'main', suffix, typing: typingProp, warning, ...rest } = props;
|
|
15
|
+
const [isTyping, setIsTyping] = useState(false);
|
|
16
|
+
const containerRef = useRef(null);
|
|
17
|
+
const hostRef = useComposeRefs([ref, containerRef]);
|
|
18
|
+
const typing = disabled || readonly
|
|
19
|
+
? false
|
|
20
|
+
: typeof typingProp !== 'undefined'
|
|
21
|
+
? typingProp
|
|
22
|
+
: isTyping;
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (typingProp !== undefined || disabled || readonly)
|
|
25
|
+
return;
|
|
26
|
+
const container = containerRef.current;
|
|
27
|
+
if (!container)
|
|
28
|
+
return;
|
|
29
|
+
const input = container.querySelector('input, textarea');
|
|
30
|
+
if (!input)
|
|
31
|
+
return;
|
|
32
|
+
const handleInput = () => {
|
|
33
|
+
setIsTyping(true);
|
|
34
|
+
};
|
|
35
|
+
const handleBlur = () => {
|
|
36
|
+
setIsTyping(false);
|
|
37
|
+
};
|
|
38
|
+
input.addEventListener('input', handleInput, false);
|
|
39
|
+
input.addEventListener('mousedown', handleInput, false);
|
|
40
|
+
input.addEventListener('blur', handleBlur, false);
|
|
41
|
+
return () => {
|
|
42
|
+
input.removeEventListener('input', handleInput, false);
|
|
43
|
+
input.removeEventListener('mousedown', handleInput, false);
|
|
44
|
+
input.removeEventListener('blur', handleBlur, false);
|
|
45
|
+
};
|
|
46
|
+
}, [typingProp, disabled, readonly]);
|
|
16
47
|
const { role, onClick, onKeyDown } = useTextFieldControl({
|
|
17
48
|
onClick: onClickProps,
|
|
18
49
|
onKeyDown: onKeyDownProps,
|
|
19
50
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
51
|
+
const isChildrenFunction = typeof children === 'function';
|
|
52
|
+
const paddingInfo = {
|
|
53
|
+
paddingClassName: cx(textFieldClasses.inputPadding, size === 'main' ? textFieldClasses.inputPaddingMain : textFieldClasses.inputPaddingSub),
|
|
54
|
+
};
|
|
55
|
+
const renderedChildren = isChildrenFunction
|
|
56
|
+
? children(paddingInfo)
|
|
57
|
+
: children;
|
|
58
|
+
return (jsxs("div", { ...rest, ref: hostRef, role: roleProp || role, onClick: (evt) => {
|
|
23
59
|
evt.stopPropagation();
|
|
24
60
|
onClick === null || onClick === void 0 ? void 0 : onClick(evt);
|
|
25
|
-
}, onKeyDown: onKeyDown, className: cx(textFieldClasses.host,
|
|
26
|
-
[textFieldClasses.
|
|
61
|
+
}, onKeyDown: onKeyDown, className: cx(textFieldClasses.host, {
|
|
62
|
+
[textFieldClasses.slimGap]: (prefix && suffix) || clearable,
|
|
63
|
+
[textFieldClasses.main]: size === 'main',
|
|
64
|
+
[textFieldClasses.sub]: size === 'sub',
|
|
27
65
|
[textFieldClasses.clearable]: clearable,
|
|
28
66
|
[textFieldClasses.disabled]: disabled,
|
|
29
67
|
[textFieldClasses.error]: error,
|
|
30
68
|
[textFieldClasses.fullWidth]: fullWidth,
|
|
31
|
-
[textFieldClasses.
|
|
32
|
-
[textFieldClasses.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}), clearable && (jsx(Icon, { className: textFieldClasses.clearIcon, icon: TimesIcon, onClick: (event) => {
|
|
39
|
-
if (!disabled && onClear) {
|
|
69
|
+
[textFieldClasses.noPadding]: isChildrenFunction,
|
|
70
|
+
[textFieldClasses.readonly]: readonly,
|
|
71
|
+
[textFieldClasses.typing]: typing,
|
|
72
|
+
[textFieldClasses.active]: active,
|
|
73
|
+
[textFieldClasses.warning]: warning,
|
|
74
|
+
}, className), children: [prefix && jsx("div", { className: textFieldClasses.prefix, children: prefix }), renderedChildren, clearable && (jsx(ClearActions, { type: "clearable", className: textFieldClasses.clearIcon, onClick: (event) => {
|
|
75
|
+
if (!disabled && !readonly && onClear) {
|
|
40
76
|
onClear(event);
|
|
41
77
|
}
|
|
42
|
-
}, onMouseDown: (event) => event.preventDefault(),
|
|
78
|
+
}, onMouseDown: (event) => event.preventDefault(), tabIndex: -1 })), suffix && jsx("div", { className: textFieldClasses.suffix, children: suffix })] }));
|
|
43
79
|
});
|
|
44
|
-
var TextField$1 = TextField;
|
|
45
80
|
|
|
46
|
-
export { TextField
|
|
81
|
+
export { TextField as default };
|
package/TextField/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export type { TextFieldSize } from '@mezzanine-ui/core/text-field';
|
|
2
|
-
export { TextFieldProps,
|
|
2
|
+
export type { TextFieldProps, TextFieldBaseProps, TextFieldAffixProps, TextFieldInteractiveStateProps, TextFieldPaddingInfo, } from './TextField';
|
|
3
|
+
export { default } from './TextField';
|
package/Textarea/Textarea.d.ts
CHANGED
|
@@ -1,56 +1,24 @@
|
|
|
1
|
-
import { Ref
|
|
2
|
-
import { TextareaSize } from '@mezzanine-ui/core/textarea';
|
|
1
|
+
import { Ref } from 'react';
|
|
3
2
|
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
defaultValue?: string;
|
|
10
|
-
/**
|
|
11
|
-
* The max length of textarea.
|
|
12
|
-
*/
|
|
13
|
-
maxLength?: number;
|
|
14
|
-
/**
|
|
15
|
-
* The change event handler of textarea element.
|
|
16
|
-
*/
|
|
17
|
-
onChange?: ChangeEventHandler<HTMLTextAreaElement>;
|
|
18
|
-
/**
|
|
19
|
-
* The placeholder of textarea.
|
|
20
|
-
*/
|
|
21
|
-
placeholder?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Whether the textarea is readonly.
|
|
24
|
-
* @default false
|
|
25
|
-
*/
|
|
26
|
-
readOnly?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Whether the input is required.
|
|
29
|
-
* @default false
|
|
30
|
-
*/
|
|
31
|
-
required?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* The rows of textarea.
|
|
34
|
-
*/
|
|
35
|
-
rows?: number;
|
|
36
|
-
/**
|
|
37
|
-
* The size of textarea.
|
|
38
|
-
* @default 'medium'
|
|
39
|
-
*/
|
|
40
|
-
size?: TextareaSize;
|
|
41
|
-
/**
|
|
42
|
-
* The react ref passed to textarea element.
|
|
43
|
-
*/
|
|
3
|
+
export type TextareaProps = Omit<NativeElementPropsWithoutKeyAndRef<'textarea'>, 'disabled' | 'readOnly'> & {
|
|
4
|
+
/** ClassName apply to textarea */
|
|
5
|
+
textareaClassName?: string;
|
|
6
|
+
/** The react ref passed to textarea element. */
|
|
44
7
|
textareaRef?: Ref<HTMLTextAreaElement>;
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
8
|
+
/** Controls textarea CSS `resize` behavior with native `resize` values. */
|
|
9
|
+
resize?: 'none' | 'both' | 'horizontal' | 'vertical';
|
|
10
|
+
} & ({
|
|
11
|
+
/** Set visual style type of the textarea. */
|
|
12
|
+
type?: 'default';
|
|
13
|
+
/** Disabled state of the taxtarea, Only available on default type. */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** ReadOnly state of the textarea, Only available on default type. */
|
|
16
|
+
readOnly?: boolean;
|
|
17
|
+
} | {
|
|
18
|
+
type: 'warning' | 'error';
|
|
19
|
+
disabled?: never;
|
|
20
|
+
readOnly?: never;
|
|
21
|
+
});
|
|
54
22
|
/**
|
|
55
23
|
* The react component for `mezzanine` textarea.
|
|
56
24
|
*/
|
package/Textarea/Textarea.js
CHANGED
|
@@ -1,35 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef,
|
|
3
|
+
import { forwardRef, useRef } from 'react';
|
|
3
4
|
import { textareaClasses } from '@mezzanine-ui/core/textarea';
|
|
4
5
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
5
|
-
import {
|
|
6
|
-
import { MezzanineConfig } from '../Provider/context.js';
|
|
6
|
+
import { ResizeHandleIcon } from '@mezzanine-ui/icons';
|
|
7
7
|
import TextField from '../TextField/TextField.js';
|
|
8
|
-
import
|
|
8
|
+
import Icon from '../Icon/Icon.js';
|
|
9
9
|
import cx from 'clsx';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* The react component for `mezzanine` textarea.
|
|
13
13
|
*/
|
|
14
14
|
const Textarea = forwardRef(function Textarea(props, ref) {
|
|
15
|
-
const {
|
|
16
|
-
const { disabled: disabledFromFormControl, fullWidth: fullWidthFromFormControl, required: requiredFromFormControl, severity, } = useContext(FormControlContext) || {};
|
|
17
|
-
const { className, clearable = false, defaultValue, disabled = disabledFromFormControl || false, error = severity === 'error' || false, fullWidth = fullWidthFromFormControl || false, maxLength, onChange: onChangeProp, placeholder, readOnly = false, required = requiredFromFormControl || false, rows, size = globalSize, textareaRef: textareaRefProp, textareaProps, value: valueProp, } = props;
|
|
15
|
+
const { className, disabled, readOnly, textareaClassName, textareaRef: textareaRefProp, type = 'default', resize = 'none', ...textareaProps } = props;
|
|
18
16
|
const textareaRef = useRef(null);
|
|
19
|
-
const [value, onChange, onClear] = useInputWithClearControlValue({
|
|
20
|
-
defaultValue,
|
|
21
|
-
onChange: onChangeProp,
|
|
22
|
-
ref: textareaRef,
|
|
23
|
-
value: valueProp,
|
|
24
|
-
});
|
|
25
17
|
const composedTextareaRef = useComposeRefs([textareaRefProp, textareaRef]);
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
18
|
+
const interactiveProps = type === 'default'
|
|
19
|
+
? disabled
|
|
20
|
+
? { disabled: true }
|
|
21
|
+
: readOnly
|
|
22
|
+
? { readonly: true }
|
|
23
|
+
: {}
|
|
24
|
+
: {};
|
|
25
|
+
return (jsxs(TextField, { ...interactiveProps, ref: ref, className: cx(textareaClasses.host, className), error: type === 'error', warning: type === 'warning', children: [jsx("textarea", { ...textareaProps, className: cx(textareaClasses.textarea, textareaClassName), ref: composedTextareaRef, disabled: disabled, readOnly: readOnly, style: { resize, ...textareaProps.style } }), resize !== 'none' && (jsx(Icon, { icon: ResizeHandleIcon, size: 16, className: textareaClasses.resizer }))] }));
|
|
32
26
|
});
|
|
33
|
-
var Textarea$1 = Textarea;
|
|
34
27
|
|
|
35
|
-
export { Textarea
|
|
28
|
+
export { Textarea as default };
|
package/Textarea/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export {
|
|
1
|
+
export type { TextareaProps } from './Textarea';
|
|
2
|
+
export { default } from './Textarea';
|