@react-md/core 1.0.0-next.4 → 1.0.0-next.6
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/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +12 -0
- package/dist/CoreProviders.js.map +1 -0
- package/dist/NoSsr.js.map +1 -0
- package/dist/SsrProvider.js.map +1 -0
- package/dist/_core.scss +157 -240
- package/dist/_utils.scss +10 -0
- package/dist/app-bar/AppBar.js.map +1 -0
- package/dist/app-bar/AppBarTitle.js.map +1 -0
- package/dist/app-bar/_app-bar.scss +95 -93
- package/dist/avatar/Avatar.js.map +1 -0
- package/dist/avatar/_avatar.scss +49 -47
- package/dist/avatar/styles.js.map +1 -0
- package/dist/badge/Badge.js.map +1 -0
- package/dist/badge/_badge.scss +19 -17
- package/dist/box/Box.js.map +1 -0
- package/dist/box/_box.scss +57 -55
- package/dist/box/styles.js.map +1 -0
- package/dist/button/AsyncButton.js.map +1 -0
- package/dist/button/Button.js.map +1 -0
- package/dist/button/ButtonUnstyled.js.map +1 -0
- package/dist/button/FloatingActionButton.js.map +1 -0
- package/dist/button/TooltippedButton.js.map +1 -0
- package/dist/button/_button.scss +122 -120
- package/dist/button/buttonStyles.js.map +1 -0
- package/dist/button/buttonUnstyledStyles.js.map +1 -0
- package/dist/card/Card.js.map +1 -0
- package/dist/card/CardContent.js.map +1 -0
- package/dist/card/CardFooter.js.map +1 -0
- package/dist/card/CardHeader.js.map +1 -0
- package/dist/card/CardSubtitle.js.map +1 -0
- package/dist/card/CardTitle.js.map +1 -0
- package/dist/card/ClickableCard.js.map +1 -0
- package/dist/card/_card.scss +72 -70
- package/dist/card/styles.js.map +1 -0
- package/dist/chip/Chip.js.map +1 -0
- package/dist/chip/_chip.scss +105 -103
- package/dist/chip/styles.js.map +1 -0
- package/dist/cssUtils.js.map +1 -0
- package/dist/delegateEvent.js.map +1 -0
- package/dist/dialog/Dialog.js.map +1 -0
- package/dist/dialog/DialogContainer.js.map +1 -0
- package/dist/dialog/DialogContent.js.map +1 -0
- package/dist/dialog/DialogFooter.js.map +1 -0
- package/dist/dialog/DialogHeader.js.map +1 -0
- package/dist/dialog/DialogTitle.js.map +1 -0
- package/dist/dialog/FixedDialog.js.map +1 -0
- package/dist/dialog/NestedDialogProvider.js.map +1 -0
- package/dist/dialog/_dialog.scss +128 -126
- package/dist/dialog/styles.js.map +1 -0
- package/dist/divider/Divider.js.map +1 -0
- package/dist/divider/_divider.scss +24 -22
- package/dist/divider/styles.js.map +1 -0
- package/dist/draggable/_draggable.scss +16 -12
- package/dist/draggable/useDraggable.js.map +1 -0
- package/dist/draggable/utils.js.map +1 -0
- package/dist/expansion-panel/ExpansionList.js.map +1 -0
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -0
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -0
- package/dist/expansion-panel/_expansion-panel.scss +69 -52
- package/dist/expansion-panel/useExpansionList.js.map +1 -0
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -0
- package/dist/focus/useFocusContainer.js.map +1 -0
- package/dist/focus/utils.js.map +1 -0
- package/dist/form/Checkbox.js.map +1 -0
- package/dist/form/Fieldset.js.map +1 -0
- package/dist/form/FileInput.js.map +1 -0
- package/dist/form/Form.d.ts +1 -1
- package/dist/form/Form.js +28 -0
- package/dist/form/Form.js.map +1 -0
- package/dist/form/FormMessage.js.map +1 -0
- package/dist/form/FormMessageContainer.js.map +1 -0
- package/dist/form/FormMessageCounter.js.map +1 -0
- package/dist/form/InputToggle.js.map +1 -0
- package/dist/form/InputToggleIcon.js.map +1 -0
- package/dist/form/Label.js.map +1 -0
- package/dist/form/Legend.js.map +1 -0
- package/dist/form/MenuItemCheckbox.js.map +1 -0
- package/dist/form/MenuItemFileInput.js.map +1 -0
- package/dist/form/MenuItemInputToggle.js.map +1 -0
- package/dist/form/MenuItemRadio.js.map +1 -0
- package/dist/form/MenuItemSwitch.js.map +1 -0
- package/dist/form/MenuItemTextField.js.map +1 -0
- package/dist/form/NativeSelect.js.map +1 -0
- package/dist/form/OptGroup.js.map +1 -0
- package/dist/form/Option.js.map +1 -0
- package/dist/form/Password.js.map +1 -0
- package/dist/form/Radio.js.map +1 -0
- package/dist/form/Select.js.map +1 -0
- package/dist/form/SelectValue.js.map +1 -0
- package/dist/form/Slider.js.map +1 -0
- package/dist/form/SliderContainer.js.map +1 -0
- package/dist/form/SliderMark.js.map +1 -0
- package/dist/form/SliderMarkLabel.js.map +1 -0
- package/dist/form/SliderThumb.js.map +1 -0
- package/dist/form/SliderTrack.js.map +1 -0
- package/dist/form/SliderValueMarks.js.map +1 -0
- package/dist/form/SliderValueTooltip.js.map +1 -0
- package/dist/form/Switch.js.map +1 -0
- package/dist/form/SwitchTrack.js.map +1 -0
- package/dist/form/TextArea.js.map +1 -0
- package/dist/form/TextField.js.map +1 -0
- package/dist/form/TextFieldAddon.js.map +1 -0
- package/dist/form/TextFieldContainer.js.map +1 -0
- package/dist/form/TextFieldContainerStyles.js.map +1 -0
- package/dist/form/_form.scss +1175 -1127
- package/dist/form/fileUtils.js.map +1 -0
- package/dist/form/formConfig.js.map +1 -0
- package/dist/form/formMessageStyles.js.map +1 -0
- package/dist/form/inputToggleStyles.js.map +1 -0
- package/dist/form/nativeSelectStyles.js.map +1 -0
- package/dist/form/optionStyles.js.map +1 -0
- package/dist/form/passwordStyles.js.map +1 -0
- package/dist/form/selectStyles.js.map +1 -0
- package/dist/form/selectUtils.js.map +1 -0
- package/dist/form/sliderUtils.js.map +1 -0
- package/dist/form/switchStyles.js.map +1 -0
- package/dist/form/textAreaStyles.js.map +1 -0
- package/dist/form/textFieldStyles.js.map +1 -0
- package/dist/form/types.js.map +1 -0
- package/dist/form/useCheckboxGroup.js.map +1 -0
- package/dist/form/useFileUpload.js.map +1 -0
- package/dist/form/useListboxProvider.js.map +1 -0
- package/dist/form/useNumberField.js.map +1 -0
- package/dist/form/useRadioGroup.js.map +1 -0
- package/dist/form/useRangeSlider.js.map +1 -0
- package/dist/form/useResizingTextArea.js.map +1 -0
- package/dist/form/useSlider.js.map +1 -0
- package/dist/form/useTextField.js.map +1 -0
- package/dist/form/utils.js.map +1 -0
- package/dist/form/validation.js.map +1 -0
- package/dist/hoverMode/useHoverMode.js.map +1 -0
- package/dist/hoverMode/useHoverModeProvider.js.map +1 -0
- package/dist/icon/FontIcon.js.map +1 -0
- package/dist/icon/IconRotator.js.map +1 -0
- package/dist/icon/MaterialIcon.js.map +1 -0
- package/dist/icon/MaterialSymbol.js.map +1 -0
- package/dist/icon/SVGIcon.js.map +1 -0
- package/dist/icon/TextIconSpacing.js.map +1 -0
- package/dist/icon/_icon.scss +64 -62
- package/dist/icon/iconConfig.js.map +1 -0
- package/dist/icon/material.js.map +1 -0
- package/dist/icon/materialConfig.js.map +1 -0
- package/dist/icon/styles.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/Ripple.js.map +1 -0
- package/dist/interaction/RippleContainer.js.map +1 -0
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -0
- package/dist/interaction/_interaction.scss +39 -35
- package/dist/interaction/config.js.map +1 -0
- package/dist/interaction/types.js.map +1 -0
- package/dist/interaction/useElementInteraction.js.map +1 -0
- package/dist/interaction/useHigherContrastChildren.js.map +1 -0
- package/dist/interaction/utils.js.map +1 -0
- package/dist/layout/LayoutAppBar.js.map +1 -0
- package/dist/layout/LayoutNav.js.map +1 -0
- package/dist/layout/LayoutWindowSplitter.js.map +1 -0
- package/dist/layout/Main.js.map +1 -0
- package/dist/layout/_layout.scss +68 -67
- package/dist/layout/layoutNavStyles.js.map +1 -0
- package/dist/layout/layoutWindowSplitterStyles.js.map +1 -0
- package/dist/layout/mainStyles.js.map +1 -0
- package/dist/layout/useExpandableLayout.js.map +1 -0
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -0
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -0
- package/dist/layout/useLayoutTree.js.map +1 -0
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -0
- package/dist/layout/useMainTabIndex.js.map +1 -0
- package/dist/layout/useResizableLayout.js.map +1 -0
- package/dist/layout/useTemporaryLayout.js.map +1 -0
- package/dist/link/Link.js.map +1 -0
- package/dist/link/SkipToMainContent.js.map +1 -0
- package/dist/link/_link.scss +52 -50
- package/dist/link/styles.js.map +1 -0
- package/dist/list/List.js.map +1 -0
- package/dist/list/ListItem.js.map +1 -0
- package/dist/list/ListItemAddon.js.map +1 -0
- package/dist/list/ListItemChildren.js.map +1 -0
- package/dist/list/ListItemLink.js.map +1 -0
- package/dist/list/ListItemText.js.map +1 -0
- package/dist/list/ListSubheader.js.map +1 -0
- package/dist/list/_list.scss +124 -122
- package/dist/list/getListItemHeight.js.map +1 -0
- package/dist/list/listItemStyles.js.map +1 -0
- package/dist/list/types.js.map +1 -0
- package/dist/media-queries/AppSizeProvider.js.map +1 -0
- package/dist/media-queries/appSize.js.map +1 -0
- package/dist/media-queries/useMediaQuery.js.map +1 -0
- package/dist/menu/DropdownMenu.js.map +1 -0
- package/dist/menu/Menu.js.map +1 -0
- package/dist/menu/MenuBar.js.map +1 -0
- package/dist/menu/MenuButton.js.map +1 -0
- package/dist/menu/MenuConfigurationProvider.js.map +1 -0
- package/dist/menu/MenuItem.js.map +1 -0
- package/dist/menu/MenuItemButton.js.map +1 -0
- package/dist/menu/MenuItemGroup.js.map +1 -0
- package/dist/menu/MenuItemSeparator.js.map +1 -0
- package/dist/menu/MenuSheet.js.map +1 -0
- package/dist/menu/MenuVisibilityProvider.js.map +1 -0
- package/dist/menu/MenuWidget.js.map +1 -0
- package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -0
- package/dist/menu/_menu.scss +9 -7
- package/dist/menu/useContextMenu.js.map +1 -0
- package/dist/menu/useMenuBarProvider.js.map +1 -0
- package/dist/menu/utils.js.map +1 -0
- package/dist/movement/constants.js.map +1 -0
- package/dist/movement/findMatchIndex.js.map +1 -0
- package/dist/movement/types.js.map +1 -0
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -0
- package/dist/movement/utils.js.map +1 -0
- package/dist/overlay/Overlay.js.map +1 -0
- package/dist/overlay/_overlay.scss +25 -23
- package/dist/overlay/overlayStyles.js.map +1 -0
- package/dist/portal/Portal.js.map +1 -0
- package/dist/portal/PortalContainerProvider.js.map +1 -0
- package/dist/positioning/constants.js.map +1 -0
- package/dist/positioning/createHorizontalPosition.js.map +1 -0
- package/dist/positioning/createVerticalPosition.js.map +1 -0
- package/dist/positioning/getFixedPosition.js.map +1 -0
- package/dist/positioning/types.js.map +1 -0
- package/dist/positioning/useFixedPositioning.js.map +1 -0
- package/dist/positioning/utils.js.map +1 -0
- package/dist/progress/CircularProgress.js.map +1 -0
- package/dist/progress/LinearProgress.js.map +1 -0
- package/dist/progress/_progress.scss +11 -6
- package/dist/progress/getProgressA11y.js.map +1 -0
- package/dist/progress/types.js.map +1 -0
- package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -0
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -0
- package/dist/responsive-item/_responsive-item.scss +91 -89
- package/dist/responsive-item/styles.js.map +1 -0
- package/dist/scroll/ScrollLock.js.map +1 -0
- package/dist/scroll/getScrollbarWidth.js.map +1 -0
- package/dist/scroll/useScrollLock.js.map +1 -0
- package/dist/segmented-button/SegmentedButton.js.map +1 -0
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -0
- package/dist/segmented-button/_segmented-button.scss +54 -49
- package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -0
- package/dist/segmented-button/segmentedButtonStyles.js.map +1 -0
- package/dist/sheet/Sheet.js.map +1 -0
- package/dist/sheet/_sheet.scss +84 -82
- package/dist/sheet/styles.js.map +1 -0
- package/dist/snackbar/DefaultToastRenderer.js.map +1 -0
- package/dist/snackbar/Snackbar.js.map +1 -0
- package/dist/snackbar/Toast.js.map +1 -0
- package/dist/snackbar/ToastActionButton.js.map +1 -0
- package/dist/snackbar/ToastCloseButton.js.map +1 -0
- package/dist/snackbar/ToastContent.js.map +1 -0
- package/dist/snackbar/ToastManager.js.map +1 -0
- package/dist/snackbar/ToastManagerProvider.js.map +1 -0
- package/dist/snackbar/_snackbar.scss +128 -123
- package/dist/snackbar/snackbarStyles.js.map +1 -0
- package/dist/snackbar/toastContentStyles.js.map +1 -0
- package/dist/snackbar/toastStyles.js.map +1 -0
- package/dist/snackbar/useCurrentToastActions.js.map +1 -0
- package/dist/suspense/CircularProgressSuspense.js.map +1 -0
- package/dist/suspense/NullSuspense.js.map +1 -0
- package/dist/table/Table.js.map +1 -0
- package/dist/table/TableBody.js.map +1 -0
- package/dist/table/TableCell.js.map +1 -0
- package/dist/table/TableCellContent.js.map +1 -0
- package/dist/table/TableCheckbox.js.map +1 -0
- package/dist/table/TableConfigurationProvider.js.map +1 -0
- package/dist/table/TableContainer.js.map +1 -0
- package/dist/table/TableContainerProvider.js.map +1 -0
- package/dist/table/TableFooter.js.map +1 -0
- package/dist/table/TableHeader.js.map +1 -0
- package/dist/table/TableRadio.js.map +1 -0
- package/dist/table/TableRow.js.map +1 -0
- package/dist/table/_table.scss +159 -157
- package/dist/table/tableCellStyles.js.map +1 -0
- package/dist/table/tableContainerStyles.js.map +1 -0
- package/dist/table/tableFooterStyles.js.map +1 -0
- package/dist/table/tableHeaderStyles.js.map +1 -0
- package/dist/table/tableRowStyles.js.map +1 -0
- package/dist/table/tableStyles.js.map +1 -0
- package/dist/table/types.js.map +1 -0
- package/dist/tabs/Tab.js.map +1 -0
- package/dist/tabs/TabList.js.map +1 -0
- package/dist/tabs/TabListScrollButton.js.map +1 -0
- package/dist/tabs/_tabs.scss +10 -8
- package/dist/tabs/tabIndicatorStyles.js.map +1 -0
- package/dist/tabs/tabListScrollButtonStyles.js.map +1 -0
- package/dist/tabs/tabListStyles.js.map +1 -0
- package/dist/tabs/tabStyles.js.map +1 -0
- package/dist/tabs/useTabList.js.map +1 -0
- package/dist/tabs/useTabs.js.map +1 -0
- package/dist/tabs/utils.js.map +1 -0
- package/dist/test-utils/IntersectionObserver.js.map +1 -0
- package/dist/test-utils/ResizeObserver.js.map +1 -0
- package/dist/test-utils/data-testid.js.map +1 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/jest-setup.js.map +1 -0
- package/dist/test-utils/matchMedia.js.map +1 -0
- package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -0
- package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -0
- package/dist/test-utils/polyfills/index.js.map +1 -0
- package/dist/test-utils/polyfills/matchMedia.js.map +1 -0
- package/dist/test-utils/polyfills/offsetParent.js.map +1 -0
- package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -0
- package/dist/test-utils/render.js.map +1 -0
- package/dist/test-utils/timers.js.map +1 -0
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/cssVars.js.map +1 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/theme/useCSSVariables.js.map +1 -0
- package/dist/theme/useColorScheme.js.map +1 -0
- package/dist/theme/useColorSchemeMetaTag.js.map +1 -0
- package/dist/theme/useColorSchemeProvider.js.map +1 -0
- package/dist/theme/usePrefersColorScheme.js.map +1 -0
- package/dist/theme/utils.js.map +1 -0
- package/dist/tooltip/Tooltip.js.map +1 -0
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -0
- package/dist/tooltip/_tooltip.scss +60 -58
- package/dist/tooltip/constants.js.map +1 -0
- package/dist/tooltip/tooltipStyles.js.map +1 -0
- package/dist/tooltip/useTooltip.js.map +1 -0
- package/dist/tooltip/useTooltipPosition.js.map +1 -0
- package/dist/tooltip/utils.js.map +1 -0
- package/dist/transition/CSSTransition.js.map +1 -0
- package/dist/transition/Collapse.js.map +1 -0
- package/dist/transition/CrossFade.js.map +1 -0
- package/dist/transition/ScaleTransition.js.map +1 -0
- package/dist/transition/SkeletonPlaceholder.js.map +1 -0
- package/dist/transition/Slide.js.map +1 -0
- package/dist/transition/SlideContainer.js.map +1 -0
- package/dist/transition/_transition.scss +44 -39
- package/dist/transition/collapseStyles.js.map +1 -0
- package/dist/transition/config.js.map +1 -0
- package/dist/transition/maxWidthTransition.js.map +1 -0
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
- package/dist/transition/types.js.map +1 -0
- package/dist/transition/useCSSTransition.js.map +1 -0
- package/dist/transition/useCarousel.js.map +1 -0
- package/dist/transition/useCollapseTransition.js.map +1 -0
- package/dist/transition/useCrossFadeTransition.js.map +1 -0
- package/dist/transition/useMaxWidthTransition.js.map +1 -0
- package/dist/transition/useScaleTransition.js.map +1 -0
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -0
- package/dist/transition/useSlideTransition.js.map +1 -0
- package/dist/transition/useTransition.js.map +1 -0
- package/dist/transition/utils.js.map +1 -0
- package/dist/tree/DefaultTreeItemRenderer.js.map +1 -0
- package/dist/tree/Tree.js.map +1 -0
- package/dist/tree/TreeGroup.js.map +1 -0
- package/dist/tree/TreeItem.js.map +1 -0
- package/dist/tree/TreeItemExpander.js.map +1 -0
- package/dist/tree/TreeProvider.js.map +1 -0
- package/dist/tree/_tree.scss +83 -81
- package/dist/tree/styles.js.map +1 -0
- package/dist/tree/types.js.map +1 -0
- package/dist/tree/useTree.js.map +1 -0
- package/dist/tree/useTreeExpansion.js.map +1 -0
- package/dist/tree/useTreeItems.js.map +1 -0
- package/dist/tree/useTreeMovement.js.map +1 -0
- package/dist/tree/useTreeSelection.js.map +1 -0
- package/dist/tree/utils.js.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/typography/SrOnly.js.map +1 -0
- package/dist/typography/TextContainer.js.map +1 -0
- package/dist/typography/Typography.js.map +1 -0
- package/dist/typography/WritingDirectionProvider.js.map +1 -0
- package/dist/typography/_typography.scss +58 -49
- package/dist/useAsyncAction.js.map +1 -0
- package/dist/useDebouncedFunction.js.map +1 -0
- package/dist/useDropzone.js.map +1 -0
- package/dist/useElementSize.js.map +1 -0
- package/dist/useEnsuredId.js.map +1 -0
- package/dist/useEnsuredRef.js.map +1 -0
- package/dist/useEnsuredState.js.map +1 -0
- package/dist/useHtmlClassName.js.map +1 -0
- package/dist/useIntersectionObserver.js.map +1 -0
- package/dist/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/useLocalStorage.js.map +1 -0
- package/dist/useOrientation.js.map +1 -0
- package/dist/usePageInactive.js.map +1 -0
- package/dist/useResizeListener.js.map +1 -0
- package/dist/useResizeObserver.js.map +1 -0
- package/dist/useThrottledFunction.js.map +1 -0
- package/dist/useToggle.js.map +1 -0
- package/dist/useUnmounted.js.map +1 -0
- package/dist/useWindowSize.js.map +1 -0
- package/dist/utils/RenderRecursively.js.map +1 -0
- package/dist/utils/alphaNumericSort.js.map +1 -0
- package/dist/utils/applyRef.js.map +1 -0
- package/dist/utils/bem.js.map +1 -0
- package/dist/utils/filters.js.map +1 -0
- package/dist/utils/getClientPosition.js.map +1 -0
- package/dist/utils/getMiddleOfRange.js.map +1 -0
- package/dist/utils/getPercentage.js.map +1 -0
- package/dist/utils/getRangeDefaultValue.js.map +1 -0
- package/dist/utils/getRangeSteps.js.map +1 -0
- package/dist/utils/identity.js.map +1 -0
- package/dist/utils/isElementVisible.js.map +1 -0
- package/dist/utils/loop.js.map +1 -0
- package/dist/utils/nearest.js.map +1 -0
- package/dist/utils/parseCssLengthUnit.js.map +1 -0
- package/dist/utils/randomInt.js.map +1 -0
- package/dist/utils/wait.js.map +1 -0
- package/dist/utils/withinRange.js.map +1 -0
- package/dist/window-splitter/WindowSplitter.js.map +1 -0
- package/dist/window-splitter/_window-splitter.scss +72 -70
- package/dist/window-splitter/useWindowSplitter.js.map +1 -0
- package/package.json +2 -2
- package/src/_core.scss +157 -240
- package/src/_utils.scss +10 -0
- package/src/app-bar/_app-bar.scss +95 -93
- package/src/avatar/_avatar.scss +49 -47
- package/src/badge/_badge.scss +19 -17
- package/src/box/_box.scss +57 -55
- package/src/button/_button.scss +122 -120
- package/src/card/_card.scss +72 -70
- package/src/chip/_chip.scss +105 -103
- package/src/dialog/_dialog.scss +128 -126
- package/src/divider/_divider.scss +24 -22
- package/src/draggable/_draggable.scss +16 -12
- package/src/expansion-panel/_expansion-panel.scss +69 -52
- package/src/form/Form.tsx +2 -1
- package/src/form/_form.scss +1175 -1127
- package/src/icon/_icon.scss +64 -62
- package/src/interaction/_interaction.scss +39 -35
- package/src/layout/_layout.scss +68 -67
- package/src/link/_link.scss +52 -50
- package/src/list/_list.scss +124 -122
- package/src/menu/_menu.scss +9 -7
- package/src/overlay/_overlay.scss +25 -23
- package/src/progress/_progress.scss +11 -6
- package/src/responsive-item/_responsive-item.scss +91 -89
- package/src/segmented-button/_segmented-button.scss +54 -49
- package/src/sheet/_sheet.scss +84 -82
- package/src/snackbar/_snackbar.scss +128 -123
- package/src/table/_table.scss +159 -157
- package/src/tabs/_tabs.scss +10 -8
- package/src/tooltip/_tooltip.scss +60 -58
- package/src/transition/_transition.scss +44 -39
- package/src/tree/_tree.scss +83 -81
- package/src/typography/_typography.scss +58 -49
- package/src/window-splitter/_window-splitter.scss +72 -70
- package/tsconfig.json +2 -2
- package/.turbo/turbo-lint.log +0 -12
- package/.turbo/turbo-test.log +0 -179
- package/.turbo/turbo-typecheck.log +0 -4
- package/dist/src/CoreProviders.js.map +0 -1
- package/dist/src/NoSsr.js.map +0 -1
- package/dist/src/SsrProvider.js.map +0 -1
- package/dist/src/app-bar/AppBar.js.map +0 -1
- package/dist/src/app-bar/AppBarTitle.js.map +0 -1
- package/dist/src/avatar/Avatar.js.map +0 -1
- package/dist/src/avatar/styles.js.map +0 -1
- package/dist/src/badge/Badge.js.map +0 -1
- package/dist/src/box/Box.js.map +0 -1
- package/dist/src/box/styles.js.map +0 -1
- package/dist/src/button/AsyncButton.js.map +0 -1
- package/dist/src/button/Button.js.map +0 -1
- package/dist/src/button/ButtonUnstyled.js.map +0 -1
- package/dist/src/button/FloatingActionButton.js.map +0 -1
- package/dist/src/button/TooltippedButton.js.map +0 -1
- package/dist/src/button/buttonStyles.js.map +0 -1
- package/dist/src/button/buttonUnstyledStyles.js.map +0 -1
- package/dist/src/card/Card.js.map +0 -1
- package/dist/src/card/CardContent.js.map +0 -1
- package/dist/src/card/CardFooter.js.map +0 -1
- package/dist/src/card/CardHeader.js.map +0 -1
- package/dist/src/card/CardSubtitle.js.map +0 -1
- package/dist/src/card/CardTitle.js.map +0 -1
- package/dist/src/card/ClickableCard.js.map +0 -1
- package/dist/src/card/styles.js.map +0 -1
- package/dist/src/chip/Chip.js.map +0 -1
- package/dist/src/chip/styles.js.map +0 -1
- package/dist/src/cssUtils.js.map +0 -1
- package/dist/src/delegateEvent.js.map +0 -1
- package/dist/src/dialog/Dialog.js.map +0 -1
- package/dist/src/dialog/DialogContainer.js.map +0 -1
- package/dist/src/dialog/DialogContent.js.map +0 -1
- package/dist/src/dialog/DialogFooter.js.map +0 -1
- package/dist/src/dialog/DialogHeader.js.map +0 -1
- package/dist/src/dialog/DialogTitle.js.map +0 -1
- package/dist/src/dialog/FixedDialog.js.map +0 -1
- package/dist/src/dialog/NestedDialogProvider.js.map +0 -1
- package/dist/src/dialog/styles.js.map +0 -1
- package/dist/src/divider/Divider.js.map +0 -1
- package/dist/src/divider/styles.js.map +0 -1
- package/dist/src/draggable/useDraggable.js.map +0 -1
- package/dist/src/draggable/utils.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionList.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionPanel.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionPanelHeader.js.map +0 -1
- package/dist/src/expansion-panel/useExpansionList.js.map +0 -1
- package/dist/src/expansion-panel/useExpansionPanels.js.map +0 -1
- package/dist/src/focus/useFocusContainer.js.map +0 -1
- package/dist/src/focus/utils.js.map +0 -1
- package/dist/src/form/Checkbox.js.map +0 -1
- package/dist/src/form/Fieldset.js.map +0 -1
- package/dist/src/form/FileInput.js.map +0 -1
- package/dist/src/form/Form.js +0 -27
- package/dist/src/form/Form.js.map +0 -1
- package/dist/src/form/FormMessage.js.map +0 -1
- package/dist/src/form/FormMessageContainer.js.map +0 -1
- package/dist/src/form/FormMessageCounter.js.map +0 -1
- package/dist/src/form/InputToggle.js.map +0 -1
- package/dist/src/form/InputToggleIcon.js.map +0 -1
- package/dist/src/form/Label.js.map +0 -1
- package/dist/src/form/Legend.js.map +0 -1
- package/dist/src/form/MenuItemCheckbox.js.map +0 -1
- package/dist/src/form/MenuItemFileInput.js.map +0 -1
- package/dist/src/form/MenuItemInputToggle.js.map +0 -1
- package/dist/src/form/MenuItemRadio.js.map +0 -1
- package/dist/src/form/MenuItemSwitch.js.map +0 -1
- package/dist/src/form/MenuItemTextField.js.map +0 -1
- package/dist/src/form/NativeSelect.js.map +0 -1
- package/dist/src/form/OptGroup.js.map +0 -1
- package/dist/src/form/Option.js.map +0 -1
- package/dist/src/form/Password.js.map +0 -1
- package/dist/src/form/Radio.js.map +0 -1
- package/dist/src/form/Select.js.map +0 -1
- package/dist/src/form/SelectValue.js.map +0 -1
- package/dist/src/form/Slider.js.map +0 -1
- package/dist/src/form/SliderContainer.js.map +0 -1
- package/dist/src/form/SliderMark.js.map +0 -1
- package/dist/src/form/SliderMarkLabel.js.map +0 -1
- package/dist/src/form/SliderThumb.js.map +0 -1
- package/dist/src/form/SliderTrack.js.map +0 -1
- package/dist/src/form/SliderValueMarks.js.map +0 -1
- package/dist/src/form/SliderValueTooltip.js.map +0 -1
- package/dist/src/form/Switch.js.map +0 -1
- package/dist/src/form/SwitchTrack.js.map +0 -1
- package/dist/src/form/TextArea.js.map +0 -1
- package/dist/src/form/TextField.js.map +0 -1
- package/dist/src/form/TextFieldAddon.js.map +0 -1
- package/dist/src/form/TextFieldContainer.js.map +0 -1
- package/dist/src/form/TextFieldContainerStyles.js.map +0 -1
- package/dist/src/form/fileUtils.js.map +0 -1
- package/dist/src/form/formConfig.js.map +0 -1
- package/dist/src/form/formMessageStyles.js.map +0 -1
- package/dist/src/form/inputToggleStyles.js.map +0 -1
- package/dist/src/form/nativeSelectStyles.js.map +0 -1
- package/dist/src/form/optionStyles.js.map +0 -1
- package/dist/src/form/passwordStyles.js.map +0 -1
- package/dist/src/form/selectStyles.js.map +0 -1
- package/dist/src/form/selectUtils.js.map +0 -1
- package/dist/src/form/sliderUtils.js.map +0 -1
- package/dist/src/form/switchStyles.js.map +0 -1
- package/dist/src/form/textAreaStyles.js.map +0 -1
- package/dist/src/form/textFieldStyles.js.map +0 -1
- package/dist/src/form/types.js.map +0 -1
- package/dist/src/form/useCheckboxGroup.js.map +0 -1
- package/dist/src/form/useFileUpload.js.map +0 -1
- package/dist/src/form/useListboxProvider.js.map +0 -1
- package/dist/src/form/useNumberField.js.map +0 -1
- package/dist/src/form/useRadioGroup.js.map +0 -1
- package/dist/src/form/useRangeSlider.js.map +0 -1
- package/dist/src/form/useResizingTextArea.js.map +0 -1
- package/dist/src/form/useSlider.js.map +0 -1
- package/dist/src/form/useTextField.js.map +0 -1
- package/dist/src/form/utils.js.map +0 -1
- package/dist/src/form/validation.js.map +0 -1
- package/dist/src/hoverMode/useHoverMode.js.map +0 -1
- package/dist/src/hoverMode/useHoverModeProvider.js.map +0 -1
- package/dist/src/icon/FontIcon.js.map +0 -1
- package/dist/src/icon/IconRotator.js.map +0 -1
- package/dist/src/icon/MaterialIcon.js.map +0 -1
- package/dist/src/icon/MaterialSymbol.js.map +0 -1
- package/dist/src/icon/SVGIcon.js.map +0 -1
- package/dist/src/icon/TextIconSpacing.js.map +0 -1
- package/dist/src/icon/iconConfig.js.map +0 -1
- package/dist/src/icon/material.js.map +0 -1
- package/dist/src/icon/materialConfig.js.map +0 -1
- package/dist/src/icon/styles.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interaction/Ripple.js.map +0 -1
- package/dist/src/interaction/RippleContainer.js.map +0 -1
- package/dist/src/interaction/UserInteractionModeProvider.js.map +0 -1
- package/dist/src/interaction/config.js.map +0 -1
- package/dist/src/interaction/types.js.map +0 -1
- package/dist/src/interaction/useElementInteraction.js.map +0 -1
- package/dist/src/interaction/useHigherContrastChildren.js.map +0 -1
- package/dist/src/interaction/utils.js.map +0 -1
- package/dist/src/layout/LayoutAppBar.js.map +0 -1
- package/dist/src/layout/LayoutNav.js.map +0 -1
- package/dist/src/layout/LayoutWindowSplitter.js.map +0 -1
- package/dist/src/layout/Main.js.map +0 -1
- package/dist/src/layout/layoutNavStyles.js.map +0 -1
- package/dist/src/layout/layoutWindowSplitterStyles.js.map +0 -1
- package/dist/src/layout/mainStyles.js.map +0 -1
- package/dist/src/layout/useExpandableLayout.js.map +0 -1
- package/dist/src/layout/useHorizontalLayoutTransition.js.map +0 -1
- package/dist/src/layout/useLayoutAppBarHeight.js.map +0 -1
- package/dist/src/layout/useLayoutTree.js.map +0 -1
- package/dist/src/layout/useLayoutWindowSplitter.js.map +0 -1
- package/dist/src/layout/useMainTabIndex.js.map +0 -1
- package/dist/src/layout/useResizableLayout.js.map +0 -1
- package/dist/src/layout/useTemporaryLayout.js.map +0 -1
- package/dist/src/link/Link.js.map +0 -1
- package/dist/src/link/SkipToMainContent.js.map +0 -1
- package/dist/src/link/styles.js.map +0 -1
- package/dist/src/list/List.js.map +0 -1
- package/dist/src/list/ListItem.js.map +0 -1
- package/dist/src/list/ListItemAddon.js.map +0 -1
- package/dist/src/list/ListItemChildren.js.map +0 -1
- package/dist/src/list/ListItemLink.js.map +0 -1
- package/dist/src/list/ListItemText.js.map +0 -1
- package/dist/src/list/ListSubheader.js.map +0 -1
- package/dist/src/list/getListItemHeight.js.map +0 -1
- package/dist/src/list/listItemStyles.js.map +0 -1
- package/dist/src/list/types.js.map +0 -1
- package/dist/src/media-queries/AppSizeProvider.js.map +0 -1
- package/dist/src/media-queries/appSize.js.map +0 -1
- package/dist/src/media-queries/useMediaQuery.js.map +0 -1
- package/dist/src/menu/DropdownMenu.js.map +0 -1
- package/dist/src/menu/Menu.js.map +0 -1
- package/dist/src/menu/MenuBar.js.map +0 -1
- package/dist/src/menu/MenuButton.js.map +0 -1
- package/dist/src/menu/MenuConfigurationProvider.js.map +0 -1
- package/dist/src/menu/MenuItem.js.map +0 -1
- package/dist/src/menu/MenuItemButton.js.map +0 -1
- package/dist/src/menu/MenuItemGroup.js.map +0 -1
- package/dist/src/menu/MenuItemSeparator.js.map +0 -1
- package/dist/src/menu/MenuSheet.js.map +0 -1
- package/dist/src/menu/MenuVisibilityProvider.js.map +0 -1
- package/dist/src/menu/MenuWidget.js.map +0 -1
- package/dist/src/menu/MenuWidgetKeyboardProvider.js.map +0 -1
- package/dist/src/menu/useContextMenu.js.map +0 -1
- package/dist/src/menu/useMenuBarProvider.js.map +0 -1
- package/dist/src/menu/utils.js.map +0 -1
- package/dist/src/movement/constants.js.map +0 -1
- package/dist/src/movement/findMatchIndex.js.map +0 -1
- package/dist/src/movement/types.js.map +0 -1
- package/dist/src/movement/useKeyboardMovementProvider.js.map +0 -1
- package/dist/src/movement/utils.js.map +0 -1
- package/dist/src/overlay/Overlay.js.map +0 -1
- package/dist/src/overlay/overlayStyles.js.map +0 -1
- package/dist/src/portal/Portal.js.map +0 -1
- package/dist/src/portal/PortalContainerProvider.js.map +0 -1
- package/dist/src/positioning/constants.js.map +0 -1
- package/dist/src/positioning/createHorizontalPosition.js.map +0 -1
- package/dist/src/positioning/createVerticalPosition.js.map +0 -1
- package/dist/src/positioning/getFixedPosition.js.map +0 -1
- package/dist/src/positioning/types.js.map +0 -1
- package/dist/src/positioning/useFixedPositioning.js.map +0 -1
- package/dist/src/positioning/utils.js.map +0 -1
- package/dist/src/progress/CircularProgress.js.map +0 -1
- package/dist/src/progress/LinearProgress.js.map +0 -1
- package/dist/src/progress/getProgressA11y.js.map +0 -1
- package/dist/src/progress/types.js.map +0 -1
- package/dist/src/responsive-item/ResponsiveItemContainer.js.map +0 -1
- package/dist/src/responsive-item/ResponsiveItemOverlay.js.map +0 -1
- package/dist/src/responsive-item/styles.js.map +0 -1
- package/dist/src/scroll/ScrollLock.js.map +0 -1
- package/dist/src/scroll/getScrollbarWidth.js.map +0 -1
- package/dist/src/scroll/useScrollLock.js.map +0 -1
- package/dist/src/segmented-button/SegmentedButton.js.map +0 -1
- package/dist/src/segmented-button/SegmentedButtonContainer.js.map +0 -1
- package/dist/src/segmented-button/segmentedButtonContainerStyles.js.map +0 -1
- package/dist/src/segmented-button/segmentedButtonStyles.js.map +0 -1
- package/dist/src/sheet/Sheet.js.map +0 -1
- package/dist/src/sheet/styles.js.map +0 -1
- package/dist/src/snackbar/DefaultToastRenderer.js.map +0 -1
- package/dist/src/snackbar/Snackbar.js.map +0 -1
- package/dist/src/snackbar/Toast.js.map +0 -1
- package/dist/src/snackbar/ToastActionButton.js.map +0 -1
- package/dist/src/snackbar/ToastCloseButton.js.map +0 -1
- package/dist/src/snackbar/ToastContent.js.map +0 -1
- package/dist/src/snackbar/ToastManager.js.map +0 -1
- package/dist/src/snackbar/ToastManagerProvider.js.map +0 -1
- package/dist/src/snackbar/snackbarStyles.js.map +0 -1
- package/dist/src/snackbar/toastContentStyles.js.map +0 -1
- package/dist/src/snackbar/toastStyles.js.map +0 -1
- package/dist/src/snackbar/useCurrentToastActions.js.map +0 -1
- package/dist/src/suspense/CircularProgressSuspense.js.map +0 -1
- package/dist/src/suspense/NullSuspense.js.map +0 -1
- package/dist/src/table/Table.js.map +0 -1
- package/dist/src/table/TableBody.js.map +0 -1
- package/dist/src/table/TableCell.js.map +0 -1
- package/dist/src/table/TableCellContent.js.map +0 -1
- package/dist/src/table/TableCheckbox.js.map +0 -1
- package/dist/src/table/TableConfigurationProvider.js.map +0 -1
- package/dist/src/table/TableContainer.js.map +0 -1
- package/dist/src/table/TableContainerProvider.js.map +0 -1
- package/dist/src/table/TableFooter.js.map +0 -1
- package/dist/src/table/TableHeader.js.map +0 -1
- package/dist/src/table/TableRadio.js.map +0 -1
- package/dist/src/table/TableRow.js.map +0 -1
- package/dist/src/table/tableCellStyles.js.map +0 -1
- package/dist/src/table/tableContainerStyles.js.map +0 -1
- package/dist/src/table/tableFooterStyles.js.map +0 -1
- package/dist/src/table/tableHeaderStyles.js.map +0 -1
- package/dist/src/table/tableRowStyles.js.map +0 -1
- package/dist/src/table/tableStyles.js.map +0 -1
- package/dist/src/table/types.js.map +0 -1
- package/dist/src/tabs/Tab.js.map +0 -1
- package/dist/src/tabs/TabList.js.map +0 -1
- package/dist/src/tabs/TabListScrollButton.js.map +0 -1
- package/dist/src/tabs/tabIndicatorStyles.js.map +0 -1
- package/dist/src/tabs/tabListScrollButtonStyles.js.map +0 -1
- package/dist/src/tabs/tabListStyles.js.map +0 -1
- package/dist/src/tabs/tabStyles.js.map +0 -1
- package/dist/src/tabs/useTabList.js.map +0 -1
- package/dist/src/tabs/useTabs.js.map +0 -1
- package/dist/src/tabs/utils.js.map +0 -1
- package/dist/src/test-utils/IntersectionObserver.js.map +0 -1
- package/dist/src/test-utils/ResizeObserver.js.map +0 -1
- package/dist/src/test-utils/data-testid.js.map +0 -1
- package/dist/src/test-utils/index.js.map +0 -1
- package/dist/src/test-utils/jest-setup.js.map +0 -1
- package/dist/src/test-utils/matchMedia.js.map +0 -1
- package/dist/src/test-utils/polyfills/IntersectionObserver.js.map +0 -1
- package/dist/src/test-utils/polyfills/ResizeObserver.js.map +0 -1
- package/dist/src/test-utils/polyfills/index.js.map +0 -1
- package/dist/src/test-utils/polyfills/matchMedia.js.map +0 -1
- package/dist/src/test-utils/polyfills/offsetParent.js.map +0 -1
- package/dist/src/test-utils/polyfills/scrollIntoView.js.map +0 -1
- package/dist/src/test-utils/render.js.map +0 -1
- package/dist/src/test-utils/timers.js.map +0 -1
- package/dist/src/theme/LocalStorageColorSchemeProvider.js.map +0 -1
- package/dist/src/theme/ThemeProvider.js.map +0 -1
- package/dist/src/theme/colors.js.map +0 -1
- package/dist/src/theme/cssVars.js.map +0 -1
- package/dist/src/theme/types.js.map +0 -1
- package/dist/src/theme/useCSSVariables.js.map +0 -1
- package/dist/src/theme/useColorScheme.js.map +0 -1
- package/dist/src/theme/useColorSchemeMetaTag.js.map +0 -1
- package/dist/src/theme/useColorSchemeProvider.js.map +0 -1
- package/dist/src/theme/usePrefersColorScheme.js.map +0 -1
- package/dist/src/theme/utils.js.map +0 -1
- package/dist/src/tooltip/Tooltip.js.map +0 -1
- package/dist/src/tooltip/TooltipHoverModeProvider.js.map +0 -1
- package/dist/src/tooltip/constants.js.map +0 -1
- package/dist/src/tooltip/tooltipStyles.js.map +0 -1
- package/dist/src/tooltip/useTooltip.js.map +0 -1
- package/dist/src/tooltip/useTooltipPosition.js.map +0 -1
- package/dist/src/tooltip/utils.js.map +0 -1
- package/dist/src/transition/CSSTransition.js.map +0 -1
- package/dist/src/transition/Collapse.js.map +0 -1
- package/dist/src/transition/CrossFade.js.map +0 -1
- package/dist/src/transition/ScaleTransition.js.map +0 -1
- package/dist/src/transition/SkeletonPlaceholder.js.map +0 -1
- package/dist/src/transition/Slide.js.map +0 -1
- package/dist/src/transition/SlideContainer.js.map +0 -1
- package/dist/src/transition/collapseStyles.js.map +0 -1
- package/dist/src/transition/config.js.map +0 -1
- package/dist/src/transition/maxWidthTransition.js.map +0 -1
- package/dist/src/transition/skeletonPlaceholderUtils.js.map +0 -1
- package/dist/src/transition/types.js.map +0 -1
- package/dist/src/transition/useCSSTransition.js.map +0 -1
- package/dist/src/transition/useCarousel.js.map +0 -1
- package/dist/src/transition/useCollapseTransition.js.map +0 -1
- package/dist/src/transition/useCrossFadeTransition.js.map +0 -1
- package/dist/src/transition/useMaxWidthTransition.js.map +0 -1
- package/dist/src/transition/useScaleTransition.js.map +0 -1
- package/dist/src/transition/useSkeletonPlaceholder.js.map +0 -1
- package/dist/src/transition/useSlideTransition.js.map +0 -1
- package/dist/src/transition/useTransition.js.map +0 -1
- package/dist/src/transition/utils.js.map +0 -1
- package/dist/src/tree/DefaultTreeItemRenderer.js.map +0 -1
- package/dist/src/tree/Tree.js.map +0 -1
- package/dist/src/tree/TreeGroup.js.map +0 -1
- package/dist/src/tree/TreeItem.js.map +0 -1
- package/dist/src/tree/TreeItemExpander.js.map +0 -1
- package/dist/src/tree/TreeProvider.js.map +0 -1
- package/dist/src/tree/styles.js.map +0 -1
- package/dist/src/tree/types.js.map +0 -1
- package/dist/src/tree/useTree.js.map +0 -1
- package/dist/src/tree/useTreeExpansion.js.map +0 -1
- package/dist/src/tree/useTreeItems.js.map +0 -1
- package/dist/src/tree/useTreeMovement.js.map +0 -1
- package/dist/src/tree/useTreeSelection.js.map +0 -1
- package/dist/src/tree/utils.js.map +0 -1
- package/dist/src/types.js.map +0 -1
- package/dist/src/typography/SrOnly.js.map +0 -1
- package/dist/src/typography/TextContainer.js.map +0 -1
- package/dist/src/typography/Typography.js.map +0 -1
- package/dist/src/typography/WritingDirectionProvider.js.map +0 -1
- package/dist/src/useAsyncAction.js.map +0 -1
- package/dist/src/useDebouncedFunction.js.map +0 -1
- package/dist/src/useDropzone.js.map +0 -1
- package/dist/src/useElementSize.js.map +0 -1
- package/dist/src/useEnsuredId.js.map +0 -1
- package/dist/src/useEnsuredRef.js.map +0 -1
- package/dist/src/useEnsuredState.js.map +0 -1
- package/dist/src/useHtmlClassName.js.map +0 -1
- package/dist/src/useIntersectionObserver.js.map +0 -1
- package/dist/src/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/src/useLocalStorage.js.map +0 -1
- package/dist/src/useOrientation.js.map +0 -1
- package/dist/src/usePageInactive.js.map +0 -1
- package/dist/src/useResizeListener.js.map +0 -1
- package/dist/src/useResizeObserver.js.map +0 -1
- package/dist/src/useThrottledFunction.js.map +0 -1
- package/dist/src/useToggle.js.map +0 -1
- package/dist/src/useUnmounted.js.map +0 -1
- package/dist/src/useWindowSize.js.map +0 -1
- package/dist/src/utils/RenderRecursively.js.map +0 -1
- package/dist/src/utils/alphaNumericSort.js.map +0 -1
- package/dist/src/utils/applyRef.js.map +0 -1
- package/dist/src/utils/bem.js.map +0 -1
- package/dist/src/utils/filters.js.map +0 -1
- package/dist/src/utils/getClientPosition.js.map +0 -1
- package/dist/src/utils/getMiddleOfRange.js.map +0 -1
- package/dist/src/utils/getPercentage.js.map +0 -1
- package/dist/src/utils/getRangeDefaultValue.js.map +0 -1
- package/dist/src/utils/getRangeSteps.js.map +0 -1
- package/dist/src/utils/identity.js.map +0 -1
- package/dist/src/utils/isElementVisible.js.map +0 -1
- package/dist/src/utils/loop.js.map +0 -1
- package/dist/src/utils/nearest.js.map +0 -1
- package/dist/src/utils/parseCssLengthUnit.js.map +0 -1
- package/dist/src/utils/randomInt.js.map +0 -1
- package/dist/src/utils/wait.js.map +0 -1
- package/dist/src/utils/withinRange.js.map +0 -1
- package/dist/src/window-splitter/WindowSplitter.js.map +0 -1
- package/dist/src/window-splitter/useWindowSplitter.js.map +0 -1
- /package/dist/{src/CoreProviders.js → CoreProviders.js} +0 -0
- /package/dist/{src/NoSsr.js → NoSsr.js} +0 -0
- /package/dist/{src/SsrProvider.js → SsrProvider.js} +0 -0
- /package/dist/{src/app-bar → app-bar}/AppBar.js +0 -0
- /package/dist/{src/app-bar → app-bar}/AppBarTitle.js +0 -0
- /package/dist/{src/avatar → avatar}/Avatar.js +0 -0
- /package/dist/{src/avatar → avatar}/styles.js +0 -0
- /package/dist/{src/badge → badge}/Badge.js +0 -0
- /package/dist/{src/box → box}/Box.js +0 -0
- /package/dist/{src/box → box}/styles.js +0 -0
- /package/dist/{src/button → button}/AsyncButton.js +0 -0
- /package/dist/{src/button → button}/Button.js +0 -0
- /package/dist/{src/button → button}/ButtonUnstyled.js +0 -0
- /package/dist/{src/button → button}/FloatingActionButton.js +0 -0
- /package/dist/{src/button → button}/TooltippedButton.js +0 -0
- /package/dist/{src/button → button}/buttonStyles.js +0 -0
- /package/dist/{src/button → button}/buttonUnstyledStyles.js +0 -0
- /package/dist/{src/card → card}/Card.js +0 -0
- /package/dist/{src/card → card}/CardContent.js +0 -0
- /package/dist/{src/card → card}/CardFooter.js +0 -0
- /package/dist/{src/card → card}/CardHeader.js +0 -0
- /package/dist/{src/card → card}/CardSubtitle.js +0 -0
- /package/dist/{src/card → card}/CardTitle.js +0 -0
- /package/dist/{src/card → card}/ClickableCard.js +0 -0
- /package/dist/{src/card → card}/styles.js +0 -0
- /package/dist/{src/chip → chip}/Chip.js +0 -0
- /package/dist/{src/chip → chip}/styles.js +0 -0
- /package/dist/{src/cssUtils.js → cssUtils.js} +0 -0
- /package/dist/{src/delegateEvent.js → delegateEvent.js} +0 -0
- /package/dist/{src/dialog → dialog}/Dialog.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogContainer.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogContent.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogFooter.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogHeader.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogTitle.js +0 -0
- /package/dist/{src/dialog → dialog}/FixedDialog.js +0 -0
- /package/dist/{src/dialog → dialog}/NestedDialogProvider.js +0 -0
- /package/dist/{src/dialog → dialog}/styles.js +0 -0
- /package/dist/{src/divider → divider}/Divider.js +0 -0
- /package/dist/{src/divider → divider}/styles.js +0 -0
- /package/dist/{src/draggable → draggable}/useDraggable.js +0 -0
- /package/dist/{src/draggable → draggable}/utils.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionList.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionPanel.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionPanelHeader.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/useExpansionList.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/useExpansionPanels.js +0 -0
- /package/dist/{src/focus → focus}/useFocusContainer.js +0 -0
- /package/dist/{src/focus → focus}/utils.js +0 -0
- /package/dist/{src/form → form}/Checkbox.js +0 -0
- /package/dist/{src/form → form}/Fieldset.js +0 -0
- /package/dist/{src/form → form}/FileInput.js +0 -0
- /package/dist/{src/form → form}/FormMessage.js +0 -0
- /package/dist/{src/form → form}/FormMessageContainer.js +0 -0
- /package/dist/{src/form → form}/FormMessageCounter.js +0 -0
- /package/dist/{src/form → form}/InputToggle.js +0 -0
- /package/dist/{src/form → form}/InputToggleIcon.js +0 -0
- /package/dist/{src/form → form}/Label.js +0 -0
- /package/dist/{src/form → form}/Legend.js +0 -0
- /package/dist/{src/form → form}/MenuItemCheckbox.js +0 -0
- /package/dist/{src/form → form}/MenuItemFileInput.js +0 -0
- /package/dist/{src/form → form}/MenuItemInputToggle.js +0 -0
- /package/dist/{src/form → form}/MenuItemRadio.js +0 -0
- /package/dist/{src/form → form}/MenuItemSwitch.js +0 -0
- /package/dist/{src/form → form}/MenuItemTextField.js +0 -0
- /package/dist/{src/form → form}/NativeSelect.js +0 -0
- /package/dist/{src/form → form}/OptGroup.js +0 -0
- /package/dist/{src/form → form}/Option.js +0 -0
- /package/dist/{src/form → form}/Password.js +0 -0
- /package/dist/{src/form → form}/Radio.js +0 -0
- /package/dist/{src/form → form}/Select.js +0 -0
- /package/dist/{src/form → form}/SelectValue.js +0 -0
- /package/dist/{src/form → form}/Slider.js +0 -0
- /package/dist/{src/form → form}/SliderContainer.js +0 -0
- /package/dist/{src/form → form}/SliderMark.js +0 -0
- /package/dist/{src/form → form}/SliderMarkLabel.js +0 -0
- /package/dist/{src/form → form}/SliderThumb.js +0 -0
- /package/dist/{src/form → form}/SliderTrack.js +0 -0
- /package/dist/{src/form → form}/SliderValueMarks.js +0 -0
- /package/dist/{src/form → form}/SliderValueTooltip.js +0 -0
- /package/dist/{src/form → form}/Switch.js +0 -0
- /package/dist/{src/form → form}/SwitchTrack.js +0 -0
- /package/dist/{src/form → form}/TextArea.js +0 -0
- /package/dist/{src/form → form}/TextField.js +0 -0
- /package/dist/{src/form → form}/TextFieldAddon.js +0 -0
- /package/dist/{src/form → form}/TextFieldContainer.js +0 -0
- /package/dist/{src/form → form}/TextFieldContainerStyles.js +0 -0
- /package/dist/{src/form → form}/fileUtils.js +0 -0
- /package/dist/{src/form → form}/formConfig.js +0 -0
- /package/dist/{src/form → form}/formMessageStyles.js +0 -0
- /package/dist/{src/form → form}/inputToggleStyles.js +0 -0
- /package/dist/{src/form → form}/nativeSelectStyles.js +0 -0
- /package/dist/{src/form → form}/optionStyles.js +0 -0
- /package/dist/{src/form → form}/passwordStyles.js +0 -0
- /package/dist/{src/form → form}/selectStyles.js +0 -0
- /package/dist/{src/form → form}/selectUtils.js +0 -0
- /package/dist/{src/form → form}/sliderUtils.js +0 -0
- /package/dist/{src/form → form}/switchStyles.js +0 -0
- /package/dist/{src/form → form}/textAreaStyles.js +0 -0
- /package/dist/{src/form → form}/textFieldStyles.js +0 -0
- /package/dist/{src/form → form}/types.js +0 -0
- /package/dist/{src/form → form}/useCheckboxGroup.js +0 -0
- /package/dist/{src/form → form}/useFileUpload.js +0 -0
- /package/dist/{src/form → form}/useListboxProvider.js +0 -0
- /package/dist/{src/form → form}/useNumberField.js +0 -0
- /package/dist/{src/form → form}/useRadioGroup.js +0 -0
- /package/dist/{src/form → form}/useRangeSlider.js +0 -0
- /package/dist/{src/form → form}/useResizingTextArea.js +0 -0
- /package/dist/{src/form → form}/useSlider.js +0 -0
- /package/dist/{src/form → form}/useTextField.js +0 -0
- /package/dist/{src/form → form}/utils.js +0 -0
- /package/dist/{src/form → form}/validation.js +0 -0
- /package/dist/{src/hoverMode → hoverMode}/useHoverMode.js +0 -0
- /package/dist/{src/hoverMode → hoverMode}/useHoverModeProvider.js +0 -0
- /package/dist/{src/icon → icon}/FontIcon.js +0 -0
- /package/dist/{src/icon → icon}/IconRotator.js +0 -0
- /package/dist/{src/icon → icon}/MaterialIcon.js +0 -0
- /package/dist/{src/icon → icon}/MaterialSymbol.js +0 -0
- /package/dist/{src/icon → icon}/SVGIcon.js +0 -0
- /package/dist/{src/icon → icon}/TextIconSpacing.js +0 -0
- /package/dist/{src/icon → icon}/iconConfig.js +0 -0
- /package/dist/{src/icon → icon}/material.js +0 -0
- /package/dist/{src/icon → icon}/materialConfig.js +0 -0
- /package/dist/{src/icon → icon}/styles.js +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/interaction → interaction}/Ripple.js +0 -0
- /package/dist/{src/interaction → interaction}/RippleContainer.js +0 -0
- /package/dist/{src/interaction → interaction}/UserInteractionModeProvider.js +0 -0
- /package/dist/{src/interaction → interaction}/config.js +0 -0
- /package/dist/{src/interaction → interaction}/types.js +0 -0
- /package/dist/{src/interaction → interaction}/useElementInteraction.js +0 -0
- /package/dist/{src/interaction → interaction}/useHigherContrastChildren.js +0 -0
- /package/dist/{src/interaction → interaction}/utils.js +0 -0
- /package/dist/{src/layout → layout}/LayoutAppBar.js +0 -0
- /package/dist/{src/layout → layout}/LayoutNav.js +0 -0
- /package/dist/{src/layout → layout}/LayoutWindowSplitter.js +0 -0
- /package/dist/{src/layout → layout}/Main.js +0 -0
- /package/dist/{src/layout → layout}/layoutNavStyles.js +0 -0
- /package/dist/{src/layout → layout}/layoutWindowSplitterStyles.js +0 -0
- /package/dist/{src/layout → layout}/mainStyles.js +0 -0
- /package/dist/{src/layout → layout}/useExpandableLayout.js +0 -0
- /package/dist/{src/layout → layout}/useHorizontalLayoutTransition.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutAppBarHeight.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutTree.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutWindowSplitter.js +0 -0
- /package/dist/{src/layout → layout}/useMainTabIndex.js +0 -0
- /package/dist/{src/layout → layout}/useResizableLayout.js +0 -0
- /package/dist/{src/layout → layout}/useTemporaryLayout.js +0 -0
- /package/dist/{src/link → link}/Link.js +0 -0
- /package/dist/{src/link → link}/SkipToMainContent.js +0 -0
- /package/dist/{src/link → link}/styles.js +0 -0
- /package/dist/{src/list → list}/List.js +0 -0
- /package/dist/{src/list → list}/ListItem.js +0 -0
- /package/dist/{src/list → list}/ListItemAddon.js +0 -0
- /package/dist/{src/list → list}/ListItemChildren.js +0 -0
- /package/dist/{src/list → list}/ListItemLink.js +0 -0
- /package/dist/{src/list → list}/ListItemText.js +0 -0
- /package/dist/{src/list → list}/ListSubheader.js +0 -0
- /package/dist/{src/list → list}/getListItemHeight.js +0 -0
- /package/dist/{src/list → list}/listItemStyles.js +0 -0
- /package/dist/{src/list → list}/types.js +0 -0
- /package/dist/{src/media-queries → media-queries}/AppSizeProvider.js +0 -0
- /package/dist/{src/media-queries → media-queries}/appSize.js +0 -0
- /package/dist/{src/media-queries → media-queries}/useMediaQuery.js +0 -0
- /package/dist/{src/menu → menu}/DropdownMenu.js +0 -0
- /package/dist/{src/menu → menu}/Menu.js +0 -0
- /package/dist/{src/menu → menu}/MenuBar.js +0 -0
- /package/dist/{src/menu → menu}/MenuButton.js +0 -0
- /package/dist/{src/menu → menu}/MenuConfigurationProvider.js +0 -0
- /package/dist/{src/menu → menu}/MenuItem.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemButton.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemGroup.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemSeparator.js +0 -0
- /package/dist/{src/menu → menu}/MenuSheet.js +0 -0
- /package/dist/{src/menu → menu}/MenuVisibilityProvider.js +0 -0
- /package/dist/{src/menu → menu}/MenuWidget.js +0 -0
- /package/dist/{src/menu → menu}/MenuWidgetKeyboardProvider.js +0 -0
- /package/dist/{src/menu → menu}/useContextMenu.js +0 -0
- /package/dist/{src/menu → menu}/useMenuBarProvider.js +0 -0
- /package/dist/{src/menu → menu}/utils.js +0 -0
- /package/dist/{src/movement → movement}/constants.js +0 -0
- /package/dist/{src/movement → movement}/findMatchIndex.js +0 -0
- /package/dist/{src/movement → movement}/types.js +0 -0
- /package/dist/{src/movement → movement}/useKeyboardMovementProvider.js +0 -0
- /package/dist/{src/movement → movement}/utils.js +0 -0
- /package/dist/{src/overlay → overlay}/Overlay.js +0 -0
- /package/dist/{src/overlay → overlay}/overlayStyles.js +0 -0
- /package/dist/{src/portal → portal}/Portal.js +0 -0
- /package/dist/{src/portal → portal}/PortalContainerProvider.js +0 -0
- /package/dist/{src/positioning → positioning}/constants.js +0 -0
- /package/dist/{src/positioning → positioning}/createHorizontalPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/createVerticalPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/getFixedPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/types.js +0 -0
- /package/dist/{src/positioning → positioning}/useFixedPositioning.js +0 -0
- /package/dist/{src/positioning → positioning}/utils.js +0 -0
- /package/dist/{src/progress → progress}/CircularProgress.js +0 -0
- /package/dist/{src/progress → progress}/LinearProgress.js +0 -0
- /package/dist/{src/progress → progress}/getProgressA11y.js +0 -0
- /package/dist/{src/progress → progress}/types.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/ResponsiveItemContainer.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/ResponsiveItemOverlay.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/styles.js +0 -0
- /package/dist/{src/scroll → scroll}/ScrollLock.js +0 -0
- /package/dist/{src/scroll → scroll}/getScrollbarWidth.js +0 -0
- /package/dist/{src/scroll → scroll}/useScrollLock.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/SegmentedButton.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/SegmentedButtonContainer.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/segmentedButtonContainerStyles.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/segmentedButtonStyles.js +0 -0
- /package/dist/{src/sheet → sheet}/Sheet.js +0 -0
- /package/dist/{src/sheet → sheet}/styles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/DefaultToastRenderer.js +0 -0
- /package/dist/{src/snackbar → snackbar}/Snackbar.js +0 -0
- /package/dist/{src/snackbar → snackbar}/Toast.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastActionButton.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastCloseButton.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastContent.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastManager.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastManagerProvider.js +0 -0
- /package/dist/{src/snackbar → snackbar}/snackbarStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/toastContentStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/toastStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/useCurrentToastActions.js +0 -0
- /package/dist/{src/suspense → suspense}/CircularProgressSuspense.js +0 -0
- /package/dist/{src/suspense → suspense}/NullSuspense.js +0 -0
- /package/dist/{src/table → table}/Table.js +0 -0
- /package/dist/{src/table → table}/TableBody.js +0 -0
- /package/dist/{src/table → table}/TableCell.js +0 -0
- /package/dist/{src/table → table}/TableCellContent.js +0 -0
- /package/dist/{src/table → table}/TableCheckbox.js +0 -0
- /package/dist/{src/table → table}/TableConfigurationProvider.js +0 -0
- /package/dist/{src/table → table}/TableContainer.js +0 -0
- /package/dist/{src/table → table}/TableContainerProvider.js +0 -0
- /package/dist/{src/table → table}/TableFooter.js +0 -0
- /package/dist/{src/table → table}/TableHeader.js +0 -0
- /package/dist/{src/table → table}/TableRadio.js +0 -0
- /package/dist/{src/table → table}/TableRow.js +0 -0
- /package/dist/{src/table → table}/tableCellStyles.js +0 -0
- /package/dist/{src/table → table}/tableContainerStyles.js +0 -0
- /package/dist/{src/table → table}/tableFooterStyles.js +0 -0
- /package/dist/{src/table → table}/tableHeaderStyles.js +0 -0
- /package/dist/{src/table → table}/tableRowStyles.js +0 -0
- /package/dist/{src/table → table}/tableStyles.js +0 -0
- /package/dist/{src/table → table}/types.js +0 -0
- /package/dist/{src/tabs → tabs}/Tab.js +0 -0
- /package/dist/{src/tabs → tabs}/TabList.js +0 -0
- /package/dist/{src/tabs → tabs}/TabListScrollButton.js +0 -0
- /package/dist/{src/tabs → tabs}/tabIndicatorStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabListScrollButtonStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabListStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/useTabList.js +0 -0
- /package/dist/{src/tabs → tabs}/useTabs.js +0 -0
- /package/dist/{src/tabs → tabs}/utils.js +0 -0
- /package/dist/{src/test-utils → test-utils}/IntersectionObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/ResizeObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/data-testid.js +0 -0
- /package/dist/{src/test-utils → test-utils}/index.js +0 -0
- /package/dist/{src/test-utils → test-utils}/jest-setup.js +0 -0
- /package/dist/{src/test-utils → test-utils}/matchMedia.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/IntersectionObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/ResizeObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/index.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/matchMedia.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/offsetParent.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/scrollIntoView.js +0 -0
- /package/dist/{src/test-utils → test-utils}/render.js +0 -0
- /package/dist/{src/test-utils → test-utils}/timers.js +0 -0
- /package/dist/{src/theme → theme}/LocalStorageColorSchemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/ThemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/colors.js +0 -0
- /package/dist/{src/theme → theme}/cssVars.js +0 -0
- /package/dist/{src/theme → theme}/types.js +0 -0
- /package/dist/{src/theme → theme}/useCSSVariables.js +0 -0
- /package/dist/{src/theme → theme}/useColorScheme.js +0 -0
- /package/dist/{src/theme → theme}/useColorSchemeMetaTag.js +0 -0
- /package/dist/{src/theme → theme}/useColorSchemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/usePrefersColorScheme.js +0 -0
- /package/dist/{src/theme → theme}/utils.js +0 -0
- /package/dist/{src/tooltip → tooltip}/Tooltip.js +0 -0
- /package/dist/{src/tooltip → tooltip}/TooltipHoverModeProvider.js +0 -0
- /package/dist/{src/tooltip → tooltip}/constants.js +0 -0
- /package/dist/{src/tooltip → tooltip}/tooltipStyles.js +0 -0
- /package/dist/{src/tooltip → tooltip}/useTooltip.js +0 -0
- /package/dist/{src/tooltip → tooltip}/useTooltipPosition.js +0 -0
- /package/dist/{src/tooltip → tooltip}/utils.js +0 -0
- /package/dist/{src/transition → transition}/CSSTransition.js +0 -0
- /package/dist/{src/transition → transition}/Collapse.js +0 -0
- /package/dist/{src/transition → transition}/CrossFade.js +0 -0
- /package/dist/{src/transition → transition}/ScaleTransition.js +0 -0
- /package/dist/{src/transition → transition}/SkeletonPlaceholder.js +0 -0
- /package/dist/{src/transition → transition}/Slide.js +0 -0
- /package/dist/{src/transition → transition}/SlideContainer.js +0 -0
- /package/dist/{src/transition → transition}/collapseStyles.js +0 -0
- /package/dist/{src/transition → transition}/config.js +0 -0
- /package/dist/{src/transition → transition}/maxWidthTransition.js +0 -0
- /package/dist/{src/transition → transition}/skeletonPlaceholderUtils.js +0 -0
- /package/dist/{src/transition → transition}/types.js +0 -0
- /package/dist/{src/transition → transition}/useCSSTransition.js +0 -0
- /package/dist/{src/transition → transition}/useCarousel.js +0 -0
- /package/dist/{src/transition → transition}/useCollapseTransition.js +0 -0
- /package/dist/{src/transition → transition}/useCrossFadeTransition.js +0 -0
- /package/dist/{src/transition → transition}/useMaxWidthTransition.js +0 -0
- /package/dist/{src/transition → transition}/useScaleTransition.js +0 -0
- /package/dist/{src/transition → transition}/useSkeletonPlaceholder.js +0 -0
- /package/dist/{src/transition → transition}/useSlideTransition.js +0 -0
- /package/dist/{src/transition → transition}/useTransition.js +0 -0
- /package/dist/{src/transition → transition}/utils.js +0 -0
- /package/dist/{src/tree → tree}/DefaultTreeItemRenderer.js +0 -0
- /package/dist/{src/tree → tree}/Tree.js +0 -0
- /package/dist/{src/tree → tree}/TreeGroup.js +0 -0
- /package/dist/{src/tree → tree}/TreeItem.js +0 -0
- /package/dist/{src/tree → tree}/TreeItemExpander.js +0 -0
- /package/dist/{src/tree → tree}/TreeProvider.js +0 -0
- /package/dist/{src/tree → tree}/styles.js +0 -0
- /package/dist/{src/tree → tree}/types.js +0 -0
- /package/dist/{src/tree → tree}/useTree.js +0 -0
- /package/dist/{src/tree → tree}/useTreeExpansion.js +0 -0
- /package/dist/{src/tree → tree}/useTreeItems.js +0 -0
- /package/dist/{src/tree → tree}/useTreeMovement.js +0 -0
- /package/dist/{src/tree → tree}/useTreeSelection.js +0 -0
- /package/dist/{src/tree → tree}/utils.js +0 -0
- /package/dist/{src/types.js → types.js} +0 -0
- /package/dist/{src/typography → typography}/SrOnly.js +0 -0
- /package/dist/{src/typography → typography}/TextContainer.js +0 -0
- /package/dist/{src/typography → typography}/Typography.js +0 -0
- /package/dist/{src/typography → typography}/WritingDirectionProvider.js +0 -0
- /package/dist/{src/useAsyncAction.js → useAsyncAction.js} +0 -0
- /package/dist/{src/useDebouncedFunction.js → useDebouncedFunction.js} +0 -0
- /package/dist/{src/useDropzone.js → useDropzone.js} +0 -0
- /package/dist/{src/useElementSize.js → useElementSize.js} +0 -0
- /package/dist/{src/useEnsuredId.js → useEnsuredId.js} +0 -0
- /package/dist/{src/useEnsuredRef.js → useEnsuredRef.js} +0 -0
- /package/dist/{src/useEnsuredState.js → useEnsuredState.js} +0 -0
- /package/dist/{src/useHtmlClassName.js → useHtmlClassName.js} +0 -0
- /package/dist/{src/useIntersectionObserver.js → useIntersectionObserver.js} +0 -0
- /package/dist/{src/useIsomorphicLayoutEffect.js → useIsomorphicLayoutEffect.js} +0 -0
- /package/dist/{src/useLocalStorage.js → useLocalStorage.js} +0 -0
- /package/dist/{src/useOrientation.js → useOrientation.js} +0 -0
- /package/dist/{src/usePageInactive.js → usePageInactive.js} +0 -0
- /package/dist/{src/useResizeListener.js → useResizeListener.js} +0 -0
- /package/dist/{src/useResizeObserver.js → useResizeObserver.js} +0 -0
- /package/dist/{src/useThrottledFunction.js → useThrottledFunction.js} +0 -0
- /package/dist/{src/useToggle.js → useToggle.js} +0 -0
- /package/dist/{src/useUnmounted.js → useUnmounted.js} +0 -0
- /package/dist/{src/useWindowSize.js → useWindowSize.js} +0 -0
- /package/dist/{src/utils → utils}/RenderRecursively.js +0 -0
- /package/dist/{src/utils → utils}/alphaNumericSort.js +0 -0
- /package/dist/{src/utils → utils}/applyRef.js +0 -0
- /package/dist/{src/utils → utils}/bem.js +0 -0
- /package/dist/{src/utils → utils}/filters.js +0 -0
- /package/dist/{src/utils → utils}/getClientPosition.js +0 -0
- /package/dist/{src/utils → utils}/getMiddleOfRange.js +0 -0
- /package/dist/{src/utils → utils}/getPercentage.js +0 -0
- /package/dist/{src/utils → utils}/getRangeDefaultValue.js +0 -0
- /package/dist/{src/utils → utils}/getRangeSteps.js +0 -0
- /package/dist/{src/utils → utils}/identity.js +0 -0
- /package/dist/{src/utils → utils}/isElementVisible.js +0 -0
- /package/dist/{src/utils → utils}/loop.js +0 -0
- /package/dist/{src/utils → utils}/nearest.js +0 -0
- /package/dist/{src/utils → utils}/parseCssLengthUnit.js +0 -0
- /package/dist/{src/utils → utils}/randomInt.js +0 -0
- /package/dist/{src/utils → utils}/wait.js +0 -0
- /package/dist/{src/utils → utils}/withinRange.js +0 -0
- /package/dist/{src/window-splitter → window-splitter}/WindowSplitter.js +0 -0
- /package/dist/{src/window-splitter → window-splitter}/useWindowSplitter.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/Select.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n useEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { IconRotator } from \"../icon/IconRotator.js\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { Menu, type MenuProps } from \"../menu/Menu.js\";\nimport { findMatchIndex } from \"../movement/findMatchIndex.js\";\nimport {\n KeyboardMovementProvider,\n useKeyboardMovementProvider,\n} from \"../movement/useKeyboardMovementProvider.js\";\nimport { isSearchableEvent } from \"../movement/utils.js\";\nimport { BELOW_CENTER_ANCHOR } from \"../positioning/constants.js\";\nimport {\n type TransitionEnterHandler,\n type TransitionExitHandler,\n} from \"../transition/types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useToggle } from \"../useToggle.js\";\nimport { loop } from \"../utils/loop.js\";\nimport { SelectValue } from \"./SelectValue.js\";\nimport { TextField, type TextFieldProps } from \"./TextField.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { select } from \"./selectStyles.js\";\nimport { extractOptionsFromChildren } from \"./selectUtils.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutoCompleteProps,\n} from \"./types.js\";\nimport { ListboxProvider } from \"./useListboxProvider.js\";\nimport { triggerManualChangeEvent, tryToSubmitRelatedForm } from \"./utils.js\";\n\nconst EMPTY_STRING = \"\" as const;\nconst noop = (): void => {\n // do nothing\n};\n\nconst getNonDisabledOptions = (\n container: HTMLElement\n): readonly HTMLElement[] => [\n ...container.querySelectorAll<HTMLLIElement>(\n '[role=\"option\"]:not([aria-disabled])'\n ),\n];\n\n/**\n * This is a convenience type for casting the `event.currentTarget.value` of a\n * `Select`'s change event to be union of available values.\n *\n * Note: The change event does not provide any sort of validation on the value\n * so automation tools like Cypress, Playwright, or Selenium might set an\n * invalid value. This also does not work for numbers, so you will need to\n * implement that yourself.\n *\n * @example\n * Simple Usage\n * ```tsx\n * import type { SelectedChangeEvent } from \"@react-md/core\";\n * import { Select, Option } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * type Value = \"\" | \"a\" | \"b\" | \"c\" | \"d\";\n *\n * function Example(): ReactElement {\n * const [value, setValue] = useState<Value>(\"\");\n *\n * const handleChange = (event: SelectChangeEvent<Value>): void => {\n * // No type error!\n * // `event.currentTarget.value`'s type is `Value` instead of a generic `string`\n * setValue(event.currentTarget.value);\n * };\n *\n * return (\n * <Select\n * label=\"Label\"\n * value={value}\n * onChange={handleChange}\n * >\n * <Option value=\"a\">First</Option>\n * <Option value=\"b\">Second</Option>\n * <Option value=\"c\">Third</Option>\n * <Option value=\"d\">Fourth</Option>\n * </Select>\n * );\n * }\n * ```\n * @remarks \\@since 6.0.0\n */\nexport type SelectChangeEvent<Value extends string> =\n ChangeEvent<HTMLInputElement> & { currentTarget: { value: Value } };\n\n/**\n * @remarks \\@since 6.0.0 Rewritten with a new API.\n */\nexport interface SelectProps<Value extends string>\n extends Omit<TextFieldProps, \"placeholder\" | \"type\" | \"onChange\">,\n UserAgentAutoCompleteProps,\n FormFieldOptions {\n /**\n * An optional ref to pass to the hidden `<input type=\"text\" />` element that\n * stores the current value. This is really only useful if you'd like to keep\n * this component uncontrolled and access the value through\n * `inputRef.current.value`.\n */\n inputRef?: Ref<HTMLInputElement>;\n\n /**\n * Set this to a custom dropdown icon or `null` to not render a dropdown icon.\n *\n * @defaultValue `getIcon(\"dropdown\")`\n */\n icon?: ReactNode;\n\n /**\n * Set this value to fully control the value of the select component. The\n * {@link onChange} handler **must** also be provided if this prop exists.\n */\n value?: Value;\n\n /**\n * An optional default value when the value of the select component is\n * uncontrolled.\n *\n * @defaultValue `\"\"`\n */\n defaultValue?: Value;\n\n /** @see {@link SelectChangeEvent} */\n onChange?(event: SelectChangeEvent<Value>): void;\n\n /**\n * Any additional props to provide to the `Menu` component that renders all\n * the `Option`s.\n *\n * The menu will always have these default values unless explicity\n * overwritten by this prop:\n *\n * - `aria-labelledby={containerId}`\n * - `anchor={BELOW_CENTER_ANCHOR}`\n * - `width=\"min\"`\n */\n menuProps?: Omit<MenuProps, \"visible\" | \"onRequestClose\" | \"fixedTo\">;\n\n /**\n * Set this to `true` to update all the `Option` components to no longer\n * render an icon while selected.\n *\n * @defaultValue `false`\n */\n disableSelectedIcon?: boolean;\n\n /**\n * Set this to `true` to prevent the current option from rendering the\n * `leftAddon` in the `TextFieldContainer`.\n *\n * @defaultValue `false`\n */\n disableValueAddon?: boolean;\n\n /**\n * This should be the available `Option`s for the select to choose from. It\n * can also contain `OptGroup` or any other elements but only clicking on an\n * `Option` component will update the value.\n */\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @remarks \\@since 6.0.0 Rewritten with a new API.\n */\nexport function Select<Value extends string>(\n props: SelectProps<Value>\n): ReactElement {\n const {\n id: propId,\n className,\n active = false,\n inputRef: propInputRef,\n inputClassName,\n menuProps = {},\n containerProps: propContainerProps = {},\n icon: propIcon,\n value,\n defaultValue,\n theme: propTheme,\n onChange = noop,\n leftAddon,\n rightAddon: propRightAddon,\n disableValueAddon = false,\n disableSelectedIcon = false,\n children,\n ...remaining\n } = props;\n const { disabled = false, form } = props;\n\n const id = useEnsuredId(propId, \"select\");\n const containerId = useEnsuredId(propContainerProps.id, \"select-container\");\n const icon = getIcon(\"dropdown\", propIcon);\n const theme = getFormConfig(\"theme\", propTheme);\n\n const { toggled: visible, enable: show, disable: hide } = useToggle();\n const [inputRef, inputRefCallback] = useEnsuredRef(propInputRef);\n const [containerRef, containerRefCallback] = useEnsuredRef(\n propContainerProps.ref\n );\n const [menuRef, menuRefCallback] = useEnsuredRef(menuProps.nodeRef);\n const [currentValue, setCurrentValue] = useState(() => {\n if (typeof defaultValue !== \"undefined\") {\n return defaultValue;\n }\n\n return typeof value !== \"undefined\" ? value : EMPTY_STRING;\n });\n const initialValue = useRef(currentValue);\n\n useEffect(() => {\n const select = inputRef.current;\n if (!select) {\n return;\n }\n\n const formElement =\n select.closest<HTMLFormElement>(\"form\") ||\n (form && document.getElementById(form)) ||\n null;\n\n if (!formElement) {\n return;\n }\n\n const handleReset = (): void => {\n triggerManualChangeEvent(select, initialValue.current);\n };\n\n formElement.addEventListener(\"reset\", handleReset);\n return () => {\n formElement.removeEventListener(\"reset\", handleReset);\n };\n }, [form, inputRef]);\n\n const { options, searchValues, currentOption, currentIndex } =\n extractOptionsFromChildren(\n children,\n typeof value === \"undefined\" ? currentValue : value\n );\n const totalOptions = options.length - 1;\n\n let rightAddon = propRightAddon;\n if (typeof rightAddon === \"undefined\" && icon) {\n rightAddon = <IconRotator rotated={visible}>{icon}</IconRotator>;\n }\n\n const listboxContext = useMemo(\n () => ({\n inputRef,\n currentValue: typeof value === \"undefined\" ? currentValue : value,\n disableSelectedIcon,\n }),\n [currentValue, disableSelectedIcon, inputRef, value]\n );\n\n // TODO: Need to update this to support editable listboxes where these props\n // would go to the input element instead of the container\n const a11yProps = {\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": visible,\n role: \"combobox\",\n tabIndex: disabled ? -1 : 0,\n } as const;\n const {\n movementProps,\n movementContext,\n currentFocusIndex,\n setActiveDescendantId,\n } = useKeyboardMovementProvider<HTMLDivElement>({\n onFocus: propContainerProps.onFocus,\n onClick(event) {\n propContainerProps.onClick?.(event);\n if (disabled) {\n return;\n }\n\n show();\n },\n onKeyDown(event) {\n propContainerProps.onKeyDown?.(event);\n if (disabled) {\n return;\n }\n\n if (visible) {\n if (event.key === \"Escape\" || event.key === \"Tab\") {\n event.stopPropagation();\n hide();\n }\n\n return;\n }\n\n if (isSearchableEvent(event)) {\n event.stopPropagation();\n\n const nextIndex = findMatchIndex({\n value: event.key,\n values: searchValues,\n startIndex: event.shiftKey ? -1 : currentIndex,\n });\n\n if (nextIndex !== -1) {\n triggerManualChangeEvent(inputRef.current, options[nextIndex].value);\n }\n return;\n }\n\n switch (event.key) {\n case \" \":\n event.preventDefault();\n event.stopPropagation();\n show();\n break;\n case \"Enter\":\n tryToSubmitRelatedForm(event, form);\n break;\n case \"Home\":\n event.preventDefault();\n event.stopPropagation();\n if (currentIndex !== 0) {\n triggerManualChangeEvent(inputRef.current, options[0].value);\n }\n break;\n case \"End\":\n event.preventDefault();\n event.stopPropagation();\n if (currentIndex !== totalOptions) {\n triggerManualChangeEvent(\n inputRef.current,\n options[totalOptions].value\n );\n }\n break;\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n event.stopPropagation();\n\n const increment = event.key === \"ArrowDown\";\n if (currentIndex === -1 && !increment) {\n // this matches the native select behavior where it will do\n // nothing if there is no current value\n return;\n }\n\n const nextIndex = loop({\n max: totalOptions,\n value: currentIndex,\n minmax: true,\n increment,\n });\n\n triggerManualChangeEvent(inputRef.current, options[nextIndex].value);\n break;\n }\n }\n },\n loopable: false,\n searchable: true,\n programmatic: true,\n includeDisabled: false,\n tabIndexBehavior: \"virtual\",\n getDefaultFocusedIndex(focusOptions) {\n if (typeof menuProps.getDefaultFocusedIndex === \"function\") {\n return menuProps.getDefaultFocusedIndex(focusOptions);\n }\n\n const val = typeof value === \"undefined\" ? currentValue : value;\n return options.findIndex((option) => option.value === val);\n },\n getFocusableElements() {\n const menu = menuRef.current;\n if (!menu) {\n return [];\n }\n\n return [\n ...menu.querySelectorAll<HTMLLIElement>(\n '[role=\"option\"]:not([aria-disabled])'\n ),\n ];\n },\n });\n\n const containerProps: Required<SelectProps<Value>>[\"containerProps\"] = {\n ...propContainerProps,\n ...movementProps,\n ...a11yProps,\n ref: containerRefCallback,\n };\n\n const { onEntering, onEntered, onExiting, onExited, disableTransition } =\n menuProps;\n const handleMounting =\n (callback: TransitionEnterHandler | undefined = noop, skipped: boolean) =>\n (appearing: boolean) => {\n callback(appearing);\n\n const menu = menuRef.current;\n if (!menu || skipped) {\n return;\n }\n\n // Since the keyboard movement behavior is tied to the\n // `TextFieldContainer` or `input` element instead of the menu for this\n // widget, the focus index and active descendant must manually be updated\n // whenever the menu becomes visible. Without this, no items will be\n // focused until the first keyboard event that would move focus\n const val = typeof value === \"undefined\" ? currentValue : value;\n const focusables = getNonDisabledOptions(menu);\n const index = Math.max(\n 0,\n options.findIndex((option) => option.value === val)\n );\n focusables[index].scrollIntoView({ block: \"nearest\" });\n currentFocusIndex.current = index;\n setActiveDescendantId(focusables[index]?.id || \"\");\n };\n\n const handleUnmounting =\n (callback: TransitionExitHandler | undefined = noop, skipped = false) =>\n (): void => {\n callback();\n\n if (!skipped) {\n // since the menu is unmounted or set to hidden while not visible, need\n // to clear the aria-activedescendant and current focus index when\n // hiding\n currentFocusIndex.current = -1;\n setActiveDescendantId(\"\");\n }\n };\n\n return (\n <ListboxProvider value={listboxContext}>\n <KeyboardMovementProvider value={movementContext}>\n <TextField\n {...remaining}\n aria-hidden\n id={id}\n ref={inputRefCallback}\n containerProps={containerProps}\n type=\"text\"\n tabIndex={-1}\n theme={theme}\n value={value}\n defaultValue={defaultValue}\n active={active || visible}\n leftAddon={leftAddon}\n rightAddon={rightAddon}\n className={cnb(\"rmd-select-container\", className)}\n inputClassName={select({\n theme,\n className: inputClassName,\n })}\n onChange={(event) => {\n onChange(event as SelectChangeEvent<Value>);\n if (typeof value !== \"undefined\") {\n return;\n }\n\n const nextValue = event.currentTarget.value;\n const valueAsNumber = parseFloat(nextValue);\n const nextOption = options.find(\n (option) =>\n // need to compare both here since\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n option.value === nextValue || option.value === valueAsNumber\n );\n\n setCurrentValue(\n nextOption ? nextOption.value : initialValue.current\n );\n }}\n >\n <SelectValue disableAddon={disableValueAddon} {...currentOption} />\n </TextField>\n <Menu\n aria-labelledby={containerId}\n anchor={BELOW_CENTER_ANCHOR}\n role=\"listbox\"\n width=\"min\"\n {...menuProps}\n ref={menuRefCallback}\n visible={visible}\n fixedTo={containerRef}\n onRequestClose={hide}\n onEntering={handleMounting(onEntering, false)}\n onEntered={handleMounting(onEntered, !disableTransition)}\n onExiting={handleUnmounting(onExiting, false)}\n onExited={handleUnmounting(onExited, !disableTransition)}\n sheetProps={{\n ...menuProps.sheetProps,\n onEntering: handleMounting(menuProps.sheetProps?.onEntering, false),\n onEntered: handleMounting(\n menuProps.sheetProps?.onEntered,\n !disableTransition\n ),\n }}\n >\n {children}\n </Menu>\n </KeyboardMovementProvider>\n </ListboxProvider>\n );\n}\n"],"names":["cnb","useEffect","useMemo","useRef","useState","IconRotator","getIcon","Menu","findMatchIndex","KeyboardMovementProvider","useKeyboardMovementProvider","isSearchableEvent","BELOW_CENTER_ANCHOR","useEnsuredId","useEnsuredRef","useToggle","loop","SelectValue","TextField","getFormConfig","select","extractOptionsFromChildren","ListboxProvider","triggerManualChangeEvent","tryToSubmitRelatedForm","EMPTY_STRING","noop","getNonDisabledOptions","container","querySelectorAll","Select","props","id","propId","className","active","inputRef","propInputRef","inputClassName","menuProps","containerProps","propContainerProps","icon","propIcon","value","defaultValue","theme","propTheme","onChange","leftAddon","rightAddon","propRightAddon","disableValueAddon","disableSelectedIcon","children","remaining","disabled","form","containerId","toggled","visible","enable","show","disable","hide","inputRefCallback","containerRef","containerRefCallback","ref","menuRef","menuRefCallback","nodeRef","currentValue","setCurrentValue","initialValue","current","formElement","closest","document","getElementById","handleReset","addEventListener","removeEventListener","options","searchValues","currentOption","currentIndex","totalOptions","length","rotated","listboxContext","a11yProps","role","tabIndex","movementProps","movementContext","currentFocusIndex","setActiveDescendantId","onFocus","onClick","event","onKeyDown","key","stopPropagation","nextIndex","values","startIndex","shiftKey","preventDefault","increment","max","minmax","loopable","searchable","programmatic","includeDisabled","tabIndexBehavior","getDefaultFocusedIndex","focusOptions","val","findIndex","option","getFocusableElements","menu","onEntering","onEntered","onExiting","onExited","disableTransition","handleMounting","callback","skipped","appearing","focusables","index","Math","scrollIntoView","block","handleUnmounting","aria-hidden","type","nextValue","currentTarget","valueAsNumber","parseFloat","nextOption","find","disableAddon","aria-labelledby","anchor","width","fixedTo","onRequestClose","sheetProps"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SelectValue.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type ReactElement } from \"react\";\nimport { bem } from \"../utils/bem.js\";\nimport { type OptionProps } from \"./Option.js\";\n\nconst styles = bem(\"rmd-select-value\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SelectValueProps extends Partial<OptionProps> {\n disableAddon: boolean;\n}\n\n/**\n * **Server Component**\n *\n * This component is used to render the current option.\n *\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport function SelectValue(props: SelectValueProps): ReactElement {\n const { leftAddon, disableAddon, children: propChildren } = props;\n\n let children = propChildren;\n // when the children are a string or number, wrap it in additional span so\n // that overflow can be ellipsis-ed\n if (typeof children === \"string\" || typeof children === \"number\") {\n children = <span className={styles(\"v\")}>{children}</span>;\n }\n\n return (\n <div className={cnb(styles())}>\n {!disableAddon && leftAddon}\n {children}\n </div>\n );\n}\n"],"names":["cnb","bem","styles","SelectValue","props","leftAddon","disableAddon","children","propChildren","span","className","div"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AASnB;;;;;;;CAOC,GACD,OAAO,SAASE,YAAYC,KAAuB;IACjD,MAAM,EAAEC,SAAS,EAAEC,YAAY,EAAEC,UAAUC,YAAY,EAAE,GAAGJ;IAE5D,IAAIG,WAAWC;IACf,0EAA0E;IAC1E,mCAAmC;IACnC,IAAI,OAAOD,aAAa,YAAY,OAAOA,aAAa,UAAU;QAChEA,yBAAW,KAACE;YAAKC,WAAWR,OAAO;sBAAOK;;IAC5C;IAEA,qBACE,MAACI;QAAID,WAAWV,IAAIE;;YACjB,CAACI,gBAAgBD;YACjBE;;;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/Slider.tsx"],"sourcesContent":["\"use client\";\nimport {\n useRef,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { useDraggable } from \"../draggable/useDraggable.js\";\nimport { type TooltipProps } from \"../tooltip/Tooltip.js\";\nimport {\n type LabelRequiredForA11y,\n type PropsWithRef,\n type UseStateSetter,\n} from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { identity } from \"../utils/identity.js\";\nimport { withinRange } from \"../utils/withinRange.js\";\nimport { SliderContainer, type SliderAddonProps } from \"./SliderContainer.js\";\nimport {\n SliderThumb,\n type SliderThumbPresentation,\n type SliderThumbProps,\n} from \"./SliderThumb.js\";\nimport { SliderTrack } from \"./SliderTrack.js\";\nimport {\n SliderValueMarks,\n type SliderMarksOptions,\n} from \"./SliderValueMarks.js\";\nimport { getJumpValue } from \"./sliderUtils.js\";\nimport { type RangeSliderState } from \"./useRangeSlider.js\";\nimport { type SliderState, type SliderValueOptions } from \"./useSlider.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-slider-color\"?: string;\n \"--rmd-slider-active-color\"?: string;\n \"--rmd-slider-inactive-color\"?: string;\n \"--rmd-slider-size\"?: string | number;\n \"--rmd-slider-active-size\"?: string | number;\n \"--rmd-slider-inactive-size\"?: string | number;\n \"--rmd-slider-vertical-size\"?: string | number;\n \"--rmd-slider-offset-1\"?: string;\n \"--rmd-slider-offset-2\"?: string;\n \"--rmd-slider-tooltip-scale\"?: string | number;\n \"--rmd-slider-tooltip-translate\"?: string | number;\n \"--rmd-slider-mark-offset\"?: string;\n }\n}\n\nconst emptyString = (): string => \"\";\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 2.5.0\n */\nexport interface BaseSliderProps\n extends HTMLAttributes<HTMLDivElement>,\n SliderThumbPresentation,\n SliderValueOptions,\n SliderAddonProps,\n SliderMarksOptions {\n /**\n * This can be used to apply a ref to the container element since this\n * component does not use `forwardRef`.\n */\n containerRef?: Ref<HTMLDivElement>;\n\n /**\n * The amount to jump the slider's value when the `PageUp` or `PageDown`\n * key is pressed.\n *\n * The default value is 1/10th of the range.\n *\n * @defaultValue `(numberOfSteps / 10) * step`\n */\n jump?: number;\n\n /** @defaultValue `false` */\n disabled?: boolean;\n\n /** @defaultValue `false` */\n vertical?: boolean;\n\n /**\n * This can be used to apply custom styles or a `ref` to the track element if\n * needed.\n */\n trackProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;\n\n /**\n * This can be used to configure any additional tooltip props like the\n * CSS transition `classNames`, styles, etc.\n *\n * This will only be used when {@link discrete} is `true`.\n *\n * Note: The `position` will always be `\"above\"` for horizontal sliders and\n * `\"left\"` for vertical sliders.\n */\n tooltipProps?: Omit<Partial<TooltipProps>, \"position\">;\n}\n\n/**\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Only requires `value` and `setValue` props instead of all the\n * slider controls.\n * \\@since 6.0.0 The `thumbLabel` and `thumbLabelledBy` props were removed. Use\n * the `aria-label` or `aria-labelledby` props instead.\n */\nexport interface SliderProps extends BaseSliderProps, SliderState {\n /**\n * Any additional props that should be provided to the thumb element. This can\n * be useful for applying additional styling.\n */\n thumbProps?: HTMLAttributes<HTMLSpanElement>;\n\n /**\n * This can be used to update the discrete slider's tooltip props.\n *\n * @example\n * Custom Styles\n * ```tsx\n * <Slider\n * {...slider}\n * discrete\n * getTooltipProps={(value) => ({\n * className: cssUtils({\n * backgroundColor: value < 30 ? \"warning\" : undefined,\n * }),\n * })}\n * />\n * ```\n */\n getTooltipProps?(value: number): Partial<TooltipProps>;\n\n /**\n * This can be used to update the discrete slider's value tooltip.\n *\n * @example\n * More Value Information\n * ```tsx\n * <Slider\n * {...slider}\n * discrete\n * getTooltipChildren={(value) => (\n * <TextIconSpacing icon={<FavoriteIcon />}>\n * {value}\n * </TextIconSpacing>\n * )}\n * />\n * ```\n *\n * This will only be used when {@link discrete} is `true`.\n *\n * @defaultValue `(value) => value`\n */\n getTooltipChildren?(value: number): ReactNode;\n}\n\n/**\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Only requires `rangeValue` and `setRangeValue` props instead of\n * all the slider controls.\n * \\@since 6.0.0 The `thumb1Label`, `thumb1LabelledBy`, `thumb1Props`,\n * `thumb2Label`, `thumb2LabelledBy` and `thumb2Props` were renamed to\n * `minThumbLabel`, `minThumbLabelledBy`, `minThumbProps`, `maxThumbLabel`,\n * `maxThumbLabelledBy`, and `maxThumbProps` respectively.\n */\nexport interface RangeSliderProps extends BaseSliderProps, RangeSliderState {\n /**\n * Any additional props that should be provided to the min value thumb\n * element. This can be useful for applying additional styling.\n */\n minThumbProps?: HTMLAttributes<HTMLSpanElement>;\n\n /**\n * Any additional props that should be provided to the max value thumb\n * element. This can be useful for applying additional styling.\n */\n maxThumbProps?: HTMLAttributes<HTMLSpanElement>;\n\n /**\n * The `aria-label` to apply to the min value.\n *\n * Note: Either this prop or the {@link minThumbLabelledBy} are required for\n * accessibility.\n *\n * @defaultValue `\"Min\"`\n */\n minThumbLabel?: string;\n\n /**\n * Set this to an element's id that labels the min value.\n *\n * Note: Either this prop or the {@link minThumbLabel} are required for\n * accessibility.\n */\n minThumbLabelledBy?: string;\n\n /**\n * The `aria-label` to apply to the max value.\n *\n * Note: Either this prop or the {@link maxThumbLabelledBy} are required for\n * accessibility.\n *\n * @defaultValue `\"Max\"`\n */\n maxThumbLabel?: string;\n\n /**\n * Set this to an element's id that labels the max value.\n *\n * Note: Either this prop or the {@link maxThumbLabel} are required for\n * accessibility.\n */\n maxThumbLabelledBy?: string;\n\n /**\n * This can be used to update the discrete slider's tooltip props.\n *\n * @example\n * Custom Styles\n * ```tsx\n * <Slider\n * {...slider}\n * discrete\n * getTooltipProps={(value, isFirstThumb) => ({\n * className: cssUtils({\n * backgroundColor: value < 30 && isFirstThumb ? \"warning\" : undefined,\n * }),\n * })}\n * />\n * ```\n */\n getTooltipProps?(value: number, isFirstThumb: boolean): Partial<TooltipProps>;\n\n /**\n * This can be used to update the discrete slider's value tooltip.\n *\n * @example\n * More Value Information\n * ```tsx\n * <Slider\n * {...rangeSlider}\n * discrete\n * getTooltipChildren={(value, isFirstThumb) => (\n * <TextIconSpacing\n * icon={isFirstThumb ? <FavoriteIcon /> : <CloseIcon /}\n * iconAfter={!isFirstValue}\n * >\n * {value}\n * </TextIconSpacing>\n * )}\n * />\n * ```\n *\n * This will only be used when {@link discrete} is `true`.\n *\n * @defaultValue `(value) => value`\n */\n getTooltipChildren?(value: number, isFirstThumb: boolean): ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { Form, Slider, useSlider } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const slider = useSlider({\n * // these are the defaults and can be changed\n * min: 0,\n * max: 100,\n * step: 1,\n * defaultValue: 50,\n * });\n *\n * // if you need access to the current value or manually change the value\n * // yourself.\n * const { value, setValue } = slider;\n *\n * return (\n * <Form>\n * <Slider {...slider} aria-label=\"Volume\" />\n * </Form>\n * );\n * }\n * ```\n *\n * @example\n * Range Slider Example\n * ```tsx\n * import { Fieldset, Form, Legend, Slider, useRangeSlider } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useId } from \"react\";\n *\n * function Example(): ReactElement {\n * const slider = useRangeSlider({\n * // these are the defaults and can be changed\n * min: 0,\n * max: 100,\n * step: 1,\n * defaultValue: [0, 100],\n * });\n *\n * // if you need access to the current value or manually change the value\n * // yourself.\n * const { rangeValue, setRangeValue } = slider;\n * const [minPrice, maxPrice] = rangeValue;\n *\n * return (\n * <Form>\n * <Fieldset>\n * <Legend>Price Range</Legend>\n * <Slider {...slider} />\n * </Fieldset>\n * </Form>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 The `Slider` and `RangeSlider` have been combined into the\n * single `Slider` component and removed the `label` support.\n * \\@since 6.0.0 Each thumb includes an invisible `<input type=\"range\">` instead\n * of an `<input type=\"hidden\">`.\n */\nexport function Slider(props: LabelRequiredForA11y<SliderProps>): ReactElement;\nexport function Slider(props: RangeSliderProps): ReactElement;\nexport function Slider(\n props: LabelRequiredForA11y<SliderProps> | RangeSliderProps\n): ReactElement {\n const {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n id: propId,\n min = 0,\n max = 100,\n step = 1,\n jump: propJump,\n vertical = false,\n discrete = false,\n disabled = false,\n getValueText = emptyString,\n children,\n marks = false,\n value,\n setValue,\n rangeValue,\n setRangeValue,\n trackProps,\n thumbProps,\n minThumbProps,\n minThumbLabel,\n minThumbLabelledBy,\n maxThumbProps,\n maxThumbLabel,\n maxThumbLabelledBy,\n tooltipProps,\n containerRef,\n getMarkProps = noop,\n getMarkLabelProps = noop,\n tooltipVisibility = \"auto\",\n getTooltipProps = noop,\n getTooltipChildren = identity,\n disableSmoothDragging = !!marks,\n ...remaining\n } = props as SliderProps & RangeSliderProps;\n\n const jump = getJumpValue({ min, max, step, jump: propJump });\n const isRangeSlider = typeof value !== \"number\";\n\n const thumb1Id = useEnsuredId(propId, \"slider\");\n const thumb2Id = `${thumb1Id}-2`;\n const thumb1Ref = useRef<HTMLSpanElement>(null);\n const thumb2Ref = useRef<HTMLSpanElement>(null);\n\n let thumb1Max = max;\n let thumb2Min = min;\n let thumb1Label: string | undefined;\n let thumb1LabelledBy: string | undefined;\n let thumb2Label: string | undefined;\n let thumb2LabelledBy: string | undefined;\n let thumb1Value: number;\n let thumb2Value: number;\n let setThumb1Value: UseStateSetter<number>;\n let setThumb2Value: UseStateSetter<number>;\n if (!isRangeSlider) {\n thumb1Value = value;\n setThumb1Value = setValue;\n thumb2Value = max;\n setThumb2Value = noop;\n thumb1Label = ariaLabel;\n thumb1LabelledBy = ariaLabelledBy;\n } else {\n thumb1LabelledBy = minThumbLabelledBy;\n thumb1Label = minThumbLabel || (minThumbLabelledBy ? undefined : \"Min\");\n thumb2LabelledBy = maxThumbLabelledBy;\n thumb2Label = maxThumbLabel || (maxThumbLabelledBy ? undefined : \"max\");\n\n [thumb1Value, thumb2Value] = rangeValue;\n\n thumb1Max = thumb2Value - step;\n thumb2Min = thumb1Value + step;\n\n setThumb1Value = (valueOrSetter) => {\n setRangeValue((prevRangeValue) => {\n const value =\n typeof valueOrSetter === \"number\"\n ? valueOrSetter\n : valueOrSetter(prevRangeValue[0]);\n\n return [value, prevRangeValue[1]];\n });\n };\n setThumb2Value = (valueOrSetter) => {\n setRangeValue((prevRangeValue) => {\n const value =\n typeof valueOrSetter === \"number\"\n ? valueOrSetter\n : valueOrSetter(prevRangeValue[1]);\n\n return [prevRangeValue[0], value];\n });\n };\n }\n\n const [thumb1Dragging, setThumb1Dragging] = useState(false);\n const {\n onKeyDown: thumb1OnKeyDown,\n onMouseUp: thumb1OnMouseUp,\n onMouseDown: thumb1OnMouseDown,\n onMouseMove: thumb1OnMouseMove,\n onTouchStart: thumb1OnTouchStart,\n onTouchMove: thumb1OnTouchMove,\n dragPercentage: thumb1DragPercentage,\n draggableRef: thumb1DraggableRef,\n } = useDraggable({\n ref: thumb1Ref,\n min,\n max: thumb1Max,\n rangeMax: max,\n step,\n value: thumb1Value,\n setValue: setThumb1Value,\n dragging: thumb1Dragging,\n setDragging: setThumb1Dragging,\n disabled,\n vertical,\n withinOffsetParent: true,\n disableDraggingCursorClassName: true,\n onKeyDown(event) {\n switch (event.key) {\n case \"PageUp\":\n event.preventDefault();\n event.stopPropagation();\n setThumb1Value((prevValue) =>\n withinRange({\n min,\n max: thumb1Max,\n value: prevValue + jump,\n })\n );\n break;\n case \"PageDown\":\n event.preventDefault();\n event.stopPropagation();\n setThumb1Value((prevValue) =>\n withinRange({\n min,\n max: thumb1Max,\n value: prevValue - jump,\n })\n );\n break;\n }\n },\n });\n\n const [thumb2Dragging, setThumb2Dragging] = useState(false);\n const {\n onKeyDown: thumb2OnKeyDown,\n onMouseUp: thumb2OnMouseUp,\n onMouseDown: thumb2OnMouseDown,\n onMouseMove: thumb2OnMouseMove,\n onTouchStart: thumb2OnTouchStart,\n onTouchMove: thumb2OnTouchMove,\n dragPercentage: thumb2DragPercentage,\n draggableRef: thumb2DraggableRef,\n } = useDraggable({\n ref: thumb2Ref,\n min: thumb2Min,\n max,\n rangeMin: min,\n step,\n value: thumb2Value,\n setValue: setThumb2Value,\n dragging: thumb2Dragging,\n setDragging: setThumb2Dragging,\n vertical,\n disabled,\n withinOffsetParent: true,\n disableDraggingCursorClassName: true,\n onKeyDown(event) {\n switch (event.key) {\n case \"PageUp\":\n event.preventDefault();\n event.stopPropagation();\n setThumb2Value((prevValue) =>\n withinRange({\n min: thumb2Min,\n max,\n value: prevValue + jump,\n })\n );\n break;\n case \"PageDown\":\n event.preventDefault();\n event.stopPropagation();\n setThumb2Value((prevValue) =>\n withinRange({\n min: thumb2Min,\n max,\n value: prevValue - jump,\n })\n );\n break;\n }\n },\n });\n\n const dragging = thumb1Dragging || thumb2Dragging;\n const sharedThumbProps = {\n step,\n animate: !dragging,\n discrete,\n disabled,\n vertical,\n getValueText,\n tooltipProps,\n getTooltipProps,\n getTooltipChildren,\n tooltipVisibility,\n disableSmoothDragging,\n } as const satisfies Partial<SliderThumbProps>;\n\n return (\n <SliderContainer {...remaining} ref={containerRef} vertical={vertical}>\n <SliderTrack\n {...trackProps}\n min={min}\n max={max}\n thumb1Ref={thumb1Ref}\n thumb1Value={thumb1Value}\n thumb1Dragging={!disableSmoothDragging && thumb1Dragging}\n thumb1DragPercentage={thumb1DragPercentage}\n thumb1OnMouseUp={thumb1OnMouseUp}\n thumb1OnMouseDown={thumb1OnMouseDown}\n thumb1OnMouseMove={thumb1OnMouseMove}\n thumb1OnTouchStart={thumb1OnTouchStart}\n thumb1OnTouchMove={thumb1OnTouchMove}\n thumb2Ref={thumb2Ref}\n thumb2Value={thumb2Value}\n thumb2Dragging={!disableSmoothDragging && thumb2Dragging}\n thumb2DragPercentage={thumb2DragPercentage}\n thumb2OnMouseUp={thumb2OnMouseUp}\n thumb2OnMouseDown={thumb2OnMouseDown}\n thumb2OnMouseMove={thumb2OnMouseMove}\n thumb2OnTouchStart={thumb2OnTouchStart}\n thumb2OnTouchMove={thumb2OnTouchMove}\n animate={!disableSmoothDragging && !dragging}\n disabled={disabled}\n vertical={vertical}\n isRangeSlider={isRangeSlider}\n >\n <SliderThumb\n aria-label={thumb1Label as string}\n aria-labelledby={thumb1LabelledBy}\n id={thumb1Id}\n {...thumbProps}\n {...minThumbProps}\n {...sharedThumbProps}\n ref={thumb1DraggableRef}\n min={min}\n max={thumb1Max}\n value={thumb1Value}\n index={1}\n active={thumb1Dragging}\n onChange={(event) =>\n setThumb1Value(event.currentTarget.valueAsNumber)\n }\n onKeyDown={thumb1OnKeyDown}\n />\n {isRangeSlider && (\n <SliderThumb\n aria-label={thumb2Label as string}\n aria-labelledby={thumb2LabelledBy}\n id={thumb2Id}\n {...maxThumbProps}\n {...sharedThumbProps}\n ref={thumb2DraggableRef}\n min={thumb2Min}\n max={max}\n value={thumb2Value}\n index={2}\n active={thumb2Dragging}\n onChange={(event) =>\n setThumb2Value(event.currentTarget.valueAsNumber)\n }\n onKeyDown={thumb2OnKeyDown}\n />\n )}\n {marks && (\n <SliderValueMarks\n min={min}\n max={max}\n step={step}\n marks={marks}\n vertical={vertical}\n thumb1Value={thumb1Value}\n thumb2Value={thumb2Value}\n isRangeSlider={isRangeSlider}\n getMarkProps={getMarkProps}\n getMarkLabelProps={getMarkLabelProps}\n />\n )}\n {children}\n </SliderTrack>\n </SliderContainer>\n );\n}\n"],"names":["useRef","useState","useDraggable","useEnsuredId","identity","withinRange","SliderContainer","SliderThumb","SliderTrack","SliderValueMarks","getJumpValue","emptyString","noop","Slider","props","ariaLabel","ariaLabelledBy","id","propId","min","max","step","jump","propJump","vertical","discrete","disabled","getValueText","children","marks","value","setValue","rangeValue","setRangeValue","trackProps","thumbProps","minThumbProps","minThumbLabel","minThumbLabelledBy","maxThumbProps","maxThumbLabel","maxThumbLabelledBy","tooltipProps","containerRef","getMarkProps","getMarkLabelProps","tooltipVisibility","getTooltipProps","getTooltipChildren","disableSmoothDragging","remaining","isRangeSlider","thumb1Id","thumb2Id","thumb1Ref","thumb2Ref","thumb1Max","thumb2Min","thumb1Label","thumb1LabelledBy","thumb2Label","thumb2LabelledBy","thumb1Value","thumb2Value","setThumb1Value","setThumb2Value","undefined","valueOrSetter","prevRangeValue","thumb1Dragging","setThumb1Dragging","onKeyDown","thumb1OnKeyDown","onMouseUp","thumb1OnMouseUp","onMouseDown","thumb1OnMouseDown","onMouseMove","thumb1OnMouseMove","onTouchStart","thumb1OnTouchStart","onTouchMove","thumb1OnTouchMove","dragPercentage","thumb1DragPercentage","draggableRef","thumb1DraggableRef","ref","rangeMax","dragging","setDragging","withinOffsetParent","disableDraggingCursorClassName","event","key","preventDefault","stopPropagation","prevValue","thumb2Dragging","setThumb2Dragging","thumb2OnKeyDown","thumb2OnMouseUp","thumb2OnMouseDown","thumb2OnMouseMove","thumb2OnTouchStart","thumb2OnTouchMove","thumb2DragPercentage","thumb2DraggableRef","rangeMin","sharedThumbProps","animate","aria-label","aria-labelledby","index","active","onChange","currentTarget","valueAsNumber"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderContainer.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-slider-container\");\n\n/**\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Renamed from `SliderAddons` to `SliderContainerAddonProps`\n */\nexport interface SliderAddonProps {\n /**\n * An optional addon to render before the slider's track. This can be anything\n * and will be wrapped in the `TextIconSpacing` component.\n *\n * When the `vertical` prop is enabled, the addon will appear underneath the\n * track.\n */\n beforeAddon?: ReactNode;\n\n /**\n * An optional addon to render after the slider's track. This can be anything\n * and will be wrapped in the `TextIconSpacing` component.\n *\n * When the `vertical` prop is enabled, the addon will appear above the track.\n */\n afterAddon?: ReactNode;\n}\n\n/**\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Removed the `label` support since you'll generally want to use\n * a `Fieldset` instead.\n */\nexport interface SliderContainerProps\n extends HTMLAttributes<HTMLDivElement>,\n SliderAddonProps {\n vertical: boolean;\n}\n\n/**\n * **Server Component**\n *\n * The `SliderContainer` component is mostly an internal component that is\n * built-in to the `Slider` and `RangeSlider` components to add addons to the\n * left or right of the `SliderTrack`. When vertical, it will add addons to the\n * bottom or top instead.\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Removed the `label` support since you'll generally want to use\n * a `Fieldset` instead.\n */\nexport const SliderContainer = forwardRef<HTMLDivElement, SliderContainerProps>(\n function SliderContainer(props, ref) {\n const {\n className,\n children,\n beforeAddon,\n afterAddon,\n vertical,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cnb(\n styles({\n h: !vertical,\n \"pad-left\": !vertical && !beforeAddon,\n \"pad-right\": !vertical && !afterAddon,\n v: vertical,\n \"pad-bottom\": vertical && !beforeAddon,\n \"pad-top\": vertical && !afterAddon,\n }),\n className\n )}\n >\n {beforeAddon}\n {children}\n {afterAddon}\n </div>\n );\n }\n);\n"],"names":["cnb","forwardRef","bem","styles","SliderContainer","props","ref","className","children","beforeAddon","afterAddon","vertical","remaining","div","h","v"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6C,QAAQ;AACxE,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAuCnB;;;;;;;;;;;;;CAaC,GACD,OAAO,MAAME,gCAAkBH,WAC7B,SAASG,gBAAgBC,KAAK,EAAEC,GAAG;IACjC,MAAM,EACJC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACR,GAAGC,WACJ,GAAGP;IAEJ,qBACE,MAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLC,WAAWP,IACTG,OAAO;YACLW,GAAG,CAACH;YACJ,YAAY,CAACA,YAAY,CAACF;YAC1B,aAAa,CAACE,YAAY,CAACD;YAC3BK,GAAGJ;YACH,cAAcA,YAAY,CAACF;YAC3B,WAAWE,YAAY,CAACD;QAC1B,IACAH;;YAGDE;YACAD;YACAE;;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderMark.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type HTMLAttributes, type ReactElement } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-slider-mark\");\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface SliderMarkProps extends HTMLAttributes<HTMLSpanElement> {\n active: boolean;\n offset: string;\n vertical: boolean;\n}\n\n/**\n * **Server Component**\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function SliderMark(props: SliderMarkProps): ReactElement {\n const { active, offset, vertical, style, className, ...remaining } = props;\n\n return (\n <span\n {...remaining}\n style={{ ...style, \"--rmd-slider-mark-offset\": offset }}\n className={cnb(\n styles({\n active,\n inactive: !active,\n h: !vertical,\n v: vertical,\n }),\n className\n )}\n />\n );\n}\n"],"names":["cnb","bem","styles","SliderMark","props","active","offset","vertical","style","className","remaining","span","inactive","h","v"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAYnB;;;;;CAKC,GACD,OAAO,SAASE,WAAWC,KAAsB;IAC/C,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGN;IAErE,qBACE,KAACO;QACE,GAAGD,SAAS;QACbF,OAAO;YAAE,GAAGA,KAAK;YAAE,4BAA4BF;QAAO;QACtDG,WAAWT,IACTE,OAAO;YACLG;YACAO,UAAU,CAACP;YACXQ,GAAG,CAACN;YACJO,GAAGP;QACL,IACAE;;AAIR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderMarkLabel.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type ReactElement } from \"react\";\nimport {\n Typography,\n type CustomTypographyComponent,\n type TypographyProps,\n type TypographyType,\n} from \"../typography/Typography.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-slider-mark-label\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface CustomizableSliderMarkLabelProps extends TypographyProps {\n /** @defaultValue `\"span\"` */\n as?: CustomTypographyComponent;\n\n /** @defaultValue `\"body-2\"` */\n type?: TypographyType;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface SliderMarkLabelProps extends CustomizableSliderMarkLabelProps {\n offset: string;\n vertical: boolean;\n}\n\n/**\n * **Server Component**\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function SliderMarkLabel(props: SliderMarkLabelProps): ReactElement {\n const {\n as = \"span\",\n type = \"body-2\",\n offset,\n vertical,\n style,\n className,\n children,\n ...remaining\n } = props;\n\n return (\n <Typography\n {...remaining}\n as={as}\n type={type}\n style={{ ...style, \"--rmd-slider-mark-offset\": offset }}\n className={cnb(styles({ h: !vertical, v: vertical }), className)}\n >\n {children}\n </Typography>\n );\n}\n"],"names":["cnb","Typography","bem","styles","SliderMarkLabel","props","as","type","offset","vertical","style","className","children","remaining","h","v"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SACEC,UAAU,QAIL,8BAA8B;AACrC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAsBnB;;;;;CAKC,GACD,OAAO,SAASE,gBAAgBC,KAA2B;IACzD,MAAM,EACJC,KAAK,MAAM,EACXC,OAAO,QAAQ,EACfC,MAAM,EACNC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACR,GAAGC,WACJ,GAAGR;IAEJ,qBACE,KAACJ;QACE,GAAGY,SAAS;QACbP,IAAIA;QACJC,MAAMA;QACNG,OAAO;YAAE,GAAGA,KAAK;YAAE,4BAA4BF;QAAO;QACtDG,WAAWX,IAAIG,OAAO;YAAEW,GAAG,CAACL;YAAUM,GAAGN;QAAS,IAAIE;kBAErDC;;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderThumb.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useEffect,\n useState,\n type ChangeEventHandler,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { type TooltipProps } from \"../tooltip/Tooltip.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { SliderValueTooltip } from \"./SliderValueTooltip.js\";\nimport { type SliderValueOptions } from \"./useSlider.js\";\n\nconst styles = bem(\"rmd-slider-thumb\");\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\ninterface SliderThumbClassNameOptions {\n className?: string;\n\n mask?: boolean;\n index: 1 | 2;\n active: boolean;\n animate: boolean;\n vertical: boolean;\n disabled: boolean;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nfunction sliderThumb(options: SliderThumbClassNameOptions): string {\n const { className, mask, index, active, animate, disabled, vertical } =\n options;\n\n const isSecondThumb = index === 2;\n return cnb(\n styles({\n h: !vertical,\n h1: !vertical && !isSecondThumb,\n h2: !vertical && isSecondThumb,\n v: vertical,\n v1: vertical && !isSecondThumb,\n v2: vertical && isSecondThumb,\n mask,\n \"mask-h\": mask && !vertical,\n \"mask-v\": mask && vertical,\n active,\n animate,\n disabled,\n \"disabled-h\": disabled && !vertical && !mask,\n \"disabled-v\": disabled && vertical && !mask,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type SliderTooltipVisibility = \"auto\" | \"hover\" | \"always\";\n\n/**\n * @remarks \\@since 2.5.0\n */\nexport interface SliderThumbPresentation {\n /**\n * Boolean if the slider should act as a discrete slider which will render a\n * tooltip above the thumb while dragging to visualize the current value for\n * the slider.\n *\n * @defaultValue `false`\n */\n discrete?: boolean;\n\n /**\n * A function that is used to help with accessibility by creating a better\n * value string if just a number isn't representative enough of your range.\n *\n * Example:\n *\n * ```tsx\n * const [value, controls] = useSlider(0, {\n * // format to be `$100`, etc\n * getValueText: value => `$${value}`,\n * });\n *\n * return <Slider baseId=\"price-slider\" label=\"Price\" {...controls} />;\n * ```\n *\n * @defaultValue `() => \"\"`\n */\n getValueText?(value: number): string;\n\n /**\n * Set this to `true` if the slider's thumb position should only update when\n * the user has dragged to the next value instead of with the mouse.\n *\n * @see {@link marks}\n * @defaultValue `!!marks`\n */\n disableSmoothDragging?: boolean;\n\n /**\n * The discrete slider's value tooltip will only become visible when:\n *\n * - `\"auto\"` - the user is dragging with touch/mouse or focused with a keyboard\n * - `\"hover\"` - the behavior of `\"auto\"` plus while hovering the thumb with a mouse\n * - `\"always\"` - ... always\n *\n * This only applies when the {@link discrete} prop is `true`.\n *\n * @defaultValue `\"auto\"`\n */\n tooltipVisibility?: SliderTooltipVisibility;\n}\n\n/**\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Internal only component.\n */\nexport interface SliderThumbProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"onChange\">,\n Required<SliderValueOptions>,\n Required<SliderThumbPresentation> {\n id: string;\n name?: string;\n value: number;\n index: 1 | 2;\n active: boolean;\n animate: boolean;\n disabled: boolean;\n vertical: boolean;\n onChange: ChangeEventHandler<HTMLInputElement>;\n tooltipProps?: Partial<TooltipProps>;\n getTooltipProps(\n value: number,\n isFirstThumb: boolean\n ): Partial<TooltipProps> | void;\n getTooltipChildren(value: number, isFirstThumb: boolean): ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Internal only component.\n */\nexport const SliderThumb = forwardRef<\n HTMLSpanElement,\n LabelRequiredForA11y<SliderThumbProps>\n>(function SliderThumb(props, ref) {\n const {\n id,\n min,\n max,\n name,\n value,\n onChange,\n index,\n getValueText,\n step,\n active,\n animate,\n disabled,\n vertical,\n discrete,\n tabIndex = disabled ? -1 : 0,\n className,\n onFocus = noop,\n onKeyDown = noop,\n onMouseEnter = noop,\n onMouseLeave = noop,\n tooltipProps,\n getTooltipProps,\n getTooltipChildren,\n disableSmoothDragging,\n tooltipVisibility = \"auto\",\n ...remaining\n } = props;\n const { \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy } = props;\n\n const isFirstThumb = index === 1;\n const mode = useUserInteractionMode();\n const keyboard = mode === \"keyboard\";\n const touch = mode === \"touch\";\n const [mouseVisible, setMouseVisible] = useState(false);\n const [keyboardVisible, setKeyboardVisible] = useState(false);\n useEffect(() => {\n if (disabled || !discrete) {\n setKeyboardVisible(false);\n return;\n }\n\n // if the mode changes away from keyboard, need to disable the keyboard\n // state\n setKeyboardVisible((prevVisible) => prevVisible && mode === \"keyboard\");\n }, [disabled, discrete, mode]);\n useEffect(() => {\n if (disabled || !discrete) {\n setMouseVisible(false);\n return;\n }\n\n setMouseVisible((prevVisible) => prevVisible && mode !== \"touch\");\n }, [disabled, discrete, mode]);\n useEffect(() => {\n if (!keyboardVisible) {\n return;\n }\n\n const callback = (): void => {\n setKeyboardVisible(false);\n };\n\n window.addEventListener(\"blur\", callback, true);\n return () => {\n window.removeEventListener(\"blur\", callback);\n };\n }, [keyboardVisible]);\n\n const classNameOptions = {\n index,\n active,\n animate: !disableSmoothDragging && animate,\n disabled,\n vertical,\n className,\n } as const;\n\n return (\n <>\n {disabled && (\n <span\n className={sliderThumb({\n ...classNameOptions,\n mask: true,\n })}\n />\n )}\n <span\n {...remaining}\n id={id}\n ref={ref}\n role=\"slider\"\n aria-disabled={disabled || undefined}\n aria-orientation={vertical ? \"vertical\" : undefined}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={value}\n aria-valuetext={getValueText(value) || undefined}\n tabIndex={tabIndex}\n className={sliderThumb(classNameOptions)}\n onFocus={(event) => {\n onFocus(event);\n\n if (discrete && keyboard) {\n setKeyboardVisible(true);\n }\n }}\n onKeyDown={(event) => {\n onKeyDown(event);\n\n // this allows the tooltip to be visible when switching from mouse to\n // keyboard\n if (discrete && event.key !== \"Tab\") {\n setKeyboardVisible(true);\n }\n }}\n onMouseEnter={(event) => {\n onMouseEnter(event);\n if (discrete && tooltipVisibility === \"hover\" && !touch) {\n setMouseVisible(true);\n }\n }}\n onMouseLeave={(event) => {\n onMouseLeave(event);\n if (discrete && tooltipVisibility === \"hover\" && !touch) {\n setMouseVisible(false);\n }\n }}\n />\n <input\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-hidden\n id={`${id}-value`}\n type=\"range\"\n name={name}\n min={min}\n max={max}\n step={step}\n value={value}\n tabIndex={-1}\n onChange={onChange}\n className={styles(\"input\")}\n />\n {discrete && (\n <SliderValueTooltip\n position={vertical ? \"left\" : \"above\"}\n vertical={vertical}\n animate={!disableSmoothDragging && !active}\n visible={\n tooltipVisibility === \"always\" ||\n active ||\n keyboardVisible ||\n mouseVisible\n }\n {...tooltipProps}\n {...getTooltipProps(value, isFirstThumb)}\n index={index}\n >\n {getTooltipChildren(value, isFirstThumb)}\n </SliderValueTooltip>\n )}\n </>\n );\n});\n"],"names":["cnb","forwardRef","useEffect","useState","useUserInteractionMode","bem","SliderValueTooltip","styles","noop","sliderThumb","options","className","mask","index","active","animate","disabled","vertical","isSecondThumb","h","h1","h2","v","v1","v2","SliderThumb","props","ref","id","min","max","name","value","onChange","getValueText","step","discrete","tabIndex","onFocus","onKeyDown","onMouseEnter","onMouseLeave","tooltipProps","getTooltipProps","getTooltipChildren","disableSmoothDragging","tooltipVisibility","remaining","ariaLabel","ariaLabelledBy","isFirstThumb","mode","keyboard","touch","mouseVisible","setMouseVisible","keyboardVisible","setKeyboardVisible","prevVisible","callback","window","addEventListener","removeEventListener","classNameOptions","span","role","aria-disabled","undefined","aria-orientation","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","event","key","input","aria-label","aria-labelledby","aria-hidden","type","position","visible"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderTrack.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\nimport {\n getClosestThumbEventHandlers,\n getThumbOffsets,\n type ClosestThumbEventHandlersOptions,\n type ThumbOffsetsOptions,\n} from \"./sliderUtils.js\";\n\nconst styles = bem(\"rmd-slider-track\");\n\n/**\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Updated to be internal only.\n */\nexport interface SliderTrackProps\n extends HTMLAttributes<HTMLSpanElement>,\n ClosestThumbEventHandlersOptions,\n ThumbOffsetsOptions {\n animate: boolean;\n disabled: boolean;\n}\n\n/**\n * **Server Component**\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Updated to be internal only.\n */\nexport const SliderTrack = forwardRef<HTMLSpanElement, SliderTrackProps>(\n function SliderTrack(props, ref) {\n const {\n style,\n className,\n animate,\n vertical,\n disabled,\n min,\n max,\n thumb1Ref,\n thumb1Value,\n thumb1Dragging,\n thumb1DragPercentage,\n thumb1OnMouseUp,\n thumb1OnMouseDown,\n thumb1OnMouseMove,\n thumb1OnTouchStart,\n thumb1OnTouchMove,\n thumb2Ref,\n thumb2Value,\n thumb2Dragging,\n thumb2DragPercentage,\n thumb2OnMouseUp,\n thumb2OnMouseDown,\n thumb2OnMouseMove,\n thumb2OnTouchStart,\n thumb2OnTouchMove,\n isRangeSlider,\n children,\n ...remaining\n } = props;\n\n return (\n <span\n {...remaining}\n ref={ref}\n style={{\n ...style,\n ...getThumbOffsets({\n min,\n max,\n thumb1Value,\n thumb1Dragging,\n thumb1DragPercentage,\n thumb2Value,\n thumb2Dragging,\n thumb2DragPercentage,\n isRangeSlider,\n }),\n }}\n className={cnb(\n styles({\n animate,\n disabled,\n hoverable: !disabled,\n h: !vertical,\n h1: !vertical && !isRangeSlider,\n h2: !vertical && isRangeSlider,\n v: vertical,\n v1: vertical && !isRangeSlider,\n v2: vertical && isRangeSlider,\n }),\n className\n )}\n {...getClosestThumbEventHandlers({\n vertical,\n isRangeSlider,\n thumb1Ref,\n thumb1Dragging,\n thumb1OnMouseUp,\n thumb1OnMouseDown,\n thumb1OnMouseMove,\n thumb1OnTouchStart,\n thumb1OnTouchMove,\n thumb2Ref,\n thumb2Dragging,\n thumb2OnMouseUp,\n thumb2OnMouseDown,\n thumb2OnMouseMove,\n thumb2OnTouchStart,\n thumb2OnTouchMove,\n })}\n >\n {children}\n </span>\n );\n }\n);\n"],"names":["cnb","forwardRef","bem","getClosestThumbEventHandlers","getThumbOffsets","styles","SliderTrack","props","ref","style","className","animate","vertical","disabled","min","max","thumb1Ref","thumb1Value","thumb1Dragging","thumb1DragPercentage","thumb1OnMouseUp","thumb1OnMouseDown","thumb1OnMouseMove","thumb1OnTouchStart","thumb1OnTouchMove","thumb2Ref","thumb2Value","thumb2Dragging","thumb2DragPercentage","thumb2OnMouseUp","thumb2OnMouseDown","thumb2OnMouseMove","thumb2OnTouchStart","thumb2OnTouchMove","isRangeSlider","children","remaining","span","hoverable","h","h1","h2","v","v1","v2"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SACEC,4BAA4B,EAC5BC,eAAe,QAGV,mBAAmB;AAE1B,MAAMC,SAASH,IAAI;AAgBnB;;;;;;;CAOC,GACD,OAAO,MAAMI,4BAAcL,WACzB,SAASK,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,KAAK,EACLC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,GAAG,EACHC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,oBAAoB,EACpBC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,oBAAoB,EACpBC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,aAAa,EACbC,QAAQ,EACR,GAAGC,WACJ,GAAG7B;IAEJ,qBACE,KAAC8B;QACE,GAAGD,SAAS;QACb5B,KAAKA;QACLC,OAAO;YACL,GAAGA,KAAK;YACR,GAAGL,gBAAgB;gBACjBU;gBACAC;gBACAE;gBACAC;gBACAC;gBACAO;gBACAC;gBACAC;gBACAM;YACF,EAAE;QACJ;QACAxB,WAAWV,IACTK,OAAO;YACLM;YACAE;YACAyB,WAAW,CAACzB;YACZ0B,GAAG,CAAC3B;YACJ4B,IAAI,CAAC5B,YAAY,CAACsB;YAClBO,IAAI,CAAC7B,YAAYsB;YACjBQ,GAAG9B;YACH+B,IAAI/B,YAAY,CAACsB;YACjBU,IAAIhC,YAAYsB;QAClB,IACAxB;QAED,GAAGP,6BAA6B;YAC/BS;YACAsB;YACAlB;YACAE;YACAE;YACAC;YACAC;YACAC;YACAC;YACAC;YACAE;YACAE;YACAC;YACAC;YACAC;YACAC;QACF,EAAE;kBAEDE;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderValueMarks.tsx"],"sourcesContent":["import {\n Fragment,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { getPercentage } from \"../utils/getPercentage.js\";\nimport {\n getRangeSteps,\n type RangeStepsOptions,\n} from \"../utils/getRangeSteps.js\";\nimport { SliderMark } from \"./SliderMark.js\";\nimport {\n SliderMarkLabel,\n type CustomizableSliderMarkLabelProps,\n} from \"./SliderMarkLabel.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SliderValueMark {\n /**\n * An optional label to display alongside the current mark. This will be\n * positioned below the mark for horizontal sliders and to the right for\n * vertical sliders.\n */\n label?: ReactNode;\n\n /**\n * The value of the mark that should be a valid step within the slider.\n */\n value: number;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SliderValueMarkState {\n /** The {@link SliderValueMark.value} */\n value: number;\n\n /**\n * No idea if this is actually useful (maybe custom styles?), but it is the\n * current percentage the mark is offset and is what is set as the\n * `left`/`top` values for the mark.\n */\n offset: string;\n\n /**\n * This will be `true` when the mark is being covered by the slider track's\n * active state.\n */\n active: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SliderMarksOptions {\n /**\n * Set this to `true` to display a mark for each step within the slider. This\n * can be used alongside the {@link getMarkProps} and\n * {@link getMarkLabelProps} to customize the styles or display a label for\n * the mark.\n *\n * @example\n * Custom Marks\n * ```tsx\n * const slider = useSlider({ step: 10 });\n *\n * <Slider\n * {...slider}\n * marks={[\n * { value: 0, label: \"Minimum\" },\n * { value: 10 },\n * { value: 20 },\n * { value: 30 },\n * { value: 40 },\n * { value: 50, label: \"Medium\" },\n * { value: 60 },\n * { value: 70 },\n * { value: 80 },\n * { value: 90 },\n * { value: 100, label: \"Maximum\" },\n * ]}\n * />\n * ```\n */\n marks?: boolean | readonly SliderValueMark[];\n\n /**\n * This can be used to override any styles for the specific mark.\n */\n getMarkProps?(\n options: SliderValueMarkState\n ): HTMLAttributes<HTMLSpanElement> | void;\n\n /**\n * This can be used to override any styles for a specific mark's label or\n * display a label dynamically.\n *\n * @example\n * Dynamic Labels\n * ```tsx\n * <Slider\n * {...slider}\n * marks\n * getMarkLabelProps={({ active, value }) => {\n * if (value % 10 !== 0) {\n * return;\n * }\n *\n * return {\n * children: `${value} degrees`,\n * className: cnb(active && styles.somethingCustom),\n * };\n * }}\n * />\n * ```\n */\n getMarkLabelProps?(\n options: SliderValueMarkState\n ): Partial<CustomizableSliderMarkLabelProps> | void;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface SliderValueMarksProps\n extends RangeStepsOptions,\n Required<SliderMarksOptions> {\n vertical: boolean;\n thumb1Value: number;\n thumb2Value: number;\n isRangeSlider: boolean;\n}\n\n/**\n * **Server Component**\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function SliderValueMarks(props: SliderValueMarksProps): ReactElement {\n const {\n min,\n max,\n step,\n marks: propMarks,\n vertical,\n thumb1Value,\n thumb2Value,\n isRangeSlider,\n getMarkProps,\n getMarkLabelProps,\n } = props;\n\n let marks: readonly SliderValueMark[];\n if (typeof propMarks === \"boolean\") {\n const steps = getRangeSteps({ min, max, step }) + 1;\n marks = Array.from({ length: steps }, (_, i) => ({\n value: min + i * step,\n }));\n } else {\n marks = propMarks;\n }\n\n return (\n <>\n {marks.map(({ value, label: markLabel }) => {\n // I can't think of a good name, but this is when the slider's track's\n // active color is covering the mark which requires different styles\n let active: boolean;\n let percentage = getPercentage({ min, max, value }) * 100;\n let markValue = value;\n if (vertical) {\n // need to reverse the percentage since it uses `top` for positioning\n // where the max value is at the top instead of bottom\n percentage = 100 - percentage;\n\n // need to reverse the mark's value as well for the same reason as\n // above\n markValue = max - value;\n }\n\n if (isRangeSlider) {\n active = markValue > thumb1Value && markValue < thumb2Value;\n } else {\n active = markValue < thumb1Value;\n }\n\n const offset = `${percentage}%`;\n const markProps = getMarkProps({ value, active, offset });\n const labelProps = getMarkLabelProps({ value, active, offset });\n const label = markLabel ?? labelProps?.children ?? null;\n\n return (\n <Fragment key={value}>\n <SliderMark\n {...markProps}\n offset={offset}\n active={active}\n vertical={vertical}\n />\n {label !== null && (\n <SliderMarkLabel\n {...labelProps}\n offset={offset}\n vertical={vertical}\n >\n {label}\n </SliderMarkLabel>\n )}\n </Fragment>\n );\n })}\n </>\n );\n}\n"],"names":["Fragment","getPercentage","getRangeSteps","SliderMark","SliderMarkLabel","SliderValueMarks","props","min","max","step","marks","propMarks","vertical","thumb1Value","thumb2Value","isRangeSlider","getMarkProps","getMarkLabelProps","steps","Array","from","length","_","i","value","map","label","markLabel","active","percentage","markValue","offset","markProps","labelProps","children"],"mappings":";AAAA,SACEA,QAAQ,QAIH,QAAQ;AACf,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SACEC,aAAa,QAER,4BAA4B;AACnC,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,eAAe,QAEV,uBAAuB;AA2H9B;;;;;CAKC,GACD,OAAO,SAASC,iBAAiBC,KAA4B;IAC3D,MAAM,EACJC,GAAG,EACHC,GAAG,EACHC,IAAI,EACJC,OAAOC,SAAS,EAChBC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,YAAY,EACZC,iBAAiB,EAClB,GAAGX;IAEJ,IAAII;IACJ,IAAI,OAAOC,cAAc,WAAW;QAClC,MAAMO,QAAQhB,cAAc;YAAEK;YAAKC;YAAKC;QAAK,KAAK;QAClDC,QAAQS,MAAMC,IAAI,CAAC;YAAEC,QAAQH;QAAM,GAAG,CAACI,GAAGC,IAAO,CAAA;gBAC/CC,OAAOjB,MAAMgB,IAAId;YACnB,CAAA;IACF,OAAO;QACLC,QAAQC;IACV;IAEA,qBACE;kBACGD,MAAMe,GAAG,CAAC,CAAC,EAAED,KAAK,EAAEE,OAAOC,SAAS,EAAE;YACrC,sEAAsE;YACtE,oEAAoE;YACpE,IAAIC;YACJ,IAAIC,aAAa5B,cAAc;gBAAEM;gBAAKC;gBAAKgB;YAAM,KAAK;YACtD,IAAIM,YAAYN;YAChB,IAAIZ,UAAU;gBACZ,qEAAqE;gBACrE,sDAAsD;gBACtDiB,aAAa,MAAMA;gBAEnB,kEAAkE;gBAClE,QAAQ;gBACRC,YAAYtB,MAAMgB;YACpB;YAEA,IAAIT,eAAe;gBACjBa,SAASE,YAAYjB,eAAeiB,YAAYhB;YAClD,OAAO;gBACLc,SAASE,YAAYjB;YACvB;YAEA,MAAMkB,SAAS,CAAC,EAAEF,WAAW,CAAC,CAAC;YAC/B,MAAMG,YAAYhB,aAAa;gBAAEQ;gBAAOI;gBAAQG;YAAO;YACvD,MAAME,aAAahB,kBAAkB;gBAAEO;gBAAOI;gBAAQG;YAAO;YAC7D,MAAML,QAAQC,aAAaM,YAAYC,YAAY;YAEnD,qBACE,MAAClC;;kCACC,KAACG;wBACE,GAAG6B,SAAS;wBACbD,QAAQA;wBACRH,QAAQA;wBACRhB,UAAUA;;oBAEXc,UAAU,sBACT,KAACtB;wBACE,GAAG6B,UAAU;wBACdF,QAAQA;wBACRnB,UAAUA;kCAETc;;;eAbQF;QAkBnB;;AAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SliderValueTooltip.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { type ReactElement, type ReactNode } from \"react\";\nimport { Tooltip, type TooltipProps } from \"../tooltip/Tooltip.js\";\nimport { type CSSTransitionClassNames } from \"../transition/types.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-slider-tooltip\");\n\nconst HORIZONTAL_CLASS_NAMES: CSSTransitionClassNames = {\n enter: \"rmd-slider-tooltip--h-off\",\n enterActive: \"rmd-slider-tooltip--h-on rmd-slider-tooltip--animate\",\n exit: \"rmd-slider-tooltip--animate\",\n exitActive: \"rmd-slider-tooltip--h-off\",\n};\n\nconst VERTICAL_CLASS_NAMES: CSSTransitionClassNames = {\n enter: \"rmd-slider-tooltip--v-off\",\n enterActive: \"rmd-slider-tooltip--v-on rmd-slider-tooltip--animate\",\n exit: \"rmd-slider-tooltip--animate\",\n exitActive: \"rmd-slider-tooltip--v-off\",\n};\n\n/**\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Renamed from `SliderValueProps` to `SliderValueTooltipProps`.\n */\nexport interface SliderValueTooltipProps extends TooltipProps {\n index: 1 | 2;\n animate: boolean;\n vertical: boolean;\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This component creates the \"discrete\" slider thumb value by rendering a\n * tooltip when needed.\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Renamed from `SliderValue` to `SliderValueTooltip`.\n */\nexport function SliderValueTooltip(\n props: SliderValueTooltipProps\n): ReactElement {\n const {\n index,\n animate,\n vertical,\n className,\n children,\n classNames = vertical ? VERTICAL_CLASS_NAMES : HORIZONTAL_CLASS_NAMES,\n ...remaining\n } = props;\n\n return (\n <Tooltip\n dense\n disablePortal\n textOverflow=\"nowrap\"\n className={cnb(\n styles({ h: !vertical, v: vertical }),\n animate && \"rmd-slider-thumb--animate\",\n `rmd-slider-thumb--${vertical ? \"v\" : \"h\"}${index}`,\n className\n )}\n classNames={classNames}\n {...remaining}\n >\n {children}\n </Tooltip>\n );\n}\n"],"names":["cnb","Tooltip","bem","styles","HORIZONTAL_CLASS_NAMES","enter","enterActive","exit","exitActive","VERTICAL_CLASS_NAMES","SliderValueTooltip","props","index","animate","vertical","className","children","classNames","remaining","dense","disablePortal","textOverflow","h","v"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,OAAO,QAA2B,wBAAwB;AAEnE,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAEnB,MAAME,yBAAkD;IACtDC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;AACd;AAEA,MAAMC,uBAAgD;IACpDJ,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;AACd;AAeA;;;;;;;;;;CAUC,GACD,OAAO,SAASE,mBACdC,KAA8B;IAE9B,MAAM,EACJC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,aAAaH,WAAWL,uBAAuBL,sBAAsB,EACrE,GAAGc,WACJ,GAAGP;IAEJ,qBACE,KAACV;QACCkB,KAAK;QACLC,aAAa;QACbC,cAAa;QACbN,WAAWf,IACTG,OAAO;YAAEmB,GAAG,CAACR;YAAUS,GAAGT;QAAS,IACnCD,WAAW,6BACX,CAAC,kBAAkB,EAAEC,WAAW,MAAM,IAAI,EAAEF,MAAM,CAAC,EACnDG;QAEFE,YAAYA;QACX,GAAGC,SAAS;kBAEZF;;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/Switch.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { type InputToggleLabelProps } from \"./InputToggle.js\";\nimport { Label } from \"./Label.js\";\nimport { SwitchTrack } from \"./SwitchTrack.js\";\nimport { switchStyles } from \"./switchStyles.js\";\nimport {\n type FormComponentStates,\n type FormMessageContainerExtension,\n} from \"./types.js\";\n\n/**\n * @remarks \\@since 6.0.0 Added `containerProps` and support for the\n * `FormMessage` behavior.\n */\nexport interface SwitchProps\n extends InputHTMLAttributes<HTMLInputElement>,\n InputToggleLabelProps,\n FormMessageContainerExtension,\n FormComponentStates {\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n trackProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n trackStyle?: CSSProperties;\n trackClassName?: string;\n ballAddon?: ReactNode;\n ballProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;\n ballStyle?: CSSProperties;\n ballClassName?: string;\n}\n\n/**\n * **Server Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { Form, Switch } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [checked, setChecked] = useState(false);\n *\n * return (\n * <Form>\n * <Switch\n * label=\"Label\"\n * name=\"enabled\"\n * checked={checked}\n * onChange={(event) => setChecked(event.currentTarget.checked)}\n * />\n * </Form>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0 Added support for `FormMessage` behavior.\n */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n function Switch(props, ref) {\n const {\n id: propId,\n label,\n labelProps,\n style,\n className,\n containerProps,\n ballProps,\n ballStyle,\n ballClassName,\n ballAddon,\n trackProps,\n trackStyle,\n trackClassName,\n messageProps,\n messageContainerProps,\n disableLabelGap = false,\n error = false,\n active = false,\n stacked = false,\n iconAfter = false,\n disabled = false,\n readOnly = false,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"switch\");\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={messageProps}\n >\n <Label\n style={style}\n {...labelProps}\n className={cnb(className, labelProps?.className)}\n gap={!disableLabelGap}\n stacked={stacked}\n reversed={!iconAfter}\n active={active}\n error={error}\n disabled={disabled}\n >\n {label}\n <div\n {...containerProps}\n className={switchStyles({\n clickable: !disabled && !readOnly,\n className: containerProps?.className,\n currentColor: active || error,\n })}\n >\n <SwitchTrack\n style={trackStyle}\n {...trackProps}\n className={cnb(trackClassName, trackProps?.className)}\n disabled={disabled}\n ballAddon={ballAddon}\n ballProps={ballProps}\n ballStyle={ballStyle}\n ballClassName={ballClassName}\n >\n <input\n {...remaining}\n id={id}\n ref={ref}\n role=\"switch\"\n type=\"checkbox\"\n className={cnb(\n \"rmd-switch__input rmd-hidden-input\",\n disabled && \"rmd-hidden-input--disabled\"\n )}\n disabled={disabled}\n />\n </SwitchTrack>\n </div>\n </Label>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["cnb","forwardRef","useEnsuredId","FormMessageContainer","Label","SwitchTrack","switchStyles","Switch","props","ref","id","propId","label","labelProps","style","className","containerProps","ballProps","ballStyle","ballClassName","ballAddon","trackProps","trackStyle","trackClassName","messageProps","messageContainerProps","disableLabelGap","error","active","stacked","iconAfter","disabled","readOnly","remaining","gap","reversed","div","clickable","currentColor","input","role","type"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAKL,QAAQ;AAEf,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AAEjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,QAAQ,oBAAoB;AAyBjD;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,OAAO,MAAMC,uBAASN,WACpB,SAASM,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,UAAU,EACVC,KAAK,EACLC,SAAS,EACTC,cAAc,EACdC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZC,qBAAqB,EACrBC,kBAAkB,KAAK,EACvBC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,YAAY,KAAK,EACjBC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChB,GAAGC,WACJ,GAAGzB;IACJ,MAAME,KAAKR,aAAaS,QAAQ;IAEhC,qBACE,KAACR;QACE,GAAGsB,qBAAqB;QACzBD,cAAcA;kBAEd,cAAA,MAACpB;YACCU,OAAOA;YACN,GAAGD,UAAU;YACdE,WAAWf,IAAIe,WAAWF,YAAYE;YACtCmB,KAAK,CAACR;YACNG,SAASA;YACTM,UAAU,CAACL;YACXF,QAAQA;YACRD,OAAOA;YACPI,UAAUA;;gBAETnB;8BACD,KAACwB;oBACE,GAAGpB,cAAc;oBAClBD,WAAWT,aAAa;wBACtB+B,WAAW,CAACN,YAAY,CAACC;wBACzBjB,WAAWC,gBAAgBD;wBAC3BuB,cAAcV,UAAUD;oBAC1B;8BAEA,cAAA,KAACtB;wBACCS,OAAOQ;wBACN,GAAGD,UAAU;wBACdN,WAAWf,IAAIuB,gBAAgBF,YAAYN;wBAC3CgB,UAAUA;wBACVX,WAAWA;wBACXH,WAAWA;wBACXC,WAAWA;wBACXC,eAAeA;kCAEf,cAAA,KAACoB;4BACE,GAAGN,SAAS;4BACbvB,IAAIA;4BACJD,KAAKA;4BACL+B,MAAK;4BACLC,MAAK;4BACL1B,WAAWf,IACT,sCACA+B,YAAY;4BAEdA,UAAUA;;;;;;;AAOxB,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/SwitchTrack.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-switch\");\n\nexport interface SwitchTrackProps extends HTMLAttributes<HTMLDivElement> {\n active?: boolean;\n disabled?: boolean;\n ballAddon?: ReactNode;\n ballProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;\n ballStyle?: CSSProperties;\n ballClassName?: string;\n}\n\n/**\n * **Server Component**\n */\nexport const SwitchTrack = forwardRef<HTMLDivElement, SwitchTrackProps>(\n function SwitchTrack(props, ref) {\n const {\n style,\n className,\n ballAddon,\n ballProps,\n ballStyle,\n ballClassName,\n active,\n children,\n disabled = false,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n style={style}\n className={cnb(styles(\"track\", { disabled }), className)}\n >\n {children}\n <span\n style={ballStyle}\n {...ballProps}\n className={cnb(styles(\"ball\", { active }), ballClassName)}\n >\n {ballAddon}\n {ballProps?.children}\n </span>\n </div>\n );\n }\n);\n"],"names":["cnb","forwardRef","bem","styles","SwitchTrack","props","ref","style","className","ballAddon","ballProps","ballStyle","ballClassName","active","children","disabled","remaining","div","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAIL,QAAQ;AAEf,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAWnB;;CAEC,GACD,OAAO,MAAME,4BAAcH,WACzB,SAASG,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,KAAK,EACLC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,WAAW,KAAK,EAChB,GAAGC,WACJ,GAAGX;IAEJ,qBACE,MAACY;QACE,GAAGD,SAAS;QACbV,KAAKA;QACLC,OAAOA;QACPC,WAAWR,IAAIG,OAAO,SAAS;YAAEY;QAAS,IAAIP;;YAE7CM;0BACD,MAACI;gBACCX,OAAOI;gBACN,GAAGD,SAAS;gBACbF,WAAWR,IAAIG,OAAO,QAAQ;oBAAEU;gBAAO,IAAID;;oBAE1CH;oBACAC,WAAWI;;;;;AAIpB,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/TextArea.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useRef,\n type CSSProperties,\n type HTMLAttributes,\n type TextareaHTMLAttributes,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { textArea, textAreaContainer } from \"./textAreaStyles.js\";\nimport { type FormFieldOptions } from \"./types.js\";\nimport {\n useResizingTextArea,\n type TextAreaResize,\n} from \"./useResizingTextArea.js\";\n\nexport interface TextAreaProps\n extends FormFieldOptions,\n TextareaHTMLAttributes<HTMLTextAreaElement> {\n /**\n * Optional placeholder text to display in the text field.\n *\n * @defaultValue `label ? \" \" : \"\"`\n */\n placeholder?: string;\n\n /**\n * Set this to `true` if the auto resizing textarea should not animate for new\n * height changes.\n *\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n\n /**\n * An optional style to apply to the textarea element. The base `style` prop\n * is applied to the surrounding `div` instead.\n */\n areaStyle?: CSSProperties;\n\n /**\n * An optional className to apply to the textarea element. The base `style`\n * prop is applied to the surrounding `div` instead.\n */\n areaClassName?: string;\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-rows\n * @defaultValue `2`\n */\n rows?: number;\n\n /**\n * The maximum number of rows a textarea can expand to before showing a\n * scrollbar. When this is set to `-1`, there will be no limit.\n *\n * @defaultValue `-1`\n */\n maxRows?: number;\n\n /**\n * @see {@link TextAreaResize}\n * @defaultValue `\"auto\"`\n */\n resize?: TextAreaResize;\n\n /**\n * When the {@link resize} prop is set to `\"auto\"`, an additional `<div>` is\n * added along with a hidden `<textarea>` mask. This prop can be used to add\n * any additional styling or props to that div.\n *\n * This will only be applied when {@link resize} is set to `\"auto\"`.\n */\n resizeContainerProps?: PropsWithRef<\n HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n}\n\n/**\n * **Client Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { TextArea } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <TextArea\n * label=\"Label\"\n * placeholder=\"Placeholder\"\n * />\n * );\n * }\n * ```\n */\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n function TextArea(props, ref) {\n const {\n id: propId,\n style,\n className,\n label,\n labelProps,\n labelStyle,\n labelClassName,\n areaStyle,\n areaClassName,\n resizeContainerProps,\n resize = \"auto\",\n dense = false,\n error = false,\n active = false,\n inline: propInline = false,\n stretch = false,\n leftAddon,\n rightAddon,\n disableLeftAddonStyles = false,\n disableRightAddonStyles = false,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n rows = 2,\n maxRows = -1,\n onChange: propOnChange,\n disableTransition = false,\n ...remaining\n } = props;\n const { disabled = false, readOnly = false, value, defaultValue } = props;\n const id = useEnsuredId(propId, \"text-field\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n const [areaRef, areaRefCallback] = useEnsuredRef(ref);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { maskRef, height, onChange, scrollable } = useResizingTextArea({\n maxRows,\n resize,\n onChange: propOnChange,\n containerRef,\n });\n\n let { placeholder = \"\" } = props;\n if (label && !placeholder) {\n // See the placeholder type definition comments for information\n placeholder = \" \";\n }\n\n // have to force it inline or else you won't be able to resize\n // it horizontally.\n const inline = resize === \"horizontal\" || resize === \"both\" || propInline;\n\n const area = (\n <textarea\n {...remaining}\n id={id}\n ref={areaRefCallback}\n rows={rows}\n disabled={disabled}\n onChange={onChange}\n style={areaStyle}\n className={textArea({\n resize,\n scrollable,\n className: areaClassName,\n placeholderHidden: !!label && !active,\n })}\n />\n );\n\n const labelNode = label && (\n <Label\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n >\n {label}\n </Label>\n );\n\n let children = (\n <>\n {area}\n {labelNode}\n </>\n );\n\n if (resize === \"auto\") {\n children = (\n <div\n {...resizeContainerProps}\n className={cnb(\n \"rmd-textarea-container__inner\",\n !disableTransition && \"rmd-textarea-container__inner--animate\",\n resizeContainerProps?.className\n )}\n >\n {area}\n {labelNode}\n <textarea\n aria-hidden\n id={`${id}-mask`}\n ref={maskRef}\n defaultValue={value ?? defaultValue}\n readOnly\n tabIndex={-1}\n rows={rows}\n style={areaStyle}\n className={textArea({\n mask: true,\n resize,\n className: areaClassName,\n })}\n />\n </div>\n );\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={messageProps}\n >\n <TextFieldContainer\n ref={containerRef}\n style={{\n ...style,\n \"--rmd-textarea-height\": height,\n }}\n className={textAreaContainer({\n animate: !disableTransition && resize == \"auto\",\n disabled,\n height: !!height,\n underlineLabelled:\n !!label && (theme === \"underline\" || theme === \"filled\"),\n className,\n })}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n rightAddon={rightAddon}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n onClick={(event) => {\n // The textarea container adds padding-top when there is a label so\n // that the label does not cover the text so this makes it so you\n // can still click anywhere in the \"box\" to focus the textarea.\n if (!disabled && event.target === event.currentTarget) {\n areaRef.current?.focus();\n }\n }}\n >\n {children}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["cnb","forwardRef","useRef","useEnsuredId","useEnsuredRef","FormMessageContainer","Label","TextFieldContainer","getFormConfig","textArea","textAreaContainer","useResizingTextArea","TextArea","props","ref","id","propId","style","className","label","labelProps","labelStyle","labelClassName","areaStyle","areaClassName","resizeContainerProps","resize","dense","error","active","inline","propInline","stretch","leftAddon","rightAddon","disableLeftAddonStyles","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","rows","maxRows","onChange","propOnChange","disableTransition","remaining","disabled","readOnly","value","defaultValue","areaRef","areaRefCallback","containerRef","maskRef","height","scrollable","placeholder","area","textarea","placeholderHidden","labelNode","htmlFor","floating","children","div","aria-hidden","tabIndex","mask","animate","underlineLabelled","onClick","event","target","currentTarget","current","focus"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/TextField.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { textField } from \"./textFieldStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutoCompleteProps,\n} from \"./types.js\";\n\n/**\n * These are all the \"supported\" input types for react-md so that they at least\n * render reasonably well by default. There is no built-in validation or\n * anything adding onto existing browser functionality for these types.\n *\n * @remarks\n * \\@since 2.5.0 - `\"search\"` was added\n * \\@since 6.0.0 Dropped support for `\"week\"` and `\"month\"` input types since\n * they are not available in Firefox and Safari at this time.\n */\nexport type SupportedInputTypes =\n | \"text\"\n | \"password\"\n | \"number\"\n | \"tel\"\n | \"email\"\n | \"date\"\n | \"time\"\n | \"datetime-local\"\n | \"url\"\n | \"color\"\n | \"search\";\n\n/**\n * @remarks \\@since 6.0.0 Renamed from `TextFieldAttributes` to\n * `TextFieldInputAttributes`\n */\nexport type TextFieldInputAttributes = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n>;\n\n/**\n * @remarks \\@since 6.0.0 Removed the `containerRef` prop.\n */\nexport interface TextFieldProps\n extends TextFieldInputAttributes,\n UserAgentAutoCompleteProps,\n FormFieldOptions {\n /**\n * @defaultValue `\"text-field-\" + useId()`\n */\n id?: string;\n\n /**\n * Optional placeholder text to display in the text field.\n *\n * @defaultValue `label ? \" \" : \"\"`\n */\n placeholder?: string;\n\n /**\n * Any optional inline styles to set on the input.\n */\n inputStyle?: CSSProperties;\n\n /**\n * An optional `className` to add to the input.\n */\n inputClassName?: string;\n\n /**\n * The text field type.\n *\n * @defaultValue `\"text\"`\n */\n type?: SupportedInputTypes;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n\n /**\n * The `children` will be rendered within the `TextFieldContainer` and before\n * the `<input />` element. This was added to support the new `Select`\n * component implementation\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\n children?: ReactNode;\n}\n\n/**\n * **Server Component**\n *\n * The structure for this component is:\n * @example\n * Component Structure\n * ```tsx\n * <FormMessageContainer {...messageContainerProps}>\n * <TextFieldContainer {...containerProps}>\n * <input {...props} />\n * <Label {...labelProps} />\n * </TextFieldContainer>\n * </FormMessageContainer>\n * ```\n *\n * @example\n * Simple Example\n * ```tsx\n * import { TextField } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <TextField\n * label=\"Name\"\n * placeholder=\"Bob\"\n * defaultValue=\"\"\n * />\n * );\n * }\n * ```\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n function TextField(props, ref) {\n const {\n id: propId,\n style,\n className,\n type = \"text\",\n label,\n labelProps,\n labelStyle,\n labelClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense = false,\n error = false,\n active = false,\n inline = false,\n stretch = false,\n leftAddon,\n leftAddonProps,\n rightAddon,\n rightAddonProps,\n disableLeftAddonStyles = false,\n disableRightAddonStyles = false,\n inputStyle,\n inputClassName,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled = false, readOnly = false } = props;\n const id = useEnsuredId(propId, \"text-field\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n\n let { placeholder = \"\" } = props;\n if (label && !placeholder) {\n // See the placeholder type definition comments for information\n placeholder = \" \";\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={messageProps}\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={className}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n {children}\n <input\n {...remaining}\n id={id}\n ref={ref}\n type={type}\n name={name}\n disabled={disabled}\n placeholder={placeholder}\n autoComplete={autoComplete}\n style={inputStyle}\n className={textField({\n className: inputClassName,\n placeholderHidden: !!label && !active,\n })}\n />\n {label && (\n <Label\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","getFormConfig","textField","TextField","props","ref","id","propId","style","className","type","label","labelProps","labelStyle","labelClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","stretch","leftAddon","leftAddonProps","rightAddon","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","inputStyle","inputClassName","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","placeholder","input","placeholderHidden","floating","htmlFor"],"mappings":";AAAA,SACEA,UAAU,QAKL,QAAQ;AAEf,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,SAAS,QAAQ,uBAAuB;AA4FjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BC,GACD,OAAO,MAAMC,0BAAYP,WACvB,SAASO,UAAUC,KAAK,EAAEC,GAAG;IAC3B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,OAAO,MAAM,EACbC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,eAAe,EACfC,yBAAyB,KAAK,EAC9BC,0BAA0B,KAAK,EAC/BC,UAAU,EACVC,cAAc,EACdC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1CC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGnC;IACJ,MAAM,EAAEoC,WAAW,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGrC;IAC/C,MAAME,KAAKT,aAAaU,QAAQ;IAChC,MAAMwB,QAAQ9B,cAAc,SAAS+B;IACrC,MAAMC,qBAAqBhC,cACzB,sBACAiC;IAGF,IAAI,EAAEQ,cAAc,EAAE,EAAE,GAAGtC;IAC3B,IAAIO,SAAS,CAAC+B,aAAa;QACzB,+DAA+D;QAC/DA,cAAc;IAChB;IAEA,qBACE,KAAC5C;QACE,GAAGsC,qBAAqB;QACzBD,cAAcA;kBAEd,cAAA,MAACnC;YACE,GAAGqC,cAAc;YAClB7B,OAAOA;YACPC,WAAWA;YACXsB,OAAOA;YACPpB,OAAO,CAAC,CAACA;YACTQ,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRE,SAASA;YACTmB,UAAUA;YACVD,UAAUA;YACVjB,WAAWA;YACXC,gBAAgBA;YAChBC,YAAYA;YACZC,iBAAiBA;YACjBO,oBAAoBA;YACpBN,wBAAwBA;YACxBC,yBAAyBA;;gBAExBU;8BACD,KAACK;oBACE,GAAGJ,SAAS;oBACbjC,IAAIA;oBACJD,KAAKA;oBACLK,MAAMA;oBACNO,MAAMA;oBACNuB,UAAUA;oBACVE,aAAaA;oBACb1B,cAAcA;oBACdR,OAAOqB;oBACPpB,WAAWP,UAAU;wBACnBO,WAAWqB;wBACXc,mBAAmB,CAAC,CAACjC,SAAS,CAACS;oBACjC;;gBAEDT,uBACC,KAACZ;oBACC8C,QAAQ;oBACR3B,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRoB,UAAUA;oBACT,GAAG5B,UAAU;oBACdkC,SAASxC;oBACTE,OAAOI,YAAYJ,SAASK;oBAC5BJ,WAAWG,YAAYH,aAAaK;8BAEnCH;;;;;AAMb,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/TextFieldAddon.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef } from \"react\";\nimport { bem } from \"../utils/bem.js\";\nimport { type ConfigurableTextFieldAddonProps } from \"./types.js\";\n\nconst styles = bem(\"rmd-text-field-addon\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TextFieldAddonClassNameOptions {\n className?: string;\n\n /**\n * @defaultValue `false`\n */\n after?: boolean;\n\n /**\n *\n * @defaultValue `true`\n */\n presentational?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function textFieldAddon(\n options: TextFieldAddonClassNameOptions = {}\n): string {\n const { className, after = false, presentational = false } = options;\n\n return cnb(\n styles({\n before: !after,\n after,\n presentational,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0 Split props into `ConfigurableTextFieldAddonProps`\n */\nexport interface TextFieldAddonProps extends ConfigurableTextFieldAddonProps {\n /**\n * @defaultValue `false`\n */\n after?: boolean;\n\n /**\n * Set this to `true` if the addon should not be wrapped in a `<span>` with some\n * additional styles.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\n/**\n * **Server Component**\n *\n * This component is used to add an an icon before or after the text field with\n * correct styling.\n */\nexport const TextFieldAddon = forwardRef<HTMLSpanElement, TextFieldAddonProps>(\n function TextFieldAddon(props, ref) {\n const {\n after = false,\n children,\n className,\n disabled = false,\n pointerEvents = false,\n ...remaining\n } = props;\n\n if (!children) {\n return null;\n }\n\n if (disabled) {\n return <>{children}</>;\n }\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={textFieldAddon({\n after,\n presentational: !pointerEvents,\n className,\n })}\n >\n {children}\n </span>\n );\n }\n);\n"],"names":["cnb","forwardRef","bem","styles","textFieldAddon","options","className","after","presentational","before","TextFieldAddon","props","ref","children","disabled","pointerEvents","remaining","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAQ,QAAQ;AACnC,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AAkBnB;;CAEC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,SAAS,EAAEC,QAAQ,KAAK,EAAEC,iBAAiB,KAAK,EAAE,GAAGH;IAE7D,OAAOL,IACLG,OAAO;QACLM,QAAQ,CAACF;QACTA;QACAC;IACF,IACAF;AAEJ;AAoBA;;;;;CAKC,GACD,OAAO,MAAMI,+BAAiBT,WAC5B,SAASS,eAAeC,KAAK,EAAEC,GAAG;IAChC,MAAM,EACJL,QAAQ,KAAK,EACbM,QAAQ,EACRP,SAAS,EACTQ,WAAW,KAAK,EAChBC,gBAAgB,KAAK,EACrB,GAAGC,WACJ,GAAGL;IAEJ,IAAI,CAACE,UAAU;QACb,OAAO;IACT;IAEA,IAAIC,UAAU;QACZ,qBAAO;sBAAGD;;IACZ;IAEA,qBACE,KAACI;QACE,GAAGD,SAAS;QACbJ,KAAKA;QACLN,WAAWF,eAAe;YACxBG;YACAC,gBAAgB,CAACO;YACjBT;QACF;kBAECO;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/TextFieldContainer.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { TextFieldAddon } from \"./TextFieldAddon.js\";\nimport { textFieldContainer } from \"./TextFieldContainerStyles.js\";\nimport { type TextFieldContainerOptions } from \"./types.js\";\n\nexport interface TextFieldContainerProps\n extends HTMLAttributes<HTMLDivElement>,\n TextFieldContainerOptions {\n /**\n * Set this to `true` if there is a floating label with the `TextField` or\n * `TextArea`.\n *\n * @defaultValue `false`\n */\n label?: boolean;\n}\n\n/**\n * **Client Component**\n * This might be able to become a server component if I remove the useFormTheme hook\n *\n * This component is used to add the additional `TextField`, `TextArea`, and\n * `Select` theme styles.\n *\n * @internal\n */\nexport const TextFieldContainer = forwardRef<\n HTMLDivElement,\n TextFieldContainerProps\n>(function TextFieldContainer(props, ref) {\n const {\n children,\n className,\n dense = false,\n error = false,\n label = false,\n active = false,\n inline = false,\n stretch = false,\n readOnly = false,\n disabled = false,\n leftAddon,\n leftAddonProps,\n disableLeftAddonStyles = false,\n rightAddon,\n rightAddonProps,\n disableRightAddonStyles = false,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n ...remaining\n } = props;\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={textFieldContainer({\n theme,\n dense,\n error,\n label,\n inline,\n active,\n stretch,\n readOnly,\n disabled,\n className,\n leftAddon: !!leftAddon && !disableLeftAddonStyles,\n rightAddon: !!rightAddon && !disableRightAddonStyles,\n underlineDirection,\n })}\n >\n <TextFieldAddon {...leftAddonProps} disabled={disableLeftAddonStyles}>\n {leftAddon}\n </TextFieldAddon>\n {children}\n <TextFieldAddon\n {...rightAddonProps}\n disabled={disableRightAddonStyles}\n after\n >\n {rightAddon}\n </TextFieldAddon>\n </div>\n );\n});\n"],"names":["forwardRef","getFormConfig","TextFieldAddon","textFieldContainer","TextFieldContainer","props","ref","children","className","dense","error","label","active","inline","stretch","readOnly","disabled","leftAddon","leftAddonProps","disableLeftAddonStyles","rightAddon","rightAddonProps","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","remaining","div","after"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,kBAAkB,QAAQ,gCAAgC;AAenE;;;;;;;;CAQC,GACD,OAAO,MAAMC,mCAAqBJ,WAGhC,SAASI,mBAAmBC,KAAK,EAAEC,GAAG;IACtC,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,SAAS,EACTC,cAAc,EACdC,yBAAyB,KAAK,EAC9BC,UAAU,EACVC,eAAe,EACfC,0BAA0B,KAAK,EAC/BC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1C,GAAGC,WACJ,GAAGtB;IACJ,MAAMkB,QAAQtB,cAAc,SAASuB;IACrC,MAAMC,qBAAqBxB,cACzB,sBACAyB;IAGF,qBACE,MAACE;QACE,GAAGD,SAAS;QACbrB,KAAKA;QACLE,WAAWL,mBAAmB;YAC5BoB;YACAd;YACAC;YACAC;YACAE;YACAD;YACAE;YACAC;YACAC;YACAR;YACAS,WAAW,CAAC,CAACA,aAAa,CAACE;YAC3BC,YAAY,CAAC,CAACA,cAAc,CAACE;YAC7BG;QACF;;0BAEA,KAACvB;gBAAgB,GAAGgB,cAAc;gBAAEF,UAAUG;0BAC3CF;;YAEFV;0BACD,KAACL;gBACE,GAAGmB,eAAe;gBACnBL,UAAUM;gBACVO,KAAK;0BAEJT;;;;AAIT,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/form/TextFieldContainerStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils, type TextColor, type ThemeColor } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { type FormComponentStates, type FormThemeOptions } from \"./types.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-text-field-height\"?: string | number;\n \"--rmd-text-field-padding-left\"?: string | number;\n \"--rmd-text-field-padding-right\"?: string | number;\n \"--rmd-text-field-padding-top\"?: string | number;\n \"--rmd-text-field-border-color\"?: string;\n \"--rmd-text-field-hover-border-color\"?: string;\n \"--rmd-text-field-filled-color\"?: string;\n \"--rmd-form-addon-top\"?: string | number;\n \"--rmd-form-addon-margin-top\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-text-field-container\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TextFieldContainerClassNameOptions\n extends FormThemeOptions,\n FormComponentStates {\n className?: string;\n\n /** @defaultValue `false` */\n dense?: boolean;\n\n /** @defaultValue `false` */\n inline?: boolean;\n\n /** @defaultValue `false` */\n stretch?: 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 * @remarks \\@since 6.0.0\n */\nexport function textFieldContainer(\n options: TextFieldContainerClassNameOptions = {}\n): string {\n const {\n className,\n theme = \"outline\",\n dense = false,\n error = false,\n label = false,\n active = false,\n inline = false,\n stretch = false,\n readOnly = false,\n disabled = false,\n leftAddon = false,\n rightAddon = false,\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 stretch,\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","stretch","readOnly","disabled","leftAddon","rightAddon","underlineDirection","underline","outline","filled","isUnderlined","isOutlineActive","textColor","hoverable"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAyC,iBAAiB;AAC3E,SAASC,GAAG,QAAQ,kBAAkB;AAiBtC,MAAMC,SAASD,IAAI;AA2BnB;;CAEC,GACD,OAAO,SAASE,mBACdC,UAA8C,CAAC,CAAC;IAEhD,MAAM,EACJC,SAAS,EACTC,QAAQ,SAAS,EACjBC,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjBC,aAAa,KAAK,EAClBC,qBAAqB,MAAM,EAC5B,GAAGb;IACJ,MAAMc,YAAYZ,UAAU;IAC5B,MAAMa,UAAUb,UAAU;IAC1B,MAAMc,SAASd,UAAU;IACzB,MAAMe,eAAeH,aAAaE;IAClC,MAAME,kBAAkBH,WAAWT;IAEnC,IAAIa;IACJ,IAAIT,UAAU;QACZS,YAAY;IACd,OAAO,IAAIf,OAAO;QAChBe,YAAY;IACd;IAEA,OAAOxB,IACLG,OAAO;QACLM;QACAG;QACAC;QACAQ;QACAD;QACAL,UAAUA,YAAYD;QACtBW,WAAW,CAACV,YAAY,CAACQ;QACzBb,OAAOA,SAAS,CAACF;QACjBA,OAAO,CAACE,SAASF;QACjB,eAAeE,SAASF;QACxB,qBAAqB,CAACE,SAASF,SAASc;QACxC,kBAAkBC;QAClB,iBAAiBH,WAAWX;QAC5B,gBAAgBW,WAAWJ;QAC3B,iBAAiBI,WAAWH;QAC5BE,WAAWG;QACX,yBAAyBA,gBAAgB,CAACZ;QAC1C,8BACEY,gBAAgB,CAACZ,SAAS,CAACM,aAAa,CAACC;QAC3C,sBAAsBK,gBAAgBZ;QACtC,oBAAoBY,gBAAgBX;QACpC,CAAC,CAAC,UAAU,EAAEO,mBAAmB,CAAC,CAAC,EAAEI;QACrC,wBAAwBA,gBAAgBN;QACxC,yBAAyBM,gBAAgBL;IAC3C,IACAhB,SAAS;QAAEuB;IAAU,IACrBlB;AAEJ"}
|