@razorpay/blade 11.12.0 → 11.13.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.
Files changed (47) hide show
  1. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +31 -0
  2. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -0
  3. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js +17 -0
  4. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  5. package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -1
  6. package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
  7. package/build/lib/native/components/ProgressBar/ProgressBarFilled.native.js +1 -1
  8. package/build/lib/native/components/ProgressBar/ProgressBarFilled.native.js.map +1 -1
  9. package/build/lib/native/components/ProgressBar/progressBarTokens.js +6 -2
  10. package/build/lib/native/components/ProgressBar/progressBarTokens.js.map +1 -1
  11. package/build/lib/native/tokens/global/size.js +1 -1
  12. package/build/lib/native/tokens/global/size.js.map +1 -1
  13. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +9 -1
  14. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  15. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +140 -0
  16. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -0
  17. package/build/lib/web/development/components/ProgressBar/CircularProgressLabel.js +38 -0
  18. package/build/lib/web/development/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  19. package/build/lib/web/development/components/ProgressBar/ProgressBar.js +47 -10
  20. package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
  21. package/build/lib/web/development/components/ProgressBar/ProgressBarFilled.web.js +6 -6
  22. package/build/lib/web/development/components/ProgressBar/ProgressBarFilled.web.js.map +1 -1
  23. package/build/lib/web/development/components/ProgressBar/progressBarTokens.js +45 -1
  24. package/build/lib/web/development/components/ProgressBar/progressBarTokens.js.map +1 -1
  25. package/build/lib/web/development/tokens/global/size.js +4 -0
  26. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  27. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +9 -1
  28. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  29. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +140 -0
  30. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -0
  31. package/build/lib/web/production/components/ProgressBar/CircularProgressLabel.js +38 -0
  32. package/build/lib/web/production/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  33. package/build/lib/web/production/components/ProgressBar/ProgressBar.js +47 -10
  34. package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
  35. package/build/lib/web/production/components/ProgressBar/ProgressBarFilled.web.js +6 -6
  36. package/build/lib/web/production/components/ProgressBar/ProgressBarFilled.web.js.map +1 -1
  37. package/build/lib/web/production/components/ProgressBar/progressBarTokens.js +45 -1
  38. package/build/lib/web/production/components/ProgressBar/progressBarTokens.js.map +1 -1
  39. package/build/lib/web/production/tokens/global/size.js +4 -0
  40. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  41. package/build/types/components/index.d.ts +11 -5
  42. package/build/types/components/index.native.d.ts +11 -5
  43. package/build/types/tokens/index.d.ts +4 -0
  44. package/build/types/tokens/index.native.d.ts +4 -0
  45. package/codemods/migrate-progressbar/transformers/__test__/migrate-progressbar.test.ts +28 -0
  46. package/codemods/migrate-progressbar/transformers/index.ts +89 -0
  47. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import styled, { keyframes, css } from 'styled-components';
3
+ import 'react';
4
+ import { pulseAnimation, getCircularProgressSVGTokens, circularProgressSizeTokens } from './progressBarTokens.js';
5
+ import { CircularProgressLabel } from './CircularProgressLabel.js';
6
+ import getIn from '../../utils/lodashButBetter/get.js';
7
+ import '../Box/BaseBox/index.js';
8
+ import '../../utils/index.js';
9
+ import '../../utils/makeMotionTime/index.web.js';
10
+ import '../Typography/index.js';
11
+ import '../Icons/_Svg/index.js';
12
+ import getBaseTextStyles from '../Typography/BaseText/getBaseTextStyles.js';
13
+ import { jsxs, jsx } from 'react/jsx-runtime';
14
+ import { getTextProps } from '../Typography/Text/Text.js';
15
+ import { castWebType } from '../../utils/platform/castUtils.js';
16
+ import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
17
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
18
+ import Svg from '../Icons/_Svg/Svg/Svg.web.js';
19
+ import Circle from '../Icons/_Svg/Circle/Circle.web.js';
20
+
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ var pulseKeyframes = /*#__PURE__*/keyframes(["0%{opacity:100;}50%{opacity:0.65;}100%{opacity:100;}"]);
24
+ var getPulseAnimationStyles = function getPulseAnimationStyles(_ref) {
25
+ var duration = _ref.duration,
26
+ easing = _ref.easing,
27
+ progressPercent = _ref.progressPercent,
28
+ isMeter = _ref.isMeter;
29
+ if (isMeter || progressPercent === 100) {
30
+ return css(["height:100%;width:100%;transition:stroke-dashoffset ", " ", ";"], duration, easing);
31
+ }
32
+ return css(["height:100%;width:100%;opacity:", ";background-color:", ";transition:stroke-dashoffset ", " ", ";animation:", " ", " ", " infinite;"], pulseAnimation.opacityInitial, pulseAnimation.backgroundColor, duration, easing, pulseKeyframes, duration, easing);
33
+ };
34
+ var StyledSVGText = /*#__PURE__*/styled.text.withConfig({
35
+ displayName: "CircularProgressBarweb__StyledSVGText",
36
+ componentId: "h4xj3g-0"
37
+ })(function (_ref2) {
38
+ var theme = _ref2.theme,
39
+ size = _ref2.size,
40
+ weight = _ref2.weight;
41
+ return getBaseTextStyles(_objectSpread({
42
+ theme: theme
43
+ }, getTextProps({
44
+ variant: 'body',
45
+ size: size,
46
+ weight: weight
47
+ })));
48
+ });
49
+ var DeterminatePulseAnimation = /*#__PURE__*/styled.circle.withConfig({
50
+ displayName: "CircularProgressBarweb__DeterminatePulseAnimation",
51
+ componentId: "h4xj3g-1"
52
+ })(function (_ref3) {
53
+ var theme = _ref3.theme,
54
+ pulseMotionDuration = _ref3.pulseMotionDuration,
55
+ motionEasing = _ref3.motionEasing,
56
+ progressPercent = _ref3.progressPercent,
57
+ isMeter = _ref3.isMeter;
58
+ var duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));
59
+ var easing = castWebType(getIn(theme.motion, motionEasing));
60
+ return getPulseAnimationStyles({
61
+ duration: duration,
62
+ easing: easing,
63
+ progressPercent: progressPercent,
64
+ isMeter: isMeter
65
+ });
66
+ });
67
+ var CircularProgressBarFilled = function CircularProgressBarFilled(_ref4) {
68
+ var progressPercent = _ref4.progressPercent,
69
+ fillColor = _ref4.fillColor,
70
+ backgroundColor = _ref4.backgroundColor,
71
+ _ref4$size = _ref4.size,
72
+ size = _ref4$size === void 0 ? 'small' : _ref4$size,
73
+ label = _ref4.label,
74
+ _ref4$showPercentage = _ref4.showPercentage,
75
+ showPercentage = _ref4$showPercentage === void 0 ? true : _ref4$showPercentage,
76
+ isMeter = _ref4.isMeter;
77
+ var _getCircularProgressS = getCircularProgressSVGTokens({
78
+ size: size,
79
+ progressPercent: progressPercent
80
+ }),
81
+ sqSize = _getCircularProgressS.sqSize,
82
+ strokeWidth = _getCircularProgressS.strokeWidth,
83
+ radius = _getCircularProgressS.radius,
84
+ viewBox = _getCircularProgressS.viewBox,
85
+ dashArray = _getCircularProgressS.dashArray,
86
+ dashOffset = _getCircularProgressS.dashOffset;
87
+ return /*#__PURE__*/jsxs(BaseBox, {
88
+ width: "fit-content",
89
+ textAlign: "center",
90
+ display: "flex",
91
+ flexDirection: "column",
92
+ alignItems: "center",
93
+ children: [/*#__PURE__*/jsxs(Svg, {
94
+ width: String(sqSize),
95
+ height: String(sqSize),
96
+ viewBox: viewBox,
97
+ children: [/*#__PURE__*/jsx(Circle, {
98
+ fill: "none",
99
+ stroke: backgroundColor,
100
+ cx: String(sqSize / 2),
101
+ cy: String(sqSize / 2),
102
+ r: String(radius),
103
+ strokeWidth: "".concat(strokeWidth, "px")
104
+ }), /*#__PURE__*/jsx(DeterminatePulseAnimation, {
105
+ progressPercent: progressPercent,
106
+ isMeter: isMeter,
107
+ fill: "none",
108
+ stroke: fillColor,
109
+ cx: sqSize / 2,
110
+ cy: sqSize / 2,
111
+ r: radius,
112
+ strokeWidth: "".concat(strokeWidth, "px")
113
+ // Start progress marker at 12 O'Clock
114
+ ,
115
+ transform: "rotate(-90 ".concat(sqSize / 2, " ").concat(sqSize / 2, ")"),
116
+ strokeDasharray: dashArray,
117
+ strokeDashoffset: dashOffset,
118
+ pulseMotionDuration: "duration.2xgentle",
119
+ pulseMotionDelay: "delay.long",
120
+ motionEasing: "easing.standard.revealing"
121
+ }), showPercentage && size !== 'small' && /*#__PURE__*/jsxs(StyledSVGText, {
122
+ size: circularProgressSizeTokens[size].percentTextSize,
123
+ weight: "semibold",
124
+ x: "50%",
125
+ y: "50%",
126
+ textAnchor: "middle",
127
+ dy: ".4em",
128
+ children: [progressPercent, "%"]
129
+ })]
130
+ }), /*#__PURE__*/jsx(CircularProgressLabel, {
131
+ progressPercent: progressPercent,
132
+ size: size,
133
+ label: label,
134
+ showPercentage: showPercentage
135
+ })]
136
+ });
137
+ };
138
+
139
+ export { CircularProgressBarFilled };
140
+ //# sourceMappingURL=CircularProgressBar.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularProgressBar.web.js","sources":["../../../../../../src/components/ProgressBar/CircularProgressBar.web.tsx"],"sourcesContent":["import type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport React from 'react';\nimport type { CircularProgressBarFilledProps } from './types';\nimport {\n pulseAnimation,\n circularProgressSizeTokens,\n getCircularProgressSVGTokens,\n} from './progressBarTokens';\nimport { CircularProgressLabel } from './CircularProgressLabel';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType } from '~utils';\nimport { makeMotionTime } from '~utils/makeMotionTime';\nimport type { TextProps } from '~components/Typography';\nimport { getTextProps } from '~components/Typography';\nimport { Svg, Circle } from '~components/Icons/_Svg';\nimport getBaseTextStyles from '~components/Typography/BaseText/getBaseTextStyles';\n\nconst pulseKeyframes = keyframes`\n 0% {\n opacity: 100;\n }\n 50% {\n opacity: 0.65;\n }\n 100% {\n opacity: 100;\n }\n`;\n\nconst getPulseAnimationStyles = ({\n duration,\n easing,\n progressPercent,\n isMeter,\n}: {\n duration: string;\n easing: string;\n progressPercent: number;\n isMeter: boolean;\n}): FlattenSimpleInterpolation => {\n if (isMeter || progressPercent === 100) {\n return css`\n height: 100%;\n width: 100%;\n transition: stroke-dashoffset ${duration} ${easing};\n `;\n }\n\n return css`\n height: 100%;\n width: 100%;\n opacity: ${pulseAnimation.opacityInitial};\n background-color: ${pulseAnimation.backgroundColor};\n transition: stroke-dashoffset ${duration} ${easing};\n animation: ${pulseKeyframes} ${duration} ${easing} infinite;\n `;\n};\n\nconst StyledSVGText = styled.text<Pick<TextProps<{ variant: 'body' }>, 'size' | 'weight'>>(\n ({ theme, size, weight }) => {\n return getBaseTextStyles({\n theme,\n ...getTextProps({ variant: 'body', size, weight }),\n });\n },\n);\n\nconst DeterminatePulseAnimation = styled.circle<\n Pick<\n CircularProgressBarFilledProps,\n 'pulseMotionDuration' | 'pulseMotionDelay' | 'motionEasing' | 'progressPercent' | 'isMeter'\n >\n>(({ theme, pulseMotionDuration, motionEasing, progressPercent, isMeter }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));\n const easing = castWebType(getIn(theme.motion, motionEasing));\n\n return getPulseAnimationStyles({\n duration,\n easing,\n progressPercent,\n isMeter,\n });\n});\n\nconst CircularProgressBarFilled = ({\n progressPercent,\n fillColor,\n backgroundColor,\n size = 'small',\n label,\n showPercentage = true,\n isMeter,\n}: CircularProgressBarFilledProps): React.ReactElement => {\n const {\n sqSize,\n strokeWidth,\n radius,\n viewBox,\n dashArray,\n dashOffset,\n } = getCircularProgressSVGTokens({ size, progressPercent });\n\n return (\n <BaseBox\n width=\"fit-content\"\n textAlign=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n >\n <Svg width={String(sqSize)} height={String(sqSize)} viewBox={viewBox}>\n <Circle\n fill=\"none\"\n stroke={backgroundColor}\n cx={String(sqSize / 2)}\n cy={String(sqSize / 2)}\n r={String(radius)}\n strokeWidth={`${strokeWidth}px`}\n />\n\n <DeterminatePulseAnimation\n progressPercent={progressPercent}\n isMeter={isMeter}\n fill=\"none\"\n stroke={fillColor}\n cx={sqSize / 2}\n cy={sqSize / 2}\n r={radius}\n strokeWidth={`${strokeWidth}px`}\n // Start progress marker at 12 O'Clock\n transform={`rotate(-90 ${sqSize / 2} ${sqSize / 2})`}\n strokeDasharray={dashArray}\n strokeDashoffset={dashOffset}\n pulseMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n />\n {showPercentage && size !== 'small' && (\n <StyledSVGText\n size={circularProgressSizeTokens[size].percentTextSize}\n weight=\"semibold\"\n x=\"50%\"\n y=\"50%\"\n textAnchor=\"middle\"\n dy=\".4em\"\n >\n {progressPercent}%\n </StyledSVGText>\n )}\n </Svg>\n\n <CircularProgressLabel\n progressPercent={progressPercent}\n size={size}\n label={label}\n showPercentage={showPercentage}\n />\n </BaseBox>\n );\n};\n\nexport { CircularProgressBarFilled };\n"],"names":["pulseKeyframes","keyframes","getPulseAnimationStyles","_ref","duration","easing","progressPercent","isMeter","css","pulseAnimation","opacityInitial","backgroundColor","StyledSVGText","styled","text","withConfig","displayName","componentId","_ref2","theme","size","weight","getBaseTextStyles","_objectSpread","getTextProps","variant","DeterminatePulseAnimation","circle","_ref3","pulseMotionDuration","motionEasing","castWebType","makeMotionTime","getIn","motion","CircularProgressBarFilled","_ref4","fillColor","_ref4$size","label","_ref4$showPercentage","showPercentage","_getCircularProgressS","getCircularProgressSVGTokens","sqSize","strokeWidth","radius","viewBox","dashArray","dashOffset","_jsxs","BaseBox","width","textAlign","display","flexDirection","alignItems","children","Svg","String","height","_jsx","Circle","fill","stroke","cx","cy","r","concat","transform","strokeDasharray","strokeDashoffset","pulseMotionDelay","circularProgressSizeTokens","percentTextSize","x","y","textAnchor","dy","CircularProgressLabel"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import 'react';
2
+ import '../Box/BaseBox/index.js';
3
+ import '../Typography/index.js';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
6
+ import { Text } from '../Typography/Text/Text.js';
7
+
8
+ var CircularProgressLabel = function CircularProgressLabel(_ref) {
9
+ var _label$trim;
10
+ var progressPercent = _ref.progressPercent,
11
+ _ref$size = _ref.size,
12
+ size = _ref$size === void 0 ? 'small' : _ref$size,
13
+ label = _ref.label,
14
+ _ref$showPercentage = _ref.showPercentage,
15
+ showPercentage = _ref$showPercentage === void 0 ? true : _ref$showPercentage;
16
+ var hasLabel = label && ((_label$trim = label.trim()) === null || _label$trim === void 0 ? void 0 : _label$trim.length) > 0;
17
+ return /*#__PURE__*/jsxs(BaseBox, {
18
+ display: "flex",
19
+ flexDirection: "column",
20
+ alignItems: "center",
21
+ children: [hasLabel && /*#__PURE__*/jsx(Text, {
22
+ marginTop: "spacing.3",
23
+ variant: "body",
24
+ weight: "regular",
25
+ size: "small",
26
+ children: label
27
+ }), showPercentage && size === 'small' && /*#__PURE__*/jsxs(Text, {
28
+ marginTop: hasLabel ? 'spacing.0' : 'spacing.3',
29
+ variant: "body",
30
+ weight: "semibold",
31
+ size: "small",
32
+ children: [progressPercent, "%"]
33
+ })]
34
+ });
35
+ };
36
+
37
+ export { CircularProgressLabel };
38
+ //# sourceMappingURL=CircularProgressLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircularProgressLabel.js","sources":["../../../../../../src/components/ProgressBar/CircularProgressLabel.tsx"],"sourcesContent":["import React from 'react';\nimport type { CircularProgressBarFilledProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\n\nconst CircularProgressLabel = ({\n progressPercent,\n size = 'small',\n label,\n showPercentage = true,\n}: Pick<\n CircularProgressBarFilledProps,\n 'progressPercent' | 'size' | 'label' | 'showPercentage'\n>): React.ReactElement => {\n const hasLabel = label && label.trim()?.length > 0;\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" alignItems=\"center\">\n {hasLabel && (\n <Text marginTop=\"spacing.3\" variant=\"body\" weight=\"regular\" size=\"small\">\n {label}\n </Text>\n )}\n\n {showPercentage && size === 'small' && (\n <Text\n marginTop={hasLabel ? 'spacing.0' : 'spacing.3'}\n variant=\"body\"\n weight=\"semibold\"\n size=\"small\"\n >\n {progressPercent}%\n </Text>\n )}\n </BaseBox>\n );\n};\n\nexport { CircularProgressLabel };\n"],"names":["CircularProgressLabel","_ref","_label$trim","progressPercent","_ref$size","size","label","_ref$showPercentage","showPercentage","hasLabel","trim","length","_jsxs","BaseBox","display","flexDirection","alignItems","children","_jsx","Text","marginTop","variant","weight"],"mappings":";;;;;;;AAKA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA,EAQD;AAAA,EAAA,IAAAC,WAAA,CAAA;AAAA,EAAA,IAPxBC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAAAC,SAAA,GAAAH,IAAA,CACfI,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,SAAA;IACdE,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAAC,mBAAA,GAAAN,IAAA,CACLO,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA,CAAA;AAKrB,EAAA,IAAME,QAAQ,GAAGH,KAAK,IAAI,CAAAJ,CAAAA,WAAA,GAAAI,KAAK,CAACI,IAAI,EAAE,cAAAR,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,WAAA,CAAcS,MAAM,IAAG,CAAC,CAAA;EAElD,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,OAAO,EAAC,MAAM;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,UAAU,EAAC,QAAQ;AAAAC,IAAAA,QAAA,EAC/DR,CAAAA,QAAQ,iBACPS,GAAA,CAACC,IAAI,EAAA;AAACC,MAAAA,SAAS,EAAC,WAAW;AAACC,MAAAA,OAAO,EAAC,MAAM;AAACC,MAAAA,MAAM,EAAC,SAAS;AAACjB,MAAAA,IAAI,EAAC,OAAO;AAAAY,MAAAA,QAAA,EACrEX,KAAAA;KACG,CACP,EAEAE,cAAc,IAAIH,IAAI,KAAK,OAAO,iBACjCO,IAAA,CAACO,IAAI,EAAA;AACHC,MAAAA,SAAS,EAAEX,QAAQ,GAAG,WAAW,GAAG,WAAY;AAChDY,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,MAAM,EAAC,UAAU;AACjBjB,MAAAA,IAAI,EAAC,OAAO;MAAAY,QAAA,EAAA,CAEXd,eAAe,EAAC,GACnB,CAAA;AAAA,KAAM,CACP,CAAA;AAAA,GACM,CAAC,CAAA;AAEd;;;;"}
@@ -1,6 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
3
  import { ProgressBarFilled } from './ProgressBarFilled.web.js';
4
+ import { CircularProgressBarFilled } from './CircularProgressBar.web.js';
4
5
  import clamp from '../../utils/lodashButBetter/clamp.js';
5
6
  import '../../utils/metaAttribute/index.js';
6
7
  import '../Typography/Text/index.js';
@@ -24,17 +25,20 @@ import { Text } from '../Typography/Text/Text.js';
24
25
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
25
26
  import { makeSize } from '../../utils/makeSize/makeSize.js';
26
27
 
27
- var _excluded = ["accessibilityLabel", "color", "isIndeterminate", "label", "showPercentage", "size", "value", "variant", "min", "max", "testID"];
28
+ var _excluded = ["accessibilityLabel", "color", "type", "isIndeterminate", "label", "showPercentage", "size", "value", "variant", "min", "max", "testID"];
28
29
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
31
  var progressBarHeight = {
31
32
  small: size[2],
32
- medium: size[4]
33
+ medium: size[4],
34
+ // Large size isn't available when variant is 'linear'
35
+ large: size[0]
33
36
  };
34
37
  var ProgressBar = function ProgressBar(_ref) {
35
38
  var _label$trim;
36
39
  var accessibilityLabel = _ref.accessibilityLabel,
37
40
  color = _ref.color,
41
+ type = _ref.type,
38
42
  _ref$isIndeterminate = _ref.isIndeterminate,
39
43
  isIndeterminate = _ref$isIndeterminate === void 0 ? false : _ref$isIndeterminate,
40
44
  label = _ref.label,
@@ -54,19 +58,40 @@ var ProgressBar = function ProgressBar(_ref) {
54
58
  styledProps = _objectWithoutProperties(_ref, _excluded);
55
59
  var _useTheme = useTheme(),
56
60
  theme = _useTheme.theme;
57
- var id = useId(variant);
61
+ var progressType = !type && (variant === 'meter' || variant === 'progress') ? variant : type;
62
+ var progressVariant = variant === 'meter' || variant === 'progress' ? 'linear' : variant;
63
+ var id = useId("".concat(progressType, "-").concat(progressVariant));
58
64
  if (false) {
59
- if (variant === 'meter' && isIndeterminate) {
65
+ if (progressType === 'meter' && isIndeterminate) {
60
66
  throwBladeError({
61
67
  moduleName: 'ProgressBar',
62
- message: "Cannot set 'isIndeterminate' when 'variant' is 'meter'."
68
+ message: "Cannot set 'isIndeterminate' when 'type' or 'variant' is 'meter'."
69
+ });
70
+ }
71
+ if (progressVariant === 'circular' && isIndeterminate) {
72
+ throwBladeError({
73
+ moduleName: 'ProgressBar',
74
+ message: "Cannot set 'isIndeterminate' when 'variant' is 'circular'."
75
+ });
76
+ }
77
+ if (progressVariant === 'linear' && size === 'large') {
78
+ throwBladeError({
79
+ moduleName: 'ProgressBar',
80
+ message: "Large size isn't available when 'variant' is 'linear'."
81
+ });
82
+ }
83
+ if (type && (variant === 'progress' || variant === 'meter')) {
84
+ throwBladeError({
85
+ moduleName: 'ProgressBar',
86
+ message: "variant can only be 'linear' or 'circular' when 'type=".concat(type, "'.")
63
87
  });
64
88
  }
65
89
  }
66
90
  var unfilledBackgroundColor = theme.colors.feedback.background.neutral.subtle;
67
91
  var filledBackgroundColor = color ? theme.colors.feedback.background[color].intense : theme.colors.surface.background.primary.intense;
68
92
  var hasLabel = label && ((_label$trim = label.trim()) === null || _label$trim === void 0 ? void 0 : _label$trim.length) > 0;
69
- var isMeter = variant === 'meter';
93
+ var isMeter = progressType === 'meter';
94
+ var isCircular = progressVariant === 'circular';
70
95
  var progressValue = clamp(value, min, max);
71
96
  var percentageProgressValue = Math.floor((progressValue - min) * 100 / (max - min));
72
97
  var shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;
@@ -97,7 +122,7 @@ var ProgressBar = function ProgressBar(_ref) {
97
122
  display: "flex",
98
123
  flexDirection: "column",
99
124
  width: "100%",
100
- children: [/*#__PURE__*/jsxs(BaseBox, {
125
+ children: [!isCircular ? /*#__PURE__*/jsxs(BaseBox, {
101
126
  display: "flex",
102
127
  flexDirection: "row",
103
128
  justifyContent: hasLabel ? 'space-between' : 'flex-end',
@@ -116,7 +141,7 @@ var ProgressBar = function ProgressBar(_ref) {
116
141
  children: "".concat(percentageProgressValue, "%")
117
142
  })
118
143
  }) : null]
119
- }), /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
144
+ }) : null, /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
120
145
  id: id
121
146
  }, makeAccessible({
122
147
  role: accessibilityProps.role,
@@ -126,7 +151,19 @@ var ProgressBar = function ProgressBar(_ref) {
126
151
  valueMin: accessibilityProps.valueMin,
127
152
  valueMax: accessibilityProps.valueMax
128
153
  })), {}, {
129
- children: /*#__PURE__*/jsx(BaseBox, {
154
+ children: isCircular ? /*#__PURE__*/jsx(CircularProgressBarFilled, {
155
+ size: size,
156
+ label: label,
157
+ progressPercent: percentageProgressValue,
158
+ isMeter: isMeter,
159
+ showPercentage: shouldShowPercentage,
160
+ backgroundColor: unfilledBackgroundColor,
161
+ fillColor: filledBackgroundColor,
162
+ pulseMotionDuration: "duration.2xgentle",
163
+ fillMotionDuration: "duration.2xgentle",
164
+ pulseMotionDelay: "delay.long",
165
+ motionEasing: "easing.standard.revealing"
166
+ }) : /*#__PURE__*/jsx(BaseBox, {
130
167
  backgroundColor: unfilledBackgroundColor,
131
168
  height: makeSize(progressBarHeight[size]),
132
169
  overflow: "hidden",
@@ -139,7 +176,7 @@ var ProgressBar = function ProgressBar(_ref) {
139
176
  indeterminateMotionDuration: "duration.2xgentle",
140
177
  pulseMotionDelay: "delay.long",
141
178
  motionEasing: "easing.standard.revealing",
142
- variant: variant,
179
+ type: progressType,
143
180
  isIndeterminate: isIndeterminate
144
181
  })
145
182
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sources":["../../../../../../src/components/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { ProgressBarFilled } from './ProgressBarFilled';\nimport clamp from '~utils/lodashButBetter/clamp';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography/Text';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useId } from '~utils/useId';\nimport { useTheme } from '~components/BladeProvider';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { size } from '~tokens/global';\nimport type { TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\n\ntype ProgressBarCommonProps = {\n /**\n * Sets aria-label to help users know what the progress bar is for. Default value is the same as the `label` passed.\n */\n accessibilityLabel?: string;\n /**\n * Sets the color of the progress bar which changes the feedback color.\n */\n color?: FeedbackColors;\n /**\n * Sets the label to be rendered for the progress bar. This value will also be used as default for `accessibilityLabel`.\n */\n label?: string;\n /**\n * Sets the size of the progress bar.\n * @default 'small'\n */\n size?: 'small' | 'medium';\n /**\n * Sets the progress value of the progress bar.\n * @default 'small'\n */\n value?: number;\n /**\n * Sets the minimum value for the progress bar.\n * @default 0\n */\n min?: number;\n /**\n * Sets the maximum value for the progress bar.\n * @default 100\n */\n max?: number;\n} & TestID &\n StyledPropsBlade;\n\ntype ProgressBarVariant = 'progress' | 'meter';\n\ntype ProgressBarProgressProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for the progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'progress'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default true\n */\n showPercentage?: boolean;\n};\n\ntype ProgressBarMeterProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for thr progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'meter'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: undefined;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default false\n */\n showPercentage?: undefined;\n};\n\ntype ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;\n\nconst progressBarHeight: Record<NonNullable<ProgressBarCommonProps['size']>, 2 | 4> = {\n small: size[2],\n medium: size[4],\n};\n\nconst ProgressBar = ({\n accessibilityLabel,\n color,\n isIndeterminate = false,\n label,\n showPercentage = true,\n size = 'small',\n value = 0,\n variant = 'progress',\n min = 0,\n max = 100,\n testID,\n ...styledProps\n}: ProgressBarProps): ReactElement => {\n const { theme } = useTheme();\n const id = useId(variant);\n\n if (__DEV__) {\n if (variant === 'meter' && isIndeterminate) {\n throwBladeError({\n moduleName: 'ProgressBar',\n message: `Cannot set 'isIndeterminate' when 'variant' is 'meter'.`,\n });\n }\n }\n\n const unfilledBackgroundColor = theme.colors.feedback.background.neutral\n .subtle as BaseBoxProps['backgroundColor'];\n const filledBackgroundColor = color\n ? theme.colors.feedback.background[color].intense\n : theme.colors.surface.background.primary.intense;\n const hasLabel = label && label.trim()?.length > 0;\n const isMeter = variant === 'meter';\n const progressValue = clamp(value, min, max);\n const percentageProgressValue = Math.floor(((progressValue - min) * 100) / (max - min));\n const shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;\n const accessibilityProps: Pick<\n AccessibilityProps,\n 'role' | 'label' | 'valueMax' | 'valueNow' | 'valueMin' | 'valueText'\n > = {\n role: 'progressbar',\n label: accessibilityLabel ?? label,\n valueNow: percentageProgressValue,\n valueText: `${percentageProgressValue}%`,\n valueMin: min,\n valueMax: max,\n };\n\n if (isMeter) {\n accessibilityProps.role = 'meter';\n accessibilityProps.valueNow = progressValue;\n accessibilityProps.valueText = `${progressValue}`;\n }\n\n if (isIndeterminate) {\n accessibilityProps.valueNow = undefined;\n accessibilityProps.valueMin = undefined;\n accessibilityProps.valueMax = undefined;\n accessibilityProps.valueText = undefined;\n }\n\n return (\n <BaseBox\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.ProgressBar, testID })}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={hasLabel ? 'space-between' : 'flex-end'}\n >\n {hasLabel ? (\n <Text as=\"label\" variant=\"body\" size=\"small\" color=\"surface.text.gray.subtle\">\n {label}\n </Text>\n ) : null}\n {shouldShowPercentage ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text\n variant=\"body\"\n size=\"small\"\n color=\"surface.text.gray.subtle\"\n >{`${percentageProgressValue}%`}</Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n <BaseBox\n id={id}\n {...makeAccessible({\n role: accessibilityProps.role,\n label: accessibilityProps.label,\n valueNow: accessibilityProps.valueNow,\n valueText: accessibilityProps.valueText,\n valueMin: accessibilityProps.valueMin,\n valueMax: accessibilityProps.valueMax,\n })}\n >\n <BaseBox\n backgroundColor={unfilledBackgroundColor}\n height={makeSize(progressBarHeight[size])}\n overflow=\"hidden\"\n position=\"relative\"\n >\n <ProgressBarFilled\n backgroundColor={filledBackgroundColor}\n progress={percentageProgressValue}\n fillMotionDuration=\"duration.2xgentle\"\n pulseMotionDuration=\"duration.2xgentle\"\n indeterminateMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n variant={variant}\n isIndeterminate={isIndeterminate}\n />\n </BaseBox>\n </BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport type { ProgressBarProps, ProgressBarVariant };\nexport { ProgressBar };\n"],"names":["progressBarHeight","small","size","medium","ProgressBar","_ref","_label$trim","accessibilityLabel","color","_ref$isIndeterminate","isIndeterminate","label","_ref$showPercentage","showPercentage","_ref$size","_ref$value","value","_ref$variant","variant","_ref$min","min","_ref$max","max","testID","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","id","useId","throwBladeError","moduleName","message","unfilledBackgroundColor","colors","feedback","background","neutral","subtle","filledBackgroundColor","intense","surface","primary","hasLabel","trim","length","isMeter","progressValue","clamp","percentageProgressValue","Math","floor","shouldShowPercentage","accessibilityProps","role","valueNow","valueText","concat","valueMin","valueMax","undefined","_jsx","BaseBox","_objectSpread","getStyledProps","metaAttribute","name","MetaConstants","children","_jsxs","display","flexDirection","width","justifyContent","Text","as","marginBottom","makeAccessible","backgroundColor","height","makeSize","overflow","position","ProgressBarFilled","progress","fillMotionDuration","pulseMotionDuration","indeterminateMotionDuration","pulseMotionDelay","motionEasing"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBar.js","sources":["../../../../../../src/components/ProgressBar/ProgressBar.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { ProgressBarFilled } from './ProgressBarFilled';\nimport { CircularProgressBarFilled } from './CircularProgressBar';\nimport clamp from '~utils/lodashButBetter/clamp';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography/Text';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useId } from '~utils/useId';\nimport { useTheme } from '~components/BladeProvider';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { size } from '~tokens/global';\nimport type { TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\n\ntype ProgressBarCommonProps = {\n /**\n * Sets aria-label to help users know what the progress bar is for. Default value is the same as the `label` passed.\n */\n accessibilityLabel?: string;\n /**\n * Sets the color of the progress bar which changes the feedback color.\n */\n color?: FeedbackColors;\n /**\n * Sets the type of the progress bar.\n * @default 'progress'\n */\n type?: 'meter' | 'progress';\n /**\n * Sets the label to be rendered for the progress bar. This value will also be used as default for `accessibilityLabel`.\n */\n label?: string;\n /**\n * Sets the size of the progress bar.\n * Note: 'large' size isn't available when the variant is 'linear'.\n * @default 'small'\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Sets the progress value of the progress bar.\n * @default 'small'\n */\n value?: number;\n /**\n * Sets the minimum value for the progress bar.\n * @default 0\n */\n min?: number;\n /**\n * Sets the maximum value for the progress bar.\n * @default 100\n */\n max?: number;\n} & TestID &\n StyledPropsBlade;\n\ntype ProgressBarVariant = 'progress' | 'meter' | 'linear' | 'circular';\n\ntype ProgressBarProgressProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for the progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'progress' | 'linear' | 'circular'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default true\n */\n showPercentage?: boolean;\n};\n\ntype ProgressBarMeterProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for thr progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'meter' | 'linear' | 'circular'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: undefined;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default false\n */\n showPercentage?: undefined;\n};\n\ntype ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;\n\nconst progressBarHeight: Record<NonNullable<ProgressBarProps['size']>, 2 | 4 | 0> = {\n small: size[2],\n medium: size[4],\n // Large size isn't available when variant is 'linear'\n large: size[0],\n};\n\nconst ProgressBar = ({\n accessibilityLabel,\n color,\n type,\n isIndeterminate = false,\n label,\n showPercentage = true,\n size = 'small',\n value = 0,\n variant = 'progress',\n min = 0,\n max = 100,\n testID,\n ...styledProps\n}: ProgressBarProps): ReactElement => {\n const { theme } = useTheme();\n const progressType = !type && (variant === 'meter' || variant === 'progress') ? variant : type;\n const progressVariant = variant === 'meter' || variant === 'progress' ? 'linear' : variant;\n const id = useId(`${progressType}-${progressVariant}`);\n\n if (__DEV__) {\n if (progressType === 'meter' && isIndeterminate) {\n throwBladeError({\n moduleName: 'ProgressBar',\n message: `Cannot set 'isIndeterminate' when 'type' or 'variant' is 'meter'.`,\n });\n }\n\n if (progressVariant === 'circular' && isIndeterminate) {\n throwBladeError({\n moduleName: 'ProgressBar',\n message: `Cannot set 'isIndeterminate' when 'variant' is 'circular'.`,\n });\n }\n\n if (progressVariant === 'linear' && size === 'large') {\n throwBladeError({\n moduleName: 'ProgressBar',\n message: `Large size isn't available when 'variant' is 'linear'.`,\n });\n }\n\n if (type && (variant === 'progress' || variant === 'meter')) {\n throwBladeError({\n moduleName: 'ProgressBar',\n message: `variant can only be 'linear' or 'circular' when 'type=${type}'.`,\n });\n }\n }\n\n const unfilledBackgroundColor = theme.colors.feedback.background.neutral\n .subtle as BaseBoxProps['backgroundColor'];\n const filledBackgroundColor = color\n ? theme.colors.feedback.background[color].intense\n : theme.colors.surface.background.primary.intense;\n const hasLabel = label && label.trim()?.length > 0;\n const isMeter = progressType === 'meter';\n const isCircular = progressVariant === 'circular';\n const progressValue = clamp(value, min, max);\n const percentageProgressValue = Math.floor(((progressValue - min) * 100) / (max - min));\n const shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;\n const accessibilityProps: Pick<\n AccessibilityProps,\n 'role' | 'label' | 'valueMax' | 'valueNow' | 'valueMin' | 'valueText'\n > = {\n role: 'progressbar',\n label: accessibilityLabel ?? label,\n valueNow: percentageProgressValue,\n valueText: `${percentageProgressValue}%`,\n valueMin: min,\n valueMax: max,\n };\n\n if (isMeter) {\n accessibilityProps.role = 'meter';\n accessibilityProps.valueNow = progressValue;\n accessibilityProps.valueText = `${progressValue}`;\n }\n\n if (isIndeterminate) {\n accessibilityProps.valueNow = undefined;\n accessibilityProps.valueMin = undefined;\n accessibilityProps.valueMax = undefined;\n accessibilityProps.valueText = undefined;\n }\n\n return (\n <BaseBox\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.ProgressBar, testID })}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n {!isCircular ? (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={hasLabel ? 'space-between' : 'flex-end'}\n >\n {hasLabel ? (\n <Text as=\"label\" variant=\"body\" size=\"small\" color=\"surface.text.gray.subtle\">\n {label}\n </Text>\n ) : null}\n {shouldShowPercentage ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text\n variant=\"body\"\n size=\"small\"\n color=\"surface.text.gray.subtle\"\n >{`${percentageProgressValue}%`}</Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n ) : null}\n\n <BaseBox\n id={id}\n {...makeAccessible({\n role: accessibilityProps.role,\n label: accessibilityProps.label,\n valueNow: accessibilityProps.valueNow,\n valueText: accessibilityProps.valueText,\n valueMin: accessibilityProps.valueMin,\n valueMax: accessibilityProps.valueMax,\n })}\n >\n {isCircular ? (\n <CircularProgressBarFilled\n size={size}\n label={label}\n progressPercent={percentageProgressValue}\n isMeter={isMeter}\n showPercentage={shouldShowPercentage}\n backgroundColor={unfilledBackgroundColor as string}\n fillColor={filledBackgroundColor}\n pulseMotionDuration=\"duration.2xgentle\"\n fillMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n />\n ) : (\n <BaseBox\n backgroundColor={unfilledBackgroundColor}\n height={makeSize(progressBarHeight[size])}\n overflow=\"hidden\"\n position=\"relative\"\n >\n <ProgressBarFilled\n backgroundColor={filledBackgroundColor}\n progress={percentageProgressValue}\n fillMotionDuration=\"duration.2xgentle\"\n pulseMotionDuration=\"duration.2xgentle\"\n indeterminateMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n type={progressType}\n isIndeterminate={isIndeterminate}\n />\n </BaseBox>\n )}\n </BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport type { ProgressBarProps, ProgressBarVariant };\nexport { ProgressBar };\n"],"names":["progressBarHeight","small","size","medium","large","ProgressBar","_ref","_label$trim","accessibilityLabel","color","type","_ref$isIndeterminate","isIndeterminate","label","_ref$showPercentage","showPercentage","_ref$size","_ref$value","value","_ref$variant","variant","_ref$min","min","_ref$max","max","testID","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","progressType","progressVariant","id","useId","concat","throwBladeError","moduleName","message","unfilledBackgroundColor","colors","feedback","background","neutral","subtle","filledBackgroundColor","intense","surface","primary","hasLabel","trim","length","isMeter","isCircular","progressValue","clamp","percentageProgressValue","Math","floor","shouldShowPercentage","accessibilityProps","role","valueNow","valueText","valueMin","valueMax","undefined","_jsx","BaseBox","_objectSpread","getStyledProps","metaAttribute","name","MetaConstants","children","_jsxs","display","flexDirection","width","justifyContent","Text","as","marginBottom","makeAccessible","CircularProgressBarFilled","progressPercent","backgroundColor","fillColor","pulseMotionDuration","fillMotionDuration","pulseMotionDelay","motionEasing","height","makeSize","overflow","position","ProgressBarFilled","progress","indeterminateMotionDuration"],"mappings":"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"}
@@ -46,11 +46,11 @@ var IndeterminatePulseAnimation = /*#__PURE__*/styled(BoxWithIndeterminateAnimat
46
46
  pulseMotionDuration = _ref4.pulseMotionDuration,
47
47
  pulseMotionDelay = _ref4.pulseMotionDelay,
48
48
  motionEasing = _ref4.motionEasing,
49
- variant = _ref4.variant;
49
+ type = _ref4.type;
50
50
  var duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));
51
51
  var easing = castWebType(getIn(theme.motion, motionEasing));
52
52
  var delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));
53
- return variant === 'progress' ? getPulseAnimationStyles({
53
+ return type === 'progress' ? getPulseAnimationStyles({
54
54
  duration: duration,
55
55
  easing: easing,
56
56
  delay: delay
@@ -89,11 +89,11 @@ var DeterminatePulseAnimation = /*#__PURE__*/styled(BoxWithProgressFillTransitio
89
89
  pulseMotionDuration = _ref7.pulseMotionDuration,
90
90
  pulseMotionDelay = _ref7.pulseMotionDelay,
91
91
  motionEasing = _ref7.motionEasing,
92
- variant = _ref7.variant;
92
+ type = _ref7.type;
93
93
  var duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));
94
94
  var easing = castWebType(getIn(theme.motion, motionEasing));
95
95
  var delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));
96
- return variant === 'progress' ? getPulseAnimationStyles({
96
+ return type === 'progress' ? getPulseAnimationStyles({
97
97
  duration: duration,
98
98
  easing: easing,
99
99
  delay: delay
@@ -107,7 +107,7 @@ var ProgressBarFilled = function ProgressBarFilled(_ref8) {
107
107
  pulseMotionDelay = _ref8.pulseMotionDelay,
108
108
  pulseMotionDuration = _ref8.pulseMotionDuration,
109
109
  indeterminateMotionDuration = _ref8.indeterminateMotionDuration,
110
- variant = _ref8.variant,
110
+ type = _ref8.type,
111
111
  isIndeterminate = _ref8.isIndeterminate;
112
112
  var ProgressBarFilledContainer = isIndeterminate ? IndeterminateFilledContainer : DeterminateFilledContainer;
113
113
  var ProgressBarPulseAnimation = isIndeterminate ? IndeterminatePulseAnimation : DeterminatePulseAnimation;
@@ -119,7 +119,7 @@ var ProgressBarFilled = function ProgressBarFilled(_ref8) {
119
119
  children: /*#__PURE__*/jsx(ProgressBarPulseAnimation, {
120
120
  fillMotionDuration: fillMotionDuration,
121
121
  motionEasing: motionEasing,
122
- variant: variant,
122
+ type: type,
123
123
  pulseMotionDelay: pulseMotionDelay,
124
124
  pulseMotionDuration: pulseMotionDuration
125
125
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBarFilled.web.js","sources":["../../../../../../src/components/ProgressBar/ProgressBarFilled.web.tsx"],"sourcesContent":["import type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport React from 'react';\nimport type { ProgressBarFilledProps } from './types';\nimport { indeterminateAnimation, pulseAnimation } from './progressBarTokens';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType } from '~utils';\nimport { makeMotionTime } from '~utils/makeMotionTime';\n\nconst pulseKeyframes = keyframes`\n 0% {\n opacity: ${pulseAnimation.opacityInitial};\n }\n 50% {\n opacity: ${pulseAnimation.opacityMid};\n }\n 100% {\n opacity: ${pulseAnimation.opacityFinal};\n }\n`;\n\nconst slideAndScaleKeyframes = keyframes`\n 0% {\n left: ${indeterminateAnimation.leftInitial};\n transform: scaleX(${indeterminateAnimation.scaleXInitial});\n }\n 50% {\n left: ${indeterminateAnimation.leftMid};\n transform: scaleX(${indeterminateAnimation.scaleXMid});\n }\n 100% {\n left: ${indeterminateAnimation.leftFinal};\n transform: scaleX(${indeterminateAnimation.scaleXFinal});\n }\n`;\n\nconst getPulseAnimationStyles = ({\n duration,\n easing,\n delay,\n}: {\n duration: string;\n easing: string;\n delay: string;\n}): FlattenSimpleInterpolation => css`\n height: 100%;\n width: 100%;\n opacity: ${pulseAnimation.opacityInitial};\n background-color: ${pulseAnimation.backgroundColor};\n animation: ${pulseKeyframes} ${duration} ${easing} infinite;\n animation-delay: ${delay};\n`;\n\nconst BoxWithIndeterminateAnimation = styled(BaseBox)<\n Pick<ProgressBarFilledProps, 'fillMotionDuration' | 'indeterminateMotionDuration'>\n>(({ theme, indeterminateMotionDuration }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, indeterminateMotionDuration)));\n const easing = 'linear'; // TODO: Add this in motion tokens\n\n return css`\n animation: ${slideAndScaleKeyframes} ${duration} ${easing} infinite;\n position: absolute;\n width: ${indeterminateAnimation.fillWidth};\n height: 100%;\n `;\n});\n\nconst IndeterminateFilledContainer = styled(BoxWithIndeterminateAnimation)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor }) => ({\n backgroundColor,\n}));\n\nconst IndeterminatePulseAnimation = styled(BoxWithIndeterminateAnimation)<\n Pick<\n ProgressBarFilledProps,\n 'pulseMotionDuration' | 'pulseMotionDelay' | 'motionEasing' | 'variant'\n >\n>(({ theme, pulseMotionDuration, pulseMotionDelay, motionEasing, variant }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));\n const easing = castWebType(getIn(theme.motion, motionEasing));\n const delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));\n\n return variant === 'progress' ? getPulseAnimationStyles({ duration, easing, delay }) : '';\n});\n\nconst BoxWithProgressFillTransition = styled(BaseBox)<\n Pick<ProgressBarFilledProps, 'fillMotionDuration' | 'motionEasing'>\n>(({ theme, fillMotionDuration, motionEasing }) => ({\n transitionProperty: 'width',\n transitionDuration: castWebType(makeMotionTime(getIn(theme.motion, fillMotionDuration))),\n transitionTimingFunction: castWebType(getIn(theme.motion, motionEasing)),\n}));\n\nconst DeterminateFilledContainer = styled(BoxWithProgressFillTransition)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress' | 'indeterminateMotionDuration'>\n>(({ backgroundColor, progress }) => ({\n backgroundColor,\n height: '100%',\n width: `${progress}%`,\n}));\n\nconst DeterminatePulseAnimation = styled(BoxWithProgressFillTransition)<\n Pick<\n ProgressBarFilledProps,\n 'pulseMotionDuration' | 'pulseMotionDelay' | 'motionEasing' | 'variant'\n >\n>(({ theme, pulseMotionDuration, pulseMotionDelay, motionEasing, variant }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));\n const easing = castWebType(getIn(theme.motion, motionEasing));\n const delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));\n\n return variant === 'progress' ? getPulseAnimationStyles({ duration, easing, delay }) : '';\n});\n\nconst ProgressBarFilled = ({\n backgroundColor,\n fillMotionDuration,\n motionEasing,\n progress,\n pulseMotionDelay,\n pulseMotionDuration,\n indeterminateMotionDuration,\n variant,\n isIndeterminate,\n}: ProgressBarFilledProps): React.ReactElement => {\n const ProgressBarFilledContainer = isIndeterminate\n ? IndeterminateFilledContainer\n : DeterminateFilledContainer;\n const ProgressBarPulseAnimation = isIndeterminate\n ? IndeterminatePulseAnimation\n : DeterminatePulseAnimation;\n\n return (\n <ProgressBarFilledContainer\n backgroundColor={backgroundColor}\n fillMotionDuration={fillMotionDuration}\n progress={progress}\n indeterminateMotionDuration={indeterminateMotionDuration}\n >\n <ProgressBarPulseAnimation\n fillMotionDuration={fillMotionDuration}\n motionEasing={motionEasing}\n variant={variant}\n pulseMotionDelay={pulseMotionDelay}\n pulseMotionDuration={pulseMotionDuration}\n />\n </ProgressBarFilledContainer>\n );\n};\n\nexport { ProgressBarFilled };\n"],"names":["pulseKeyframes","keyframes","pulseAnimation","opacityInitial","opacityMid","opacityFinal","slideAndScaleKeyframes","indeterminateAnimation","leftInitial","scaleXInitial","leftMid","scaleXMid","leftFinal","scaleXFinal","getPulseAnimationStyles","_ref","duration","easing","delay","css","backgroundColor","BoxWithIndeterminateAnimation","styled","BaseBox","withConfig","displayName","componentId","_ref2","theme","indeterminateMotionDuration","castWebType","makeMotionTime","getIn","motion","fillWidth","IndeterminateFilledContainer","_ref3","IndeterminatePulseAnimation","_ref4","pulseMotionDuration","pulseMotionDelay","motionEasing","variant","BoxWithProgressFillTransition","_ref5","fillMotionDuration","transitionProperty","transitionDuration","transitionTimingFunction","DeterminateFilledContainer","_ref6","progress","height","width","concat","DeterminatePulseAnimation","_ref7","ProgressBarFilled","_ref8","isIndeterminate","ProgressBarFilledContainer","ProgressBarPulseAnimation","_jsx","children"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBarFilled.web.js","sources":["../../../../../../src/components/ProgressBar/ProgressBarFilled.web.tsx"],"sourcesContent":["import type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport React from 'react';\nimport type { ProgressBarFilledProps } from './types';\nimport { indeterminateAnimation, pulseAnimation } from './progressBarTokens';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport { castWebType } from '~utils';\nimport { makeMotionTime } from '~utils/makeMotionTime';\n\nconst pulseKeyframes = keyframes`\n 0% {\n opacity: ${pulseAnimation.opacityInitial};\n }\n 50% {\n opacity: ${pulseAnimation.opacityMid};\n }\n 100% {\n opacity: ${pulseAnimation.opacityFinal};\n }\n`;\n\nconst slideAndScaleKeyframes = keyframes`\n 0% {\n left: ${indeterminateAnimation.leftInitial};\n transform: scaleX(${indeterminateAnimation.scaleXInitial});\n }\n 50% {\n left: ${indeterminateAnimation.leftMid};\n transform: scaleX(${indeterminateAnimation.scaleXMid});\n }\n 100% {\n left: ${indeterminateAnimation.leftFinal};\n transform: scaleX(${indeterminateAnimation.scaleXFinal});\n }\n`;\n\nconst getPulseAnimationStyles = ({\n duration,\n easing,\n delay,\n}: {\n duration: string;\n easing: string;\n delay: string;\n}): FlattenSimpleInterpolation => css`\n height: 100%;\n width: 100%;\n opacity: ${pulseAnimation.opacityInitial};\n background-color: ${pulseAnimation.backgroundColor};\n animation: ${pulseKeyframes} ${duration} ${easing} infinite;\n animation-delay: ${delay};\n`;\n\nconst BoxWithIndeterminateAnimation = styled(BaseBox)<\n Pick<ProgressBarFilledProps, 'fillMotionDuration' | 'indeterminateMotionDuration'>\n>(({ theme, indeterminateMotionDuration }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, indeterminateMotionDuration)));\n const easing = 'linear'; // TODO: Add this in motion tokens\n\n return css`\n animation: ${slideAndScaleKeyframes} ${duration} ${easing} infinite;\n position: absolute;\n width: ${indeterminateAnimation.fillWidth};\n height: 100%;\n `;\n});\n\nconst IndeterminateFilledContainer = styled(BoxWithIndeterminateAnimation)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor }) => ({\n backgroundColor,\n}));\n\nconst IndeterminatePulseAnimation = styled(BoxWithIndeterminateAnimation)<\n Pick<ProgressBarFilledProps, 'pulseMotionDuration' | 'pulseMotionDelay' | 'motionEasing' | 'type'>\n>(({ theme, pulseMotionDuration, pulseMotionDelay, motionEasing, type }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));\n const easing = castWebType(getIn(theme.motion, motionEasing));\n const delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));\n\n return type === 'progress' ? getPulseAnimationStyles({ duration, easing, delay }) : '';\n});\n\nconst BoxWithProgressFillTransition = styled(BaseBox)<\n Pick<ProgressBarFilledProps, 'fillMotionDuration' | 'motionEasing'>\n>(({ theme, fillMotionDuration, motionEasing }) => ({\n transitionProperty: 'width',\n transitionDuration: castWebType(makeMotionTime(getIn(theme.motion, fillMotionDuration))),\n transitionTimingFunction: castWebType(getIn(theme.motion, motionEasing)),\n}));\n\nconst DeterminateFilledContainer = styled(BoxWithProgressFillTransition)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress' | 'indeterminateMotionDuration'>\n>(({ backgroundColor, progress }) => ({\n backgroundColor,\n height: '100%',\n width: `${progress}%`,\n}));\n\nconst DeterminatePulseAnimation = styled(BoxWithProgressFillTransition)<\n Pick<ProgressBarFilledProps, 'pulseMotionDuration' | 'pulseMotionDelay' | 'motionEasing' | 'type'>\n>(({ theme, pulseMotionDuration, pulseMotionDelay, motionEasing, type }) => {\n const duration = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDuration)));\n const easing = castWebType(getIn(theme.motion, motionEasing));\n const delay = castWebType(makeMotionTime(getIn(theme.motion, pulseMotionDelay)));\n\n return type === 'progress' ? getPulseAnimationStyles({ duration, easing, delay }) : '';\n});\n\nconst ProgressBarFilled = ({\n backgroundColor,\n fillMotionDuration,\n motionEasing,\n progress,\n pulseMotionDelay,\n pulseMotionDuration,\n indeterminateMotionDuration,\n type,\n isIndeterminate,\n}: ProgressBarFilledProps): React.ReactElement => {\n const ProgressBarFilledContainer = isIndeterminate\n ? IndeterminateFilledContainer\n : DeterminateFilledContainer;\n const ProgressBarPulseAnimation = isIndeterminate\n ? IndeterminatePulseAnimation\n : DeterminatePulseAnimation;\n\n return (\n <ProgressBarFilledContainer\n backgroundColor={backgroundColor}\n fillMotionDuration={fillMotionDuration}\n progress={progress}\n indeterminateMotionDuration={indeterminateMotionDuration}\n >\n <ProgressBarPulseAnimation\n fillMotionDuration={fillMotionDuration}\n motionEasing={motionEasing}\n type={type}\n pulseMotionDelay={pulseMotionDelay}\n pulseMotionDuration={pulseMotionDuration}\n />\n </ProgressBarFilledContainer>\n );\n};\n\nexport { ProgressBarFilled };\n"],"names":["pulseKeyframes","keyframes","pulseAnimation","opacityInitial","opacityMid","opacityFinal","slideAndScaleKeyframes","indeterminateAnimation","leftInitial","scaleXInitial","leftMid","scaleXMid","leftFinal","scaleXFinal","getPulseAnimationStyles","_ref","duration","easing","delay","css","backgroundColor","BoxWithIndeterminateAnimation","styled","BaseBox","withConfig","displayName","componentId","_ref2","theme","indeterminateMotionDuration","castWebType","makeMotionTime","getIn","motion","fillWidth","IndeterminateFilledContainer","_ref3","IndeterminatePulseAnimation","_ref4","pulseMotionDuration","pulseMotionDelay","motionEasing","type","BoxWithProgressFillTransition","_ref5","fillMotionDuration","transitionProperty","transitionDuration","transitionTimingFunction","DeterminateFilledContainer","_ref6","progress","height","width","concat","DeterminatePulseAnimation","_ref7","ProgressBarFilled","_ref8","isIndeterminate","ProgressBarFilledContainer","ProgressBarPulseAnimation","_jsx","children"],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import '../../tokens/global/index.js';
2
+ import { size } from '../../tokens/global/size.js';
3
+
1
4
  var indeterminateAnimation = {
2
5
  scaleXInitial: 1,
3
6
  scaleXMid: 5,
@@ -13,6 +16,47 @@ var pulseAnimation = {
13
16
  opacityFinal: 0,
14
17
  backgroundColor: 'white'
15
18
  };
19
+ var circularProgressSizeTokens = {
20
+ small: {
21
+ size: size[24],
22
+ strokeWidth: size[3],
23
+ percentTextSize: 'small'
24
+ },
25
+ medium: {
26
+ size: size[48],
27
+ strokeWidth: size[5],
28
+ percentTextSize: 'small'
29
+ },
30
+ large: {
31
+ size: size[72],
32
+ strokeWidth: size[7],
33
+ percentTextSize: 'medium'
34
+ }
35
+ };
36
+ var getCircularProgressSVGTokens = function getCircularProgressSVGTokens(_ref) {
37
+ var size = _ref.size,
38
+ progressPercent = _ref.progressPercent;
39
+ // Size of the enclosing square
40
+ var sqSize = circularProgressSizeTokens[size].size;
41
+ var strokeWidth = circularProgressSizeTokens[size].strokeWidth;
42
+
43
+ // SVG centers the stroke width on the radius, subtract out so circle fits in square
44
+ var radius = (sqSize - strokeWidth) / 2;
45
+ // Enclose circle in a circumscribing square
46
+ var viewBox = "0 0 ".concat(sqSize, " ").concat(sqSize);
47
+ // Arc length at 100% coverage is the circle circumference
48
+ var dashArray = radius * Math.PI * 2;
49
+ // Scale 100% coverage overlay with the actual percent
50
+ var dashOffset = dashArray - dashArray * progressPercent / 100;
51
+ return {
52
+ sqSize: sqSize,
53
+ strokeWidth: strokeWidth,
54
+ radius: radius,
55
+ viewBox: viewBox,
56
+ dashArray: dashArray,
57
+ dashOffset: dashOffset
58
+ };
59
+ };
16
60
 
17
- export { indeterminateAnimation, pulseAnimation };
61
+ export { circularProgressSizeTokens, getCircularProgressSVGTokens, indeterminateAnimation, pulseAnimation };
18
62
  //# sourceMappingURL=progressBarTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progressBarTokens.js","sources":["../../../../../../src/components/ProgressBar/progressBarTokens.ts"],"sourcesContent":["const indeterminateAnimation = {\n scaleXInitial: 1,\n scaleXMid: 5,\n scaleXFinal: 1,\n leftInitial: '-8%',\n leftMid: '50%',\n leftFinal: '103%',\n fillWidth: '5%',\n};\n\nconst pulseAnimation = {\n opacityInitial: 0,\n opacityMid: 0.25,\n opacityFinal: 0,\n backgroundColor: 'white',\n};\n\nexport { indeterminateAnimation, pulseAnimation };\n"],"names":["indeterminateAnimation","scaleXInitial","scaleXMid","scaleXFinal","leftInitial","leftMid","leftFinal","fillWidth","pulseAnimation","opacityInitial","opacityMid","opacityFinal","backgroundColor"],"mappings":"AAAA,IAAMA,sBAAsB,GAAG;AAC7BC,EAAAA,aAAa,EAAE,CAAC;AAChBC,EAAAA,SAAS,EAAE,CAAC;AACZC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,OAAO,EAAE,KAAK;AACdC,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,SAAS,EAAE,IAAA;AACb,EAAC;AAED,IAAMC,cAAc,GAAG;AACrBC,EAAAA,cAAc,EAAE,CAAC;AACjBC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,eAAe,EAAE,OAAA;AACnB;;;;"}
1
+ {"version":3,"file":"progressBarTokens.js","sources":["../../../../../../src/components/ProgressBar/progressBarTokens.ts"],"sourcesContent":["import type { CircularProgressBarFilledProps } from './types';\nimport { size } from '~tokens/global';\n\nconst indeterminateAnimation = {\n scaleXInitial: 1,\n scaleXMid: 5,\n scaleXFinal: 1,\n leftInitial: '-8%',\n leftMid: '50%',\n leftFinal: '103%',\n fillWidth: '5%',\n};\n\nconst pulseAnimation = {\n opacityInitial: 0,\n opacityMid: 0.25,\n opacityFinal: 0,\n backgroundColor: 'white',\n};\n\nconst circularProgressSizeTokens = {\n small: {\n size: size[24],\n strokeWidth: size[3],\n percentTextSize: 'small',\n },\n medium: {\n size: size[48],\n strokeWidth: size[5],\n percentTextSize: 'small',\n },\n large: {\n size: size[72],\n strokeWidth: size[7],\n percentTextSize: 'medium',\n },\n} as const;\n\nconst getCircularProgressSVGTokens = ({\n size,\n progressPercent,\n}: {\n size: NonNullable<CircularProgressBarFilledProps['size']>;\n progressPercent: number;\n}): {\n sqSize: number;\n strokeWidth: number;\n radius: number;\n viewBox: string;\n dashArray: number;\n dashOffset: number;\n} => {\n // Size of the enclosing square\n const sqSize = circularProgressSizeTokens[size].size;\n const strokeWidth = circularProgressSizeTokens[size].strokeWidth;\n\n // SVG centers the stroke width on the radius, subtract out so circle fits in square\n const radius = (sqSize - strokeWidth) / 2;\n // Enclose circle in a circumscribing square\n const viewBox = `0 0 ${sqSize} ${sqSize}`;\n // Arc length at 100% coverage is the circle circumference\n const dashArray = radius * Math.PI * 2;\n // Scale 100% coverage overlay with the actual percent\n const dashOffset = dashArray - (dashArray * progressPercent) / 100;\n\n return {\n sqSize,\n strokeWidth,\n radius,\n viewBox,\n dashArray,\n dashOffset,\n };\n};\n\nexport {\n indeterminateAnimation,\n pulseAnimation,\n circularProgressSizeTokens,\n getCircularProgressSVGTokens,\n};\n"],"names":["indeterminateAnimation","scaleXInitial","scaleXMid","scaleXFinal","leftInitial","leftMid","leftFinal","fillWidth","pulseAnimation","opacityInitial","opacityMid","opacityFinal","backgroundColor","circularProgressSizeTokens","small","size","strokeWidth","percentTextSize","medium","large","getCircularProgressSVGTokens","_ref","progressPercent","sqSize","radius","viewBox","concat","dashArray","Math","PI","dashOffset"],"mappings":";;;AAGA,IAAMA,sBAAsB,GAAG;AAC7BC,EAAAA,aAAa,EAAE,CAAC;AAChBC,EAAAA,SAAS,EAAE,CAAC;AACZC,EAAAA,WAAW,EAAE,CAAC;AACdC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,OAAO,EAAE,KAAK;AACdC,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,SAAS,EAAE,IAAA;AACb,EAAC;AAED,IAAMC,cAAc,GAAG;AACrBC,EAAAA,cAAc,EAAE,CAAC;AACjBC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,YAAY,EAAE,CAAC;AACfC,EAAAA,eAAe,EAAE,OAAA;AACnB,EAAC;AAED,IAAMC,0BAA0B,GAAG;AACjCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEA,IAAI,CAAC,EAAE,CAAC;AACdC,IAAAA,WAAW,EAAED,IAAI,CAAC,CAAC,CAAC;AACpBE,IAAAA,eAAe,EAAE,OAAA;GAClB;AACDC,EAAAA,MAAM,EAAE;AACNH,IAAAA,IAAI,EAAEA,IAAI,CAAC,EAAE,CAAC;AACdC,IAAAA,WAAW,EAAED,IAAI,CAAC,CAAC,CAAC;AACpBE,IAAAA,eAAe,EAAE,OAAA;GAClB;AACDE,EAAAA,KAAK,EAAE;AACLJ,IAAAA,IAAI,EAAEA,IAAI,CAAC,EAAE,CAAC;AACdC,IAAAA,WAAW,EAAED,IAAI,CAAC,CAAC,CAAC;AACpBE,IAAAA,eAAe,EAAE,QAAA;AACnB,GAAA;AACF,EAAU;AAEV,IAAMG,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAC,IAAA,EAa7B;AAAA,EAAA,IAZHN,IAAI,GAAAM,IAAA,CAAJN,IAAI;IACJO,eAAe,GAAAD,IAAA,CAAfC,eAAe,CAAA;AAYf;AACA,EAAA,IAAMC,MAAM,GAAGV,0BAA0B,CAACE,IAAI,CAAC,CAACA,IAAI,CAAA;AACpD,EAAA,IAAMC,WAAW,GAAGH,0BAA0B,CAACE,IAAI,CAAC,CAACC,WAAW,CAAA;;AAEhE;AACA,EAAA,IAAMQ,MAAM,GAAG,CAACD,MAAM,GAAGP,WAAW,IAAI,CAAC,CAAA;AACzC;EACA,IAAMS,OAAO,UAAAC,MAAA,CAAUH,MAAM,EAAAG,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,MAAM,CAAE,CAAA;AACzC;EACA,IAAMI,SAAS,GAAGH,MAAM,GAAGI,IAAI,CAACC,EAAE,GAAG,CAAC,CAAA;AACtC;EACA,IAAMC,UAAU,GAAGH,SAAS,GAAIA,SAAS,GAAGL,eAAe,GAAI,GAAG,CAAA;EAElE,OAAO;AACLC,IAAAA,MAAM,EAANA,MAAM;AACNP,IAAAA,WAAW,EAAXA,WAAW;AACXQ,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,OAAO,EAAPA,OAAO;AACPE,IAAAA,SAAS,EAATA,SAAS;AACTG,IAAAA,UAAU,EAAVA,UAAAA;GACD,CAAA;AACH;;;;"}
@@ -16,6 +16,8 @@ var size = {
16
16
  5: 5,
17
17
  /** 6 px */
18
18
  6: 6,
19
+ /** 7 px */
20
+ 7: 7,
19
21
  /** 8 px */
20
22
  8: 8,
21
23
  /** 10 px */
@@ -46,6 +48,8 @@ var size = {
46
48
  56: 56,
47
49
  /** 64 px */
48
50
  64: 64,
51
+ /** 72 px */
52
+ 72: 72,
49
53
  /** 100 px */
50
54
  100: 100,
51
55
  /** 120 px */