diff --git a/packages/time-input/README.md b/packages/time-input/README.md new file mode 100644 index 0000000000..222d5573ce --- /dev/null +++ b/packages/time-input/README.md @@ -0,0 +1,25 @@ +# Time Input + +![npm (scoped)](https://img.shields.io/npm/v/@leafygreen-ui/time-input.svg) + +#### [View on MongoDB.design](https://www.mongodb.design/component/time-input/live-example/) + +## Installation + +### PNPM + +```shell +pnpm add @leafygreen-ui/time-input +``` + +### Yarn + +```shell +yarn add @leafygreen-ui/time-input +``` + +### NPM + +```shell +npm install @leafygreen-ui/time-input +``` diff --git a/packages/time-input/package.json b/packages/time-input/package.json new file mode 100644 index 0000000000..9a40d10bb9 --- /dev/null +++ b/packages/time-input/package.json @@ -0,0 +1,54 @@ + +{ + "name": "@leafygreen-ui/time-input", + "version": "0.1.0", + "description": "LeafyGreen UI Kit Time Input", + "main": "./dist/umd/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", + "license": "Apache-2.0", + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "types@<=5.0": "./dist/types/ts4.9/index.d.ts", + "import": "./dist/esm/index.js", + "require": "./dist/umd/index.js" + }, + "./testing": { + "types": "./dist/types/testing/index.d.ts", + "import": "./dist/esm/testing/index.js", + "require": "./dist/umd/testing/index.js" + } + }, + "scripts": { + "build": "lg-build bundle", + "tsc": "lg-build tsc", + "docs": "lg-build docs" + }, + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@leafygreen-ui/date-utils": "workspace:^", + "@leafygreen-ui/emotion": "workspace:^", + "@leafygreen-ui/form-field": "workspace:^", + "@leafygreen-ui/hooks": "workspace:^", + "@leafygreen-ui/lib": "workspace:^", + "@leafygreen-ui/palette": "workspace:^", + "@leafygreen-ui/select": "workspace:^", + "@lg-tools/test-harnesses": "workspace:^", + "@leafygreen-ui/tokens": "workspace:^", + "@leafygreen-ui/typography": "workspace:^" + }, + "peerDependencies": { + "@leafygreen-ui/leafygreen-provider": "workspace:^" + }, + "homepage": "https://github.com/mongodb/leafygreen-ui/tree/main/packages/time-input", + "repository": { + "type": "git", + "url": "https://github.com/mongodb/leafygreen-ui" + }, + "bugs": { + "url": "https://jira.mongodb.org/projects/LG/summary" + } +} diff --git a/packages/time-input/src/TimeInput.stories.tsx b/packages/time-input/src/TimeInput.stories.tsx new file mode 100644 index 0000000000..1b0411f54e --- /dev/null +++ b/packages/time-input/src/TimeInput.stories.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { type StoryMetaType } from '@lg-tools/storybook-utils'; +import { StoryFn } from '@storybook/react'; + +import { TimeInput } from '.'; + +const meta: StoryMetaType = { + title: 'Components/Inputs/TimeInput', + component: TimeInput, + parameters: { + default: 'LiveExample', + }, +}; + +export default meta; + +const Template: StoryFn = props => ; + +export const LiveExample = Template.bind({}); diff --git a/packages/time-input/src/TimeInput/TimeInput.spec.tsx b/packages/time-input/src/TimeInput/TimeInput.spec.tsx new file mode 100644 index 0000000000..00fc3588cd --- /dev/null +++ b/packages/time-input/src/TimeInput/TimeInput.spec.tsx @@ -0,0 +1,9 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInput } from '.'; + +describe('packages/time-input', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/TimeInput/TimeInput.styles.ts b/packages/time-input/src/TimeInput/TimeInput.styles.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/time-input/src/TimeInput/TimeInput.tsx b/packages/time-input/src/TimeInput/TimeInput.tsx new file mode 100644 index 0000000000..4dca40a30d --- /dev/null +++ b/packages/time-input/src/TimeInput/TimeInput.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import LeafyGreenProvider, { + useDarkMode, +} from '@leafygreen-ui/leafygreen-provider'; + +import { TimeInputContent } from '../TimeInputContent'; + +import { TimeInputProps } from './TimeInput.types'; + +/** + * @internal + */ +export const TimeInput = ({ + darkMode: darkModeProp, + ...props +}: TimeInputProps) => { + const { darkMode } = useDarkMode(darkModeProp); + + return ( + + {/* TODO: Add Providers*/} + + + ); +}; + +TimeInput.displayName = 'TimeInput'; diff --git a/packages/time-input/src/TimeInput/TimeInput.types.ts b/packages/time-input/src/TimeInput/TimeInput.types.ts new file mode 100644 index 0000000000..1f619f935e --- /dev/null +++ b/packages/time-input/src/TimeInput/TimeInput.types.ts @@ -0,0 +1,28 @@ +import { ChangeEvent } from 'react'; +import omit from 'lodash/omit'; + +import { FormFieldState } from '@leafygreen-ui/form-field'; +import { DarkModeProps, LgIdProps } from '@leafygreen-ui/lib'; +import { Size } from '@leafygreen-ui/tokens'; + +export const TimeInputState = omit(FormFieldState, 'Valid'); +export type TimeInputState = + (typeof TimeInputState)[keyof typeof TimeInputState]; + +export { Size }; + +export interface BaseTimeInputProps extends DarkModeProps, LgIdProps { + state?: TimeInputState; + label?: React.ReactNode; + description?: string; + size?: Size; + disabled?: boolean; + className?: string; +} + +export type TimeInputProps = { + value?: string; + onTimeChange?: (value: string) => void; + handleValidation?: (value: string) => void; + onChange?: (event: ChangeEvent) => void; +} & BaseTimeInputProps; diff --git a/packages/time-input/src/TimeInput/index.ts b/packages/time-input/src/TimeInput/index.ts new file mode 100644 index 0000000000..7228dba201 --- /dev/null +++ b/packages/time-input/src/TimeInput/index.ts @@ -0,0 +1,2 @@ +export { TimeInput } from './TimeInput'; +export { type TimeInputProps } from './TimeInput.types'; diff --git a/packages/time-input/src/TimeInputContent/TimeInputContent.spec.tsx b/packages/time-input/src/TimeInputContent/TimeInputContent.spec.tsx new file mode 100644 index 0000000000..1c17c1fbdc --- /dev/null +++ b/packages/time-input/src/TimeInputContent/TimeInputContent.spec.tsx @@ -0,0 +1,10 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ + +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInputContent } from '.'; + +describe('packages/time-input-content', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/TimeInputContent/TimeInputContent.styles.ts b/packages/time-input/src/TimeInputContent/TimeInputContent.styles.ts new file mode 100644 index 0000000000..653bc003e7 --- /dev/null +++ b/packages/time-input/src/TimeInputContent/TimeInputContent.styles.ts @@ -0,0 +1,7 @@ +import { css } from '@leafygreen-ui/emotion'; + +export const wrapperBaseStyles = css` + display: flex; + position: relative; + z-index: 0; // Establish new stacking context +`; diff --git a/packages/time-input/src/TimeInputContent/TimeInputContent.tsx b/packages/time-input/src/TimeInputContent/TimeInputContent.tsx new file mode 100644 index 0000000000..68f5b03f78 --- /dev/null +++ b/packages/time-input/src/TimeInputContent/TimeInputContent.tsx @@ -0,0 +1,43 @@ +import React, { useState } from 'react'; + +import { cx } from '@leafygreen-ui/emotion'; +import { FormField, FormFieldInputContainer } from '@leafygreen-ui/form-field'; + +import { unitOptions } from '../constants'; +import { TimeInputInput } from '../TimeInputInput'; +import { TimeInputSelect } from '../TimeInputSelect'; +import { UnitOption } from '../TimeInputSelect/TimeInputSelect.types'; + +import { wrapperBaseStyles } from './TimeInputContent.styles'; +import { TimeInputContentProps } from './TimeInputContent.types'; + +/** + * @internal + */ +export const TimeInputContent = ({ className }: TimeInputContentProps) => { + const [selectUnit, setSelectUnit] = useState(unitOptions[0]); + + const handleSelectChange = (unit: UnitOption) => { + setSelectUnit(unit); + }; + + return ( +
+ +
+ + + + { + handleSelectChange(unit); + }} + /> +
+
+
+ ); +}; + +TimeInputContent.displayName = 'TimeInputContent'; diff --git a/packages/time-input/src/TimeInputContent/TimeInputContent.types.ts b/packages/time-input/src/TimeInputContent/TimeInputContent.types.ts new file mode 100644 index 0000000000..18993479e3 --- /dev/null +++ b/packages/time-input/src/TimeInputContent/TimeInputContent.types.ts @@ -0,0 +1,3 @@ +import { TimeInputProps } from '../TimeInput/TimeInput.types'; + +export type TimeInputContentProps = TimeInputProps; diff --git a/packages/time-input/src/TimeInputContent/index.ts b/packages/time-input/src/TimeInputContent/index.ts new file mode 100644 index 0000000000..e0d9bafe8f --- /dev/null +++ b/packages/time-input/src/TimeInputContent/index.ts @@ -0,0 +1,2 @@ +export { TimeInputContent } from './TimeInputContent'; +export { type TimeInputContentProps } from './TimeInputContent.types'; diff --git a/packages/time-input/src/TimeInputContext/TimeInputContext.spec.tsx b/packages/time-input/src/TimeInputContext/TimeInputContext.spec.tsx new file mode 100644 index 0000000000..4bca732ed7 --- /dev/null +++ b/packages/time-input/src/TimeInputContext/TimeInputContext.spec.tsx @@ -0,0 +1,9 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInputContext } from '.'; + +describe('packages/time-input-context', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/TimeInputContext/TimeInputContext.tsx b/packages/time-input/src/TimeInputContext/TimeInputContext.tsx new file mode 100644 index 0000000000..3f10ac27c8 --- /dev/null +++ b/packages/time-input/src/TimeInputContext/TimeInputContext.tsx @@ -0,0 +1,5 @@ +import { createContext } from 'react'; + +import { TimeInputContextProps } from './TimeInputContext.types'; + +export const TimeInputContext = createContext({}); diff --git a/packages/time-input/src/TimeInputContext/TimeInputContext.types.ts b/packages/time-input/src/TimeInputContext/TimeInputContext.types.ts new file mode 100644 index 0000000000..13bfbdff0d --- /dev/null +++ b/packages/time-input/src/TimeInputContext/TimeInputContext.types.ts @@ -0,0 +1 @@ +export interface TimeInputContextProps {} diff --git a/packages/time-input/src/TimeInputContext/index.ts b/packages/time-input/src/TimeInputContext/index.ts new file mode 100644 index 0000000000..b65dbdaa64 --- /dev/null +++ b/packages/time-input/src/TimeInputContext/index.ts @@ -0,0 +1,2 @@ +export { TimeInputContext } from './TimeInputContext'; +export { type TimeInputContextProps } from './TimeInputContext.types'; diff --git a/packages/time-input/src/TimeInputInput/TimeInputInput.spec.tsx b/packages/time-input/src/TimeInputInput/TimeInputInput.spec.tsx new file mode 100644 index 0000000000..47539cc419 --- /dev/null +++ b/packages/time-input/src/TimeInputInput/TimeInputInput.spec.tsx @@ -0,0 +1,9 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInputInput } from '.'; + +describe('packages/time-input-input', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/TimeInputInput/TimeInputInput.styles.ts b/packages/time-input/src/TimeInputInput/TimeInputInput.styles.ts new file mode 100644 index 0000000000..aa09bb1172 --- /dev/null +++ b/packages/time-input/src/TimeInputInput/TimeInputInput.styles.ts @@ -0,0 +1,8 @@ +import { css, cx } from '@leafygreen-ui/emotion'; + +export const getBaseStyles = () => + cx( + css` + min-width: 100px; + `, + ); diff --git a/packages/time-input/src/TimeInputInput/TimeInputInput.tsx b/packages/time-input/src/TimeInputInput/TimeInputInput.tsx new file mode 100644 index 0000000000..7ac8a64244 --- /dev/null +++ b/packages/time-input/src/TimeInputInput/TimeInputInput.tsx @@ -0,0 +1,18 @@ +import React, { useRef } from 'react'; + +import { getBaseStyles } from './TimeInputInput.styles'; + +/** + * @internal + */ +export const TimeInputInput = () => { + const containerRef = useRef(null); + + return ( +
+ {/* TODO: Input segments go here */} +
+ ); +}; + +TimeInputInput.displayName = 'TimeInputInput'; diff --git a/packages/time-input/src/TimeInputInput/TimeInputInput.types.ts b/packages/time-input/src/TimeInputInput/TimeInputInput.types.ts new file mode 100644 index 0000000000..880f2b9527 --- /dev/null +++ b/packages/time-input/src/TimeInputInput/TimeInputInput.types.ts @@ -0,0 +1,3 @@ +export interface TimeInputInputProps { + className?: string; +} diff --git a/packages/time-input/src/TimeInputInput/index.ts b/packages/time-input/src/TimeInputInput/index.ts new file mode 100644 index 0000000000..1194a3a0f4 --- /dev/null +++ b/packages/time-input/src/TimeInputInput/index.ts @@ -0,0 +1,2 @@ +export { TimeInputInput } from './TimeInputInput'; +export { type TimeInputInputProps } from './TimeInputInput.types'; diff --git a/packages/time-input/src/TimeInputSelect/TimeInputSelect.spec.tsx b/packages/time-input/src/TimeInputSelect/TimeInputSelect.spec.tsx new file mode 100644 index 0000000000..43272da620 --- /dev/null +++ b/packages/time-input/src/TimeInputSelect/TimeInputSelect.spec.tsx @@ -0,0 +1,9 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInputSelect } from '.'; + +describe('packages/time-input-select', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/TimeInputSelect/TimeInputSelect.styles.ts b/packages/time-input/src/TimeInputSelect/TimeInputSelect.styles.ts new file mode 100644 index 0000000000..45b38fbe85 --- /dev/null +++ b/packages/time-input/src/TimeInputSelect/TimeInputSelect.styles.ts @@ -0,0 +1,38 @@ +import { css } from '@leafygreen-ui/emotion'; +import { Theme } from '@leafygreen-ui/lib'; +import { color, fontWeights, typeScales } from '@leafygreen-ui/tokens'; + +export const wrapperBaseStyles = css` + margin-left: -1px; + + // TODO: temp + min-width: 70px; + + &:hover, + &:focus-within { + z-index: 2; + } +`; + +export const getSelectDisabledStyles = (theme: Theme) => css` + button { + background-color: ${color[theme].background.disabled.default}; + border-color: ${color[theme].border.disabled.default}; + } +`; + +export const selectStyles = css` + > div { + display: flex; + } + + button { + font-size: ${typeScales.body1.fontSize}px; + line-height: ${typeScales.body1.lineHeight}px; + + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + font-weight: ${fontWeights.medium}; + } +`; diff --git a/packages/time-input/src/TimeInputSelect/TimeInputSelect.tsx b/packages/time-input/src/TimeInputSelect/TimeInputSelect.tsx new file mode 100644 index 0000000000..d65308e0c6 --- /dev/null +++ b/packages/time-input/src/TimeInputSelect/TimeInputSelect.tsx @@ -0,0 +1,64 @@ +import React from 'react'; + +import { cx } from '@leafygreen-ui/emotion'; +import { + DropdownWidthBasis, + Option, + RenderMode, + Select as LGSelect, +} from '@leafygreen-ui/select'; + +import { unitOptions } from '../constants'; + +import { selectStyles, wrapperBaseStyles } from './TimeInputSelect.styles'; +import { TimeInputSelectProps, UnitOption } from './TimeInputSelect.types'; + +/** + * @internal + */ +export const TimeInputSelect = ({ + unit, + id, + className, + onChange, +}: TimeInputSelectProps) => { + /** + * Gets the current unit option using the unit string + * + * @internal + */ + const currentUnitOption = unitOptions.find( + u => u.displayName === unit, + ) as UnitOption; + + const handleChange = (val: string) => { + const selectedUnit = unitOptions.find(u => u.displayName === val); + + if (selectedUnit !== undefined) { + onChange(selectedUnit); + } + }; + + return ( +
+ + {unitOptions.map(option => ( + + ))} + +
+ ); +}; + +TimeInputSelect.displayName = 'TimeInputSelect'; diff --git a/packages/time-input/src/TimeInputSelect/TimeInputSelect.types.ts b/packages/time-input/src/TimeInputSelect/TimeInputSelect.types.ts new file mode 100644 index 0000000000..f59cd87c68 --- /dev/null +++ b/packages/time-input/src/TimeInputSelect/TimeInputSelect.types.ts @@ -0,0 +1,26 @@ +export interface UnitOption { + displayName: string; + value: string; +} + +export interface TimeInputSelectProps { + /** + * Id for the select component. + */ + id?: string; + + /** + * The controlled value of the select input. + */ + unit: string; + + /** + * Callback fired when the unit option changes. + */ + onChange: (unit: UnitOption) => void; + + /** + * The className for the select component. + */ + className?: string; +} diff --git a/packages/time-input/src/TimeInputSelect/index.ts b/packages/time-input/src/TimeInputSelect/index.ts new file mode 100644 index 0000000000..67a8fc7c83 --- /dev/null +++ b/packages/time-input/src/TimeInputSelect/index.ts @@ -0,0 +1,2 @@ +export { TimeInputSelect } from './TimeInputSelect'; +export { type TimeInputSelectProps } from './TimeInputSelect.types'; diff --git a/packages/time-input/src/constants.ts b/packages/time-input/src/constants.ts new file mode 100644 index 0000000000..afb7f735b4 --- /dev/null +++ b/packages/time-input/src/constants.ts @@ -0,0 +1,4 @@ +export const unitOptions = [ + { displayName: 'AM', value: 'AM' }, + { displayName: 'PM', value: 'PM' }, +]; diff --git a/packages/time-input/src/index.ts b/packages/time-input/src/index.ts new file mode 100644 index 0000000000..ab921d757d --- /dev/null +++ b/packages/time-input/src/index.ts @@ -0,0 +1 @@ +export { TimeInput, type TimeInputProps } from './TimeInput'; diff --git a/packages/time-input/src/testing/getTestUtils.spec.tsx b/packages/time-input/src/testing/getTestUtils.spec.tsx new file mode 100644 index 0000000000..f11a3a982e --- /dev/null +++ b/packages/time-input/src/testing/getTestUtils.spec.tsx @@ -0,0 +1,10 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ + +import React from 'react'; +import { render } from '@testing-library/react'; + +import { TimeInput } from '../'; + +describe('packages/time-input/getTestUtils', () => { + test('condition', () => {}); +}); diff --git a/packages/time-input/src/testing/getTestUtils.tsx b/packages/time-input/src/testing/getTestUtils.tsx new file mode 100644 index 0000000000..44f7cead1e --- /dev/null +++ b/packages/time-input/src/testing/getTestUtils.tsx @@ -0,0 +1,17 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ + +import { findByLgId, getByLgId, queryByLgId } from '@lg-tools/test-harnesses'; + +import { LgIdString } from '@leafygreen-ui/lib'; + +import { DEFAULT_LGID_ROOT, getLgIds } from '../utils/getLgIds'; + +import { TestUtilsReturnType } from './getTestUtils.types'; + +export const getTestUtils = ( + lgId: LgIdString = DEFAULT_LGID_ROOT, +): TestUtilsReturnType => { + const lgIds = getLgIds(lgId); + + return {}; +}; diff --git a/packages/time-input/src/testing/getTestUtils.types.ts b/packages/time-input/src/testing/getTestUtils.types.ts new file mode 100644 index 0000000000..4b2df87c73 --- /dev/null +++ b/packages/time-input/src/testing/getTestUtils.types.ts @@ -0,0 +1 @@ +export interface TestUtilsReturnType {} diff --git a/packages/time-input/src/testing/index.ts b/packages/time-input/src/testing/index.ts new file mode 100644 index 0000000000..4c102995fa --- /dev/null +++ b/packages/time-input/src/testing/index.ts @@ -0,0 +1,2 @@ +export { getTestUtils } from './getTestUtils'; +export { type TestUtilsReturnType } from './getTestUtils.types'; diff --git a/packages/time-input/src/utils/getLgIds.ts b/packages/time-input/src/utils/getLgIds.ts new file mode 100644 index 0000000000..a59854ff3d --- /dev/null +++ b/packages/time-input/src/utils/getLgIds.ts @@ -0,0 +1,12 @@ +import { LgIdString } from '@leafygreen-ui/lib'; + +export const DEFAULT_LGID_ROOT = 'lg-time_input'; + +export const getLgIds = (root: LgIdString = DEFAULT_LGID_ROOT) => { + const ids = { + root, + } as const; + return ids; +}; + +export type GetLgIdsReturnType = ReturnType; diff --git a/packages/time-input/tsconfig.json b/packages/time-input/tsconfig.json new file mode 100644 index 0000000000..127c9a54d6 --- /dev/null +++ b/packages/time-input/tsconfig.json @@ -0,0 +1,55 @@ +{ + "extends": "@lg-tools/build/config/package.tsconfig.json", + "compilerOptions": { + "paths": { + "@leafygreen-ui/icon/dist/*": [ + "../icon/src/generated/*" + ], + "@leafygreen-ui/*": [ + "../*/src" + ] + } + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "**/*.spec.*", + "**/*.stories.*" + ], + "references": [ + { + "path": "../emotion" + }, + { + "path": "../lib" + }, + { + "path": "../../tools/test-harnesses" + }, + { + "path": "../leafygreen-provider" + }, + { + "path": "../form-field" + }, + { + "path": "../hooks" + }, + { + "path": "../select" + }, + { + "path": "../tokens" + }, + { + "path": "../typography" + }, + { + "path": "../date-utils" + }, + { + "path": "../palette" + }, + ] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3a8ddf1fd..c88c9753ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1997,7 +1997,7 @@ importers: version: 4.16.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828) + version: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911) xml2json: specifier: ^0.12.0 version: 0.12.0 @@ -3355,6 +3355,42 @@ importers: specifier: workspace:^ version: link:../../tools/build + packages/time-input: + dependencies: + '@leafygreen-ui/date-utils': + specifier: workspace:^ + version: link:../date-utils + '@leafygreen-ui/emotion': + specifier: workspace:^ + version: link:../emotion + '@leafygreen-ui/form-field': + specifier: workspace:^ + version: link:../form-field + '@leafygreen-ui/hooks': + specifier: workspace:^ + version: link:../hooks + '@leafygreen-ui/leafygreen-provider': + specifier: workspace:^ + version: link:../leafygreen-provider + '@leafygreen-ui/lib': + specifier: workspace:^ + version: link:../lib + '@leafygreen-ui/palette': + specifier: workspace:^ + version: link:../palette + '@leafygreen-ui/select': + specifier: workspace:^ + version: link:../select + '@leafygreen-ui/tokens': + specifier: workspace:^ + version: link:../tokens + '@leafygreen-ui/typography': + specifier: workspace:^ + version: link:../typography + '@lg-tools/test-harnesses': + specifier: workspace:^ + version: link:../../tools/test-harnesses + packages/toast: dependencies: '@leafygreen-ui/emotion': @@ -4066,10 +4102,10 @@ importers: version: 8.6.12(storybook@8.6.14(prettier@2.8.8)) '@storybook/react': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) '@storybook/react-webpack5': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) '@storybook/test': specifier: 8.6.12 version: 8.6.12(storybook@8.6.14(prettier@2.8.8)) @@ -4078,7 +4114,7 @@ importers: version: 8.6.12(storybook@8.6.14(prettier@2.8.8)) '@svgr/webpack': specifier: 8.0.1 - version: 8.0.1(typescript@6.0.0-dev.20250828) + version: 8.0.1(typescript@6.0.0-dev.20250911) assert: specifier: ^2.1.0 version: 2.1.0 @@ -4120,7 +4156,7 @@ importers: version: 18.3.1 react-docgen-typescript: specifier: 2.2.2 - version: 2.2.2(typescript@6.0.0-dev.20250828) + version: 2.2.2(typescript@6.0.0-dev.20250911) react-dom: specifier: ^17.0.0 || ^18.0.0 version: 18.3.1(react@18.3.1) @@ -4271,7 +4307,7 @@ importers: version: 11.1.1 jest: specifier: 29.6.2 - version: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + version: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) jest-axe: specifier: 8.0.0 version: 8.0.0 @@ -10914,8 +10950,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@6.0.0-dev.20250828: - resolution: {integrity: sha512-evNAXFI08Dt43B6fEL04etGEX9PhAo8/NuPLAALsw2j4b4fOik/UYeYS3bswcQbQytpkjuvWM6paKkrZ4y5jjw==} + typescript@6.0.0-dev.20250911: + resolution: {integrity: sha512-OgsCutlwVd10tyO7Sw/icN1c/UX4BlzC+9h3w3RYwGIbypRJYFi0wsSezhmUV4HocCFdSqmU0dJ/Ob3JA72icA==} engines: {node: '>=14.17'} hasBin: true @@ -13493,7 +13529,7 @@ snapshots: - ts-node optional: true - '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828))': + '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -13507,7 +13543,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + jest-config: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -13564,7 +13600,7 @@ snapshots: - ts-node optional: true - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -13578,7 +13614,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + jest-config: 29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -14109,7 +14145,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-webpack5@8.6.12(esbuild@0.25.8)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828)': + '@storybook/builder-webpack5@8.6.12(esbuild@0.25.8)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911)': dependencies: '@storybook/core-webpack': 8.6.12(storybook@8.6.14(prettier@2.8.8)) '@types/semver': 7.7.0 @@ -14119,7 +14155,7 @@ snapshots: constants-browserify: 1.0.0 css-loader: 6.11.0(webpack@5.88.0(esbuild@0.25.8)) es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@6.0.0-dev.20250828)(webpack@5.88.0(esbuild@0.25.8)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@6.0.0-dev.20250911)(webpack@5.88.0(esbuild@0.25.8)) html-webpack-plugin: 5.6.3(webpack@5.88.0(esbuild@0.25.8)) magic-string: 0.30.17 path-browserify: 1.0.1 @@ -14137,7 +14173,7 @@ snapshots: webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 optionalDependencies: - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -14221,11 +14257,11 @@ snapshots: dependencies: storybook: 8.6.14(prettier@2.8.8) - '@storybook/preset-react-webpack@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828)': + '@storybook/preset-react-webpack@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911)': dependencies: '@storybook/core-webpack': 8.6.12(storybook@8.6.14(prettier@2.8.8)) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@6.0.0-dev.20250828)(webpack@5.88.0(esbuild@0.25.8)) + '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@6.0.0-dev.20250911)(webpack@5.88.0(esbuild@0.25.8)) '@types/semver': 7.7.0 find-up: 5.0.0 magic-string: 0.30.17 @@ -14238,7 +14274,7 @@ snapshots: tsconfig-paths: 4.2.0 webpack: 5.88.0(esbuild@0.25.8) optionalDependencies: - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 transitivePeerDependencies: - '@storybook/test' - '@swc/core' @@ -14251,16 +14287,16 @@ snapshots: dependencies: storybook: 8.6.14(prettier@2.8.8) - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@6.0.0-dev.20250828)(webpack@5.88.0(esbuild@0.25.8))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@6.0.0-dev.20250911)(webpack@5.88.0(esbuild@0.25.8))': dependencies: debug: 4.4.1 endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 micromatch: 4.0.8 - react-docgen-typescript: 2.2.2(typescript@6.0.0-dev.20250828) + react-docgen-typescript: 2.2.2(typescript@6.0.0-dev.20250911) tslib: 2.8.1 - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 webpack: 5.88.0(esbuild@0.25.8) transitivePeerDependencies: - supports-color @@ -14271,16 +14307,16 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.6.14(prettier@2.8.8) - '@storybook/react-webpack5@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828)': + '@storybook/react-webpack5@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911)': dependencies: - '@storybook/builder-webpack5': 8.6.12(esbuild@0.25.8)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) - '@storybook/preset-react-webpack': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828) + '@storybook/builder-webpack5': 8.6.12(esbuild@0.25.8)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) + '@storybook/preset-react-webpack': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(esbuild@0.25.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) + '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) storybook: 8.6.14(prettier@2.8.8) optionalDependencies: - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 transitivePeerDependencies: - '@rspack/core' - '@storybook/test' @@ -14305,7 +14341,7 @@ snapshots: '@storybook/test': 8.6.12(storybook@8.6.14(prettier@2.8.8)) typescript: 5.8.3 - '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250828)': + '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.14(prettier@2.8.8)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@2.8.8))(typescript@6.0.0-dev.20250911)': dependencies: '@storybook/components': 8.6.12(storybook@8.6.14(prettier@2.8.8)) '@storybook/global': 5.0.0 @@ -14318,7 +14354,7 @@ snapshots: storybook: 8.6.14(prettier@2.8.8) optionalDependencies: '@storybook/test': 8.6.12(storybook@8.6.14(prettier@2.8.8)) - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 '@storybook/test@8.5.3(storybook@8.6.14(prettier@2.8.8))': dependencies: @@ -14488,12 +14524,12 @@ snapshots: - supports-color - typescript - '@svgr/core@8.0.0(typescript@6.0.0-dev.20250828)': + '@svgr/core@8.0.0(typescript@6.0.0-dev.20250911)': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@6.0.0-dev.20250828) + cosmiconfig: 8.3.6(typescript@6.0.0-dev.20250911) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -14538,11 +14574,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250828))': + '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250911))': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) - '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250828) + '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250911) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: @@ -14573,10 +14609,10 @@ snapshots: transitivePeerDependencies: - typescript - '@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250828))(typescript@6.0.0-dev.20250828)': + '@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250911))(typescript@6.0.0-dev.20250911)': dependencies: - '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250828) - cosmiconfig: 8.3.6(typescript@6.0.0-dev.20250828) + '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250911) + cosmiconfig: 8.3.6(typescript@6.0.0-dev.20250911) deepmerge: 4.3.1 svgo: 3.3.2 transitivePeerDependencies: @@ -14607,16 +14643,16 @@ snapshots: - supports-color - typescript - '@svgr/webpack@8.0.1(typescript@6.0.0-dev.20250828)': + '@svgr/webpack@8.0.1(typescript@6.0.0-dev.20250911)': dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.24.3) '@babel/preset-env': 7.24.3(@babel/core@7.24.3) '@babel/preset-react': 7.24.1(@babel/core@7.24.3) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) - '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250828) - '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250828)) - '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250828))(typescript@6.0.0-dev.20250828) + '@svgr/core': 8.0.0(typescript@6.0.0-dev.20250911) + '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250911)) + '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@6.0.0-dev.20250911))(typescript@6.0.0-dev.20250911) transitivePeerDependencies: - supports-color - typescript @@ -15918,14 +15954,14 @@ snapshots: optionalDependencies: typescript: 5.8.3 - cosmiconfig@8.3.6(typescript@6.0.0-dev.20250828): + cosmiconfig@8.3.6(typescript@6.0.0-dev.20250911): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 create-ecdh@4.0.4: dependencies: @@ -16305,7 +16341,7 @@ snapshots: dependencies: semver: 7.7.2 shelljs: 0.8.5 - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 dunder-proto@1.0.1: dependencies: @@ -16925,7 +16961,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@6.0.0-dev.20250828)(webpack@5.88.0(esbuild@0.25.8)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@6.0.0-dev.20250911)(webpack@5.88.0(esbuild@0.25.8)): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 @@ -16939,7 +16975,7 @@ snapshots: schema-utils: 3.3.0 semver: 7.7.2 tapable: 2.2.2 - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 webpack: 5.88.0(esbuild@0.25.8) form-data@2.5.5: @@ -17623,16 +17659,16 @@ snapshots: - ts-node optional: true - jest-cli@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)): + jest-cli@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.2.0 - jest-config: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + jest-config: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) jest-util: 29.7.0 jest-validate: 29.7.0 prompts: 2.4.2 @@ -17675,7 +17711,7 @@ snapshots: - supports-color optional: true - jest-config@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)): + jest-config@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)): dependencies: '@babel/core': 7.24.3 '@jest/test-sequencer': 29.7.0 @@ -17701,7 +17737,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.9 - ts-node: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828) + ts-node: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -17738,7 +17774,7 @@ snapshots: - supports-color optional: true - jest-config@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)): + jest-config@29.7.0(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)): dependencies: '@babel/core': 7.24.3 '@jest/test-sequencer': 29.7.0 @@ -17764,7 +17800,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.9 - ts-node: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828) + ts-node: 10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -18032,12 +18068,12 @@ snapshots: - ts-node optional: true - jest@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)): + jest@29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)): dependencies: - '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828)) + jest-cli: 29.6.2(@types/node@20.19.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -19430,9 +19466,9 @@ snapshots: dependencies: typescript: 5.8.3 - react-docgen-typescript@2.2.2(typescript@6.0.0-dev.20250828): + react-docgen-typescript@2.2.2(typescript@6.0.0-dev.20250911): dependencies: - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 react-docgen@7.1.1: dependencies: @@ -20372,7 +20408,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250828): + ts-node@10.9.2(@types/node@20.19.9)(typescript@6.0.0-dev.20250911): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -20386,7 +20422,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 6.0.0-dev.20250828 + typescript: 6.0.0-dev.20250911 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -20498,7 +20534,7 @@ snapshots: typescript@5.8.3: {} - typescript@6.0.0-dev.20250828: {} + typescript@6.0.0-dev.20250911: {} unbox-primitive@1.1.0: dependencies: diff --git a/tools/install/src/ALL_PACKAGES.ts b/tools/install/src/ALL_PACKAGES.ts index 578bb9fd4e..aad598fbf4 100644 --- a/tools/install/src/ALL_PACKAGES.ts +++ b/tools/install/src/ALL_PACKAGES.ts @@ -69,6 +69,7 @@ export const ALL_PACKAGES = [ '@leafygreen-ui/testing-lib', '@leafygreen-ui/text-area', '@leafygreen-ui/text-input', + '@leafygreen-ui/time-input', '@leafygreen-ui/toast', '@leafygreen-ui/toggle', '@leafygreen-ui/tokens',