@react-hive/honey-style 2.6.0 → 2.7.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.
- package/dist/css/middlewares/ellipsis-at-rule.d.ts +1 -0
- package/dist/css/middlewares/factory.d.ts +54 -14
- package/dist/css/middlewares/index.d.ts +1 -0
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.dev.cjs +97 -17
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
package/dist/index.dev.cjs
CHANGED
|
@@ -1962,6 +1962,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1962
1962
|
/* harmony export */ CSS_SPACING_PROPERTIES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.CSS_SPACING_PROPERTIES),
|
|
1963
1963
|
/* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createAbsoluteFillAtRuleMiddleware),
|
|
1964
1964
|
/* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createCenterAtRuleMiddleware),
|
|
1965
|
+
/* harmony export */ createEllipsisAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createEllipsisAtRuleMiddleware),
|
|
1965
1966
|
/* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createInlineAtRuleMiddleware),
|
|
1966
1967
|
/* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createSpacingMiddleware),
|
|
1967
1968
|
/* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createStackAtRuleMiddleware),
|
|
@@ -1999,7 +2000,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1999
2000
|
|
|
2000
2001
|
const createAbsoluteFillAtRuleMiddleware = () => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
|
|
2001
2002
|
name: 'absolute-fill',
|
|
2002
|
-
transform: () =>
|
|
2003
|
+
transform: () => {
|
|
2004
|
+
const declarations = ['position:absolute;', 'inset:0;'];
|
|
2005
|
+
return declarations.join('');
|
|
2006
|
+
},
|
|
2003
2007
|
});
|
|
2004
2008
|
|
|
2005
2009
|
|
|
@@ -2019,7 +2023,56 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2019
2023
|
|
|
2020
2024
|
const createCenterAtRuleMiddleware = () => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
|
|
2021
2025
|
name: 'center',
|
|
2022
|
-
transform: () =>
|
|
2026
|
+
transform: (args = []) => {
|
|
2027
|
+
const declarations = [];
|
|
2028
|
+
switch (args[0]) {
|
|
2029
|
+
case 'horizontal':
|
|
2030
|
+
case 'x':
|
|
2031
|
+
declarations.push('display:flex;', 'justify-content:center;');
|
|
2032
|
+
break;
|
|
2033
|
+
case 'vertical':
|
|
2034
|
+
case 'y':
|
|
2035
|
+
declarations.push('display:flex;', 'align-items:center;');
|
|
2036
|
+
break;
|
|
2037
|
+
case 'block':
|
|
2038
|
+
declarations.push('display:block;', 'text-align:center;');
|
|
2039
|
+
break;
|
|
2040
|
+
case 'inline':
|
|
2041
|
+
declarations.push('display:inline-flex;', 'align-items:center;', 'justify-content:center;');
|
|
2042
|
+
break;
|
|
2043
|
+
default:
|
|
2044
|
+
declarations.push('display:flex;', 'align-items:center;', 'justify-content:center;');
|
|
2045
|
+
break;
|
|
2046
|
+
}
|
|
2047
|
+
return declarations.join('');
|
|
2048
|
+
},
|
|
2049
|
+
});
|
|
2050
|
+
|
|
2051
|
+
|
|
2052
|
+
/***/ }),
|
|
2053
|
+
|
|
2054
|
+
/***/ "./src/css/middlewares/ellipsis-at-rule.ts":
|
|
2055
|
+
/*!*************************************************!*\
|
|
2056
|
+
!*** ./src/css/middlewares/ellipsis-at-rule.ts ***!
|
|
2057
|
+
\*************************************************/
|
|
2058
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2059
|
+
|
|
2060
|
+
__webpack_require__.r(__webpack_exports__);
|
|
2061
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2062
|
+
/* harmony export */ createEllipsisAtRuleMiddleware: () => (/* binding */ createEllipsisAtRuleMiddleware)
|
|
2063
|
+
/* harmony export */ });
|
|
2064
|
+
/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ "./src/css/middlewares/factory.ts");
|
|
2065
|
+
|
|
2066
|
+
const createEllipsisAtRuleMiddleware = () => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
|
|
2067
|
+
name: 'ellipsis',
|
|
2068
|
+
transform: () => {
|
|
2069
|
+
const declarations = [
|
|
2070
|
+
'white-space:nowrap;',
|
|
2071
|
+
'overflow:hidden;',
|
|
2072
|
+
'text-overflow:ellipsis;',
|
|
2073
|
+
];
|
|
2074
|
+
return declarations.join('');
|
|
2075
|
+
},
|
|
2023
2076
|
});
|
|
2024
2077
|
|
|
2025
2078
|
|
|
@@ -2039,20 +2092,42 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2039
2092
|
/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js");
|
|
2040
2093
|
|
|
2041
2094
|
/**
|
|
2042
|
-
* Creates a Stylis middleware
|
|
2043
|
-
*
|
|
2044
|
-
* and nested rule content.
|
|
2095
|
+
* Creates a Stylis middleware for transforming custom `@honey-*` at-rules into
|
|
2096
|
+
* regular CSS declarations.
|
|
2045
2097
|
*
|
|
2046
|
-
*
|
|
2047
|
-
*
|
|
2098
|
+
* This utility enables the definition of expressive, domain-specific at-rules
|
|
2099
|
+
* such as `@honey-stack`, `@honey-inline`, or `@honey-center`, which can then be
|
|
2100
|
+
* expanded into valid CSS at build time.
|
|
2101
|
+
*
|
|
2102
|
+
* Supports optional arguments passed via parentheses (e.g., `@honey-stack(2)`),
|
|
2103
|
+
* as well as nested rule bodies (e.g., `@honey-stack { .child { ... } }`).
|
|
2104
|
+
*
|
|
2105
|
+
* ---
|
|
2106
|
+
*
|
|
2107
|
+
* ### Example
|
|
2108
|
+
* ```ts
|
|
2048
2109
|
* createAtRuleMiddleware({
|
|
2049
2110
|
* name: 'stack',
|
|
2050
|
-
* transform: args =>
|
|
2111
|
+
* transform: args => {
|
|
2112
|
+
* const gap = parseFloat(args?.[0] ?? '0') * 8;
|
|
2113
|
+
*
|
|
2114
|
+
* return `display:flex;flex-direction:column;gap:${gap}px;`;
|
|
2115
|
+
* }
|
|
2051
2116
|
* });
|
|
2117
|
+
* ```
|
|
2052
2118
|
*
|
|
2053
|
-
*
|
|
2119
|
+
* ---
|
|
2054
2120
|
*
|
|
2055
|
-
*
|
|
2121
|
+
* ### Behavior
|
|
2122
|
+
* - Matches only rules of the form `@honey-${name}` inside standard CSS rules.
|
|
2123
|
+
* - Parses arguments from parentheses (e.g. `@honey-name (arg1 arg2)`).
|
|
2124
|
+
* - Serializes nested content (children) and appends it to the output.
|
|
2125
|
+
*
|
|
2126
|
+
* @param options - Options for configuring the middleware:
|
|
2127
|
+
* - `name`: the custom at-rule suffix, without the `@honey-` prefix.
|
|
2128
|
+
* - `transform`: a function to convert parsed args and the AST node into CSS declarations.
|
|
2129
|
+
*
|
|
2130
|
+
* @returns A Stylis `Middleware` function that replaces the matched at-rule with the generated CSS.
|
|
2056
2131
|
*/
|
|
2057
2132
|
const createAtRuleMiddleware = ({ name, transform, }) => {
|
|
2058
2133
|
return (element, _i, _children, callback) => {
|
|
@@ -2066,7 +2141,7 @@ const createAtRuleMiddleware = ({ name, transform, }) => {
|
|
|
2066
2141
|
const argsMatch = element.value
|
|
2067
2142
|
.trim()
|
|
2068
2143
|
.match(new RegExp(`^${element.type}\\s*\\(\\s*([^)]+?)\\s*\\)\\s*;?$`, 'i'));
|
|
2069
|
-
const args = argsMatch ? argsMatch[1].
|
|
2144
|
+
const args = argsMatch ? argsMatch[1].split(' ').filter(Boolean) : undefined;
|
|
2070
2145
|
const transformedCSS = transform(args, element, name);
|
|
2071
2146
|
const serializedChildren = Array.isArray(element.children)
|
|
2072
2147
|
? (0,stylis__WEBPACK_IMPORTED_MODULE_0__.serialize)(element.children, callback)
|
|
@@ -2089,6 +2164,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2089
2164
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2090
2165
|
/* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _absolute_fill_at_rule__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFillAtRuleMiddleware),
|
|
2091
2166
|
/* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _center_at_rule__WEBPACK_IMPORTED_MODULE_3__.createCenterAtRuleMiddleware),
|
|
2167
|
+
/* harmony export */ createEllipsisAtRuleMiddleware: () => (/* reexport safe */ _ellipsis_at_rule__WEBPACK_IMPORTED_MODULE_5__.createEllipsisAtRuleMiddleware),
|
|
2092
2168
|
/* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _inline_at_rule__WEBPACK_IMPORTED_MODULE_2__.createInlineAtRuleMiddleware),
|
|
2093
2169
|
/* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _spacing__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware),
|
|
2094
2170
|
/* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _stack_at_rule__WEBPACK_IMPORTED_MODULE_1__.createStackAtRuleMiddleware)
|
|
@@ -2098,6 +2174,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2098
2174
|
/* harmony import */ var _inline_at_rule__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./inline-at-rule */ "./src/css/middlewares/inline-at-rule.ts");
|
|
2099
2175
|
/* harmony import */ var _center_at_rule__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./center-at-rule */ "./src/css/middlewares/center-at-rule.ts");
|
|
2100
2176
|
/* harmony import */ var _absolute_fill_at_rule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./absolute-fill-at-rule */ "./src/css/middlewares/absolute-fill-at-rule.ts");
|
|
2177
|
+
/* harmony import */ var _ellipsis_at_rule__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ellipsis-at-rule */ "./src/css/middlewares/ellipsis-at-rule.ts");
|
|
2178
|
+
|
|
2101
2179
|
|
|
2102
2180
|
|
|
2103
2181
|
|
|
@@ -2123,9 +2201,9 @@ const createInlineAtRuleMiddleware = ({ spacingMultiplier = 0, } = {}) => (0,_fa
|
|
|
2123
2201
|
name: 'inline',
|
|
2124
2202
|
transform: args => {
|
|
2125
2203
|
const declarations = ['display:flex;', 'align-items:center;'];
|
|
2126
|
-
if (args) {
|
|
2127
|
-
const isNumber = /^-?\d*\.?\d+$/.test(args);
|
|
2128
|
-
const gap = isNumber ? `${parseFloat(args) * spacingMultiplier}px` : args;
|
|
2204
|
+
if (args?.length) {
|
|
2205
|
+
const isNumber = /^-?\d*\.?\d+$/.test(args[0]);
|
|
2206
|
+
const gap = isNumber ? `${parseFloat(args[0]) * spacingMultiplier}px` : args;
|
|
2129
2207
|
declarations.push(`gap:${gap};`);
|
|
2130
2208
|
}
|
|
2131
2209
|
return declarations.join('');
|
|
@@ -2191,9 +2269,9 @@ const createStackAtRuleMiddleware = ({ spacingMultiplier = 0, }) => (0,_factory_
|
|
|
2191
2269
|
name: 'stack',
|
|
2192
2270
|
transform: args => {
|
|
2193
2271
|
const declarations = ['display:flex;', 'flex-direction:column;'];
|
|
2194
|
-
if (args) {
|
|
2195
|
-
const isNumber = /^-?\d*\.?\d+$/.test(args);
|
|
2196
|
-
const gap = isNumber ? `${parseFloat(args) * spacingMultiplier}px` : args;
|
|
2272
|
+
if (args?.length) {
|
|
2273
|
+
const isNumber = /^-?\d*\.?\d+$/.test(args[0]);
|
|
2274
|
+
const gap = isNumber ? `${parseFloat(args[0]) * spacingMultiplier}px` : args;
|
|
2197
2275
|
declarations.push(`gap:${gap};`);
|
|
2198
2276
|
}
|
|
2199
2277
|
return declarations.join('');
|
|
@@ -2225,6 +2303,7 @@ const processCss = (rawCss, selector, { spacingMultiplier } = {}) => {
|
|
|
2225
2303
|
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createStackAtRuleMiddleware)({ spacingMultiplier }),
|
|
2226
2304
|
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createInlineAtRuleMiddleware)({ spacingMultiplier }),
|
|
2227
2305
|
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createCenterAtRuleMiddleware)(),
|
|
2306
|
+
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createEllipsisAtRuleMiddleware)(),
|
|
2228
2307
|
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createAbsoluteFillAtRuleMiddleware)(),
|
|
2229
2308
|
(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware)({ spacingMultiplier }),
|
|
2230
2309
|
stylis__WEBPACK_IMPORTED_MODULE_1__.stringify,
|
|
@@ -2994,6 +3073,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2994
3073
|
/* harmony export */ convertHexToHexWithAlpha: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.convertHexToHexWithAlpha),
|
|
2995
3074
|
/* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFillAtRuleMiddleware),
|
|
2996
3075
|
/* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createCenterAtRuleMiddleware),
|
|
3076
|
+
/* harmony export */ createEllipsisAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createEllipsisAtRuleMiddleware),
|
|
2997
3077
|
/* harmony export */ createGlobalStyle: () => (/* reexport safe */ _global_style__WEBPACK_IMPORTED_MODULE_6__.createGlobalStyle),
|
|
2998
3078
|
/* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createInlineAtRuleMiddleware),
|
|
2999
3079
|
/* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createSpacingMiddleware),
|