lumiverse-spindle-types 0.5.4 → 0.5.5

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/components.ts +29 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lumiverse-spindle-types",
3
- "version": "0.5.4",
3
+ "version": "0.5.5",
4
4
  "types": "./src/index.ts",
5
5
  "keywords": [
6
6
  "lumiverse",
package/src/components.ts CHANGED
@@ -301,8 +301,29 @@ export interface SpindleSelectOptionsBase {
301
301
  searchPlaceholder?: string;
302
302
  /** Minimum option count before the search field is shown. Default: `8`. */
303
303
  searchThreshold?: number;
304
- /** Message rendered when the filtered option list is empty. */
304
+ /**
305
+ * Message rendered when the option list itself is empty (i.e. no options
306
+ * were supplied). For "no matches against the current search" use
307
+ * {@link noResultsMessage} instead.
308
+ */
305
309
  emptyMessage?: string;
310
+ /** Message rendered when the search query has no matching options. */
311
+ noResultsMessage?: string;
312
+ /**
313
+ * Force a specific trigger label, ignoring whichever option is currently
314
+ * selected. Useful for "+ Add", "Filter…" style triggers.
315
+ */
316
+ triggerLabel?: string;
317
+ /**
318
+ * Custom trigger icon. Replaces the default chevron. Accepts the same
319
+ * declarative shape as option leading cells — typically `{ type: "icon-svg" }`
320
+ * for a brand mark or chevron alternative.
321
+ */
322
+ triggerIcon?: SpindleSelectOptionLeading;
323
+ /** Accessible label for the trigger button. Surfaces as `aria-label`. */
324
+ ariaLabel?: string;
325
+ /** Additional CSS class merged onto the trigger button. */
326
+ triggerClassName?: string;
306
327
  /**
307
328
  * Render the dropdown into a React portal anchored to `document.body` so it
308
329
  * escapes containers with `overflow:hidden`. Default: `true`.
@@ -322,6 +343,13 @@ export interface SpindleSelectOptions extends SpindleSelectOptionsBase {
322
343
  /** Initial value. */
323
344
  value?: string;
324
345
  onChange?: (value: string) => void;
346
+ /**
347
+ * Show a "None" / clear option pinned to the top of the dropdown. Selecting
348
+ * it emits `onChange("")`. Single-select only.
349
+ */
350
+ clearable?: boolean;
351
+ /** Label shown for the clear option. Default: `"None"`. */
352
+ clearLabel?: string;
325
353
  }
326
354
 
327
355
  export interface SpindleSelectHandle extends SpindleMountedComponent<SpindleSelectOptions> {