@cmgfi/clear-ds 1.2.5 → 1.2.7

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/dist/index.d.ts CHANGED
@@ -333,6 +333,15 @@ export declare interface CalendarProps {
333
333
  * <p>Click anywhere to open.</p>
334
334
  * </Card>
335
335
  * ```
336
+ * @example
337
+ *
338
+ * ```tsx
339
+ * // Dark stat tile — for a dark dashboard band. Compose the stat content.
340
+ * <Card tone="dark">
341
+ * <span className="label">Prospect</span>
342
+ * <span className="value">97,686</span>
343
+ * </Card>
344
+ * ```
336
345
  */
337
346
  export declare const Card: ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDivElement>>;
338
347
 
@@ -348,6 +357,14 @@ export declare interface CardProps {
348
357
  footer?: React.ReactNode;
349
358
  /** Card body content. Accepts any ReactNode. */
350
359
  children?: React.ReactNode;
360
+ /**
361
+ * Surface tone.
362
+ * - `'light'` (default): white surface with navy text.
363
+ * - `'dark'`: dark navy surface with light text — for cards placed on a
364
+ * dark or saturated dashboard band. Built-in title/subtitle/content text
365
+ * colors flip to readable light values; compose your own content inside.
366
+ */
367
+ tone?: 'light' | 'dark';
351
368
  /**
352
369
  * Makes the entire card interactive — adds a pointer cursor and a subtle
353
370
  * shadow lift on hover. Pass a handler to opt into this mode.
@@ -2234,12 +2251,14 @@ export declare interface TabItem {
2234
2251
  * Tabs — Clear Design System
2235
2252
  *
2236
2253
  * Standard underline-style tab strip. Fully controlled — the parent owns
2237
- * which tab is active. Two variants:
2254
+ * which tab is active. Three variants:
2238
2255
  * - `'panel'` (default): renders the active tab's `content` below the strip.
2239
2256
  * Use for sub-section switching inside a page.
2240
2257
  * - `'nav'`: page-level navigation with larger padding/font; the active
2241
2258
  * tab's `content` is not rendered (each tab is a route/page). Renders
2242
2259
  * as `<nav>` for the right semantics.
2260
+ * - `'pills'`: pill-shaped segmented switcher on a dark/colored host surface.
2261
+ * Strip-only (no content panel); `count` renders as a red circular badge.
2243
2262
  *
2244
2263
  * @example
2245
2264
  *
@@ -2270,6 +2289,22 @@ export declare interface TabItem {
2270
2289
  * onChange={setPage}
2271
2290
  * />
2272
2291
  * ```
2292
+ * @example
2293
+ *
2294
+ * ```tsx
2295
+ * // Pills variant — segmented view switcher on a dark/colored band.
2296
+ * <Tabs
2297
+ * variant="pills"
2298
+ * tabs={[
2299
+ * { id: 'overview', label: 'Overview' },
2300
+ * { id: 'processing', label: 'To Processing' },
2301
+ * { id: 'closing', label: 'To Closing' },
2302
+ * { id: 'reminders', label: 'Reminders', count: 20 },
2303
+ * ]}
2304
+ * activeTab={view}
2305
+ * onChange={setView}
2306
+ * />
2307
+ * ```
2273
2308
  */
2274
2309
  export declare const Tabs: ForwardRefExoticComponent<TabsProps & RefAttributes<HTMLDivElement>>;
2275
2310
 
@@ -2286,40 +2321,16 @@ export declare interface TabsProps {
2286
2321
  * - `'nav'`: navigation-only strip with larger padding/font; the active
2287
2322
  * tab's `content` is **not** rendered (each tab represents a page or
2288
2323
  * route). Renders as `<nav>` for the right semantics.
2324
+ * - `'pills'`: pill-shaped segmented switcher on a dark/colored host
2325
+ * surface — translucent glass track, a solid light pill behind the active
2326
+ * segment, and `count` rendered as a red circular badge. Strip-only (no
2327
+ * content panel). Designed to sit on a saturated or dark background.
2289
2328
  */
2290
- variant?: 'panel' | 'nav';
2329
+ variant?: 'panel' | 'nav' | 'pills';
2291
2330
  className?: string;
2292
2331
  style?: React.CSSProperties;
2293
2332
  }
2294
2333
 
2295
- /**
2296
- * TextArea — Clear Design System
2297
- *
2298
- * A multi-line text input with label, helper text, character counter (when
2299
- * `maxLength` is set), and full state coverage: default, hover, focus, filled,
2300
- * invalid, and disabled. Supports optional auto-grow behaviour.
2301
- *
2302
- * @example
2303
- *
2304
- * ```tsx
2305
- * <TextArea label="Loan notes" placeholder="Enter notes…" rows={4} />
2306
- * ```
2307
- * @example
2308
- *
2309
- * ```tsx
2310
- * <TextArea label="Comments" maxLength={500} />
2311
- * ```
2312
- * @example
2313
- *
2314
- * ```tsx
2315
- * <TextArea label="Description" autoGrow />
2316
- * ```
2317
- * @example
2318
- *
2319
- * ```tsx
2320
- * <TextArea label="Notes" invalid helperText="This field is required." />
2321
- * ```
2322
- */
2323
2334
  export declare const TextArea: ForwardRefExoticComponent<TextAreaProps & RefAttributes<HTMLTextAreaElement>>;
2324
2335
 
2325
2336
  export declare interface TextAreaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'children'> {
@@ -2342,6 +2353,8 @@ export declare interface TextAreaProps extends Omit<React.TextareaHTMLAttributes
2342
2353
  autoGrow?: boolean;
2343
2354
  /** Controls where the character counter renders. 'inside' pins it to the bottom-right of the field; 'outside' (default) places it below the field in the bottom row. */
2344
2355
  counterPlacement?: 'inside' | 'outside';
2356
+ /** Icon rendered on the left side of the field, top-aligned. Pass `true` for the default pencil icon, or any React node for a custom icon. */
2357
+ leadingIcon?: React.ReactNode | boolean;
2345
2358
  }
2346
2359
 
2347
2360
  /**