@spark-web/columns 3.0.0-rc.0 → 3.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 CHANGED
@@ -1,5 +1,135 @@
1
1
  # @spark-web/columns
2
2
 
3
+ ## 3.0.0-rc.10
4
+
5
+ ### Major Changes
6
+
7
+ - test
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies []:
12
+ - @spark-web/theme@4.0.0-rc.10
13
+ - @spark-web/utils@2.0.0-rc.10
14
+ - @spark-web/box@2.0.0-rc.10
15
+
16
+ ## 3.0.0-rc.9
17
+
18
+ ### Major Changes
19
+
20
+ - test
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies []:
25
+ - @spark-web/theme@4.0.0-rc.9
26
+ - @spark-web/utils@2.0.0-rc.9
27
+ - @spark-web/box@2.0.0-rc.9
28
+
29
+ ## 3.0.0-rc.8
30
+
31
+ ### Major Changes
32
+
33
+ - test
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies []:
38
+ - @spark-web/theme@4.0.0-rc.8
39
+ - @spark-web/utils@2.0.0-rc.8
40
+ - @spark-web/box@2.0.0-rc.8
41
+
42
+ ## 3.0.0-rc.7
43
+
44
+ ### Major Changes
45
+
46
+ - test
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies []:
51
+ - @spark-web/theme@4.0.0-rc.7
52
+ - @spark-web/utils@2.0.0-rc.7
53
+ - @spark-web/box@2.0.0-rc.7
54
+
55
+ ## 3.0.0-rc.6
56
+
57
+ ### Major Changes
58
+
59
+ - test
60
+
61
+ ### Patch Changes
62
+
63
+ - Updated dependencies []:
64
+ - @spark-web/theme@4.0.0-rc.6
65
+ - @spark-web/utils@2.0.0-rc.6
66
+ - @spark-web/box@2.0.0-rc.6
67
+
68
+ ## 3.0.0-rc.5
69
+
70
+ ### Major Changes
71
+
72
+ - test
73
+
74
+ ### Patch Changes
75
+
76
+ - Updated dependencies []:
77
+ - @spark-web/theme@4.0.0-rc.5
78
+ - @spark-web/utils@2.0.0-rc.5
79
+ - @spark-web/box@2.0.0-rc.5
80
+
81
+ ## 3.0.0-rc.4
82
+
83
+ ### Major Changes
84
+
85
+ - bug
86
+
87
+ ### Patch Changes
88
+
89
+ - Updated dependencies []:
90
+ - @spark-web/theme@4.0.0-rc.4
91
+ - @spark-web/utils@2.0.0-rc.4
92
+ - @spark-web/box@2.0.0-rc.4
93
+
94
+ ## 3.0.0-rc.3
95
+
96
+ ### Major Changes
97
+
98
+ - upgrade package
99
+
100
+ ### Patch Changes
101
+
102
+ - Updated dependencies []:
103
+ - @spark-web/theme@4.0.0-rc.3
104
+ - @spark-web/utils@2.0.0-rc.3
105
+ - @spark-web/box@2.0.0-rc.3
106
+
107
+ ## 3.0.0-rc.2
108
+
109
+ ### Major Changes
110
+
111
+ - add parser
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies []:
116
+ - @spark-web/theme@4.0.0-rc.2
117
+ - @spark-web/utils@2.0.0-rc.2
118
+ - @spark-web/box@2.0.0-rc.2
119
+
120
+ ## 3.0.0-rc.1
121
+
122
+ ### Major Changes
123
+
124
+ - rc
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies []:
129
+ - @spark-web/theme@4.0.0-rc.1
130
+ - @spark-web/utils@2.0.0-rc.1
131
+ - @spark-web/box@2.0.0-rc.1
132
+
3
133
  ## 3.0.0-rc.0
4
134
 
5
135
  ### Major Changes
@@ -0,0 +1,14 @@
1
+ declare const alignYLookup: {
2
+ readonly top: "start";
3
+ readonly center: "center";
4
+ readonly bottom: "end";
5
+ readonly stretch: "stretch";
6
+ };
7
+ export declare type AlignY = keyof typeof alignYLookup;
8
+ export declare const alignYToAlignItems: (prop?: import("@spark-web/theme").ResponsiveProp<"bottom" | "top" | "center" | "stretch"> | undefined) => "center" | "stretch" | "start" | "end" | {
9
+ mobile: "center" | "stretch" | "start" | "end" | undefined;
10
+ tablet: "center" | "stretch" | "start" | "end" | undefined;
11
+ desktop: "center" | "stretch" | "start" | "end" | undefined;
12
+ wide: "center" | "stretch" | "start" | "end" | undefined;
13
+ } | undefined;
14
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { BoxProps } from '@spark-web/box';
2
+ import type { BrighteTheme, ResponsiveProp, ResponsiveRangeProps } from '@spark-web/theme';
3
+ import type { DataAttributeMap } from '@spark-web/utils/internal';
4
+ import type { ReactNode } from 'react';
5
+ import type { AlignY } from "./alignment.js";
6
+ declare type Gap = ResponsiveProp<keyof Omit<BrighteTheme['spacing'], 'none'>>;
7
+ declare type ValidBoxProps = Omit<BoxProps, 'display' | 'alignItems' | 'gap' | 'flexDirection' | 'justifyContent' | 'flexWrap' | 'dangerouslySetInnerHTML'>;
8
+ export declare type ColumnsProps = {
9
+ /** Vertically align items within the container. */
10
+ alignY?: ResponsiveProp<AlignY>;
11
+ /** Elements representing each column. */
12
+ children: ReactNode;
13
+ /** At which breakpoint, if any, should the columns collapse. */
14
+ collapseBelow?: ResponsiveRangeProps['below'];
15
+ /** Sets data attributes on the component. */
16
+ data?: DataAttributeMap;
17
+ /** The size of the gap between each column. */
18
+ gap?: Gap;
19
+ /** Define the relative width of each column. By default each column is the same width. */
20
+ template?: number[];
21
+ } & ValidBoxProps;
22
+ export declare const Columns: <Comp extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "div">(props: {
23
+ as?: Comp | undefined;
24
+ 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;
25
+ } & Omit<import("react").PropsWithoutRef<import("react").ComponentProps<Comp>>, "as"> & {
26
+ /** Vertically align items within the container. */
27
+ alignY?: ResponsiveProp<"bottom" | "top" | "center" | "stretch"> | undefined;
28
+ /** Elements representing each column. */
29
+ children: ReactNode;
30
+ /** At which breakpoint, if any, should the columns collapse. */
31
+ collapseBelow?: ResponsiveRangeProps['below'];
32
+ /** Sets data attributes on the component. */
33
+ data?: DataAttributeMap | undefined;
34
+ /** The size of the gap between each column. */
35
+ gap?: Gap | undefined;
36
+ /** Define the relative width of each column. By default each column is the same width. */
37
+ template?: number[] | undefined;
38
+ } & ValidBoxProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
39
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Columns } from "./columns.js";
2
+ export type { ColumnsProps } from "./columns.js";
@@ -1,2 +1,2 @@
1
- export * from "../src/index";
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhcmstd2ViLWNvbHVtbnMuY2pzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEifQ==
1
+ export * from "./declarations/src/index";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhcmstd2ViLWNvbHVtbnMuY2pzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuL2RlY2xhcmF0aW9ucy9zcmMvaW5kZXguZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ var react$1 = require('@emotion/react');
9
+ var box = require('@spark-web/box');
10
+ var theme = require('@spark-web/theme');
11
+ var ts = require('@spark-web/utils/ts');
12
+ var react = require('react');
13
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
14
+
15
+ var alignYLookup = {
16
+ top: 'start',
17
+ center: 'center',
18
+ bottom: 'end',
19
+ stretch: 'stretch'
20
+ };
21
+ var alignYToAlignItems = theme.createResponsiveMapFn(alignYLookup);
22
+
23
+ var _excluded = ["alignY", "collapseBelow", "data", "gap", "template"];
24
+ var Columns = ts.forwardRefWithAs(function (_ref, forwardedRef) {
25
+ var _ref$alignY = _ref.alignY,
26
+ alignY = _ref$alignY === void 0 ? 'top' : _ref$alignY,
27
+ collapseBelow = _ref.collapseBelow,
28
+ data = _ref.data,
29
+ gap = _ref.gap,
30
+ template = _ref.template,
31
+ props = _objectWithoutProperties(_ref, _excluded);
32
+ var theme$1 = theme.useTheme();
33
+ var alignItems = alignYToAlignItems(alignY);
34
+ var count = react.Children.count(props.children);
35
+ var gridTemplateColumns = template ? template.map(function (c) {
36
+ return "".concat(c, "fr");
37
+ }).join(' ') : "repeat(".concat(count, ", 1fr)");
38
+ var _theme$utils$responsi = theme$1.utils.responsiveRange({
39
+ below: collapseBelow
40
+ }),
41
+ _theme$utils$responsi2 = _slicedToArray(_theme$utils$responsi, 4),
42
+ collapseOnMobile = _theme$utils$responsi2[0],
43
+ collapseOnTablet = _theme$utils$responsi2[1],
44
+ collapseOnDesktop = _theme$utils$responsi2[2],
45
+ collapseOnWide = _theme$utils$responsi2[3];
46
+ return jsxRuntime.jsx(box.Box, _objectSpread({
47
+ ref: forwardedRef,
48
+ css: react$1.css(theme$1.utils.resolveResponsiveProps({
49
+ alignItems: alignItems,
50
+ display: 'grid',
51
+ gap: theme$1.utils.mapResponsiveScale(gap, theme$1.spacing),
52
+ gridTemplateColumns: collapseBelow ? theme$1.utils.optimizeResponsiveArray([collapseOnMobile ? null : gridTemplateColumns, collapseOnTablet ? null : gridTemplateColumns, collapseOnDesktop ? null : gridTemplateColumns, collapseOnWide ? null : gridTemplateColumns]) : gridTemplateColumns,
53
+ // fix flex overflow bug that prevents text truncation
54
+ '> *': {
55
+ minWidth: 0
56
+ }
57
+ })),
58
+ data: data
59
+ }, props));
60
+ });
61
+
62
+ exports.Columns = Columns;
@@ -1,16 +1,7 @@
1
- "use strict";
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
- // this bit of code imports the require hook and registers it
11
- let unregister = require("../../../node_modules/@preconstruct/hook").___internalHook(typeof __dirname === 'undefined' ? undefined : __dirname, "../../..", "..");
12
-
13
- // this re-exports the source file
14
- module.exports = require("../src/index.ts");
15
-
16
- unregister();
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./spark-web-columns.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./spark-web-columns.cjs.dev.js");
7
+ }
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ var react$1 = require('@emotion/react');
9
+ var box = require('@spark-web/box');
10
+ var theme = require('@spark-web/theme');
11
+ var ts = require('@spark-web/utils/ts');
12
+ var react = require('react');
13
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
14
+
15
+ var alignYLookup = {
16
+ top: 'start',
17
+ center: 'center',
18
+ bottom: 'end',
19
+ stretch: 'stretch'
20
+ };
21
+ var alignYToAlignItems = theme.createResponsiveMapFn(alignYLookup);
22
+
23
+ var _excluded = ["alignY", "collapseBelow", "data", "gap", "template"];
24
+ var Columns = ts.forwardRefWithAs(function (_ref, forwardedRef) {
25
+ var _ref$alignY = _ref.alignY,
26
+ alignY = _ref$alignY === void 0 ? 'top' : _ref$alignY,
27
+ collapseBelow = _ref.collapseBelow,
28
+ data = _ref.data,
29
+ gap = _ref.gap,
30
+ template = _ref.template,
31
+ props = _objectWithoutProperties(_ref, _excluded);
32
+ var theme$1 = theme.useTheme();
33
+ var alignItems = alignYToAlignItems(alignY);
34
+ var count = react.Children.count(props.children);
35
+ var gridTemplateColumns = template ? template.map(function (c) {
36
+ return "".concat(c, "fr");
37
+ }).join(' ') : "repeat(".concat(count, ", 1fr)");
38
+ var _theme$utils$responsi = theme$1.utils.responsiveRange({
39
+ below: collapseBelow
40
+ }),
41
+ _theme$utils$responsi2 = _slicedToArray(_theme$utils$responsi, 4),
42
+ collapseOnMobile = _theme$utils$responsi2[0],
43
+ collapseOnTablet = _theme$utils$responsi2[1],
44
+ collapseOnDesktop = _theme$utils$responsi2[2],
45
+ collapseOnWide = _theme$utils$responsi2[3];
46
+ return jsxRuntime.jsx(box.Box, _objectSpread({
47
+ ref: forwardedRef,
48
+ css: react$1.css(theme$1.utils.resolveResponsiveProps({
49
+ alignItems: alignItems,
50
+ display: 'grid',
51
+ gap: theme$1.utils.mapResponsiveScale(gap, theme$1.spacing),
52
+ gridTemplateColumns: collapseBelow ? theme$1.utils.optimizeResponsiveArray([collapseOnMobile ? null : gridTemplateColumns, collapseOnTablet ? null : gridTemplateColumns, collapseOnDesktop ? null : gridTemplateColumns, collapseOnWide ? null : gridTemplateColumns]) : gridTemplateColumns,
53
+ // fix flex overflow bug that prevents text truncation
54
+ '> *': {
55
+ minWidth: 0
56
+ }
57
+ })),
58
+ data: data
59
+ }, props));
60
+ });
61
+
62
+ exports.Columns = Columns;
@@ -0,0 +1,58 @@
1
+ import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';
2
+ import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
4
+ import { css } from '@emotion/react';
5
+ import { Box } from '@spark-web/box';
6
+ import { createResponsiveMapFn, useTheme } from '@spark-web/theme';
7
+ import { forwardRefWithAs } from '@spark-web/utils/ts';
8
+ import { Children } from 'react';
9
+ import { jsx } from '@emotion/react/jsx-runtime';
10
+
11
+ var alignYLookup = {
12
+ top: 'start',
13
+ center: 'center',
14
+ bottom: 'end',
15
+ stretch: 'stretch'
16
+ };
17
+ var alignYToAlignItems = createResponsiveMapFn(alignYLookup);
18
+
19
+ var _excluded = ["alignY", "collapseBelow", "data", "gap", "template"];
20
+ var Columns = forwardRefWithAs(function (_ref, forwardedRef) {
21
+ var _ref$alignY = _ref.alignY,
22
+ alignY = _ref$alignY === void 0 ? 'top' : _ref$alignY,
23
+ collapseBelow = _ref.collapseBelow,
24
+ data = _ref.data,
25
+ gap = _ref.gap,
26
+ template = _ref.template,
27
+ props = _objectWithoutProperties(_ref, _excluded);
28
+ var theme = useTheme();
29
+ var alignItems = alignYToAlignItems(alignY);
30
+ var count = Children.count(props.children);
31
+ var gridTemplateColumns = template ? template.map(function (c) {
32
+ return "".concat(c, "fr");
33
+ }).join(' ') : "repeat(".concat(count, ", 1fr)");
34
+ var _theme$utils$responsi = theme.utils.responsiveRange({
35
+ below: collapseBelow
36
+ }),
37
+ _theme$utils$responsi2 = _slicedToArray(_theme$utils$responsi, 4),
38
+ collapseOnMobile = _theme$utils$responsi2[0],
39
+ collapseOnTablet = _theme$utils$responsi2[1],
40
+ collapseOnDesktop = _theme$utils$responsi2[2],
41
+ collapseOnWide = _theme$utils$responsi2[3];
42
+ return jsx(Box, _objectSpread({
43
+ ref: forwardedRef,
44
+ css: css(theme.utils.resolveResponsiveProps({
45
+ alignItems: alignItems,
46
+ display: 'grid',
47
+ gap: theme.utils.mapResponsiveScale(gap, theme.spacing),
48
+ gridTemplateColumns: collapseBelow ? theme.utils.optimizeResponsiveArray([collapseOnMobile ? null : gridTemplateColumns, collapseOnTablet ? null : gridTemplateColumns, collapseOnDesktop ? null : gridTemplateColumns, collapseOnWide ? null : gridTemplateColumns]) : gridTemplateColumns,
49
+ // fix flex overflow bug that prevents text truncation
50
+ '> *': {
51
+ minWidth: 0
52
+ }
53
+ })),
54
+ data: data
55
+ }, props));
56
+ });
57
+
58
+ export { Columns };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spark-web/columns",
3
- "version": "3.0.0-rc.0",
3
+ "version": "3.0.0-rc.10",
4
4
  "homepage": "https://github.com/brighte-labs/spark-web#readme",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,10 +16,10 @@
16
16
  ],
17
17
  "dependencies": {
18
18
  "@babel/runtime": "^7.25.0",
19
- "@emotion/react": "^11.13.5",
20
- "@spark-web/box": "^2.0.0-rc.0",
21
- "@spark-web/theme": "^4.0.0-rc.0",
22
- "@spark-web/utils": "^2.0.0-rc.0"
19
+ "@emotion/react": "^11.14.0",
20
+ "@spark-web/box": "^2.0.0-rc.10",
21
+ "@spark-web/theme": "^4.0.0-rc.10",
22
+ "@spark-web/utils": "^2.0.0-rc.10"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/react": "^18.2.0",