@spark-web/row 2.0.0-rc.0 → 2.0.0-rc.10
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/CHANGELOG.md +140 -0
- package/dist/declarations/src/alignment.d.ts +26 -0
- package/dist/declarations/src/index.d.ts +2 -0
- package/dist/declarations/src/row.d.ts +30 -0
- package/dist/spark-web-row.cjs.d.ts +2 -2
- package/dist/spark-web-row.cjs.dev.js +72 -0
- package/dist/spark-web-row.cjs.js +6 -15
- package/dist/spark-web-row.cjs.prod.js +72 -0
- package/dist/spark-web-row.esm.js +68 -0
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,145 @@
|
|
|
1
1
|
# @spark-web/row
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.10
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- test
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies []:
|
|
12
|
+
- @spark-web/divider@2.0.0-rc.10
|
|
13
|
+
- @spark-web/theme@4.0.0-rc.10
|
|
14
|
+
- @spark-web/utils@2.0.0-rc.10
|
|
15
|
+
- @spark-web/box@2.0.0-rc.10
|
|
16
|
+
|
|
17
|
+
## 2.0.0-rc.9
|
|
18
|
+
|
|
19
|
+
### Major Changes
|
|
20
|
+
|
|
21
|
+
- test
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies []:
|
|
26
|
+
- @spark-web/divider@2.0.0-rc.9
|
|
27
|
+
- @spark-web/theme@4.0.0-rc.9
|
|
28
|
+
- @spark-web/utils@2.0.0-rc.9
|
|
29
|
+
- @spark-web/box@2.0.0-rc.9
|
|
30
|
+
|
|
31
|
+
## 2.0.0-rc.8
|
|
32
|
+
|
|
33
|
+
### Major Changes
|
|
34
|
+
|
|
35
|
+
- test
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies []:
|
|
40
|
+
- @spark-web/divider@2.0.0-rc.8
|
|
41
|
+
- @spark-web/theme@4.0.0-rc.8
|
|
42
|
+
- @spark-web/utils@2.0.0-rc.8
|
|
43
|
+
- @spark-web/box@2.0.0-rc.8
|
|
44
|
+
|
|
45
|
+
## 2.0.0-rc.7
|
|
46
|
+
|
|
47
|
+
### Major Changes
|
|
48
|
+
|
|
49
|
+
- test
|
|
50
|
+
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- Updated dependencies []:
|
|
54
|
+
- @spark-web/divider@2.0.0-rc.7
|
|
55
|
+
- @spark-web/theme@4.0.0-rc.7
|
|
56
|
+
- @spark-web/utils@2.0.0-rc.7
|
|
57
|
+
- @spark-web/box@2.0.0-rc.7
|
|
58
|
+
|
|
59
|
+
## 2.0.0-rc.6
|
|
60
|
+
|
|
61
|
+
### Major Changes
|
|
62
|
+
|
|
63
|
+
- test
|
|
64
|
+
|
|
65
|
+
### Patch Changes
|
|
66
|
+
|
|
67
|
+
- Updated dependencies []:
|
|
68
|
+
- @spark-web/divider@2.0.0-rc.6
|
|
69
|
+
- @spark-web/theme@4.0.0-rc.6
|
|
70
|
+
- @spark-web/utils@2.0.0-rc.6
|
|
71
|
+
- @spark-web/box@2.0.0-rc.6
|
|
72
|
+
|
|
73
|
+
## 2.0.0-rc.5
|
|
74
|
+
|
|
75
|
+
### Major Changes
|
|
76
|
+
|
|
77
|
+
- test
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- Updated dependencies []:
|
|
82
|
+
- @spark-web/divider@2.0.0-rc.5
|
|
83
|
+
- @spark-web/theme@4.0.0-rc.5
|
|
84
|
+
- @spark-web/utils@2.0.0-rc.5
|
|
85
|
+
- @spark-web/box@2.0.0-rc.5
|
|
86
|
+
|
|
87
|
+
## 2.0.0-rc.4
|
|
88
|
+
|
|
89
|
+
### Major Changes
|
|
90
|
+
|
|
91
|
+
- bug
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- Updated dependencies []:
|
|
96
|
+
- @spark-web/divider@2.0.0-rc.4
|
|
97
|
+
- @spark-web/theme@4.0.0-rc.4
|
|
98
|
+
- @spark-web/utils@2.0.0-rc.4
|
|
99
|
+
- @spark-web/box@2.0.0-rc.4
|
|
100
|
+
|
|
101
|
+
## 2.0.0-rc.3
|
|
102
|
+
|
|
103
|
+
### Major Changes
|
|
104
|
+
|
|
105
|
+
- upgrade package
|
|
106
|
+
|
|
107
|
+
### Patch Changes
|
|
108
|
+
|
|
109
|
+
- Updated dependencies []:
|
|
110
|
+
- @spark-web/divider@2.0.0-rc.3
|
|
111
|
+
- @spark-web/theme@4.0.0-rc.3
|
|
112
|
+
- @spark-web/utils@2.0.0-rc.3
|
|
113
|
+
- @spark-web/box@2.0.0-rc.3
|
|
114
|
+
|
|
115
|
+
## 2.0.0-rc.2
|
|
116
|
+
|
|
117
|
+
### Major Changes
|
|
118
|
+
|
|
119
|
+
- add parser
|
|
120
|
+
|
|
121
|
+
### Patch Changes
|
|
122
|
+
|
|
123
|
+
- Updated dependencies []:
|
|
124
|
+
- @spark-web/divider@2.0.0-rc.2
|
|
125
|
+
- @spark-web/theme@4.0.0-rc.2
|
|
126
|
+
- @spark-web/utils@2.0.0-rc.2
|
|
127
|
+
- @spark-web/box@2.0.0-rc.2
|
|
128
|
+
|
|
129
|
+
## 2.0.0-rc.1
|
|
130
|
+
|
|
131
|
+
### Major Changes
|
|
132
|
+
|
|
133
|
+
- rc
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- Updated dependencies []:
|
|
138
|
+
- @spark-web/divider@2.0.0-rc.1
|
|
139
|
+
- @spark-web/theme@4.0.0-rc.1
|
|
140
|
+
- @spark-web/utils@2.0.0-rc.1
|
|
141
|
+
- @spark-web/box@2.0.0-rc.1
|
|
142
|
+
|
|
3
143
|
## 2.0.0-rc.0
|
|
4
144
|
|
|
5
145
|
### Major Changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare const alignLookup: {
|
|
2
|
+
readonly left: "start";
|
|
3
|
+
readonly center: "center";
|
|
4
|
+
readonly right: "end";
|
|
5
|
+
};
|
|
6
|
+
declare const alignYLookup: {
|
|
7
|
+
readonly top: "start";
|
|
8
|
+
readonly center: "center";
|
|
9
|
+
readonly bottom: "end";
|
|
10
|
+
readonly stretch: "stretch";
|
|
11
|
+
};
|
|
12
|
+
export declare type Align = keyof typeof alignLookup;
|
|
13
|
+
export declare type AlignY = keyof typeof alignYLookup;
|
|
14
|
+
export declare const alignToJustifyContent: (prop?: import("@spark-web/theme").ResponsiveProp<"left" | "right" | "center"> | undefined) => "center" | "start" | "end" | {
|
|
15
|
+
mobile: "center" | "start" | "end" | undefined;
|
|
16
|
+
tablet: "center" | "start" | "end" | undefined;
|
|
17
|
+
desktop: "center" | "start" | "end" | undefined;
|
|
18
|
+
wide: "center" | "start" | "end" | undefined;
|
|
19
|
+
} | undefined;
|
|
20
|
+
export declare const alignYToAlignItems: (prop?: import("@spark-web/theme").ResponsiveProp<"bottom" | "top" | "center" | "stretch"> | undefined) => "center" | "stretch" | "start" | "end" | {
|
|
21
|
+
mobile: "center" | "stretch" | "start" | "end" | undefined;
|
|
22
|
+
tablet: "center" | "stretch" | "start" | "end" | undefined;
|
|
23
|
+
desktop: "center" | "stretch" | "start" | "end" | undefined;
|
|
24
|
+
wide: "center" | "stretch" | "start" | "end" | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BoxProps } from '@spark-web/box';
|
|
2
|
+
import type { ResponsiveProp } from '@spark-web/theme';
|
|
3
|
+
import type { DataAttributeMap } from '@spark-web/utils/internal';
|
|
4
|
+
import type { ReactElement } from 'react';
|
|
5
|
+
import type { Align, AlignY } from "./alignment.js";
|
|
6
|
+
declare type ValidBoxProps = Omit<BoxProps, 'display' | 'alignItems' | 'flexDirection' | 'justifyContent' | 'flexWrap' | 'dangerouslySetInnerHTML'>;
|
|
7
|
+
export declare type RowProps = {
|
|
8
|
+
/** Horizontally align items within the container. */
|
|
9
|
+
align?: ResponsiveProp<Align>;
|
|
10
|
+
/** Vertically align items within the container. */
|
|
11
|
+
alignY?: ResponsiveProp<AlignY>;
|
|
12
|
+
/** Sets data attributes for the element. */
|
|
13
|
+
data?: DataAttributeMap;
|
|
14
|
+
/** Place a divider between each element. */
|
|
15
|
+
dividers?: boolean;
|
|
16
|
+
} & ValidBoxProps;
|
|
17
|
+
export declare const Row: <Comp extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "div">(props: {
|
|
18
|
+
as?: Comp | undefined;
|
|
19
|
+
ref?: import("react").Ref<Comp extends "symbol" | "text" | "clipPath" | "filter" | "mask" | "marker" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | keyof HTMLElementTagNameMap ? (HTMLElementTagNameMap & Pick<SVGElementTagNameMap, "symbol" | "text" | "clipPath" | "filter" | "mask" | "marker" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view">)[Comp] : Comp extends new (...args: any) => any ? InstanceType<Comp> : undefined> | undefined;
|
|
20
|
+
} & Omit<import("react").PropsWithoutRef<import("react").ComponentProps<Comp>>, "as"> & {
|
|
21
|
+
/** Horizontally align items within the container. */
|
|
22
|
+
align?: ResponsiveProp<"left" | "right" | "center"> | undefined;
|
|
23
|
+
/** Vertically align items within the container. */
|
|
24
|
+
alignY?: ResponsiveProp<"bottom" | "top" | "center" | "stretch"> | undefined;
|
|
25
|
+
/** Sets data attributes for the element. */
|
|
26
|
+
data?: DataAttributeMap | undefined;
|
|
27
|
+
/** Place a divider between each element. */
|
|
28
|
+
dividers?: boolean | undefined;
|
|
29
|
+
} & ValidBoxProps) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
|
30
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
1
|
+
export * from "./declarations/src/index";
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhcmstd2ViLXJvdy5janMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4vZGVjbGFyYXRpb25zL3NyYy9pbmRleC5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIn0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
6
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
|
+
var box = require('@spark-web/box');
|
|
8
|
+
var divider = require('@spark-web/divider');
|
|
9
|
+
var ts = require('@spark-web/utils/ts');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var theme = require('@spark-web/theme');
|
|
12
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
13
|
+
|
|
14
|
+
var alignLookup = {
|
|
15
|
+
left: 'start',
|
|
16
|
+
center: 'center',
|
|
17
|
+
right: 'end'
|
|
18
|
+
};
|
|
19
|
+
var alignYLookup = {
|
|
20
|
+
top: 'start',
|
|
21
|
+
center: 'center',
|
|
22
|
+
bottom: 'end',
|
|
23
|
+
stretch: 'stretch'
|
|
24
|
+
};
|
|
25
|
+
var alignToJustifyContent = theme.createResponsiveMapFn(alignLookup);
|
|
26
|
+
var alignYToAlignItems = theme.createResponsiveMapFn(alignYLookup);
|
|
27
|
+
|
|
28
|
+
var _excluded = ["align", "alignY", "children", "data", "dividers"];
|
|
29
|
+
var Row = ts.forwardRefWithAs(function (_ref, forwardedRef) {
|
|
30
|
+
var _ref$align = _ref.align,
|
|
31
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
|
32
|
+
_ref$alignY = _ref.alignY,
|
|
33
|
+
alignY = _ref$alignY === void 0 ? 'stretch' : _ref$alignY,
|
|
34
|
+
children = _ref.children,
|
|
35
|
+
data = _ref.data,
|
|
36
|
+
dividers = _ref.dividers,
|
|
37
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
+
var justifyContent = alignToJustifyContent(align);
|
|
39
|
+
var alignItems = alignYToAlignItems(alignY);
|
|
40
|
+
var rootProps = _objectSpread(_objectSpread({}, rest), {}, {
|
|
41
|
+
ref: forwardedRef,
|
|
42
|
+
display: 'flex',
|
|
43
|
+
alignItems: alignItems,
|
|
44
|
+
justifyContent: justifyContent
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// bail early w/o dividers to avoid unnecessary map
|
|
48
|
+
if (!dividers) {
|
|
49
|
+
return jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread({
|
|
50
|
+
data: data
|
|
51
|
+
}, rootProps), {}, {
|
|
52
|
+
children: children
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// map over children to insert dividers
|
|
57
|
+
// remove falsy values before mapping, keeps the index in sync
|
|
58
|
+
var childArray = react.Children.toArray(children);
|
|
59
|
+
return jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread({
|
|
60
|
+
data: data
|
|
61
|
+
}, rootProps), {}, {
|
|
62
|
+
children: childArray.map(function (child, idx) {
|
|
63
|
+
return jsxRuntime.jsxs(react.Fragment, {
|
|
64
|
+
children: [dividers && idx ? jsxRuntime.jsx(divider.Divider, {
|
|
65
|
+
vertical: true
|
|
66
|
+
}) : null, child]
|
|
67
|
+
}, child.key || idx);
|
|
68
|
+
})
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
exports.Row = Row;
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
// this file might look strange and you might be wondering what it's for
|
|
3
|
-
// it's lets you import your source files by importing this entrypoint
|
|
4
|
-
// as you would import it if it was built with preconstruct build
|
|
5
|
-
// this file is slightly different to some others though
|
|
6
|
-
// it has a require hook which compiles your code with Babel
|
|
7
|
-
// this means that you don't have to set up @babel/register or anything like that
|
|
8
|
-
// but you can still require this module and it'll be compiled
|
|
1
|
+
'use strict';
|
|
9
2
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
unregister();
|
|
3
|
+
if (process.env.NODE_ENV === "production") {
|
|
4
|
+
module.exports = require("./spark-web-row.cjs.prod.js");
|
|
5
|
+
} else {
|
|
6
|
+
module.exports = require("./spark-web-row.cjs.dev.js");
|
|
7
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
6
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
|
+
var box = require('@spark-web/box');
|
|
8
|
+
var divider = require('@spark-web/divider');
|
|
9
|
+
var ts = require('@spark-web/utils/ts');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var theme = require('@spark-web/theme');
|
|
12
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
13
|
+
|
|
14
|
+
var alignLookup = {
|
|
15
|
+
left: 'start',
|
|
16
|
+
center: 'center',
|
|
17
|
+
right: 'end'
|
|
18
|
+
};
|
|
19
|
+
var alignYLookup = {
|
|
20
|
+
top: 'start',
|
|
21
|
+
center: 'center',
|
|
22
|
+
bottom: 'end',
|
|
23
|
+
stretch: 'stretch'
|
|
24
|
+
};
|
|
25
|
+
var alignToJustifyContent = theme.createResponsiveMapFn(alignLookup);
|
|
26
|
+
var alignYToAlignItems = theme.createResponsiveMapFn(alignYLookup);
|
|
27
|
+
|
|
28
|
+
var _excluded = ["align", "alignY", "children", "data", "dividers"];
|
|
29
|
+
var Row = ts.forwardRefWithAs(function (_ref, forwardedRef) {
|
|
30
|
+
var _ref$align = _ref.align,
|
|
31
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
|
32
|
+
_ref$alignY = _ref.alignY,
|
|
33
|
+
alignY = _ref$alignY === void 0 ? 'stretch' : _ref$alignY,
|
|
34
|
+
children = _ref.children,
|
|
35
|
+
data = _ref.data,
|
|
36
|
+
dividers = _ref.dividers,
|
|
37
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
+
var justifyContent = alignToJustifyContent(align);
|
|
39
|
+
var alignItems = alignYToAlignItems(alignY);
|
|
40
|
+
var rootProps = _objectSpread(_objectSpread({}, rest), {}, {
|
|
41
|
+
ref: forwardedRef,
|
|
42
|
+
display: 'flex',
|
|
43
|
+
alignItems: alignItems,
|
|
44
|
+
justifyContent: justifyContent
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// bail early w/o dividers to avoid unnecessary map
|
|
48
|
+
if (!dividers) {
|
|
49
|
+
return jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread({
|
|
50
|
+
data: data
|
|
51
|
+
}, rootProps), {}, {
|
|
52
|
+
children: children
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// map over children to insert dividers
|
|
57
|
+
// remove falsy values before mapping, keeps the index in sync
|
|
58
|
+
var childArray = react.Children.toArray(children);
|
|
59
|
+
return jsxRuntime.jsx(box.Box, _objectSpread(_objectSpread({
|
|
60
|
+
data: data
|
|
61
|
+
}, rootProps), {}, {
|
|
62
|
+
children: childArray.map(function (child, idx) {
|
|
63
|
+
return jsxRuntime.jsxs(react.Fragment, {
|
|
64
|
+
children: [dividers && idx ? jsxRuntime.jsx(divider.Divider, {
|
|
65
|
+
vertical: true
|
|
66
|
+
}) : null, child]
|
|
67
|
+
}, child.key || idx);
|
|
68
|
+
})
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
exports.Row = Row;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
|
+
import { Box } from '@spark-web/box';
|
|
4
|
+
import { Divider } from '@spark-web/divider';
|
|
5
|
+
import { forwardRefWithAs } from '@spark-web/utils/ts';
|
|
6
|
+
import { Children, Fragment } from 'react';
|
|
7
|
+
import { createResponsiveMapFn } from '@spark-web/theme';
|
|
8
|
+
import { jsx, jsxs } from '@emotion/react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
var alignLookup = {
|
|
11
|
+
left: 'start',
|
|
12
|
+
center: 'center',
|
|
13
|
+
right: 'end'
|
|
14
|
+
};
|
|
15
|
+
var alignYLookup = {
|
|
16
|
+
top: 'start',
|
|
17
|
+
center: 'center',
|
|
18
|
+
bottom: 'end',
|
|
19
|
+
stretch: 'stretch'
|
|
20
|
+
};
|
|
21
|
+
var alignToJustifyContent = createResponsiveMapFn(alignLookup);
|
|
22
|
+
var alignYToAlignItems = createResponsiveMapFn(alignYLookup);
|
|
23
|
+
|
|
24
|
+
var _excluded = ["align", "alignY", "children", "data", "dividers"];
|
|
25
|
+
var Row = forwardRefWithAs(function (_ref, forwardedRef) {
|
|
26
|
+
var _ref$align = _ref.align,
|
|
27
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
|
28
|
+
_ref$alignY = _ref.alignY,
|
|
29
|
+
alignY = _ref$alignY === void 0 ? 'stretch' : _ref$alignY,
|
|
30
|
+
children = _ref.children,
|
|
31
|
+
data = _ref.data,
|
|
32
|
+
dividers = _ref.dividers,
|
|
33
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
34
|
+
var justifyContent = alignToJustifyContent(align);
|
|
35
|
+
var alignItems = alignYToAlignItems(alignY);
|
|
36
|
+
var rootProps = _objectSpread(_objectSpread({}, rest), {}, {
|
|
37
|
+
ref: forwardedRef,
|
|
38
|
+
display: 'flex',
|
|
39
|
+
alignItems: alignItems,
|
|
40
|
+
justifyContent: justifyContent
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// bail early w/o dividers to avoid unnecessary map
|
|
44
|
+
if (!dividers) {
|
|
45
|
+
return jsx(Box, _objectSpread(_objectSpread({
|
|
46
|
+
data: data
|
|
47
|
+
}, rootProps), {}, {
|
|
48
|
+
children: children
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// map over children to insert dividers
|
|
53
|
+
// remove falsy values before mapping, keeps the index in sync
|
|
54
|
+
var childArray = Children.toArray(children);
|
|
55
|
+
return jsx(Box, _objectSpread(_objectSpread({
|
|
56
|
+
data: data
|
|
57
|
+
}, rootProps), {}, {
|
|
58
|
+
children: childArray.map(function (child, idx) {
|
|
59
|
+
return jsxs(Fragment, {
|
|
60
|
+
children: [dividers && idx ? jsx(Divider, {
|
|
61
|
+
vertical: true
|
|
62
|
+
}) : null, child]
|
|
63
|
+
}, child.key || idx);
|
|
64
|
+
})
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
export { Row };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spark-web/row",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.10",
|
|
4
4
|
"homepage": "https://github.com/brighte-labs/spark-web#readme",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@babel/runtime": "^7.25.0",
|
|
19
|
-
"@emotion/react": "^11.
|
|
20
|
-
"@spark-web/box": "^2.0.0-rc.
|
|
21
|
-
"@spark-web/divider": "^2.0.0-rc.
|
|
22
|
-
"@spark-web/theme": "^4.0.0-rc.
|
|
23
|
-
"@spark-web/utils": "^2.0.0-rc.
|
|
19
|
+
"@emotion/react": "^11.14.0",
|
|
20
|
+
"@spark-web/box": "^2.0.0-rc.10",
|
|
21
|
+
"@spark-web/divider": "^2.0.0-rc.10",
|
|
22
|
+
"@spark-web/theme": "^4.0.0-rc.10",
|
|
23
|
+
"@spark-web/utils": "^2.0.0-rc.10"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/react": "^18.2.0",
|