@kolkrabbi/kol-component 0.104.1 → 0.104.2
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/package.json +1 -1
- package/src/organisms/ContentFilters.jsx +13 -11
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-component",
|
|
3
|
-
"version": "0.104.
|
|
3
|
+
"version": "0.104.2",
|
|
4
4
|
"description": "KOL design-system components — atoms through organisms, emitting canonical kol-* classes. Pairs with @kolkrabbi/kol-theme for styling.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -40,10 +40,10 @@ import IconFrame from '../atoms/IconFrame.jsx'
|
|
|
40
40
|
* Look seams — all default to the shipped values, pass nothing and nothing changes:
|
|
41
41
|
* @param {string} props.titleClassName — header title type/ink
|
|
42
42
|
* @param {boolean} props.titleUppercase — cases the title (default false)
|
|
43
|
-
* @param {string} props.labelClassName — filter-group label type/ink
|
|
43
|
+
* @param {string} props.labelClassName — filter-group label type/ink (default `kol-eyebrow text-fg-96`)
|
|
44
44
|
* @param {boolean} props.labelUppercase — cases the group label (default true)
|
|
45
|
-
* groups: `{ label, key, values, stack?, className?, wrapClassName? }` —
|
|
46
|
-
*
|
|
45
|
+
* groups: `{ label, key, values, stack?, className?, wrapClassName? }` — a short group (≤ 6 values) hugs its chips,
|
|
46
|
+
* a long one flows; `stack` pins either way; `className` / `wrapClassName` are per-group seams
|
|
47
47
|
* @param {string} props.tagVariant — filter chip variant ('primary' grey fill)
|
|
48
48
|
* @param {string} props.tagSize — filter chip size
|
|
49
49
|
* @param {string} props.tagActiveClassName — chip ink, selected
|
|
@@ -104,7 +104,10 @@ const ContentFilters = ({
|
|
|
104
104
|
* titles wrap can move to `kol-mono-14` without losing the casing. */
|
|
105
105
|
titleClassName = 'kol-helper-14',
|
|
106
106
|
titleUppercase = true,
|
|
107
|
-
|
|
107
|
+
/* the category label is the EYEBROW role (ContentFiltersEqualColumns, what stood —
|
|
108
|
+
* kol-fxr 2026-08-27: every section / category label in the app tier is
|
|
109
|
+
* kol-eyebrow; the role carries the uppercase) */
|
|
110
|
+
labelClassName = 'kol-eyebrow text-fg-96',
|
|
108
111
|
labelUppercase = true,
|
|
109
112
|
tagVariant = 'primary',
|
|
110
113
|
tagSize = 'sm',
|
|
@@ -243,12 +246,11 @@ const ContentFilters = ({
|
|
|
243
246
|
) : null
|
|
244
247
|
|
|
245
248
|
const renderFilterGroup = (group) => {
|
|
246
|
-
/*
|
|
247
|
-
* 2026-08-27
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
|
|
251
|
-
const stacked = group.stack === true
|
|
249
|
+
/* the FIRST group hugs its chips, the rest flow (the ruled shape — /prints;
|
|
250
|
+
* ContentFiltersEqualColumns was withdrawn 2026-08-27 same day: the "equal
|
|
251
|
+
* columns" ask was a misread). A short group (≤ 6) hugs by default;
|
|
252
|
+
* `stack` pins either way (kol-fxr passes `stack: i === 0`). */
|
|
253
|
+
const stacked = group.stack ?? (group.values?.length ?? 0) <= 6
|
|
252
254
|
return (
|
|
253
255
|
<div key={group.key} className={`flex flex-col gap-3 ${stacked ? 'shrink-0' : 'min-w-0 flex-1'} ${group.className ?? ''}`.trim()}>
|
|
254
256
|
{/* THE CATEGORY LABEL IS THE ACTIVE INK — `kol-helper-12` at `text-fg-96`,
|
|
@@ -261,7 +263,7 @@ const ContentFilters = ({
|
|
|
261
263
|
* never what anyone looked at. No inline letter-spacing: the helper ramp
|
|
262
264
|
* carries its own, and the override the fork added was not in the
|
|
263
265
|
* rendered path either. */}
|
|
264
|
-
<h4 className={labelClassName} style={labelUppercase ? { textTransform: 'uppercase' } : undefined}>
|
|
266
|
+
<h4 className={labelClassName} style={labelUppercase && !/\bkol-eyebrow\b/.test(labelClassName) ? { textTransform: 'uppercase' } : undefined}>
|
|
265
267
|
{group.label}
|
|
266
268
|
</h4>
|
|
267
269
|
{/* the fluid group keeps 48px of room on its right (it ran flush to the
|