@primer/react 37.32.0-rc.f648ca0d1 → 38.0.0-rc.0

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 (50) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/browser.esm.js +2 -2
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +2 -2
  5. package/dist/browser.umd.js.map +1 -1
  6. package/dist/components.css +4 -3
  7. package/generated/components.json +29 -25
  8. package/lib/Autocomplete/AutocompleteMenu.js +7 -7
  9. package/lib/CircleOcticon/CircleOcticon.d.ts +3 -0
  10. package/lib/CircleOcticon/CircleOcticon.d.ts.map +1 -1
  11. package/lib/CircleOcticon/CircleOcticon.js +3 -0
  12. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts +8 -0
  13. package/lib/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -1
  14. package/lib/ConfirmationDialog/ConfirmationDialog.js +6 -2
  15. package/lib/ProgressBar/ProgressBar-a0957632.css +2 -0
  16. package/lib/ProgressBar/ProgressBar-a0957632.css.map +1 -0
  17. package/lib/ProgressBar/ProgressBar.d.ts.map +1 -1
  18. package/lib/ProgressBar/ProgressBar.js +53 -49
  19. package/lib/ProgressBar/ProgressBar.module.css.js +1 -1
  20. package/{lib-esm/Radio/Radio-b2a92b7d.css → lib/Radio/Radio-df9a5c02.css} +2 -2
  21. package/{lib-esm/Radio/Radio-b2a92b7d.css.map → lib/Radio/Radio-df9a5c02.css.map} +1 -1
  22. package/lib/Radio/Radio.module.css.js +1 -1
  23. package/lib/Select/Select.js +61 -53
  24. package/lib/SelectPanel/SelectPanel.js +2 -2
  25. package/lib/SubNav/SubNav.d.ts +8 -16
  26. package/lib/SubNav/SubNav.d.ts.map +1 -1
  27. package/lib/SubNav/SubNav.js +3 -6
  28. package/lib-esm/Autocomplete/AutocompleteMenu.js +1 -1
  29. package/lib-esm/CircleOcticon/CircleOcticon.d.ts +3 -0
  30. package/lib-esm/CircleOcticon/CircleOcticon.js +3 -0
  31. package/lib-esm/ConfirmationDialog/ConfirmationDialog.d.ts +8 -0
  32. package/lib-esm/ConfirmationDialog/ConfirmationDialog.js +6 -2
  33. package/lib-esm/ProgressBar/ProgressBar-a0957632.css +2 -0
  34. package/lib-esm/ProgressBar/ProgressBar-a0957632.css.map +1 -0
  35. package/lib-esm/ProgressBar/ProgressBar.js +53 -49
  36. package/lib-esm/ProgressBar/ProgressBar.module.css.js +1 -1
  37. package/{lib/Radio/Radio-b2a92b7d.css → lib-esm/Radio/Radio-df9a5c02.css} +2 -2
  38. package/{lib/Radio/Radio-b2a92b7d.css.map → lib-esm/Radio/Radio-df9a5c02.css.map} +1 -1
  39. package/lib-esm/Radio/Radio.module.css.js +1 -1
  40. package/lib-esm/Select/Select.js +61 -53
  41. package/lib-esm/SelectPanel/SelectPanel.js +1 -1
  42. package/lib-esm/SubNav/SubNav.d.ts +8 -16
  43. package/lib-esm/SubNav/SubNav.js +3 -6
  44. package/package.json +3 -2
  45. package/lib/ProgressBar/ProgressBar-430cdef7.css +0 -2
  46. package/lib/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  47. package/lib/node_modules/@github/mini-throttle/dist/index.js +0 -43
  48. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css +0 -2
  49. package/lib-esm/ProgressBar/ProgressBar-430cdef7.css.map +0 -1
  50. package/lib-esm/node_modules/@github/mini-throttle/dist/index.js +0 -40
@@ -64,7 +64,7 @@ const ArrowIndicator = t0 => {
64
64
  };
65
65
  const Select = /*#__PURE__*/React.forwardRef((t0, ref) => {
66
66
  var _ref, _defaultValue;
67
- const $ = c(39);
67
+ const $ = c(41);
68
68
  let block;
69
69
  let children;
70
70
  let className;
@@ -119,93 +119,101 @@ const Select = /*#__PURE__*/React.forwardRef((t0, ref) => {
119
119
  sx = $[11];
120
120
  validationStatus = $[12];
121
121
  }
122
- const t1 = validationStatus === "error" ? "true" : "false";
123
- const t2 = disabled && classes.Disabled;
124
- let t3;
125
- if ($[13] !== className || $[14] !== t2) {
126
- t3 = clsx(className, classes.Select, t2);
122
+ let t1;
123
+ if ($[13] !== className) {
124
+ t1 = clsx(classes.TextInputWrapper, className);
127
125
  $[13] = className;
128
- $[14] = t2;
126
+ $[14] = t1;
127
+ } else {
128
+ t1 = $[14];
129
+ }
130
+ const t2 = validationStatus === "error" ? "true" : "false";
131
+ const t3 = disabled && classes.Disabled;
132
+ let t4;
133
+ if ($[15] !== t3) {
134
+ t4 = clsx(classes.Select, t3);
129
135
  $[15] = t3;
136
+ $[16] = t4;
130
137
  } else {
131
- t3 = $[15];
138
+ t4 = $[16];
132
139
  }
133
- const t4 = Boolean(placeholder);
134
- const t5 = (_ref = (_defaultValue = defaultValue) !== null && _defaultValue !== void 0 ? _defaultValue : placeholder) !== null && _ref !== void 0 ? _ref : undefined;
135
- let t6;
136
- if ($[16] !== placeholder || $[17] !== required) {
137
- t6 = placeholder && /*#__PURE__*/jsx("option", {
140
+ const t5 = Boolean(placeholder);
141
+ const t6 = (_ref = (_defaultValue = defaultValue) !== null && _defaultValue !== void 0 ? _defaultValue : placeholder) !== null && _ref !== void 0 ? _ref : undefined;
142
+ let t7;
143
+ if ($[17] !== placeholder || $[18] !== required) {
144
+ t7 = placeholder && /*#__PURE__*/jsx("option", {
138
145
  value: "",
139
146
  disabled: required,
140
147
  hidden: required,
141
148
  children: placeholder
142
149
  });
143
- $[16] = placeholder;
144
- $[17] = required;
145
- $[18] = t6;
150
+ $[17] = placeholder;
151
+ $[18] = required;
152
+ $[19] = t7;
146
153
  } else {
147
- t6 = $[18];
154
+ t7 = $[19];
148
155
  }
149
- let t7;
150
- if ($[19] !== children || $[20] !== disabled || $[21] !== ref || $[22] !== required || $[23] !== rest || $[24] !== t1 || $[25] !== t3 || $[26] !== t4 || $[27] !== t5 || $[28] !== t6) {
151
- t7 = /*#__PURE__*/jsxs("select", {
156
+ let t8;
157
+ if ($[20] !== children || $[21] !== disabled || $[22] !== ref || $[23] !== required || $[24] !== rest || $[25] !== t2 || $[26] !== t4 || $[27] !== t5 || $[28] !== t6 || $[29] !== t7) {
158
+ t8 = /*#__PURE__*/jsxs("select", {
152
159
  ...rest,
153
160
  ref: ref,
154
161
  required: required,
155
162
  disabled: disabled,
156
- "aria-invalid": t1,
157
- className: t3,
158
- "data-hasplaceholder": t4,
159
- defaultValue: t5,
160
- children: [t6, children]
163
+ "aria-invalid": t2,
164
+ className: t4,
165
+ "data-hasplaceholder": t5,
166
+ defaultValue: t6,
167
+ children: [t7, children]
161
168
  });
162
- $[19] = children;
163
- $[20] = disabled;
164
- $[21] = ref;
165
- $[22] = required;
166
- $[23] = rest;
167
- $[24] = t1;
168
- $[25] = t3;
169
+ $[20] = children;
170
+ $[21] = disabled;
171
+ $[22] = ref;
172
+ $[23] = required;
173
+ $[24] = rest;
174
+ $[25] = t2;
169
175
  $[26] = t4;
170
176
  $[27] = t5;
171
177
  $[28] = t6;
172
178
  $[29] = t7;
179
+ $[30] = t8;
173
180
  } else {
174
- t7 = $[29];
181
+ t8 = $[30];
175
182
  }
176
- let t8;
177
- if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
178
- t8 = /*#__PURE__*/jsx(ArrowIndicator, {
183
+ let t9;
184
+ if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
185
+ t9 = /*#__PURE__*/jsx(ArrowIndicator, {
179
186
  className: classes.ArrowIndicator
180
187
  });
181
- $[30] = t8;
188
+ $[31] = t9;
182
189
  } else {
183
- t8 = $[30];
190
+ t9 = $[31];
184
191
  }
185
- let t9;
186
- if ($[31] !== block || $[32] !== contrast || $[33] !== disabled || $[34] !== size || $[35] !== sx || $[36] !== t7 || $[37] !== validationStatus) {
187
- t9 = /*#__PURE__*/jsxs(TextInputWrapper, {
192
+ let t10;
193
+ if ($[32] !== block || $[33] !== contrast || $[34] !== disabled || $[35] !== size || $[36] !== sx || $[37] !== t1 || $[38] !== t8 || $[39] !== validationStatus) {
194
+ t10 = /*#__PURE__*/jsxs(TextInputWrapper, {
188
195
  block: block,
189
196
  contrast: contrast,
190
197
  disabled: disabled,
191
198
  size: size,
192
199
  validationStatus: validationStatus,
193
- className: classes.TextInputWrapper,
200
+ className: t1,
194
201
  sx: sx,
195
- children: [t7, t8]
202
+ children: [t8, t9]
196
203
  });
197
- $[31] = block;
198
- $[32] = contrast;
199
- $[33] = disabled;
200
- $[34] = size;
201
- $[35] = sx;
202
- $[36] = t7;
203
- $[37] = validationStatus;
204
- $[38] = t9;
204
+ $[32] = block;
205
+ $[33] = contrast;
206
+ $[34] = disabled;
207
+ $[35] = size;
208
+ $[36] = sx;
209
+ $[37] = t1;
210
+ $[38] = t8;
211
+ $[39] = validationStatus;
212
+ $[40] = t10;
205
213
  } else {
206
- t9 = $[38];
214
+ t10 = $[40];
207
215
  }
208
- return t9;
216
+ return t10;
209
217
  });
210
218
  const Option = props => {
211
219
  const $ = c(2);
@@ -11,7 +11,7 @@ import { FilteredActionListLoadingTypes } from '../FilteredActionList/FilteredAc
11
11
  import { announceFromElement, announce } from '@primer/live-region-element';
12
12
  import classes from './SelectPanel.module.css.js';
13
13
  import { clsx } from 'clsx';
14
- import { debounce } from '../node_modules/@github/mini-throttle/dist/index.js';
14
+ import { debounce } from '@github/mini-throttle';
15
15
  import { useResponsiveValue } from '../hooks/useResponsiveValue.js';
16
16
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
17
17
  import { useFeatureFlag } from '../FeatureFlags/useFeatureFlag.js';
@@ -1,27 +1,19 @@
1
1
  import type { To } from 'history';
2
2
  import React from 'react';
3
- import type { ComponentProps } from '../utils/types';
4
- import type { SxProp } from '../sx';
5
- type StyledSubNavProps = React.ComponentProps<'nav'> & {
3
+ export type SubNavProps = React.ComponentProps<'nav'> & {
6
4
  actions?: React.ReactNode;
7
5
  align?: 'right';
8
6
  full?: boolean;
9
7
  label?: string;
10
- } & SxProp;
11
- type StyledSubNavLinksProps = React.ComponentProps<'div'> & SxProp;
12
- type StyledSubNavLinkProps = React.ComponentProps<'a'> & {
8
+ };
9
+ export type SubNavLinksProps = React.ComponentProps<'div'>;
10
+ export type SubNavLinkProps = React.ComponentProps<'a'> & {
13
11
  to?: To;
14
12
  selected?: boolean;
15
- } & SxProp;
16
- declare const SubNav: React.ForwardRefExoticComponent<Omit<StyledSubNavProps, "ref"> & React.RefAttributes<HTMLElement>>;
17
- declare const SubNavLinks: React.ForwardRefExoticComponent<Omit<StyledSubNavLinksProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
- declare const SubNavLink: React.ForwardRefExoticComponent<Omit<StyledSubNavLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
19
- export type SubNavProps = ComponentProps<typeof SubNav>;
20
- export type SubNavLinksProps = ComponentProps<typeof SubNavLinks>;
21
- export type SubNavLinkProps = ComponentProps<typeof SubNavLink>;
22
- declare const _default: React.ForwardRefExoticComponent<Omit<StyledSubNavProps, "ref"> & React.RefAttributes<HTMLElement>> & {
23
- Link: React.ForwardRefExoticComponent<Omit<StyledSubNavLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
24
- Links: React.ForwardRefExoticComponent<Omit<StyledSubNavLinksProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ };
14
+ declare const _default: React.ForwardRefExoticComponent<Omit<SubNavProps, "ref"> & React.RefAttributes<HTMLElement>> & {
15
+ Link: React.ForwardRefExoticComponent<Omit<SubNavLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
16
+ Links: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
25
17
  };
26
18
  export default _default;
27
19
  //# sourceMappingURL=SubNav.d.ts.map
@@ -2,7 +2,6 @@ import { c } from 'react-compiler-runtime';
2
2
  import { clsx } from 'clsx';
3
3
  import React from 'react';
4
4
  import styles from './SubNav.module.css.js';
5
- import { BoxWithFallback } from '../internal/components/BoxWithFallback.js';
6
5
  import { jsx, jsxs } from 'react/jsx-runtime';
7
6
 
8
7
  const SubNav = /*#__PURE__*/React.forwardRef(function SubNav(t0, forwardRef) {
@@ -72,8 +71,7 @@ const SubNav = /*#__PURE__*/React.forwardRef(function SubNav(t0, forwardRef) {
72
71
  }
73
72
  let t5;
74
73
  if ($[13] !== forwardRef || $[14] !== label || $[15] !== rest || $[16] !== t1 || $[17] !== t3 || $[18] !== t4) {
75
- t5 = /*#__PURE__*/jsxs(BoxWithFallback, {
76
- as: "nav",
74
+ t5 = /*#__PURE__*/jsxs("nav", {
77
75
  ref: forwardRef,
78
76
  className: t1,
79
77
  "aria-label": label,
@@ -126,7 +124,7 @@ const SubNavLinks = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
126
124
  }
127
125
  let t2;
128
126
  if ($[6] !== children || $[7] !== forwardRef || $[8] !== rest || $[9] !== t1) {
129
- t2 = /*#__PURE__*/jsx(BoxWithFallback, {
127
+ t2 = /*#__PURE__*/jsx("div", {
130
128
  ref: forwardRef,
131
129
  className: t1,
132
130
  ...rest,
@@ -176,8 +174,7 @@ const SubNavLink = /*#__PURE__*/React.forwardRef((t0, forwardRef) => {
176
174
  }
177
175
  let t2;
178
176
  if ($[6] !== children || $[7] !== forwardRef || $[8] !== rest || $[9] !== t1) {
179
- t2 = /*#__PURE__*/jsx(BoxWithFallback, {
180
- as: "a",
177
+ t2 = /*#__PURE__*/jsx("a", {
181
178
  ref: forwardRef,
182
179
  className: t1,
183
180
  "data-selected": rest.selected,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/react",
3
- "version": "37.32.0-rc.f648ca0d1",
3
+ "version": "38.0.0-rc.0",
4
4
  "description": "An implementation of GitHub's Primer Design System using React",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -82,8 +82,9 @@
82
82
  "npm": ">=7"
83
83
  },
84
84
  "dependencies": {
85
+ "@github/mini-throttle": "^2.1.1",
85
86
  "@github/relative-time-element": "^4.4.5",
86
- "@github/tab-container-element": "4.8.2",
87
+ "@github/tab-container-element": "^4.8.2",
87
88
  "@lit-labs/react": "1.2.1",
88
89
  "@oddbird/popover-polyfill": "^0.5.2",
89
90
  "@primer/behaviors": "^1.8.0",
@@ -1,2 +0,0 @@
1
- @keyframes prc-ProgressBar-shimmer-i1RxN{0%{mask-position:200%}to{mask-position:0}}.prc-ProgressBar-ProgressBarItem-stL6O{background-color:var(--progress-bg);width:var(--progress-width)}@media (prefers-reduced-motion:no-preference){.prc-ProgressBar-ProgressBarItem-stL6O[data-animated=true]{animation-duration:1s;animation-iteration-count:infinite;animation-name:prc-ProgressBar-shimmer-i1RxN;mask-image:linear-gradient(75deg,#000 30%,rgba(0,0,0,.65) 80%);mask-size:200%}}.prc-ProgressBar-ProgressBarContainer-E-z8S{background-color:var(--borderColor-default,var(--color-border-default));border-radius:var(--borderRadius-small,.1875rem);display:flex;gap:2px;overflow:hidden}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-display=inline]){display:inline-flex}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=default]){height:8px}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=small]){height:5px}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=large]){height:10px}
2
- /*# sourceMappingURL=ProgressBar-430cdef7.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ProgressBar/ProgressBar.module.css"],"names":[],"mappings":"AAAA,yCACE,GACE,kBACF,CAEA,GACE,eACF,CACF,CAEA,uCAGE,mCAAoC,CAFpC,2BAaF,CATE,8CACE,2DAIE,qBAAsB,CACtB,kCAAmC,CAFnC,4CAAuB,CAFvB,8DAAqE,CACrE,cAIF,CACF,CAGF,4CAIE,uEAA4C,CAC5C,gDAAwC,CAJxC,YAAa,CAKb,OAAQ,CAJR,eAqBF,CAfE,kFACE,mBACF,CAEA,oFACE,UACF,CAEA,kFACE,UACF,CAEA,kFACE,WACF","file":"ProgressBar-430cdef7.css","sourcesContent":["@keyframes shimmer {\n from {\n mask-position: 200%;\n }\n\n to {\n mask-position: 0%;\n }\n}\n\n.ProgressBarItem {\n width: var(--progress-width);\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--progress-bg);\n\n @media (prefers-reduced-motion: no-preference) {\n &[data-animated='true'] {\n mask-image: linear-gradient(75deg, #000 30%, rgba(0, 0, 0, 0.65) 80%);\n mask-size: 200%;\n animation-name: shimmer;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n }\n }\n}\n\n.ProgressBarContainer {\n display: flex;\n overflow: hidden;\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--borderColor-default);\n border-radius: var(--borderRadius-small);\n gap: 2px;\n\n &:where([data-progress-display='inline']) {\n display: inline-flex;\n }\n\n &:where([data-progress-bar-size='default']) {\n height: 8px;\n }\n\n &:where([data-progress-bar-size='small']) {\n height: 5px;\n }\n\n &:where([data-progress-bar-size='large']) {\n height: 10px;\n }\n}\n"]}
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- function throttle(callback, wait = 0, { start = true, middle = true, once = false } = {}) {
4
- let innerStart = start;
5
- let last = 0;
6
- let timer;
7
- let cancelled = false;
8
- function fn(...args) {
9
- if (cancelled)
10
- return;
11
- const delta = Date.now() - last;
12
- last = Date.now();
13
- if (start && middle && delta >= wait) {
14
- innerStart = true;
15
- }
16
- if (innerStart) {
17
- innerStart = false;
18
- callback.apply(this, args);
19
- if (once)
20
- fn.cancel();
21
- }
22
- else if ((middle && delta < wait) || !middle) {
23
- clearTimeout(timer);
24
- timer = setTimeout(() => {
25
- last = Date.now();
26
- callback.apply(this, args);
27
- if (once)
28
- fn.cancel();
29
- }, !middle ? wait : wait - delta);
30
- }
31
- }
32
- fn.cancel = () => {
33
- clearTimeout(timer);
34
- cancelled = true;
35
- };
36
- return fn;
37
- }
38
- function debounce(callback, wait = 0, { start = false, middle = false, once = false } = {}) {
39
- return throttle(callback, wait, { start, middle, once });
40
- }
41
-
42
- exports.debounce = debounce;
43
- exports.throttle = throttle;
@@ -1,2 +0,0 @@
1
- @keyframes prc-ProgressBar-shimmer-i1RxN{0%{mask-position:200%}to{mask-position:0}}.prc-ProgressBar-ProgressBarItem-stL6O{background-color:var(--progress-bg);width:var(--progress-width)}@media (prefers-reduced-motion:no-preference){.prc-ProgressBar-ProgressBarItem-stL6O[data-animated=true]{animation-duration:1s;animation-iteration-count:infinite;animation-name:prc-ProgressBar-shimmer-i1RxN;mask-image:linear-gradient(75deg,#000 30%,rgba(0,0,0,.65) 80%);mask-size:200%}}.prc-ProgressBar-ProgressBarContainer-E-z8S{background-color:var(--borderColor-default,var(--color-border-default));border-radius:var(--borderRadius-small,.1875rem);display:flex;gap:2px;overflow:hidden}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-display=inline]){display:inline-flex}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=default]){height:8px}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=small]){height:5px}.prc-ProgressBar-ProgressBarContainer-E-z8S:where([data-progress-bar-size=large]){height:10px}
2
- /*# sourceMappingURL=ProgressBar-430cdef7.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ProgressBar/ProgressBar.module.css"],"names":[],"mappings":"AAAA,yCACE,GACE,kBACF,CAEA,GACE,eACF,CACF,CAEA,uCAGE,mCAAoC,CAFpC,2BAaF,CATE,8CACE,2DAIE,qBAAsB,CACtB,kCAAmC,CAFnC,4CAAuB,CAFvB,8DAAqE,CACrE,cAIF,CACF,CAGF,4CAIE,uEAA4C,CAC5C,gDAAwC,CAJxC,YAAa,CAKb,OAAQ,CAJR,eAqBF,CAfE,kFACE,mBACF,CAEA,oFACE,UACF,CAEA,kFACE,UACF,CAEA,kFACE,WACF","file":"ProgressBar-430cdef7.css","sourcesContent":["@keyframes shimmer {\n from {\n mask-position: 200%;\n }\n\n to {\n mask-position: 0%;\n }\n}\n\n.ProgressBarItem {\n width: var(--progress-width);\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--progress-bg);\n\n @media (prefers-reduced-motion: no-preference) {\n &[data-animated='true'] {\n mask-image: linear-gradient(75deg, #000 30%, rgba(0, 0, 0, 0.65) 80%);\n mask-size: 200%;\n animation-name: shimmer;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n }\n }\n}\n\n.ProgressBarContainer {\n display: flex;\n overflow: hidden;\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--borderColor-default);\n border-radius: var(--borderRadius-small);\n gap: 2px;\n\n &:where([data-progress-display='inline']) {\n display: inline-flex;\n }\n\n &:where([data-progress-bar-size='default']) {\n height: 8px;\n }\n\n &:where([data-progress-bar-size='small']) {\n height: 5px;\n }\n\n &:where([data-progress-bar-size='large']) {\n height: 10px;\n }\n}\n"]}
@@ -1,40 +0,0 @@
1
- function throttle(callback, wait = 0, { start = true, middle = true, once = false } = {}) {
2
- let innerStart = start;
3
- let last = 0;
4
- let timer;
5
- let cancelled = false;
6
- function fn(...args) {
7
- if (cancelled)
8
- return;
9
- const delta = Date.now() - last;
10
- last = Date.now();
11
- if (start && middle && delta >= wait) {
12
- innerStart = true;
13
- }
14
- if (innerStart) {
15
- innerStart = false;
16
- callback.apply(this, args);
17
- if (once)
18
- fn.cancel();
19
- }
20
- else if ((middle && delta < wait) || !middle) {
21
- clearTimeout(timer);
22
- timer = setTimeout(() => {
23
- last = Date.now();
24
- callback.apply(this, args);
25
- if (once)
26
- fn.cancel();
27
- }, !middle ? wait : wait - delta);
28
- }
29
- }
30
- fn.cancel = () => {
31
- clearTimeout(timer);
32
- cancelled = true;
33
- };
34
- return fn;
35
- }
36
- function debounce(callback, wait = 0, { start = false, middle = false, once = false } = {}) {
37
- return throttle(callback, wait, { start, middle, once });
38
- }
39
-
40
- export { debounce, throttle };