@workday/canvas-kit-react 8.0.0-alpha.194-next.2 → 8.0.0-alpha.199-next.1
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/breadcrumbs/LICENSE +52 -0
- package/breadcrumbs/README.md +9 -0
- package/breadcrumbs/index.ts +2 -0
- package/breadcrumbs/lib/Breadcrumbs.tsx +152 -0
- package/breadcrumbs/lib/BreadcrumbsCurrentItem.tsx +76 -0
- package/breadcrumbs/lib/BreadcrumbsItem.tsx +82 -0
- package/breadcrumbs/lib/BreadcrumbsLink.tsx +52 -0
- package/breadcrumbs/lib/BreadcrumbsList.tsx +56 -0
- package/breadcrumbs/lib/BreadcrumbsMenu.tsx +28 -0
- package/breadcrumbs/lib/BreadcrumbsOverflowButton.tsx +62 -0
- package/breadcrumbs/lib/hooks/useBreadcrumbsModel.tsx +76 -0
- package/breadcrumbs/lib/hooks/utils/index.ts +22 -0
- package/breadcrumbs/package.json +6 -0
- package/button/index.ts +7 -1
- package/button/lib/BaseButton.tsx +7 -4
- package/button/lib/DeleteButton.tsx +2 -2
- package/button/lib/PrimaryButton.tsx +2 -2
- package/button/lib/SecondaryButton.tsx +2 -2
- package/button/lib/TertiaryButton.tsx +3 -3
- package/common/lib/utils/components.ts +5 -0
- package/dist/commonjs/breadcrumbs/index.d.ts +3 -0
- package/dist/commonjs/breadcrumbs/index.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/index.js +14 -0
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +4413 -0
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +176 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +212 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +63 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts +226 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +76 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts +17 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +46 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts +168 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +64 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1717 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +58 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +240 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +68 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +1661 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +67 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.d.ts +6 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.d.ts.map +1 -0
- package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +22 -0
- package/dist/commonjs/button/index.d.ts +1 -1
- package/dist/commonjs/button/index.d.ts.map +1 -1
- package/dist/commonjs/button/index.js +3 -1
- package/dist/commonjs/button/lib/BaseButton.d.ts +7 -4
- package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/DeleteButton.d.ts +2 -1
- package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.d.ts +2 -1
- package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/SecondaryButton.d.ts +2 -1
- package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/TertiaryButton.d.ts +2 -1
- package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/TertiaryButton.js +1 -1
- package/dist/commonjs/common/lib/utils/components.d.ts +2 -1
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +3 -1
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +11 -2
- package/dist/es6/breadcrumbs/index.d.ts +3 -0
- package/dist/es6/breadcrumbs/index.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/index.js +2 -0
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +4413 -0
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +154 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +212 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +57 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts +226 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +54 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts +17 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +40 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts +168 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +42 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1717 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +36 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +240 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +46 -0
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +1661 -0
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +61 -0
- package/dist/es6/breadcrumbs/lib/hooks/utils/index.d.ts +6 -0
- package/dist/es6/breadcrumbs/lib/hooks/utils/index.d.ts.map +1 -0
- package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +18 -0
- package/dist/es6/button/index.d.ts +1 -1
- package/dist/es6/button/index.d.ts.map +1 -1
- package/dist/es6/button/index.js +1 -1
- package/dist/es6/button/lib/BaseButton.d.ts +7 -4
- package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/es6/button/lib/DeleteButton.d.ts +2 -1
- package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/es6/button/lib/PrimaryButton.d.ts +2 -1
- package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/SecondaryButton.d.ts +2 -1
- package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/TertiaryButton.d.ts +2 -1
- package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/TertiaryButton.js +1 -1
- package/dist/es6/common/lib/utils/components.d.ts +2 -1
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/index.d.ts +1 -0
- package/dist/es6/index.d.ts.map +1 -1
- package/dist/es6/index.js +1 -0
- package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +3 -1
- package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
- package/dist/es6/segmented-control/lib/SegmentedControlButton.js +12 -3
- package/index.ts +1 -0
- package/package.json +3 -3
- package/segmented-control/lib/SegmentedControlButton.tsx +24 -5
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const reorganizeHiddenItems = (
|
|
2
|
+
items: {id: string}[],
|
|
3
|
+
hiddenIds: string[],
|
|
4
|
+
getId: (item: {id: string}) => string
|
|
5
|
+
): string[] => {
|
|
6
|
+
let updatedHiddenIds = hiddenIds;
|
|
7
|
+
const totalSize = items.length;
|
|
8
|
+
const itemSpace = totalSize - hiddenIds.length;
|
|
9
|
+
|
|
10
|
+
if (itemSpace <= 2) {
|
|
11
|
+
// Keep only last items if there is place for two or less items
|
|
12
|
+
updatedHiddenIds = items.slice(0, totalSize - 1).map(getId);
|
|
13
|
+
} else if (itemSpace === 3) {
|
|
14
|
+
// Always keep first and last item if there is place for 3 items
|
|
15
|
+
updatedHiddenIds = items.slice(1, totalSize - 1).map(getId);
|
|
16
|
+
} else if (itemSpace > 3 && itemSpace < totalSize) {
|
|
17
|
+
// Always keep first and 2 last items if there is place for 4 items
|
|
18
|
+
updatedHiddenIds = items.slice(1, totalSize - 2).map(getId);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return updatedHiddenIds;
|
|
22
|
+
};
|
package/button/index.ts
CHANGED
|
@@ -9,6 +9,12 @@ export {
|
|
|
9
9
|
export {ToolbarIconButton, ToolbarIconButtonProps} from './lib/ToolbarIconButton';
|
|
10
10
|
export {ToolbarDropdownButton, ToolbarDropdownButtonProps} from './lib/ToolbarDropdownButton';
|
|
11
11
|
export {Hyperlink, HyperlinkProps} from './lib/Hyperlink';
|
|
12
|
-
export {
|
|
12
|
+
export {
|
|
13
|
+
BaseButton,
|
|
14
|
+
ButtonContainerProps,
|
|
15
|
+
BaseButtonProps,
|
|
16
|
+
getMinWidthStyles,
|
|
17
|
+
getPaddingStyles,
|
|
18
|
+
} from './lib/BaseButton';
|
|
13
19
|
export {ExternalHyperlink, ExternalHyperlinkProps} from './lib/ExternalHyperlink';
|
|
14
20
|
export * from './lib/types';
|
|
@@ -29,10 +29,6 @@ export interface ButtonContainerProps extends BoxProps, GrowthBehavior {
|
|
|
29
29
|
* @default 'medium'
|
|
30
30
|
*/
|
|
31
31
|
size?: ButtonSizes;
|
|
32
|
-
/**
|
|
33
|
-
* The ref to the button that the styled component renders.
|
|
34
|
-
*/
|
|
35
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
36
32
|
/**
|
|
37
33
|
* Whether the icon should received filled (colored background layer) or regular styles.
|
|
38
34
|
* Corresponds to `toggled` in ToolbarIconButton
|
|
@@ -40,6 +36,13 @@ export interface ButtonContainerProps extends BoxProps, GrowthBehavior {
|
|
|
40
36
|
fillIcon?: boolean;
|
|
41
37
|
}
|
|
42
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Extends all the style properties from Box to our buttons as well as props from ButtonContainerProps.
|
|
41
|
+
* We omit `ref` since all of our buttons use `createComponent` and already give access to `ref`.
|
|
42
|
+
* Use this type to extend and customize any one off buttons that you want full control over styling.
|
|
43
|
+
*/
|
|
44
|
+
export interface BaseButtonProps extends Omit<ButtonContainerProps, 'ref'> {}
|
|
45
|
+
|
|
43
46
|
function getIconColorSelectors(
|
|
44
47
|
{
|
|
45
48
|
canvas: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import {ButtonColors} from './types';
|
|
3
|
-
import {BaseButton, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
3
|
+
import {BaseButton, BaseButtonProps, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
4
4
|
import {
|
|
5
5
|
GrowthBehavior,
|
|
6
6
|
useTheme,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
createComponent,
|
|
10
10
|
} from '@workday/canvas-kit-react/common';
|
|
11
11
|
|
|
12
|
-
export interface DeleteButtonProps extends Themeable, GrowthBehavior {
|
|
12
|
+
export interface DeleteButtonProps extends Themeable, GrowthBehavior, BaseButtonProps {
|
|
13
13
|
/**
|
|
14
14
|
* The size of the Button.
|
|
15
15
|
* @default 'medium'
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {colors} from '@workday/canvas-kit-react/tokens';
|
|
12
12
|
import {CanvasSystemIcon} from '@workday/design-assets-types';
|
|
13
13
|
import {ButtonSizes, IconPositions} from './types';
|
|
14
|
-
import {BaseButton, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
14
|
+
import {BaseButton, BaseButtonProps, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
15
15
|
|
|
16
16
|
const getPrimaryButtonColors = (variant: 'inverse' | undefined, theme: EmotionCanvasTheme) => {
|
|
17
17
|
const {
|
|
@@ -85,7 +85,7 @@ const getPrimaryButtonColors = (variant: 'inverse' | undefined, theme: EmotionCa
|
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
-
export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
|
|
88
|
+
export interface PrimaryButtonProps extends Themeable, GrowthBehavior, BaseButtonProps {
|
|
89
89
|
/**
|
|
90
90
|
* The variant of the PrimaryButton.
|
|
91
91
|
* @default undefined
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
} from '@workday/canvas-kit-react/common';
|
|
12
12
|
import {CanvasSystemIcon} from '@workday/design-assets-types';
|
|
13
13
|
import {ButtonColors, ButtonSizes, IconPositions} from './types';
|
|
14
|
-
import {BaseButton, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
14
|
+
import {BaseButton, BaseButtonProps, getMinWidthStyles, getPaddingStyles} from './BaseButton';
|
|
15
15
|
|
|
16
|
-
export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
|
|
16
|
+
export interface SecondaryButtonProps extends Themeable, GrowthBehavior, BaseButtonProps {
|
|
17
17
|
/**
|
|
18
18
|
* The variant of the SecondaryButton.
|
|
19
19
|
* @default undefined
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
import {borderRadius, colors, space} from '@workday/canvas-kit-react/tokens';
|
|
12
12
|
import {CanvasSystemIcon} from '@workday/design-assets-types';
|
|
13
13
|
import {ButtonColors, IconPositions, ButtonSizes} from './types';
|
|
14
|
-
import {BaseButton} from './BaseButton';
|
|
14
|
+
import {BaseButton, BaseButtonProps} from './BaseButton';
|
|
15
15
|
|
|
16
|
-
export interface TertiaryButtonProps extends Themeable {
|
|
16
|
+
export interface TertiaryButtonProps extends Themeable, BaseButtonProps {
|
|
17
17
|
/**
|
|
18
18
|
* The variant of the TertiaryButton.
|
|
19
19
|
* @default undefined
|
|
@@ -229,7 +229,7 @@ export const TertiaryButton = createComponent('button')({
|
|
|
229
229
|
size={size}
|
|
230
230
|
padding={getPaddingStyles(icon, iconPosition, children, size)}
|
|
231
231
|
minWidth={getMinWidthStyles(children, size)}
|
|
232
|
-
|
|
232
|
+
borderRadius={children ? borderRadius.m : borderRadius.circle}
|
|
233
233
|
{...elemProps}
|
|
234
234
|
>
|
|
235
235
|
{icon && iconPosition === 'start' && (
|
|
@@ -10,6 +10,9 @@ export type StyledType = {
|
|
|
10
10
|
as?: React.ElementType;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
+
// For React class components
|
|
14
|
+
type Constructor<T> = new (...args: any[]) => T;
|
|
15
|
+
|
|
13
16
|
/**
|
|
14
17
|
* Extract a Ref from T if it exists
|
|
15
18
|
* This will return the following:
|
|
@@ -20,6 +23,8 @@ export type StyledType = {
|
|
|
20
23
|
*/
|
|
21
24
|
type ExtractRef<T> = T extends undefined // test if T was even passed in
|
|
22
25
|
? never // T not passed in, we'll set the ref to `never`
|
|
26
|
+
: T extends Constructor<infer C>
|
|
27
|
+
? React.LegacyRef<C>
|
|
23
28
|
: React.Ref<
|
|
24
29
|
T extends keyof ElementTagNameMap // test if T is an element string like 'button' or 'div'
|
|
25
30
|
? ElementTagNameMap[T] // if yes, the ref should be the element interface. `'button' => HTMLButtonElement`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../breadcrumbs/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./lib/Breadcrumbs"), exports);
|
|
14
|
+
__exportStar(require("./lib/hooks/useBreadcrumbsModel"), exports);
|