diff --git a/.changeset/pre.json b/.changeset/pre.json index f195ddc032..603658c66e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -5,7 +5,10 @@ "docs": "6.0.0-next.0", "@react-md/codemod": "6.0.0-next.0", "@react-md/core": "1.0.0-next.0", - "@react-md/material-icons": "6.0.0-next.0" + "@react-md/material-icons": "6.0.0-next.0", + "@react-md/code": "0.0.1-next.0", + "docs-generator": "0.0.1-next.0", + "react-md": "6.0.0-next.0" }, "changesets": [ "famous-pens-perform", @@ -17,6 +20,7 @@ "orange-toes-share", "pink-yaks-tickle", "sharp-months-draw", + "short-lies-decide", "silent-chefs-invent", "tasty-trainers-beg", "ten-poems-film", diff --git a/.changeset/short-lies-decide.md b/.changeset/short-lies-decide.md new file mode 100644 index 0000000000..161ad2a3ea --- /dev/null +++ b/.changeset/short-lies-decide.md @@ -0,0 +1,30 @@ +--- +"@react-md/code": patch +"@react-md/core": patch +--- + +Breaking Changes: + +- `@react-md/core` no longer supports a single entrypoint and is ESM only + +Features: + +- `react-md` package is now a convenience package for the `@react-md/core` single entrypoint +- New `@react-md/code` package for most of the code functionality within the documentation stie +- `Box` now sets the `--rmd-box-columns` variable to the `columns` prop when it is a number +- New `Navigation` components +- The `useExpandableLayout` and `useResizableLayout` hooks support `"static"` full height navigation +- The `useExpandableLayout` and `useResizableLayout` hooks support conditionally rendering the `"static"` layouts while being SSR safe +- New `useActiveHeadingId` hook to help re-create the Table of Contents behavior in the documentation stie + +Bug fixes: + +- The `box-custom-grid` mixin should no longer error +- The `LayoutAppBar` no longer causes layout shifts after rehydrating +- The `ToastManager` handles repeated pause and resumes correctly + +Other changes + +- Documentation site overhaul to allow editing SCSS modules and showing the generated output +- Simplified the @since tags in tsdoc +- Simplified tsdoc examples diff --git a/apps/docs/CHANGELOG.md b/apps/docs/CHANGELOG.md index 543c7b8e7c..3440924de3 100644 --- a/apps/docs/CHANGELOG.md +++ b/apps/docs/CHANGELOG.md @@ -1,5 +1,15 @@ # docs +## 0.0.2-next.0 + +### Patch Changes + +- Updated dependencies + - @react-md/code@0.0.1-next.1 + - @react-md/core@1.0.0-next.13 + - docs-generator@0.0.1-next.1 + - @react-md/material-icons@6.0.0-next.14 + ## 6.0.0-next.11 ### Patch Changes diff --git a/apps/docs/package.json b/apps/docs/package.json index cfe17843f9..6ef8e4d8a0 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -2,7 +2,7 @@ "name": "docs", "type": "module", "private": true, - "version": "0.0.1", + "version": "0.0.2-next.0", "description": "The documentation site for react-md", "scripts": { "run-script": "tsx --tsconfig scripts/tsconfig.json", diff --git a/packages/code/CHANGELOG.md b/packages/code/CHANGELOG.md new file mode 100644 index 0000000000..1fec8f5af7 --- /dev/null +++ b/packages/code/CHANGELOG.md @@ -0,0 +1,35 @@ +# @react-md/code + +## 0.0.1-next.1 + +### Patch Changes + +- Breaking Changes: + + - `@react-md/core` no longer supports a single entrypoint and is ESM only + + Features: + + - `react-md` package is now a convenience package for the `@react-md/core` single entrypoint + - New `@react-md/code` package for most of the code functionality within the documentation stie + - `Box` now sets the `--rmd-box-columns` variable to the `columns` prop when it is a number + - New `Navigation` components + - The `useExpandableLayout` and `useResizableLayout` hooks support `"static"` full height navigation + - The `useExpandableLayout` and `useResizableLayout` hooks support conditionally rendering the `"static"` layouts while being SSR safe + - New `useActiveHeadingId` hook to help re-create the Table of Contents behavior in the documentation stie + + Bug fixes: + + - The `box-custom-grid` mixin should no longer error + - The `LayoutAppBar` no longer causes layout shifts after rehydrating + - The `ToastManager` handles repeated pause and resumes correctly + + Other changes + + - Documentation site overhaul to allow editing SCSS modules and showing the generated output + - Simplified the @since tags in tsdoc + - Simplified tsdoc examples + +- Updated dependencies + - @react-md/core@1.0.0-next.13 + - @react-md/material-icons@6.0.0-next.14 diff --git a/packages/code/package.json b/packages/code/package.json index 845a0d8fb2..ae9780960a 100644 --- a/packages/code/package.json +++ b/packages/code/package.json @@ -1,7 +1,7 @@ { "name": "@react-md/code", "private": true, - "version": "0.0.1-next.0", + "version": "0.0.1-next.1", "description": "The core components and functionality for react-md.", "type": "module", "sass": "./dist/_code.scss", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index b74291e245..9a12d9448d 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,35 @@ # @react-md/core +## 1.0.0-next.13 + +### Patch Changes + +- Breaking Changes: + + - `@react-md/core` no longer supports a single entrypoint and is ESM only + + Features: + + - `react-md` package is now a convenience package for the `@react-md/core` single entrypoint + - New `@react-md/code` package for most of the code functionality within the documentation stie + - `Box` now sets the `--rmd-box-columns` variable to the `columns` prop when it is a number + - New `Navigation` components + - The `useExpandableLayout` and `useResizableLayout` hooks support `"static"` full height navigation + - The `useExpandableLayout` and `useResizableLayout` hooks support conditionally rendering the `"static"` layouts while being SSR safe + - New `useActiveHeadingId` hook to help re-create the Table of Contents behavior in the documentation stie + + Bug fixes: + + - The `box-custom-grid` mixin should no longer error + - The `LayoutAppBar` no longer causes layout shifts after rehydrating + - The `ToastManager` handles repeated pause and resumes correctly + + Other changes + + - Documentation site overhaul to allow editing SCSS modules and showing the generated output + - Simplified the @since tags in tsdoc + - Simplified tsdoc examples + ## 1.0.0-next.12 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 4094a3a2a1..634e76f0b1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@react-md/core", - "version": "1.0.0-next.12", + "version": "1.0.0-next.13", "description": "The core components and functionality for react-md.", "type": "module", "sass": "./dist/_core.scss", diff --git a/packages/core/src/form/useCombobox.ts.bak b/packages/core/src/form/useCombobox.ts.bak deleted file mode 100644 index d9a5a3e7aa..0000000000 --- a/packages/core/src/form/useCombobox.ts.bak +++ /dev/null @@ -1,387 +0,0 @@ -"use client"; -import { - type AriaAttributes, - type FocusEventHandler, - type KeyboardEventHandler, - type MouseEventHandler, - type Ref, - type RefCallback, - type RefObject, -} from "react"; -import { - type GetDefaultFocusedIndex, - type GetFocusableElements, - type KeyboardMovementProviderImplementation, -} from "../movement/types.js"; -import { useKeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js"; -import { type UseStateInitializer, type UseStateSetter } from "../types.js"; -import { useEnsuredId } from "../useEnsuredId.js"; -import { useEnsuredRef } from "../useEnsuredRef.js"; -import { useToggle } from "../useToggle.js"; -import { tryToSubmitRelatedForm } from "./utils.js"; -import { isSearchableEvent } from "../movement/utils.js"; -// import { isSearchableEvent } from "../movement/utils.js"; -// import { findMatchIndex } from "../movement/findMatchIndex.js"; -// import { useUserInteractionMode } from "../interaction/UserInteractionModeProvider.js"; - -const noop = (): void => { - // do nothing -}; - -export const getNonDisabledOptions = ( - container: HTMLElement -): readonly HTMLElement[] => [ - ...container.querySelectorAll( - '[role="option"]:not([aria-disabled])' - ), -]; - -export type SupportedComboboxPopup = "listbox" | "grid" | "dialog"; - -export interface ComboboxOption { - label: string; - value: string; -} - -export interface ComboboxOptions< - ComboboxEl extends HTMLElement = HTMLInputElement, - PopupEl extends HTMLElement = HTMLElement, -> { - /** - * This is the {@link InputHTMLAttributes.form} attribute and is used to - * attempt submitting a form when the enter key is pressed. - */ - form?: string; - - // options: readonly ComboboxOption[]; - - /** - * @defaultValue `"combobox-popup-" + useId()` - */ - popupId?: string; - popupRef?: Ref; - - /** - * @defaultValue `"combobox-" + useId()` - */ - comboboxId?: string; - - comboboxRef?: Ref; - - /** - * @defaultValue `"listbox"` - */ - popup?: "listbox" | "grid" | "dialog"; - - /** - * Used to determine the keyboard completion behavior with the {@link popup} - * type: - * - * - `"none"` - applies `aria-autocomplete="none"` and focusing options does - * not update the value automatically. the user must select an option with - * enter - * - `"list"` - applies `aria-autocomplete="list"` and focusing options - * immediately updates the value - * - `"both"` - applies `aria-autocomplete="both"`, focusing options - * immediately updates the value, and typing will attempt to autocomplete - * the rest of the match inline using selection ranges - * - `"select"` - acts as a `