@react-hive/honey-style 2.3.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,15 +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),
1963
- /* harmony export */ createStackMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createStackMiddleware),
1967
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _middlewares__WEBPACK_IMPORTED_MODULE_2__.createStackAtRuleMiddleware),
1964
1968
  /* harmony export */ css: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_4__.css),
1965
1969
  /* harmony export */ mediaQuery: () => (/* reexport safe */ _at_rules__WEBPACK_IMPORTED_MODULE_5__.mediaQuery),
1966
1970
  /* harmony export */ processCss: () => (/* reexport safe */ _processor__WEBPACK_IMPORTED_MODULE_3__.processCss)
1967
1971
  /* harmony export */ });
1968
1972
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./src/css/types.ts");
1969
1973
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/css/constants.ts");
1970
- /* 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");
1971
1975
  /* harmony import */ var _processor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./processor */ "./src/css/processor.ts");
1972
1976
  /* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./css */ "./src/css/css.ts");
1973
1977
  /* harmony import */ var _at_rules__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./at-rules */ "./src/css/at-rules/index.ts");
@@ -1981,23 +1985,172 @@ __webpack_require__.r(__webpack_exports__);
1981
1985
 
1982
1986
  /***/ }),
1983
1987
 
1984
- /***/ "./src/css/middlewares.ts":
1985
- /*!********************************!*\
1986
- !*** ./src/css/middlewares.ts ***!
1987
- \********************************/
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
+ \****************************************/
1988
2142
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1989
2143
 
1990
2144
  __webpack_require__.r(__webpack_exports__);
1991
2145
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1992
- /* harmony export */ createSpacingMiddleware: () => (/* binding */ createSpacingMiddleware),
1993
- /* harmony export */ createStackMiddleware: () => (/* binding */ createStackMiddleware)
2146
+ /* harmony export */ createSpacingMiddleware: () => (/* binding */ createSpacingMiddleware)
1994
2147
  /* harmony export */ });
1995
- /* 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");
1996
2149
 
1997
2150
  const toKebabCase = (str) => str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
1998
2151
  const KEBAB_CASE_SPACING_PROPERTIES = _constants__WEBPACK_IMPORTED_MODULE_0__.CSS_SPACING_PROPERTIES.map(toKebabCase);
1999
- const createSpacingMiddleware = ({ spacingMultiplier }) => element => {
2000
- if (!spacingMultiplier || element.type !== 'decl') {
2152
+ const createSpacingMiddleware = ({ spacingMultiplier = 0 }) => element => {
2153
+ if (element.type !== 'decl') {
2001
2154
  return;
2002
2155
  }
2003
2156
  if (typeof element.props === 'string' &&
@@ -2018,23 +2171,34 @@ const createSpacingMiddleware = ({ spacingMultiplier }) => element => {
2018
2171
  element.return = `${element.props}:${transformed};`;
2019
2172
  }
2020
2173
  };
2021
- const createStackMiddleware = ({ spacingMultiplier = 0 }) => element => {
2022
- if (element.parent?.type !== 'rule' || element.type !== '@honey-stack') {
2023
- return;
2024
- }
2025
- const match = element.value.match(`^${element.type}\\s*\\(\\s*([^)]+?)\\s*\\)`);
2026
- if (!match) {
2027
- return;
2028
- }
2029
- const rawGap = match[1].trim();
2030
- // Matches values like: 1.5, -2, 10px, 0.25rem, 5%, etc.
2031
- const hasUnit = /[a-z%]+$/i.test(rawGap);
2032
- const gapValue = hasUnit ? rawGap : `${parseFloat(rawGap) * spacingMultiplier}px`;
2033
- const parentSelector = element.parent?.value;
2034
- // Transform @honey-stack(...) into three normal declarations
2035
- element.type = 'decl';
2036
- element.return = `${parentSelector}{display:flex;flex-direction:column;gap:${gapValue};}`;
2037
- };
2174
+
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
+ });
2038
2202
 
2039
2203
 
2040
2204
  /***/ }),
@@ -2052,14 +2216,17 @@ __webpack_require__.r(__webpack_exports__);
2052
2216
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Serializer.js");
2053
2217
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Parser.js");
2054
2218
  /* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/src/Middleware.js");
2055
- /* 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");
2056
2220
 
2057
2221
 
2058
- const processCss = (rawCss, selector, { spacingMultiplier = 0 } = {}) => {
2222
+ const processCss = (rawCss, selector, { spacingMultiplier } = {}) => {
2059
2223
  const scopedCss = selector ? `${selector}{${rawCss}}` : rawCss;
2060
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)(),
2061
2229
  (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createSpacingMiddleware)({ spacingMultiplier }),
2062
- (0,_middlewares__WEBPACK_IMPORTED_MODULE_0__.createStackMiddleware)({ spacingMultiplier }),
2063
2230
  stylis__WEBPACK_IMPORTED_MODULE_1__.stringify,
2064
2231
  ];
2065
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));
@@ -2825,9 +2992,12 @@ __webpack_require__.r(__webpack_exports__);
2825
2992
  /* harmony export */ checkIsThemeColorValue: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.checkIsThemeColorValue),
2826
2993
  /* harmony export */ combineClassNames: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.combineClassNames),
2827
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),
2828
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),
2829
2999
  /* harmony export */ createSpacingMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createSpacingMiddleware),
2830
- /* harmony export */ createStackMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createStackMiddleware),
3000
+ /* harmony export */ createStackAtRuleMiddleware: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.createStackAtRuleMiddleware),
2831
3001
  /* harmony export */ css: () => (/* reexport safe */ _css__WEBPACK_IMPORTED_MODULE_5__.css),
2832
3002
  /* harmony export */ filterNonHtmlAttrs: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.filterNonHtmlAttrs),
2833
3003
  /* harmony export */ generateId: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_8__.generateId),