Skip to content

Commit 7048a5b

Browse files
committed
refactor(docs): replace @ably/ui cn + heights utils with local copies
Add local src/utilities/cn.ts (clsx + tailwind-merge) and src/utilities/heights.ts, and repoint the 33 cn + 4 heights import sites off @ably/ui/core/utils/* (DX-1128). clsx and tailwind-merge were only present transitively via @ably/ui; they are now direct dependencies so cn keeps resolving once @ably/ui is removed. cn mirrors the upstream implementation (twMerge(clsx(inputs))) so class-merging behaviour is unchanged. Refs: DX-1128
1 parent 9fa202f commit 7048a5b

36 files changed

Lines changed: 60 additions & 37 deletions

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
"@types/prop-types": "^15.7.4",
5959
"cheerio": "^1.0.0-rc.10",
6060
"class-variance-authority": "^0.7.1",
61+
"clsx": "^2.1.1",
6162
"dompurify": "^3.4.0",
6263
"fast-glob": "^3.3.3",
6364
"front-matter": "^4.0.2",
@@ -96,6 +97,7 @@
9697
"react-medium-image-zoom": "^5.4.1",
9798
"react-select": "^5.7.0",
9899
"remark-gfm": "^1.0.0",
100+
"tailwind-merge": "^2.5.5",
99101
"typescript": "^4.6.3",
100102
"use-keyboard-shortcut": "^1.1.6",
101103
"util": "^0.12.4"

src/components/ButtonWithTooltip/ButtonWithTooltip.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { HTMLAttributes, MouseEvent, useState, useRef } from 'react';
2-
import cn from '@ably/ui/core/utils/cn';
2+
import cn from 'src/utilities/cn';
33
import { button, tooltipClass, isVisible, notificationClass } from './ButtonWithTooltip.module.css';
44

55
interface Props extends HTMLAttributes<HTMLButtonElement> {

src/components/CodeEditor/Chrome.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import cn from '@ably/ui/core/utils/cn';
1+
import cn from 'src/utilities/cn';
22
import React from 'react';
33
import { SmallMenuLabel } from 'src/components/Menu/Label';
44
import APIKeyIndicator from 'src/components/blocks/software/Code/ApiKeyIndicator';

src/components/Examples/ExamplesCheckbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import Icon from '@ably/ui/core/Icon';
3-
import cn from '@ably/ui/core/utils/cn';
3+
import cn from 'src/utilities/cn';
44

55
const ExamplesCheckbox = ({
66
label,

src/components/Examples/ExamplesFilter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import Icon from '@ably/ui/core/Icon';
44
import { Input } from 'src/components/ui/Input';
55
import { products } from '../../data/examples';
66
import Button from '@ably/ui/core/Button';
7-
import cn from '@ably/ui/core/utils/cn';
7+
import cn from 'src/utilities/cn';
88
import Badge from '@ably/ui/core/Badge';
99
import ExamplesCheckbox from './ExamplesCheckbox';
1010
import { SelectedFilters } from './ExamplesContent';

src/components/Examples/ExamplesGrid.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Badge from '@ably/ui/core/Badge';
33
import Icon from '@ably/ui/core/Icon';
44
import { IconName } from '@ably/ui/core/Icon/types';
55
import { ProductName, products as dataProducts } from '@ably/ui/core/ProductTile/data';
6-
import cn from '@ably/ui/core/utils/cn';
6+
import cn from 'src/utilities/cn';
77
import { Image, ImageProps } from '../Image';
88
import { DEFAULT_EXAMPLE_LANGUAGES } from '../../data/examples/';
99
import { Example } from '../../data/examples/types';

src/components/Examples/ExamplesRenderer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { updateAblyConnectionKey } from 'src/utilities/update-ably-connection-ke
88
import { IconName } from '@ably/ui/core/Icon/types';
99
import SegmentedControl from '@ably/ui/core/SegmentedControl';
1010
import dotGrid from './images/dot-grid.svg';
11-
import cn from '@ably/ui/core/utils/cn';
11+
import cn from 'src/utilities/cn';
1212
import { getRandomChannelName } from '../../utilities/get-random-channel-name';
1313
// Shared tsconfig for proper ES2020+ transpilation in Sandpack
1414
import examplesTsConfig from '../../../examples/tsconfig.json';

src/components/Homepage/PlatformAndProducts.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import ProductTile from '@ably/ui/core/ProductTile';
2-
import cn from '@ably/ui/core/utils/cn';
2+
import cn from 'src/utilities/cn';
33
import { Image, ImageProps, getImageFromList } from 'src/components/Image';
44
import type { PlatformProductsSectionData, PlatformCardData } from 'src/data/content/types';
55
import { navigate } from '../Link';

src/components/Layout/Breadcrumbs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from 'react';
22
import { useLayoutContext } from 'src/contexts/layout-context';
33
import Link from '../Link';
44
import Icon from '@ably/ui/core/Icon';
5-
import cn from '@ably/ui/core/utils/cn';
5+
import cn from 'src/utilities/cn';
66
import { hierarchicalKey } from './utils/nav';
77

88
const linkStyles =

src/components/Layout/CopyForLLM.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
22
import { useLocation } from '@reach/router';
33
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
4-
import cn from '@ably/ui/core/utils/cn';
4+
import cn from 'src/utilities/cn';
55
import Icon from '@ably/ui/core/Icon';
66
import { IconName } from '@ably/ui/core/Icon/types';
77
import { track } from '@ably/ui/core/insights';

0 commit comments

Comments
 (0)