From a10519724a1460b4edd22dcfb7149f0336a9482e Mon Sep 17 00:00:00 2001 From: mooface Date: Mon, 18 May 2026 21:48:45 +0800 Subject: [PATCH] feat(genui): add A2UI Slider component --- .changeset/petite-coins-warn.md | 5 + .../a2ui-playground/lynx-src/a2ui/App.tsx | 3 + .../genui/a2ui-playground/src/catalog/a2ui.ts | 45 +++ packages/genui/a2ui/README.md | 4 +- packages/genui/a2ui/package.json | 10 +- packages/genui/a2ui/src/catalog/README.md | 5 + .../genui/a2ui/src/catalog/Slider/index.tsx | 151 ++++++++ .../genui/a2ui/src/catalog/Slider/utils.ts | 91 +++++ packages/genui/a2ui/src/catalog/index.ts | 1 + packages/genui/a2ui/src/index.ts | 1 + packages/genui/a2ui/styles/catalog/Slider.css | 93 +++++ packages/genui/a2ui/test/slider.test.ts | 66 ++++ pnpm-lock.yaml | 332 +++++++++--------- 13 files changed, 641 insertions(+), 166 deletions(-) create mode 100644 .changeset/petite-coins-warn.md create mode 100644 packages/genui/a2ui/src/catalog/Slider/index.tsx create mode 100644 packages/genui/a2ui/src/catalog/Slider/utils.ts create mode 100644 packages/genui/a2ui/styles/catalog/Slider.css create mode 100644 packages/genui/a2ui/test/slider.test.ts diff --git a/.changeset/petite-coins-warn.md b/.changeset/petite-coins-warn.md new file mode 100644 index 0000000000..b44b87b257 --- /dev/null +++ b/.changeset/petite-coins-warn.md @@ -0,0 +1,5 @@ +--- + +--- + +Add Slider to the private A2UI ReactLynx catalog. diff --git a/packages/genui/a2ui-playground/lynx-src/a2ui/App.tsx b/packages/genui/a2ui-playground/lynx-src/a2ui/App.tsx index 1d1f9b3ba7..8fd121b57a 100644 --- a/packages/genui/a2ui-playground/lynx-src/a2ui/App.tsx +++ b/packages/genui/a2ui-playground/lynx-src/a2ui/App.tsx @@ -14,6 +14,7 @@ import { Modal, RadioGroup, Row, + Slider, Tabs, Text, TextField, @@ -40,6 +41,7 @@ import listManifest from '@lynx-js/a2ui-reactlynx/catalog/List/catalog.json'; import modalManifest from '@lynx-js/a2ui-reactlynx/catalog/Modal/catalog.json'; import radioGroupManifest from '@lynx-js/a2ui-reactlynx/catalog/RadioGroup/catalog.json'; import rowManifest from '@lynx-js/a2ui-reactlynx/catalog/Row/catalog.json'; +import sliderManifest from '@lynx-js/a2ui-reactlynx/catalog/Slider/catalog.json'; import tabsManifest from '@lynx-js/a2ui-reactlynx/catalog/Tabs/catalog.json'; import textManifest from '@lynx-js/a2ui-reactlynx/catalog/Text/catalog.json'; import textFieldManifest from '@lynx-js/a2ui-reactlynx/catalog/TextField/catalog.json'; @@ -89,6 +91,7 @@ const ALL_BUILTINS: readonly CatalogInput[] = [ manifestEntry(Icon, iconManifest), manifestEntry(CheckBox, checkBoxManifest), manifestEntry(RadioGroup, radioGroupManifest), + manifestEntry(Slider, sliderManifest), manifestEntry(TextField, textFieldManifest), manifestEntry(Tabs, tabsManifest), ...basicFunctions, diff --git a/packages/genui/a2ui-playground/src/catalog/a2ui.ts b/packages/genui/a2ui-playground/src/catalog/a2ui.ts index 1e8762706c..912e302028 100644 --- a/packages/genui/a2ui-playground/src/catalog/a2ui.ts +++ b/packages/genui/a2ui-playground/src/catalog/a2ui.ts @@ -12,6 +12,7 @@ import listManifest from '@lynx-js/a2ui-reactlynx/catalog/List/catalog.json'; import modalManifest from '@lynx-js/a2ui-reactlynx/catalog/Modal/catalog.json'; import radioGroupManifest from '@lynx-js/a2ui-reactlynx/catalog/RadioGroup/catalog.json'; import rowManifest from '@lynx-js/a2ui-reactlynx/catalog/Row/catalog.json'; +import sliderManifest from '@lynx-js/a2ui-reactlynx/catalog/Slider/catalog.json'; import tabsManifest from '@lynx-js/a2ui-reactlynx/catalog/Tabs/catalog.json'; import textManifest from '@lynx-js/a2ui-reactlynx/catalog/Text/catalog.json'; import textFieldManifest from '@lynx-js/a2ui-reactlynx/catalog/TextField/catalog.json'; @@ -1233,6 +1234,50 @@ export const COMPONENT_CATALOG: ComponentDoc[] = [ openui: [], }, }, + { + name: 'Slider', + category: 'Input', + description: 'A numeric range input backed by lynx-ui slider primitives.', + props: schemaToProps(sliderManifest), + usage: { + a2ui: { + id: 'volume-slider', + component: 'Slider', + label: 'Volume', + value: 40, + min: 0, + max: 100, + }, + openui: {}, + }, + usageExamples: { + a2ui: [ + { + label: 'Percent', + value: { + id: 'volume-slider', + component: 'Slider', + label: 'Volume', + value: 40, + min: 0, + max: 100, + }, + }, + { + label: 'Progress', + value: { + id: 'progress-slider', + component: 'Slider', + label: 'Progress', + value: 0.35, + min: 0, + max: 1, + }, + }, + ], + openui: [], + }, + }, { name: 'Tabs', category: 'Layout', diff --git a/packages/genui/a2ui/README.md b/packages/genui/a2ui/README.md index d8f6f8e22b..b92f39117f 100644 --- a/packages/genui/a2ui/README.md +++ b/packages/genui/a2ui/README.md @@ -15,8 +15,8 @@ This package includes: catalog API. No global registry — every consumer composes the set of components they want available. - `catalog/`: built-in component renderers (`Text`, `Button`, - `Card`, `Column`, `Row`, `List`, `CheckBox`, `RadioGroup`, `Image`, - `Divider`, `Icon`, `Modal`, `Tabs`). + `Card`, `Column`, `Row`, `List`, `CheckBox`, `RadioGroup`, `Slider`, + `Image`, `Divider`, `Icon`, `Modal`, `Tabs`). - `catalog//catalog.json`: per-component JSON-Schema manifests for the agent handshake. diff --git a/packages/genui/a2ui/package.json b/packages/genui/a2ui/package.json index c295dfc68d..cb259e088a 100644 --- a/packages/genui/a2ui/package.json +++ b/packages/genui/a2ui/package.json @@ -86,6 +86,11 @@ "default": "./dist/catalog/RadioGroup/index.js" }, "./catalog/RadioGroup/catalog.json": "./dist/catalog/RadioGroup/catalog.json", + "./catalog/Slider": { + "types": "./dist/catalog/Slider/index.d.ts", + "default": "./dist/catalog/Slider/index.js" + }, + "./catalog/Slider/catalog.json": "./dist/catalog/Slider/catalog.json", "./catalog/Tabs": { "types": "./dist/catalog/Tabs/index.d.ts", "default": "./dist/catalog/Tabs/index.js" @@ -112,15 +117,14 @@ }, "devDependencies": { "@lynx-js/a2ui-catalog-extractor": "workspace:*", - "@lynx-js/lynx-ui": "^3.130.0", - "@lynx-js/lynx-ui-input": "^3.130.0", + "@lynx-js/lynx-ui": "^3.133.0", "@lynx-js/react": "workspace:*", "@lynx-js/types": "3.7.0", "@rstest/core": "catalog:rstest", "@types/react": "^18.3.28" }, "peerDependencies": { - "@lynx-js/lynx-ui": "^3.130.0", + "@lynx-js/lynx-ui": "^3.133.0", "@lynx-js/react": "workspace:^" }, "peerDependenciesMeta": { diff --git a/packages/genui/a2ui/src/catalog/README.md b/packages/genui/a2ui/src/catalog/README.md index 62697a613f..f5a802feef 100644 --- a/packages/genui/a2ui/src/catalog/README.md +++ b/packages/genui/a2ui/src/catalog/README.md @@ -78,6 +78,7 @@ import { Modal, RadioGroup, Row, + Slider, Tabs, Text, TextField, @@ -115,6 +116,9 @@ import radioGroupManifest from '@lynx-js/a2ui-reactlynx/catalog/RadioGroup/catal import rowManifest from '@lynx-js/a2ui-reactlynx/catalog/Row/catalog.json' with { type: 'json', }; +import sliderManifest from '@lynx-js/a2ui-reactlynx/catalog/Slider/catalog.json' with { + type: 'json', +}; import tabsManifest from '@lynx-js/a2ui-reactlynx/catalog/Tabs/catalog.json' with { type: 'json', }; @@ -139,6 +143,7 @@ export const allBuiltins = defineCatalog([ [CheckBox, checkBoxManifest], [Icon, iconManifest], [RadioGroup, radioGroupManifest], + [Slider, sliderManifest], [Tabs, tabsManifest], ]); ``` diff --git a/packages/genui/a2ui/src/catalog/Slider/index.tsx b/packages/genui/a2ui/src/catalog/Slider/index.tsx new file mode 100644 index 0000000000..771629902d --- /dev/null +++ b/packages/genui/a2ui/src/catalog/Slider/index.tsx @@ -0,0 +1,151 @@ +// Copyright 2026 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { + SliderIndicator, + SliderRoot, + SliderThumb, + SliderTrack, +} from '@lynx-js/lynx-ui'; +import { useState } from '@lynx-js/react'; + +import { + fromSliderRatio, + normalizeSliderLabel, + normalizeSliderNumber, + normalizeSliderRange, + toSliderRatio, + toSliderStepRatio, +} from './utils.js'; +import { useChecks } from '../../react/useChecks.js'; +import type { CheckLike } from '../../react/useChecks.js'; +import type { GenericComponentProps } from '../../store/types.js'; + +import '../../../styles/catalog/Slider.css'; + +/** + * @a2uiCatalog Slider + */ +export interface SliderProps extends GenericComponentProps { + /** The label for the slider. */ + label?: string | { path: string } | { + call: string; + args: Record; + returnType?: + | 'string' + | 'number' + | 'boolean' + | 'array' + | 'object' + | 'any' + | 'void'; + }; + /** The minimum value of the slider. */ + min?: number; + /** The maximum value of the slider. */ + max: number; + /** The current value of the slider. */ + value: number | { path: string } | { + call: string; + args: Record; + returnType?: + | 'string' + | 'number' + | 'boolean' + | 'array' + | 'object' + | 'any' + | 'void'; + }; + /** A list of checks to perform. */ + checks?: Array<{ + /** The condition that indicates whether the check passes. */ + condition: boolean | { path: string } | { + call: string; + args: Record; + returnType?: + | 'string' + | 'number' + | 'boolean' + | 'array' + | 'object' + | 'any' + | 'void'; + }; + /** The error message to display if the check fails. */ + message: string; + }>; +} + +export function Slider( + props: SliderProps, +): import('@lynx-js/react').ReactNode { + const { + id, + label, + max, + min, + setValue, + surface, + dataContextPath, + } = props; + const minValue = min ?? props['minValue']; + const maxValue = max ?? props['maxValue']; + const range = normalizeSliderRange(minValue, maxValue); + const step = normalizeSliderNumber(props['step'], Number.NaN); + const stepRatio = toSliderStepRatio(step, range); + const stepProps = stepRatio === undefined ? {} : { step: stepRatio }; + const ratio = toSliderRatio(props.value, range); + const [displayValue, setDisplayValue] = useState( + Math.round(fromSliderRatio(ratio, range, step)), + ); + const labelText = normalizeSliderLabel(label); + const checks = props.checks as CheckLike[] | undefined; + + const { ok, firstFailureMessage } = useChecks({ + checks, + componentId: id ?? '', + surface, + dataContextPath, + }); + + const handleValueChange = (nextRatio: number) => { + const nextValue = fromSliderRatio(nextRatio, range, step); + setValue?.('value', nextValue); + setDisplayValue(Math.round(nextValue)); + }; + + return ( + + {labelText + ? ( + + {labelText} + {String(displayValue)} + + ) + : null} + + + + + + + + + + + {!ok && firstFailureMessage + ? {firstFailureMessage} + : null} + + ); +} diff --git a/packages/genui/a2ui/src/catalog/Slider/utils.ts b/packages/genui/a2ui/src/catalog/Slider/utils.ts new file mode 100644 index 0000000000..92b5810cc7 --- /dev/null +++ b/packages/genui/a2ui/src/catalog/Slider/utils.ts @@ -0,0 +1,91 @@ +// Copyright 2026 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. + +const DEFAULT_MIN = 0; +const DEFAULT_MAX = 100; + +export interface SliderRange { + min: number; + max: number; +} + +export function normalizeSliderNumber( + value: unknown, + fallback: number, +): number { + const numberValue = typeof value === 'number' + ? value + : (typeof value === 'string' + ? Number(value) + : Number.NaN); + + return Number.isFinite(numberValue) ? numberValue : fallback; +} + +export function normalizeSliderRange( + minValue: unknown, + maxValue: unknown, +): SliderRange { + const min = normalizeSliderNumber(minValue, DEFAULT_MIN); + const max = normalizeSliderNumber(maxValue, DEFAULT_MAX); + + if (max > min) { + return { min, max }; + } + + return { min: DEFAULT_MIN, max: DEFAULT_MAX }; +} + +export function clampSliderValue(value: number, range: SliderRange): number { + return Math.min(Math.max(value, range.min), range.max); +} + +export function toSliderRatio(value: unknown, range: SliderRange): number { + const numericValue = normalizeSliderNumber(value, range.min); + return (clampSliderValue(numericValue, range) - range.min) + / (range.max - range.min); +} + +export function fromSliderRatio( + ratio: number, + range: SliderRange, + step?: number, +): number { + const value = clampSliderValue( + range.min + ratio * (range.max - range.min), + range, + ); + if (!step || step <= 0) { + return trimFloatingPoint(value); + } + const stepped = range.min + Math.round((value - range.min) / step) * step; + return trimFloatingPoint(clampSliderValue(stepped, range)); +} + +export function toSliderStepRatio( + step: unknown, + range: SliderRange, +): number | undefined { + const stepValue = normalizeSliderNumber(step, Number.NaN); + if (!Number.isFinite(stepValue) || stepValue <= 0) { + return undefined; + } + return Math.min(stepValue / (range.max - range.min), 1); +} + +export function normalizeSliderLabel(value: unknown): string { + if (value === null || value === undefined) return ''; + if ( + typeof value === 'string' + || typeof value === 'number' + || typeof value === 'boolean' + ) { + return String(value); + } + return ''; +} + +function trimFloatingPoint(value: number): number { + return Number(value.toFixed(12)); +} diff --git a/packages/genui/a2ui/src/catalog/index.ts b/packages/genui/a2ui/src/catalog/index.ts index 56ba265ffd..ffc8cbfac4 100755 --- a/packages/genui/a2ui/src/catalog/index.ts +++ b/packages/genui/a2ui/src/catalog/index.ts @@ -35,6 +35,7 @@ export { List } from './List/index.jsx'; export { Modal } from './Modal/index.jsx'; export { RadioGroup } from './RadioGroup/index.jsx'; export { Row } from './Row/index.jsx'; +export { Slider } from './Slider/index.jsx'; export { Tabs } from './Tabs/index.jsx'; export { Text } from './Text/index.jsx'; export { TextField } from './TextField/index.jsx'; diff --git a/packages/genui/a2ui/src/index.ts b/packages/genui/a2ui/src/index.ts index 69495b2741..0be4c2effb 100644 --- a/packages/genui/a2ui/src/index.ts +++ b/packages/genui/a2ui/src/index.ts @@ -96,6 +96,7 @@ export { Modal, RadioGroup, Row, + Slider, Tabs, Text, TextField, diff --git a/packages/genui/a2ui/styles/catalog/Slider.css b/packages/genui/a2ui/styles/catalog/Slider.css new file mode 100644 index 0000000000..c038312cc7 --- /dev/null +++ b/packages/genui/a2ui/styles/catalog/Slider.css @@ -0,0 +1,93 @@ +@import "../theme.css"; + +.slider { + display: flex; + flex-direction: column; + gap: var(--a2ui-spacing-s); + width: 100%; + min-width: 0; +} + +.slider-header { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + gap: var(--a2ui-spacing-m); + min-width: 0; +} + +.slider-label { + min-width: 0; + color: var(--a2ui-color-text-muted); + font-size: var(--a2ui-font-size-s); + font-weight: 600; + line-height: var(--a2ui-line-height-body); +} + +.slider-value { + flex-shrink: 0; + color: var(--a2ui-color-text-muted); + font-size: var(--a2ui-font-size-xs); + line-height: var(--a2ui-line-height-body); +} + +.slider-control { + margin-left: 12px; + margin-right: 12px; +} + +.slider-root { + width: 100%; + height: 32px; + display: flex; + align-items: center; +} + +.slider-track { + position: relative; + width: 100%; + height: 6px; + border-radius: 999px; + background-color: var(--a2ui-color-surface-muted); +} + +.slider-indicator { + height: 100%; + border-radius: 999px; + background-color: var(--a2ui-color-primary); +} + +.slider-thumb { + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; +} + +.slider-thumb-dot { + width: 18px; + height: 18px; + border-radius: 999px; + border-width: 2px; + border-style: solid; + border-color: var(--a2ui-color-primary); + background-color: var(--a2ui-color-surface-strong); +} + +.slider-invalid .slider-track { + background-color: var(--a2ui-color-input-error-bg); +} + +.slider-invalid .slider-indicator, +.slider-invalid .slider-thumb-dot { + border-color: var(--a2ui-color-input-error); + background-color: var(--a2ui-color-input-error); +} + +.slider-error { + color: var(--a2ui-color-input-error); + font-size: var(--a2ui-font-size-xs); + line-height: var(--a2ui-line-height-body); +} diff --git a/packages/genui/a2ui/test/slider.test.ts b/packages/genui/a2ui/test/slider.test.ts new file mode 100644 index 0000000000..b0d6401c20 --- /dev/null +++ b/packages/genui/a2ui/test/slider.test.ts @@ -0,0 +1,66 @@ +// Copyright 2026 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { describe, expect, test } from '@rstest/core'; + +import { + fromSliderRatio, + normalizeSliderLabel, + normalizeSliderNumber, + normalizeSliderRange, + toSliderRatio, + toSliderStepRatio, +} from '../src/catalog/Slider/utils.js'; + +describe('Slider utils', () => { + test('normalizes numeric values', () => { + expect(normalizeSliderNumber(42, 0)).toBe(42); + expect(normalizeSliderNumber('3.5', 0)).toBe(3.5); + expect(normalizeSliderNumber('bad', 7)).toBe(7); + expect(normalizeSliderNumber(undefined, 7)).toBe(7); + }); + + test('normalizes invalid ranges to defaults', () => { + expect(normalizeSliderRange(10, 20)).toEqual({ min: 10, max: 20 }); + expect(normalizeSliderRange(20, 10)).toEqual({ min: 0, max: 100 }); + expect(normalizeSliderRange(undefined, undefined)).toEqual({ + min: 0, + max: 100, + }); + }); + + test('maps A2UI values to lynx-ui ratios', () => { + const range = { min: 20, max: 120 }; + expect(toSliderRatio(20, range)).toBe(0); + expect(toSliderRatio(70, range)).toBe(0.5); + expect(toSliderRatio(120, range)).toBe(1); + expect(toSliderRatio(200, range)).toBe(1); + }); + + test('maps lynx-ui ratios back to A2UI values', () => { + const range = { min: 20, max: 120 }; + expect(fromSliderRatio(0, range)).toBe(20); + expect(fromSliderRatio(0.5, range)).toBe(70); + expect(fromSliderRatio(1, range)).toBe(120); + expect(fromSliderRatio(1, range, 50)).toBe(120); + }); + + test('converts value step to ratio step', () => { + const range = { min: 0, max: 100 }; + expect(toSliderStepRatio(5, range)).toBe(0.05); + expect(toSliderStepRatio(0, range)).toBeUndefined(); + expect(toSliderStepRatio(undefined, range)).toBeUndefined(); + }); + + test('rounds stepped values without floating point tails', () => { + const range = { min: 0, max: 1 }; + expect(fromSliderRatio(0.3, range, 0.1)).toBe(0.3); + }); + + test('normalizes labels for display', () => { + expect(normalizeSliderLabel('Volume')).toBe('Volume'); + expect(normalizeSliderLabel(7)).toBe('7'); + expect(normalizeSliderLabel(undefined)).toBe(''); + expect(normalizeSliderLabel({ path: '/label' })).toBe(''); + }); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 69e6262a9e..73f111b5d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -615,11 +615,8 @@ importers: specifier: workspace:* version: link:../a2ui-catalog-extractor '@lynx-js/lynx-ui': - specifier: ^3.130.0 - version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-input': - specifier: ^3.130.0 - version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + specifier: ^3.133.0 + version: 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': specifier: workspace:* version: link:../../react @@ -4038,155 +4035,162 @@ packages: '@lynx-js/lynx-core@0.1.3': resolution: {integrity: sha512-uWzKKYJUK4Q09ZRZxWSAFINnmZb9piWPbvWF9SkLn+3snBl9u/BJa4ekPRcKWAhBmpbtxWH1x27fxe3Q3p5l3Q==} - '@lynx-js/lynx-ui-button@3.130.0': - resolution: {integrity: sha512-0f13aZROKhTxMEY69rtWlkfvd6NM3A7JwloFQsh2nxcOiABp6dddvzzQJSayt2xAUxRjFl4uh5Rj/ZrQjjCrNw==} + '@lynx-js/lynx-ui-button@3.133.0': + resolution: {integrity: sha512-JH/iD5TQawHgEweBQYmj+H5ELLNLtLbs3fCUdqvVTdsBOsg6sbUxohzFWCy0SXgvC99+GghGtKu95rD3Jadrzg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-checkbox@3.130.0': - resolution: {integrity: sha512-2xgq7oyGjq7CKYiHd/9nO+gzT2T3KSi4gb3EPxqrENDiiDv5im3ePTwzazUuHaWWK+7cHuJgxZIhwQU0Rk6l8w==} + '@lynx-js/lynx-ui-checkbox@3.133.0': + resolution: {integrity: sha512-iOYXrClq5ejiUeHMTIXteG63CXCMUAbSyapWgxxX568llrN+YM778tedopM5WmoCTmkuPYIYO7MEPUqRXyl3xg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-common@3.130.0': - resolution: {integrity: sha512-6odzHU1z1PomtmskJUxIpj+TkHq9daOhUb7N0a3LquKxz9wp41qM1r2oDLRHdeUlylfId1F87Bto6F7Ql9+37w==} + '@lynx-js/lynx-ui-common@3.133.0': + resolution: {integrity: sha512-gnSyc+RvqmsnOH8LJDT05O30KNFU4X0u1ymqukTeR/metW7sjKBO5mf3W7nJPSmyCtxcwU3qbnw6gV5MVB+p1Q==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-dialog@3.130.0': - resolution: {integrity: sha512-AFkA7V+xI5EdaA2JShIcK3UAMG1RuaZcWl16f66KNRD1/ZgIQNp7sYOW/bnQmH+BXts7p4ut7NWBNNe5WcSVvQ==} + '@lynx-js/lynx-ui-dialog@3.133.0': + resolution: {integrity: sha512-st5Pitj3qz5KUfDbpVWgI6TWQgRWUqK6l2mixphITgZaY517Hsoyj2yWOLmdqgv2pYby95ltdeB4jlA9CJJx5g==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-draggable@3.130.0': - resolution: {integrity: sha512-c9Sw0xahJqttWq/M9SmCIc3X0HIS/d47OBk5oNQRHjhJEaGKP23u/22SfCANXboxLhCxCXXv1OVmW/x8O9Wm2A==} + '@lynx-js/lynx-ui-draggable@3.133.0': + resolution: {integrity: sha512-Qs74k+/1HGgxNtXWdAhTfuxBgydLemE4+MK4rzZJQLUgXxUAh/Cj6hEgvMwxSKbG3LTuzU/Mei2njg9oANzgMg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-feed-list@3.130.0': - resolution: {integrity: sha512-5nUNYzRjSiR94N0LAyZ+b8aj5s6WYJGShohL2piKxw5lDI7PafaYt/i30aj0Q52b7ViB8ZZuD/ZtmbD4pKeRLA==} + '@lynx-js/lynx-ui-feed-list@3.133.0': + resolution: {integrity: sha512-8Q3pLVXxrcxiqR6fTFDm8z6yBHgiCQnVhblXA0ut75JnxSN7yhxFvkBWfifPZ0iHxorwQTM81KYvTXsKfCw8CQ==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-form@3.130.0': - resolution: {integrity: sha512-hiDetKqgAGSGcuxIaRG/ljNfZrQjh31BtWZDw0aXJZL/ifHqwv2NQHErAPp9mgO8i/5NYYNYQ5Sgs/ophKhUMA==} + '@lynx-js/lynx-ui-form@3.133.0': + resolution: {integrity: sha512-qye6w7sM/VJyFce324j7u5tHSXAjugkQ7BOJB9CMTUsMZ9LHVbslEq/nOzhKd8IjM96KUDdFAsPkgwNt05GQgg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-input@3.130.0': - resolution: {integrity: sha512-CPBbnDARhs5wfX//78+ATXYhGhU/R4SjFTL/Yzvur3Wh+lLFQz1mEvv0BOfUFnd/lEilc9Y9q00h6g7w7WHd3A==} + '@lynx-js/lynx-ui-input@3.133.0': + resolution: {integrity: sha512-adkpMXd/rYkmkEsXrcwwiiGw7kLDA4+h1qbVLfHlF2bIB9Tm40vUEKhmdQwSqMdNaNjV8Tt4+FB2TwDiXsMkhw==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-lazy-component@3.130.0': - resolution: {integrity: sha512-Xr4jQBM8mB3VtSxKnxxy0VdAT1M0dE5YWx5mEkpTezGVIX5rU+Ub23VFTtSZeGYWX1EFaleTOR17fsD4+C3CfA==} + '@lynx-js/lynx-ui-lazy-component@3.133.0': + resolution: {integrity: sha512-lH32PwEVnS3EBoz01G1tNygXwUjzitPwfWLRFXpN0SBiWsiZzlKDRUFftalbQR7ss/ydzMixYJqQeNbDAW6itA==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-list@3.130.0': - resolution: {integrity: sha512-MBj7S19iJ3Tnu4qTVFFXMjceQ6pS+Yj84xRqoXdgVO/kvcjTzxJxQJkUt4RvCuvmQ+fOLz3Lt0ePGxVxkOYY+g==} + '@lynx-js/lynx-ui-list@3.133.0': + resolution: {integrity: sha512-U9pe2p7QrA+ULEJeRccu4qdcxVECpVel8aWHfx/g2SNDqEColE4sCVN+9QfYlE7G0FVJkASVaupJCHG9lrpb+g==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-overlay@3.130.0': - resolution: {integrity: sha512-rc11LA4svUdfX7ZG7pjS+7JzoXllmvv6Ng91QwkYbPIuRlcHu/d0VHtd8cPTgkoBevSWCACBIDoIEgONTfyuTA==} + '@lynx-js/lynx-ui-overlay@3.133.0': + resolution: {integrity: sha512-wzkjF7XDUSJgQLgsKZk8iS5xMhIhxqZjGo0cZuHGXiLMuKedVhVklwEMF+4veOByHEK3C6JU8gkp36FuC4FqBg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-popover@3.130.0': - resolution: {integrity: sha512-oP37HtY/KPiDruepLnpaJQQD3WOFINIz3g432xo+wZ+ScAKtZxfQm2pDpeb9eyPejKv9KjNIFexYtoFVMvSFSg==} + '@lynx-js/lynx-ui-popover@3.133.0': + resolution: {integrity: sha512-cwP9QXAur7bDKVhsK+BRjX/zTUruFi9gg/CeLZ/giCGIrAWCJTevQKa3Hj8nZ9H6uq+EkK8X4J18yELqODWEOQ==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-presence@3.130.0': - resolution: {integrity: sha512-h5a1SNFZdmEcsEJ6NrFcWC/LqEmINDh+LE9+givCvA4IwkYBWvgBQHoe/0LESJV75TC1TlB3L0sULsBVxMvqXg==} + '@lynx-js/lynx-ui-presence@3.133.0': + resolution: {integrity: sha512-SVcMrGn46JNbxegxj/mQO9cfKxO2aG5QwhxCCTo9/lDfGDT5WtPzlDLiDcJH8+7rpQLLVm0BLX1hcfoHKmlahg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-radio-group@3.130.0': - resolution: {integrity: sha512-vRylYRYH41BVFCEt2lsOhnZuTcLu5ACcJvOXpCgTItCDsQ/+g1GSzDl37IAwwI4MBUDPG30uwD0+s7JjYjgn0g==} + '@lynx-js/lynx-ui-radio-group@3.133.0': + resolution: {integrity: sha512-1Mq4BlpwRaNhoPRgsLtGU9dOIrjr7T4//KvsXFDh4pUfMmzgHSq2lWkuLTijLepJJlGyOELuISoNmK7CVej04g==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-scroll-view@3.130.0': - resolution: {integrity: sha512-Q5iwceQKFZ4TTLI/h5ZGWhBLP880g4Kn1h4jOeSGWUaKFyEUdbEd1DQKZA673q6pftyLoU6OQ66ZUzyX7tlaqA==} + '@lynx-js/lynx-ui-scroll-view@3.133.0': + resolution: {integrity: sha512-M22qAdw+XrRNVw15b0TKSm+D+eLRmnd4LGT+FRnSQOR1LQwd0w6uZvqX14w+I9+mnVRYyGSl3lg76ycmFrm9MQ==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-sheet@3.130.0': - resolution: {integrity: sha512-OSTgaX5xEJX0cjo9uwwrKcJS8wFZjFr7+yDew7gHK3bv7/FbJUVkJjhyb/bTGMsU+oyUZMUcqTgs1kgiokbPiQ==} + '@lynx-js/lynx-ui-sheet@3.133.0': + resolution: {integrity: sha512-OQHhjSgR7QXQV45lJ2fAgv0iaFE1v3ycoey9zZtoUltPipwxzvJi19OHJZCFGr8VnGdmiiMtrj1tsTQrhGPW7w==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-sortable@3.130.0': - resolution: {integrity: sha512-gdFKT6WJOaXSyaej28jGHaLqMu3E/FGNOcqgTXdEJmFbOgpvCABRdZ1flfQMd5tmCV64HXcN6KYJ7X3BBG6uTw==} + '@lynx-js/lynx-ui-slider@3.133.0': + resolution: {integrity: sha512-KE9d1zH57f2uvxoZt0jisUqCrnUZ+buNyBD0EYNs62wRpkyuZg7kLeJ1DTzKiKA8+zlENL88x9kIB0kDABGcFA==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-swipe-action@3.130.0': - resolution: {integrity: sha512-usfmTKBxVRsHAQQ3XvJOqqR0XRKc9+Gu+QjQdq7sa85m1xeFUocin0E8rBPuUNh82RAKC8NVgSw/olKWN/hi1Q==} + '@lynx-js/lynx-ui-sortable@3.133.0': + resolution: {integrity: sha512-6X+Gm5CeZQMTR0FRorpSb9sq6UHdsDcZpxqiNRYKdVPgBiSDoMci/Bp0HnV436Bi6ORg3ORv9JgDRQRFUijh1w==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-swiper@3.130.0': - resolution: {integrity: sha512-g/kKFEO4hj+pshuJPpugiTqAjiLEr1kaVjTh8GbD40NFo8X+V9tZw92BO1pfVhoRqffqC6gI4mqk7qXqDcqvbA==} + '@lynx-js/lynx-ui-swipe-action@3.133.0': + resolution: {integrity: sha512-icz6xaY1XtGV32kisLiOprHULWj4q4p6SpASHtRYI2jHpXLO9rSueUvoOTQrieQ1kjBJqw8nRRAQp3rHfT2Q6Q==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui-switch@3.130.0': - resolution: {integrity: sha512-AjbqyYAmFI902GrBhsaOsWQdUZjL5RdN8kA3zQfj6c5HzmYqfjWf6Q0HLJP5EoVKl97Inyl8hGlZjECGNEAqVw==} + '@lynx-js/lynx-ui-swiper@3.133.0': + resolution: {integrity: sha512-myXHkI7TYUvhxNV/ho4L4zu9/VgvNRYoA6w2w5MhtB4M31JLeoKxoBUJTFOHGgvRSU/Crj9FbWMUsTnsp7PZwA==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/lynx-ui@3.130.0': - resolution: {integrity: sha512-SgzadpXCECf0dYKmrFytU7C+ihxO//z7pOirNMZppe0MOhWrv4Ld0jBt/yWfSv2rBjBRFIyo2xCxn/PM7yq0dw==} + '@lynx-js/lynx-ui-switch@3.133.0': + resolution: {integrity: sha512-PzNHscudM4+FYJKlQCBhHV6Lw40/yppu9AgIJzksT6oVhrge/gpf/ujzqpHWXIvX1BUk7/kx+AAovjjf3LRDpg==} peerDependencies: '@lynx-js/react': '>=0.100.0' '@lynx-js/types': '*' '@types/react': ^18 - '@lynx-js/motion@0.0.2': - resolution: {integrity: sha512-/oA8yBnWlGsIRxI3FGfdjxFOuKr5j3oLLmn5viW9JeuLRfIg2u+FM+UGiaAl1mZ9xfns1jamK+uax+cPwvW2dA==} + '@lynx-js/lynx-ui@3.133.0': + resolution: {integrity: sha512-IJwhaJU/sw1qgyJYbrgkTCPoH46JSbMfYok+b4e5fwr2rNxLb+aJdsnQ4ayUiXNmb+q9FizHf3YoxI3W6q2xSw==} + peerDependencies: + '@lynx-js/react': '>=0.100.0' + '@lynx-js/types': '*' + '@types/react': ^18 + + '@lynx-js/motion@0.0.3': + resolution: {integrity: sha512-Kujwj1grxFTPjwr3IEO4Qca5YRsoJCeTctsEaUcVFYC5Ekb52LuUavJicMqUuswzW/HrARpJw9npLSiTjfcwYQ==} peerDependencies: '@lynx-js/react': '*' '@lynx-js/types': '*' @@ -4197,10 +4201,10 @@ packages: '@lynx-js/preact-devtools@5.0.1': resolution: {integrity: sha512-ayUU8PJ0TVWABbd5/d/04KI18W9RY4kkaRekBXXbRE/eBkGMZ3lVJ0zOB+B+85B9RUpvEVK2FleqJkS+qBKG6Q==} - '@lynx-js/react-use@0.0.7': - resolution: {integrity: sha512-L+snt3B4ti3sCPiMg1+0FQxr/KV1CadV0kTUD/Lj8VBhJ5gK5TiI0tRLSCGUrMZyNlzI9enXlk6C3GIquEo8Fw==} + '@lynx-js/react-use@0.1.3': + resolution: {integrity: sha512-48NX1DZfIqdpcFPKR3SdI/E0D2INJzgMDtl9IK0vbqWKPgj6LgUPZN0iqIDd7Juy3in5c2bv6E9jCpoq5ONeVw==} peerDependencies: - '@lynx-js/react': '>=0.114.4' + '@lynx-js/react': '>=0.105.1' '@lynx-js/tasm@0.0.39': resolution: {integrity: sha512-FNIV6Cc2K0wCKOHVMfpr3M6kpIZqHHNI02GpVl+h0ClyyK44jxEO+lf58gLFD5E3o0hJ1cp3H2OBIxSUJGkPDw==} @@ -7895,20 +7899,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.23.12: - resolution: {integrity: sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==} - peerDependencies: - '@emotion/is-prop-valid': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/is-prop-valid': - optional: true - react: - optional: true - react-dom: - optional: true - framer-motion@12.34.1: resolution: {integrity: sha512-kcZyNaYQfvE2LlH6+AyOaJAQV4rGp5XbzfhsZpiSZcwDMfZUHhuxLWeyRzf5I7jip3qKRpuimPA9pXXfr111kQ==} peerDependencies: @@ -8324,6 +8314,9 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + immer@10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + immer@10.2.0: resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} @@ -9390,6 +9383,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.1.11: + resolution: {integrity: sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==} + engines: {node: ^18 || >=20} + hasBin: true + napi-postinstall@0.3.3: resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -13564,9 +13562,9 @@ snapshots: '@lynx-js/lynx-core@0.1.3': {} - '@lynx-js/lynx-ui-button@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-button@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13575,10 +13573,10 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-checkbox@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-checkbox@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13587,23 +13585,23 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-common@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-common@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0) '@lynx-js/react': link:packages/react - '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/react-use': 0.1.3(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 transitivePeerDependencies: - react - react-dom - '@lynx-js/lynx-ui-dialog@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-dialog@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-overlay': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-presence': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13612,22 +13610,22 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-draggable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-draggable@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react - '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/react-use': 0.1.3(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 transitivePeerDependencies: - react - react-dom - '@lynx-js/lynx-ui-feed-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-feed-list@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-list': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13635,14 +13633,14 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-form@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-form@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-switch': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28) + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-checkbox': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-input': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-radio-group': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-switch': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13650,10 +13648,10 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-input@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-input@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-scroll-view': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13661,9 +13659,9 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-lazy-component@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-lazy-component@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13671,10 +13669,10 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-list@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13682,9 +13680,9 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-overlay@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-overlay@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13692,12 +13690,12 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-popover@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-popover@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-overlay': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-presence': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13706,9 +13704,9 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-presence@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-presence@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13717,10 +13715,10 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-radio-group@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-radio-group@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13729,11 +13727,11 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-scroll-view@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-scroll-view@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-lazy-component': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13741,13 +13739,13 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-sheet@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-sheet@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/motion': 0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-dialog': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-overlay': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-presence': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/motion': 0.0.3(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13757,10 +13755,9 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-sortable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-slider@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13768,10 +13765,21 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-swipe-action@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-sortable@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + dependencies: + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-draggable': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/react': link:packages/react + '@lynx-js/types': 3.7.0 + '@types/react': 18.3.28 + transitivePeerDependencies: + - react + - react-dom + + '@lynx-js/lynx-ui-swipe-action@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13779,45 +13787,50 @@ snapshots: - react - react-dom - '@lynx-js/lynx-ui-swiper@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/lynx-ui-swiper@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react - '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/react-use': 0.1.3(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 transitivePeerDependencies: - react - react-dom - '@lynx-js/lynx-ui-switch@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)': + '@lynx-js/lynx-ui-switch@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 clsx: 2.1.1 + transitivePeerDependencies: + - react + - react-dom - '@lynx-js/lynx-ui@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': - dependencies: - '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-feed-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-form': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-popover': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-sheet': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-sortable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-swipe-action': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-swiper': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) - '@lynx-js/lynx-ui-switch': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28) + '@lynx-js/lynx-ui@3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + dependencies: + '@lynx-js/lynx-ui-button': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-checkbox': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-common': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-dialog': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-draggable': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-feed-list': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-form': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-input': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-lazy-component': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-list': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-popover': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-presence': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-radio-group': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-scroll-view': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-sheet': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-slider': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-sortable': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-swipe-action': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-swiper': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + '@lynx-js/lynx-ui-switch': 3.133.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5) '@lynx-js/react': link:packages/react '@lynx-js/types': 3.7.0 '@types/react': 18.3.28 @@ -13826,10 +13839,10 @@ snapshots: - react - react-dom - '@lynx-js/motion@0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/motion@0.0.3(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/react': link:packages/react - framer-motion: 12.23.12(react-dom@19.2.4(react@19.2.5))(react@19.2.5) + framer-motion: 12.34.1(react-dom@19.2.4(react@19.2.5))(react@19.2.5) motion-dom: 12.23.12 motion-utils: 12.23.6 optionalDependencies: @@ -13844,9 +13857,11 @@ snapshots: errorstacks: 2.4.1 htm: 3.1.1 - '@lynx-js/react-use@0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': + '@lynx-js/react-use@0.1.3(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)': dependencies: '@lynx-js/react': link:packages/react + immer: 10.1.1 + nanoid: 5.1.11 react-use: 17.6.0(react-dom@19.2.4(react@19.2.5))(react@19.2.5) transitivePeerDependencies: - react @@ -17989,15 +18004,6 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.23.12(react-dom@19.2.4(react@19.2.5))(react@19.2.5): - dependencies: - motion-dom: 12.23.12 - motion-utils: 12.23.6 - tslib: 2.8.1 - optionalDependencies: - react: 19.2.5 - react-dom: 19.2.4(react@19.2.5) - framer-motion@12.34.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: motion-dom: 12.34.1 @@ -18528,6 +18534,8 @@ snapshots: ignore@7.0.5: {} + immer@10.1.1: {} + immer@10.2.0: {} immutable@5.0.2: {} @@ -19900,6 +19908,8 @@ snapshots: nanoid@3.3.12: {} + nanoid@5.1.11: {} + napi-postinstall@0.3.3: {} natural-compare@1.4.0: {}