@workday/canvas-kit-react 6.0.0-alpha.0-next.26 → 6.0.0-alpha.0-next.30
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/action-bar/lib/ActionBar.tsx +43 -30
- package/button/lib/PrimaryButton.tsx +110 -32
- package/button/lib/SecondaryButton.tsx +31 -16
- package/button/lib/parts/ButtonContainer.tsx +16 -5
- package/button/lib/parts/ButtonLabelIcon.tsx +34 -14
- package/button/lib/types.ts +10 -0
- package/common/lib/theming/README.md +189 -25
- package/common/lib/theming/breakpoints.ts +296 -16
- package/common/lib/theming/types.ts +191 -1
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +35 -27
- package/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
- package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.js +80 -26
- package/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
- package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/SecondaryButton.js +22 -12
- package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
- package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
- package/dist/commonjs/button/lib/parts/ButtonContainer.js +11 -9
- package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +28 -13
- package/dist/commonjs/button/lib/types.d.ts +8 -0
- package/dist/commonjs/button/lib/types.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
- package/dist/commonjs/common/lib/theming/breakpoints.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/breakpoints.js +192 -10
- package/dist/commonjs/common/lib/theming/types.d.ts +191 -1
- package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/es6/action-bar/lib/ActionBar.js +33 -22
- package/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
- package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/PrimaryButton.js +81 -27
- package/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
- package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/SecondaryButton.js +22 -12
- package/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
- package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
- package/dist/es6/button/lib/parts/ButtonContainer.js +11 -9
- package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
- package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/es6/button/lib/parts/ButtonLabelIcon.js +28 -13
- package/dist/es6/button/lib/types.d.ts +8 -0
- package/dist/es6/button/lib/types.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
- package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/breakpoints.js +192 -10
- package/dist/es6/common/lib/theming/types.d.ts +191 -1
- package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/package.json +5 -5
- package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +80 -6
- package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +8 -5
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +5 -3
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
- package/ts3.5/dist/commonjs/button/lib/types.d.ts +8 -0
- package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +287 -6
- package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +191 -1
- package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +80 -6
- package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +8 -5
- package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +5 -3
- package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +7 -4
- package/ts3.5/dist/es6/button/lib/types.d.ts +8 -0
- package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +287 -6
- package/ts3.5/dist/es6/common/lib/theming/types.d.ts +191 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { CSSObject } from '@emotion/core';
|
|
3
3
|
import { GrowthBehavior, EmotionCanvasTheme, StyledType } from '@workday/canvas-kit-react/common';
|
|
4
|
-
import { ButtonColors } from '../types';
|
|
4
|
+
import { ButtonColors, ButtonSizes } from '../types';
|
|
5
5
|
export interface ButtonContainerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, GrowthBehavior {
|
|
6
6
|
colors?: ButtonColors;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
|
|
9
|
+
* If no size is provided, it will default to `medium`.
|
|
10
|
+
*
|
|
9
11
|
* @default 'medium'
|
|
10
12
|
*/
|
|
11
|
-
size?:
|
|
13
|
+
size?: ButtonSizes;
|
|
12
14
|
/**
|
|
13
15
|
* The ref to the button that the styled component renders.
|
|
14
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonContainer.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,cAAc,EAId,kBAAkB,EAClB,UAAU,EACX,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ButtonContainer.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,cAAc,EAId,kBAAkB,EAClB,UAAU,EACX,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAGnD,MAAM,WAAW,oBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,cAAc;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AA8BD,eAAO,MAAM,eAAe,kMA8K3B,CAAC"}
|
|
@@ -50,15 +50,9 @@ exports.ButtonContainer = common_1.styled('button', {
|
|
|
50
50
|
var size = _a.size;
|
|
51
51
|
switch (size) {
|
|
52
52
|
case 'large':
|
|
53
|
-
return {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
height: '48px',
|
|
57
|
-
padding: "0 " + tokens_1.space.l,
|
|
58
|
-
'& > * ': {
|
|
59
|
-
margin: "0 " + tokens_1.spaceNumbers.xs / 2 + "px",
|
|
60
|
-
},
|
|
61
|
-
};
|
|
53
|
+
return __assign(__assign({}, tokens_1.type.levels.body.small), { fontWeight: tokens_1.type.properties.fontWeights.bold, minWidth: '112px', height: '48px', padding: "0 " + tokens_1.space.l, '& > * ': {
|
|
54
|
+
margin: "0 " + tokens_1.spaceNumbers.xxs / 2 + "px",
|
|
55
|
+
} });
|
|
62
56
|
case 'medium':
|
|
63
57
|
default:
|
|
64
58
|
return {
|
|
@@ -78,6 +72,14 @@ exports.ButtonContainer = common_1.styled('button', {
|
|
|
78
72
|
margin: "0 " + tokens_1.spaceNumbers.xxxs / 2 + "px",
|
|
79
73
|
},
|
|
80
74
|
};
|
|
75
|
+
case 'extraSmall':
|
|
76
|
+
return {
|
|
77
|
+
height: tokens_1.space.m,
|
|
78
|
+
padding: "0 " + tokens_1.space.xs,
|
|
79
|
+
'& > * ': {
|
|
80
|
+
margin: "0 " + tokens_1.spaceNumbers.xxxs / 2 + "px",
|
|
81
|
+
},
|
|
82
|
+
};
|
|
81
83
|
}
|
|
82
84
|
}, function (_a) {
|
|
83
85
|
var grow = _a.grow;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="@emotion/core" />
|
|
2
|
-
export declare const ButtonLabel: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "style" | "title" | "
|
|
2
|
+
export declare const ButtonLabel: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "css" | "style" | "title" | "dir" | "slot" | "children" | "hidden" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "inputMode" | "is" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture">, import("../../../common").EmotionCanvasTheme>;
|
|
3
3
|
//# sourceMappingURL=ButtonLabel.d.ts.map
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { CanvasSystemIcon } from '@workday/design-assets-types';
|
|
2
|
+
import { ButtonSizes, IconPositions } from '../types';
|
|
2
3
|
export interface ButtonLabelIconProps {
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
|
|
6
|
+
*
|
|
5
7
|
* @default 'medium'
|
|
6
8
|
*/
|
|
7
|
-
size?:
|
|
9
|
+
size?: ButtonSizes;
|
|
8
10
|
/**
|
|
9
11
|
* The icon of the Button.
|
|
10
12
|
* Note: not displayed at `small` size
|
|
11
13
|
*/
|
|
12
14
|
icon?: CanvasSystemIcon;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* Button icon positions can either be `left` or `right`.
|
|
17
|
+
* If no value is provided, it defaults to `left`.
|
|
15
18
|
* @default 'left'
|
|
16
19
|
*/
|
|
17
|
-
iconPosition?:
|
|
20
|
+
iconPosition?: IconPositions;
|
|
18
21
|
/**
|
|
19
22
|
* If set to `true`, transform the icon's x-axis to mirror the graphic
|
|
20
23
|
* @default false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonLabelIcon.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonLabelIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAM9D,MAAM,WAAW,oBAAoB;IACnC
|
|
1
|
+
{"version":3,"file":"ButtonLabelIcon.d.ts","sourceRoot":"","sources":["../../../../../button/lib/parts/ButtonLabelIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAM9D,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AACpD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAuCD,eAAO,MAAM,eAAe,4GAkB3B,CAAC"}
|
|
@@ -37,8 +37,30 @@ var tokens_1 = require("@workday/canvas-kit-react/tokens");
|
|
|
37
37
|
var is_prop_valid_1 = __importDefault(require("@emotion/is-prop-valid"));
|
|
38
38
|
var icon_1 = require("@workday/canvas-kit-react/icon");
|
|
39
39
|
var common_1 = require("@workday/canvas-kit-react/common");
|
|
40
|
-
var
|
|
41
|
-
|
|
40
|
+
var iconSizes = {
|
|
41
|
+
extraSmall: 18,
|
|
42
|
+
small: 20,
|
|
43
|
+
medium: 20,
|
|
44
|
+
large: 24,
|
|
45
|
+
};
|
|
46
|
+
var getIconPositionStyles = function (_a) {
|
|
47
|
+
var iconPosition = _a.iconPosition, size = _a.size;
|
|
48
|
+
// Adjust margin values for visual balance, large buttons require 8px
|
|
49
|
+
var balancingMargin = size === 'large' ? tokens_1.space.xxs : tokens_1.space.xxxs;
|
|
50
|
+
// iconPosition can only be "right", "left", or undefined (defaults to "left")
|
|
51
|
+
if (iconPosition === 'right') {
|
|
52
|
+
return {
|
|
53
|
+
marginLeft: undefined,
|
|
54
|
+
marginRight: "-" + balancingMargin + " !important",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return {
|
|
59
|
+
marginLeft: "-" + balancingMargin + " !important",
|
|
60
|
+
marginRight: undefined,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
};
|
|
42
64
|
var ButtonLabelIconStyled = common_1.styled('span', {
|
|
43
65
|
shouldForwardProp: function (prop) { return is_prop_valid_1.default(prop) && prop !== 'size'; },
|
|
44
66
|
})({
|
|
@@ -46,23 +68,16 @@ var ButtonLabelIconStyled = common_1.styled('span', {
|
|
|
46
68
|
}, function (_a) {
|
|
47
69
|
var size = _a.size;
|
|
48
70
|
return ({
|
|
49
|
-
width: size
|
|
50
|
-
height: size
|
|
51
|
-
});
|
|
52
|
-
}, function (_a) {
|
|
53
|
-
var iconPosition = _a.iconPosition;
|
|
54
|
-
return ({
|
|
55
|
-
marginLeft: iconPosition === 'right' ? undefined : "-" + tokens_1.space.xxxs + " !important",
|
|
56
|
-
marginRight: iconPosition === 'right' ? "-" + tokens_1.space.xxxs + " !important" : undefined,
|
|
71
|
+
width: size ? iconSizes[size] : iconSizes.medium,
|
|
72
|
+
height: size ? iconSizes[size] : iconSizes.medium,
|
|
57
73
|
});
|
|
58
|
-
});
|
|
74
|
+
}, getIconPositionStyles);
|
|
59
75
|
exports.ButtonLabelIcon = function (_a) {
|
|
60
76
|
var icon = _a.icon, size = _a.size, iconPosition = _a.iconPosition, _b = _a.shouldMirrorIcon, shouldMirrorIcon = _b === void 0 ? false : _b, elemProps = __rest(_a, ["icon", "size", "iconPosition", "shouldMirrorIcon"]);
|
|
61
|
-
/* istanbul ignore next line for coverage */
|
|
62
77
|
if (icon === undefined) {
|
|
63
78
|
return null;
|
|
64
79
|
}
|
|
65
|
-
var iconSize = size
|
|
80
|
+
var iconSize = size ? iconSizes[size] : undefined;
|
|
66
81
|
return (React.createElement(ButtonLabelIconStyled, __assign({ iconPosition: iconPosition, size: size }, elemProps),
|
|
67
82
|
React.createElement(icon_1.SystemIcon, { size: iconSize, icon: icon, shouldMirror: shouldMirrorIcon })));
|
|
68
83
|
};
|
|
@@ -19,4 +19,12 @@ export interface ButtonColors {
|
|
|
19
19
|
};
|
|
20
20
|
disabled: ButtonStateColors;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
|
|
24
|
+
* If no size is provided, it will default to `medium`.
|
|
25
|
+
*
|
|
26
|
+
* @default 'medium'
|
|
27
|
+
*/
|
|
28
|
+
export declare type ButtonSizes = 'extraSmall' | 'small' | 'medium' | 'large';
|
|
29
|
+
export declare type IconPositions = 'left' | 'right';
|
|
22
30
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../button/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,GAAG;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,iBAAiB,CAAC;CAC7B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../button/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,GAAG;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;GAKG;AACH,oBAAY,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtE,oBAAY,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC"}
|
|
@@ -7,16 +7,297 @@ export declare enum BreakpointKey {
|
|
|
7
7
|
}
|
|
8
8
|
export declare type BreakpointFnParam = BreakpointKey | keyof typeof BreakpointKey;
|
|
9
9
|
export declare type CanvasBreakpoints = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* ### Zero Breakpoint
|
|
12
|
+
*
|
|
13
|
+
* This breakpoint is useful when you need to set a media query `min-width` below small.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
18
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
19
|
+
*
|
|
20
|
+
* const theme = useTheme();
|
|
21
|
+
* const { values } = theme.canvas.breakpoints;
|
|
22
|
+
* const styles = {
|
|
23
|
+
* [`@media (min-width: ${values.zero}px)`]: {
|
|
24
|
+
* padding: space.xxs,
|
|
25
|
+
* },
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
zero: 0;
|
|
30
|
+
/**
|
|
31
|
+
* ### Small Breakpoint
|
|
32
|
+
*
|
|
33
|
+
* The small breakpoint provides the `min-width` for mobile devices, such as phones and tablets.
|
|
34
|
+
* This size ranges from a min-width of 320px to a max-width of 767px.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
39
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
40
|
+
*
|
|
41
|
+
* const theme = useTheme();
|
|
42
|
+
* const { values } = theme.canvas.breakpoints;
|
|
43
|
+
* const styles = {
|
|
44
|
+
* [`@media (min-width: ${values.s}px)`]: {
|
|
45
|
+
* padding: space.xs,
|
|
46
|
+
* },
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
s: 320;
|
|
51
|
+
/**
|
|
52
|
+
* ### Medium Breakpoint
|
|
53
|
+
*
|
|
54
|
+
* The medium breakpoint is the min-width for intended for medium screens, such as laptops.
|
|
55
|
+
* This size ranges from a min-width of 768px to a max-width of 1023px.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
60
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
61
|
+
*
|
|
62
|
+
* const theme = useTheme();
|
|
63
|
+
* const { values } = theme.canvas.breakpoints;
|
|
64
|
+
* const styles = {
|
|
65
|
+
* [`@media (min-width: ${values.m}px)`]: {
|
|
66
|
+
* padding: space.s,
|
|
67
|
+
* },
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
m: 768;
|
|
72
|
+
/**
|
|
73
|
+
* ### Large Breakpoint
|
|
74
|
+
*
|
|
75
|
+
* The large breakpoint is the min-width for intended for large screens, such as desktops.
|
|
76
|
+
* This size ranges from a min-width of 1024px to a max-width of 1439px.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
81
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
82
|
+
*
|
|
83
|
+
* const theme = useTheme();
|
|
84
|
+
* const { values } = theme.canvas.breakpoints;
|
|
85
|
+
* const styles = {
|
|
86
|
+
* [`@media (min-width: ${values.m}px)`]: {
|
|
87
|
+
* padding: space.s,
|
|
88
|
+
* },
|
|
89
|
+
* }
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
l: 1024;
|
|
93
|
+
/**
|
|
94
|
+
* ### Extra-Large Breakpoint
|
|
95
|
+
*
|
|
96
|
+
* The large breakpoint is the min-width for intended for extra-large screens, such as wide monitors and TVs.
|
|
97
|
+
* This size has a min-width of 1440px and no max-width.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```ts
|
|
101
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
102
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
103
|
+
*
|
|
104
|
+
* const theme = useTheme();
|
|
105
|
+
* const { values } = theme.canvas.breakpoints;
|
|
106
|
+
* const styles = {
|
|
107
|
+
* [`@media (min-width: ${values.m}px)`]: {
|
|
108
|
+
* padding: space.s
|
|
109
|
+
* },
|
|
110
|
+
* }
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
xl: 1440;
|
|
15
114
|
};
|
|
16
115
|
export declare const breakpointKeys: readonly ["zero", "s", "m", "l", "xl"];
|
|
116
|
+
/**
|
|
117
|
+
* ### Theme Breakpoint Values
|
|
118
|
+
*
|
|
119
|
+
* Breakpoints are used by media queries to conditionally apply or modify styles based on the viewport width.
|
|
120
|
+
* This allows the UI to be responsive to various screen sizes. This object provides five breakpoint values
|
|
121
|
+
* that correspond to the min-widths of our standard screen sizes.
|
|
122
|
+
*
|
|
123
|
+
* - `zero`: 0
|
|
124
|
+
* - `s`: 320
|
|
125
|
+
* - `m`: 768
|
|
126
|
+
* - `l`: 1024
|
|
127
|
+
* - `xl`: 1440
|
|
128
|
+
*
|
|
129
|
+
* And these are our standard screen size ranges:
|
|
130
|
+
*
|
|
131
|
+
* - `small` (320px - 767px) Used for mobile-sized screens
|
|
132
|
+
* - `medium` (768px - 1023px) Used for tablet-sized screens
|
|
133
|
+
* - `large` - (1024px - 1439px) Used for laptop and small desktop screens
|
|
134
|
+
* - `extra-large` (≥1440px) Used for very large screens
|
|
135
|
+
*
|
|
136
|
+
* Note: Some applications may only require a subset of screen sizes and not use all breakpoints.
|
|
137
|
+
*
|
|
138
|
+
*/
|
|
17
139
|
export declare const breakpoints: CanvasBreakpoints;
|
|
140
|
+
/**
|
|
141
|
+
* ### Up
|
|
142
|
+
*
|
|
143
|
+
* _Returns a media query above the `min-width` for the range of a given breakpoint_
|
|
144
|
+
*
|
|
145
|
+
* Given a `start` breakpoint key ("zero", "s", "m", "l", "xl"),
|
|
146
|
+
* this function returns a media query (string) using a `min-width`.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```ts
|
|
150
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
151
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
152
|
+
*
|
|
153
|
+
* const theme = useTheme();
|
|
154
|
+
* const { up } = theme.canvas.breakpoints;
|
|
155
|
+
* const mediaQuery = up('l'); // Returns '@media (min-width: 1024px)'
|
|
156
|
+
* const styles = {
|
|
157
|
+
* [mediaQuery]: {
|
|
158
|
+
* padding: space.m,
|
|
159
|
+
* }
|
|
160
|
+
* };
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
18
163
|
export declare function up(key: BreakpointFnParam): string;
|
|
19
|
-
|
|
164
|
+
/**
|
|
165
|
+
* ### Down
|
|
166
|
+
*
|
|
167
|
+
* _Returns a media query below the `max-width` for the range of a given breakpoint_
|
|
168
|
+
*
|
|
169
|
+
* Given an `end` breakpoint key ("zero", "s", "m", "l", "xl"),
|
|
170
|
+
* this function returns a media query (string) using a `max-width`.
|
|
171
|
+
*
|
|
172
|
+
* Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
|
|
173
|
+
* For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
|
|
174
|
+
*
|
|
175
|
+
* If the `xl` breakpoint is provided, this function returns a media query with only a `min-width` of `0`,
|
|
176
|
+
* as seen in the second example below.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
181
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
182
|
+
*
|
|
183
|
+
* const theme = useTheme();
|
|
184
|
+
* const { down } = theme.canvas.breakpoints;
|
|
185
|
+
* const mediaQuery = down('m'); // Returns '@media (max-width: 1023.5px)'
|
|
186
|
+
* const styles = {
|
|
187
|
+
* [mediaQuery]: {
|
|
188
|
+
* padding: space.m,
|
|
189
|
+
* }
|
|
190
|
+
* };
|
|
191
|
+
* ```
|
|
192
|
+
*
|
|
193
|
+
* This example uses the `xl` breakpoint and only adds a `min-width` of `0` to the media query.
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
197
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
198
|
+
*
|
|
199
|
+
* const theme = useTheme();
|
|
200
|
+
* const { down } = theme.canvas.breakpoints;
|
|
201
|
+
* const mediaQuery = down('xl'); // Returns '@media (min-width: 0)'
|
|
202
|
+
* const styles = {
|
|
203
|
+
* [mediaQuery]: {
|
|
204
|
+
* padding: space.m,
|
|
205
|
+
* }
|
|
206
|
+
* };
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export declare function down(endKey: BreakpointFnParam): string;
|
|
210
|
+
/**
|
|
211
|
+
* ### Between
|
|
212
|
+
*
|
|
213
|
+
* _Returns a media query between two given breakpoints_
|
|
214
|
+
*
|
|
215
|
+
* Given `start` and `end` breakpoint keys ("zero", "s", "m", "l", "xl"),
|
|
216
|
+
* this function returns a media query (string) using a min-width and max-width.
|
|
217
|
+
*
|
|
218
|
+
* Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
|
|
219
|
+
* For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
|
|
220
|
+
*
|
|
221
|
+
* If the `xl` breakpoint is provided, this function returns a media query with only a `min-width`,
|
|
222
|
+
* as seen in the second example below.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts
|
|
226
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
227
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
228
|
+
*
|
|
229
|
+
* const theme = useTheme();
|
|
230
|
+
* const { between } = theme.canvas.breakpoints;
|
|
231
|
+
* // Returns '@media (min-width: 320px) and (max-width: 1023.5px)'
|
|
232
|
+
* const mediaQuery = between('s', 'm');
|
|
233
|
+
* const styles = {
|
|
234
|
+
* [mediaQuery]: {
|
|
235
|
+
* padding: space.s,
|
|
236
|
+
* }
|
|
237
|
+
* };
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* This example uses `xl` as the `end` breakpoint and only adds a min-width to the media query.
|
|
241
|
+
* @example
|
|
242
|
+
* ```ts
|
|
243
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
244
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
245
|
+
*
|
|
246
|
+
* const theme = useTheme();
|
|
247
|
+
* const { between } = theme.canvas.breakpoints;
|
|
248
|
+
* const mediaQuery = between('m', 'xl'); // Returns '@media (min-width: 768px)'
|
|
249
|
+
* const styles = {
|
|
250
|
+
* [mediaQuery]: {
|
|
251
|
+
* padding: space.s,
|
|
252
|
+
* }
|
|
253
|
+
* };
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
20
256
|
export declare function between(start: BreakpointFnParam, end: BreakpointFnParam): string;
|
|
257
|
+
/**
|
|
258
|
+
* ### Only
|
|
259
|
+
*
|
|
260
|
+
* _Returns a media query with a `min-width` and `max-width` for a given breakpoint_
|
|
261
|
+
*
|
|
262
|
+
* Given a breakpoint key ("zero", "s", "m", "l", "xl"),
|
|
263
|
+
* this function returns a media query (string) using a `min-width` and `max-width`.
|
|
264
|
+
*
|
|
265
|
+
* Note: This function subtracts `0.5px` from the next breakpoint value to prevent collisions.
|
|
266
|
+
* For example, `breakpoints.values.s`, has a `min-width` of `320px`, and the `max-width` is `767.5px`).
|
|
267
|
+
*
|
|
268
|
+
* If the `xl` breakpoint is provided, this function returns a media query with only a `min-width` of `1440px`,
|
|
269
|
+
* as seen in the second example below.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
274
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
275
|
+
*
|
|
276
|
+
* const theme = useTheme();
|
|
277
|
+
* const { only } = theme.canvas.breakpoints;
|
|
278
|
+
* const mediaQuery = only('s'); // Returns '@media (min-width: 320px) and (max-width: 767.5px)'
|
|
279
|
+
* const styles = {
|
|
280
|
+
* [mediaQuery]: {
|
|
281
|
+
* padding: space.s,
|
|
282
|
+
* }
|
|
283
|
+
* };
|
|
284
|
+
* ```
|
|
285
|
+
*
|
|
286
|
+
* This example uses the `xl` breakpoint and only adds a `min-width` of `1440px` to the media query.
|
|
287
|
+
* @example
|
|
288
|
+
* ```ts
|
|
289
|
+
* import { useTheme } from '@workday/canvas-kit-react/common';
|
|
290
|
+
* import { space } from '@workday/canvas-kit-react/tokens';
|
|
291
|
+
*
|
|
292
|
+
* const theme = useTheme();
|
|
293
|
+
* const { only } = theme.canvas.breakpoints;
|
|
294
|
+
* const mediaQuery = only('xl'); // Returns '@media (min-width: 1440px)'
|
|
295
|
+
* const styles = {
|
|
296
|
+
* [mediaQuery]: {
|
|
297
|
+
* padding: space.s,
|
|
298
|
+
* }
|
|
299
|
+
* };
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
21
302
|
export declare function only(key: BreakpointFnParam): string;
|
|
22
303
|
//# sourceMappingURL=breakpoints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/breakpoints.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,CAAC,MAAM;IACP,CAAC,MAAM;IACP,CAAC,MAAM;IACP,EAAE,OAAO;CACV;AAED,oBAAY,iBAAiB,GAAG,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAE3E,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/breakpoints.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,CAAC,MAAM;IACP,CAAC,MAAM;IACP,CAAC,MAAM;IACP,EAAE,OAAO;CACV;AAED,oBAAY,iBAAiB,GAAG,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAE3E,oBAAY,iBAAiB,GAAG;IAC9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;;;;;;;;;;;;;;;;;;OAmBG;IACH,CAAC,EAAE,GAAG,CAAC;IACP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,CAAC,EAAE,GAAG,CAAC;IACP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,CAAC,EAAE,IAAI,CAAC;IACR;;;;;;;;;;;;;;;;;;;OAmBG;IACH,EAAE,EAAE,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,cAAc,wCAAyC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,EAAE,iBAMzB,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,iBAAiB,UAGxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,iBAAiB,UAU7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,UAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,iBAAiB,UAE1C"}
|