@react-hive/honey-style 2.2.0 → 2.6.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.
@@ -1886,6 +1886,7 @@ const CSS_SPACING_PROPERTIES = [
1886
1886
  'right',
1887
1887
  'bottom',
1888
1888
  'left',
1889
+ 'inset',
1889
1890
  'gap',
1890
1891
  'rowGap',
1891
1892
  'columnGap',
@@ -1959,14 +1960,18 @@ __webpack_require__.r(__webpack_exports__);
1959
1960
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1960
1961
  /* harmony export */ CSS_COLOR_PROPERTIES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.CSS_COLOR_PROPERTIES),
1961
1962
  /* harmony export */ CSS_SPACING_PROPERTIES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.CSS_SPACING_PROPERTIES),
1963
+ /* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createAbsoluteFillAtRuleMiddleware),
1964
+ /* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createCenterAtRuleMiddleware),
1965
+ /* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createInlineAtRuleMiddleware),
1962
1966
  /* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createSpacingMiddleware),
1967
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createStackAtRuleMiddleware),
1963
1968
  /* harmony export */ css: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_4__.css),
1964
1969
  /* harmony export */ mediaQuery: () => (/* reexport safe */ _at_rules__WEBPACK_IMPORTED_MODULE_5__.mediaQuery),
1965
1970
  /* harmony export */ processCss: () => (/* reexport safe */ _processor__WEBPACK_IMPORTED_MODULE_3__.processCss)
1966
1971
  /* harmony export */ });
1967
1972
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./src/css/types.ts");
1968
1973
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/css/constants.ts");
1969
- /* harmony import */ var _middlewares__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./middlewares */ "./src/css/middlewares.ts");
1974
+ /* harmony import */ var _middlewares__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./middlewares */ "./src/css/middlewares/index.ts");
1970
1975
  /* harmony import */ var _processor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./processor */ "./src/css/processor.ts");
1971
1976
  /* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./css */ "./src/css/css.ts");
1972
1977
  /* harmony import */ var _at_rules__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./at-rules */ "./src/css/at-rules/index.ts");
@@ -1980,22 +1985,172 @@ __webpack_require__.r(__webpack_exports__);
1980
1985
 
1981
1986
  /***/ }),
1982
1987
 
1983
- /***/ "./src/css/middlewares.ts":
1984
- /*!********************************!*\
1985
- !*** ./src/css/middlewares.ts ***!
1986
- \********************************/
1988
+ /***/ "./src/css/middlewares/absolute-fill-at-rule.ts":
1989
+ /*!******************************************************!*\
1990
+ !*** ./src/css/middlewares/absolute-fill-at-rule.ts ***!
1991
+ \******************************************************/
1992
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1993
+
1994
+ __webpack_require__.r(__webpack_exports__);
1995
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1996
+ /* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* binding */ createAbsoluteFillAtRuleMiddleware)
1997
+ /* harmony export */ });
1998
+ /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ "./src/css/middlewares/factory.ts");
1999
+
2000
+ const createAbsoluteFillAtRuleMiddleware = () => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
2001
+ name: 'absolute-fill',
2002
+ transform: () => 'position:absolute;top:0;right:0;bottom:0;left:0;',
2003
+ });
2004
+
2005
+
2006
+ /***/ }),
2007
+
2008
+ /***/ "./src/css/middlewares/center-at-rule.ts":
2009
+ /*!***********************************************!*\
2010
+ !*** ./src/css/middlewares/center-at-rule.ts ***!
2011
+ \***********************************************/
2012
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2013
+
2014
+ __webpack_require__.r(__webpack_exports__);
2015
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2016
+ /* harmony export */ createCenterAtRuleMiddleware: () => (/* binding */ createCenterAtRuleMiddleware)
2017
+ /* harmony export */ });
2018
+ /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ "./src/css/middlewares/factory.ts");
2019
+
2020
+ const createCenterAtRuleMiddleware = () => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
2021
+ name: 'center',
2022
+ transform: () => 'display:flex;align-items:center;justify-content:center;',
2023
+ });
2024
+
2025
+
2026
+ /***/ }),
2027
+
2028
+ /***/ "./src/css/middlewares/factory.ts":
2029
+ /*!****************************************!*\
2030
+ !*** ./src/css/middlewares/factory.ts ***!
2031
+ \****************************************/
2032
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2033
+
2034
+ __webpack_require__.r(__webpack_exports__);
2035
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2036
+ /* harmony export */ createAtRuleMiddleware: () => (/* binding */ createAtRuleMiddleware)
2037
+ /* harmony export */ });
2038
+ /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Serializer.js");
2039
+ /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js");
2040
+
2041
+ /**
2042
+ * Creates a Stylis middleware that transforms a custom @honey-* at-rule
2043
+ * into standard CSS declarations. It supports optional arguments via parentheses
2044
+ * and nested rule content.
2045
+ *
2046
+ * @example
2047
+ * // For @honey-stack(2) { gap: 1; }
2048
+ * createAtRuleMiddleware({
2049
+ * name: 'stack',
2050
+ * transform: args => `display:flex;gap:${parseFloat(args || '0') * 8}px;`
2051
+ * });
2052
+ *
2053
+ * @param options - Middleware creation options.
2054
+ *
2055
+ * @returns A Stylis middleware function.
2056
+ */
2057
+ const createAtRuleMiddleware = ({ name, transform, }) => {
2058
+ return (element, _i, _children, callback) => {
2059
+ if (element.parent?.type !== 'rule' || element.type !== `@honey-${name}`) {
2060
+ return;
2061
+ }
2062
+ const parentSelector = element.parent?.value;
2063
+ if (!parentSelector) {
2064
+ return;
2065
+ }
2066
+ const argsMatch = element.value
2067
+ .trim()
2068
+ .match(new RegExp(`^${element.type}\\s*\\(\\s*([^)]+?)\\s*\\)\\s*;?$`, 'i'));
2069
+ const args = argsMatch ? argsMatch[1].trim() : undefined;
2070
+ const transformedCSS = transform(args, element, name);
2071
+ const serializedChildren = Array.isArray(element.children)
2072
+ ? (0,stylis__WEBPACK_IMPORTED_MODULE_0__.serialize)(element.children, callback)
2073
+ : '';
2074
+ element.type = 'decl';
2075
+ element.return = (0,stylis__WEBPACK_IMPORTED_MODULE_0__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_1__.compile)(`${parentSelector}{${transformedCSS}${serializedChildren}}`), callback);
2076
+ };
2077
+ };
2078
+
2079
+
2080
+ /***/ }),
2081
+
2082
+ /***/ "./src/css/middlewares/index.ts":
2083
+ /*!**************************************!*\
2084
+ !*** ./src/css/middlewares/index.ts ***!
2085
+ \**************************************/
2086
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2087
+
2088
+ __webpack_require__.r(__webpack_exports__);
2089
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2090
+ /* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _absolute_fill_at_rule__WEBPACK_IMPORTED_MODULE_4__.createAbsoluteFillAtRuleMiddleware),
2091
+ /* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _center_at_rule__WEBPACK_IMPORTED_MODULE_3__.createCenterAtRuleMiddleware),
2092
+ /* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _inline_at_rule__WEBPACK_IMPORTED_MODULE_2__.createInlineAtRuleMiddleware),
2093
+ /* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _spacing__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware),
2094
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _stack_at_rule__WEBPACK_IMPORTED_MODULE_1__.createStackAtRuleMiddleware)
2095
+ /* harmony export */ });
2096
+ /* harmony import */ var _spacing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./spacing */ "./src/css/middlewares/spacing.ts");
2097
+ /* harmony import */ var _stack_at_rule__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stack-at-rule */ "./src/css/middlewares/stack-at-rule.ts");
2098
+ /* harmony import */ var _inline_at_rule__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./inline-at-rule */ "./src/css/middlewares/inline-at-rule.ts");
2099
+ /* harmony import */ var _center_at_rule__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./center-at-rule */ "./src/css/middlewares/center-at-rule.ts");
2100
+ /* 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");
2101
+
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+ /***/ }),
2109
+
2110
+ /***/ "./src/css/middlewares/inline-at-rule.ts":
2111
+ /*!***********************************************!*\
2112
+ !*** ./src/css/middlewares/inline-at-rule.ts ***!
2113
+ \***********************************************/
2114
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2115
+
2116
+ __webpack_require__.r(__webpack_exports__);
2117
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2118
+ /* harmony export */ createInlineAtRuleMiddleware: () => (/* binding */ createInlineAtRuleMiddleware)
2119
+ /* harmony export */ });
2120
+ /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ "./src/css/middlewares/factory.ts");
2121
+
2122
+ const createInlineAtRuleMiddleware = ({ spacingMultiplier = 0, } = {}) => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
2123
+ name: 'inline',
2124
+ transform: args => {
2125
+ 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;
2129
+ declarations.push(`gap:${gap};`);
2130
+ }
2131
+ return declarations.join('');
2132
+ },
2133
+ });
2134
+
2135
+
2136
+ /***/ }),
2137
+
2138
+ /***/ "./src/css/middlewares/spacing.ts":
2139
+ /*!****************************************!*\
2140
+ !*** ./src/css/middlewares/spacing.ts ***!
2141
+ \****************************************/
1987
2142
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1988
2143
 
1989
2144
  __webpack_require__.r(__webpack_exports__);
1990
2145
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1991
2146
  /* harmony export */ createSpacingMiddleware: () => (/* binding */ createSpacingMiddleware)
1992
2147
  /* harmony export */ });
1993
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./src/css/constants.ts");
2148
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants */ "./src/css/constants.ts");
1994
2149
 
1995
2150
  const toKebabCase = (str) => str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
1996
2151
  const KEBAB_CASE_SPACING_PROPERTIES = _constants__WEBPACK_IMPORTED_MODULE_0__.CSS_SPACING_PROPERTIES.map(toKebabCase);
1997
- const createSpacingMiddleware = ({ spacingMultiplier }) => element => {
1998
- if (!spacingMultiplier || element.type !== 'decl') {
2152
+ const createSpacingMiddleware = ({ spacingMultiplier = 0 }) => element => {
2153
+ if (element.type !== 'decl') {
1999
2154
  return;
2000
2155
  }
2001
2156
  if (typeof element.props === 'string' &&
@@ -2010,7 +2165,7 @@ const createSpacingMiddleware = ({ spacingMultiplier }) => element => {
2010
2165
  for (const value of parts) {
2011
2166
  transformedParts.push(
2012
2167
  // Accept only numeric strings (integers or floats), no units or symbols
2013
- /^(\d+|\d*\.\d+)$/.test(value) ? `${parseFloat(value) * spacingMultiplier}px` : value);
2168
+ /^-?\d*\.?\d+$/.test(value) ? `${parseFloat(value) * spacingMultiplier}px` : value);
2014
2169
  }
2015
2170
  const transformed = transformedParts.join(' ');
2016
2171
  element.return = `${element.props}:${transformed};`;
@@ -2018,6 +2173,34 @@ const createSpacingMiddleware = ({ spacingMultiplier }) => element => {
2018
2173
  };
2019
2174
 
2020
2175
 
2176
+ /***/ }),
2177
+
2178
+ /***/ "./src/css/middlewares/stack-at-rule.ts":
2179
+ /*!**********************************************!*\
2180
+ !*** ./src/css/middlewares/stack-at-rule.ts ***!
2181
+ \**********************************************/
2182
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2183
+
2184
+ __webpack_require__.r(__webpack_exports__);
2185
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2186
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* binding */ createStackAtRuleMiddleware)
2187
+ /* harmony export */ });
2188
+ /* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./factory */ "./src/css/middlewares/factory.ts");
2189
+
2190
+ const createStackAtRuleMiddleware = ({ spacingMultiplier = 0, }) => (0,_factory__WEBPACK_IMPORTED_MODULE_0__.createAtRuleMiddleware)({
2191
+ name: 'stack',
2192
+ transform: args => {
2193
+ 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;
2197
+ declarations.push(`gap:${gap};`);
2198
+ }
2199
+ return declarations.join('');
2200
+ },
2201
+ });
2202
+
2203
+
2021
2204
  /***/ }),
2022
2205
 
2023
2206
  /***/ "./src/css/processor.ts":
@@ -2033,12 +2216,19 @@ __webpack_require__.r(__webpack_exports__);
2033
2216
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Serializer.js");
2034
2217
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js");
2035
2218
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Middleware.js");
2036
- /* harmony import */ var _middlewares__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./middlewares */ "./src/css/middlewares.ts");
2219
+ /* harmony import */ var _middlewares__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./middlewares */ "./src/css/middlewares/index.ts");
2037
2220
 
2038
2221
 
2039
- const processCss = (rawCss, selector, { spacingMultiplier = 0 } = {}) => {
2222
+ const processCss = (rawCss, selector, { spacingMultiplier } = {}) => {
2040
2223
  const scopedCss = selector ? `${selector}{${rawCss}}` : rawCss;
2041
- const middlewares = [(0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware)({ spacingMultiplier }), stylis__WEBPACK_IMPORTED_MODULE_1__.stringify];
2224
+ const middlewares = [
2225
+ (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createStackAtRuleMiddleware)({ spacingMultiplier }),
2226
+ (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createInlineAtRuleMiddleware)({ spacingMultiplier }),
2227
+ (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createCenterAtRuleMiddleware)(),
2228
+ (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createAbsoluteFillAtRuleMiddleware)(),
2229
+ (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware)({ spacingMultiplier }),
2230
+ stylis__WEBPACK_IMPORTED_MODULE_1__.stringify,
2231
+ ];
2042
2232
  return (0,stylis__WEBPACK_IMPORTED_MODULE_1__.serialize)((0,stylis__WEBPACK_IMPORTED_MODULE_2__.compile)(scopedCss), (0,stylis__WEBPACK_IMPORTED_MODULE_3__.middleware)(middlewares));
2043
2233
  };
2044
2234
 
@@ -2802,8 +2992,12 @@ __webpack_require__.r(__webpack_exports__);
2802
2992
  /* harmony export */ checkIsThemeColorValue: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.checkIsThemeColorValue),
2803
2993
  /* harmony export */ combineClassNames: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.combineClassNames),
2804
2994
  /* harmony export */ convertHexToHexWithAlpha: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.convertHexToHexWithAlpha),
2995
+ /* harmony export */ createAbsoluteFillAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFillAtRuleMiddleware),
2996
+ /* harmony export */ createCenterAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createCenterAtRuleMiddleware),
2805
2997
  /* harmony export */ createGlobalStyle: () => (/* reexport safe */ _global_style__WEBPACK_IMPORTED_MODULE_6__.createGlobalStyle),
2998
+ /* harmony export */ createInlineAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createInlineAtRuleMiddleware),
2806
2999
  /* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createSpacingMiddleware),
3000
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createStackAtRuleMiddleware),
2807
3001
  /* harmony export */ css: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.css),
2808
3002
  /* harmony export */ filterNonHtmlAttrs: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.filterNonHtmlAttrs),
2809
3003
  /* harmony export */ generateId: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.generateId),