@getflip/swirl-ai 0.483.0 → 0.485.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.
@@ -28,6 +28,7 @@ The SwirlAppLayout component provides a basic layout used by app integrations to
28
28
  - `sidebarCloseButtonLabel` (string | undefined) –
29
29
  - `sidebarHeading` (string | undefined) –
30
30
  - `sidebarPositioning` ("auto" | "overlay" | undefined) –
31
+ - `sidebarWidth` (string | undefined) –
31
32
  - `transitionStyle` (string | undefined) –
32
33
 
33
34
  ## Slots
@@ -11,12 +11,18 @@ The SwirlThumbnail component is used to visually represent an object via a small
11
11
 
12
12
  ## Optional props
13
13
 
14
+ - `cursor` ("alias" | "all-scroll" | "auto" | "cell" | "col-resize" | "context-menu" | "copy" | "crosshair" | "default" | "e-resize" | "ew-resize" | "grab" | "grabbing" | "help" | "move" | "n-resize" | "ne-resize" | "nesw-resize" | "no-drop" | "none" | "not-allowed" | "ns-resize" | "nw-resize" | "nwse-resize" | "pointer" | "progress" | "row-resize" | "s-resize" | "se-resize" | "sw-resize" | "text" | "vertical-text" | "w-resize" | "wait" | "zoom-in" | "zoom-out" | undefined) –
14
15
  - `editButtonIcon` (string | undefined) –
15
16
  - `editButtonLabel` (string | undefined) –
17
+ - `error` (boolean | undefined) –
16
18
  - `format` ("landscape" | "portrait" | "square" | undefined) –
17
19
  - `interactive` (boolean | undefined) –
20
+ - `menuButtonLabel` (string | undefined) –
21
+ - `openButtonIcon` (string | undefined) –
22
+ - `openButtonLabel` (string | undefined) –
18
23
  - `progress` (number | undefined) –
19
24
  - `progressLabel` (string | undefined) –
25
+ - `removeButtonIcon` (string | undefined) –
20
26
  - `removeButtonLabel` (string | undefined) –
21
27
  - `showEditButton` (boolean | undefined) –
22
28
  - `showRemoveButton` (boolean | undefined) –
@@ -44,12 +50,17 @@ No related components.
44
50
  ## Accessibility
45
51
 
46
52
  SwirlThumbnail is a presentational image wrapper with no ARIA attributes or
47
- keyboard-specific behavior. Provide an accessible name for the image via slotted
48
- content or a parent label.
53
+ keyboard-specific behavior by default. When `interactive` is enabled, the image
54
+ becomes a focusable `<button>`. Action buttons rendered by `show-edit-button`
55
+ and `show-remove-button` expose accessible names via the `edit-button-label`
56
+ and `remove-button-label` props. On compact sizes, actions are grouped behind a
57
+ menu button whose label is set via the `menu-button-label` prop.
49
58
 
50
59
  ### Keyboard
51
60
 
52
- No component-specific keyboard behavior.
61
+ When action buttons or the compact menu button receive keyboard focus, they
62
+ become visible. The compact menu button opens a popover that can be navigated
63
+ with standard keyboard controls.
53
64
 
54
65
  ## Minimal example
55
66
 
@@ -1323,6 +1323,13 @@
1323
1323
  "default": "\"auto\"",
1324
1324
  "fieldName": "sidebarPositioning"
1325
1325
  },
1326
+ {
1327
+ "name": "sidebar-width",
1328
+ "type": {
1329
+ "text": "string | undefined"
1330
+ },
1331
+ "fieldName": "sidebarWidth"
1332
+ },
1326
1333
  {
1327
1334
  "name": "transition-style",
1328
1335
  "type": {
@@ -1520,6 +1527,15 @@
1520
1527
  "readonly": true,
1521
1528
  "attribute": "sidebar-positioning"
1522
1529
  },
1530
+ {
1531
+ "kind": "field",
1532
+ "name": "sidebarWidth",
1533
+ "type": {
1534
+ "text": "string | undefined"
1535
+ },
1536
+ "readonly": true,
1537
+ "attribute": "sidebar-width"
1538
+ },
1523
1539
  {
1524
1540
  "kind": "field",
1525
1541
  "name": "transitionStyle",
@@ -59470,6 +59486,20 @@
59470
59486
  },
59471
59487
  "fieldName": "alt"
59472
59488
  },
59489
+ {
59490
+ "name": "cursor",
59491
+ "type": {
59492
+ "text": "\"alias\" | \"all-scroll\" | \"auto\" | \"cell\" | \"col-resize\" | \"context-menu\" | \"copy\" | \"crosshair\" | \"default\" | \"e-resize\" | \"ew-resize\" | \"grab\" | \"grabbing\" | \"help\" | \"move\" | \"n-resize\" | \"ne-resize\" | \"nesw-resize\" | \"no-drop\" | \"none\" | \"not-allowed\" | \"ns-resize\" | \"nw-resize\" | \"nwse-resize\" | \"pointer\" | \"progress\" | \"row-resize\" | \"s-resize\" | \"se-resize\" | \"sw-resize\" | \"text\" | \"vertical-text\" | \"w-resize\" | \"wait\" | \"zoom-in\" | \"zoom-out\" | undefined",
59493
+ "references": [
59494
+ {
59495
+ "name": "SwirlCursor",
59496
+ "module": "../../utils"
59497
+ }
59498
+ ]
59499
+ },
59500
+ "default": "\"pointer\"",
59501
+ "fieldName": "cursor"
59502
+ },
59473
59503
  {
59474
59504
  "name": "edit-button-icon",
59475
59505
  "type": {
@@ -59486,6 +59516,13 @@
59486
59516
  "default": "\"Edit\"",
59487
59517
  "fieldName": "editButtonLabel"
59488
59518
  },
59519
+ {
59520
+ "name": "error",
59521
+ "type": {
59522
+ "text": "boolean | undefined"
59523
+ },
59524
+ "fieldName": "error"
59525
+ },
59489
59526
  {
59490
59527
  "name": "format",
59491
59528
  "type": {
@@ -59506,6 +59543,30 @@
59506
59543
  },
59507
59544
  "fieldName": "interactive"
59508
59545
  },
59546
+ {
59547
+ "name": "menu-button-label",
59548
+ "type": {
59549
+ "text": "string | undefined"
59550
+ },
59551
+ "default": "\"More actions\"",
59552
+ "fieldName": "menuButtonLabel"
59553
+ },
59554
+ {
59555
+ "name": "open-button-icon",
59556
+ "type": {
59557
+ "text": "string | undefined"
59558
+ },
59559
+ "default": "\"<swirl-icon-visibility></swirl-icon-visibility>\"",
59560
+ "fieldName": "openButtonIcon"
59561
+ },
59562
+ {
59563
+ "name": "open-button-label",
59564
+ "type": {
59565
+ "text": "string | undefined"
59566
+ },
59567
+ "default": "\"Open\"",
59568
+ "fieldName": "openButtonLabel"
59569
+ },
59509
59570
  {
59510
59571
  "name": "progress",
59511
59572
  "type": {
@@ -59521,6 +59582,14 @@
59521
59582
  "default": "\"Loading progress\"",
59522
59583
  "fieldName": "progressLabel"
59523
59584
  },
59585
+ {
59586
+ "name": "remove-button-icon",
59587
+ "type": {
59588
+ "text": "string | undefined"
59589
+ },
59590
+ "default": "\"<swirl-icon-delete></swirl-icon-delete>\"",
59591
+ "fieldName": "removeButtonIcon"
59592
+ },
59524
59593
  {
59525
59594
  "name": "remove-button-label",
59526
59595
  "type": {
@@ -59581,6 +59650,22 @@
59581
59650
  "readonly": true,
59582
59651
  "attribute": "alt"
59583
59652
  },
59653
+ {
59654
+ "kind": "field",
59655
+ "name": "cursor",
59656
+ "type": {
59657
+ "text": "\"alias\" | \"all-scroll\" | \"auto\" | \"cell\" | \"col-resize\" | \"context-menu\" | \"copy\" | \"crosshair\" | \"default\" | \"e-resize\" | \"ew-resize\" | \"grab\" | \"grabbing\" | \"help\" | \"move\" | \"n-resize\" | \"ne-resize\" | \"nesw-resize\" | \"no-drop\" | \"none\" | \"not-allowed\" | \"ns-resize\" | \"nw-resize\" | \"nwse-resize\" | \"pointer\" | \"progress\" | \"row-resize\" | \"s-resize\" | \"se-resize\" | \"sw-resize\" | \"text\" | \"vertical-text\" | \"w-resize\" | \"wait\" | \"zoom-in\" | \"zoom-out\" | undefined",
59658
+ "references": [
59659
+ {
59660
+ "name": "SwirlCursor",
59661
+ "module": "../../utils"
59662
+ }
59663
+ ]
59664
+ },
59665
+ "default": "\"pointer\"",
59666
+ "readonly": true,
59667
+ "attribute": "cursor"
59668
+ },
59584
59669
  {
59585
59670
  "kind": "field",
59586
59671
  "name": "editButtonIcon",
@@ -59601,6 +59686,15 @@
59601
59686
  "readonly": true,
59602
59687
  "attribute": "edit-button-label"
59603
59688
  },
59689
+ {
59690
+ "kind": "field",
59691
+ "name": "error",
59692
+ "type": {
59693
+ "text": "boolean | undefined"
59694
+ },
59695
+ "readonly": true,
59696
+ "attribute": "error"
59697
+ },
59604
59698
  {
59605
59699
  "kind": "field",
59606
59700
  "name": "format",
@@ -59625,6 +59719,36 @@
59625
59719
  "readonly": true,
59626
59720
  "attribute": "interactive"
59627
59721
  },
59722
+ {
59723
+ "kind": "field",
59724
+ "name": "menuButtonLabel",
59725
+ "type": {
59726
+ "text": "string | undefined"
59727
+ },
59728
+ "default": "\"More actions\"",
59729
+ "readonly": true,
59730
+ "attribute": "menu-button-label"
59731
+ },
59732
+ {
59733
+ "kind": "field",
59734
+ "name": "openButtonIcon",
59735
+ "type": {
59736
+ "text": "string | undefined"
59737
+ },
59738
+ "default": "\"<swirl-icon-visibility></swirl-icon-visibility>\"",
59739
+ "readonly": true,
59740
+ "attribute": "open-button-icon"
59741
+ },
59742
+ {
59743
+ "kind": "field",
59744
+ "name": "openButtonLabel",
59745
+ "type": {
59746
+ "text": "string | undefined"
59747
+ },
59748
+ "default": "\"Open\"",
59749
+ "readonly": true,
59750
+ "attribute": "open-button-label"
59751
+ },
59628
59752
  {
59629
59753
  "kind": "field",
59630
59754
  "name": "progress",
@@ -59644,6 +59768,16 @@
59644
59768
  "readonly": true,
59645
59769
  "attribute": "progress-label"
59646
59770
  },
59771
+ {
59772
+ "kind": "field",
59773
+ "name": "removeButtonIcon",
59774
+ "type": {
59775
+ "text": "string | undefined"
59776
+ },
59777
+ "default": "\"<swirl-icon-delete></swirl-icon-delete>\"",
59778
+ "readonly": true,
59779
+ "attribute": "remove-button-icon"
59780
+ },
59647
59781
  {
59648
59782
  "kind": "field",
59649
59783
  "name": "removeButtonLabel",
@@ -59744,7 +59878,7 @@
59744
59878
  }
59745
59879
  }
59746
59880
  ],
59747
- "description": "The SwirlThumbnail component is used to visually represent an object via a small image.\n\nAccessibility\n\nSwirlThumbnail is a presentational image wrapper with no ARIA attributes or\nkeyboard-specific behavior. Provide an accessible name for the image via slotted\ncontent or a parent label.\n\n### Keyboard\n\nNo component-specific keyboard behavior."
59881
+ "description": "The SwirlThumbnail component is used to visually represent an object via a small image.\n\nAccessibility\n\nSwirlThumbnail is a presentational image wrapper with no ARIA attributes or\nkeyboard-specific behavior by default. When `interactive` is enabled, the image\nbecomes a focusable `<button>`. Action buttons rendered by `show-edit-button`\nand `show-remove-button` expose accessible names via the `edit-button-label`\nand `remove-button-label` props. On compact sizes, actions are grouped behind a\nmenu button whose label is set via the `menu-button-label` prop.\n\n### Keyboard\n\nWhen action buttons or the compact menu button receive keyboard focus, they\nbecome visible. The compact menu button opens a popover that can be navigated\nwith standard keyboard controls."
59748
59882
  }
59749
59883
  ],
59750
59884
  "exports": [
@@ -38,6 +38,7 @@ export declare class SwirlAppLayout {
38
38
  sidebarPositioning?: SwirlAppLayoutSidebarPositioning;
39
39
  sidebarCloseButtonLabel?: string;
40
40
  sidebarHeading?: string;
41
+ sidebarWidth?: string;
41
42
  transitionStyle?: string;
42
43
  contentScrollState: {
43
44
  scrollable: boolean;
@@ -4,6 +4,9 @@ declare const _default: {
4
4
  appName: {
5
5
  description: string;
6
6
  };
7
+ sidebarWidth: {
8
+ description: string;
9
+ };
7
10
  transitionStyle: {
8
11
  control: string;
9
12
  options: string[];
@@ -1,10 +1,11 @@
1
+ import { SwirlCursor } from "../../utils";
1
2
  export type SwirlButtonIconPosition = "start" | "end";
2
3
  export type SwirlButtonIntent = "default" | "primary" | "critical" | "strong";
3
4
  export type SwirlButtonSize = "m" | "l";
4
5
  export type SwirlButtonTextAlign = "start" | "center" | "end";
5
6
  export type SwirlButtonType = "button" | "submit";
6
7
  export type SwirlButtonVariant = "flat" | "ghost" | "plain" | "floating" | "on-image" | "outline" | "translucent";
7
- export type SwirlButtonCursor = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "e-resize" | "n-resize" | "ne-resize" | "nw-resize" | "s-resize" | "se-resize" | "sw-resize" | "w-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "col-resize" | "row-resize" | "all-scroll" | "zoom-in" | "zoom-out";
8
+ export type SwirlButtonCursor = SwirlCursor;
8
9
  /**
9
10
  * @slot icon - Icon to be displayed inside the button.
10
11
  * @slot tag - Tag to be displayed inside the button.
@@ -39,6 +39,7 @@ export declare class SwirlImageGridItem {
39
39
  componentWillLoad(): void;
40
40
  componentDidLoad(): void;
41
41
  componentDidRender(): void;
42
+ connectedCallback(): void;
42
43
  disconnectedCallback(): void;
43
44
  private setupIntersectionObserver;
44
45
  private handleIntersectionEntries;
@@ -1,14 +1,21 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { SwirlCursor } from "../../utils";
2
3
  export type SwirlThumbnailFormat = "portrait" | "landscape" | "square";
3
4
  export type SwirlThumbnailSize = "s" | "m" | "l" | "xl" | "2xl";
4
5
  export declare class SwirlThumbnail {
5
6
  alt: string;
7
+ cursor?: SwirlCursor;
6
8
  editButtonIcon?: string;
7
9
  editButtonLabel?: string;
10
+ error?: boolean;
8
11
  format?: SwirlThumbnailFormat;
9
12
  interactive?: boolean;
13
+ menuButtonLabel?: string;
14
+ openButtonIcon?: string;
15
+ openButtonLabel?: string;
10
16
  progress?: number;
11
17
  progressLabel?: string;
18
+ removeButtonIcon?: string;
12
19
  removeButtonLabel?: string;
13
20
  showEditButton?: boolean;
14
21
  showRemoveButton?: boolean;
@@ -18,5 +25,16 @@ export declare class SwirlThumbnail {
18
25
  edit: EventEmitter<MouseEvent>;
19
26
  remove: EventEmitter<MouseEvent>;
20
27
  thumbnailClick: EventEmitter<MouseEvent>;
28
+ hasHover: boolean;
29
+ private hoverMediaQuery?;
30
+ private popoverEl?;
31
+ private popoverTriggerEl?;
32
+ connectedCallback(): void;
33
+ disconnectedCallback(): void;
34
+ componentDidRender(): void;
35
+ private onEditClick;
36
+ private onOpenClick;
37
+ private onRemoveClick;
38
+ private onHoverChange;
21
39
  render(): any;
22
40
  }
@@ -1,6 +1,27 @@
1
1
  import Docs from "./swirl-thumbnail.mdx";
2
2
  declare const _default: {
3
3
  argTypes: {
4
+ editButtonIcon: {
5
+ table: {
6
+ type: {
7
+ summary: string;
8
+ };
9
+ };
10
+ };
11
+ removeButtonIcon: {
12
+ table: {
13
+ type: {
14
+ summary: string;
15
+ };
16
+ };
17
+ };
18
+ openButtonIcon: {
19
+ table: {
20
+ type: {
21
+ summary: string;
22
+ };
23
+ };
24
+ };
4
25
  showEditButton: {
5
26
  description: string;
6
27
  };
@@ -10,13 +31,8 @@ declare const _default: {
10
31
  timestamp: {
11
32
  description: string;
12
33
  };
13
- editButtonIcon: {
14
- table: {
15
- type: {
16
- detail: string;
17
- summary: string;
18
- };
19
- };
34
+ progress: {
35
+ description: string;
20
36
  };
21
37
  };
22
38
  component: string;
@@ -28,7 +28,7 @@ import { SwirlColumnsSpacing } from "./components/swirl-columns/swirl-columns";
28
28
  import { SwirlDataCellIntent } from "./components/swirl-data-cell/swirl-data-cell";
29
29
  import { WCDatepickerLabels } from "wc-datepicker/dist/types/components/wc-datepicker/wc-datepicker";
30
30
  import { SwirlDialogIntent } from "./components/swirl-dialog/swirl-dialog";
31
- import { SwirlDialogToggleEvent } from "./utils";
31
+ import { SwirlCursor, SwirlDialogToggleEvent } from "./utils";
32
32
  import { SwirlEmojiSize } from "./components/swirl-emoji/swirl-emoji.types";
33
33
  import { SwirlButtonVariant as SwirlButtonVariant1 } from "./components/swirl-button/swirl-button";
34
34
  import { SwirlFileViewerPdfViewMode, SwirlFileViewerPdfZoom } from "./components/swirl-file-viewer/viewers/swirl-file-viewer-pdf/swirl-file-viewer-pdf";
@@ -110,7 +110,7 @@ export { SwirlColumnsSpacing } from "./components/swirl-columns/swirl-columns";
110
110
  export { SwirlDataCellIntent } from "./components/swirl-data-cell/swirl-data-cell";
111
111
  export { WCDatepickerLabels } from "wc-datepicker/dist/types/components/wc-datepicker/wc-datepicker";
112
112
  export { SwirlDialogIntent } from "./components/swirl-dialog/swirl-dialog";
113
- export { SwirlDialogToggleEvent } from "./utils";
113
+ export { SwirlCursor, SwirlDialogToggleEvent } from "./utils";
114
114
  export { SwirlEmojiSize } from "./components/swirl-emoji/swirl-emoji.types";
115
115
  export { SwirlButtonVariant as SwirlButtonVariant1 } from "./components/swirl-button/swirl-button";
116
116
  export { SwirlFileViewerPdfViewMode, SwirlFileViewerPdfZoom } from "./components/swirl-file-viewer/viewers/swirl-file-viewer-pdf/swirl-file-viewer-pdf";
@@ -357,6 +357,7 @@ export namespace Components {
357
357
  * @default "auto"
358
358
  */
359
359
  "sidebarPositioning"?: SwirlAppLayoutSidebarPositioning;
360
+ "sidebarWidth"?: string;
360
361
  /**
361
362
  * Toggle the sidebar
362
363
  */
@@ -5337,6 +5338,10 @@ export namespace Components {
5337
5338
  }
5338
5339
  interface SwirlThumbnail {
5339
5340
  "alt": string;
5341
+ /**
5342
+ * @default "pointer"
5343
+ */
5344
+ "cursor"?: SwirlCursor;
5340
5345
  /**
5341
5346
  * @default "<swirl-icon-crop></swirl-icon-crop>"
5342
5347
  */
@@ -5345,16 +5350,33 @@ export namespace Components {
5345
5350
  * @default "Edit"
5346
5351
  */
5347
5352
  "editButtonLabel"?: string;
5353
+ "error"?: boolean;
5348
5354
  /**
5349
5355
  * @default "landscape"
5350
5356
  */
5351
5357
  "format"?: SwirlThumbnailFormat;
5352
5358
  "interactive"?: boolean;
5359
+ /**
5360
+ * @default "More actions"
5361
+ */
5362
+ "menuButtonLabel"?: string;
5363
+ /**
5364
+ * @default "<swirl-icon-visibility></swirl-icon-visibility>"
5365
+ */
5366
+ "openButtonIcon"?: string;
5367
+ /**
5368
+ * @default "Open"
5369
+ */
5370
+ "openButtonLabel"?: string;
5353
5371
  "progress"?: number;
5354
5372
  /**
5355
5373
  * @default "Loading progress"
5356
5374
  */
5357
5375
  "progressLabel"?: string;
5376
+ /**
5377
+ * @default "<swirl-icon-delete></swirl-icon-delete>"
5378
+ */
5379
+ "removeButtonIcon"?: string;
5358
5380
  /**
5359
5381
  * @default "Remove"
5360
5382
  */
@@ -10139,6 +10161,7 @@ declare namespace LocalJSX {
10139
10161
  * @default "auto"
10140
10162
  */
10141
10163
  "sidebarPositioning"?: SwirlAppLayoutSidebarPositioning;
10164
+ "sidebarWidth"?: string;
10142
10165
  /**
10143
10166
  * @default "slides"
10144
10167
  */
@@ -14994,6 +15017,10 @@ declare namespace LocalJSX {
14994
15017
  }
14995
15018
  interface SwirlThumbnail {
14996
15019
  "alt": string;
15020
+ /**
15021
+ * @default "pointer"
15022
+ */
15023
+ "cursor"?: SwirlCursor;
14997
15024
  /**
14998
15025
  * @default "<swirl-icon-crop></swirl-icon-crop>"
14999
15026
  */
@@ -15002,19 +15029,36 @@ declare namespace LocalJSX {
15002
15029
  * @default "Edit"
15003
15030
  */
15004
15031
  "editButtonLabel"?: string;
15032
+ "error"?: boolean;
15005
15033
  /**
15006
15034
  * @default "landscape"
15007
15035
  */
15008
15036
  "format"?: SwirlThumbnailFormat;
15009
15037
  "interactive"?: boolean;
15038
+ /**
15039
+ * @default "More actions"
15040
+ */
15041
+ "menuButtonLabel"?: string;
15010
15042
  "onEdit"?: (event: SwirlThumbnailCustomEvent<MouseEvent>) => void;
15011
15043
  "onRemove"?: (event: SwirlThumbnailCustomEvent<MouseEvent>) => void;
15012
15044
  "onThumbnailClick"?: (event: SwirlThumbnailCustomEvent<MouseEvent>) => void;
15045
+ /**
15046
+ * @default "<swirl-icon-visibility></swirl-icon-visibility>"
15047
+ */
15048
+ "openButtonIcon"?: string;
15049
+ /**
15050
+ * @default "Open"
15051
+ */
15052
+ "openButtonLabel"?: string;
15013
15053
  "progress"?: number;
15014
15054
  /**
15015
15055
  * @default "Loading progress"
15016
15056
  */
15017
15057
  "progressLabel"?: string;
15058
+ /**
15059
+ * @default "<swirl-icon-delete></swirl-icon-delete>"
15060
+ */
15061
+ "removeButtonIcon"?: string;
15018
15062
  /**
15019
15063
  * @default "Remove"
15020
15064
  */
@@ -15287,6 +15331,7 @@ declare namespace LocalJSX {
15287
15331
  "sidebarPositioning": SwirlAppLayoutSidebarPositioning;
15288
15332
  "sidebarCloseButtonLabel": string;
15289
15333
  "sidebarHeading": string;
15334
+ "sidebarWidth": string;
15290
15335
  "transitionStyle": string;
15291
15336
  }
15292
15337
  interface SwirlAutocompleteAttributes {
@@ -17896,12 +17941,18 @@ declare namespace LocalJSX {
17896
17941
  }
17897
17942
  interface SwirlThumbnailAttributes {
17898
17943
  "alt": string;
17944
+ "cursor": SwirlCursor;
17899
17945
  "editButtonIcon": string;
17900
17946
  "editButtonLabel": string;
17947
+ "error": boolean;
17901
17948
  "format": SwirlThumbnailFormat;
17902
17949
  "interactive": boolean;
17950
+ "menuButtonLabel": string;
17951
+ "openButtonIcon": string;
17952
+ "openButtonLabel": string;
17903
17953
  "progress": number;
17904
17954
  "progressLabel": string;
17955
+ "removeButtonIcon": string;
17905
17956
  "removeButtonLabel": string;
17906
17957
  "showEditButton": boolean;
17907
17958
  "showRemoveButton": boolean;
@@ -8,4 +8,4 @@ export { SwirlTableDropRowEvent } from "./components/swirl-table/swirl-table";
8
8
  export { SwirlOSTheme, SwirlOSThemeChangeEventData, SwirlThemeProviderConfig, SwirlThemeProviderStorage, SwirlTheme as Theme, SwirlThemeDesignToken as ThemeDesignToken, SwirlThemeIcon as ThemeIcon, SwirlThemeImage as ThemeImage, SwirlThemeRgbaColor as ThemeRgbaColor, SwirlThemes as Themes, } from "./components/swirl-theme-provider/swirl-theme-provider.types";
9
9
  export { SwirlTreeViewItemKeyboardMoveEvent } from "./components/swirl-tree-view-item/swirl-tree-view-item";
10
10
  export { SwirlTreeViewCanDropHandler, SwirlTreeViewDropItemEvent, } from "./components/swirl-tree-view/swirl-tree-view";
11
- export { SwirlDialogToggleEvent } from "./utils";
11
+ export { SwirlCursor, SwirlDialogToggleEvent } from "./utils";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Body scroll lock utility.
3
+ *
4
+ * - Non-iOS: sets `overflow: hidden` on body
5
+ * - iOS: uses `position: fixed` + scroll position preservation
6
+ * (iOS Safari ignores `overflow: hidden` on body)
7
+ *
8
+ * Uses reference counting so multiple simultaneous locks are safe.
9
+ */
10
+ export declare function disableBodyScroll(targetElement: Element | null | undefined): void;
11
+ export declare function enableBodyScroll(targetElement: Element | null | undefined): void;
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from "./stencil-public-runtime";
2
+ export type SwirlCursor = "auto" | "default" | "none" | "context-menu" | "help" | "pointer" | "progress" | "wait" | "cell" | "crosshair" | "text" | "vertical-text" | "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing" | "e-resize" | "n-resize" | "ne-resize" | "nw-resize" | "s-resize" | "se-resize" | "sw-resize" | "w-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize" | "col-resize" | "row-resize" | "all-scroll" | "zoom-in" | "zoom-out";
2
3
  export type SwirlDialogToggleEvent = {
3
4
  newState: "open" | "closed";
4
5
  dialog: HTMLDialogElement;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getflip/swirl-ai",
3
- "version": "0.483.0",
3
+ "version": "0.485.0",
4
4
  "description": "Swirl Design System AI package with artifacts for AI agents",
5
5
  "author": "Flip GmbH",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "lint": "tsc --noEmit"
27
27
  },
28
28
  "devDependencies": {
29
- "@getflip/swirl-components": "0.483.0",
29
+ "@getflip/swirl-components": "0.485.0",
30
30
  "@types/node": "25.3.0",
31
31
  "tsx": "^4.7.0",
32
32
  "typescript": "5.9.3"