@starci/grammar 0.9.5 → 0.9.8
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/LICENSE +21 -21
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +129 -1
- package/dist/common/components-navigation.css +101 -0
- package/dist/common/components-overlays.css +17 -0
- package/dist/common/registry.d.ts +16 -16
- package/dist/common/renderers-forms.d.ts +7 -7
- package/dist/common/renderers-navigation.d.ts +5 -5
- package/dist/common/renderers-overlays.d.ts +1 -1
- package/dist/common/renderers.d.ts +1 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +1 -1
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +14 -0
- package/dist/core/branch/ComboBox/index.d.ts +1 -1
- package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
- package/dist/core/branch/ComboBox/index.js +14 -1
- package/dist/core/branch/ComboBox/index.js.map +1 -1
- package/dist/core/branch/Disclosure/index.d.ts +6 -1
- package/dist/core/branch/Disclosure/index.d.ts.map +1 -1
- package/dist/core/branch/Disclosure/index.js +5 -3
- package/dist/core/branch/Disclosure/index.js.map +1 -1
- package/dist/core/branch/ListBox/index.d.ts +9 -1
- package/dist/core/branch/ListBox/index.d.ts.map +1 -1
- package/dist/core/branch/ListBox/index.js +8 -2
- package/dist/core/branch/ListBox/index.js.map +1 -1
- package/dist/core/branch/Select/index.d.ts +6 -1
- package/dist/core/branch/Select/index.d.ts.map +1 -1
- package/dist/core/branch/Select/index.js +15 -4
- package/dist/core/branch/Select/index.js.map +1 -1
- package/dist/core/composite/Breadcrumbs/index.d.ts +5 -0
- package/dist/core/composite/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/core/composite/Breadcrumbs/index.js +3 -2
- package/dist/core/composite/Breadcrumbs/index.js.map +1 -1
- package/dist/core/composite/ChatBubble/index.d.ts +21 -3
- package/dist/core/composite/ChatBubble/index.d.ts.map +1 -1
- package/dist/core/composite/ChatBubble/index.js +10 -1
- package/dist/core/composite/ChatBubble/index.js.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.d.ts +6 -1
- package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.js +2 -2
- package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
- package/dist/core/composite/SegmentedControl/index.d.ts +6 -1
- package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
- package/dist/core/composite/SegmentedControl/index.js +5 -2
- package/dist/core/composite/SegmentedControl/index.js.map +1 -1
- package/dist/core/composite/Stepper/index.d.ts +7 -1
- package/dist/core/composite/Stepper/index.d.ts.map +1 -1
- package/dist/core/composite/Stepper/index.js +2 -1
- package/dist/core/composite/Stepper/index.js.map +1 -1
- package/dist/core/composite/Timeline/index.d.ts +8 -1
- package/dist/core/composite/Timeline/index.d.ts.map +1 -1
- package/dist/core/composite/Timeline/index.js +2 -1
- package/dist/core/composite/Timeline/index.js.map +1 -1
- package/dist/core/primitive/Avatar/index.d.ts +6 -1
- package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
- package/dist/core/primitive/Avatar/index.js +2 -1
- package/dist/core/primitive/Avatar/index.js.map +1 -1
- package/dist/core/primitive/Field/index.d.ts +24 -0
- package/dist/core/primitive/Field/index.d.ts.map +1 -1
- package/dist/core/primitive/Field/index.js +15 -1
- package/dist/core/primitive/Field/index.js.map +1 -1
- package/dist/core/primitive/Input/index.d.ts +20 -3
- package/dist/core/primitive/Input/index.d.ts.map +1 -1
- package/dist/core/primitive/Input/index.js +13 -4
- package/dist/core/primitive/Input/index.js.map +1 -1
- package/dist/core/primitive/Meter/index.d.ts +7 -1
- package/dist/core/primitive/Meter/index.d.ts.map +1 -1
- package/dist/core/primitive/Meter/index.js +5 -1
- package/dist/core/primitive/Meter/index.js.map +1 -1
- package/dist/core/primitive/NumberField/index.d.ts +6 -1
- package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
- package/dist/core/primitive/NumberField/index.js +2 -2
- package/dist/core/primitive/NumberField/index.js.map +1 -1
- package/dist/core/primitive/SearchField/index.d.ts +13 -1
- package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
- package/dist/core/primitive/SearchField/index.js +2 -2
- package/dist/core/primitive/SearchField/index.js.map +1 -1
- package/dist/core/primitive/SectionHeader/index.d.ts +8 -1
- package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -1
- package/dist/core/primitive/SectionHeader/index.js +2 -1
- package/dist/core/primitive/SectionHeader/index.js.map +1 -1
- package/dist/core/primitive/Switch/index.d.ts +6 -1
- package/dist/core/primitive/Switch/index.d.ts.map +1 -1
- package/dist/core/primitive/Switch/index.js +2 -2
- package/dist/core/primitive/Switch/index.js.map +1 -1
- package/dist/core/primitive/Textarea/index.d.ts +13 -1
- package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
- package/dist/core/primitive/Textarea/index.js +10 -4
- package/dist/core/primitive/Textarea/index.js.map +1 -1
- package/dist/offset-pop/components-forms.css +29 -0
- package/dist/offset-pop/components-navigation.css +7 -0
- package/package.json +2 -2
package/dist/common/renderers.js
CHANGED
|
@@ -36,7 +36,7 @@ export { OtpInput } from "../core/OtpInput.js";
|
|
|
36
36
|
export { StaticStateRow } from "../core/composite/StaticStateRow/index.js";
|
|
37
37
|
export { ListRow } from "../core/composite/ListRow/index.js";
|
|
38
38
|
export { EmptyNotice } from "../core/composite/EmptyNotice/index.js";
|
|
39
|
-
export { ChatBubble } from "../core/composite/ChatBubble/index.js";
|
|
39
|
+
export { ChatBubble, ChatBubbleSkeletons } from "../core/composite/ChatBubble/index.js";
|
|
40
40
|
export { FillViewport } from "../core/composite/FillViewport/index.js";
|
|
41
41
|
export { HorizontalScrollRegion } from "../core/composite/HorizontalScrollRegion/index.js";
|
|
42
42
|
export { VerticalScrollRegion } from "../core/composite/VerticalScrollRegion/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAmC,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAA0E,MAAM,mCAAmC,CAAA;AAClI,OAAO,EAAE,OAAO,EAA4C,MAAM,oCAAoC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAiD,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAwC,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAkB,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAA2D,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAyE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAA4D,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAgD,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAA6C,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAsD,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAA4B,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAA6F,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,UAAU,EAAwE,MAAM,uCAAuC,CAAA;AACxI,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,UAAU,EAAwB,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,eAAe,EAA6D,MAAM,4CAA4C,CAAA;AACvI,OAAO,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAA+C,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAA8B,MAAM,6CAA6C,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAA+B,MAAM,gDAAgD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,EAAkC,MAAM,mDAAmD,CAAA;AACxH,OAAO,EAAE,OAAO,EAA0D,MAAM,sCAAsC,CAAA;AACtH,OAAO,EAAE,cAAc,EAA+D,MAAM,6CAA6C,CAAA;AACzI,OAAO,EAAE,aAAa,EAA2B,MAAM,4CAA4C,CAAA;AACnG,OAAO,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAsB,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAsE,MAAM,2CAA2C,CAAA;AAC9I,OAAO,EAAE,OAAO,EAAqB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAmC,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAA0E,MAAM,mCAAmC,CAAA;AAClI,OAAO,EAAE,OAAO,EAA4C,MAAM,oCAAoC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAiD,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAwC,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAkB,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAA2D,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAyE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAA4D,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAgD,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAA6C,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAsD,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAA4B,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAA6F,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,UAAU,EAAwE,MAAM,uCAAuC,CAAA;AACxI,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,UAAU,EAAwB,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,eAAe,EAA6D,MAAM,4CAA4C,CAAA;AACvI,OAAO,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAA+C,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAA8B,MAAM,6CAA6C,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAA+B,MAAM,gDAAgD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,EAAkC,MAAM,mDAAmD,CAAA;AACxH,OAAO,EAAE,OAAO,EAA0D,MAAM,sCAAsC,CAAA;AACtH,OAAO,EAAE,cAAc,EAA+D,MAAM,6CAA6C,CAAA;AACzI,OAAO,EAAE,aAAa,EAA2B,MAAM,4CAA4C,CAAA;AACnG,OAAO,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAsB,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAsE,MAAM,2CAA2C,CAAA;AAC9I,OAAO,EAAE,OAAO,EAAqB,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAA4E,MAAM,uCAAuC,CAAA;AACjK,OAAO,EAAE,YAAY,EAAoF,MAAM,yCAAyC,CAAA;AACxJ,OAAO,EAAE,sBAAsB,EAAoC,MAAM,mDAAmD,CAAA;AAC5H,OAAO,EAAE,oBAAoB,EAAkC,MAAM,iDAAiD,CAAA;AACtH,OAAO,EAAE,WAAW,EAA+C,MAAM,qCAAqC,CAAA;AAE9G,OAAO,EAAE,eAAe,EAAyD,MAAM,yCAAyC,CAAA;AAChI,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAsF,MAAM,yCAAyC,CAAA;AAClM,OAAO,EAAE,oBAAoB,EAAiE,MAAM,8CAA8C,CAAA;AAClJ,OAAO,EAAE,IAAI,EAAkB,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAoB,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,IAAI,EAAgC,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,OAAO,EAA4C,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAC9N,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA"}
|
package/dist/common/styles.css
CHANGED
|
@@ -324,6 +324,15 @@
|
|
|
324
324
|
overflow-wrap: anywhere;
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
+
/* Loading header (knowledge STATE-8): the same ranks and sizes, the copy drawn as Skeleton text, the action as a footprint. */
|
|
328
|
+
.starci-core-section-skeleton-title > .starci-core-skeleton-group { inline-size: min(60%, 20rem); }
|
|
329
|
+
.starci-core-section-skeleton-title .starci-core-skeleton { block-size: 1em; }
|
|
330
|
+
.starci-core-section-skeleton-description > .starci-core-skeleton-group { inline-size: min(90%, 28rem); }
|
|
331
|
+
.starci-core-section-skeleton-meta > .starci-core-skeleton-group { inline-size: 6rem; }
|
|
332
|
+
.starci-core-section-skeleton-meta .starci-core-skeleton { block-size: 0.75rem; }
|
|
333
|
+
.starci-core-section-skeleton-action { display: block; inline-size: 6rem; block-size: 2.5rem; }
|
|
334
|
+
.starci-core-section-skeleton-action > .starci-core-skeleton { block-size: 100%; aspect-ratio: auto; border-radius: 0.5rem; }
|
|
335
|
+
|
|
327
336
|
/*
|
|
328
337
|
* Keyboard-reachable scroll owners (VerticalScrollRegion / HorizontalScrollRegion when focusable,
|
|
329
338
|
* the Rail body, fenced code and Markdown table frames) draw the same inset focus ring the chat
|
|
@@ -3469,6 +3478,11 @@
|
|
|
3469
3478
|
.starci-core-chat-bubble-actions { transition: none; }
|
|
3470
3479
|
}
|
|
3471
3480
|
|
|
3481
|
+
/* Loading bubble (knowledge STATE-8): the face on its side with two Skeleton lines; a thread alternates sides. */
|
|
3482
|
+
.starci-core-chat-bubble-skeleton-body { inline-size: min(18rem, 70vw); white-space: normal; }
|
|
3483
|
+
.starci-core-chat-bubble-skeleton-body .starci-core-skeleton { block-size: 0.875rem; }
|
|
3484
|
+
.starci-core-chat-bubble-thread { display: flex; min-width: 0; flex-direction: column; gap: 1rem; }
|
|
3485
|
+
|
|
3472
3486
|
@media (forced-colors: active) {
|
|
3473
3487
|
.starci-core-chat-bubble-body { border: 1px solid CanvasText; }
|
|
3474
3488
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ComboBox/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ComboBox/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEjE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACvD,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,8FAA8F;IAC9F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnD,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;CAC7C,CAAA;AAcD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,0LAgBtB,aAAa,gCA6Df,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ComboBox as HeroComboBox, Input as HeroInput, ListBox as HeroListBox, Spinner as HeroSpinner, } from "@heroui/react";
|
|
4
|
+
import { useState } from "react";
|
|
4
5
|
import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, useGrammarPortal, vendorFieldProps, } from "../../primitive/Field/index.js";
|
|
5
6
|
import { ListOptions } from "../Select/index.js";
|
|
6
7
|
/*
|
|
@@ -21,7 +22,19 @@ import { ListOptions } from "../Select/index.js";
|
|
|
21
22
|
*/
|
|
22
23
|
export const ComboBox = ({ id, options, placeholder, value, defaultValue, onValueChange, inputValue, defaultInputValue, onInputChange, allowsCustomValue = false, emptyState, isPending = false, menuTrigger = "input", variant = "primary", ...field }) => {
|
|
23
24
|
const { anchor, portalProps } = useGrammarPortal();
|
|
24
|
-
|
|
25
|
+
const [chosen, setChosen] = useState(defaultValue ?? null);
|
|
26
|
+
const [typed, setTyped] = useState(null);
|
|
27
|
+
/** The full text of the field: the one-line input ellipsizes, so it keeps the text as its title. */
|
|
28
|
+
const shownKey = value === undefined ? chosen : value;
|
|
29
|
+
const fullText = inputValue ?? typed ?? options.find((option) => option.id === shownKey)?.label;
|
|
30
|
+
return (_jsxs(HeroComboBox, { "data-tier": "branch", "data-component": "ComboBox", "data-contract": "A11Y-1 FIELD-1 FIELD-2 CONTROL-STATE-2", className: "starci-core-field starci-core-combo-box", fullWidth: true, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps({ ...field, isPending }), isReadOnly: field.isReadOnly === true, allowsCustomValue: allowsCustomValue, menuTrigger: menuTrigger, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(inputValue === undefined ? defaultInputValue === undefined ? {} : { defaultInputValue } : { inputValue }), onInputChange: (text) => {
|
|
31
|
+
setTyped(text);
|
|
32
|
+
onInputChange?.(text);
|
|
33
|
+
}, onChange: (key) => {
|
|
34
|
+
setChosen(key === null ? null : String(key));
|
|
35
|
+
setTyped(null);
|
|
36
|
+
onValueChange?.(key === null ? null : String(key));
|
|
37
|
+
}, children: [anchor, _jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsxs(HeroComboBox.InputGroup, { className: "starci-core-combo-box-group", "data-grammar-field-control": "true", children: [_jsx(HeroInput, { ...(id === undefined ? {} : { id }), ...(placeholder === undefined ? {} : { placeholder }), className: "starci-core-combo-box-input", ...(fullText === undefined || fullText === "" ? {} : { title: fullText }), ...(isPending ? { "aria-busy": true } : {}) }), _jsx(HeroComboBox.Trigger, { className: "starci-core-combo-box-trigger", children: isPending ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true", className: "starci-core-field-spinner" }) : undefined })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage }), _jsx(HeroComboBox.Popover, { className: "starci-core-list-popover", "data-grammar-popover": "ComboBox", "data-contract": "LAYOUT-4", ...portalProps, children: _jsx(HeroListBox, { className: "starci-core-list", ...(isPending ? { "aria-busy": true } : {}), ...(emptyState == null ? {} : {
|
|
25
38
|
renderEmptyState: () => _jsx("div", { className: "starci-core-list-empty", "data-grammar-list-empty": "true", "data-contract": "STATE-3", children: emptyState }),
|
|
26
39
|
}), children: _jsx(ListOptions, { options: options }) }) })] }));
|
|
27
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ComboBox/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACH,QAAQ,IAAI,YAAY,EACxB,KAAK,IAAI,SAAS,EAClB,OAAO,IAAI,WAAW,EACtB,OAAO,IAAI,WAAW,GAEzB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ComboBox/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,11 @@ export type DisclosureProps = {
|
|
|
3
3
|
/** The always-visible trigger text. */
|
|
4
4
|
readonly title: ReactNode;
|
|
5
5
|
readonly children: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Muted one-line text at the trailing end of the trigger row (truncated with an ellipsis), visible closed and open: a
|
|
8
|
+
* count, a current value, a status. It is the trigger's accessible DESCRIPTION (`aria-describedby`), not part of its name.
|
|
9
|
+
*/
|
|
10
|
+
readonly summary?: ReactNode;
|
|
6
11
|
/** Controlled expansion. Omit for uncontrolled use with `defaultExpanded`. */
|
|
7
12
|
readonly isExpanded?: boolean;
|
|
8
13
|
readonly defaultExpanded?: boolean;
|
|
@@ -18,5 +23,5 @@ export type DisclosureProps = {
|
|
|
18
23
|
* `data-grammar-disclosure-state` mirrors the open state for the stylesheet.
|
|
19
24
|
* Contract: root STATE-7 (controlled expansion), trigger FOCUS-1, indicator MOTION-2.
|
|
20
25
|
*/
|
|
21
|
-
export declare const Disclosure: ({ title, children, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: DisclosureProps) => import("react").JSX.Element;
|
|
26
|
+
export declare const Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: DisclosureProps) => import("react").JSX.Element;
|
|
22
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Disclosure/index.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Disclosure/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvD,MAAM,MAAM,eAAe,GAAG;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,mHAUxB,eAAe,gCA+BjB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Disclosure as HeroDisclosure } from "@heroui/react";
|
|
4
|
-
import { useState } from "react";
|
|
4
|
+
import { useId, useState } from "react";
|
|
5
5
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
6
6
|
/*
|
|
7
7
|
* Consumer hooks: `starci-core-disclosure-panel`, `starci-core-disclosure-body` name HeroUI parts
|
|
@@ -14,13 +14,15 @@ import { navigationClassName } from "../../navigationClassNames.js";
|
|
|
14
14
|
* `data-grammar-disclosure-state` mirrors the open state for the stylesheet.
|
|
15
15
|
* Contract: root STATE-7 (controlled expansion), trigger FOCUS-1, indicator MOTION-2.
|
|
16
16
|
*/
|
|
17
|
-
export const Disclosure = ({ title, children, isExpanded, defaultExpanded = false, onExpandedChange, isDisabled = false, headingLevel = 3, className, }) => {
|
|
17
|
+
export const Disclosure = ({ title, children, summary, isExpanded, defaultExpanded = false, onExpandedChange, isDisabled = false, headingLevel = 3, className, }) => {
|
|
18
18
|
const [uncontrolled, setUncontrolled] = useState(defaultExpanded);
|
|
19
19
|
const expanded = isExpanded ?? uncontrolled;
|
|
20
|
+
const summaryId = useId();
|
|
21
|
+
const hasSummary = summary !== undefined && summary !== null && summary !== false && summary !== "";
|
|
20
22
|
return (_jsxs(HeroDisclosure, { className: navigationClassName("starci-core-disclosure", className), "data-component": "Disclosure", "data-tier": "branch", "data-contract": "STATE-7", "data-grammar-disclosure-state": expanded ? "open" : "closed", isDisabled: isDisabled, isExpanded: expanded, onExpandedChange: (next) => {
|
|
21
23
|
if (isExpanded === undefined)
|
|
22
24
|
setUncontrolled(next);
|
|
23
25
|
onExpandedChange?.(next);
|
|
24
|
-
}, children: [_jsx(HeroDisclosure.Heading, { className: "starci-core-disclosure-heading", level: headingLevel, children: _jsxs(HeroDisclosure.Trigger, { className: "starci-core-disclosure-trigger", "data-contract": "FOCUS-1", "data-grammar-disclosure-trigger": "true", children: [_jsx("span", { className: "starci-core-disclosure-title", children: title }), _jsx(HeroDisclosure.Indicator, { className: "starci-core-disclosure-indicator", "data-contract": "MOTION-2" })] }) }), _jsx(HeroDisclosure.Content, { className: "starci-core-disclosure-panel", "data-grammar-disclosure-panel": "true", children: _jsx(HeroDisclosure.Body, { className: "starci-core-disclosure-body", children: children }) })] }));
|
|
26
|
+
}, children: [_jsx(HeroDisclosure.Heading, { className: "starci-core-disclosure-heading", level: headingLevel, children: _jsxs(HeroDisclosure.Trigger, { className: "starci-core-disclosure-trigger", "data-contract": "FOCUS-1", "data-grammar-disclosure-trigger": "true", ...(hasSummary ? { "aria-describedby": summaryId } : {}), children: [_jsx("span", { className: "starci-core-disclosure-title", children: title }), hasSummary ? _jsx("span", { id: summaryId, "aria-hidden": "true", className: "starci-core-disclosure-summary", "data-grammar-disclosure-summary": "true", children: summary }) : null, _jsx(HeroDisclosure.Indicator, { className: "starci-core-disclosure-indicator", "data-contract": "MOTION-2" })] }) }), _jsx(HeroDisclosure.Content, { className: "starci-core-disclosure-panel", "data-grammar-disclosure-panel": "true", children: _jsx(HeroDisclosure.Body, { className: "starci-core-disclosure-body", children: children }) })] }));
|
|
25
27
|
};
|
|
26
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Disclosure/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Disclosure/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAqBnE;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,UAAU,GAAG,KAAK,EAClB,YAAY,GAAG,CAAC,EAChB,SAAS,GACK,EAAE,EAAE;IAClB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,UAAU,IAAI,YAAY,CAAA;IAC3C,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IACzB,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,EAAE,CAAA;IACnG,OAAO,CACH,MAAC,cAAc,IACX,SAAS,EAAE,mBAAmB,CAAC,wBAAwB,EAAE,SAAS,CAAC,oBACpD,YAAY,eACjB,QAAQ,mBACJ,SAAS,mCACQ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAC3D,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,QAAQ,EACpB,gBAAgB,EAAE,CAAC,IAAa,EAAE,EAAE;YAChC,IAAI,UAAU,KAAK,SAAS;gBAAE,eAAe,CAAC,IAAI,CAAC,CAAA;YACnD,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC,aAED,KAAC,cAAc,CAAC,OAAO,IAAC,SAAS,EAAC,gCAAgC,EAAC,KAAK,EAAE,YAAY,YAClF,MAAC,cAAc,CAAC,OAAO,IAAC,SAAS,EAAC,gCAAgC,mBAAe,SAAS,qCAAiC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aACvL,eAAM,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAQ,EAC5D,UAAU,CAAC,CAAC,CAAC,eAAM,EAAE,EAAE,SAAS,iBAAc,MAAM,EAAC,SAAS,EAAC,gCAAgC,qCAAiC,MAAM,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC/J,KAAC,cAAc,CAAC,SAAS,IAAC,SAAS,EAAC,kCAAkC,mBAAe,UAAU,GAAG,IAC7E,GACJ,EACzB,KAAC,cAAc,CAAC,OAAO,IAAC,SAAS,EAAC,8BAA8B,mCAA+B,MAAM,YACjG,KAAC,cAAc,CAAC,IAAI,IAAC,SAAS,EAAC,6BAA6B,YAAE,QAAQ,GAAuB,GACxE,IACZ,CACpB,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -18,6 +18,14 @@ export type ListBoxProps = {
|
|
|
18
18
|
readonly onSelectionChange?: (ids: ReadonlyArray<string>) => void;
|
|
19
19
|
readonly onAction?: (id: string) => void;
|
|
20
20
|
readonly emptyContent?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* The options are loading (knowledge STATE-8). With no `items` it draws `loadingRows` skeleton options (a label line and a
|
|
23
|
+
* description line, `aria-hidden`) inside the same named list, which is `aria-busy`; real `items` win, and loading beats
|
|
24
|
+
* `emptyContent`.
|
|
25
|
+
*/
|
|
26
|
+
readonly isLoading?: boolean;
|
|
27
|
+
/** How many skeleton options a loading list draws (default 3, 1 to 12). */
|
|
28
|
+
readonly loadingRows?: number;
|
|
21
29
|
readonly className?: string;
|
|
22
30
|
};
|
|
23
31
|
/**
|
|
@@ -26,5 +34,5 @@ export type ListBoxProps = {
|
|
|
26
34
|
* vendor `aria-selected`; long labels truncate and descriptions wrap at narrow widths.
|
|
27
35
|
* Contract: list FOCUS-2 CONTROL-STATE-3, empty STATE-3, leading glyph ICON-6.
|
|
28
36
|
*/
|
|
29
|
-
export declare const ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, className, }: ListBoxProps) => import("react").JSX.Element;
|
|
37
|
+
export declare const ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading, loadingRows, className, }: ListBoxProps) => import("react").JSX.Element;
|
|
30
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7D,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAID,MAAM,MAAM,YAAY,GAAG;IACvB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,wFAAwF;IACxF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,iJAYrB,YAAY,gCAyDd,CAAA"}
|
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ListBox as HeroListBox } from "@heroui/react";
|
|
4
4
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
5
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
6
|
+
const clampRows = (rows) => Math.min(12, Math.max(1, Math.floor(Number.isFinite(rows) ? rows : 3)));
|
|
5
7
|
/**
|
|
6
8
|
* A list of selectable or actionable rows (`role="listbox"`). Arrow keys, Home/End and typeahead
|
|
7
9
|
* move between rows; Space/Enter select. Each row exposes `data-grammar-selected` and the
|
|
8
10
|
* vendor `aria-selected`; long labels truncate and descriptions wrap at narrow widths.
|
|
9
11
|
* Contract: list FOCUS-2 CONTROL-STATE-3, empty STATE-3, leading glyph ICON-6.
|
|
10
12
|
*/
|
|
11
|
-
export const ListBox = ({ label, items, selectionMode = "single", selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, className, }) => (_jsx(HeroListBox, { "aria-label": label, className: navigationClassName("starci-core-list-box", className), "data-component": "ListBox", "data-contract": "FOCUS-2 CONTROL-STATE-3", "data-tier": "branch", "data-grammar-list-selection": selectionMode, selectionMode: selectionMode, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : {
|
|
13
|
+
export const ListBox = ({ label, items, selectionMode = "single", selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading = false, loadingRows = 3, className, }) => (_jsx(HeroListBox, { "aria-label": label, className: navigationClassName("starci-core-list-box", className), "data-component": "ListBox", "data-contract": "FOCUS-2 CONTROL-STATE-3", "data-tier": "branch", "data-loading": String(isLoading), ...(isLoading ? { render: (domProps) => _jsx("div", { ...domProps, "aria-busy": "true" }) } : {}), "data-grammar-list-selection": selectionMode, selectionMode: selectionMode, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : {
|
|
12
14
|
onSelectionChange: (selection) => onSelectionChange(selection === "all" ? items.map((item) => item.id) : [...selection].map(String)),
|
|
13
|
-
}), ...(onAction === undefined ? {} : { onAction: (key) => onAction(String(key)) }), ...(
|
|
15
|
+
}), ...(onAction === undefined ? {} : { onAction: (key) => onAction(String(key)) }), ...(isLoading
|
|
16
|
+
? {
|
|
17
|
+
renderEmptyState: () => (_jsx("div", { className: "starci-core-list-box-skeleton", "data-grammar-list-skeleton": "true", children: Array.from({ length: clampRows(loadingRows) }, (_, index) => (_jsx("div", { "aria-hidden": "true", className: "starci-core-list-box-item starci-core-list-box-skeleton-option", "data-grammar-skeleton": "true", children: _jsxs("span", { className: "starci-core-list-box-copy", children: [_jsx("span", { className: "starci-core-list-box-label", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("span", { className: "starci-core-list-box-description", children: _jsx(Skeleton, { shape: "text" }) })] }) }, index))) })),
|
|
18
|
+
}
|
|
19
|
+
: emptyContent === undefined ? {} : { renderEmptyState: () => _jsx("div", { className: "starci-core-list-box-empty", "data-contract": "STATE-3", "data-grammar-list-empty": "true", children: emptyContent }) }), children: items.map((item) => (_jsx(HeroListBox.Item, { id: item.id, className: "starci-core-list-box-item", "data-grammar-list-item": "true", textValue: item.label, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: ({ isSelected }) => (_jsxs("span", { className: "starci-core-list-box-row", "data-grammar-selected": isSelected ? "true" : "false", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-list-box-leading", "data-contract": "ICON-6", children: item.leading }), _jsxs("span", { className: "starci-core-list-box-copy", children: [_jsx("span", { className: "starci-core-list-box-label", children: item.label }), item.description === undefined ? null : _jsx("span", { className: "starci-core-list-box-description", children: item.description })] }), item.trailing === undefined ? null : _jsx("span", { className: "starci-core-list-box-trailing", children: item.trailing }), selectionMode === "none" ? null : _jsx(HeroListBox.ItemIndicator, { className: "starci-core-list-box-indicator" })] })) }, item.id))) }));
|
|
14
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,IAAI,WAAW,EAAkB,MAAM,eAAe,CAAA;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,11 @@ export type SelectProps = FieldControlProps & {
|
|
|
15
15
|
readonly onValueChange?: (value: string | null) => void;
|
|
16
16
|
/** Options are still arriving. The trigger stays named and focusable, announces pending, and does not open. */
|
|
17
17
|
readonly isPending?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Initial unresolved content (knowledge STATE-8): the label stays real and the trigger becomes a Skeleton field of the
|
|
20
|
+
* same height, `aria-hidden` and not focusable; the root is `aria-busy`. Unlike `isPending` it does not announce a value.
|
|
21
|
+
*/
|
|
22
|
+
readonly isSkeleton?: boolean;
|
|
18
23
|
/** Layer variant: `secondary` when the control sits on a surface (ANATOMY-2 case-1). */
|
|
19
24
|
readonly variant?: "primary" | "secondary";
|
|
20
25
|
};
|
|
@@ -29,5 +34,5 @@ export declare const ListOptions: ({ options }: {
|
|
|
29
34
|
* trigger focusable and announced but holds the value and never opens the list; the vendor select
|
|
30
35
|
* has no read-only mode of its own.
|
|
31
36
|
*/
|
|
32
|
-
export declare const Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, variant, ...field }: SelectProps) => import("react").JSX.Element;
|
|
37
|
+
export declare const Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, isSkeleton, variant, ...field }: SelectProps) => import("react").JSX.Element;
|
|
33
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Select/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Select/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAQH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AAEvC,yGAAyG;AACzG,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC1C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACvD,+GAA+G;IAC/G,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;CAC7C,CAAA;AAID,sFAAsF;AACtF,eAAO,MAAM,WAAW,GAAI,aAAa;IAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;CAAE,gCAqBvF,CAAA;AAeD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAI,wGAUpB,WAAW,gCA+Db,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { ListBox as HeroListBox, Select as HeroSelect, Spinner as HeroSpinner, } from "@heroui/react";
|
|
4
4
|
import { useState } from "react";
|
|
5
|
-
import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, useGrammarPortal, vendorFieldProps, } from "../../primitive/Field/index.js";
|
|
5
|
+
import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, fieldVariantAttributes, useGrammarPortal, vendorFieldProps, } from "../../primitive/Field/index.js";
|
|
6
6
|
const toValue = (key) => (key === null ? null : String(key));
|
|
7
7
|
/** Renders the options as vendor list-box items with the selected-state indicator. */
|
|
8
8
|
export const ListOptions = ({ options }) => (_jsx(_Fragment, { children: options.map((option) => (_jsxs(HeroListBox.Item, { id: option.id, textValue: option.label, isDisabled: option.isDisabled === true, className: "starci-core-list-option", "data-grammar-option": "true", children: [_jsxs("span", { className: "starci-core-list-option-copy", children: [_jsx("span", { className: "starci-core-list-option-label", children: option.label }), option.description == null ? null : (_jsx("span", { className: "starci-core-list-option-description", children: option.description }))] }), _jsx(HeroListBox.ItemIndicator, {})] }, option.id))) }));
|
|
@@ -24,17 +24,28 @@ export const ListOptions = ({ options }) => (_jsx(_Fragment, { children: options
|
|
|
24
24
|
* trigger focusable and announced but holds the value and never opens the list; the vendor select
|
|
25
25
|
* has no read-only mode of its own.
|
|
26
26
|
*/
|
|
27
|
-
export const Select = ({ options, placeholder, value, defaultValue, onValueChange, isPending = false, variant = "primary", ...field }) => {
|
|
27
|
+
export const Select = ({ options, placeholder, value, defaultValue, onValueChange, isPending = false, isSkeleton = false, variant = "primary", ...field }) => {
|
|
28
28
|
const [heldValue] = useState(value ?? defaultValue ?? null);
|
|
29
|
+
const [chosen, setChosen] = useState(defaultValue ?? null);
|
|
30
|
+
const shownKey = value === undefined ? chosen : value;
|
|
31
|
+
/** The full selected text: the one-line value ellipsizes, so the trigger keeps it as its title. */
|
|
32
|
+
const selectedText = options.find((option) => option.id === shownKey)?.label;
|
|
29
33
|
const { anchor, portalProps } = useGrammarPortal();
|
|
30
34
|
const readOnly = field.isReadOnly === true;
|
|
31
35
|
const selection = readOnly
|
|
32
36
|
? { value: value === undefined ? heldValue : value }
|
|
33
37
|
: value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value };
|
|
38
|
+
if (isSkeleton) {
|
|
39
|
+
return _jsx(FieldSkeleton, { component: "Select", tier: "branch", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "select", className: "starci-core-select" });
|
|
40
|
+
}
|
|
34
41
|
return (_jsxs(HeroSelect, { "data-tier": "branch", "data-component": "Select", "data-contract": "A11Y-1 FIELD-3 STATE-6 CONTROL-STATE-2", className: "starci-core-field starci-core-select", fullWidth: true, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps({ ...field, isPending }), ...(placeholder === undefined ? {} : { placeholder }), ...selection, ...(readOnly ? { isOpen: false } : {}), onChange: (key) => {
|
|
35
|
-
if (!readOnly)
|
|
42
|
+
if (!readOnly) {
|
|
43
|
+
setChosen(toValue(key));
|
|
36
44
|
onValueChange?.(toValue(key));
|
|
37
|
-
|
|
45
|
+
}
|
|
46
|
+
}, children: [anchor, _jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsxs(HeroSelect.Trigger, { className: "starci-core-select-trigger", "data-grammar-field-control": "true", isPending: isPending, children: [_jsx(HeroSelect.Value, { className: "starci-core-select-value", children: ({ defaultChildren, isPlaceholder }) => (selectedText === undefined || isPlaceholder
|
|
47
|
+
? defaultChildren
|
|
48
|
+
: _jsx("span", { className: "starci-core-select-value-text", title: selectedText, children: defaultChildren })) }), isPending
|
|
38
49
|
? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true", className: "starci-core-field-spinner" })
|
|
39
50
|
: _jsx(HeroSelect.Indicator, { className: "starci-core-select-indicator" })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage }), _jsx(HeroSelect.Popover, { className: "starci-core-list-popover", "data-grammar-popover": "Select", "data-contract": "LAYOUT-4", ...portalProps, children: _jsx(HeroListBox, { className: "starci-core-list", children: _jsx(ListOptions, { options: options }) }) })] }));
|
|
40
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Select/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACH,OAAO,IAAI,WAAW,EACtB,MAAM,IAAI,UAAU,EACpB,OAAO,IAAI,WAAW,GAEzB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAChD,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Select/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ export type BreadcrumbItem = {
|
|
|
5
5
|
/** Ancestors carry a destination; the last item is the current page and needs none. */
|
|
6
6
|
readonly href?: string;
|
|
7
7
|
readonly leading?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* A data-driven crumb (usually the current page) whose label is not known yet (knowledge STATE-8): it draws a short
|
|
10
|
+
* Skeleton text line in place of `label` and `leading`, `aria-hidden`, and carries no link. The other crumbs stay real.
|
|
11
|
+
*/
|
|
12
|
+
readonly isSkeleton?: true;
|
|
8
13
|
};
|
|
9
14
|
export type BreadcrumbsProps = {
|
|
10
15
|
/** Names the trail landmark, e.g. "Breadcrumb". */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC7C,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,kDAAkD,gBAAgB,gCA0C7F,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Breadcrumbs as HeroBreadcrumbs } from "@heroui/react";
|
|
4
4
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
5
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
5
6
|
/**
|
|
6
7
|
* The hierarchical trail to the current page.
|
|
7
8
|
*
|
|
@@ -11,6 +12,6 @@ import { navigationClassName } from "../../navigationClassNames.js";
|
|
|
11
12
|
*/
|
|
12
13
|
export const Breadcrumbs = ({ label, items, separator, onAction, className }) => (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-breadcrumbs", className), "data-component": "Breadcrumbs", "data-contract": "LAYOUT-3 OVERFLOW-3", "data-tier": "composite", children: _jsx(HeroBreadcrumbs, { className: "starci-core-breadcrumbs-list", ...(separator === undefined ? {} : { separator }), ...(onAction === undefined ? {} : { onAction: (key) => onAction(String(key)) }), children: items.map((item, index) => {
|
|
13
14
|
const isCurrent = index === items.length - 1;
|
|
14
|
-
return (_jsx(HeroBreadcrumbs.Item, { id: item.id, className: "starci-core-breadcrumb", "data-contract": "ACTION-3", ...(item.href === undefined || isCurrent ? {} : { href: item.href }), children:
|
|
15
|
+
return (_jsx(HeroBreadcrumbs.Item, { id: item.id, className: "starci-core-breadcrumb", "data-contract": "ACTION-3", ...(item.href === undefined || isCurrent || item.isSkeleton === true ? {} : { href: item.href }), children: _jsx("span", { className: "starci-core-breadcrumb-label", "data-grammar-breadcrumb": "true", "data-grammar-current": isCurrent ? "true" : "false", children: item.isSkeleton === true ? (_jsx("span", { "aria-hidden": "true", className: "starci-core-breadcrumb-skeleton", "data-grammar-skeleton": "true", children: _jsx(Skeleton, { shape: "text" }) })) : (_jsxs(_Fragment, { children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-breadcrumb-leading", "data-contract": "ICON-6", children: item.leading }), item.label] })) }) }, item.id));
|
|
15
16
|
}) }) }));
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA0B5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAoB,EAAE,EAAE,CAAC,CAC/F,4BACgB,KAAK,EACjB,SAAS,EAAE,mBAAmB,CAAC,yBAAyB,EAAE,SAAS,CAAC,oBACrD,aAAa,mBACd,qBAAqB,eACzB,WAAW,YAErB,KAAC,eAAe,IACZ,SAAS,EAAC,8BAA8B,KACpC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAC9C,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAoB,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAEhG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,SAAS,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAC5C,OAAO,CACH,KAAC,eAAe,CAAC,IAAI,IAEjB,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,SAAS,EAAC,wBAAwB,mBACpB,UAAU,KACpB,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAEjG,eACI,SAAS,EAAC,8BAA8B,6BAChB,MAAM,0BACR,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAEjD,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CACxB,8BAAkB,MAAM,EAAC,SAAS,EAAC,iCAAiC,2BAAuB,MAAM,YAAC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,GAAG,GAAO,CACrI,CAAC,CAAC,CAAC,CACA,8BACK,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAAkB,MAAM,EAAC,SAAS,EAAC,gCAAgC,mBAAe,QAAQ,YAAE,IAAI,CAAC,OAAO,GAAQ,EACpJ,IAAI,CAAC,KAAK,IACZ,CACN,GACE,IAnBF,IAAI,CAAC,EAAE,CAoBO,CAC1B,CAAA;QACL,CAAC,CAAC,GACY,GAChB,CACT,CAAA"}
|
|
@@ -2,8 +2,8 @@ import type { ReactNode } from "react";
|
|
|
2
2
|
/** `incoming`: someone else wrote it (start side, recessed face). `outgoing`: the reader's own message (end side, accent-soft face). */
|
|
3
3
|
export type ChatBubbleSide = "incoming" | "outgoing";
|
|
4
4
|
export type ChatBubbleProps = {
|
|
5
|
-
/** The message body. Plain text keeps its line breaks. */
|
|
6
|
-
readonly children
|
|
5
|
+
/** The message body. Plain text keeps its line breaks. Ignored (and optional) while `isSkeleton`. */
|
|
6
|
+
readonly children?: ReactNode;
|
|
7
7
|
readonly side?: ChatBubbleSide;
|
|
8
8
|
/** Who wrote it, shown above the body. Omit on consecutive messages from the same author. */
|
|
9
9
|
readonly author?: ReactNode;
|
|
@@ -21,6 +21,13 @@ export type ChatBubbleProps = {
|
|
|
21
21
|
readonly isHighlight?: boolean;
|
|
22
22
|
/** Anchor for links that jump to this message. */
|
|
23
23
|
readonly id?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Draw the message as inert geometry while it is unresolved (knowledge STATE-8): the bubble face on its `side`, with two
|
|
26
|
+
* Skeleton text lines in the body and, only if `avatar` is passed, a Skeleton circle in its column. No author, meta, status,
|
|
27
|
+
* actions or footer are drawn, so no control exists. The bubble is `aria-hidden`; the conversation owns `aria-busy`
|
|
28
|
+
* (`ChatBubbleSkeletons` draws a whole loading thread).
|
|
29
|
+
*/
|
|
30
|
+
readonly isSkeleton?: boolean;
|
|
24
31
|
};
|
|
25
32
|
/**
|
|
26
33
|
* One chat message. The app owns the thread (order, grouping, day dividers with `Divider label`, scroll with
|
|
@@ -28,5 +35,16 @@ export type ChatBubbleProps = {
|
|
|
28
35
|
* actions. Faces follow SURFACE-3 (incoming, recessed) and SURFACE-4 (outgoing, the raised accent-soft pair); the corner on
|
|
29
36
|
* the author's side tightens to point at the avatar (RADIUS-6).
|
|
30
37
|
*/
|
|
31
|
-
export declare const ChatBubble: ({ children, side, author, avatar, meta, status, actions, footer, isHighlight, id, }: ChatBubbleProps) => import("react").JSX.Element;
|
|
38
|
+
export declare const ChatBubble: ({ children, side, author, avatar, meta, status, actions, footer, isHighlight, id, isSkeleton, }: ChatBubbleProps) => import("react").JSX.Element;
|
|
39
|
+
export type ChatBubbleSkeletonsProps = {
|
|
40
|
+
/** How many bubbles (default 3, 1 to 12). They alternate sides, starting with `incoming`. */
|
|
41
|
+
readonly count?: number;
|
|
42
|
+
/** Gives every bubble a Skeleton avatar circle in its column. */
|
|
43
|
+
readonly hasAvatar?: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A loading conversation: `count` skeleton bubbles that alternate incoming and outgoing, inside one `aria-busy` thread.
|
|
47
|
+
* Place it as the conversation content of a `ChatWorkspace` (or any scroll owner) while the messages are unresolved.
|
|
48
|
+
*/
|
|
49
|
+
export declare const ChatBubbleSkeletons: ({ count, hasAvatar }: ChatBubbleSkeletonsProps) => import("react").JSX.Element;
|
|
32
50
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,wIAAwI;AACxI,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC1B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,iGAYxB,eAAe,gCAgDjB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,sBAAkC,wBAAwB,gCAM7F,CAAA"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* One chat message. The app owns the thread (order, grouping, day dividers with `Divider label`, scroll with
|
|
4
5
|
* `VerticalScrollRegion`); this owns the anatomy of a single message: avatar column, author line, the bubble face and its
|
|
5
6
|
* actions. Faces follow SURFACE-3 (incoming, recessed) and SURFACE-4 (outgoing, the raised accent-soft pair); the corner on
|
|
6
7
|
* the author's side tightens to point at the avatar (RADIUS-6).
|
|
7
8
|
*/
|
|
8
|
-
export const ChatBubble = ({ children, side = "incoming", author, avatar, meta, status, actions, footer, isHighlight = false, id, }) => {
|
|
9
|
+
export const ChatBubble = ({ children, side = "incoming", author, avatar, meta, status, actions, footer, isHighlight = false, id, isSkeleton = false, }) => {
|
|
10
|
+
if (isSkeleton) {
|
|
11
|
+
return (_jsxs("div", { "aria-hidden": "true", className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6 STATE-8", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": "false", "data-grammar-bubble-footer": "false", "data-grammar-skeleton": "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsx("div", { className: "starci-core-chat-bubble-stack", children: _jsx("div", { className: "starci-core-chat-bubble-body starci-core-chat-bubble-skeleton-body", children: _jsx(Skeleton, { shape: "text", lines: 2 }) }) })] }));
|
|
12
|
+
}
|
|
9
13
|
const hasHead = author != null || meta != null || status != null;
|
|
10
14
|
return (_jsxs("div", { ...(id === undefined ? {} : { id }), className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": isHighlight ? "true" : "false", "data-grammar-bubble-footer": footer == null ? "false" : "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: avatar }), _jsxs("div", { className: "starci-core-chat-bubble-stack", children: [hasHead ? (_jsxs("div", { className: "starci-core-chat-bubble-head", children: [author == null ? null : _jsx("span", { className: "starci-core-chat-bubble-author", children: author }), status, meta == null ? null : _jsx("span", { className: "starci-core-chat-bubble-meta", children: meta })] })) : null, _jsx("div", { className: "starci-core-chat-bubble-body", children: children }), footer == null ? null : _jsx("div", { className: "starci-core-chat-bubble-footer", children: footer }), actions == null ? null : _jsx("div", { className: "starci-core-chat-bubble-actions", children: actions })] })] }));
|
|
11
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* A loading conversation: `count` skeleton bubbles that alternate incoming and outgoing, inside one `aria-busy` thread.
|
|
18
|
+
* Place it as the conversation content of a `ChatWorkspace` (or any scroll owner) while the messages are unresolved.
|
|
19
|
+
*/
|
|
20
|
+
export const ChatBubbleSkeletons = ({ count = 3, hasAvatar = false }) => (_jsx("div", { className: "starci-core-chat-bubble-thread", "data-grammar-chat-skeleton-thread": "true", "data-loading": "true", "aria-busy": "true", children: Array.from({ length: Math.min(12, Math.max(1, Math.floor(Number.isFinite(count) ? count : 3))) }, (_, index) => (_jsx(ChatBubble, { isSkeleton: true, side: index % 2 === 0 ? "incoming" : "outgoing", avatar: hasAvatar && index % 2 === 0 ? _jsx("span", {}) : undefined }, index))) }));
|
|
12
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,15 @@ export type CheckboxGroupProps = FieldControlProps & {
|
|
|
16
16
|
readonly orientation?: ChoiceOrientation;
|
|
17
17
|
/** Layer variant: `secondary` when the control sits on a surface (ANATOMY-2 case-1). */
|
|
18
18
|
readonly variant?: "primary" | "secondary";
|
|
19
|
+
/**
|
|
20
|
+
* Initial unresolved content (knowledge STATE-8): the group label and each option label stay real text, each checkbox becomes a
|
|
21
|
+
* Skeleton box of the same size (descriptions are not drawn); `aria-hidden` geometry, nothing focusable, root `aria-busy`.
|
|
22
|
+
*/
|
|
23
|
+
readonly isSkeleton?: boolean;
|
|
19
24
|
};
|
|
20
25
|
/**
|
|
21
26
|
* Several independent choices under one group name (`role="group"`, labelled by the group label).
|
|
22
27
|
* Required means "at least one", validated by the vendor; the group owns the one error slot.
|
|
23
28
|
*/
|
|
24
|
-
export declare const CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: CheckboxGroupProps) => import("react").JSX.Element;
|
|
29
|
+
export declare const CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, isSkeleton, ...field }: CheckboxGroupProps) => import("react").JSX.Element;
|
|
25
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AAGvC,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,6FAS3B,kBAAkB,gCAkCpB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Checkbox as HeroCheckbox, CheckboxGroup as HeroCheckboxGroup } from "@heroui/react";
|
|
4
|
-
import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
|
|
4
|
+
import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
|
|
5
5
|
import { CheckboxItem } from "../../primitive/Checkbox/index.js";
|
|
6
6
|
/*
|
|
7
7
|
* Consumer hook: `starci-core-choice-group` names this control's root for a consumer or family
|
|
@@ -17,5 +17,5 @@ import { CheckboxItem } from "../../primitive/Checkbox/index.js";
|
|
|
17
17
|
* Several independent choices under one group name (`role="group"`, labelled by the group label).
|
|
18
18
|
* Required means "at least one", validated by the vendor; the group owns the one error slot.
|
|
19
19
|
*/
|
|
20
|
-
export const CheckboxGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant = "primary", ...field }) => (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FIELD-1 FIELD-2 CONTROL-STATE-3", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
|
|
20
|
+
export const CheckboxGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant = "primary", isSkeleton = false, ...field }) => isSkeleton ? (_jsx(FieldSkeleton, { component: "CheckboxGroup", tier: "composite", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "choices", choiceLabels: options.map((option) => option.label), orientation: orientation, className: "starci-core-choice-group" })) : (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FIELD-1 FIELD-2 CONTROL-STATE-3", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AA2BhE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,GAAG,SAAS,EACnB,UAAU,GAAG,KAAK,EAClB,GAAG,KAAK,EACS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CACnC,KAAC,aAAa,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,0BAA0B,GAAG,CAC1S,CAAC,CAAC,CAAC,CACA,MAAC,iBAAiB,iBACJ,WAAW,oBACN,eAAe,mBAChB,wCAAwC,8BAC5B,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KACrH,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,yBACI,MAAM,YAE1B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,GAAI,IAPtF,MAAM,CAAC,KAAK,CAQN,CAClB,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACrC,CACvB,CAAA"}
|