@primer/styled-react 0.0.0-20251001212017 → 0.0.0-20251001212538
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/dist/components/Button.d.ts +13 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/IconButton.d.ts +9 -0
- package/dist/components/IconButton.d.ts.map +1 -0
- package/dist/components/PageHeader.d.ts.map +1 -1
- package/dist/components.json +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +136 -3
- package/dist/sx.d.ts +3 -0
- package/dist/sx.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ButtonProps as PrimerButtonProps } from '@primer/react';
|
|
2
|
+
import type { SxProp } from '../sx';
|
|
3
|
+
import type { BetterSystemStyleObject } from '../styled-props';
|
|
4
|
+
import type { ForwardRefComponent } from '../polymorphic';
|
|
5
|
+
type ButtonComponentProps = PrimerButtonProps & SxProp & {
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
};
|
|
8
|
+
declare const ButtonComponent: ForwardRefComponent<"button", ButtonComponentProps>;
|
|
9
|
+
export declare function generateCustomSxProp(props: Partial<Pick<PrimerButtonProps, 'size' | 'block' | 'leadingVisual' | 'trailingVisual' | 'trailingAction'>>, providedSx: BetterSystemStyleObject): {
|
|
10
|
+
[key: string]: BetterSystemStyleObject;
|
|
11
|
+
};
|
|
12
|
+
export { ButtonComponent, type ButtonComponentProps };
|
|
13
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,WAAW,IAAI,iBAAiB,EAAC,MAAM,eAAe,CAAA;AAC3F,OAAO,KAAK,EAAC,MAAM,EAAsB,MAAM,OAAO,CAAA;AACtD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,iBAAiB,CAAA;AAG5D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAEvD,KAAK,oBAAoB,GAAG,iBAAiB,GAAG,MAAM,GAAG;IAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CAAC,CAAA;AAoBjF,QAAA,MAAM,eAAe,EAEf,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AA0CzD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,EACjH,UAAU,EAAE,uBAAuB;;EAmBpC;AAID,OAAO,EAAC,eAAe,EAAE,KAAK,oBAAoB,EAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type IconButtonProps as PrimerIconButtonProps, type SxProp } from '@primer/react';
|
|
2
|
+
import { type ForwardRefComponent } from '../polymorphic';
|
|
3
|
+
type IconButtonProps = PrimerIconButtonProps & SxProp & {
|
|
4
|
+
as?: React.ElementType;
|
|
5
|
+
};
|
|
6
|
+
declare const IconButton: ForwardRefComponent<"a" | "button", IconButtonProps>;
|
|
7
|
+
export { IconButton };
|
|
8
|
+
export type { IconButtonProps };
|
|
9
|
+
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/components/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,eAAe,IAAI,qBAAqB,EAAE,KAAK,MAAM,EAAC,MAAM,eAAe,CAAA;AACxH,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAKvD,KAAK,eAAe,GAAG,qBAAqB,GAAG,MAAM,GAAG;IAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CAAC,CAAA;AAahF,QAAA,MAAM,UAAU,EAEV,mBAAmB,CAAC,GAAG,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAA;AAE1D,OAAO,EAAC,UAAU,EAAC,CAAA;AACnB,YAAY,EAAC,eAAe,EAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/components/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,gBAAgB,EAC9B,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,oBAAoB,IAAI,0BAA0B,EACvD,KAAK,sBAAsB,IAAI,4BAA4B,EAC3D,KAAK,wBAAwB,IAAI,8BAA8B,EAChE,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAK,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/components/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,gBAAgB,EAC9B,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,oBAAoB,IAAI,0BAA0B,EACvD,KAAK,sBAAsB,IAAI,4BAA4B,EAC3D,KAAK,wBAAwB,IAAI,8BAA8B,EAChE,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAK,KAAK,MAAM,EAA2B,MAAM,OAAO,CAAA;AAC/D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAA;AAEvD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,eAAe,GAAG,qBAAqB,GAAG,MAAM,CAAA;AAcrD,KAAK,sBAAsB,GAAG,4BAA4B,GAAG,MAAM,CAAA;AAEnE,iBAAS,iBAAiB,CAAC,EAAC,EAAE,EAAE,GAAG,IAAI,EAAC,EAAE,sBAAsB,qBAY/D;AAED,KAAK,oBAAoB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAA;AAwBlF,QAAA,MAAM,eAAe,GAAI,kBAAgB,oBAAoB,sBAE5D,CAAA;AAED,KAAK,wBAAwB,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,GAAG,MAAM,CAAA;AAE1F,QAAA,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,CAM7E,CAAA;AAED,KAAK,uBAAuB,GAAG,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG;IAC3E,OAAO,EAAE,OAAO,iBAAiB,CAAA;IACjC,WAAW,EAAE,OAAO,gBAAgB,CAAC,WAAW,CAAA;IAChD,UAAU,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAA;IAC9C,UAAU,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAA;IAC9C,SAAS,EAAE,OAAO,mBAAmB,CAAA;IACrC,kBAAkB,EAAE,OAAO,gBAAgB,CAAC,kBAAkB,CAAA;IAC9D,aAAa,EAAE,OAAO,gBAAgB,CAAC,aAAa,CAAA;IACpD,WAAW,EAAE,OAAO,gBAAgB,CAAC,WAAW,CAAA;IAChD,aAAa,EAAE,OAAO,gBAAgB,CAAC,aAAa,CAAA;IACpD,KAAK,EAAE,OAAO,eAAe,CAAA;IAC7B,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,CAAA;IACtD,WAAW,EAAE,OAAO,gBAAgB,CAAC,WAAW,CAAA;IAChD,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,CAAA;CACvD,CAAA;AAED,QAAA,MAAM,UAAU,EAAE,uBAchB,CAAA;AAEF,OAAO,EAAC,UAAU,EAAC,CAAA;AACnB,YAAY,EAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAC,CAAA"}
|
package/dist/components.json
CHANGED
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"BoxProps",
|
|
57
57
|
"BreadcrumbsItemProps",
|
|
58
58
|
"BreadcrumbsProps",
|
|
59
|
+
"ButtonProps",
|
|
59
60
|
"CheckboxGroupProps",
|
|
60
61
|
"CheckboxProps",
|
|
61
62
|
"CounterLabelProps",
|
|
@@ -63,6 +64,7 @@
|
|
|
63
64
|
"DialogProps",
|
|
64
65
|
"FormControlProps",
|
|
65
66
|
"HeaderProps",
|
|
67
|
+
"IconButtonProps",
|
|
66
68
|
"LabelProps",
|
|
67
69
|
"LinkButtonProps",
|
|
68
70
|
"LinkProps",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export { ActionList } from '@primer/react';
|
|
2
2
|
export { Box, type BoxProps } from './components/Box';
|
|
3
|
-
export { Button } from '@primer/react';
|
|
4
3
|
export { Details } from '@primer/react';
|
|
5
|
-
export { IconButton } from '@primer/react';
|
|
6
4
|
export { ProgressBar } from '@primer/react';
|
|
7
5
|
export { Select } from '@primer/react';
|
|
8
6
|
export { Textarea } from '@primer/react';
|
|
@@ -18,6 +16,7 @@ export { ActionMenu } from './components/ActionMenu';
|
|
|
18
16
|
export { Autocomplete, type AutocompleteOverlayProps } from './components/Autocomplete';
|
|
19
17
|
export { Avatar, type AvatarProps } from './components/Avatar';
|
|
20
18
|
export { Breadcrumbs, Breadcrumb, type BreadcrumbsProps, type BreadcrumbsItemProps } from './components/Breadcrumbs';
|
|
19
|
+
export { ButtonComponent as Button, type ButtonComponentProps as ButtonProps } from './components/Button';
|
|
21
20
|
export { Checkbox, type CheckboxProps } from './components/Checkbox';
|
|
22
21
|
export { CheckboxGroup, type CheckboxGroupProps } from './components/CheckboxGroup';
|
|
23
22
|
export { CircleBadge } from './components/CircleBadge';
|
|
@@ -27,6 +26,7 @@ export { Flash } from './components/Flash';
|
|
|
27
26
|
export { FormControl, type FormControlProps } from './components/FormControl';
|
|
28
27
|
export { Header, type HeaderProps } from './components/Header';
|
|
29
28
|
export { Heading } from './components/Heading';
|
|
29
|
+
export { IconButton, type IconButtonProps } from './components/IconButton';
|
|
30
30
|
export { Label, type LabelProps } from './components/Label';
|
|
31
31
|
export { Link, type LinkProps } from './components/Link';
|
|
32
32
|
export { LinkButton, type LinkButtonProps } from './components/LinkButton';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,GAAG,EAAE,KAAK,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ActionMenu as ActionMenu$1, sx, Autocomplete as Autocomplete$1, Box, Avatar as Avatar$1, Breadcrumbs as Breadcrumbs$1, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, CircleBadge as CircleBadge$1, CounterLabel as CounterLabel$1, Flash as Flash$1, FormControl as FormControl$1, Header as Header$1, Heading as Heading$1, Label as Label$1, Link as Link$1, LinkButton as LinkButton$1, NavList as NavList$1, Overlay as Overlay$1, PageLayout as PageLayout$1, RadioGroup as RadioGroup$1, RelativeTime as RelativeTime$1, SegmentedControl as SegmentedControl$1, Spinner as Spinner$1, StateLabel as StateLabel$1, SubNav as SubNav$1, Text as Text$1, Timeline as Timeline$1, ToggleSwitch as ToggleSwitch$1, useTheme, theme, Token as Token$1, Truncate as Truncate$1, UnderlineNav as UnderlineNav$1 } from '@primer/react';
|
|
2
|
-
export { ActionList, Box,
|
|
1
|
+
import { ActionMenu as ActionMenu$1, sx, Autocomplete as Autocomplete$1, Box, Avatar as Avatar$1, Breadcrumbs as Breadcrumbs$1, Button, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, CircleBadge as CircleBadge$1, CounterLabel as CounterLabel$1, Flash as Flash$1, FormControl as FormControl$1, Header as Header$1, Heading as Heading$1, IconButton as IconButton$1, Label as Label$1, Link as Link$1, LinkButton as LinkButton$1, NavList as NavList$1, Overlay as Overlay$1, PageLayout as PageLayout$1, RadioGroup as RadioGroup$1, RelativeTime as RelativeTime$1, SegmentedControl as SegmentedControl$1, Spinner as Spinner$1, StateLabel as StateLabel$1, SubNav as SubNav$1, Text as Text$1, Timeline as Timeline$1, ToggleSwitch as ToggleSwitch$1, useTheme, theme, Token as Token$1, Truncate as Truncate$1, UnderlineNav as UnderlineNav$1 } from '@primer/react';
|
|
2
|
+
export { ActionList, Box, Details, ProgressBar, Select, TextInput, Textarea, ThemeProvider, merge, sx, theme, themeGet, useColorSchemeVar, useTheme } from '@primer/react';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import React, { forwardRef } from 'react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -74,6 +74,108 @@ const Breadcrumbs = Object.assign(BreadcrumbsImpl, {
|
|
|
74
74
|
*/
|
|
75
75
|
const Breadcrumb = Breadcrumbs;
|
|
76
76
|
|
|
77
|
+
const StyledButtonComponent = /*#__PURE__*/forwardRef(({
|
|
78
|
+
sx,
|
|
79
|
+
...rest
|
|
80
|
+
}, ref) => {
|
|
81
|
+
const {
|
|
82
|
+
block,
|
|
83
|
+
size = 'medium',
|
|
84
|
+
leadingVisual,
|
|
85
|
+
trailingVisual,
|
|
86
|
+
trailingAction
|
|
87
|
+
} = rest;
|
|
88
|
+
let sxStyles = {};
|
|
89
|
+
const style = {};
|
|
90
|
+
if (sx !== null && Object.keys(sx || {}).length > 0) {
|
|
91
|
+
sxStyles = generateCustomSxProp({
|
|
92
|
+
block,
|
|
93
|
+
size,
|
|
94
|
+
leadingVisual,
|
|
95
|
+
trailingVisual,
|
|
96
|
+
trailingAction
|
|
97
|
+
}, sx);
|
|
98
|
+
const {
|
|
99
|
+
color
|
|
100
|
+
} = sx;
|
|
101
|
+
if (color) style['--button-color'] = color;
|
|
102
|
+
}
|
|
103
|
+
return /*#__PURE__*/jsx(Box, {
|
|
104
|
+
as: Button,
|
|
105
|
+
style: style,
|
|
106
|
+
sx: sxStyles,
|
|
107
|
+
ref: ref,
|
|
108
|
+
...rest
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
const ButtonComponent = /*#__PURE__*/forwardRef(({
|
|
112
|
+
as,
|
|
113
|
+
...props
|
|
114
|
+
}, ref) => /*#__PURE__*/jsx(StyledButtonComponent, {
|
|
115
|
+
ref: ref,
|
|
116
|
+
...props,
|
|
117
|
+
...(as ? {
|
|
118
|
+
forwardedAs: as
|
|
119
|
+
} : {})
|
|
120
|
+
}));
|
|
121
|
+
|
|
122
|
+
// This function is used to generate a custom cssSelector for the sxProp
|
|
123
|
+
|
|
124
|
+
// The usual sx prop can like this:
|
|
125
|
+
// sx={{
|
|
126
|
+
// [`@media (max-width: 768px)`]: {
|
|
127
|
+
// '& > ul': {
|
|
128
|
+
// backgroundColor: 'deeppink',
|
|
129
|
+
// },
|
|
130
|
+
// '&:hover': {
|
|
131
|
+
// backgroundColor: 'yellow',
|
|
132
|
+
// },
|
|
133
|
+
// },
|
|
134
|
+
// '&:hover': {
|
|
135
|
+
// backgroundColor: 'yellow',
|
|
136
|
+
// },
|
|
137
|
+
// '&': {
|
|
138
|
+
// width : 320px
|
|
139
|
+
// }
|
|
140
|
+
// }}
|
|
141
|
+
//*
|
|
142
|
+
/* What we want for Button styles is this:
|
|
143
|
+
sx={{
|
|
144
|
+
// [`@media (max-width: 768px)`]: {
|
|
145
|
+
// '&[data-attribute="something"] > ul': {
|
|
146
|
+
// backgroundColor: 'deeppink',
|
|
147
|
+
// },
|
|
148
|
+
// '&[data-attribute="something"]:hover': {
|
|
149
|
+
// backgroundColor: 'yellow',
|
|
150
|
+
// },
|
|
151
|
+
// },
|
|
152
|
+
// '&[data-attribute="something"]:hover': {
|
|
153
|
+
// backgroundColor: 'yellow',
|
|
154
|
+
// },
|
|
155
|
+
// '&[data-attribute="something"]': {
|
|
156
|
+
// width : 320px
|
|
157
|
+
// }
|
|
158
|
+
// }}
|
|
159
|
+
|
|
160
|
+
// We need to make sure we append the customCSSSelector to the original class selector. i.e & - > &[data-attribute="Icon"][data-size="small"]
|
|
161
|
+
*/
|
|
162
|
+
function generateCustomSxProp(props, providedSx) {
|
|
163
|
+
// Possible data attributes: data-size, data-block, data-no-visuals
|
|
164
|
+
const size = `[data-size="${props.size}"]`;
|
|
165
|
+
const block = props.block ? `[data-block="block"]` : '';
|
|
166
|
+
const noVisuals = props.leadingVisual || props.trailingVisual || props.trailingAction ? '' : '[data-no-visuals]';
|
|
167
|
+
|
|
168
|
+
// this is a custom selector. We need to make sure we add the data attributes to the base css class (& -> &[data-attributename="value"]])
|
|
169
|
+
const cssSelector = `&${size}${block}${noVisuals}`; // &[data-size="small"][data-block="block"][data-no-visuals]
|
|
170
|
+
|
|
171
|
+
const customSxProp = {};
|
|
172
|
+
if (!providedSx) return customSxProp;else {
|
|
173
|
+
customSxProp[cssSelector] = providedSx;
|
|
174
|
+
return customSxProp;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
ButtonComponent.displayName = 'Button';
|
|
178
|
+
|
|
77
179
|
const Checkbox = /*#__PURE__*/forwardRef(function Checkbox(props, ref) {
|
|
78
180
|
return /*#__PURE__*/jsx(Box, {
|
|
79
181
|
as: Checkbox$1,
|
|
@@ -222,6 +324,37 @@ const Heading = styled(Heading$1).withConfig({
|
|
|
222
324
|
componentId: "sc-1vc165i-0"
|
|
223
325
|
})(["", ""], sx);
|
|
224
326
|
|
|
327
|
+
const StyledIconButton = /*#__PURE__*/forwardRef(({
|
|
328
|
+
sx,
|
|
329
|
+
...rest
|
|
330
|
+
}, ref) => {
|
|
331
|
+
let sxStyles = sx;
|
|
332
|
+
// grap the button props that have associated data attributes in the styles
|
|
333
|
+
const {
|
|
334
|
+
size = 'medium'
|
|
335
|
+
} = rest;
|
|
336
|
+
if (sx !== null && sx !== undefined && Object.keys(sx).length > 0) {
|
|
337
|
+
sxStyles = generateCustomSxProp({
|
|
338
|
+
size
|
|
339
|
+
}, sx);
|
|
340
|
+
}
|
|
341
|
+
return /*#__PURE__*/jsx(Box, {
|
|
342
|
+
sx: sxStyles,
|
|
343
|
+
as: IconButton$1,
|
|
344
|
+
ref: ref,
|
|
345
|
+
...rest
|
|
346
|
+
});
|
|
347
|
+
});
|
|
348
|
+
const IconButton = ({
|
|
349
|
+
as,
|
|
350
|
+
...props
|
|
351
|
+
}) => /*#__PURE__*/jsx(StyledIconButton, {
|
|
352
|
+
...props,
|
|
353
|
+
...(as ? {
|
|
354
|
+
forwardedAs: as
|
|
355
|
+
} : {})
|
|
356
|
+
});
|
|
357
|
+
|
|
225
358
|
const StyledLabel = /*#__PURE__*/forwardRef(function Label(props, ref) {
|
|
226
359
|
return /*#__PURE__*/jsx(Box, {
|
|
227
360
|
as: Label$1,
|
|
@@ -602,4 +735,4 @@ const UnderlineNav = Object.assign(UnderlineNavImpl, {
|
|
|
602
735
|
Item: UnderlineNavItem
|
|
603
736
|
});
|
|
604
737
|
|
|
605
|
-
export { ActionMenu, Autocomplete, Avatar, Breadcrumb, Breadcrumbs, Checkbox, CheckboxGroup, CircleBadge, CounterLabel, Flash, FormControl, Header, Heading, Label, Link, LinkButton, NavList, Overlay, PageLayout, RadioGroup, RelativeTime, SegmentedControl, Spinner, StateLabel, SubNav, Text, Timeline, ToggleSwitch, Token, Truncate, UnderlineNav };
|
|
738
|
+
export { ActionMenu, Autocomplete, Avatar, Breadcrumb, Breadcrumbs, ButtonComponent as Button, Checkbox, CheckboxGroup, CircleBadge, CounterLabel, Flash, FormControl, Header, Heading, IconButton, Label, Link, LinkButton, NavList, Overlay, PageLayout, RadioGroup, RelativeTime, SegmentedControl, Spinner, StateLabel, SubNav, Text, Timeline, ToggleSwitch, Token, Truncate, UnderlineNav };
|
package/dist/sx.d.ts
CHANGED
package/dist/sx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sx.d.ts","sourceRoot":"","sources":["../src/sx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,KAAK,MAAM,EAAC,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"sx.d.ts","sourceRoot":"","sources":["../src/sx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,KAAK,MAAM,EAAC,MAAM,eAAe,CAAA;AAC7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;CACtC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primer/styled-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-20251001212538",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@babel/preset-react": "^7.27.1",
|
|
32
32
|
"@babel/preset-typescript": "^7.27.1",
|
|
33
|
-
"@primer/react": "0.0.0-
|
|
33
|
+
"@primer/react": "0.0.0-20251001212538",
|
|
34
34
|
"@rollup/plugin-babel": "^6.0.4",
|
|
35
35
|
"@types/react": "18.3.11",
|
|
36
36
|
"@types/react-dom": "18.3.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"typescript": "^5.9.2"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@primer/react": "0.0.0-
|
|
49
|
+
"@primer/react": "0.0.0-20251001212538",
|
|
50
50
|
"@types/react": "18.x || 19.x",
|
|
51
51
|
"@types/react-dom": "18.x || 19.x",
|
|
52
52
|
"@types/react-is": "18.x || 19.x",
|