dap-design-system 0.37.0 → 0.38.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/dist/dds.d.ts CHANGED
@@ -35,6 +35,8 @@ declare class AccordionBaseElement extends DdsElement {
35
35
  disabled: boolean;
36
36
  /** Whether the accordion is in loading state */
37
37
  loading: boolean;
38
+ /** The loading aria label of the accordion */
39
+ loadingAriaLabel?: string;
38
40
  /** The location of the icon
39
41
  * @type { 'left' | 'right' }
40
42
  */
@@ -2212,7 +2214,7 @@ declare const DapDSCardTitle_base: typeof DdsElement & {
2212
2214
  * @property {string} description - The description of the checkbox.
2213
2215
  * @property {boolean} disabled - Whether the checkbox is disabled.
2214
2216
  * @property {boolean} required - Whether the checkbox is required.
2215
- * @property {'xs' | sm' | 'md' | 'lg'} size - The size of the checkbox.
2217
+ * @property {'xs' | 'sm' | 'md' | 'lg'} size - The size of the checkbox.
2216
2218
  * @property {'left' | 'right'} labelPlacement - The placement of the label.
2217
2219
  * @property {'top' | 'bottom'} descriptionPlacement - The placement of the description.
2218
2220
  * @property {boolean} subtle - The weight of the label.
@@ -2262,17 +2264,72 @@ export declare class DapDSCheckbox extends LabeledChoiceElement {
2262
2264
  indeterminate: boolean;
2263
2265
  /** Whether the checkbox should prevent the default action */
2264
2266
  preventDefault: boolean;
2265
- /** This sets up border around the checkbox, when true. */
2267
+ /** This sets up border around the checkbox, when true. */
2266
2268
  border: boolean;
2267
2269
  /** The type of the checkbox
2268
2270
  * @type {'normal' | 'background'}
2269
2271
  */
2270
2272
  type: 'normal' | 'background';
2271
2273
  static readonly styles: CSSResult;
2274
+ /**
2275
+ * Validates property combinations and logs warnings for invalid states.
2276
+ * @private
2277
+ */
2278
+ private validateProperties;
2279
+ /**
2280
+ * Gets the aria-describedby attribute value by combining description and feedback IDs.
2281
+ * @returns {string | undefined} Space-separated IDs or undefined if none exist
2282
+ * @private
2283
+ */
2284
+ private getAriaDescribedBy;
2285
+ /**
2286
+ * Gets the aria-checked attribute value based on checkbox state.
2287
+ * @returns {'true' | 'false' | 'mixed'} The appropriate aria-checked value
2288
+ * @private
2289
+ */
2290
+ private getAriaChecked;
2291
+ /**
2292
+ * Handles click events on the checkbox.
2293
+ * Manages the checked/indeterminate state transitions and emits change events.
2294
+ * @private
2295
+ */
2272
2296
  private handleClick;
2297
+ /**
2298
+ * Handles input events on the checkbox.
2299
+ * Emits the dds-input event with current checkbox state.
2300
+ * @private
2301
+ */
2273
2302
  private handleInput;
2303
+ /**
2304
+ * Handles keyboard events on the checkbox.
2305
+ * Provides enhanced keyboard navigation and accessibility.
2306
+ * @param {KeyboardEvent} event - The keyboard event
2307
+ * @private
2308
+ */
2309
+ private handleKeyDown;
2274
2310
  get focusElement(): HTMLInputElement;
2311
+ /**
2312
+ * Programmatically focuses the checkbox input element.
2313
+ * @public
2314
+ */
2315
+ focus(): void;
2316
+ /**
2317
+ * Programmatically blurs the checkbox input element.
2318
+ * @public
2319
+ */
2320
+ blur(): void;
2321
+ /**
2322
+ * Renders the appropriate icon based on checkbox state.
2323
+ * @returns {TemplateResult | null} The icon template or null if unchecked
2324
+ * @private
2325
+ */
2275
2326
  renderIcon(): TemplateResult_2 | null;
2327
+ /**
2328
+ * Handles invalid events on the checkbox input.
2329
+ * Prevents the default browser validation UI from showing and manages invalid state.
2330
+ * @param {Event} event - The invalid event
2331
+ * @private
2332
+ */
2276
2333
  handleInvalid(event: Event): void;
2277
2334
  render(): TemplateResult_2;
2278
2335
  }
@@ -4593,28 +4650,39 @@ export declare class DapDSPopup extends PopupBaseElement {
4593
4650
  * @element dap-ds-radio-button
4594
4651
  * @title - Radio button
4595
4652
  *
4653
+ * @event {{ checked: boolean, value: string, disabled: boolean, type: 'radio' }} dds-change - Fired when the radio button is checked.
4654
+ * @event {{ void }} dds-blur - Emitted when the radio button loses focus.
4655
+ * @event {{ void }} dds-focus - Emitted when the radio button gains focus.
4656
+ * @event {{ checked: boolean, value: string, disabled: boolean }} dds-input - Emitted when the radio button receives input.
4657
+ *
4596
4658
  * @property {string} name - The name of the radio button.
4597
4659
  * @property {string} value - The value of the radio button.
4598
- * @property {boolean} checked - The checked state of the radio button.
4660
+ * @property {boolean} checked - Whether the radio button is checked.
4599
4661
  * @property {string} label - The label of the radio button.
4600
4662
  * @property {string} description - The description of the radio button.
4601
- * @property {'xs', 'sm' | 'md' | 'lg'} size - The size of the radio button.
4602
- * @property {boolean} disabled - The disabled state of the radio button.
4603
- * @property {boolean} required - The required state of the radio button.
4663
+ * @property {boolean} disabled - Whether the radio button is disabled.
4664
+ * @property {boolean} required - Whether the radio button is required.
4665
+ * @property {'xs' | 'sm' | 'md' | 'lg'} size - The size of the radio button.
4604
4666
  * @property {'left' | 'right'} labelPlacement - The placement of the label.
4605
4667
  * @property {'top' | 'bottom'} descriptionPlacement - The placement of the description.
4606
- *
4607
- * @event {{ value: string }} dds-change - Fired when the radio button is checked.
4608
- * @event {{ void }} dds-blur - Emitted when the radio button loses focus.
4609
- * @event {{ void }} dds-focus - Emitted when the radio button gains focus.
4610
- * @event {{ value: string }} dds-input - Emitted when the radio button receives input.
4668
+ * @property {boolean} subtle - The weight of the label.
4669
+ * @property {string} feedback - The feedback of the radio button.
4670
+ * @property {'negative' | 'positive' | 'warning'} feedbackType - The feedback type of the radio button.
4671
+ * @property {boolean} invalid - The invalid state of the radio button.
4672
+ * @property {boolean} optional - The optional state of the radio button.
4673
+ * @property {string} optionalLabel - The optional label of the radio button.
4674
+ * @property {boolean} preventDefault - Whether the radio button should prevent the default action.
4675
+ * @property {boolean} focusable - Whether the radio button is focusable.
4676
+ * @property {'normal' | 'background'} type - The type of the radio button.
4677
+ * @property {boolean} border - This sets up a border around the radio button, when true.
4611
4678
  *
4612
4679
  * @csspart base - The main radio button container.
4613
4680
  * @csspart wrapper - The wrapper of the radio button.
4614
- * @csspart baselabel - The main label container
4681
+ * @csspart base-label - The main label container.
4615
4682
  * @csspart label - The label of the radio button.
4616
4683
  * @csspart input - The native input of the radio button.
4617
4684
  * @csspart control - The control of the radio button.
4685
+ * @csspart label-container - The label container of the radio button.
4618
4686
  * @csspart description - The description of the radio button.
4619
4687
  *
4620
4688
  * @cssproperty --dds-radio-size - Sets the size of the radio button. Default: var(--dds-spacing-600)
@@ -4647,15 +4715,58 @@ export declare class DapDSRadioButton extends LabeledChoiceElement {
4647
4715
  private readonly input;
4648
4716
  /** Whether the radio button is focusable */
4649
4717
  focusable: boolean;
4718
+ /** Whether the radio button should prevent the default action */
4719
+ preventDefault: boolean;
4720
+ /** This sets up a border around the radio button, when true. */
4721
+ border: boolean;
4650
4722
  /** The type of the radio button
4651
4723
  * @type {'normal' | 'background'}
4652
4724
  */
4653
4725
  type: 'normal' | 'background';
4654
- /** This sets up a border around the radio button, when true. */
4655
- border: boolean;
4656
4726
  static readonly styles: CSSResult;
4727
+ /**
4728
+ * Gets the aria-describedby attribute value by combining description and feedback IDs.
4729
+ * @returns {string | undefined} Space-separated IDs or undefined if none exist
4730
+ * @private
4731
+ */
4732
+ private getAriaDescribedBy;
4733
+ /**
4734
+ * Handles click events on the radio button.
4735
+ * Manages the checked state and emits change events.
4736
+ * @private
4737
+ */
4657
4738
  private handleClick;
4739
+ /**
4740
+ * Handles input events on the radio button.
4741
+ * Emits the dds-input event with current radio button state.
4742
+ * @private
4743
+ */
4744
+ private handleInput;
4745
+ /**
4746
+ * Handles keyboard events on the radio button.
4747
+ * Provides enhanced keyboard navigation and accessibility.
4748
+ * @param {KeyboardEvent} event - The keyboard event
4749
+ * @private
4750
+ */
4751
+ private handleKeyDown;
4658
4752
  get focusElement(): HTMLInputElement;
4753
+ /**
4754
+ * Programmatically focuses the radio button input element.
4755
+ * @public
4756
+ */
4757
+ focus(): void;
4758
+ /**
4759
+ * Programmatically blurs the radio button input element.
4760
+ * @public
4761
+ */
4762
+ blur(): void;
4763
+ /**
4764
+ * Handles invalid events on the radio button input.
4765
+ * Prevents the default browser validation UI from showing and manages invalid state.
4766
+ * @param {Event} event - The invalid event
4767
+ * @private
4768
+ */
4769
+ handleInvalid(event: Event): void;
4659
4770
  render(): TemplateResult_2;
4660
4771
  }
4661
4772
 
@@ -5125,6 +5236,64 @@ export declare class DapDSSideNavItem extends DdsElement {
5125
5236
  render(): TemplateResult_2;
5126
5237
  }
5127
5238
 
5239
+ /**
5240
+ * `dap-ds-skeleton`
5241
+ * @summary A skeleton loader component for displaying placeholder content while loading.
5242
+ * @element dap-ds-skeleton
5243
+ * @title - Skeleton
5244
+ *
5245
+ * @example Basic Usage
5246
+ * ```html
5247
+ * <dap-ds-skeleton></dap-ds-skeleton>
5248
+ * <dap-ds-skeleton variant="circular"></dap-ds-skeleton>
5249
+ * <dap-ds-skeleton variant="rectangular" width="200px" height="100px"></dap-ds-skeleton>
5250
+ * <dap-ds-skeleton animation="custom" custom-keyframes="0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); }"></dap-ds-skeleton>
5251
+ * ```
5252
+ *
5253
+ * @csspart base - The main skeleton container.
5254
+ *
5255
+ * @cssprop --dds-skeleton-color - The base color of the skeleton.
5256
+ * @cssprop --dds-skeleton-animation-duration - Duration of the loading animation.
5257
+ * @cssprop --dds-skeleton-border-radius - Border radius for rectangular skeletons.
5258
+ * @cssprop --dds-skeleton-text-spacing - Spacing between text lines in text variant.
5259
+ * @cssprop --dds-skeleton-animation-timing-function - Timing function for the loading animation.
5260
+ */
5261
+ export declare class DapDSSkeleton extends DdsElement {
5262
+ /**
5263
+ * The variant of the skeleton.
5264
+ * @type {"text" | "circular" | "rectangular"}
5265
+ */
5266
+ variant: SkeletonVariant;
5267
+ /**
5268
+ * The width of the skeleton. Can be any valid CSS width value.
5269
+ */
5270
+ width?: string;
5271
+ /**
5272
+ * The height of the skeleton. Can be any valid CSS height value.
5273
+ */
5274
+ height?: string;
5275
+ /**
5276
+ * Whether to animate the skeleton.
5277
+ */
5278
+ animated: boolean;
5279
+ /**
5280
+ * The animation type for the skeleton.
5281
+ * @type {"wave" | "pulse" | "custom"}
5282
+ */
5283
+ animation: SkeletonAnimation;
5284
+ /**
5285
+ * Custom keyframes for the animation when animation="custom".
5286
+ * Should be a valid CSS keyframes string without the @keyframes wrapper.
5287
+ * @example "0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); }"
5288
+ */
5289
+ customKeyframes?: string;
5290
+ static readonly styles: CSSResult;
5291
+ private _customStyleSheet?;
5292
+ private _updateCustomAnimation;
5293
+ updated(changedProperties: Map<string, unknown>): void;
5294
+ render(): TemplateResult_2<1>;
5295
+ }
5296
+
5128
5297
  /**
5129
5298
  * `dap-ds-skip-link`
5130
5299
  * @summary A skip link is a link that allows keyboard users to skip to the main content of a page.
@@ -5432,16 +5601,55 @@ export declare class DapDSStack extends DdsElement {
5432
5601
  */
5433
5602
  export declare class DapDSSwitch extends LabeledChoiceElement {
5434
5603
  private readonly input;
5435
- /** This sets up border around the switch, when true. */
5604
+ /** This sets up border around the switch, when true. */
5436
5605
  border: boolean;
5437
5606
  /** The type of the switch
5438
5607
  * @type {'normal' | 'background'}
5439
5608
  */
5440
5609
  type: 'normal' | 'background';
5441
5610
  static readonly styles: CSSResult;
5611
+ /**
5612
+ * Validates property combinations and logs warnings for invalid states.
5613
+ * @private
5614
+ */
5615
+ private validateProperties;
5616
+ /**
5617
+ * Gets the aria-describedby attribute value by combining description and feedback IDs.
5618
+ * @returns {string | undefined} Space-separated IDs or undefined if none exist
5619
+ * @private
5620
+ */
5621
+ private getAriaDescribedBy;
5622
+ /**
5623
+ * Handles click events on the switch.
5624
+ * Manages the checked state transitions and emits change events.
5625
+ * @private
5626
+ */
5442
5627
  private readonly handleClick;
5443
5628
  get focusElement(): HTMLInputElement;
5629
+ /**
5630
+ * Programmatically focuses the switch input element.
5631
+ * @public
5632
+ */
5633
+ focus(): void;
5634
+ /**
5635
+ * Programmatically blurs the switch input element.
5636
+ * @public
5637
+ */
5638
+ blur(): void;
5639
+ /**
5640
+ * Handles invalid events on the switch input.
5641
+ * Prevents the default browser validation UI from showing and manages invalid state.
5642
+ * @param {Event} event - The invalid event
5643
+ * @private
5644
+ */
5444
5645
  handleInvalid(event: Event): void;
5646
+ /**
5647
+ * Handles keyboard events on the switch.
5648
+ * Provides enhanced keyboard navigation and accessibility.
5649
+ * @param {KeyboardEvent} event - The keyboard event
5650
+ * @private
5651
+ */
5652
+ private handleKeyDown;
5445
5653
  render(): TemplateResult_2;
5446
5654
  }
5447
5655
 
@@ -6945,6 +7153,10 @@ declare interface SizedElementInterface {
6945
7153
  spacing: ElementSpacing;
6946
7154
  }
6947
7155
 
7156
+ declare type SkeletonAnimation = 'wave' | 'pulse' | 'custom';
7157
+
7158
+ declare type SkeletonVariant = 'text' | 'circular' | 'rectangular';
7159
+
6948
7160
  export declare type SnackbarMessage = {
6949
7161
  id: string;
6950
7162
  message: string;