@react-md/core 6.3.4 → 6.5.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/dist/CoreProviders.d.ts +1 -0
- package/dist/CoreProviders.js.map +1 -1
- package/dist/_a11y.scss +3 -1
- package/dist/_base.scss +3 -0
- package/dist/_box-shadows.scss +20 -12
- package/dist/_core.scss +2 -1
- package/dist/_utils.scss +32 -10
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/app-bar/_app-bar.scss +3 -3
- package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -1
- package/dist/autocomplete/_autocomplete.scss +20 -16
- package/dist/autocomplete/types.js.map +1 -1
- package/dist/autocomplete/utils.js.map +1 -1
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/avatar/_avatar.scss +2 -1
- package/dist/button/Button.js.map +1 -1
- package/dist/button/FloatingActionButton.js.map +1 -1
- package/dist/button/_button.scss +9 -5
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/card/_card.scss +6 -6
- package/dist/chip/Chip.js.map +1 -1
- package/dist/chip/_chip.scss +6 -6
- package/dist/datetime/NativeDateField.js.map +1 -1
- package/dist/datetime/NativeTimeField.js.map +1 -1
- package/dist/datetime/useDateField.js.map +1 -1
- package/dist/datetime/useTimeField.js.map +1 -1
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/DialogContainer.js.map +1 -1
- package/dist/dialog/DialogContent.js.map +1 -1
- package/dist/dialog/DialogFooter.js.map +1 -1
- package/dist/dialog/_dialog.scss +6 -6
- package/dist/divider/Divider.js.map +1 -1
- package/dist/divider/_divider.scss +6 -2
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
- package/dist/files/FileInput.js.map +1 -1
- package/dist/files/useFileUpload.js.map +1 -1
- package/dist/files/validation.js.map +1 -1
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/form/Fieldset.d.ts +19 -0
- package/dist/form/Fieldset.js +22 -2
- package/dist/form/Fieldset.js.map +1 -1
- package/dist/form/FormMessageContainer.js.map +1 -1
- package/dist/form/FormMessageCounter.js.map +1 -1
- package/dist/form/InputToggle.js.map +1 -1
- package/dist/form/Legend.d.ts +27 -5
- package/dist/form/Legend.js +39 -6
- package/dist/form/Legend.js.map +1 -1
- package/dist/form/Listbox.js.map +1 -1
- package/dist/form/ListboxProvider.js.map +1 -1
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/Password.js.map +1 -1
- package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
- package/dist/form/Select.d.ts +24 -0
- package/dist/form/Select.js +14 -3
- package/dist/form/Select.js.map +1 -1
- package/dist/form/SelectedOption.d.ts +1 -2
- package/dist/form/SelectedOption.js +2 -2
- package/dist/form/SelectedOption.js.map +1 -1
- package/dist/form/Slider.js.map +1 -1
- package/dist/form/SliderContainer.js.map +1 -1
- package/dist/form/SliderThumb.js.map +1 -1
- package/dist/form/SliderTrack.js.map +1 -1
- package/dist/form/SliderValueMarks.js.map +1 -1
- package/dist/form/Switch.js.map +1 -1
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/_fieldset.scss +7 -0
- package/dist/form/_input-toggle.scss +6 -5
- package/dist/form/_label.scss +2 -2
- package/dist/form/_legend.scss +77 -0
- package/dist/form/_slider.scss +7 -5
- package/dist/form/_switch.scss +7 -5
- package/dist/form/_text-field.scss +52 -15
- package/dist/form/defaultGetSelectedOptionChildren.d.ts +1 -0
- package/dist/form/fieldsetStyles.d.ts +6 -1
- package/dist/form/fieldsetStyles.js +3 -2
- package/dist/form/fieldsetStyles.js.map +1 -1
- package/dist/form/getSelectedOptionChildren.d.ts +1 -0
- package/dist/form/inputToggleStyles.js.map +1 -1
- package/dist/form/labelStyles.d.ts +1 -1
- package/dist/form/labelStyles.js +1 -1
- package/dist/form/labelStyles.js.map +1 -1
- package/dist/form/legendStyles.d.ts +83 -0
- package/dist/form/legendStyles.js +25 -0
- package/dist/form/legendStyles.js.map +1 -0
- package/dist/form/selectUtils.js.map +1 -1
- package/dist/form/textFieldContainerStyles.js.map +1 -1
- package/dist/form/types.d.ts +28 -6
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCheckboxGroup.js.map +1 -1
- package/dist/form/useCombobox.js.map +1 -1
- package/dist/form/useNumberField.js +16 -19
- package/dist/form/useNumberField.js.map +1 -1
- package/dist/form/useRangeSlider.js.map +1 -1
- package/dist/form/useSlider.js.map +1 -1
- package/dist/form/useTextField.js.map +1 -1
- package/dist/hoverMode/useHoverMode.js.map +1 -1
- package/dist/icon/FontIcon.js.map +1 -1
- package/dist/icon/IconRotator.js.map +1 -1
- package/dist/icon/MaterialIcon.js.map +1 -1
- package/dist/icon/MaterialSymbol.js.map +1 -1
- package/dist/icon/SVGIcon.js.map +1 -1
- package/dist/icon/config.d.ts +0 -1
- package/dist/icon/config.js +10 -7
- package/dist/icon/config.js.map +1 -1
- package/dist/icon/materialConfig.js.map +1 -1
- package/dist/icon/styles.js.map +1 -1
- package/dist/interaction/UserInteractionModeProvider.js +6 -4
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
- package/dist/interaction/_interaction.scss +5 -3
- package/dist/interaction/types.js.map +1 -1
- package/dist/interaction/useElementInteraction.js.map +1 -1
- package/dist/layout/LayoutAppBar.d.ts +6 -6
- package/dist/layout/LayoutAppBar.js +6 -6
- package/dist/layout/LayoutAppBar.js.map +1 -1
- package/dist/layout/LayoutNav.js.map +1 -1
- package/dist/layout/LayoutWindowSplitter.js.map +1 -1
- package/dist/layout/Main.js.map +1 -1
- package/dist/layout/useExpandableLayout.js +43 -0
- package/dist/layout/useExpandableLayout.js.map +1 -1
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
- package/dist/layout/useLayoutTree.js.map +1 -1
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
- package/dist/layout/useResizableLayout.js.map +1 -1
- package/dist/link/Link.js.map +1 -1
- package/dist/link/SkipToMainContent.js +19 -21
- package/dist/link/SkipToMainContent.js.map +1 -1
- package/dist/list/List.js.map +1 -1
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemAddon.js.map +1 -1
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/ListSubheader.js.map +1 -1
- package/dist/list/getListItemHeight.js.map +1 -1
- package/dist/list/listItemStyles.js.map +1 -1
- package/dist/list/types.js.map +1 -1
- package/dist/media-queries/AppSizeProvider.d.ts +2 -0
- package/dist/media-queries/AppSizeProvider.js +3 -2
- package/dist/media-queries/AppSizeProvider.js.map +1 -1
- package/dist/media-queries/appSize.d.ts +3 -0
- package/dist/media-queries/appSize.js +3 -1
- package/dist/media-queries/appSize.js.map +1 -1
- package/dist/media-queries/config.d.ts +11 -0
- package/dist/media-queries/config.js +26 -0
- package/dist/media-queries/config.js.map +1 -0
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuItemButton.js.map +1 -1
- package/dist/menu/MenuItemFileInput.js.map +1 -1
- package/dist/menu/MenuItemInputToggle.js.map +1 -1
- package/dist/menu/MenuItemSeparator.js.map +1 -1
- package/dist/menu/MenuVisibilityProvider.js.map +1 -1
- package/dist/menu/MenuWidget.js.map +1 -1
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/types.d.ts +28 -3
- package/dist/movement/types.js.map +1 -1
- package/dist/movement/useKeyboardMovementProvider.js +96 -47
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
- package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
- package/dist/navigation/NavItem.js.map +1 -1
- package/dist/navigation/NavItemButton.js.map +1 -1
- package/dist/navigation/NavItemLink.js.map +1 -1
- package/dist/navigation/getTableOfContentsHeadings.js.map +1 -1
- package/dist/navigation/types.js.map +1 -1
- package/dist/overlay/Overlay.js.map +1 -1
- package/dist/positioning/createHorizontalPosition.js.map +1 -1
- package/dist/positioning/createVerticalPosition.js.map +1 -1
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/progress/CircularProgress.js.map +1 -1
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/linearProgressStyles.js.map +1 -1
- package/dist/responsive-item/ResponsiveItem.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/searching/caseInsensitive.js.map +1 -1
- package/dist/segmented-button/SegmentedButton.js.map +1 -1
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
- package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
- package/dist/sheet/Sheet.js.map +1 -1
- package/dist/snackbar/Toast.js.map +1 -1
- package/dist/snackbar/_snackbar.scss +3 -3
- package/dist/spinbutton/SpinButton.d.ts +16 -0
- package/dist/spinbutton/SpinButton.js +55 -0
- package/dist/spinbutton/SpinButton.js.map +1 -0
- package/dist/spinbutton/SpinButtonGroupProvider.d.ts +17 -0
- package/dist/spinbutton/SpinButtonGroupProvider.js +19 -0
- package/dist/spinbutton/SpinButtonGroupProvider.js.map +1 -0
- package/dist/spinbutton/defaults.d.ts +9 -0
- package/dist/spinbutton/defaults.js +25 -0
- package/dist/spinbutton/defaults.js.map +1 -0
- package/dist/spinbutton/types.d.ts +324 -0
- package/dist/spinbutton/types.js +5 -0
- package/dist/spinbutton/types.js.map +1 -0
- package/dist/spinbutton/useSpinButton.d.ts +5 -0
- package/dist/spinbutton/useSpinButton.js +260 -0
- package/dist/spinbutton/useSpinButton.js.map +1 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.d.ts +27 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.js +49 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.js.map +1 -0
- package/dist/spinbutton/utils/deselectNode.d.ts +5 -0
- package/dist/spinbutton/utils/deselectNode.js +17 -0
- package/dist/spinbutton/utils/deselectNode.js.map +1 -0
- package/dist/spinbutton/utils/resolveInputEvent.d.ts +30 -0
- package/dist/spinbutton/utils/resolveInputEvent.js +53 -0
- package/dist/spinbutton/utils/resolveInputEvent.js.map +1 -0
- package/dist/spinbutton/utils/selectNode.d.ts +5 -0
- package/dist/spinbutton/utils/selectNode.js +15 -0
- package/dist/spinbutton/utils/selectNode.js.map +1 -0
- package/dist/table/StickyTableSection.js.map +1 -1
- package/dist/table/Table.js.map +1 -1
- package/dist/table/TableBody.js.map +1 -1
- package/dist/table/TableCellContent.js.map +1 -1
- package/dist/table/TableCheckbox.js.map +1 -1
- package/dist/table/TableFooter.js.map +1 -1
- package/dist/table/TableHeader.js.map +1 -1
- package/dist/table/TableRadio.js.map +1 -1
- package/dist/table/TableRow.js.map +1 -1
- package/dist/table/useStickyTableSection.js.map +1 -1
- package/dist/tabs/SimpleTabPanel.js.map +1 -1
- package/dist/tabs/SimpleTabPanels.js.map +1 -1
- package/dist/tabs/Tab.js.map +1 -1
- package/dist/tabs/TabList.js.map +1 -1
- package/dist/tabs/TabListScrollButton.js.map +1 -1
- package/dist/tabs/_tabs.scss +5 -6
- package/dist/tabs/useMaxTabPanelHeight.js.map +1 -1
- package/dist/test-utils/data-testid.js.map +1 -1
- package/dist/test-utils/mocks/match-media.js +5 -5
- package/dist/test-utils/mocks/match-media.js.map +1 -1
- package/dist/test-utils/vitest/timers.d.ts +1 -1
- package/dist/test-utils/vitest/timers.js +1 -1
- package/dist/test-utils/vitest/timers.js.map +1 -1
- package/dist/theme/_a11y.scss +3 -1
- package/dist/theme/_theme.scss +16 -12
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/transition/CSSTransition.js.map +1 -1
- package/dist/transition/Collapse.js.map +1 -1
- package/dist/transition/CrossFade.js.map +1 -1
- package/dist/transition/ScaleTransition.js.map +1 -1
- package/dist/transition/SkeletonPlaceholder.js.map +1 -1
- package/dist/transition/Slide.js.map +1 -1
- package/dist/transition/SlideContainer.js.map +1 -1
- package/dist/transition/types.js.map +1 -1
- package/dist/transition/useCollapseTransition.js.map +1 -1
- package/dist/transition/useCrossFadeTransition.js.map +1 -1
- package/dist/transition/useMaxWidthTransition.js.map +1 -1
- package/dist/transition/useScaleTransition.js.map +1 -1
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
- package/dist/tree/Tree.js.map +1 -1
- package/dist/tree/TreeItem.js.map +1 -1
- package/dist/tree/TreeProvider.js.map +1 -1
- package/dist/tree/styles.js.map +1 -1
- package/dist/tree/types.js.map +1 -1
- package/dist/tree/useTreeMovement.js.map +1 -1
- package/dist/typography/HighlightTextMark.js.map +1 -1
- package/dist/typography/Mark.js.map +1 -1
- package/dist/typography/TextContainer.js.map +1 -1
- package/dist/typography/Typography.js.map +1 -1
- package/dist/typography/_typography.scss +0 -1
- package/dist/useElementSize.js.map +1 -1
- package/dist/useIntersectionObserver.js.map +1 -1
- package/dist/useMutationObserver.js.map +1 -1
- package/dist/useWindowSize.js.map +1 -1
- package/dist/utils/getNumberOfDigits.d.ts +7 -0
- package/dist/utils/getNumberOfDigits.js +11 -0
- package/dist/utils/getNumberOfDigits.js.map +1 -0
- package/dist/utils/nearest.js +2 -1
- package/dist/utils/nearest.js.map +1 -1
- package/dist/utils/useDevEffect.d.ts +7 -0
- package/dist/utils/useDevEffect.js +8 -0
- package/dist/utils/useDevEffect.js.map +1 -0
- package/dist/window-splitter/WindowSplitter.js +3 -2
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/dist/window-splitter/_window-splitter.scss +65 -19
- package/dist/window-splitter/styles.d.ts +9 -0
- package/dist/window-splitter/styles.js +3 -2
- package/dist/window-splitter/styles.js.map +1 -1
- package/dist/window-splitter/useWindowSplitter.js.map +1 -1
- package/package.json +38 -30
- package/src/CoreProviders.tsx +1 -0
- package/src/app-bar/AppBar.tsx +1 -2
- package/src/app-bar/AppBarTitle.tsx +1 -2
- package/src/autocomplete/AutocompleteListboxChildren.tsx +3 -1
- package/src/autocomplete/types.ts +24 -19
- package/src/autocomplete/utils.ts +9 -6
- package/src/avatar/Avatar.tsx +2 -1
- package/src/button/Button.tsx +2 -1
- package/src/button/FloatingActionButton.tsx +2 -1
- package/src/card/Card.tsx +2 -1
- package/src/card/CardContent.tsx +1 -2
- package/src/card/ClickableCard.tsx +1 -2
- package/src/chip/Chip.tsx +2 -1
- package/src/datetime/NativeDateField.tsx +2 -1
- package/src/datetime/NativeTimeField.tsx +2 -1
- package/src/datetime/useDateField.ts +13 -8
- package/src/datetime/useTimeField.ts +13 -8
- package/src/dialog/Dialog.tsx +2 -1
- package/src/dialog/DialogContainer.tsx +1 -2
- package/src/dialog/DialogContent.tsx +1 -2
- package/src/dialog/DialogFooter.tsx +1 -2
- package/src/divider/Divider.tsx +1 -2
- package/src/draggable/useDraggable.ts +4 -4
- package/src/draggable/utils.ts +4 -2
- package/src/expansion-panel/ExpansionPanelHeader.tsx +1 -2
- package/src/files/FileInput.tsx +2 -1
- package/src/files/useFileUpload.ts +6 -6
- package/src/files/validation.ts +1 -2
- package/src/focus/useFocusContainer.ts +4 -4
- package/src/form/Fieldset.tsx +25 -3
- package/src/form/FormMessageContainer.tsx +1 -2
- package/src/form/FormMessageCounter.tsx +1 -2
- package/src/form/InputToggle.tsx +3 -3
- package/src/form/Legend.tsx +55 -10
- package/src/form/Listbox.tsx +1 -2
- package/src/form/ListboxProvider.ts +3 -2
- package/src/form/NativeSelect.tsx +2 -1
- package/src/form/Password.tsx +4 -2
- package/src/form/ResizingTextAreaWrapper.tsx +1 -2
- package/src/form/Select.tsx +55 -3
- package/src/form/SelectedOption.tsx +2 -4
- package/src/form/Slider.tsx +2 -1
- package/src/form/SliderContainer.tsx +1 -2
- package/src/form/SliderThumb.tsx +6 -3
- package/src/form/SliderTrack.tsx +2 -1
- package/src/form/SliderValueMarks.tsx +1 -2
- package/src/form/Switch.tsx +2 -1
- package/src/form/TextArea.tsx +1 -2
- package/src/form/TextField.tsx +2 -1
- package/src/form/TextFieldContainer.tsx +1 -2
- package/src/form/fieldsetStyles.ts +18 -3
- package/src/form/inputToggleStyles.ts +4 -2
- package/src/form/labelStyles.ts +1 -1
- package/src/form/legendStyles.ts +132 -0
- package/src/form/selectUtils.ts +3 -2
- package/src/form/textFieldContainerStyles.ts +1 -2
- package/src/form/types.ts +35 -17
- package/src/form/useCheckboxGroup.ts +3 -2
- package/src/form/useCombobox.ts +8 -3
- package/src/form/useNumberField.ts +36 -35
- package/src/form/useRangeSlider.ts +1 -2
- package/src/form/useSlider.ts +1 -2
- package/src/form/useTextField.ts +8 -3
- package/src/hoverMode/useHoverMode.ts +4 -8
- package/src/icon/FontIcon.tsx +1 -2
- package/src/icon/IconRotator.tsx +1 -2
- package/src/icon/MaterialIcon.tsx +2 -1
- package/src/icon/MaterialSymbol.tsx +2 -1
- package/src/icon/SVGIcon.tsx +1 -2
- package/src/icon/config.tsx +10 -7
- package/src/icon/materialConfig.ts +1 -2
- package/src/icon/styles.ts +1 -2
- package/src/interaction/UserInteractionModeProvider.tsx +9 -4
- package/src/interaction/types.ts +1 -2
- package/src/interaction/useElementInteraction.tsx +3 -2
- package/src/layout/LayoutAppBar.tsx +6 -6
- package/src/layout/LayoutNav.tsx +2 -1
- package/src/layout/LayoutWindowSplitter.tsx +2 -1
- package/src/layout/Main.tsx +1 -2
- package/src/layout/useExpandableLayout.ts +63 -5
- package/src/layout/useHorizontalLayoutTransition.ts +1 -2
- package/src/layout/useLayoutTree.ts +2 -2
- package/src/layout/useLayoutWindowSplitter.ts +6 -6
- package/src/layout/useResizableLayout.ts +3 -6
- package/src/link/Link.tsx +1 -2
- package/src/link/SkipToMainContent.tsx +20 -23
- package/src/list/List.tsx +1 -2
- package/src/list/ListItem.tsx +2 -1
- package/src/list/ListItemAddon.tsx +2 -1
- package/src/list/ListItemLink.tsx +2 -1
- package/src/list/ListSubheader.tsx +1 -2
- package/src/list/getListItemHeight.ts +8 -9
- package/src/list/listItemStyles.ts +1 -2
- package/src/list/types.ts +1 -2
- package/src/media-queries/AppSizeProvider.tsx +8 -10
- package/src/media-queries/appSize.ts +3 -0
- package/src/media-queries/config.ts +41 -0
- package/src/menu/DropdownMenu.tsx +4 -5
- package/src/menu/Menu.tsx +2 -1
- package/src/menu/MenuItemButton.tsx +1 -2
- package/src/menu/MenuItemFileInput.tsx +2 -1
- package/src/menu/MenuItemInputToggle.tsx +3 -3
- package/src/menu/MenuItemSeparator.tsx +2 -1
- package/src/menu/MenuVisibilityProvider.tsx +4 -2
- package/src/menu/MenuWidget.tsx +1 -2
- package/src/menu/useContextMenu.ts +4 -2
- package/src/movement/types.ts +52 -13
- package/src/movement/useKeyboardMovementProvider.ts +77 -38
- package/src/navigation/CollapsibleNavGroup.tsx +1 -2
- package/src/navigation/NavItem.tsx +1 -2
- package/src/navigation/NavItemButton.tsx +2 -1
- package/src/navigation/NavItemLink.tsx +2 -1
- package/src/navigation/getTableOfContentsHeadings.ts +1 -2
- package/src/navigation/types.ts +1 -2
- package/src/overlay/Overlay.tsx +2 -1
- package/src/positioning/createHorizontalPosition.ts +10 -12
- package/src/positioning/createVerticalPosition.ts +10 -11
- package/src/positioning/useFixedPositioning.ts +6 -3
- package/src/progress/CircularProgress.tsx +2 -1
- package/src/progress/LinearProgress.tsx +2 -1
- package/src/progress/linearProgressStyles.ts +1 -2
- package/src/responsive-item/ResponsiveItem.tsx +1 -2
- package/src/responsive-item/ResponsiveItemOverlay.tsx +2 -1
- package/src/searching/caseInsensitive.ts +2 -4
- package/src/segmented-button/SegmentedButton.tsx +2 -1
- package/src/segmented-button/SegmentedButtonContainer.tsx +2 -1
- package/src/segmented-button/segmentedButtonStyles.ts +1 -2
- package/src/sheet/Sheet.tsx +1 -2
- package/src/snackbar/Toast.tsx +2 -1
- package/src/spinbutton/SpinButton.tsx +98 -0
- package/src/spinbutton/SpinButtonGroupProvider.tsx +32 -0
- package/src/spinbutton/defaults.ts +45 -0
- package/src/spinbutton/types.ts +413 -0
- package/src/spinbutton/useSpinButton.ts +311 -0
- package/src/spinbutton/useSpinButtonGroupProvider.ts +104 -0
- package/src/spinbutton/utils/deselectNode.ts +17 -0
- package/src/spinbutton/utils/resolveInputEvent.ts +112 -0
- package/src/spinbutton/utils/selectNode.ts +15 -0
- package/src/table/StickyTableSection.tsx +2 -1
- package/src/table/Table.tsx +1 -2
- package/src/table/TableBody.tsx +2 -1
- package/src/table/TableCellContent.tsx +1 -2
- package/src/table/TableCheckbox.tsx +1 -2
- package/src/table/TableFooter.tsx +1 -2
- package/src/table/TableHeader.tsx +1 -2
- package/src/table/TableRadio.tsx +1 -2
- package/src/table/TableRow.tsx +1 -2
- package/src/table/useStickyTableSection.tsx +1 -2
- package/src/tabs/SimpleTabPanel.tsx +2 -1
- package/src/tabs/SimpleTabPanels.tsx +2 -1
- package/src/tabs/Tab.tsx +3 -6
- package/src/tabs/TabList.tsx +2 -1
- package/src/tabs/TabListScrollButton.tsx +1 -2
- package/src/tabs/useMaxTabPanelHeight.ts +7 -4
- package/src/test-utils/data-testid.ts +1 -2
- package/src/test-utils/mocks/match-media.ts +5 -10
- package/src/test-utils/vitest/timers.ts +1 -1
- package/src/tooltip/Tooltip.tsx +2 -1
- package/src/tooltip/TooltipHoverModeProvider.tsx +1 -2
- package/src/tooltip/useTooltip.ts +9 -5
- package/src/transition/CSSTransition.tsx +2 -1
- package/src/transition/Collapse.tsx +4 -2
- package/src/transition/CrossFade.tsx +2 -1
- package/src/transition/ScaleTransition.tsx +2 -1
- package/src/transition/SkeletonPlaceholder.tsx +1 -2
- package/src/transition/Slide.tsx +2 -1
- package/src/transition/SlideContainer.tsx +1 -2
- package/src/transition/types.ts +15 -16
- package/src/transition/useCollapseTransition.ts +6 -5
- package/src/transition/useCrossFadeTransition.ts +3 -2
- package/src/transition/useMaxWidthTransition.ts +1 -2
- package/src/transition/useScaleTransition.ts +3 -2
- package/src/transition/useSkeletonPlaceholder.ts +1 -2
- package/src/tree/Tree.tsx +2 -1
- package/src/tree/TreeItem.tsx +2 -1
- package/src/tree/TreeProvider.tsx +4 -4
- package/src/tree/styles.ts +1 -2
- package/src/tree/types.ts +1 -2
- package/src/tree/useTreeMovement.ts +1 -2
- package/src/typography/HighlightTextMark.tsx +1 -2
- package/src/typography/Mark.tsx +1 -2
- package/src/typography/TextContainer.tsx +1 -2
- package/src/typography/Typography.tsx +1 -2
- package/src/useElementSize.ts +7 -4
- package/src/useIntersectionObserver.ts +3 -2
- package/src/useMutationObserver.ts +3 -2
- package/src/useWindowSize.ts +4 -2
- package/src/utils/getNumberOfDigits.ts +18 -0
- package/src/utils/nearest.ts +2 -1
- package/src/utils/useDevEffect.ts +9 -0
- package/src/window-splitter/WindowSplitter.tsx +5 -2
- package/src/window-splitter/styles.ts +13 -2
- package/src/window-splitter/useWindowSplitter.ts +3 -1
package/dist/form/_slider.scss
CHANGED
|
@@ -634,11 +634,13 @@ $variables: (
|
|
|
634
634
|
}
|
|
635
635
|
|
|
636
636
|
.rmd-slider-thumb {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
637
|
+
$color-name: active-color;
|
|
638
|
+
$color-fallback: null;
|
|
639
|
+
@if $track-color {
|
|
640
|
+
$color-name: color;
|
|
641
|
+
$color-fallback: theme.theme-color-var-fallback($track-color);
|
|
642
|
+
}
|
|
643
|
+
@include use-var(background-color, $color-name, $color-fallback);
|
|
642
644
|
|
|
643
645
|
border-radius: $thumb-border-radius;
|
|
644
646
|
height: $thumb-size;
|
package/dist/form/_switch.scss
CHANGED
|
@@ -80,10 +80,10 @@ $track-light-background-color: colors.$grey-400 !default;
|
|
|
80
80
|
|
|
81
81
|
/// The background color to apply to the `SwitchTrack` in the dark theme.
|
|
82
82
|
/// @type Color
|
|
83
|
+
// prettier-ignore
|
|
83
84
|
$track-dark-background-color: if(
|
|
84
|
-
theme.$disable-dark-elevation
|
|
85
|
-
|
|
86
|
-
map.get(theme.$dark-elevation-colors, 24)
|
|
85
|
+
sass(theme.$disable-dark-elevation): $track-light-background-color;
|
|
86
|
+
else: map.get(theme.$dark-elevation-colors, 24)
|
|
87
87
|
) !default;
|
|
88
88
|
|
|
89
89
|
/// The default background color to apply to the `SwitchTrack`.
|
|
@@ -274,8 +274,10 @@ $variables: (track-background-color, ball-background-color);
|
|
|
274
274
|
z-index: 0;
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
$active-selector: ".rmd-switch__input:checked + &"
|
|
278
|
-
|
|
277
|
+
$active-selector: ".rmd-switch__input:checked + &";
|
|
278
|
+
@if not $disable-menu-item-switch {
|
|
279
|
+
$active-selector: $active-selector + ", &--active";
|
|
280
|
+
}
|
|
279
281
|
|
|
280
282
|
#{$active-selector} {
|
|
281
283
|
$offset: $ball-size + $ball-offset;
|
|
@@ -90,7 +90,7 @@ $label-dense-height: 3.25rem !default;
|
|
|
90
90
|
|
|
91
91
|
/// The `border-radius` for a `TextField`.
|
|
92
92
|
/// @type Number
|
|
93
|
-
$border-radius:
|
|
93
|
+
$border-radius: null !default;
|
|
94
94
|
|
|
95
95
|
/// The `border-width` for a `TextField`.
|
|
96
96
|
/// @type Number
|
|
@@ -110,6 +110,12 @@ $filled-padding: calc(spacing.get-var(sm) * 1.5) !default;
|
|
|
110
110
|
/// @type Number
|
|
111
111
|
$outlined-padding: spacing.get-var(md) !default;
|
|
112
112
|
|
|
113
|
+
/// The border radius to apply to a `TextField` with the `theme="outline"`.
|
|
114
|
+
///
|
|
115
|
+
/// @since 6.4.0
|
|
116
|
+
/// @type Number
|
|
117
|
+
$outlined-border-radius: border-radius.get-var(xs) !default;
|
|
118
|
+
|
|
113
119
|
/// The amount of horizontal padding to apply to a `TextField` with the
|
|
114
120
|
/// `theme="underline"`.
|
|
115
121
|
///
|
|
@@ -232,6 +238,11 @@ $filled-background-color: theme.get-default-color(
|
|
|
232
238
|
|
|
233
239
|
/// The available configurable css variables and mostly used internally for the
|
|
234
240
|
/// `get-var`, `set-var`, and `use-var` utils.
|
|
241
|
+
///
|
|
242
|
+
/// In 6.4.0, added the following variables: `base-height`, `label-height`,
|
|
243
|
+
/// `dense-height`, `dense-label-height`, `border-radius`,
|
|
244
|
+
/// `outlined-border-radius`
|
|
245
|
+
///
|
|
235
246
|
/// @type List
|
|
236
247
|
$variables: (
|
|
237
248
|
addon-top,
|
|
@@ -239,14 +250,20 @@ $variables: (
|
|
|
239
250
|
addon-margin-top,
|
|
240
251
|
addon-left-offset,
|
|
241
252
|
height,
|
|
253
|
+
base-height,
|
|
254
|
+
label-height,
|
|
255
|
+
dense-height,
|
|
256
|
+
dense-label-height,
|
|
242
257
|
padding-left,
|
|
243
258
|
padding-right,
|
|
244
259
|
padding-top,
|
|
245
260
|
border-color,
|
|
261
|
+
border-radius,
|
|
246
262
|
hover-border-color,
|
|
247
263
|
filled-color,
|
|
248
264
|
filled-padding,
|
|
249
265
|
outlined-padding,
|
|
266
|
+
outlined-border-radius,
|
|
250
267
|
underlined-padding
|
|
251
268
|
);
|
|
252
269
|
|
|
@@ -254,6 +271,11 @@ $variables: (
|
|
|
254
271
|
/// @param {any} fallback [null] - An optional fallback value
|
|
255
272
|
/// @returns {String} a `var()` statement
|
|
256
273
|
@function get-var($name, $fallback: null) {
|
|
274
|
+
@if $name == underlined-padding and not $underlined-padding and not $fallback
|
|
275
|
+
{
|
|
276
|
+
$fallback: 0px;
|
|
277
|
+
}
|
|
278
|
+
|
|
257
279
|
$var: utils.get-var-name($variables, $name, "text-field");
|
|
258
280
|
@if $fallback {
|
|
259
281
|
@return var(#{$var}, #{$fallback});
|
|
@@ -303,19 +325,36 @@ $variables: (
|
|
|
303
325
|
/// Conditionally applies the css variables based on feature flags
|
|
304
326
|
@mixin variables {
|
|
305
327
|
@if not $disable-everything {
|
|
328
|
+
@if $border-radius {
|
|
329
|
+
@include set-var(border-radius, $border-radius);
|
|
330
|
+
}
|
|
331
|
+
|
|
306
332
|
@if not base.$form-disable-filled-theme and $filled-padding {
|
|
307
333
|
@include set-var(filled-padding, $filled-padding);
|
|
308
334
|
}
|
|
309
335
|
|
|
310
336
|
@if not base.$form-disable-outlined-theme and $outlined-padding {
|
|
311
337
|
@include set-var(outlined-padding, $outlined-padding);
|
|
338
|
+
@include set-var(outlined-border-radius, $outlined-border-radius);
|
|
312
339
|
}
|
|
313
340
|
|
|
314
341
|
@if not base.$form-disable-underlined-theme and $underlined-padding {
|
|
315
342
|
@include set-var(underlined-padding, $underlined-padding);
|
|
316
343
|
}
|
|
317
344
|
|
|
318
|
-
@include set-var(height, $height);
|
|
345
|
+
@include set-var(base-height, $height);
|
|
346
|
+
@if not label.$disable-floating {
|
|
347
|
+
@include set-var(label-height, $label-height);
|
|
348
|
+
}
|
|
349
|
+
@if not $disable-container-dense {
|
|
350
|
+
@include set-var(dense-height, $dense-height);
|
|
351
|
+
|
|
352
|
+
@if not label.$disable-floating {
|
|
353
|
+
@include set-var(dense-label-height, $label-dense-height);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
@include set-var(height, get-var(base-height));
|
|
357
|
+
|
|
319
358
|
@include set-var(padding-left, 0px);
|
|
320
359
|
@include set-var(padding-right, 0px);
|
|
321
360
|
@include set-var(padding-top, 0px);
|
|
@@ -346,7 +385,8 @@ $variables: (
|
|
|
346
385
|
@if not label.$disable-floating {
|
|
347
386
|
@include label.set-var(floating-x, get-var(padding-left));
|
|
348
387
|
}
|
|
349
|
-
@include use-var(height, height);
|
|
388
|
+
@include use-var(height, height, get-var(base-height));
|
|
389
|
+
@include use-var(border-radius);
|
|
350
390
|
|
|
351
391
|
align-items: center;
|
|
352
392
|
display: flex;
|
|
@@ -406,6 +446,7 @@ $variables: (
|
|
|
406
446
|
@if not $disable-addon {
|
|
407
447
|
@include set-var(addon-left-offset, get-var(outlined-padding));
|
|
408
448
|
}
|
|
449
|
+
@include set-var(border-radius, get-var(outlined-border-radius));
|
|
409
450
|
|
|
410
451
|
@if not label.$disable-floating {
|
|
411
452
|
@include label.set-var(
|
|
@@ -420,7 +461,6 @@ $variables: (
|
|
|
420
461
|
);
|
|
421
462
|
}
|
|
422
463
|
|
|
423
|
-
border-radius: $border-radius;
|
|
424
464
|
border-style: solid;
|
|
425
465
|
border-width: $border-width;
|
|
426
466
|
}
|
|
@@ -467,17 +507,14 @@ $variables: (
|
|
|
467
507
|
&--filled {
|
|
468
508
|
@include theme.theme-set-var(background-color, get-var(filled-color));
|
|
469
509
|
@include theme.theme-use-var(background-color);
|
|
470
|
-
@include set-var(padding-left,
|
|
471
|
-
@include set-var(padding-right,
|
|
510
|
+
@include set-var(padding-left, get-var(filled-padding));
|
|
511
|
+
@include set-var(padding-right, get-var(filled-padding));
|
|
472
512
|
@if not label.$disable-floating {
|
|
473
|
-
@include label.set-var(
|
|
474
|
-
floating-active-x,
|
|
475
|
-
$filled-padding + label.$floating-padding
|
|
476
|
-
);
|
|
513
|
+
@include label.set-var(floating-active-x, get-var(filled-padding));
|
|
477
514
|
}
|
|
478
515
|
|
|
479
516
|
@if not $disable-addon {
|
|
480
|
-
@include set-var(addon-left-offset,
|
|
517
|
+
@include set-var(addon-left-offset, get-var(filled-padding));
|
|
481
518
|
}
|
|
482
519
|
}
|
|
483
520
|
}
|
|
@@ -494,8 +531,8 @@ $variables: (
|
|
|
494
531
|
border-bottom-width: $border-width;
|
|
495
532
|
|
|
496
533
|
@if $underlined-padding {
|
|
497
|
-
@include set-var(padding-left,
|
|
498
|
-
@include set-var(padding-right,
|
|
534
|
+
@include set-var(padding-left, get-var(underlined-padding));
|
|
535
|
+
@include set-var(padding-right, get-var(underlined-padding));
|
|
499
536
|
}
|
|
500
537
|
|
|
501
538
|
&::after {
|
|
@@ -559,8 +596,8 @@ $variables: (
|
|
|
559
596
|
|
|
560
597
|
@if not $disable-addon {
|
|
561
598
|
$addon-offset: calc(
|
|
562
|
-
|
|
563
|
-
|
|
599
|
+
icon.get-var(size) +
|
|
600
|
+
get-var(underlined-padding) +
|
|
564
601
|
$underlined-label-left-offset *
|
|
565
602
|
2
|
|
566
603
|
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/** @since 6.0.0 */
|
|
2
2
|
export interface FieldsetClassNameOptions {
|
|
3
3
|
className?: string;
|
|
4
|
+
/**
|
|
5
|
+
* @defaultValue `false`
|
|
6
|
+
*/
|
|
7
|
+
fullWidth?: boolean;
|
|
4
8
|
/**
|
|
5
9
|
* Set this to `true` to enable the default browser styles for a fieldset.
|
|
6
10
|
*
|
|
@@ -9,9 +13,10 @@ export interface FieldsetClassNameOptions {
|
|
|
9
13
|
*/
|
|
10
14
|
browserStyles?: boolean;
|
|
11
15
|
/**
|
|
16
|
+
* @since 6.4.0
|
|
12
17
|
* @defaultValue `false`
|
|
13
18
|
*/
|
|
14
|
-
|
|
19
|
+
floatingLegend?: boolean;
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
22
|
* @since 6.0.0
|
|
@@ -4,10 +4,11 @@ const styles = bem("rmd-fieldset");
|
|
|
4
4
|
/**
|
|
5
5
|
* @since 6.0.0
|
|
6
6
|
*/ export function fieldset(options = {}) {
|
|
7
|
-
const { className, fullWidth, browserStyles = false } = options;
|
|
7
|
+
const { className, fullWidth, browserStyles = false, floatingLegend } = options;
|
|
8
8
|
return cnb(styles({
|
|
9
9
|
unstyled: !browserStyles,
|
|
10
|
-
"full-width": fullWidth
|
|
10
|
+
"full-width": fullWidth,
|
|
11
|
+
"floating-legend": floatingLegend
|
|
11
12
|
}), className);
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/fieldsetStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-fieldset\");\n\n/** @since 6.0.0 */\nexport interface FieldsetClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to enable the default browser styles for a fieldset.\n *\n * @since 6.0.0 This was renamed from `unstyled`.\n * @defaultValue `false`\n */\n browserStyles?: boolean;\n\n /**\n * @defaultValue `false`\n */\n
|
|
1
|
+
{"version":3,"sources":["../../src/form/fieldsetStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-fieldset\");\n\n/** @since 6.0.0 */\nexport interface FieldsetClassNameOptions {\n className?: string;\n\n /**\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to `true` to enable the default browser styles for a fieldset.\n *\n * @since 6.0.0 This was renamed from `unstyled`.\n * @defaultValue `false`\n */\n browserStyles?: boolean;\n\n /**\n * @since 6.4.0\n * @defaultValue `false`\n */\n floatingLegend?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function fieldset(options: FieldsetClassNameOptions = {}): string {\n const {\n className,\n fullWidth,\n browserStyles = false,\n floatingLegend,\n } = options;\n\n return cnb(\n styles({\n unstyled: !browserStyles,\n \"full-width\": fullWidth,\n \"floating-legend\": floatingLegend,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","fieldset","options","className","fullWidth","browserStyles","floatingLegend","unstyled"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AA0BnB;;CAEC,GACD,OAAO,SAASE,SAASC,UAAoC,CAAC,CAAC;IAC7D,MAAM,EACJC,SAAS,EACTC,SAAS,EACTC,gBAAgB,KAAK,EACrBC,cAAc,EACf,GAAGJ;IAEJ,OAAOJ,IACLE,OAAO;QACLO,UAAU,CAACF;QACX,cAAcD;QACd,mBAAmBE;IACrB,IACAH;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/inputToggleStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type FormComponentStates } from \"./types.js\";\n\nconst styles = bem(\"rmd-input-toggle\");\n\n/**\n * The size to use for the `Checkbox` or `Radio` component. Each of these values\n * except for `\"auto\"` map to Sass variables:\n * - `\"small\"` - `$input-toggle-small-size`\n * - `\"dense\"` - `$input-toggle-dense-size`\n * - `\"normal\"` - `$input-toggle-large-size`\n * - `\"large\"` - `$input-toggle-large-size`\n *\n * When this is set to `\"auto\"`, the size will be determined by the current\n * `font-size` of the `Label` element.\n *\n * @since 6.0.0\n */\nexport type InputToggleSize = \"auto\" | \"small\" | \"dense\" | \"normal\" | \"large\";\n\n/** @since 6.0.0 */\nexport interface InputToggleClassNameOptions
|
|
1
|
+
{"version":3,"sources":["../../src/form/inputToggleStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type FormComponentStates } from \"./types.js\";\n\nconst styles = bem(\"rmd-input-toggle\");\n\n/**\n * The size to use for the `Checkbox` or `Radio` component. Each of these values\n * except for `\"auto\"` map to Sass variables:\n * - `\"small\"` - `$input-toggle-small-size`\n * - `\"dense\"` - `$input-toggle-dense-size`\n * - `\"normal\"` - `$input-toggle-large-size`\n * - `\"large\"` - `$input-toggle-large-size`\n *\n * When this is set to `\"auto\"`, the size will be determined by the current\n * `font-size` of the `Label` element.\n *\n * @since 6.0.0\n */\nexport type InputToggleSize = \"auto\" | \"small\" | \"dense\" | \"normal\" | \"large\";\n\n/** @since 6.0.0 */\nexport interface InputToggleClassNameOptions extends Omit<\n FormComponentStates,\n \"readOnly\"\n> {\n className?: string;\n type: \"checkbox\" | \"radio\";\n\n /**\n * Set the icon size to `1em` to allow easy sizing through font size.\n *\n * @defaultValue `true`\n */\n em?: boolean;\n\n /**\n * @see {@link InputToggleSize}\n * @defaultValue `\"auto\"`\n */\n size?: InputToggleSize;\n\n uncontrolled?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function inputToggle(options: InputToggleClassNameOptions): string {\n const {\n className,\n em = true,\n type,\n size = \"auto\",\n error,\n active = false,\n disabled = false,\n uncontrolled,\n } = options;\n\n return cnb(\n `rmd-${type}`,\n styles({\n em,\n active: active && !disabled,\n disabled,\n small: size === \"small\",\n dense: size === \"dense\",\n normal: size === \"normal\",\n large: size === \"large\",\n uncontrolled,\n }),\n cssUtils({\n textColor: disabled ? \"text-disabled\" : error ? \"error\" : undefined,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","inputToggle","options","className","em","type","size","error","active","disabled","uncontrolled","small","dense","normal","large","textColor","undefined"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AAyCnB;;CAEC,GACD,OAAO,SAASE,YAAYC,OAAoC;IAC9D,MAAM,EACJC,SAAS,EACTC,KAAK,IAAI,EACTC,IAAI,EACJC,OAAO,MAAM,EACbC,KAAK,EACLC,SAAS,KAAK,EACdC,WAAW,KAAK,EAChBC,YAAY,EACb,GAAGR;IAEJ,OAAOL,IACL,CAAC,IAAI,EAAEQ,MAAM,EACbL,OAAO;QACLI;QACAI,QAAQA,UAAU,CAACC;QACnBA;QACAE,OAAOL,SAAS;QAChBM,OAAON,SAAS;QAChBO,QAAQP,SAAS;QACjBQ,OAAOR,SAAS;QAChBI;IACF,IACAZ,SAAS;QACPiB,WAAWN,WAAW,kBAAkBF,QAAQ,UAAUS;IAC5D,IACAb;AAEJ"}
|
package/dist/form/labelStyles.js
CHANGED
|
@@ -4,7 +4,7 @@ import { bem } from "../utils/bem.js";
|
|
|
4
4
|
const styles = bem("rmd-label");
|
|
5
5
|
/**
|
|
6
6
|
* @since 6.0.0
|
|
7
|
-
*/ export function label(options) {
|
|
7
|
+
*/ export function label(options = {}) {
|
|
8
8
|
const { className, gap, error, dense, active, stacked, reversed, disabled, floating, inactive, floatingActive = active } = options;
|
|
9
9
|
let textColor;
|
|
10
10
|
if (disabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/labelStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type LabelClassNameOptions } from \"./types.js\";\n\nconst styles = bem(\"rmd-label\");\n\n/**\n * @since 6.0.0\n */\nexport function label(options: LabelClassNameOptions): string {\n const {\n className,\n gap,\n error,\n dense,\n active,\n stacked,\n reversed,\n disabled,\n floating,\n inactive,\n floatingActive = active,\n } = options;\n\n let textColor: TextColor | ThemeColor | undefined;\n if (disabled) {\n textColor = \"text-disabled\";\n } else if (error) {\n textColor = \"error\";\n } else if (floating && inactive) {\n textColor = \"text-secondary\";\n }\n\n return cnb(\n styles({\n gap,\n error,\n dense,\n active,\n disabled,\n floating,\n stacked: stacked && !reversed,\n reversed: !stacked && reversed,\n \"stacked-reversed\": stacked && reversed,\n \"floating-dense\": floating && dense,\n \"floating-active\": floating && floatingActive,\n }),\n cssUtils({\n textColor,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","label","options","className","gap","error","dense","active","stacked","reversed","disabled","floating","inactive","floatingActive","textColor"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAA0CC,QAAQ,QAAQ,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AAEnB;;CAEC,GACD,OAAO,SAASE,MAAMC,
|
|
1
|
+
{"version":3,"sources":["../../src/form/labelStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type LabelClassNameOptions } from \"./types.js\";\n\nconst styles = bem(\"rmd-label\");\n\n/**\n * @since 6.0.0\n */\nexport function label(options: LabelClassNameOptions = {}): string {\n const {\n className,\n gap,\n error,\n dense,\n active,\n stacked,\n reversed,\n disabled,\n floating,\n inactive,\n floatingActive = active,\n } = options;\n\n let textColor: TextColor | ThemeColor | undefined;\n if (disabled) {\n textColor = \"text-disabled\";\n } else if (error) {\n textColor = \"error\";\n } else if (floating && inactive) {\n textColor = \"text-secondary\";\n }\n\n return cnb(\n styles({\n gap,\n error,\n dense,\n active,\n disabled,\n floating,\n stacked: stacked && !reversed,\n reversed: !stacked && reversed,\n \"stacked-reversed\": stacked && reversed,\n \"floating-dense\": floating && dense,\n \"floating-active\": floating && floatingActive,\n }),\n cssUtils({\n textColor,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","label","options","className","gap","error","dense","active","stacked","reversed","disabled","floating","inactive","floatingActive","textColor"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAA0CC,QAAQ,QAAQ,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AAEnB;;CAEC,GACD,OAAO,SAASE,MAAMC,UAAiC,CAAC,CAAC;IACvD,MAAM,EACJC,SAAS,EACTC,GAAG,EACHC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,iBAAiBN,MAAM,EACxB,GAAGL;IAEJ,IAAIY;IACJ,IAAIJ,UAAU;QACZI,YAAY;IACd,OAAO,IAAIT,OAAO;QAChBS,YAAY;IACd,OAAO,IAAIH,YAAYC,UAAU;QAC/BE,YAAY;IACd;IAEA,OAAOjB,IACLG,OAAO;QACLI;QACAC;QACAC;QACAC;QACAG;QACAC;QACAH,SAASA,WAAW,CAACC;QACrBA,UAAU,CAACD,WAAWC;QACtB,oBAAoBD,WAAWC;QAC/B,kBAAkBE,YAAYL;QAC9B,mBAAmBK,YAAYE;IACjC,IACAf,SAAS;QACPgB;IACF,IACAX;AAEJ"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type FormTheme, type LabelClassNameOptions } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @since 6.4.0
|
|
4
|
+
*/
|
|
5
|
+
export type LegendLabelClassNameOptions = Pick<LabelClassNameOptions, "active" | "gap" | "error" | "stacked" | "disabled" | "reversed">;
|
|
6
|
+
/**
|
|
7
|
+
* @since 6.4.0
|
|
8
|
+
*/
|
|
9
|
+
export interface LegendClassNameOptions extends LegendLabelClassNameOptions {
|
|
10
|
+
className?: string;
|
|
11
|
+
/**
|
|
12
|
+
* @defaultValue `false`
|
|
13
|
+
*/
|
|
14
|
+
srOnly?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Set this to `true` to make the `<legend>` have the styles of a floating label.
|
|
17
|
+
* This requires the parent `<fieldset>` to have the `floatingLegend` flag
|
|
18
|
+
* enabled.
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue `false`
|
|
21
|
+
*/
|
|
22
|
+
floating?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* This will only apply if {@link floating} is `true`.
|
|
25
|
+
*
|
|
26
|
+
* @see {@link FormTheme}
|
|
27
|
+
* @defaultValue `getFormConfig("theme")`
|
|
28
|
+
*/
|
|
29
|
+
theme?: FormTheme;
|
|
30
|
+
/**
|
|
31
|
+
* This will only apply if {@link floating} is `true`.
|
|
32
|
+
*
|
|
33
|
+
* @see {@link LabelClassNameOptions.active}
|
|
34
|
+
* @defaultValue `false`
|
|
35
|
+
*/
|
|
36
|
+
active?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* This will only apply if {@link floating} is `true`.
|
|
39
|
+
*
|
|
40
|
+
* @see {@link LabelClassNameOptions.gap}
|
|
41
|
+
* @defaultValue `false`
|
|
42
|
+
*/
|
|
43
|
+
gap?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* This will only apply if {@link floating} is `true`.
|
|
46
|
+
*
|
|
47
|
+
* @see {@link LabelClassNameOptions.disabled}
|
|
48
|
+
* @defaultValue `false`
|
|
49
|
+
*/
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* This will only apply if {@link floating} is `true`.
|
|
53
|
+
*
|
|
54
|
+
* @see {@link LabelClassNameOptions.dense}
|
|
55
|
+
* @defaultValue `false`
|
|
56
|
+
*/
|
|
57
|
+
dense?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* This will only apply if {@link floating} is `true`.
|
|
60
|
+
*
|
|
61
|
+
* @see {@link LabelClassNameOptions.error}
|
|
62
|
+
* @defaultValue `false`
|
|
63
|
+
*/
|
|
64
|
+
error?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* This will only apply if {@link floating} is `true`.
|
|
67
|
+
*
|
|
68
|
+
* @see {@link LabelClassNameOptions.stacked}
|
|
69
|
+
* @defaultValue `false`
|
|
70
|
+
*/
|
|
71
|
+
stacked?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* This will only apply if {@link floating} is `true`.
|
|
74
|
+
*
|
|
75
|
+
* @see {@link LabelClassNameOptions.reversed}
|
|
76
|
+
* @defaultValue `false`
|
|
77
|
+
*/
|
|
78
|
+
reversed?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* @since 6.4.0
|
|
82
|
+
*/
|
|
83
|
+
export declare function legend(options?: LegendClassNameOptions): string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { cnb } from "cnbuilder";
|
|
2
|
+
import { cssUtils } from "../cssUtils.js";
|
|
3
|
+
import { bem } from "../utils/bem.js";
|
|
4
|
+
import { getFormConfig } from "./formConfig.js";
|
|
5
|
+
import { label } from "./labelStyles.js";
|
|
6
|
+
const styles = bem("rmd-legend");
|
|
7
|
+
/**
|
|
8
|
+
* @since 6.4.0
|
|
9
|
+
*/ export function legend(options = {}) {
|
|
10
|
+
const { className, srOnly, floating, theme = getFormConfig("theme"), ...labelOptions } = options;
|
|
11
|
+
return cnb(styles({
|
|
12
|
+
floating,
|
|
13
|
+
"floating-filled": floating && theme === "filled",
|
|
14
|
+
"floating-underline": floating && theme === "underline",
|
|
15
|
+
"floating-outline": floating && theme === "outline"
|
|
16
|
+
}), floating && label({
|
|
17
|
+
...labelOptions,
|
|
18
|
+
floating: true,
|
|
19
|
+
floatingActive: true
|
|
20
|
+
}), cssUtils({
|
|
21
|
+
srOnly
|
|
22
|
+
}), className);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=legendStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/legendStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { label } from \"./labelStyles.js\";\nimport { type FormTheme, type LabelClassNameOptions } from \"./types.js\";\n\nconst styles = bem(\"rmd-legend\");\n\n/**\n * @since 6.4.0\n */\nexport type LegendLabelClassNameOptions = Pick<\n LabelClassNameOptions,\n \"active\" | \"gap\" | \"error\" | \"stacked\" | \"disabled\" | \"reversed\"\n>;\n\n/**\n * @since 6.4.0\n */\nexport interface LegendClassNameOptions extends LegendLabelClassNameOptions {\n className?: string;\n\n /**\n * @defaultValue `false`\n */\n srOnly?: boolean;\n\n /**\n * Set this to `true` to make the `<legend>` have the styles of a floating label.\n * This requires the parent `<fieldset>` to have the `floatingLegend` flag\n * enabled.\n *\n * @defaultValue `false`\n */\n floating?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link FormTheme}\n * @defaultValue `getFormConfig(\"theme\")`\n */\n theme?: FormTheme;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.active}\n * @defaultValue `false`\n */\n active?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.gap}\n * @defaultValue `false`\n */\n gap?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.disabled}\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.dense}\n * @defaultValue `false`\n */\n dense?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.error}\n * @defaultValue `false`\n */\n error?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.stacked}\n * @defaultValue `false`\n */\n stacked?: boolean;\n\n /**\n * This will only apply if {@link floating} is `true`.\n *\n * @see {@link LabelClassNameOptions.reversed}\n * @defaultValue `false`\n */\n reversed?: boolean;\n}\n\n/**\n * @since 6.4.0\n */\nexport function legend(options: LegendClassNameOptions = {}): string {\n const {\n className,\n srOnly,\n floating,\n theme = getFormConfig(\"theme\"),\n ...labelOptions\n } = options;\n\n return cnb(\n styles({\n floating,\n \"floating-filled\": floating && theme === \"filled\",\n \"floating-underline\": floating && theme === \"underline\",\n \"floating-outline\": floating && theme === \"outline\",\n }),\n floating &&\n label({\n ...labelOptions,\n floating: true,\n floatingActive: true,\n }),\n cssUtils({ srOnly }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","getFormConfig","label","styles","legend","options","className","srOnly","floating","theme","labelOptions","floatingActive"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,KAAK,QAAQ,mBAAmB;AAGzC,MAAMC,SAASH,IAAI;AA+FnB;;CAEC,GACD,OAAO,SAASI,OAAOC,UAAkC,CAAC,CAAC;IACzD,MAAM,EACJC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,QAAQR,cAAc,QAAQ,EAC9B,GAAGS,cACJ,GAAGL;IAEJ,OAAOP,IACLK,OAAO;QACLK;QACA,mBAAmBA,YAAYC,UAAU;QACzC,sBAAsBD,YAAYC,UAAU;QAC5C,oBAAoBD,YAAYC,UAAU;IAC5C,IACAD,YACEN,MAAM;QACJ,GAAGQ,YAAY;QACfF,UAAU;QACVG,gBAAgB;IAClB,IACFZ,SAAS;QAAEQ;IAAO,IAClBD;AAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/selectUtils.ts"],"sourcesContent":["import { Children, type ReactNode, isValidElement } from \"react\";\n\nimport { type MenuItemProps } from \"../menu/MenuItem.js\";\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface SelectOption
|
|
1
|
+
{"version":3,"sources":["../../src/form/selectUtils.ts"],"sourcesContent":["import { Children, type ReactNode, isValidElement } from \"react\";\n\nimport { type MenuItemProps } from \"../menu/MenuItem.js\";\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface SelectOption<\n Value extends string | number = string,\n> extends MenuItemProps {\n value: Value;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nfunction getLabelFromChildren(children: ReactNode): string {\n if (!children) {\n return \"\";\n }\n\n if (typeof children === \"string\" || typeof children === \"number\") {\n return `${children}`;\n }\n\n if (isValidElement<{ children: ReactNode; hidden?: boolean }>(children)) {\n if (children.props.hidden) {\n return \"\";\n }\n\n return getLabelFromChildren(children.props.children);\n }\n\n const childList = Children.toArray(children);\n for (const child of childList) {\n if (typeof child === \"string\" || typeof child === \"number\") {\n return `${child}`[0].toUpperCase();\n }\n\n if (\n isValidElement<{ children: ReactNode; hidden?: boolean }>(child) &&\n !child.props.hidden\n ) {\n return getLabelFromChildren(child.props.children);\n }\n }\n\n return \"\";\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\ninterface ExtractedOptions<Value extends string | number> {\n options: readonly Value[];\n currentOption: SelectOption<Value> | undefined;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport function extractOptionsFromChildren<Value extends string | number>(\n children: ReactNode,\n currentValue: Value | undefined\n): ExtractedOptions<Value> {\n let currentOption: SelectOption<Value> | undefined;\n\n const options: Value[] = [];\n const searchValues: string[] = [];\n Children.forEach(children, (child) => {\n if (!isValidElement<SelectOption<Value>>(child)) {\n return;\n }\n\n const { value, disabled, children } = child.props;\n if (typeof value !== \"undefined\") {\n if (\n value === currentValue ||\n (!currentOption && typeof currentValue === \"undefined\")\n ) {\n currentOption = child.props;\n }\n\n if (!disabled) {\n options.push(child.props.value);\n searchValues.push(getLabelFromChildren(children));\n }\n } else if (children) {\n const result = extractOptionsFromChildren(children, currentValue);\n if (!currentOption) {\n ({ currentOption } = result);\n }\n\n options.push(...result.options);\n }\n });\n\n return {\n options,\n currentOption,\n };\n}\n"],"names":["Children","isValidElement","getLabelFromChildren","children","props","hidden","childList","toArray","child","toUpperCase","extractOptionsFromChildren","currentValue","currentOption","options","searchValues","forEach","value","disabled","push","result"],"mappings":"AAAA,SAASA,QAAQ,EAAkBC,cAAc,QAAQ,QAAQ;AAcjE;;;CAGC,GACD,SAASC,qBAAqBC,QAAmB;IAC/C,IAAI,CAACA,UAAU;QACb,OAAO;IACT;IAEA,IAAI,OAAOA,aAAa,YAAY,OAAOA,aAAa,UAAU;QAChE,OAAO,GAAGA,UAAU;IACtB;IAEA,IAAIF,eAA0DE,WAAW;QACvE,IAAIA,SAASC,KAAK,CAACC,MAAM,EAAE;YACzB,OAAO;QACT;QAEA,OAAOH,qBAAqBC,SAASC,KAAK,CAACD,QAAQ;IACrD;IAEA,MAAMG,YAAYN,SAASO,OAAO,CAACJ;IACnC,KAAK,MAAMK,SAASF,UAAW;QAC7B,IAAI,OAAOE,UAAU,YAAY,OAAOA,UAAU,UAAU;YAC1D,OAAO,GAAGA,OAAO,CAAC,EAAE,CAACC,WAAW;QAClC;QAEA,IACER,eAA0DO,UAC1D,CAACA,MAAMJ,KAAK,CAACC,MAAM,EACnB;YACA,OAAOH,qBAAqBM,MAAMJ,KAAK,CAACD,QAAQ;QAClD;IACF;IAEA,OAAO;AACT;AAWA;;;CAGC,GACD,OAAO,SAASO,2BACdP,QAAmB,EACnBQ,YAA+B;IAE/B,IAAIC;IAEJ,MAAMC,UAAmB,EAAE;IAC3B,MAAMC,eAAyB,EAAE;IACjCd,SAASe,OAAO,CAACZ,UAAU,CAACK;QAC1B,IAAI,CAACP,eAAoCO,QAAQ;YAC/C;QACF;QAEA,MAAM,EAAEQ,KAAK,EAAEC,QAAQ,EAAEd,QAAQ,EAAE,GAAGK,MAAMJ,KAAK;QACjD,IAAI,OAAOY,UAAU,aAAa;YAChC,IACEA,UAAUL,gBACT,CAACC,iBAAiB,OAAOD,iBAAiB,aAC3C;gBACAC,gBAAgBJ,MAAMJ,KAAK;YAC7B;YAEA,IAAI,CAACa,UAAU;gBACbJ,QAAQK,IAAI,CAACV,MAAMJ,KAAK,CAACY,KAAK;gBAC9BF,aAAaI,IAAI,CAAChB,qBAAqBC;YACzC;QACF,OAAO,IAAIA,UAAU;YACnB,MAAMgB,SAAST,2BAA2BP,UAAUQ;YACpD,IAAI,CAACC,eAAe;gBACjB,CAAA,EAAEA,aAAa,EAAE,GAAGO,MAAK;YAC5B;YAEAN,QAAQK,IAAI,IAAIC,OAAON,OAAO;QAChC;IACF;IAEA,OAAO;QACLA;QACAD;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/textFieldContainerStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type FormComponentStates, type FormThemeOptions } from \"./types.js\";\n\nconst styles = bem(\"rmd-text-field-container\");\n\n/** @since 6.0.0 */\nexport interface TextFieldContainerClassNameOptions\n extends FormThemeOptions
|
|
1
|
+
{"version":3,"sources":["../../src/form/textFieldContainerStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { type TextColor, type ThemeColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type FormComponentStates, type FormThemeOptions } from \"./types.js\";\n\nconst styles = bem(\"rmd-text-field-container\");\n\n/** @since 6.0.0 */\nexport interface TextFieldContainerClassNameOptions\n extends FormThemeOptions, FormComponentStates {\n className?: string;\n\n /** @defaultValue `false` */\n dense?: boolean;\n\n /** @defaultValue `false` */\n inline?: boolean;\n\n /** @defaultValue `false` */\n label?: boolean;\n\n /** @defaultValue `false` */\n leftAddon?: boolean;\n\n /** @defaultValue `false` */\n rightAddon?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function textFieldContainer(\n options: TextFieldContainerClassNameOptions = {}\n): string {\n const {\n className,\n theme = \"outline\",\n dense,\n error,\n label,\n active,\n inline,\n readOnly,\n disabled,\n leftAddon,\n rightAddon,\n underlineDirection = \"left\",\n } = options;\n const underline = theme === \"underline\";\n const outline = theme === \"outline\";\n const filled = theme === \"filled\";\n const isUnderlined = underline || filled;\n const isOutlineActive = outline && active;\n\n let textColor: ThemeColor | TextColor | undefined;\n if (disabled) {\n textColor = \"text-disabled\";\n } else if (error) {\n textColor = \"error\";\n }\n\n return cnb(\n styles({\n error,\n inline,\n filled,\n outline,\n disabled: disabled || readOnly,\n hoverable: !disabled && !isOutlineActive,\n label: label && !dense,\n dense: !label && dense,\n \"dense-label\": label && dense,\n \"dense-placeholder\": !label && dense && isUnderlined,\n \"outline-active\": isOutlineActive,\n \"outline-error\": outline && error,\n \"outline-left\": outline && leftAddon,\n \"outline-right\": outline && rightAddon,\n underline: isUnderlined,\n \"underline-placeholder\": isUnderlined && !label,\n \"underline-placeholder-only\":\n isUnderlined && !label && !leftAddon && !rightAddon,\n \"underline-labelled\": isUnderlined && label,\n \"underline-active\": isUnderlined && active,\n [`underline-${underlineDirection}`]: isUnderlined,\n \"underline-left-addon\": isUnderlined && leftAddon,\n \"underline-right-addon\": isUnderlined && rightAddon,\n }),\n cssUtils({ textColor }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","textFieldContainer","options","className","theme","dense","error","label","active","inline","readOnly","disabled","leftAddon","rightAddon","underlineDirection","underline","outline","filled","isUnderlined","isOutlineActive","textColor","hoverable"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAA0CC,QAAQ,QAAQ,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AAuBnB;;CAEC,GACD,OAAO,SAASE,mBACdC,UAA8C,CAAC,CAAC;IAEhD,MAAM,EACJC,SAAS,EACTC,QAAQ,SAAS,EACjBC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,qBAAqB,MAAM,EAC5B,GAAGZ;IACJ,MAAMa,YAAYX,UAAU;IAC5B,MAAMY,UAAUZ,UAAU;IAC1B,MAAMa,SAASb,UAAU;IACzB,MAAMc,eAAeH,aAAaE;IAClC,MAAME,kBAAkBH,WAAWR;IAEnC,IAAIY;IACJ,IAAIT,UAAU;QACZS,YAAY;IACd,OAAO,IAAId,OAAO;QAChBc,YAAY;IACd;IAEA,OAAOvB,IACLG,OAAO;QACLM;QACAG;QACAQ;QACAD;QACAL,UAAUA,YAAYD;QACtBW,WAAW,CAACV,YAAY,CAACQ;QACzBZ,OAAOA,SAAS,CAACF;QACjBA,OAAO,CAACE,SAASF;QACjB,eAAeE,SAASF;QACxB,qBAAqB,CAACE,SAASF,SAASa;QACxC,kBAAkBC;QAClB,iBAAiBH,WAAWV;QAC5B,gBAAgBU,WAAWJ;QAC3B,iBAAiBI,WAAWH;QAC5BE,WAAWG;QACX,yBAAyBA,gBAAgB,CAACX;QAC1C,8BACEW,gBAAgB,CAACX,SAAS,CAACK,aAAa,CAACC;QAC3C,sBAAsBK,gBAAgBX;QACtC,oBAAoBW,gBAAgBV;QACpC,CAAC,CAAC,UAAU,EAAEM,oBAAoB,CAAC,EAAEI;QACrC,wBAAwBA,gBAAgBN;QACxC,yBAAyBM,gBAAgBL;IAC3C,IACAf,SAAS;QAAEsB;IAAU,IACrBjB;AAEJ"}
|
package/dist/form/types.d.ts
CHANGED
|
@@ -14,15 +14,27 @@ declare module "react" {
|
|
|
14
14
|
"--rmd-text-field-addon-spacing"?: string | number;
|
|
15
15
|
"--rmd-text-field-addon-margin-top"?: string | number;
|
|
16
16
|
"--rmd-text-field-addon-left-offset"?: string | number;
|
|
17
|
+
/** @since 6.4.0 */
|
|
18
|
+
"--rmd-text-field-base-height"?: string | number;
|
|
17
19
|
"--rmd-text-field-height"?: string | number;
|
|
20
|
+
/** @since 6.4.0 */
|
|
21
|
+
"--rmd-text-field-dense-height"?: string | number;
|
|
22
|
+
/** @since 6.4.0 */
|
|
23
|
+
"--rmd-text-field-label-height"?: string | number;
|
|
24
|
+
/** @since 6.4.0 */
|
|
25
|
+
"--rmd-text-field-dense-label-height"?: string | number;
|
|
18
26
|
"--rmd-text-field-padding-left"?: string | number;
|
|
19
27
|
"--rmd-text-field-padding-right"?: string | number;
|
|
20
28
|
"--rmd-text-field-padding-top"?: string | number;
|
|
21
29
|
"--rmd-text-field-border-color"?: string;
|
|
30
|
+
/** @since 6.4.0 */
|
|
31
|
+
"--rmd-text-field-border-radius"?: string | number;
|
|
22
32
|
"--rmd-text-field-hover-border-color"?: string;
|
|
23
33
|
"--rmd-text-field-filled-color"?: string;
|
|
24
34
|
"--rmd-text-field-filled-padding"?: string | number;
|
|
25
35
|
"--rmd-text-field-outlined-padding"?: string | number;
|
|
36
|
+
/** @since 6.4.0 */
|
|
37
|
+
"--rmd-text-field-outlined-border-radius"?: string | number;
|
|
26
38
|
"--rmd-text-field-underlined-padding"?: string | number;
|
|
27
39
|
}
|
|
28
40
|
}
|
|
@@ -79,18 +91,28 @@ export interface FormConfiguration extends Required<FormThemeOptions> {
|
|
|
79
91
|
uncontrolledToggles: boolean;
|
|
80
92
|
}
|
|
81
93
|
/**
|
|
82
|
-
* @since 6.
|
|
94
|
+
* @since 6.4.0
|
|
83
95
|
*/
|
|
84
|
-
export interface
|
|
85
|
-
/** @defaultValue `false` */
|
|
86
|
-
error?: boolean;
|
|
87
|
-
/** @defaultValue `false` */
|
|
88
|
-
active?: boolean;
|
|
96
|
+
export interface InteractableFormComponentStates {
|
|
89
97
|
/** @defaultValue `false` */
|
|
90
98
|
disabled?: boolean;
|
|
91
99
|
/** @defaultValue `false` */
|
|
92
100
|
readOnly?: boolean;
|
|
93
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* @since 6.4.0
|
|
104
|
+
*/
|
|
105
|
+
export interface EditableFormComponentStates extends InteractableFormComponentStates {
|
|
106
|
+
/** @defaultValue `false` */
|
|
107
|
+
error?: boolean;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @since 6.0.0
|
|
111
|
+
*/
|
|
112
|
+
export interface FormComponentStates extends EditableFormComponentStates {
|
|
113
|
+
/** @defaultValue `false` */
|
|
114
|
+
active?: boolean;
|
|
115
|
+
}
|
|
94
116
|
/**
|
|
95
117
|
* @since 6.0.0
|
|
96
118
|
* @see https://html.spec.whatwg.org/multipage/forms.html#autofill
|