@webority/mobile-ui 0.102.0 → 0.102.2

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.
@@ -35509,7 +35509,7 @@ var LE = kt({
35509
35509
  kind: "WeborityPhone",
35510
35510
  library: {
35511
35511
  name: "@webority/mobile-ui",
35512
- version: "0.102.0"
35512
+ version: "0.102.2"
35513
35513
  },
35514
35514
  rendererProtocolVersion: 12,
35515
35515
  platform: "Phone",
@@ -41512,6 +41512,12 @@ var LE = kt({
41512
41512
  description: "Slides the button off the bottom edge while isScrolling is true.",
41513
41513
  default: !1
41514
41514
  },
41515
+ {
41516
+ name: "icon",
41517
+ type: "icon",
41518
+ required: !0,
41519
+ description: "The icon drawn in the button, sized by the button's size."
41520
+ },
41515
41521
  {
41516
41522
  name: "isScrolling",
41517
41523
  type: "boolean",
@@ -42089,6 +42095,12 @@ var LE = kt({
42089
42095
  description: "Blocks presses and dims the button.",
42090
42096
  default: !1
42091
42097
  },
42098
+ {
42099
+ name: "icon",
42100
+ type: "icon",
42101
+ required: !0,
42102
+ description: "The icon the button draws, given by name or as an element."
42103
+ },
42092
42104
  {
42093
42105
  name: "iconVariant",
42094
42106
  type: "enum",
@@ -2,7 +2,7 @@
2
2
  "kind": "WeborityPhone",
3
3
  "library": {
4
4
  "name": "@webority/mobile-ui",
5
- "version": "0.102.0"
5
+ "version": "0.102.2"
6
6
  },
7
7
  "rendererProtocolVersion": 12,
8
8
  "platform": "Phone",
@@ -6886,6 +6886,12 @@
6886
6886
  "description": "Slides the button off the bottom edge while isScrolling is true.",
6887
6887
  "default": false
6888
6888
  },
6889
+ {
6890
+ "name": "icon",
6891
+ "type": "icon",
6892
+ "required": true,
6893
+ "description": "The icon drawn in the button, sized by the button's size."
6894
+ },
6889
6895
  {
6890
6896
  "name": "isScrolling",
6891
6897
  "type": "boolean",
@@ -7588,6 +7594,12 @@
7588
7594
  "description": "Blocks presses and dims the button.",
7589
7595
  "default": false
7590
7596
  },
7597
+ {
7598
+ "name": "icon",
7599
+ "type": "icon",
7600
+ "required": true,
7601
+ "description": "The icon the button draws, given by name or as an element."
7602
+ },
7591
7603
  {
7592
7604
  "name": "iconVariant",
7593
7605
  "type": "enum",
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "webority-phone",
3
- "version": "0.102.0",
3
+ "version": "0.102.2",
4
4
  "platform": "Phone",
5
5
  "kitModuleVersion": 2,
6
6
  "rendererProtocolVersion": 12,
7
7
  "library": {
8
8
  "name": "@webority/mobile-ui",
9
- "version": "0.102.0"
9
+ "version": "0.102.2"
10
10
  },
11
11
  "files": {
12
12
  "manifest.json": {
13
- "sha256": "1994f978987aa8a2222b7d545fd242ffe543930616ca4c9ed405cb4db537a8db",
14
- "bytes": 613235
13
+ "sha256": "8c1f18789163d68b9ae779b5a8540161b49acef06ba265036731255b71bce650",
14
+ "bytes": 613608
15
15
  },
16
16
  "kit.js": {
17
- "sha256": "23c30ca434db394a50a37f49ad81364081a5178ddf43133b76755a27de3b46b6",
18
- "bytes": 5916663
17
+ "sha256": "2c582a0020b4074361b11a8f4e0df52ced7c3ed54011c1536b26572b98e6695b",
18
+ "bytes": 5916972
19
19
  },
20
20
  "kit.css": {
21
21
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"FloatingActionButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{label:{type:"string",description:"Text beside the icon; makes the button extended, a pill."},collapsed:{type:"boolean",default:!1,description:"Folds an extended button to its round icon, with the label fading out, and has no effect without a label."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the round button."},tone:{type:"enum",values:["primary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},position:{type:"enum",values:["bottomRight","bottomLeft","bottomCenter"],description:"The corner or edge of the screen the button is pinned to; leave it unset to place the button yourself."},bottomOffset:{type:"number",description:"The gap above the bottom edge, in points, before the safe area inset is added."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},hideOnScroll:{type:"boolean",default:!1,description:"Slides the button off the bottom edge while isScrolling is true."},isScrolling:{type:"boolean",default:!1,description:"Whether the list behind the button is scrolling right now; wire it to your scroll handler."},accessibilityLabel:{type:"string",required:!0,description:"The name a screen reader reads for the button."},accessibilityHint:{type:"string",description:"What happens when the button is pressed, read after its name by a screen reader."}},omit:["icon","haptic"],examples:[{id:"FloatingActionButton.extended",title:"Extended",props:{label:"New invoice",accessibilityLabel:"New invoice",tone:"primary"}},{id:"FloatingActionButton.neutralLarge",title:"Neutral and large",props:{label:"Filter",accessibilityLabel:"Filter the list",tone:"neutral",size:"lg"}},{id:"FloatingActionButton.collapsed",title:"Collapsed",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}],usage:{when:["A screen has one main action that a person repeats often, such as adding an item.","The action has to stay reachable while the list behind it scrolls."],whenNot:[{text:"The action is a confirmation or a submit inside a form or dialog.",instead:"Button"}],do:[{note:"Use one button per screen for its main action, with a label that says what happens.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}}]},{note:"Fold an extended button with collapsed while the list scrolls, so it covers fewer rows.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}]}],dont:[{note:"Do not put two buttons on one screen; the second competes with the first for attention.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}},{component:"FloatingActionButton",props:{label:"Import",accessibilityLabel:"Import invoices"}}]},{note:"Do not set collapsed on a button with no label, because there is nothing to fold.",example:[{component:"FloatingActionButton",props:{accessibilityLabel:"New invoice",collapsed:!0}}]}],a11y:["The accessibility label names the button for a screen reader; set it to the action, not to the icon.","A collapsed button keeps its label as the accessible name, so a screen reader still hears what it does."]}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"FloatingActionButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{icon:{type:"icon",required:!0,description:"The icon drawn in the button, sized by the button's size."},label:{type:"string",description:"Text beside the icon; makes the button extended, a pill."},collapsed:{type:"boolean",default:!1,description:"Folds an extended button to its round icon, with the label fading out, and has no effect without a label."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the round button."},tone:{type:"enum",values:["primary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},position:{type:"enum",values:["bottomRight","bottomLeft","bottomCenter"],description:"The corner or edge of the screen the button is pinned to; leave it unset to place the button yourself."},bottomOffset:{type:"number",description:"The gap above the bottom edge, in points, before the safe area inset is added."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},hideOnScroll:{type:"boolean",default:!1,description:"Slides the button off the bottom edge while isScrolling is true."},isScrolling:{type:"boolean",default:!1,description:"Whether the list behind the button is scrolling right now; wire it to your scroll handler."},accessibilityLabel:{type:"string",required:!0,description:"The name a screen reader reads for the button."},accessibilityHint:{type:"string",description:"What happens when the button is pressed, read after its name by a screen reader."}},omit:["haptic"],examples:[{id:"FloatingActionButton.extended",title:"Extended",props:{icon:"add",label:"New invoice",accessibilityLabel:"New invoice",tone:"primary"}},{id:"FloatingActionButton.neutralLarge",title:"Neutral and large",props:{icon:"filter",label:"Filter",accessibilityLabel:"Filter the list",tone:"neutral",size:"lg"}},{id:"FloatingActionButton.collapsed",title:"Collapsed",props:{icon:"add",label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}],usage:{when:["A screen has one main action that a person repeats often, such as adding an item.","The action has to stay reachable while the list behind it scrolls."],whenNot:[{text:"The action is a confirmation or a submit inside a form or dialog.",instead:"Button"}],do:[{note:"Use one button per screen for its main action, with a label that says what happens.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}}]},{note:"Fold an extended button with collapsed while the list scrolls, so it covers fewer rows.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}]}],dont:[{note:"Do not put two buttons on one screen; the second competes with the first for attention.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}},{component:"FloatingActionButton",props:{label:"Import",accessibilityLabel:"Import invoices"}}]},{note:"Do not set collapsed on a button with no label, because there is nothing to fold.",example:[{component:"FloatingActionButton",props:{accessibilityLabel:"New invoice",collapsed:!0}}]}],a11y:["The accessibility label names the button for a screen reader; set it to the action, not to the icon.","A collapsed button keeps its label as the accessible name, so a screen reader still hears what it does."]}});
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"IconButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{accessibilityLabel:{type:"string",required:!0,description:"The accessible name of the button, required for an icon-only control."},iconVariant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],default:"linear",description:"The Iconsax style for the icon when it is given by name."},tone:{type:"enum",values:["primary","secondary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},variant:{type:"enum",values:["solid","soft","outline","ghost","glass"],default:"solid",description:"The visual weight of the button, from a solid fill to no fill."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the button and the size of its icon."},shape:{type:"enum",values:["circle","rounded"],default:"circle",description:"The outline of the button."},active:{type:"boolean",default:!1,description:"Draws the button filled regardless of the variant, as for an active nav tile."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},loading:{type:"boolean",default:!1,description:"Replaces the icon with a spinner and disables the button."}},omit:["icon","haptic"],examples:[{id:"IconButton.default",title:"Default",props:{accessibilityLabel:"Send",variant:"solid",tone:"primary"}},{id:"IconButton.outline",title:"Outline",props:{accessibilityLabel:"Close",variant:"outline",tone:"neutral"}},{id:"IconButton.active",title:"Active",props:{accessibilityLabel:"Menu",active:!0,tone:"primary"}}],usage:{when:["A single icon action that needs a clear touch target, such as a back or close control.","A navigation tile that is selected and should render filled."],whenNot:[{text:"A button with a text label.",instead:"Button"},{text:"A decorative icon with no action.",instead:"AppIcon"},{text:"A floating action button over the main content.",instead:"FloatingActionButton"}],do:[{note:"Always set an accessibility label so screen readers can announce the action.",example:[{component:"IconButton",props:{accessibilityLabel:"Close dialog"}}]},{note:"Use the outline variant for a quiet action beside stronger controls.",example:[{component:"IconButton",props:{accessibilityLabel:"Copy",variant:"outline",tone:"neutral"}}]}],dont:[{note:"Do not omit the accessibility label; an icon-only button is invisible to screen readers without it.",example:[{component:"IconButton",props:{variant:"solid"}}]},{note:"Do not use the danger tone for a standard destructive action without confirmation.",example:[{component:"IconButton",props:{accessibilityLabel:"Delete",tone:"danger"}}]}],a11y:["The accessibility label is the spoken name; without it the button has no accessible name.","The button announces itself as disabled when disabled or loading, with a disabled state.","The active state is exposed as selected for screen readers."]}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"IconButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{accessibilityLabel:{type:"string",required:!0,description:"The accessible name of the button, required for an icon-only control."},icon:{type:"icon",required:!0,description:"The icon the button draws, given by name or as an element."},iconVariant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],default:"linear",description:"The Iconsax style for the icon when it is given by name."},tone:{type:"enum",values:["primary","secondary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},variant:{type:"enum",values:["solid","soft","outline","ghost","glass"],default:"solid",description:"The visual weight of the button, from a solid fill to no fill."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the button and the size of its icon."},shape:{type:"enum",values:["circle","rounded"],default:"circle",description:"The outline of the button."},active:{type:"boolean",default:!1,description:"Draws the button filled regardless of the variant, as for an active nav tile."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},loading:{type:"boolean",default:!1,description:"Replaces the icon with a spinner and disables the button."}},omit:["haptic"],examples:[{id:"IconButton.default",title:"Default",props:{icon:"search",accessibilityLabel:"Search",variant:"solid",tone:"primary"}},{id:"IconButton.outline",title:"Outline",props:{icon:"more",accessibilityLabel:"More options",variant:"outline",tone:"neutral"}},{id:"IconButton.active",title:"Active",props:{icon:"home",accessibilityLabel:"Home",active:!0,tone:"primary"}}],usage:{when:["A single icon action that needs a clear touch target, such as a back or close control.","A navigation tile that is selected and should render filled."],whenNot:[{text:"A button with a text label.",instead:"Button"},{text:"A decorative icon with no action.",instead:"AppIcon"},{text:"A floating action button over the main content.",instead:"FloatingActionButton"}],do:[{note:"Always set an accessibility label so screen readers can announce the action.",example:[{component:"IconButton",props:{accessibilityLabel:"Close dialog"}}]},{note:"Use the outline variant for a quiet action beside stronger controls.",example:[{component:"IconButton",props:{accessibilityLabel:"Copy",variant:"outline",tone:"neutral"}}]}],dont:[{note:"Do not omit the accessibility label; an icon-only button is invisible to screen readers without it.",example:[{component:"IconButton",props:{variant:"solid"}}]},{note:"Do not use the danger tone for a standard destructive action without confirmation.",example:[{component:"IconButton",props:{accessibilityLabel:"Delete",tone:"danger"}}]}],a11y:["The accessibility label is the spoken name; without it the button has no accessible name.","The button announces itself as disabled when disabled or loading, with a disabled state.","The active state is exposed as selected for screen readers."]}});
@@ -1 +1 @@
1
- "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"FloatingActionButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{label:{type:"string",description:"Text beside the icon; makes the button extended, a pill."},collapsed:{type:"boolean",default:!1,description:"Folds an extended button to its round icon, with the label fading out, and has no effect without a label."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the round button."},tone:{type:"enum",values:["primary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},position:{type:"enum",values:["bottomRight","bottomLeft","bottomCenter"],description:"The corner or edge of the screen the button is pinned to; leave it unset to place the button yourself."},bottomOffset:{type:"number",description:"The gap above the bottom edge, in points, before the safe area inset is added."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},hideOnScroll:{type:"boolean",default:!1,description:"Slides the button off the bottom edge while isScrolling is true."},isScrolling:{type:"boolean",default:!1,description:"Whether the list behind the button is scrolling right now; wire it to your scroll handler."},accessibilityLabel:{type:"string",required:!0,description:"The name a screen reader reads for the button."},accessibilityHint:{type:"string",description:"What happens when the button is pressed, read after its name by a screen reader."}},omit:["icon","haptic"],examples:[{id:"FloatingActionButton.extended",title:"Extended",props:{label:"New invoice",accessibilityLabel:"New invoice",tone:"primary"}},{id:"FloatingActionButton.neutralLarge",title:"Neutral and large",props:{label:"Filter",accessibilityLabel:"Filter the list",tone:"neutral",size:"lg"}},{id:"FloatingActionButton.collapsed",title:"Collapsed",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}],usage:{when:["A screen has one main action that a person repeats often, such as adding an item.","The action has to stay reachable while the list behind it scrolls."],whenNot:[{text:"The action is a confirmation or a submit inside a form or dialog.",instead:"Button"}],do:[{note:"Use one button per screen for its main action, with a label that says what happens.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}}]},{note:"Fold an extended button with collapsed while the list scrolls, so it covers fewer rows.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}]}],dont:[{note:"Do not put two buttons on one screen; the second competes with the first for attention.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}},{component:"FloatingActionButton",props:{label:"Import",accessibilityLabel:"Import invoices"}}]},{note:"Do not set collapsed on a button with no label, because there is nothing to fold.",example:[{component:"FloatingActionButton",props:{accessibilityLabel:"New invoice",collapsed:!0}}]}],a11y:["The accessibility label names the button for a screen reader; set it to the action, not to the icon.","A collapsed button keeps its label as the accessible name, so a screen reader still hears what it does."]}});
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"FloatingActionButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{icon:{type:"icon",required:!0,description:"The icon drawn in the button, sized by the button's size."},label:{type:"string",description:"Text beside the icon; makes the button extended, a pill."},collapsed:{type:"boolean",default:!1,description:"Folds an extended button to its round icon, with the label fading out, and has no effect without a label."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the round button."},tone:{type:"enum",values:["primary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},position:{type:"enum",values:["bottomRight","bottomLeft","bottomCenter"],description:"The corner or edge of the screen the button is pinned to; leave it unset to place the button yourself."},bottomOffset:{type:"number",description:"The gap above the bottom edge, in points, before the safe area inset is added."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},hideOnScroll:{type:"boolean",default:!1,description:"Slides the button off the bottom edge while isScrolling is true."},isScrolling:{type:"boolean",default:!1,description:"Whether the list behind the button is scrolling right now; wire it to your scroll handler."},accessibilityLabel:{type:"string",required:!0,description:"The name a screen reader reads for the button."},accessibilityHint:{type:"string",description:"What happens when the button is pressed, read after its name by a screen reader."}},omit:["haptic"],examples:[{id:"FloatingActionButton.extended",title:"Extended",props:{icon:"add",label:"New invoice",accessibilityLabel:"New invoice",tone:"primary"}},{id:"FloatingActionButton.neutralLarge",title:"Neutral and large",props:{icon:"filter",label:"Filter",accessibilityLabel:"Filter the list",tone:"neutral",size:"lg"}},{id:"FloatingActionButton.collapsed",title:"Collapsed",props:{icon:"add",label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}],usage:{when:["A screen has one main action that a person repeats often, such as adding an item.","The action has to stay reachable while the list behind it scrolls."],whenNot:[{text:"The action is a confirmation or a submit inside a form or dialog.",instead:"Button"}],do:[{note:"Use one button per screen for its main action, with a label that says what happens.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}}]},{note:"Fold an extended button with collapsed while the list scrolls, so it covers fewer rows.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice",collapsed:!0}}]}],dont:[{note:"Do not put two buttons on one screen; the second competes with the first for attention.",example:[{component:"FloatingActionButton",props:{label:"New invoice",accessibilityLabel:"New invoice"}},{component:"FloatingActionButton",props:{label:"Import",accessibilityLabel:"Import invoices"}}]},{note:"Do not set collapsed on a button with no label, because there is nothing to fold.",example:[{component:"FloatingActionButton",props:{accessibilityLabel:"New invoice",collapsed:!0}}]}],a11y:["The accessibility label names the button for a screen reader; set it to the action, not to the icon.","A collapsed button keeps its label as the accessible name, so a screen reader still hears what it does."]}});
@@ -1 +1 @@
1
- "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"IconButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{accessibilityLabel:{type:"string",required:!0,description:"The accessible name of the button, required for an icon-only control."},iconVariant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],default:"linear",description:"The Iconsax style for the icon when it is given by name."},tone:{type:"enum",values:["primary","secondary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},variant:{type:"enum",values:["solid","soft","outline","ghost","glass"],default:"solid",description:"The visual weight of the button, from a solid fill to no fill."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the button and the size of its icon."},shape:{type:"enum",values:["circle","rounded"],default:"circle",description:"The outline of the button."},active:{type:"boolean",default:!1,description:"Draws the button filled regardless of the variant, as for an active nav tile."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},loading:{type:"boolean",default:!1,description:"Replaces the icon with a spinner and disables the button."}},omit:["icon","haptic"],examples:[{id:"IconButton.default",title:"Default",props:{accessibilityLabel:"Send",variant:"solid",tone:"primary"}},{id:"IconButton.outline",title:"Outline",props:{accessibilityLabel:"Close",variant:"outline",tone:"neutral"}},{id:"IconButton.active",title:"Active",props:{accessibilityLabel:"Menu",active:!0,tone:"primary"}}],usage:{when:["A single icon action that needs a clear touch target, such as a back or close control.","A navigation tile that is selected and should render filled."],whenNot:[{text:"A button with a text label.",instead:"Button"},{text:"A decorative icon with no action.",instead:"AppIcon"},{text:"A floating action button over the main content.",instead:"FloatingActionButton"}],do:[{note:"Always set an accessibility label so screen readers can announce the action.",example:[{component:"IconButton",props:{accessibilityLabel:"Close dialog"}}]},{note:"Use the outline variant for a quiet action beside stronger controls.",example:[{component:"IconButton",props:{accessibilityLabel:"Copy",variant:"outline",tone:"neutral"}}]}],dont:[{note:"Do not omit the accessibility label; an icon-only button is invisible to screen readers without it.",example:[{component:"IconButton",props:{variant:"solid"}}]},{note:"Do not use the danger tone for a standard destructive action without confirmation.",example:[{component:"IconButton",props:{accessibilityLabel:"Delete",tone:"danger"}}]}],a11y:["The accessibility label is the spoken name; without it the button has no accessible name.","The button announces itself as disabled when disabled or loading, with a disabled state.","The active state is exposed as selected for screen readers."]}});
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"IconButton",marker:null,platforms:["phone"],acceptsChildren:!1,props:{accessibilityLabel:{type:"string",required:!0,description:"The accessible name of the button, required for an icon-only control."},icon:{type:"icon",required:!0,description:"The icon the button draws, given by name or as an element."},iconVariant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],default:"linear",description:"The Iconsax style for the icon when it is given by name."},tone:{type:"enum",values:["primary","secondary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},variant:{type:"enum",values:["solid","soft","outline","ghost","glass"],default:"solid",description:"The visual weight of the button, from a solid fill to no fill."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The diameter of the button and the size of its icon."},shape:{type:"enum",values:["circle","rounded"],default:"circle",description:"The outline of the button."},active:{type:"boolean",default:!1,description:"Draws the button filled regardless of the variant, as for an active nav tile."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},loading:{type:"boolean",default:!1,description:"Replaces the icon with a spinner and disables the button."}},omit:["haptic"],examples:[{id:"IconButton.default",title:"Default",props:{icon:"search",accessibilityLabel:"Search",variant:"solid",tone:"primary"}},{id:"IconButton.outline",title:"Outline",props:{icon:"more",accessibilityLabel:"More options",variant:"outline",tone:"neutral"}},{id:"IconButton.active",title:"Active",props:{icon:"home",accessibilityLabel:"Home",active:!0,tone:"primary"}}],usage:{when:["A single icon action that needs a clear touch target, such as a back or close control.","A navigation tile that is selected and should render filled."],whenNot:[{text:"A button with a text label.",instead:"Button"},{text:"A decorative icon with no action.",instead:"AppIcon"},{text:"A floating action button over the main content.",instead:"FloatingActionButton"}],do:[{note:"Always set an accessibility label so screen readers can announce the action.",example:[{component:"IconButton",props:{accessibilityLabel:"Close dialog"}}]},{note:"Use the outline variant for a quiet action beside stronger controls.",example:[{component:"IconButton",props:{accessibilityLabel:"Copy",variant:"outline",tone:"neutral"}}]}],dont:[{note:"Do not omit the accessibility label; an icon-only button is invisible to screen readers without it.",example:[{component:"IconButton",props:{variant:"solid"}}]},{note:"Do not use the danger tone for a standard destructive action without confirmation.",example:[{component:"IconButton",props:{accessibilityLabel:"Delete",tone:"danger"}}]}],a11y:["The accessibility label is the spoken name; without it the button has no accessible name.","The button announces itself as disabled when disabled or loading, with a disabled state.","The active state is exposed as selected for screen readers."]}});
@@ -1,3 +1,3 @@
1
1
  import type { FloatingActionButtonProps } from "./FloatingActionButton";
2
- export declare const meta: import("../../canvasKit/meta").PhoneMeta<FloatingActionButtonProps, "icon" | "haptic", never>;
2
+ export declare const meta: import("../../canvasKit/meta").PhoneMeta<FloatingActionButtonProps, "haptic", never>;
3
3
  //# sourceMappingURL=FloatingActionButton.meta.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import type { IconButtonProps } from "./IconButton";
2
- export declare const meta: import("../../canvasKit/meta").PhoneMeta<IconButtonProps, "icon" | "haptic", never>;
2
+ export declare const meta: import("../../canvasKit/meta").PhoneMeta<IconButtonProps, "haptic", never>;
3
3
  //# sourceMappingURL=IconButton.meta.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import type { FloatingActionButtonProps } from "./FloatingActionButton.js";
2
- export declare const meta: import("../../canvasKit/meta.js").PhoneMeta<FloatingActionButtonProps, "icon" | "haptic", never>;
2
+ export declare const meta: import("../../canvasKit/meta.js").PhoneMeta<FloatingActionButtonProps, "haptic", never>;
3
3
  //# sourceMappingURL=FloatingActionButton.meta.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import type { IconButtonProps } from "./IconButton.js";
2
- export declare const meta: import("../../canvasKit/meta.js").PhoneMeta<IconButtonProps, "icon" | "haptic", never>;
2
+ export declare const meta: import("../../canvasKit/meta.js").PhoneMeta<IconButtonProps, "haptic", never>;
3
3
  //# sourceMappingURL=IconButton.meta.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/mobile-ui",
3
- "version": "0.102.0",
3
+ "version": "0.102.2",
4
4
  "description": "Beautiful, animated, accessible React Native components, theme and form engine for Webority projects.",
5
5
  "keywords": [
6
6
  "react-native",
@@ -86,8 +86,8 @@
86
86
  "react-native-safe-area-context": ">=5.4.0",
87
87
  "react-native-svg": ">=15.0.0",
88
88
  "react-native-worklets": ">=0.10.0",
89
- "@webority/canvas-kit": "0.102.0",
90
- "@webority/mobile-core": "0.102.0"
89
+ "@webority/canvas-kit": "0.102.2",
90
+ "@webority/mobile-core": "0.102.2"
91
91
  },
92
92
  "peerDependenciesMeta": {
93
93
  "@webority/canvas-kit": {
@@ -148,10 +148,10 @@
148
148
  "react-test-renderer": "19.2.8",
149
149
  "rimraf": "6.1.3",
150
150
  "typescript": "5.9.3",
151
- "@webority/mobile-core": "0.102.0",
152
- "@webority/canvas-kit": "0.102.0",
153
- "@webority/tokens": "0.102.0",
154
- "@webority/mobile-dev": "0.0.0"
151
+ "@webority/canvas-kit": "0.102.2",
152
+ "@webority/mobile-core": "0.102.2",
153
+ "@webority/mobile-dev": "0.0.0",
154
+ "@webority/tokens": "0.102.2"
155
155
  },
156
156
  "scripts": {
157
157
  "build": "bob build && node ../mobile-dev/scripts/minify-lib.mjs && node -e \"require('node:fs').rmSync('dist/canvas-kit',{recursive:true,force:true})\" && node ../canvas-kit/dist/cli.js build --config canvas-kit.json --out dist/canvas-kit",