@govtechsg/sgds-web-component 3.26.1 → 3.27.0-rc.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.
- package/base/dropdown-list-element.js +9 -2
- package/base/dropdown-list-element.js.map +1 -1
- package/base/nav-element.d.ts +64 -0
- package/base/nav-element.js +263 -0
- package/base/nav-element.js.map +1 -0
- package/base/nav-profile-element.d.ts +47 -0
- package/base/nav-profile-element.js +191 -0
- package/base/nav-profile-element.js.map +1 -0
- package/base/nav-profile.js +6 -0
- package/base/nav-profile.js.map +1 -0
- package/components/Appnav/appnav-context.d.ts +6 -0
- package/components/Appnav/appnav-context.js +7 -0
- package/components/Appnav/appnav-context.js.map +1 -0
- package/components/Appnav/appnav.js +6 -0
- package/components/Appnav/appnav.js.map +1 -0
- package/components/Appnav/index.d.ts +9 -0
- package/components/Appnav/index.js +8 -0
- package/components/Appnav/index.js.map +1 -0
- package/components/Appnav/index.umd.min.js +2542 -0
- package/components/Appnav/index.umd.min.js.map +1 -0
- package/components/Appnav/sgds-appnav-profile.d.ts +17 -0
- package/components/Appnav/sgds-appnav-profile.js +31 -0
- package/components/Appnav/sgds-appnav-profile.js.map +1 -0
- package/components/Appnav/sgds-appnav.d.ts +44 -0
- package/components/Appnav/sgds-appnav.js +183 -0
- package/components/Appnav/sgds-appnav.js.map +1 -0
- package/components/Breadcrumb/index.umd.min.js +25 -25
- package/components/Breadcrumb/index.umd.min.js.map +1 -1
- package/components/Checkbox/index.umd.min.js +233 -233
- package/components/Checkbox/index.umd.min.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.d.ts +1 -0
- package/components/Checkbox/sgds-checkbox.js +6 -1
- package/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/components/ComboBox/index.umd.min.js +254 -254
- package/components/ComboBox/index.umd.min.js.map +1 -1
- package/components/DataTable/data-table.js +6 -0
- package/components/DataTable/data-table.js.map +1 -0
- package/components/DataTable/index.d.ts +12 -0
- package/components/DataTable/index.js +11 -0
- package/components/DataTable/index.js.map +1 -0
- package/components/DataTable/index.umd.min.js +2634 -0
- package/components/DataTable/index.umd.min.js.map +1 -0
- package/components/DataTable/sgds-data-table-cell.d.ts +15 -0
- package/components/DataTable/sgds-data-table-cell.js +32 -0
- package/components/DataTable/sgds-data-table-cell.js.map +1 -0
- package/components/DataTable/sgds-data-table-head.d.ts +28 -0
- package/components/DataTable/sgds-data-table-head.js +69 -0
- package/components/DataTable/sgds-data-table-head.js.map +1 -0
- package/components/DataTable/sgds-data-table-row.d.ts +76 -0
- package/components/DataTable/sgds-data-table-row.js +333 -0
- package/components/DataTable/sgds-data-table-row.js.map +1 -0
- package/components/DataTable/sgds-data-table.d.ts +82 -0
- package/components/DataTable/sgds-data-table.js +405 -0
- package/components/DataTable/sgds-data-table.js.map +1 -0
- package/components/Datepicker/index.umd.min.js +86 -86
- package/components/Datepicker/index.umd.min.js.map +1 -1
- package/components/Dropdown/dropdown-item.js +1 -1
- package/components/Dropdown/index.umd.min.js +5 -5
- package/components/Dropdown/index.umd.min.js.map +1 -1
- package/components/Dropdown/sgds-dropdown-item.d.ts +2 -0
- package/components/Dropdown/sgds-dropdown-item.js +8 -2
- package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/components/Input/index.umd.min.js +2 -2
- package/components/Input/index.umd.min.js.map +1 -1
- package/components/Input/input.js +1 -1
- package/components/Mainnav/index.d.ts +2 -0
- package/components/Mainnav/index.js +2 -0
- package/components/Mainnav/index.js.map +1 -1
- package/components/Mainnav/index.umd.min.js +339 -286
- package/components/Mainnav/index.umd.min.js.map +1 -1
- package/components/Mainnav/mainnav-dropdown.js +1 -1
- package/components/Mainnav/mainnav-item.js +1 -1
- package/components/Mainnav/mainnav.js +1 -1
- package/components/Mainnav/sgds-mainnav-profile.d.ts +15 -0
- package/components/Mainnav/sgds-mainnav-profile.js +29 -0
- package/components/Mainnav/sgds-mainnav-profile.js.map +1 -0
- package/components/Mainnav/sgds-mainnav.d.ts +8 -51
- package/components/Mainnav/sgds-mainnav.js +40 -238
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/OverflowMenu/index.umd.min.js +25 -25
- package/components/OverflowMenu/index.umd.min.js.map +1 -1
- package/components/QuantityToggle/index.umd.min.js +1 -1
- package/components/QuantityToggle/index.umd.min.js.map +1 -1
- package/components/Select/index.umd.min.js +1 -1
- package/components/Select/index.umd.min.js.map +1 -1
- package/components/Tab/index.umd.min.js +1 -1
- package/components/Tab/index.umd.min.js.map +1 -1
- package/components/Tab/tab-panel.js +1 -1
- package/components/Textarea/index.umd.min.js +1 -1
- package/components/Textarea/index.umd.min.js.map +1 -1
- package/components/Textarea/textarea.js +1 -1
- package/components/index.d.ts +7 -0
- package/components/index.js +7 -0
- package/components/index.js.map +1 -1
- package/components/index.umd.min.js +812 -628
- package/components/index.umd.min.js.map +1 -1
- package/css/fouc.css +9 -2
- package/custom-elements.json +11501 -7967
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/index.umd.min.js +699 -510
- package/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/react/appnav/index.cjs.js +45 -0
- package/react/appnav/index.cjs.js.map +1 -0
- package/react/appnav/index.d.ts +4 -0
- package/react/appnav/index.js +21 -0
- package/react/appnav/index.js.map +1 -0
- package/react/appnav-profile/index.cjs.js +40 -0
- package/react/appnav-profile/index.cjs.js.map +1 -0
- package/react/appnav-profile/index.d.ts +4 -0
- package/react/appnav-profile/index.js +16 -0
- package/react/appnav-profile/index.js.map +1 -0
- package/react/base/dropdown-list-element.cjs.js +9 -2
- package/react/base/dropdown-list-element.cjs.js.map +1 -1
- package/react/base/dropdown-list-element.js +9 -2
- package/react/base/dropdown-list-element.js.map +1 -1
- package/react/base/nav-element.cjs.js +268 -0
- package/react/base/nav-element.cjs.js.map +1 -0
- package/react/base/nav-element.js +264 -0
- package/react/base/nav-element.js.map +1 -0
- package/react/base/nav-profile-element.cjs.js +196 -0
- package/react/base/nav-profile-element.cjs.js.map +1 -0
- package/react/base/nav-profile-element.js +192 -0
- package/react/base/nav-profile-element.js.map +1 -0
- package/react/base/nav-profile.cjs.js +11 -0
- package/react/base/nav-profile.cjs.js.map +1 -0
- package/react/base/nav-profile.js +7 -0
- package/react/base/nav-profile.js.map +1 -0
- package/react/components/Appnav/appnav-context.cjs.js +13 -0
- package/react/components/Appnav/appnav-context.cjs.js.map +1 -0
- package/react/components/Appnav/appnav-context.js +8 -0
- package/react/components/Appnav/appnav-context.js.map +1 -0
- package/react/components/Appnav/appnav.cjs.js +11 -0
- package/react/components/Appnav/appnav.cjs.js.map +1 -0
- package/react/components/Appnav/appnav.js +7 -0
- package/react/components/Appnav/appnav.js.map +1 -0
- package/react/components/Appnav/sgds-appnav-profile.cjs.js +37 -0
- package/react/components/Appnav/sgds-appnav-profile.cjs.js.map +1 -0
- package/react/components/Appnav/sgds-appnav-profile.js +32 -0
- package/react/components/Appnav/sgds-appnav-profile.js.map +1 -0
- package/react/components/Appnav/sgds-appnav.cjs.js +189 -0
- package/react/components/Appnav/sgds-appnav.cjs.js.map +1 -0
- package/react/components/Appnav/sgds-appnav.js +184 -0
- package/react/components/Appnav/sgds-appnav.js.map +1 -0
- package/react/components/Checkbox/sgds-checkbox.cjs.js +6 -1
- package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
- package/react/components/Checkbox/sgds-checkbox.js +6 -1
- package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/react/components/DataTable/data-table.cjs.js +11 -0
- package/react/components/DataTable/data-table.cjs.js.map +1 -0
- package/react/components/DataTable/data-table.js +7 -0
- package/react/components/DataTable/data-table.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-cell.cjs.js +38 -0
- package/react/components/DataTable/sgds-data-table-cell.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-cell.js +33 -0
- package/react/components/DataTable/sgds-data-table-cell.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-head.cjs.js +75 -0
- package/react/components/DataTable/sgds-data-table-head.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-head.js +70 -0
- package/react/components/DataTable/sgds-data-table-head.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-row.cjs.js +339 -0
- package/react/components/DataTable/sgds-data-table-row.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-row.js +334 -0
- package/react/components/DataTable/sgds-data-table-row.js.map +1 -0
- package/react/components/DataTable/sgds-data-table.cjs.js +411 -0
- package/react/components/DataTable/sgds-data-table.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table.js +406 -0
- package/react/components/DataTable/sgds-data-table.js.map +1 -0
- package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
- package/react/components/Dropdown/dropdown-item.js +1 -1
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js +8 -2
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
- package/react/components/Dropdown/sgds-dropdown-item.js +8 -2
- package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/react/components/Input/input.cjs.js +1 -1
- package/react/components/Input/input.js +1 -1
- package/react/components/Mainnav/mainnav-dropdown.cjs.js +1 -1
- package/react/components/Mainnav/mainnav-dropdown.js +1 -1
- package/react/components/Mainnav/mainnav-item.cjs.js +1 -1
- package/react/components/Mainnav/mainnav-item.js +1 -1
- package/react/components/Mainnav/mainnav.cjs.js +1 -1
- package/react/components/Mainnav/mainnav.js +1 -1
- package/react/components/Mainnav/sgds-mainnav-profile.cjs.js +35 -0
- package/react/components/Mainnav/sgds-mainnav-profile.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-profile.js +30 -0
- package/react/components/Mainnav/sgds-mainnav-profile.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav.cjs.js +39 -237
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.js +40 -238
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/react/components/Tab/tab-panel.cjs.js +1 -1
- package/react/components/Tab/tab-panel.js +1 -1
- package/react/components/Textarea/textarea.cjs.js +1 -1
- package/react/components/Textarea/textarea.js +1 -1
- package/react/data-table/index.cjs.js +44 -0
- package/react/data-table/index.cjs.js.map +1 -0
- package/react/data-table/index.d.ts +4 -0
- package/react/data-table/index.js +20 -0
- package/react/data-table/index.js.map +1 -0
- package/react/data-table-cell/index.cjs.js +40 -0
- package/react/data-table-cell/index.cjs.js.map +1 -0
- package/react/data-table-cell/index.d.ts +4 -0
- package/react/data-table-cell/index.js +16 -0
- package/react/data-table-cell/index.js.map +1 -0
- package/react/data-table-head/index.cjs.js +40 -0
- package/react/data-table-head/index.cjs.js.map +1 -0
- package/react/data-table-head/index.d.ts +4 -0
- package/react/data-table-head/index.js +16 -0
- package/react/data-table-head/index.js.map +1 -0
- package/react/data-table-row/index.cjs.js +45 -0
- package/react/data-table-row/index.cjs.js.map +1 -0
- package/react/data-table-row/index.d.ts +4 -0
- package/react/data-table-row/index.js +21 -0
- package/react/data-table-row/index.js.map +1 -0
- package/react/index.cjs.js +152 -138
- package/react/index.cjs.js.map +1 -1
- package/react/index.d.ts +9 -2
- package/react/index.js +9 -2
- package/react/index.js.map +1 -1
- package/react/mainnav-profile/index.cjs.js +40 -0
- package/react/mainnav-profile/index.cjs.js.map +1 -0
- package/react/mainnav-profile/index.d.ts +4 -0
- package/react/mainnav-profile/index.js +16 -0
- package/react/mainnav-profile/index.js.map +1 -0
- package/react/styles/form-text-control.cjs.js +1 -1
- package/react/styles/form-text-control.js +1 -1
- package/styles/form-text-control.js +1 -1
- package/themes/blue.css +11 -11
- package/themes/cyan.css +10 -10
- package/themes/gt/blue.css +11 -11
- package/themes/gt/cyan.css +10 -10
- package/themes/gt/magenta.css +11 -11
- package/themes/gt/pink.css +11 -11
- package/themes/gt/purple.css +11 -11
- package/themes/gt/red.css +11 -11
- package/themes/magenta.css +11 -11
- package/themes/pink.css +11 -11
- package/themes/purple.css +11 -11
- package/themes/red.css +11 -11
- package/themes/root.css +5 -0
- package/types/react.d.ts +244 -92
package/types/react.d.ts
CHANGED
|
@@ -167,6 +167,42 @@ export interface SgdsAlertProps extends SgdsBaseProps {
|
|
|
167
167
|
onSgdsHide?: SgdsEventHandler;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
// ── AppnavProfile ─────────────────────────────────────────────────────────────
|
|
171
|
+
|
|
172
|
+
export interface SgdsAppnavProfileProps extends SgdsBaseProps {
|
|
173
|
+
/** Primary text displayed next to the avatar in desktop (e.g. user name) */
|
|
174
|
+
label?: string;
|
|
175
|
+
/** Secondary text displayed below the label in desktop (e.g. agency or role) */
|
|
176
|
+
secondaryText?: string;
|
|
177
|
+
/** When true, disables the profile dropdown */
|
|
178
|
+
disabled?: boolean;
|
|
179
|
+
/** Accessible label for the profile toggle button */
|
|
180
|
+
ariaLabel?: string;
|
|
181
|
+
/** Controls dropdown close behavior. "default" auto-closes on item/outside click, "outside" closes only on outside click, "inside" prevents auto-close. */
|
|
182
|
+
close?: "default" | "outside" | "inside";
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// ── Appnav ─────────────────────────────────────────────────────────────
|
|
186
|
+
|
|
187
|
+
export interface SgdsAppnavProps extends SgdsBaseProps {
|
|
188
|
+
/** Sets the visual tone of the navigation bar */
|
|
189
|
+
tone?: "brand" | "gradient-1" | "gradient-2" | "gradient-3" | "gradient-4";
|
|
190
|
+
/** Used only for SSR to indicate the presence of the `start` slot. */
|
|
191
|
+
hasStartSlot?: boolean;
|
|
192
|
+
/** The href link for brand logo */
|
|
193
|
+
brandHref?: string;
|
|
194
|
+
/** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */
|
|
195
|
+
expand?: "sm" | "md" | "lg" | "xl" | "xxl" | "always" | "never";
|
|
196
|
+
"onsgds-show"?: SgdsEventHandler;
|
|
197
|
+
onSgdsShow?: SgdsEventHandler;
|
|
198
|
+
"onsgds-after-show"?: SgdsEventHandler;
|
|
199
|
+
onSgdsAfterShow?: SgdsEventHandler;
|
|
200
|
+
"onsgds-hide"?: SgdsEventHandler;
|
|
201
|
+
onSgdsHide?: SgdsEventHandler;
|
|
202
|
+
"onsgds-after-hide"?: SgdsEventHandler;
|
|
203
|
+
onSgdsAfterHide?: SgdsEventHandler;
|
|
204
|
+
}
|
|
205
|
+
|
|
170
206
|
// ── Badge ─────────────────────────────────────────────────────────────
|
|
171
207
|
|
|
172
208
|
export interface SgdsBadgeProps extends SgdsBaseProps {
|
|
@@ -383,96 +419,47 @@ export interface SgdsCloseButtonProps extends SgdsBaseProps {
|
|
|
383
419
|
disabled?: boolean;
|
|
384
420
|
}
|
|
385
421
|
|
|
386
|
-
// ──
|
|
422
|
+
// ── DataTableCell ─────────────────────────────────────────────────────────────
|
|
387
423
|
|
|
388
|
-
export interface
|
|
389
|
-
/**
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
|
|
424
|
+
export interface SgdsDataTableCellProps extends SgdsBaseProps {
|
|
425
|
+
/** Number of columns this cell spans. */
|
|
426
|
+
colspan?: number | undefined;
|
|
427
|
+
/** Number of rows this cell spans. */
|
|
428
|
+
rowspan?: number | undefined;
|
|
393
429
|
}
|
|
394
430
|
|
|
395
|
-
// ──
|
|
431
|
+
// ── DataTableHead ─────────────────────────────────────────────────────────────
|
|
396
432
|
|
|
397
|
-
export interface
|
|
398
|
-
/**
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
|
|
408
|
-
/** When
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
required?: boolean;
|
|
428
|
-
/** Sets the loading state of the component */
|
|
429
|
-
loading?: boolean;
|
|
430
|
-
/** IMPORTANT:
|
|
431
|
-
We still expose `.value` externally, but this is now the underlying ID or data
|
|
432
|
-
(e.g. 1, 2, 'abc', ...), not the label that appears in the input box. */
|
|
433
|
-
value?: string;
|
|
434
|
-
displayValue?: string;
|
|
435
|
-
/** Allows invalidFeedback, invalid and valid styles to be visible with the input */
|
|
436
|
-
hasFeedback?: boolean;
|
|
437
|
-
/** Feedback text for error state when validated */
|
|
438
|
-
invalidFeedback?: string;
|
|
439
|
-
/** Marks the component as invalid. Replace the pseudo :invalid selector. */
|
|
440
|
-
invalid?: boolean;
|
|
441
|
-
/** Controlling of autocomplete behaviour */
|
|
442
|
-
autocomplete?: string;
|
|
443
|
-
/** The list of items to display in the dropdown.
|
|
444
|
-
`interface SgdsComboBoxItemData {
|
|
445
|
-
label: string;
|
|
446
|
-
value: string;
|
|
447
|
-
}` */
|
|
448
|
-
menuList?: SgdsOptionData[];
|
|
449
|
-
/** Returns the ValidityState object */
|
|
450
|
-
validity?: ValidityState;
|
|
451
|
-
/** Returns the validation message based on the ValidityState */
|
|
452
|
-
validationMessage?: string;
|
|
453
|
-
/** Additional configuration to pass to Floating UI. */
|
|
454
|
-
floatingOpts?: { placement?: Placement; middleware?: Array<Middleware> };
|
|
455
|
-
hidden?: boolean;
|
|
456
|
-
/** When true, dropdown menu shows on first load */
|
|
457
|
-
menuIsOpen?: boolean;
|
|
458
|
-
/** Makes the input readonly. */
|
|
459
|
-
readonly?: boolean;
|
|
460
|
-
"onsgds-select"?: SgdsEventHandler;
|
|
461
|
-
onSgdsSelect?: SgdsEventHandler;
|
|
462
|
-
"onsgds-change"?: SgdsEventHandler;
|
|
463
|
-
onSgdsChange?: SgdsEventHandler;
|
|
464
|
-
"onsgds-input"?: (event: CustomEvent<ISgdsComboBoxInputEventDetail>) => void;
|
|
465
|
-
onSgdsInput?: (event: CustomEvent<ISgdsComboBoxInputEventDetail>) => void;
|
|
466
|
-
"onsgds-focus"?: SgdsEventHandler;
|
|
467
|
-
onSgdsFocus?: SgdsEventHandler;
|
|
468
|
-
"onsgds-blur"?: SgdsEventHandler;
|
|
469
|
-
onSgdsBlur?: SgdsEventHandler;
|
|
470
|
-
"onsgds-invalid"?: SgdsEventHandler;
|
|
471
|
-
onSgdsInvalid?: SgdsEventHandler;
|
|
472
|
-
"onsgds-valid"?: SgdsEventHandler;
|
|
473
|
-
onSgdsValid?: SgdsEventHandler;
|
|
474
|
-
"onsgds-scroll-end"?: SgdsEventHandler;
|
|
475
|
-
onSgdsScrollEnd?: SgdsEventHandler;
|
|
433
|
+
export interface SgdsDataTableHeadProps extends SgdsBaseProps {
|
|
434
|
+
/** Sets the column width. */
|
|
435
|
+
width?: string | undefined;
|
|
436
|
+
/** Number of columns this cell spans. */
|
|
437
|
+
colspan?: number | undefined;
|
|
438
|
+
/** Number of rows this cell spans. */
|
|
439
|
+
rowspan?: number | undefined;
|
|
440
|
+
/** Text alignment for the header content. */
|
|
441
|
+
textAlign?: "left" | "right";
|
|
442
|
+
/** Current sort direction for this column. */
|
|
443
|
+
ariasort?: "ascending" | "descending" | "none" | "other" | undefined;
|
|
444
|
+
/** When true, clicking this header cycles through ascending → descending → none sort. */
|
|
445
|
+
sorting?: boolean;
|
|
446
|
+
/** Column key emitted in the row's internal sort payload, used to identify which column to sort. */
|
|
447
|
+
sortKey?: string;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// ── DataTableRow ─────────────────────────────────────────────────────────────
|
|
451
|
+
|
|
452
|
+
export interface SgdsDataTableRowProps extends SgdsBaseProps {
|
|
453
|
+
/** Arbitrary data associated with this row. Returned in event detail on row selection. */
|
|
454
|
+
rowData?: Record<string, unknown>;
|
|
455
|
+
/** When true, the row has an expandable content area toggled by a chevron. */
|
|
456
|
+
expand?: boolean;
|
|
457
|
+
/** When true, the expandable content area is open. */
|
|
458
|
+
open?: boolean;
|
|
459
|
+
/** When true, the row is checked. */
|
|
460
|
+
checked?: boolean;
|
|
461
|
+
/** The checkbox rendered inside this row, if `showCheckbox` is true. */
|
|
462
|
+
checkbox?: SgdsCheckbox | null;
|
|
476
463
|
"onsgds-show"?: SgdsEventHandler;
|
|
477
464
|
onSgdsShow?: SgdsEventHandler;
|
|
478
465
|
"onsgds-after-show"?: SgdsEventHandler;
|
|
@@ -483,6 +470,40 @@ value: string;
|
|
|
483
470
|
onSgdsAfterHide?: SgdsEventHandler;
|
|
484
471
|
}
|
|
485
472
|
|
|
473
|
+
// ── DataTable ─────────────────────────────────────────────────────────────
|
|
474
|
+
|
|
475
|
+
export interface SgdsDataTableProps extends SgdsBaseProps {
|
|
476
|
+
/** If true, renders a checkbox column for row selection. */
|
|
477
|
+
multiSelect?: boolean;
|
|
478
|
+
/** Total number of data items (for server-side pagination). */
|
|
479
|
+
dataLength?: number;
|
|
480
|
+
/** Current page (1-based). */
|
|
481
|
+
currentPage?: number;
|
|
482
|
+
/** Number of rows per page. */
|
|
483
|
+
itemsPerPage?: number;
|
|
484
|
+
/** Custom text shown on the footer's left side. */
|
|
485
|
+
footerText?: string;
|
|
486
|
+
/** If true, hides the footer (summary text and pagination controls). */
|
|
487
|
+
hideFooter?: boolean;
|
|
488
|
+
/** When true, shows a loading state and hides body rows. */
|
|
489
|
+
isLoading?: boolean;
|
|
490
|
+
/** When true, emits sort events for external handling instead of local sorting. */
|
|
491
|
+
serverSort?: boolean;
|
|
492
|
+
/** Controls the CSS `table-layout` algorithm.
|
|
493
|
+
Use "auto" to let the browser size columns based on content, or "fixed" to distribute column widths evenly regardless of content. */
|
|
494
|
+
layout?: "auto" | "fixed";
|
|
495
|
+
/** Pagination mode. `client` (default) slices rows and renders pagination controls.
|
|
496
|
+
`server` renders all slotted rows as-is — the caller is responsible for passing
|
|
497
|
+
the correct page of data and handling `sgds-page-change` externally. */
|
|
498
|
+
mode?: "client" | "server";
|
|
499
|
+
"onsgds-row-select"?: SgdsEventHandler;
|
|
500
|
+
onSgdsRowSelect?: SgdsEventHandler;
|
|
501
|
+
"onsgds-sort"?: SgdsEventHandler;
|
|
502
|
+
onSgdsSort?: SgdsEventHandler;
|
|
503
|
+
"onsgds-page-change"?: SgdsEventHandler;
|
|
504
|
+
onSgdsPageChange?: SgdsEventHandler;
|
|
505
|
+
}
|
|
506
|
+
|
|
486
507
|
// ── Datepicker ─────────────────────────────────────────────────────────────
|
|
487
508
|
|
|
488
509
|
export interface SgdsDatepickerProps extends SgdsBaseProps {
|
|
@@ -575,6 +596,106 @@ export interface SgdsDescriptionListProps extends SgdsBaseProps {
|
|
|
575
596
|
bordered?: boolean;
|
|
576
597
|
}
|
|
577
598
|
|
|
599
|
+
// ── ComboBoxOption ─────────────────────────────────────────────────────────────
|
|
600
|
+
|
|
601
|
+
export interface SgdsComboBoxOptionProps extends SgdsBaseProps {
|
|
602
|
+
/** Disables the Item */
|
|
603
|
+
disabled?: boolean;
|
|
604
|
+
/** The value of the option item */
|
|
605
|
+
value?: string;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
// ── ComboBox ─────────────────────────────────────────────────────────────
|
|
609
|
+
|
|
610
|
+
export interface SgdsComboBoxProps extends SgdsBaseProps {
|
|
611
|
+
/** If true, renders multiple checkbox selection items. If false, single-select. */
|
|
612
|
+
multiSelect?: boolean;
|
|
613
|
+
/** If true, renders badge that fills width of combobox */
|
|
614
|
+
badgeFullWidth?: boolean;
|
|
615
|
+
/** If true, a clear button will be enabled on focus */
|
|
616
|
+
clearable?: boolean;
|
|
617
|
+
/** Disables native and sgds validation for the combo box. */
|
|
618
|
+
noValidate?: boolean;
|
|
619
|
+
/** Enables the asynchronous behaviour of a combo box. When true, filterFunction is ignored and filtering is done remotely. */
|
|
620
|
+
async?: boolean;
|
|
621
|
+
/** When filtering remotely and there are no results, set this to true to enable no options feedback on the menu. Applicable for async combo box only. */
|
|
622
|
+
emptyMenuAsync?: boolean;
|
|
623
|
+
/** Number of pixels from the bottom of the menu at which the sgds-scroll-end event fires. */
|
|
624
|
+
scrollBottomOffset?: number;
|
|
625
|
+
/** The function used to filter the menu list, given the user's input value. */
|
|
626
|
+
filterFunction?: (inputValue: string, item: SgdsComboBoxOptionData) => boolean;
|
|
627
|
+
/** The input's label */
|
|
628
|
+
label?: string;
|
|
629
|
+
/** The input's hint text below the label */
|
|
630
|
+
hintText?: string;
|
|
631
|
+
/** The input's name attribute */
|
|
632
|
+
name?: string;
|
|
633
|
+
/** The input's placeholder text. */
|
|
634
|
+
placeholder?: string;
|
|
635
|
+
/** Autofocus the input */
|
|
636
|
+
autofocus?: boolean;
|
|
637
|
+
/** Disables the input. */
|
|
638
|
+
disabled?: boolean;
|
|
639
|
+
/** Makes the input a required field. */
|
|
640
|
+
required?: boolean;
|
|
641
|
+
/** Sets the loading state of the component */
|
|
642
|
+
loading?: boolean;
|
|
643
|
+
/** IMPORTANT:
|
|
644
|
+
We still expose `.value` externally, but this is now the underlying ID or data
|
|
645
|
+
(e.g. 1, 2, 'abc', ...), not the label that appears in the input box. */
|
|
646
|
+
value?: string;
|
|
647
|
+
displayValue?: string;
|
|
648
|
+
/** Allows invalidFeedback, invalid and valid styles to be visible with the input */
|
|
649
|
+
hasFeedback?: boolean;
|
|
650
|
+
/** Feedback text for error state when validated */
|
|
651
|
+
invalidFeedback?: string;
|
|
652
|
+
/** Marks the component as invalid. Replace the pseudo :invalid selector. */
|
|
653
|
+
invalid?: boolean;
|
|
654
|
+
/** Controlling of autocomplete behaviour */
|
|
655
|
+
autocomplete?: string;
|
|
656
|
+
/** The list of items to display in the dropdown.
|
|
657
|
+
`interface SgdsComboBoxItemData {
|
|
658
|
+
label: string;
|
|
659
|
+
value: string;
|
|
660
|
+
}` */
|
|
661
|
+
menuList?: SgdsOptionData[];
|
|
662
|
+
/** Returns the ValidityState object */
|
|
663
|
+
validity?: ValidityState;
|
|
664
|
+
/** Returns the validation message based on the ValidityState */
|
|
665
|
+
validationMessage?: string;
|
|
666
|
+
/** Additional configuration to pass to Floating UI. */
|
|
667
|
+
floatingOpts?: { placement?: Placement; middleware?: Array<Middleware> };
|
|
668
|
+
hidden?: boolean;
|
|
669
|
+
/** When true, dropdown menu shows on first load */
|
|
670
|
+
menuIsOpen?: boolean;
|
|
671
|
+
/** Makes the input readonly. */
|
|
672
|
+
readonly?: boolean;
|
|
673
|
+
"onsgds-select"?: SgdsEventHandler;
|
|
674
|
+
onSgdsSelect?: SgdsEventHandler;
|
|
675
|
+
"onsgds-change"?: SgdsEventHandler;
|
|
676
|
+
onSgdsChange?: SgdsEventHandler;
|
|
677
|
+
"onsgds-input"?: (event: CustomEvent<ISgdsComboBoxInputEventDetail>) => void;
|
|
678
|
+
onSgdsInput?: (event: CustomEvent<ISgdsComboBoxInputEventDetail>) => void;
|
|
679
|
+
"onsgds-focus"?: SgdsEventHandler;
|
|
680
|
+
onSgdsFocus?: SgdsEventHandler;
|
|
681
|
+
"onsgds-blur"?: SgdsEventHandler;
|
|
682
|
+
onSgdsBlur?: SgdsEventHandler;
|
|
683
|
+
"onsgds-invalid"?: SgdsEventHandler;
|
|
684
|
+
onSgdsInvalid?: SgdsEventHandler;
|
|
685
|
+
"onsgds-valid"?: SgdsEventHandler;
|
|
686
|
+
onSgdsValid?: SgdsEventHandler;
|
|
687
|
+
"onsgds-scroll-end"?: SgdsEventHandler;
|
|
688
|
+
onSgdsScrollEnd?: SgdsEventHandler;
|
|
689
|
+
"onsgds-show"?: SgdsEventHandler;
|
|
690
|
+
onSgdsShow?: SgdsEventHandler;
|
|
691
|
+
"onsgds-after-show"?: SgdsEventHandler;
|
|
692
|
+
onSgdsAfterShow?: SgdsEventHandler;
|
|
693
|
+
"onsgds-hide"?: SgdsEventHandler;
|
|
694
|
+
onSgdsHide?: SgdsEventHandler;
|
|
695
|
+
"onsgds-after-hide"?: SgdsEventHandler;
|
|
696
|
+
onSgdsAfterHide?: SgdsEventHandler;
|
|
697
|
+
}
|
|
698
|
+
|
|
578
699
|
// ── Divider ─────────────────────────────────────────────────────────────
|
|
579
700
|
|
|
580
701
|
export interface SgdsDividerProps extends SgdsBaseProps {
|
|
@@ -623,6 +744,8 @@ export interface SgdsDropdownItemProps extends SgdsBaseProps {
|
|
|
623
744
|
active?: boolean;
|
|
624
745
|
/** Disables the SgdsMainnavItem */
|
|
625
746
|
disabled?: boolean;
|
|
747
|
+
/** When true, removes interactive styles (hover, cursor) for non-navigational display items */
|
|
748
|
+
readonly?: boolean;
|
|
626
749
|
/** Forwards aria-label to the inner clickable element for accessibility */
|
|
627
750
|
ariaLabel?: string;
|
|
628
751
|
}
|
|
@@ -945,17 +1068,32 @@ export interface SgdsMainnavItemProps extends SgdsBaseProps {
|
|
|
945
1068
|
disabled?: boolean;
|
|
946
1069
|
}
|
|
947
1070
|
|
|
1071
|
+
// ── MainnavProfile ─────────────────────────────────────────────────────────────
|
|
1072
|
+
|
|
1073
|
+
export interface SgdsMainnavProfileProps extends SgdsBaseProps {
|
|
1074
|
+
/** Primary text displayed next to the avatar in desktop (e.g. user name) */
|
|
1075
|
+
label?: string;
|
|
1076
|
+
/** Secondary text displayed below the label in desktop (e.g. agency or role) */
|
|
1077
|
+
secondaryText?: string;
|
|
1078
|
+
/** When true, disables the profile dropdown */
|
|
1079
|
+
disabled?: boolean;
|
|
1080
|
+
/** Accessible label for the profile toggle button */
|
|
1081
|
+
ariaLabel?: string;
|
|
1082
|
+
/** Controls dropdown close behavior. "default" auto-closes on item/outside click, "outside" closes only on outside click, "inside" prevents auto-close. */
|
|
1083
|
+
close?: "default" | "outside" | "inside";
|
|
1084
|
+
}
|
|
1085
|
+
|
|
948
1086
|
// ── Mainnav ─────────────────────────────────────────────────────────────
|
|
949
1087
|
|
|
950
1088
|
export interface SgdsMainnavProps extends SgdsBaseProps {
|
|
951
1089
|
/** Used only for SSR to indicate the presence of the `non-collapsible` slot. */
|
|
952
1090
|
hasNonCollapsibleSlot?: boolean;
|
|
1091
|
+
/** When true, removes max-width constraint to allow content to stretch full screen width */
|
|
1092
|
+
fluid?: boolean;
|
|
953
1093
|
/** The href link for brand logo */
|
|
954
1094
|
brandHref?: string;
|
|
955
1095
|
/** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */
|
|
956
1096
|
expand?: "sm" | "md" | "lg" | "xl" | "xxl" | "always" | "never";
|
|
957
|
-
/** When true, removes max-width constraint to allow content to stretch full screen width */
|
|
958
|
-
fluid?: boolean;
|
|
959
1097
|
"onsgds-show"?: SgdsEventHandler;
|
|
960
1098
|
onSgdsShow?: SgdsEventHandler;
|
|
961
1099
|
"onsgds-after-show"?: SgdsEventHandler;
|
|
@@ -1739,6 +1877,8 @@ declare module "react" {
|
|
|
1739
1877
|
"sgds-accordion": React.DetailedHTMLProps<SgdsAccordionProps, HTMLElement>;
|
|
1740
1878
|
"sgds-alert-link": React.DetailedHTMLProps<SgdsAlertLinkProps, HTMLElement>;
|
|
1741
1879
|
"sgds-alert": React.DetailedHTMLProps<SgdsAlertProps, HTMLElement>;
|
|
1880
|
+
"sgds-appnav-profile": React.DetailedHTMLProps<SgdsAppnavProfileProps, HTMLElement>;
|
|
1881
|
+
"sgds-appnav": React.DetailedHTMLProps<SgdsAppnavProps, HTMLElement>;
|
|
1742
1882
|
"sgds-badge": React.DetailedHTMLProps<SgdsBadgeProps, HTMLElement>;
|
|
1743
1883
|
"sgds-breadcrumb-item": React.DetailedHTMLProps<SgdsBreadcrumbItemProps, HTMLElement>;
|
|
1744
1884
|
"sgds-breadcrumb": React.DetailedHTMLProps<SgdsBreadcrumbProps, HTMLElement>;
|
|
@@ -1747,11 +1887,15 @@ declare module "react" {
|
|
|
1747
1887
|
"sgds-checkbox-group": React.DetailedHTMLProps<SgdsCheckboxGroupProps, HTMLElement>;
|
|
1748
1888
|
"sgds-checkbox": React.DetailedHTMLProps<SgdsCheckboxProps, HTMLElement>;
|
|
1749
1889
|
"sgds-close-button": React.DetailedHTMLProps<SgdsCloseButtonProps, HTMLElement>;
|
|
1750
|
-
"sgds-
|
|
1751
|
-
"sgds-
|
|
1890
|
+
"sgds-data-table-cell": React.DetailedHTMLProps<SgdsDataTableCellProps, HTMLElement>;
|
|
1891
|
+
"sgds-data-table-head": React.DetailedHTMLProps<SgdsDataTableHeadProps, HTMLElement>;
|
|
1892
|
+
"sgds-data-table-row": React.DetailedHTMLProps<SgdsDataTableRowProps, HTMLElement>;
|
|
1893
|
+
"sgds-data-table": React.DetailedHTMLProps<SgdsDataTableProps, HTMLElement>;
|
|
1752
1894
|
"sgds-datepicker": React.DetailedHTMLProps<SgdsDatepickerProps, HTMLElement>;
|
|
1753
1895
|
"sgds-description-list-group": React.DetailedHTMLProps<SgdsDescriptionListGroupProps, HTMLElement>;
|
|
1754
1896
|
"sgds-description-list": React.DetailedHTMLProps<SgdsDescriptionListProps, HTMLElement>;
|
|
1897
|
+
"sgds-combo-box-option": React.DetailedHTMLProps<SgdsComboBoxOptionProps, HTMLElement>;
|
|
1898
|
+
"sgds-combo-box": React.DetailedHTMLProps<SgdsComboBoxProps, HTMLElement>;
|
|
1755
1899
|
"sgds-divider": React.DetailedHTMLProps<SgdsDividerProps, HTMLElement>;
|
|
1756
1900
|
"sgds-drawer": React.DetailedHTMLProps<SgdsDrawerProps, HTMLElement>;
|
|
1757
1901
|
"sgds-dropdown-item": React.DetailedHTMLProps<SgdsDropdownItemProps, HTMLElement>;
|
|
@@ -1768,6 +1912,7 @@ declare module "react" {
|
|
|
1768
1912
|
"sgds-link": React.DetailedHTMLProps<SgdsLinkProps, HTMLElement>;
|
|
1769
1913
|
"sgds-mainnav-dropdown": React.DetailedHTMLProps<SgdsMainnavDropdownProps, HTMLElement>;
|
|
1770
1914
|
"sgds-mainnav-item": React.DetailedHTMLProps<SgdsMainnavItemProps, HTMLElement>;
|
|
1915
|
+
"sgds-mainnav-profile": React.DetailedHTMLProps<SgdsMainnavProfileProps, HTMLElement>;
|
|
1771
1916
|
"sgds-mainnav": React.DetailedHTMLProps<SgdsMainnavProps, HTMLElement>;
|
|
1772
1917
|
"sgds-masthead": React.DetailedHTMLProps<SgdsMastheadProps, HTMLElement>;
|
|
1773
1918
|
"sgds-modal": React.DetailedHTMLProps<SgdsModalProps, HTMLElement>;
|
|
@@ -1822,6 +1967,8 @@ declare global {
|
|
|
1822
1967
|
"sgds-accordion": HTMLElement;
|
|
1823
1968
|
"sgds-alert-link": HTMLElement;
|
|
1824
1969
|
"sgds-alert": HTMLElement;
|
|
1970
|
+
"sgds-appnav-profile": HTMLElement;
|
|
1971
|
+
"sgds-appnav": HTMLElement;
|
|
1825
1972
|
"sgds-badge": HTMLElement;
|
|
1826
1973
|
"sgds-breadcrumb-item": HTMLElement;
|
|
1827
1974
|
"sgds-breadcrumb": HTMLElement;
|
|
@@ -1830,11 +1977,15 @@ declare global {
|
|
|
1830
1977
|
"sgds-checkbox-group": HTMLElement;
|
|
1831
1978
|
"sgds-checkbox": HTMLElement;
|
|
1832
1979
|
"sgds-close-button": HTMLElement;
|
|
1833
|
-
"sgds-
|
|
1834
|
-
"sgds-
|
|
1980
|
+
"sgds-data-table-cell": HTMLElement;
|
|
1981
|
+
"sgds-data-table-head": HTMLElement;
|
|
1982
|
+
"sgds-data-table-row": HTMLElement;
|
|
1983
|
+
"sgds-data-table": HTMLElement;
|
|
1835
1984
|
"sgds-datepicker": HTMLElement;
|
|
1836
1985
|
"sgds-description-list-group": HTMLElement;
|
|
1837
1986
|
"sgds-description-list": HTMLElement;
|
|
1987
|
+
"sgds-combo-box-option": HTMLElement;
|
|
1988
|
+
"sgds-combo-box": HTMLElement;
|
|
1838
1989
|
"sgds-divider": HTMLElement;
|
|
1839
1990
|
"sgds-drawer": HTMLElement;
|
|
1840
1991
|
"sgds-dropdown-item": HTMLElement;
|
|
@@ -1851,6 +2002,7 @@ declare global {
|
|
|
1851
2002
|
"sgds-link": HTMLElement;
|
|
1852
2003
|
"sgds-mainnav-dropdown": HTMLElement;
|
|
1853
2004
|
"sgds-mainnav-item": HTMLElement;
|
|
2005
|
+
"sgds-mainnav-profile": HTMLElement;
|
|
1854
2006
|
"sgds-mainnav": HTMLElement;
|
|
1855
2007
|
"sgds-masthead": HTMLElement;
|
|
1856
2008
|
"sgds-modal": HTMLElement;
|