@kaizen/components 0.0.0-canary-introduce-next-entrypoint-20250225031042 → 0.0.0-canary-react-19-peer-20250303022312
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/codemod.sh +2 -0
- package/codemods/README.md +46 -0
- package/codemods/upgradeV1Buttons/index.ts +19 -0
- package/codemods/upgradeV1Buttons/transformV1ButtonAttributes.spec.ts +210 -0
- package/codemods/upgradeV1Buttons/transformV1ButtonAttributes.ts +146 -0
- package/codemods/upgradeV1Buttons/upgradeV1Buttons.spec.ts +658 -0
- package/codemods/upgradeV1Buttons/upgradeV1Buttons.ts +93 -0
- package/codemods/utils/createJsxElementWithChildren.spec.ts +119 -0
- package/codemods/utils/createJsxElementWithChildren.ts +55 -0
- package/codemods/utils/createProp.spec.ts +75 -19
- package/codemods/utils/createProp.ts +8 -1
- package/codemods/utils/getKaioTagName.ts +13 -5
- package/codemods/utils/index.ts +1 -0
- package/dist/cjs/Calendar/CalendarPopover/CalendarPopover.cjs +38 -25
- package/dist/cjs/Focusable/Focusable.module.scss.cjs +6 -0
- package/dist/cjs/Link/Link.cjs +45 -0
- package/dist/cjs/Link/Link.module.css.cjs +20 -0
- package/dist/cjs/Link/subcomponents/LinkContent.cjs +34 -0
- package/dist/cjs/future.cjs +1 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/next.cjs +1 -1
- package/dist/cjs/overlaysV3.cjs +0 -2
- package/dist/cjs/utilitiesV3.cjs +4 -0
- package/dist/esm/Calendar/CalendarPopover/CalendarPopover.mjs +39 -26
- package/dist/esm/Focusable/Focusable.module.scss.mjs +4 -0
- package/dist/esm/Link/Link.mjs +40 -0
- package/dist/esm/Link/Link.module.css.mjs +18 -0
- package/dist/esm/Link/subcomponents/LinkContent.mjs +26 -0
- package/dist/esm/future.mjs +1 -1
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/next.mjs +1 -1
- package/dist/esm/overlaysV3.mjs +0 -1
- package/dist/esm/utilitiesV3.mjs +2 -0
- package/dist/styles.css +8905 -8782
- package/dist/types/Link/Link.d.ts +39 -0
- package/dist/types/Link/index.d.ts +1 -0
- package/dist/types/Link/subcomponents/LinkContent.d.ts +8 -0
- package/dist/types/__next__/Tooltip/index.d.ts +0 -1
- package/dist/types/__next__/index.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +3 -3
- package/src/Calendar/CalendarPopover/CalendarPopover.module.scss +8 -0
- package/src/Calendar/CalendarPopover/CalendarPopover.tsx +13 -2
- package/src/Calendar/CalendarPopover/_docs/CalendarPopover.stickersheet.stories.tsx +1 -55
- package/src/Calendar/CalendarRange/_docs/CalendarRange.stickersheet.stories.tsx +1 -1
- package/src/Calendar/CalendarRange/_docs/CalendarRange.stories.tsx +1 -1
- package/src/Calendar/CalendarSingle/_docs/CalendarSingle.stickersheet.stories.tsx +1 -1
- package/src/Calendar/CalendarSingle/_docs/CalendarSingle.stories.tsx +1 -1
- package/src/DatePicker/_docs/DatePicker.stickersheet.stories.tsx +1 -1
- package/src/DatePicker/_docs/DatePicker.stories.tsx +1 -1
- package/src/DatePicker/_docs/getLocale.stickersheet.stories.tsx +1 -1
- package/src/DateRangePicker/_docs/DateRangePicker.stickersheet.stories.tsx +1 -1
- package/src/DateRangePicker/_docs/DateRangePicker.stories.tsx +1 -1
- package/src/{__next__/Tooltip/subcomponents/Focusable → Focusable}/_docs/ApiSpecification.mdx +3 -3
- package/src/{__next__/Tooltip/subcomponents/Focusable → Focusable}/_docs/Focusable.stories.tsx +1 -1
- package/src/Icon/_docs/Icon.docs.stories.tsx +1 -1
- package/src/Icon/_docs/Icon.mdx +1 -1
- package/src/Icon/_docs/Icon.stickersheet.stories.tsx +1 -1
- package/src/Link/Link.module.css +119 -0
- package/src/Link/Link.tsx +90 -0
- package/src/Link/_docs/Link--api-specification.mdx +133 -0
- package/src/Link/_docs/Link--api-usage-guidelines.mdx +107 -0
- package/src/Link/_docs/Link.doc.stories.tsx +238 -0
- package/src/Link/_docs/Link.stickersheet.stories.tsx +191 -0
- package/src/Link/index.ts +1 -0
- package/src/Link/subcomponents/LinkContent.tsx +31 -0
- package/src/LinkButton/_docs/LinkButton--api-specification.mdx +1 -57
- package/src/Modal/GenericModal/_docs/GenericModal.spec.stories.tsx +1 -1
- package/src/Modal/GenericModal/_docs/GenericModal.stories.tsx +1 -1
- package/src/Tile/subcomponents/GenericTile/GenericTile.spec.stories.tsx +1 -1
- package/src/Tile/subcomponents/GenericTile/_docs/GenericTile.stickersheet.stories.tsx +1 -1
- package/src/TitleBlockZen/TitleBlockZen.module.scss +1 -6
- package/src/__next__/Button/_docs/Button--migration-guide.mdx +81 -0
- package/src/__next__/Icon/_docs/Icon--api-specification.mdx +1 -1
- package/src/__next__/Icon/_docs/Icon--usage-guidelines.mdx +1 -1
- package/src/__next__/Menu/_docs/Menu--api-specification.mdx +1 -1
- package/src/__next__/Menu/_docs/Menu--usage-guidelines.mdx +1 -1
- package/src/__next__/Select/_docs/Select.mdx +2 -2
- package/src/__next__/Select/_docs/Select.stickersheet.stories.tsx +1 -1
- package/src/__next__/Select/_docs/Select.stories.tsx +1 -1
- package/src/__next__/Tabs/_docs/Tabs--api-specification.mdx +1 -1
- package/src/__next__/Tag/RemovableTag/_docs/RemovableTag.mdx +1 -1
- package/src/__next__/Tooltip/_docs/ApiSpecification.mdx +1 -1
- package/src/__next__/Tooltip/_docs/Tooltip.docs.stories.tsx +2 -1
- package/src/__next__/Tooltip/_docs/Tooltip.mdx +1 -1
- package/src/__next__/Tooltip/_docs/Tooltip.spec.stories.tsx +2 -1
- package/src/__next__/Tooltip/_docs/Tooltip.stories.tsx +2 -1
- package/src/__next__/Tooltip/index.ts +0 -1
- package/src/__next__/index.ts +4 -0
- package/src/index.ts +2 -0
- package/dist/cjs/__next__/Tooltip/subcomponents/Focusable/Focusable.module.scss.cjs +0 -6
- package/dist/esm/__next__/Tooltip/subcomponents/Focusable/Focusable.module.scss.mjs +0 -4
- /package/dist/cjs/{__next__/Tooltip/subcomponents/Focusable → Focusable}/Focusable.cjs +0 -0
- /package/dist/esm/{__next__/Tooltip/subcomponents/Focusable → Focusable}/Focusable.mjs +0 -0
- /package/dist/types/{__next__/Tooltip/subcomponents/Focusable → Focusable}/Focusable.d.ts +0 -0
- /package/dist/types/{__next__/Tooltip/subcomponents/Focusable → Focusable}/index.d.ts +0 -0
- /package/src/{__next__/Tooltip/subcomponents/Focusable → Focusable}/Focusable.module.scss +0 -0
- /package/src/{__next__/Tooltip/subcomponents/Focusable → Focusable}/Focusable.tsx +0 -0
- /package/src/{__next__/Tooltip/subcomponents/Focusable → Focusable}/index.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { type ReactNode } from 'react'
|
|
2
|
+
import { mergeClassNames } from '~components/utils/mergeClassNames'
|
|
3
|
+
import styles from '../Link.module.css'
|
|
4
|
+
|
|
5
|
+
export type LinkContentProps = {
|
|
6
|
+
children: ReactNode
|
|
7
|
+
icon?: JSX.Element
|
|
8
|
+
iconPosition?: 'start' | 'end'
|
|
9
|
+
isUnderlined: boolean
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const LinkIcon = ({ icon }: { icon: JSX.Element }): JSX.Element => (
|
|
13
|
+
<span className={styles.icon}>{icon}</span>
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
export const LinkContent = ({
|
|
17
|
+
children,
|
|
18
|
+
icon,
|
|
19
|
+
iconPosition,
|
|
20
|
+
isUnderlined,
|
|
21
|
+
}: LinkContentProps): JSX.Element => {
|
|
22
|
+
const iconPositionStyling = iconPosition === 'start' ? styles.iconStart : styles.iconEnd
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<span className={mergeClassNames(styles.linkContent, isUnderlined && styles.isUnderlined)}>
|
|
26
|
+
{icon && iconPosition === 'start' && <LinkIcon icon={icon} />}
|
|
27
|
+
<span className={mergeClassNames(icon && iconPositionStyling)}>{children}</span>
|
|
28
|
+
{icon && iconPosition === 'end' && <LinkIcon icon={icon} />}
|
|
29
|
+
</span>
|
|
30
|
+
)
|
|
31
|
+
}
|
|
@@ -163,63 +163,7 @@ For resizing on smaller screens, consider using the `className` prop to leverage
|
|
|
163
163
|
|
|
164
164
|
## Client side routing
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
### Next.js config example
|
|
169
|
-
|
|
170
|
-
The following example demonstrates how you might use the React Aria's `RouterProvider` with `Next.js`'s Pages router. This will allow the `LinkButton` to navigate using the `router.push` method.
|
|
171
|
-
|
|
172
|
-
```tsx
|
|
173
|
-
// ...imports
|
|
174
|
-
import type { AppProps } from 'next/app'
|
|
175
|
-
import { type NextRouter } from 'next/router'
|
|
176
|
-
import { RouterProvider as RacRouterProvider } from 'react-aria-components'
|
|
177
|
-
|
|
178
|
-
// This provides the correct types for `routerOptions` based on the routing solution. As the component agnostic to routing technology this must defined here
|
|
179
|
-
declare module 'react-aria-components' {
|
|
180
|
-
interface RouterConfig {
|
|
181
|
-
// index 2 is the types for the pages routerOptions
|
|
182
|
-
routerOptions: NonNullable<Parameters<NextRouter['push']>[2]>
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
function App({ Component, pageProps, router }: AppProps) {
|
|
187
|
-
return (
|
|
188
|
-
<FrontendServices {...config}>
|
|
189
|
-
{/* application code */}
|
|
190
|
-
<RacRouterProvider navigate={(href, opts) => router.push(href, undefined, opts)}>
|
|
191
|
-
<Component {...pageProps} />
|
|
192
|
-
</RacRouterProvider>
|
|
193
|
-
{/* application code */}
|
|
194
|
-
</FrontendServices>
|
|
195
|
-
)
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
export default App
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
The implementation in your application would then look something like this:
|
|
202
|
-
|
|
203
|
-
```tsx
|
|
204
|
-
import { useRouter } from 'next/router'
|
|
205
|
-
import { LinkButton } from '@kaizen/components'
|
|
206
|
-
|
|
207
|
-
const Component = () => {
|
|
208
|
-
const router = useRouter()
|
|
209
|
-
|
|
210
|
-
return (
|
|
211
|
-
<>
|
|
212
|
-
<LinkButton href="http://google.com">External link</LinkButton>
|
|
213
|
-
<LinkButton href={`${router.pathname}/path-1`}>Internal link</LinkButton>
|
|
214
|
-
<LinkButton href={`${router.pathname}/path-2`} routerOptions={{ scroll: false }}>
|
|
215
|
-
Link with routerOptions
|
|
216
|
-
</LinkButton>
|
|
217
|
-
</>
|
|
218
|
-
)
|
|
219
|
-
}
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Additional config options for Next.js can be found in the React Aria's documentation on the [RouterProvider](https://react-spectrum.adobe.com/react-aria/routing.html#nextjs), including the alternative setup for the [App router](https://react-spectrum.adobe.com/react-aria/routing.html##app-router).
|
|
166
|
+
Please refer to the [client side routing](/docs/guides-client-side-routing--docs) for more information on how to set up client side routing with the `LinkButton`.
|
|
223
167
|
|
|
224
168
|
### React Router config example
|
|
225
169
|
|
|
@@ -6,7 +6,7 @@ import { expect, userEvent, waitFor, within } from '@storybook/test'
|
|
|
6
6
|
import { GenericModal, ModalAccessibleLabel, ModalBody, ModalHeader } from '../index'
|
|
7
7
|
|
|
8
8
|
const meta: Meta<typeof GenericModal> = {
|
|
9
|
-
title: 'Components/Modals/GenericModal/Tests',
|
|
9
|
+
title: 'Components/Modals/GenericModal (primitive)/Tests',
|
|
10
10
|
component: GenericModal,
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -3,7 +3,7 @@ import { type Meta, type StoryObj } from '@storybook/react'
|
|
|
3
3
|
import { GenericModal } from '../index'
|
|
4
4
|
|
|
5
5
|
const meta = {
|
|
6
|
-
title: 'Components/Modals/GenericModal',
|
|
6
|
+
title: 'Components/Modals/GenericModal (primitive)',
|
|
7
7
|
component: GenericModal,
|
|
8
8
|
args: {
|
|
9
9
|
children: 'Example content',
|
|
@@ -4,7 +4,7 @@ import { expect, waitFor, within } from '@storybook/test'
|
|
|
4
4
|
import { GenericTile } from './GenericTile'
|
|
5
5
|
|
|
6
6
|
const meta: Meta<typeof GenericTile> = {
|
|
7
|
-
title: 'Components/Tiles/GenericTile/Tests',
|
|
7
|
+
title: 'Components/Tiles/GenericTile (primitive)/Tests',
|
|
8
8
|
component: GenericTile,
|
|
9
9
|
args: {
|
|
10
10
|
title: 'Title',
|
|
@@ -4,7 +4,7 @@ import { StickerSheet, type StickerSheetStory } from '~storybook/components/Stic
|
|
|
4
4
|
import { GenericTile, type GenericTileProps } from '../index'
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
|
-
title: 'Components/Tiles/GenericTile',
|
|
7
|
+
title: 'Components/Tiles/GenericTile (primitive)',
|
|
8
8
|
parameters: {
|
|
9
9
|
chromatic: { disable: false },
|
|
10
10
|
controls: { disable: true },
|
|
@@ -114,7 +114,6 @@ $tab-container-height-medium-and-small-collapsed: 0;
|
|
|
114
114
|
display: flex;
|
|
115
115
|
align-items: center;
|
|
116
116
|
min-width: 0; // this is an important trick to prevent flexbox items from overflowing
|
|
117
|
-
z-index: $ca-z-index-dropdown; // this ensures the page switcher dropdown sits over nav tabs
|
|
118
117
|
transform: translateY(-0.0833em);
|
|
119
118
|
|
|
120
119
|
.hasSubtitle & {
|
|
@@ -434,7 +433,7 @@ $tab-container-height-medium-and-small-collapsed: 0;
|
|
|
434
433
|
width: $tab-container-height-small;
|
|
435
434
|
height: $tab-container-height-small;
|
|
436
435
|
background: linear-gradient(0deg, $color-purple-600, rgba($color-purple-600-rgb, 0));
|
|
437
|
-
z-index:
|
|
436
|
+
z-index: 1;
|
|
438
437
|
}
|
|
439
438
|
|
|
440
439
|
.adminVariant & {
|
|
@@ -503,7 +502,6 @@ $tab-container-height-medium-and-small-collapsed: 0;
|
|
|
503
502
|
cursor: pointer;
|
|
504
503
|
display: flex;
|
|
505
504
|
position: absolute;
|
|
506
|
-
z-index: $ca-z-index-sticky;
|
|
507
505
|
align-items: center;
|
|
508
506
|
top: 50%;
|
|
509
507
|
transform: translateY(-50%);
|
|
@@ -573,9 +571,6 @@ $tab-container-height-medium-and-small-collapsed: 0;
|
|
|
573
571
|
// We are using visually hidden here instead of display:none so that a screen reader
|
|
574
572
|
// navigating via 'read mode' (which doesn't trigger hover/focus) will still hear this link name
|
|
575
573
|
@include visually-hidden;
|
|
576
|
-
|
|
577
|
-
z-index: $ca-z-index-sticky - 1;
|
|
578
|
-
|
|
579
574
|
@include ca-position($start: -2 * $ca-grid);
|
|
580
575
|
|
|
581
576
|
position: absolute;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Canvas, Meta, Controls, Story } from '@storybook/blocks'
|
|
2
|
+
import { ResourceLinks, KAIOInstallation } from '~storybook/components'
|
|
3
|
+
|
|
4
|
+
<Meta title="Components/Button/Migration Guide" />
|
|
5
|
+
|
|
6
|
+
# Button Migration Guide (next)
|
|
7
|
+
|
|
8
|
+
This is a short guide to assist in migration from the old to new `Button` and `LinkButton` component.
|
|
9
|
+
|
|
10
|
+
## Key API differences
|
|
11
|
+
|
|
12
|
+
Below is a list of notable changes when migrating to the new `Button` and `LinkButton` component:
|
|
13
|
+
|
|
14
|
+
- `label` is now handled as `Children` .
|
|
15
|
+
- Variants, such as `primary` and `secondary`, are now controlled as by the single `variant` prop and some values will be remapped in the codemod.
|
|
16
|
+
- `primary` `boolean` becomes `variant="primary"`.
|
|
17
|
+
- `secondary` `boolean` becomes `variant="tertiary"`.
|
|
18
|
+
- `destructive` `boolean` is removed and will default to the `primary` variant.
|
|
19
|
+
- `size` props have been adjusted to include `small`, `medium` and `large` and some values will be remapped in the codemod.
|
|
20
|
+
- `small` becomes `medium`
|
|
21
|
+
- `regular` becomes `large`
|
|
22
|
+
- `onClick` and other event handlers now reflect the RAC event ecosystems, ie: `onPress`.
|
|
23
|
+
- You can see more about the RAC event ecosystem [here](https://react-spectrum.adobe.com/react-aria/Button.html#events).
|
|
24
|
+
- `Button` and `LinkButton` now exist as separate components.
|
|
25
|
+
- The intent is to more closely align to the semantic roles of an anchor or button and should be used accordingly.
|
|
26
|
+
- `LinkButton` handles native navigation via `href` out of the box but additional config can be used to allow for client side routing - [see here](/docs/components-linkbutton-api-specification--docs#client-side-routing).
|
|
27
|
+
- `onPress` can still be used in place of `onClick` for pushing to routers and tracking events.
|
|
28
|
+
- `IconButton` has been superseded by icon props and the [icon-only pattern](/docs/components-button-button-next-api-specification--docs#icon-only-button-and-hashiddenlabel).
|
|
29
|
+
- `working`, `workingLabel` and `workingLabelHidden` has been updated to `isPending`, `pendingLabel` and `hasHiddenPendingLabel` to better reflect the state of the button.
|
|
30
|
+
- This is not available in the `LinkButton` component
|
|
31
|
+
- `badge` prop has been removed and should be handled within the `Children` where required.
|
|
32
|
+
- Reversed styles should be handled by the `ReversedColors` Provider but for ease of migration, the `isReversed` prop `boolean` exists.
|
|
33
|
+
|
|
34
|
+
## Codemod
|
|
35
|
+
|
|
36
|
+
To assist in migration we have created the `upgradeV1Buttons` codemod.
|
|
37
|
+
|
|
38
|
+
This will loop through the given directory and update all instances of Button to the latest implementation. You can refer to this [README](https://github.com/cultureamp/kaizen-design-system/blob/main/packages/components/codemods/README.md#kaizen-codemods) on how to run kaizen codemods using the CLI within your repository, ie:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pnpm kaizen-codemod src upgradeV1Buttons
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Note that there are cases where an props that no longer exist will be left in the codebase to throw type error and provide feedback to the engineer. This is intentional and identifies area's where manual updates are required.
|
|
45
|
+
|
|
46
|
+
### Pre-requisites
|
|
47
|
+
|
|
48
|
+
It is also recommended that the `upgradeIconV1` codemod is run before `upgradeV1Buttons` to ensure that all icons are updated to the new `Icon` component that uses the Material icons CDN. There is likely to be a number of visual diffs in this migration so it is recommended to do this separately if viable. Seem more about this [here](/docs/components-icon-icon-future-api-specification--docs#set-up).
|
|
49
|
+
|
|
50
|
+
### Codemod gotchas
|
|
51
|
+
|
|
52
|
+
If you're facing any issues not captured below, reach out to the [#help_design_system](https://cultureamp.slack.com/archives/C0189KBPM4Y) channel on Slack.
|
|
53
|
+
|
|
54
|
+
#### `icon` props and sizing
|
|
55
|
+
|
|
56
|
+
While the `icon` prop supports any `JSX` element, only the latest [Icon component](/docs/components-icon-icon-future-api-specification--docs) will be able to handle relative sizing and spacing automatically within the Button. We recommend running the `upgradeIconV1` codemod before this to convert all icons to the latest implementation. See the guidance here on using the [Material Icons CDN](/docs/guides-app-starter--docs#5-link-to-google-material-symbols-cdn).
|
|
57
|
+
|
|
58
|
+
#### `component` props type errors
|
|
59
|
+
|
|
60
|
+
Based off Metabase queries, `component` render props is used in consuming repositories to wrap Button content with a routing solution, such as NextJS's `Link` component. To ensure a safe migration, the codemod will update any usages to a `LinkButton` with the `component` prop still passed in. This will cause an intentional type error to provide feedback and make it easier to find in the codebase for a manual update. This should be able to be converted to use client side routing by following the [LinkButton API docs](https://cultureamp.design/?path=/docs/components-linkbutton-api-specification--docs).
|
|
61
|
+
|
|
62
|
+
#### `badge` props type errors
|
|
63
|
+
|
|
64
|
+
The codemod will continue to passed `badge` props into the new implementation so it will throw a type error and provide feedback to engineers. This will need to be manually composed within the `Children` if required, ie:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
import { Badge } from "@kaizen/components"
|
|
68
|
+
import { Button } from "@kaizen/components/next"
|
|
69
|
+
|
|
70
|
+
<Button>Label<Badge classNameOverride="ms-8" variant="success">New</Badge></Button>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### Link related props type errors
|
|
74
|
+
|
|
75
|
+
If no `href` or `component` props are passed to the component you may get type errors for having anchor related props passed into a Button, ie: `target`, `rel`.
|
|
76
|
+
|
|
77
|
+
This will cause a type error that can be corrected by either using the `LinkButton` (if intended) or removing all anchor related props as they should exist on semantic buttons.
|
|
78
|
+
|
|
79
|
+
## More information
|
|
80
|
+
|
|
81
|
+
For more information on the about each of the new API's, we recommend referring the [Button](/docs/components-button-button-next-api-specification--docs) or [LinkButton](/docs/components-linkbutton-api-specification--docs) API specifications.
|
|
@@ -9,7 +9,7 @@ import * as IconStories from './Icon.docs.stories'
|
|
|
9
9
|
Updated September 4, 2024
|
|
10
10
|
|
|
11
11
|
<ResourceLinks
|
|
12
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/
|
|
12
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Icon"
|
|
13
13
|
designGuidelines="/?path=/docs/illustrations-icon-v2-usage-guidelines--docs"
|
|
14
14
|
/>
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ import * as IconStories from './Icon.docs.stories'
|
|
|
9
9
|
Updated September 13, 2024
|
|
10
10
|
|
|
11
11
|
<ResourceLinks
|
|
12
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/
|
|
12
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Icon"
|
|
13
13
|
apiSpecification="/?path=/docs/illustrations-icon-v3-api-specification--docs"
|
|
14
14
|
figma="https://www.figma.com/design/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-Heart-UI-Kit?node-id=1929-3974"
|
|
15
15
|
/>
|
|
@@ -10,7 +10,7 @@ import * as exampleStories from './Menu.stories'
|
|
|
10
10
|
Updated December 16, 2024
|
|
11
11
|
|
|
12
12
|
<ResourceLinks
|
|
13
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/
|
|
13
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Menu"
|
|
14
14
|
figma="https://www.figma.com/design/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-Heart-UI-Kit?m=auto&node-id=6262-0&t=I4H23jCrCJz4O2nf-1"
|
|
15
15
|
designGuidelines="/?path=/docs/components-menu-menu-next-usage-guidelines--docs"
|
|
16
16
|
ariaComponentPage="https://react-spectrum.adobe.com/react-aria/Menu.html"
|
|
@@ -10,7 +10,7 @@ import * as MenuStories from './Menu.stories'
|
|
|
10
10
|
Updated July 6, 2024
|
|
11
11
|
|
|
12
12
|
<ResourceLinks
|
|
13
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/
|
|
13
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Menu"
|
|
14
14
|
figma="https://www.figma.com/design/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-Heart-UI-Kit?m=auto&node-id=6262-0&t=I4H23jCrCJz4O2nf-1"
|
|
15
15
|
ariaComponentPage="https://react-spectrum.adobe.com/react-aria/Menu.html"
|
|
16
16
|
apiSpecification="/?path=/docs/actions-menu-v3-api-specification--docs"
|
|
@@ -4,10 +4,10 @@ import * as SelectStories from './Select.stories'
|
|
|
4
4
|
|
|
5
5
|
<Meta of={SelectStories} />
|
|
6
6
|
|
|
7
|
-
# Select (
|
|
7
|
+
# Select (next)
|
|
8
8
|
|
|
9
9
|
<ResourceLinks
|
|
10
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/Select"
|
|
10
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Select"
|
|
11
11
|
figma="https://www.figma.com/file/ZRfnoNUXbGZv4eVWLbF4Az/%F0%9F%96%BC%EF%B8%8F-Component-Gallery?node-id=9%3A37837&mode=dev"
|
|
12
12
|
designGuidelines="https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3081896474/Select"
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ import { type SelectOption } from '../types'
|
|
|
7
7
|
import { groupedMockItems, mixedMockItemsDisabled, singleMockItems } from './mockData'
|
|
8
8
|
|
|
9
9
|
const meta = {
|
|
10
|
-
title: 'Components/Select/Select (
|
|
10
|
+
title: 'Components/Select/Select (next)',
|
|
11
11
|
component: Select,
|
|
12
12
|
argTypes: {
|
|
13
13
|
items: {
|
|
@@ -7,7 +7,7 @@ import * as TabsStories from './Tabs.stories'
|
|
|
7
7
|
# Tabs (next)
|
|
8
8
|
|
|
9
9
|
<ResourceLinks
|
|
10
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/Tabs"
|
|
10
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Tabs"
|
|
11
11
|
figma="https://www.figma.com/file/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-UI-Kit%3A-Heart?type=design&node-id=1929%3A28886&mode=design&t=AGMmnoJia9RscurE-1"
|
|
12
12
|
designGuidelines="https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3081929117/Tabs"
|
|
13
13
|
|
|
@@ -6,7 +6,7 @@ import * as RemovableTagStories from './RemovableTag.stories'
|
|
|
6
6
|
|
|
7
7
|
# RemovableTag (next)
|
|
8
8
|
|
|
9
|
-
<ResourceLinks sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Tag/RemovableTag
|
|
9
|
+
<ResourceLinks sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Tag/RemovableTag" />
|
|
10
10
|
|
|
11
11
|
<KAIOInstallation exportNames="RemovableTag" isNext />
|
|
12
12
|
|
|
@@ -10,7 +10,7 @@ import * as exampleStories from './Tooltip.stories'
|
|
|
10
10
|
Updated June 25, 2024
|
|
11
11
|
|
|
12
12
|
<ResourceLinks
|
|
13
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/Tooltip"
|
|
13
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Tooltip"
|
|
14
14
|
figma="https://www.figma.com/file/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-UI-Kit%3A-Heart?type=design&node-id=1929%3A32006&mode=design&t=LwTCBZ5E1uRvOA1l-1"
|
|
15
15
|
designGuidelines="/?path=/docs/overlays-tooltip-next-usage-guidelines--docs"
|
|
16
16
|
ariaComponentPage="https://react-spectrum.adobe.com/react-aria/Tooltip.html"
|
|
@@ -3,11 +3,12 @@ import { type Meta, type StoryObj } from '@storybook/react'
|
|
|
3
3
|
import isChromatic from 'chromatic'
|
|
4
4
|
import { Button, IconButton } from '~components/Button'
|
|
5
5
|
import { FieldMessage } from '~components/FieldMessage'
|
|
6
|
+
import { Focusable } from '~components/Focusable'
|
|
6
7
|
import { Input } from '~components/Input'
|
|
7
8
|
import { Label } from '~components/Label'
|
|
8
9
|
import { Text } from '~components/Text'
|
|
9
10
|
import { Icon } from '~components/__next__/Icon'
|
|
10
|
-
import {
|
|
11
|
+
import { Tooltip, TooltipTrigger } from '../index'
|
|
11
12
|
import * as TestStories from './Tooltip.spec.stories'
|
|
12
13
|
|
|
13
14
|
const meta = {
|
|
@@ -13,7 +13,7 @@ import WhenToUsePng from './assets/tooltip_variant.png'
|
|
|
13
13
|
Updated June 25, 2024
|
|
14
14
|
|
|
15
15
|
<ResourceLinks
|
|
16
|
-
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/Tooltip"
|
|
16
|
+
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__next__/Tooltip"
|
|
17
17
|
figma="https://www.figma.com/file/eZKEE5kXbEMY3lx84oz8iN/%F0%9F%92%9C-UI-Kit%3A-Heart?type=design&node-id=1929%3A32006&mode=design&t=LwTCBZ5E1uRvOA1l-1"
|
|
18
18
|
designGuidelines="/?path=/docs/overlays-tooltip-next-usage-guidelines--docs"
|
|
19
19
|
ariaComponentPage="https://react-spectrum.adobe.com/react-aria/Tooltip.html"
|
|
@@ -3,11 +3,12 @@ import { type Meta, type StoryObj } from '@storybook/react'
|
|
|
3
3
|
import { expect, userEvent, waitFor, within } from '@storybook/test'
|
|
4
4
|
import isChromatic from 'chromatic'
|
|
5
5
|
import { Button, IconButton } from '~components/Button'
|
|
6
|
+
import { Focusable } from '~components/Focusable'
|
|
6
7
|
import { Tab, TabList, TabPanel, TabPanels, Tabs } from '~components/Tabs'
|
|
7
8
|
import { Text } from '~components/Text'
|
|
8
9
|
import { Icon } from '~components/__next__/Icon'
|
|
9
10
|
import { Tag } from '~components/__next__/Tag'
|
|
10
|
-
import {
|
|
11
|
+
import { Tooltip, TooltipTrigger } from '../index'
|
|
11
12
|
|
|
12
13
|
const meta = {
|
|
13
14
|
title: 'Components/Tooltip/Tooltip (next)/Tests',
|
|
@@ -2,8 +2,9 @@ import React, { type FunctionComponent } from 'react'
|
|
|
2
2
|
import { type Meta, type StoryObj } from '@storybook/react'
|
|
3
3
|
import isChromatic from 'chromatic'
|
|
4
4
|
import { Button } from '~components/Button'
|
|
5
|
+
import { Focusable } from '~components/Focusable'
|
|
5
6
|
import { Tag } from '~components/__next__'
|
|
6
|
-
import {
|
|
7
|
+
import { Tooltip, TooltipTrigger } from '../index'
|
|
7
8
|
import * as testStories from './Tooltip.spec.stories'
|
|
8
9
|
|
|
9
10
|
const meta = {
|
package/src/__next__/index.ts
CHANGED
|
@@ -5,3 +5,7 @@ export * from './Select'
|
|
|
5
5
|
export * from './Tag'
|
|
6
6
|
export * from './Tabs'
|
|
7
7
|
export * from './Tooltip'
|
|
8
|
+
|
|
9
|
+
// This Focusable component was originally exported from here, but since moved to the main entry point because there's no name clash.
|
|
10
|
+
// This is just here to keep backwards compatibility until the 2.0 release
|
|
11
|
+
export * from '../Focusable'
|
package/src/index.ts
CHANGED
|
@@ -21,6 +21,7 @@ export * from './ErrorPage'
|
|
|
21
21
|
export * from './FieldGroup'
|
|
22
22
|
export * from './FieldMessage'
|
|
23
23
|
export * from './Filter'
|
|
24
|
+
export * from './Focusable'
|
|
24
25
|
export * from './GuidanceBlock'
|
|
25
26
|
export * from './Heading'
|
|
26
27
|
export * from './Icon'
|
|
@@ -29,6 +30,7 @@ export * from './Input'
|
|
|
29
30
|
export * from './KaizenProvider'
|
|
30
31
|
export * from './Label'
|
|
31
32
|
export * from './LabelledMessage'
|
|
33
|
+
export * from './Link'
|
|
32
34
|
export * from './LikertScaleLegacy'
|
|
33
35
|
export * from './LinkButton'
|
|
34
36
|
export * from './Loading'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|