@tylertech/forge 3.3.5 → 3.3.6
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/custom-elements.json +340 -71
- package/dist/app-bar/forge-app-bar.css +0 -16
- package/dist/field/forge-field.css +4 -17
- package/dist/lib.js +1 -1
- package/dist/lib.js.map +3 -3
- package/dist/vscode.html-custom-data.json +153 -22
- package/esm/autocomplete/autocomplete-adapter.js +2 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
- package/esm/checkbox/checkbox.d.ts +3 -3
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/dialog/dialog-core.d.ts +1 -0
- package/esm/dialog/dialog-core.js +10 -6
- package/esm/dialog/dialog.d.ts +4 -4
- package/esm/field/base/with-base-field.js +2 -2
- package/esm/field/field-adapter.d.ts +4 -4
- package/esm/field/field-adapter.js +4 -12
- package/esm/field/field-constants.d.ts +1 -0
- package/esm/field/field-constants.js +2 -1
- package/esm/field/field-core.d.ts +2 -0
- package/esm/field/field-core.js +13 -3
- package/esm/field/field.d.ts +1 -0
- package/esm/field/field.js +3 -2
- package/esm/icon/icon.d.ts +26 -9
- package/esm/icon/icon.js +3 -2
- package/esm/label/label.d.ts +1 -1
- package/esm/popover/popover-adapter.js +5 -0
- package/esm/radio/radio/radio.d.ts +2 -2
- package/esm/select/core/base-select-adapter.js +5 -0
- package/esm/skip-link/skip-link.d.ts +1 -1
- package/esm/skip-link/skip-link.js +1 -1
- package/esm/switch/switch.d.ts +2 -2
- package/esm/time-picker/time-picker-adapter.d.ts +2 -2
- package/esm/time-picker/time-picker-adapter.js +44 -30
- package/esm/time-picker/time-picker-core.js +1 -1
- package/esm/time-picker/time-picker.d.ts +125 -28
- package/esm/time-picker/time-picker.js +0 -27
- package/esm/view-switcher/view-switcher.d.ts +1 -1
- package/package.json +4 -4
- package/sass/core/styles/_utils.scss +1 -1
- package/sass/core/styles/theme/_utils.scss +1 -1
- package/sass/core/styles/tokens/list/list/_tokens.scss +2 -1
- package/sass/field/_core.animation.scss +0 -20
- package/sass/field/_core.layout.scss +3 -8
- package/sass/field/_core.scss +1 -0
- package/sass/field/_core.slotted.scss +4 -8
- package/sass/field/field.scss +8 -8
- package/sass/radio/index.scss +1 -1
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
"values": []
|
|
426
426
|
},
|
|
427
427
|
{
|
|
428
|
-
"name": "
|
|
428
|
+
"name": "default-checked",
|
|
429
429
|
"description": "Gets/sets whether the checkbox is checked by default.",
|
|
430
430
|
"values": []
|
|
431
431
|
},
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
"values": []
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
|
-
"name": "
|
|
463
|
+
"name": "label-position",
|
|
464
464
|
"description": "Controls whether the label appears before or after the checkbox.",
|
|
465
465
|
"values": [{ "name": "CheckboxLabelPosition" }]
|
|
466
466
|
}
|
|
@@ -786,7 +786,7 @@
|
|
|
786
786
|
"values": [{ "name": "DialogType" }]
|
|
787
787
|
},
|
|
788
788
|
{
|
|
789
|
-
"name": "
|
|
789
|
+
"name": "animation-type",
|
|
790
790
|
"description": "The animation type of the dialog.",
|
|
791
791
|
"values": [{ "name": "DialogAnimationType" }]
|
|
792
792
|
},
|
|
@@ -806,7 +806,7 @@
|
|
|
806
806
|
"values": []
|
|
807
807
|
},
|
|
808
808
|
{
|
|
809
|
-
"name": "
|
|
809
|
+
"name": "fullscreen-threshold",
|
|
810
810
|
"description": "The screen width at which the dialog will switch to fullscreen.",
|
|
811
811
|
"values": []
|
|
812
812
|
},
|
|
@@ -821,12 +821,12 @@
|
|
|
821
821
|
"values": []
|
|
822
822
|
},
|
|
823
823
|
{
|
|
824
|
-
"name": "
|
|
824
|
+
"name": "position-strategy",
|
|
825
825
|
"description": "Controls whether the dialog is rendered relative to the viewport or its nearest containing block.",
|
|
826
826
|
"values": [{ "name": "DialogPositionStrategy" }]
|
|
827
827
|
},
|
|
828
828
|
{
|
|
829
|
-
"name": "
|
|
829
|
+
"name": "size-strategy",
|
|
830
830
|
"description": "Controls the block and/or inline size of the dialog. Defaults to the size of the content it contains.",
|
|
831
831
|
"values": [{ "name": "DialogSizeStrategy" }]
|
|
832
832
|
},
|
|
@@ -874,7 +874,7 @@
|
|
|
874
874
|
},
|
|
875
875
|
{
|
|
876
876
|
"name": "forge-field",
|
|
877
|
-
"description": "The Forge Field component is a basic component that handles the layout and theming of\nform elements that can include a label, various states, and a border around an input area.\n---\n\n\n### **Events:**\n - **forge-field-popover-icon-click** - Dispatches when the user clicks the popover icon.\n\n### **Methods:**\n - **floatLabelWithoutAnimation(value: _boolean_): _void_** - Sets the floating label without animating the transition.\n\n### **Slots:**\n - _default_ - The default/unnamed slot for the field's input.\n- **label** - Renders its content as a positioned label.\n- **start** - Typically reserved for content/icons that render logically before the default slot content.\n- **end** - Typically reserved content/icons that render logically after the default slot content.\n- **accessory** - Used for content such as a button that is logically connected to the field but should appear distinct from the input.\n- **support-text** - Used for content that provides additional information about the field. Aligns to the inline start of the field.\n- **support-text-end** - Used for content that provides additional information about the field. Aligns to the inline end of the field.\n\n### **CSS Properties:**\n - **--forge-field-background** - The background of the field surface. _(default: undefined)_\n- **--forge-field-tonal-background** - The background of the field surface in the tonal variant. _(default: undefined)_\n- **--forge-field-tonal-background-hover** - The background of the field surface in the tonal variant on hover. _(default: undefined)_\n- **--forge-field-filled-background** - The background of the field surface in the filled and raised variants. _(default: undefined)_\n- **--forge-field-outline-style** - The style of the field outline. _(default: undefined)_\n- **--forge-field-outline-width** - The width of the field outline. _(default: undefined)_\n- **--forge-field-shape** - The border radius of the field's corners. _(default: undefined)_\n- **--forge-field-height** - The height of the field in its default density. _(default: undefined)_\n- **--forge-field-inset-height** - The height of the field in its default density when the label is inset. _(default: undefined)_\n- **--forge-field-padding-inline** - The inline padding of the field. _(default: undefined)_\n- **--forge-field-padding-inline-start** - The inline start padding of the field. _(default: undefined)_\n- **--forge-field-padding-inline-end** - The inline end padding of the field. _(default: undefined)_\n- **--forge-field-inner-padding-inline** - The padding between elements slotted into the field. _(default: undefined)_\n- **--forge-field-support-text-margin-block** - The margin between the support text and the field. _(default: undefined)_\n- **--forge-field-support-text-gap** - The minimum gap between the support text and the support text end. _(default: undefined)_\n- **--forge-field-support-text-padding-inline** - The inline padding of the support text. _(default: undefined)_\n- **--forge-field-support-text-padding-inline-start** - The inline start padding of the support text. _(default: undefined)_\n- **--forge-field-support-text-padding-inline-end** - The inline end padding of the support text. _(default: undefined)_\n- **--forge-field-label-margin-inline** - The margin between the label and the field when the label is in an inline position. _(default: undefined)_\n- **--forge-field-label-margin-block** - The margin between the label and the field when the label is in the block start position. _(default: undefined)_\n- **--forge-field-required-padding** - The padding between the required indicator and the label. _(default: undefined)_\n- **--forge-field-required-content** - The content of the required indicator. _(default: undefined)_\n- **--forge-field-optional-padding** - The padding between the optional indicator and the label. _(default: undefined)_\n- **--forge-field-optional-content** - The content of the optional indicator. _(default: undefined)_\n- **--forge-field-multiline-resize** - The direction the field can be resized when multiline. _(default: undefined)_\n- **--forge-field-multiline-min-inline-size** - The minimum inline size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-max-inline-size** - The maximum inline size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-min-block-size** - The minimum block size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-max-block-size** - The maximum block size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-popover-icon-transition-duration** - The duration of the popover icon animation. _(default: undefined)_\n- **--forge-field-popover-icon-transition-timing** - The timing function of the popover icon animation. _(default: undefined)_\n- **--forge-field-popover-icon-open-rotation** - The rotation of the popover icon when open. _(default: undefined)_\n- **--forge-field-surface-animation-duration** - The duration of background and outline animations. _(default: undefined)_\n- **--forge-field-surface-animation-timing** - The timing function of background and outline animations. _(default: undefined)_\n- **--forge-field-surface-floating-animation-duration** - The duration of the floating label animation. _(default: undefined)_\n- **--forge-field-surface-floating-animation-timing** - The timing function of the floating label animation. _(default: undefined)_\n- **--forge-field-focus-indicator-width** - The width of the focus indicator. _(default: undefined)_\n- **--forge-field-disabled-opacity** - The opacity of the field when disabled. _(default: undefined)_\n- **--forge-field-disabled-background** - The background of the field when disabled. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.\n- **label** - The label element.\n- **input** - The element containing the input slot.\n- **start** - The element containing the start slot.\n- **end** - The element containing the end slot.\n- **popover-icon** - The popover icon element.\n- **accessory** - The element containing the accessory slot.\n- **support-text** - The element containing the support text slot.\n- **support-text-end** - The element containing the support text end slot.\n- **focus-indicator** - The focus indicator element.",
|
|
877
|
+
"description": "The Forge Field component is a basic component that handles the layout and theming of\nform elements that can include a label, various states, and a border around an input area.\n---\n\n\n### **Events:**\n - **forge-field-popover-icon-click** - Dispatches when the user clicks the popover icon.\n- **forge-field-popover-icon-mousedown** - Dispatches when the user presses the mouse button over the popover icon. Cancelable to prevent focus loss.\n\n### **Methods:**\n - **floatLabelWithoutAnimation(value: _boolean_): _void_** - Sets the floating label without animating the transition.\n\n### **Slots:**\n - _default_ - The default/unnamed slot for the field's input.\n- **label** - Renders its content as a positioned label.\n- **start** - Typically reserved for content/icons that render logically before the default slot content.\n- **end** - Typically reserved content/icons that render logically after the default slot content.\n- **accessory** - Used for content such as a button that is logically connected to the field but should appear distinct from the input.\n- **support-text** - Used for content that provides additional information about the field. Aligns to the inline start of the field.\n- **support-text-end** - Used for content that provides additional information about the field. Aligns to the inline end of the field.\n\n### **CSS Properties:**\n - **--forge-field-background** - The background of the field surface. _(default: undefined)_\n- **--forge-field-tonal-background** - The background of the field surface in the tonal variant. _(default: undefined)_\n- **--forge-field-tonal-background-hover** - The background of the field surface in the tonal variant on hover. _(default: undefined)_\n- **--forge-field-filled-background** - The background of the field surface in the filled and raised variants. _(default: undefined)_\n- **--forge-field-outline-style** - The style of the field outline. _(default: undefined)_\n- **--forge-field-outline-width** - The width of the field outline. _(default: undefined)_\n- **--forge-field-shape** - The border radius of the field's corners. _(default: undefined)_\n- **--forge-field-height** - The height of the field in its default density. _(default: undefined)_\n- **--forge-field-inset-height** - The height of the field in its default density when the label is inset. _(default: undefined)_\n- **--forge-field-padding-inline** - The inline padding of the field. _(default: undefined)_\n- **--forge-field-padding-inline-start** - The inline start padding of the field. _(default: undefined)_\n- **--forge-field-padding-inline-end** - The inline end padding of the field. _(default: undefined)_\n- **--forge-field-inner-padding-inline** - The padding between elements slotted into the field. _(default: undefined)_\n- **--forge-field-support-text-margin-block** - The margin between the support text and the field. _(default: undefined)_\n- **--forge-field-support-text-gap** - The minimum gap between the support text and the support text end. _(default: undefined)_\n- **--forge-field-support-text-padding-inline** - The inline padding of the support text. _(default: undefined)_\n- **--forge-field-support-text-padding-inline-start** - The inline start padding of the support text. _(default: undefined)_\n- **--forge-field-support-text-padding-inline-end** - The inline end padding of the support text. _(default: undefined)_\n- **--forge-field-label-margin-inline** - The margin between the label and the field when the label is in an inline position. _(default: undefined)_\n- **--forge-field-label-margin-block** - The margin between the label and the field when the label is in the block start position. _(default: undefined)_\n- **--forge-field-required-padding** - The padding between the required indicator and the label. _(default: undefined)_\n- **--forge-field-required-content** - The content of the required indicator. _(default: undefined)_\n- **--forge-field-optional-padding** - The padding between the optional indicator and the label. _(default: undefined)_\n- **--forge-field-optional-content** - The content of the optional indicator. _(default: undefined)_\n- **--forge-field-multiline-resize** - The direction the field can be resized when multiline. _(default: undefined)_\n- **--forge-field-multiline-min-inline-size** - The minimum inline size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-max-inline-size** - The maximum inline size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-min-block-size** - The minimum block size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-multiline-max-block-size** - The maximum block size the field can be resized to when multiline. _(default: undefined)_\n- **--forge-field-popover-icon-transition-duration** - The duration of the popover icon animation. _(default: undefined)_\n- **--forge-field-popover-icon-transition-timing** - The timing function of the popover icon animation. _(default: undefined)_\n- **--forge-field-popover-icon-open-rotation** - The rotation of the popover icon when open. _(default: undefined)_\n- **--forge-field-surface-animation-duration** - The duration of background and outline animations. _(default: undefined)_\n- **--forge-field-surface-animation-timing** - The timing function of background and outline animations. _(default: undefined)_\n- **--forge-field-surface-floating-animation-duration** - The duration of the floating label animation. _(default: undefined)_\n- **--forge-field-surface-floating-animation-timing** - The timing function of the floating label animation. _(default: undefined)_\n- **--forge-field-focus-indicator-width** - The width of the focus indicator. _(default: undefined)_\n- **--forge-field-disabled-opacity** - The opacity of the field when disabled. _(default: undefined)_\n- **--forge-field-disabled-background** - The background of the field when disabled. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.\n- **label** - The label element.\n- **input** - The element containing the input slot.\n- **start** - The element containing the start slot.\n- **end** - The element containing the end slot.\n- **popover-icon** - The popover icon element.\n- **accessory** - The element containing the accessory slot.\n- **support-text** - The element containing the support text slot.\n- **support-text-end** - The element containing the support text end slot.\n- **focus-indicator** - The focus indicator element.",
|
|
878
878
|
"attributes": [
|
|
879
879
|
{
|
|
880
880
|
"name": "label-position",
|
|
@@ -1109,6 +1109,16 @@
|
|
|
1109
1109
|
"name": "forge-icon",
|
|
1110
1110
|
"description": "Icons are used to represent information visually\n---\n\n\n### **Methods:**\n - **layout(): _void_** - Forces a reload of the icon.\n\n### **CSS Properties:**\n - **--forge-icon-color** - The color of the icon. _(default: undefined)_\n- **--forge-icon-size** - The size of the icon. Defaults to the font-size of the context it is placed in. _(default: undefined)_\n- **--forge-icon-width** - The width of the icon. _(default: undefined)_\n- **--forge-icon-height** - The height of the icon. _(default: undefined)_\n- **--forge-icon-font-size** - The font size of the icon. _(default: undefined)_\n\n### **CSS Parts:**\n - **svg** - The internal SVG element.",
|
|
1111
1111
|
"attributes": [
|
|
1112
|
+
{
|
|
1113
|
+
"name": "external-type",
|
|
1114
|
+
"description": "The type of icon to load externally. Possible values: \"standard\", \"extended\", \"custom\".",
|
|
1115
|
+
"values": [{ "name": "IconExternalType" }]
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
"name": "external-url-builder",
|
|
1119
|
+
"description": "A callback that can be provided to generate a URL that will be used to fetch an SVG icon.",
|
|
1120
|
+
"values": [{ "name": "IconUrlBuilder" }]
|
|
1121
|
+
},
|
|
1112
1122
|
{
|
|
1113
1123
|
"name": "name",
|
|
1114
1124
|
"description": "The name of the icon to render.",
|
|
@@ -1129,11 +1139,6 @@
|
|
|
1129
1139
|
"description": "Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't already defined in the registry.",
|
|
1130
1140
|
"values": []
|
|
1131
1141
|
},
|
|
1132
|
-
{
|
|
1133
|
-
"name": "externalType",
|
|
1134
|
-
"description": "The type of icon to load externally. Possible values: \"standard\" (default), \"extended\", \"custom\".",
|
|
1135
|
-
"values": [{ "name": "IconExternalType" }]
|
|
1136
|
-
},
|
|
1137
1142
|
{
|
|
1138
1143
|
"name": "viewbox",
|
|
1139
1144
|
"description": "A custom value to apply to the `viewBox` attribute on the internal `<svg>` element.",
|
|
@@ -1293,7 +1298,7 @@
|
|
|
1293
1298
|
"values": []
|
|
1294
1299
|
},
|
|
1295
1300
|
{
|
|
1296
|
-
"name": "
|
|
1301
|
+
"name": "non-interactive",
|
|
1297
1302
|
"description": "Removes click handling from the label.",
|
|
1298
1303
|
"values": []
|
|
1299
1304
|
},
|
|
@@ -1786,7 +1791,7 @@
|
|
|
1786
1791
|
"values": []
|
|
1787
1792
|
},
|
|
1788
1793
|
{
|
|
1789
|
-
"name": "
|
|
1794
|
+
"name": "skip-url-change",
|
|
1790
1795
|
"description": "Sets the skip link to skip browser navigation and scroll to the target element.",
|
|
1791
1796
|
"values": []
|
|
1792
1797
|
}
|
|
@@ -2001,7 +2006,7 @@
|
|
|
2001
2006
|
"values": []
|
|
2002
2007
|
},
|
|
2003
2008
|
{
|
|
2004
|
-
"name": "
|
|
2009
|
+
"name": "default-on",
|
|
2005
2010
|
"description": "Gets/sets whether the switch is on or off by default.",
|
|
2006
2011
|
"values": []
|
|
2007
2012
|
},
|
|
@@ -2036,7 +2041,7 @@
|
|
|
2036
2041
|
"values": [{ "name": "SwitchIconVisibility" }]
|
|
2037
2042
|
},
|
|
2038
2043
|
{
|
|
2039
|
-
"name": "
|
|
2044
|
+
"name": "label-position",
|
|
2040
2045
|
"description": "Controls whether the label appears before or after the switch.",
|
|
2041
2046
|
"values": [{ "name": "SwitchLabelPosition" }]
|
|
2042
2047
|
}
|
|
@@ -2220,7 +2225,133 @@
|
|
|
2220
2225
|
{
|
|
2221
2226
|
"name": "forge-time-picker",
|
|
2222
2227
|
"description": "\n---\n",
|
|
2223
|
-
"attributes": [
|
|
2228
|
+
"attributes": [
|
|
2229
|
+
{
|
|
2230
|
+
"name": "value",
|
|
2231
|
+
"description": "The current value of the time picker.",
|
|
2232
|
+
"values": []
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
"name": "open",
|
|
2236
|
+
"description": "Whether or not the time picker is open.",
|
|
2237
|
+
"values": []
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
"name": "allow-seconds",
|
|
2241
|
+
"description": "Whether or not to allow seconds in the time picker.",
|
|
2242
|
+
"values": []
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
"name": "masked",
|
|
2246
|
+
"description": "Whether or not the time picker input should be masked.",
|
|
2247
|
+
"values": []
|
|
2248
|
+
},
|
|
2249
|
+
{
|
|
2250
|
+
"name": "show-mask-format",
|
|
2251
|
+
"description": "Whether or not to show the mask format in the input.",
|
|
2252
|
+
"values": []
|
|
2253
|
+
},
|
|
2254
|
+
{
|
|
2255
|
+
"name": "use-24-hour-time",
|
|
2256
|
+
"description": "Whether or not to use 24-hour time.",
|
|
2257
|
+
"values": []
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
"name": "allow-invalid-time",
|
|
2261
|
+
"description": "Whether or not to allow invalid times.",
|
|
2262
|
+
"values": []
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
"name": "min",
|
|
2266
|
+
"description": "The minimum time that can be selected.",
|
|
2267
|
+
"values": []
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
"name": "max",
|
|
2271
|
+
"description": "The maximum time that can be selected.",
|
|
2272
|
+
"values": []
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
"name": "restricted-times",
|
|
2276
|
+
"description": "An array of times that cannot be selected.",
|
|
2277
|
+
"values": [{ "name": "string[]" }]
|
|
2278
|
+
},
|
|
2279
|
+
{
|
|
2280
|
+
"name": "start-time",
|
|
2281
|
+
"description": "The time to start the time picker at.",
|
|
2282
|
+
"values": []
|
|
2283
|
+
},
|
|
2284
|
+
{
|
|
2285
|
+
"name": "step",
|
|
2286
|
+
"description": "The step interval for the time picker.",
|
|
2287
|
+
"values": []
|
|
2288
|
+
},
|
|
2289
|
+
{
|
|
2290
|
+
"name": "allow-input",
|
|
2291
|
+
"description": "Whether or not to allow manual input of the time.",
|
|
2292
|
+
"values": []
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
"name": "show-now",
|
|
2296
|
+
"description": "Whether or not to show a \"Now\" button.",
|
|
2297
|
+
"values": []
|
|
2298
|
+
},
|
|
2299
|
+
{
|
|
2300
|
+
"name": "show-hour-options",
|
|
2301
|
+
"description": "Whether or not to display hour options in dropdown.",
|
|
2302
|
+
"values": []
|
|
2303
|
+
},
|
|
2304
|
+
{
|
|
2305
|
+
"name": "custom-options",
|
|
2306
|
+
"description": "An array of custom time picker options.",
|
|
2307
|
+
"values": [{ "name": "ITimePickerOption[]" }]
|
|
2308
|
+
},
|
|
2309
|
+
{
|
|
2310
|
+
"name": "validation-callback",
|
|
2311
|
+
"description": "A callback function to validate the time.",
|
|
2312
|
+
"values": [{ "name": "TimePickerValidationCallback" }]
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
"name": "parse-callback",
|
|
2316
|
+
"description": "A callback function to parse the time.",
|
|
2317
|
+
"values": [{ "name": "TimePickerParseCallback" }]
|
|
2318
|
+
},
|
|
2319
|
+
{
|
|
2320
|
+
"name": "format-callback",
|
|
2321
|
+
"description": "A callback function to format the time.",
|
|
2322
|
+
"values": [{ "name": "TimePickerFormatCallback" }]
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"name": "coercion-callback",
|
|
2326
|
+
"description": "A callback function to coerce the time.",
|
|
2327
|
+
"values": [{ "name": "TimePickerCoercionCallback" }]
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"name": "prepare-mask-callback",
|
|
2331
|
+
"description": "A callback function to prepare the mask.",
|
|
2332
|
+
"values": [{ "name": "TimePickerPrepareMaskCallback" }]
|
|
2333
|
+
},
|
|
2334
|
+
{
|
|
2335
|
+
"name": "disabled",
|
|
2336
|
+
"description": "Whether or not the time picker is disabled.",
|
|
2337
|
+
"values": []
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"name": "popup-classes",
|
|
2341
|
+
"description": "The classes to apply to the time picker popup.",
|
|
2342
|
+
"values": [{ "name": "string[]" }]
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
"name": "allow-dropdown",
|
|
2346
|
+
"description": "Whether or not to allow the time picker to be a dropdown.",
|
|
2347
|
+
"values": []
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
"name": "popup-target",
|
|
2351
|
+
"description": "The target element to attach the popup to.",
|
|
2352
|
+
"values": []
|
|
2353
|
+
}
|
|
2354
|
+
],
|
|
2224
2355
|
"references": []
|
|
2225
2356
|
},
|
|
2226
2357
|
{
|
|
@@ -2363,7 +2494,7 @@
|
|
|
2363
2494
|
"values": []
|
|
2364
2495
|
},
|
|
2365
2496
|
{
|
|
2366
|
-
"name": "
|
|
2497
|
+
"name": "animation-type",
|
|
2367
2498
|
"description": "Gets/sets the animation type.",
|
|
2368
2499
|
"values": [
|
|
2369
2500
|
{ "name": "`${ViewSwitcherAnimationType}`" },
|
|
@@ -2938,7 +3069,7 @@
|
|
|
2938
3069
|
"values": []
|
|
2939
3070
|
},
|
|
2940
3071
|
{
|
|
2941
|
-
"name": "
|
|
3072
|
+
"name": "default-checked",
|
|
2942
3073
|
"description": "Gets/sets whether the radio is checked by default.",
|
|
2943
3074
|
"values": []
|
|
2944
3075
|
},
|
|
@@ -2968,7 +3099,7 @@
|
|
|
2968
3099
|
"values": []
|
|
2969
3100
|
},
|
|
2970
3101
|
{
|
|
2971
|
-
"name": "
|
|
3102
|
+
"name": "label-position",
|
|
2972
3103
|
"description": "Controls whether the label appears before or after the radio.",
|
|
2973
3104
|
"values": [{ "name": "RadioLabelPosition" }]
|
|
2974
3105
|
}
|
|
@@ -3136,7 +3267,7 @@
|
|
|
3136
3267
|
"values": []
|
|
3137
3268
|
},
|
|
3138
3269
|
{
|
|
3139
|
-
"name": "
|
|
3270
|
+
"name": "float-label",
|
|
3140
3271
|
"description": "Whether the label floats above the field.",
|
|
3141
3272
|
"values": []
|
|
3142
3273
|
},
|
|
@@ -3166,7 +3297,7 @@
|
|
|
3166
3297
|
"values": []
|
|
3167
3298
|
},
|
|
3168
3299
|
{
|
|
3169
|
-
"name": "
|
|
3300
|
+
"name": "popover-icon",
|
|
3170
3301
|
"description": "Whether the popover icon is displayed.",
|
|
3171
3302
|
"values": []
|
|
3172
3303
|
},
|
|
@@ -129,7 +129,8 @@ export class AutocompleteAdapter extends BaseAdapter {
|
|
|
129
129
|
window.requestAnimationFrame(() => {
|
|
130
130
|
const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName);
|
|
131
131
|
if (textField && (textField.popoverIcon || textField.hasAttribute(FIELD_CONSTANTS.attributes.POPOVER_ICON))) {
|
|
132
|
-
|
|
132
|
+
const eventType = type === 'mousedown' ? FIELD_CONSTANTS.events.POPOVER_ICON_MOUSEDOWN : FIELD_CONSTANTS.events.POPOVER_ICON_CLICK;
|
|
133
|
+
this._component.addEventListener(eventType, listener);
|
|
133
134
|
}
|
|
134
135
|
const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON);
|
|
135
136
|
dropdownIcon?.addEventListener(type, listener);
|
|
@@ -102,13 +102,13 @@ export declare class CheckboxComponent extends CheckboxComponent_base implements
|
|
|
102
102
|
/**
|
|
103
103
|
* Gets/sets whether the checkbox is checked.
|
|
104
104
|
* @default false
|
|
105
|
-
* @attribute
|
|
105
|
+
* @attribute checked
|
|
106
106
|
*/
|
|
107
107
|
checked: boolean;
|
|
108
108
|
/**
|
|
109
109
|
* Gets/sets whether the checkbox is checked by default.
|
|
110
110
|
* @default false
|
|
111
|
-
* @attribute
|
|
111
|
+
* @attribute default-checked
|
|
112
112
|
*/
|
|
113
113
|
defaultChecked: boolean;
|
|
114
114
|
/**
|
|
@@ -150,7 +150,7 @@ export declare class CheckboxComponent extends CheckboxComponent_base implements
|
|
|
150
150
|
/**
|
|
151
151
|
* Controls whether the label appears before or after the checkbox.
|
|
152
152
|
* @default 'end'
|
|
153
|
-
* @attribute
|
|
153
|
+
* @attribute label-position
|
|
154
154
|
*/
|
|
155
155
|
labelPosition: CheckboxLabelPosition;
|
|
156
156
|
/**
|
|
@@ -12,7 +12,7 @@ import { ChipComponent } from '../chips';
|
|
|
12
12
|
import { BaseField } from '../field/base/base-field';
|
|
13
13
|
import { BASE_FIELD_CONSTANTS, FieldComponent } from '../field';
|
|
14
14
|
const template = '<template><forge-field id=\"field\" multiline><slot slot=\"label\" name=\"label\"></slot><slot slot=\"start\" name=\"start\"></slot><div class=\"container\" data-forge-field-input><slot name=\"member\"></slot><slot></slot></div><slot slot=\"end\" name=\"end\"></slot><slot slot=\"accessory\" name=\"accessory\"></slot><slot slot=\"support-text\" name=\"support-text\"></slot><slot slot=\"support-text-end\" name=\"support-text-end\"></slot><slot slot=\"start\" name=\"leading\"></slot><slot slot=\"end\" name=\"trailing\"></slot><slot slot=\"accessory\" name=\"addon-end\"></slot><slot slot=\"support-text\" name=\"helper-text\"></slot></forge-field></template>';
|
|
15
|
-
const styles = '@keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@keyframes
|
|
15
|
+
const styles = '@keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@keyframes multiline-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}:host{display:block}:host([hidden]){display:none}forge-field{--_chip-field-member-spacing:var(--forge-chip-field-member-spacing, var(--forge-spacing-xsmall, 8px));--_chip-field-content-spacing:var(--forge-chip-field-content-spacing, var(--forge-spacing-xxsmall, 4px))}.container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--_chip-field-member-spacing);block-size:auto}.container.has-members{margin-block:var(--_chip-field-content-spacing)}.container.has-members ::slotted(input){block-size:auto;inline-size:auto}::slotted(input){flex-grow:1;cursor:inherit;box-sizing:border-box;margin:0;outline:0;border:none;background-color:transparent;padding-block:0;padding-inline:0;inline-size:100%;block-size:100%;color:inherit;font:inherit;font-size:var(--_field-font-size);text-overflow:ellipsis;padding-block-start:0;padding-block-end:0;transition:padding-block var(--_field-floating-animation-duration) var(--_field-floating-animation-timing)}forge-field{display:contents;--forge-field-multiline-resize:none}forge-field::part(label)::after{content:none}:host([theme=primary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-primary, #3f51b5);--forge-chip-field-color:var(--forge-theme-on-primary, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-primary, #3f51b5)}:host([theme=secondary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-secondary, #ffc107);--forge-chip-field-color:var(--forge-theme-on-secondary, #000000);--forge-chip-focus-indicator-color:var(--forge-theme-secondary, #ffc107)}:host([theme=tertiary]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-tertiary, #3d5afe);--forge-chip-field-color:var(--forge-theme-on-tertiary, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-tertiary, #3d5afe)}:host([theme=success]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-success, #2e7d32);--forge-chip-field-color:var(--forge-theme-on-success, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-success, #2e7d32)}:host([theme=warning]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-warning, #d14900);--forge-chip-field-color:var(--forge-theme-on-warning, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-warning, #d14900)}:host([theme=error]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-error, #b00020);--forge-chip-field-color:var(--forge-theme-on-error, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-error, #b00020)}:host([theme=info]) ::slotted([slot=member]){--forge-chip-field-background:var(--forge-theme-info, #1565c0);--forge-chip-field-color:var(--forge-theme-on-info, #ffffff);--forge-chip-focus-indicator-color:var(--forge-theme-info, #1565c0)}';
|
|
16
16
|
/**
|
|
17
17
|
* @tag forge-chip-field
|
|
18
18
|
*
|
|
@@ -63,6 +63,7 @@ export declare class DialogCore implements IDialogCore {
|
|
|
63
63
|
private _onTriggerClick;
|
|
64
64
|
private _initializeMoveController;
|
|
65
65
|
private _destroyMoveController;
|
|
66
|
+
private _applyMoveable;
|
|
66
67
|
get open(): boolean;
|
|
67
68
|
set open(value: boolean);
|
|
68
69
|
get mode(): DialogMode;
|
|
@@ -185,6 +185,14 @@ export class DialogCore {
|
|
|
185
185
|
this._moveController?.destroy();
|
|
186
186
|
this._moveController = undefined;
|
|
187
187
|
}
|
|
188
|
+
_applyMoveable({ enabled } = { enabled: this._moveable }) {
|
|
189
|
+
if (enabled) {
|
|
190
|
+
this._initializeMoveController();
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
this._destroyMoveController();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
188
196
|
get open() {
|
|
189
197
|
return this._open;
|
|
190
198
|
}
|
|
@@ -250,6 +258,7 @@ export class DialogCore {
|
|
|
250
258
|
value = Boolean(value);
|
|
251
259
|
if (this._fullscreen !== value) {
|
|
252
260
|
this._fullscreen = value;
|
|
261
|
+
this._applyMoveable({ enabled: !this._fullscreen });
|
|
253
262
|
this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);
|
|
254
263
|
}
|
|
255
264
|
}
|
|
@@ -305,12 +314,7 @@ export class DialogCore {
|
|
|
305
314
|
if (this._moveable !== value) {
|
|
306
315
|
this._moveable = value;
|
|
307
316
|
if (this._adapter.isConnected && this._open) {
|
|
308
|
-
|
|
309
|
-
this._initializeMoveController();
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
this._destroyMoveController();
|
|
313
|
-
}
|
|
317
|
+
this._applyMoveable();
|
|
314
318
|
}
|
|
315
319
|
this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.MOVEABLE, this._moveable);
|
|
316
320
|
}
|
package/esm/dialog/dialog.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ export declare class DialogComponent extends DialogComponent_base implements IDi
|
|
|
179
179
|
/**
|
|
180
180
|
* The animation type of the dialog.
|
|
181
181
|
* @default 'zoom'
|
|
182
|
-
* @attribute
|
|
182
|
+
* @attribute animation-type
|
|
183
183
|
*/
|
|
184
184
|
animationType: DialogAnimationType;
|
|
185
185
|
/**
|
|
@@ -203,7 +203,7 @@ export declare class DialogComponent extends DialogComponent_base implements IDi
|
|
|
203
203
|
/**
|
|
204
204
|
* The screen width at which the dialog will switch to fullscreen.
|
|
205
205
|
* @default 599
|
|
206
|
-
* @attribute
|
|
206
|
+
* @attribute fullscreen-threshold
|
|
207
207
|
*/
|
|
208
208
|
fullscreenThreshold: number;
|
|
209
209
|
/**
|
|
@@ -226,13 +226,13 @@ export declare class DialogComponent extends DialogComponent_base implements IDi
|
|
|
226
226
|
/**
|
|
227
227
|
* Controls whether the dialog is rendered relative to the viewport or its nearest containing block.
|
|
228
228
|
* @default 'viewport'
|
|
229
|
-
* @attribute
|
|
229
|
+
* @attribute position-strategy
|
|
230
230
|
*/
|
|
231
231
|
positionStrategy: DialogPositionStrategy;
|
|
232
232
|
/**
|
|
233
233
|
* Controls the block and/or inline size of the dialog. Defaults to the size of the content it contains.
|
|
234
234
|
* @default 'content'
|
|
235
|
-
* @attribute
|
|
235
|
+
* @attribute size-strategy
|
|
236
236
|
*/
|
|
237
237
|
sizeStrategy: DialogSizeStrategy;
|
|
238
238
|
/**
|
|
@@ -165,7 +165,7 @@ export function WithBaseField(base) {
|
|
|
165
165
|
/**
|
|
166
166
|
* Whether the label floats above the field.
|
|
167
167
|
* @default false
|
|
168
|
-
* @attribute
|
|
168
|
+
* @attribute float-label
|
|
169
169
|
*/
|
|
170
170
|
get floatLabel() {
|
|
171
171
|
return this._fieldElement.floatLabel;
|
|
@@ -249,7 +249,7 @@ export function WithBaseField(base) {
|
|
|
249
249
|
/**
|
|
250
250
|
* Whether the popover icon is displayed.
|
|
251
251
|
* @default false
|
|
252
|
-
* @attribute
|
|
252
|
+
* @attribute popover-icon
|
|
253
253
|
*/
|
|
254
254
|
get popoverIcon() {
|
|
255
255
|
return this._fieldElement.popoverIcon;
|
|
@@ -11,8 +11,8 @@ export interface IFieldAdapter extends IBaseAdapter<IFieldComponent> {
|
|
|
11
11
|
readonly focusIndicator: IFocusIndicatorComponent;
|
|
12
12
|
readonly hasSlottedLabel: boolean;
|
|
13
13
|
addRootListener(name: keyof HTMLElementEventMap, listener: EventListener): void;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
addPopoverIconListener(type: string, listener: EventListener): void;
|
|
15
|
+
removePopoverIconListener(type: string, listener: EventListener): void;
|
|
16
16
|
setLabelPosition(value: FieldLabelPosition): void;
|
|
17
17
|
setFloatingLabel(value: boolean): void;
|
|
18
18
|
handleSlotChange(slot: HTMLSlotElement): void;
|
|
@@ -30,8 +30,8 @@ export declare class FieldAdapter extends BaseAdapter<IFieldComponent> implement
|
|
|
30
30
|
get hasSlottedLabel(): boolean;
|
|
31
31
|
constructor(component: IFieldComponent);
|
|
32
32
|
addRootListener(name: keyof HTMLElementEventMap, listener: EventListener): void;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
addPopoverIconListener(type: string, listener: EventListener): void;
|
|
34
|
+
removePopoverIconListener(type: string, listener: EventListener): void;
|
|
35
35
|
/**
|
|
36
36
|
* Moves the label into the container element if the position is inset, or out to the root
|
|
37
37
|
* element otherwise.
|
|
@@ -27,11 +27,11 @@ export class FieldAdapter extends BaseAdapter {
|
|
|
27
27
|
addRootListener(name, listener) {
|
|
28
28
|
this._rootElement.addEventListener(name, listener);
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
this._popoverIconElement.addEventListener(
|
|
30
|
+
addPopoverIconListener(type, listener) {
|
|
31
|
+
this._popoverIconElement.addEventListener(type, listener);
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
this._popoverIconElement.removeEventListener(
|
|
33
|
+
removePopoverIconListener(type, listener) {
|
|
34
|
+
this._popoverIconElement.removeEventListener(type, listener);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Moves the label into the container element if the position is inset, or out to the root
|
|
@@ -50,19 +50,11 @@ export class FieldAdapter extends BaseAdapter {
|
|
|
50
50
|
* Adds or removes animation classes on the root element.
|
|
51
51
|
*/
|
|
52
52
|
setFloatingLabel(value) {
|
|
53
|
-
// Temporarily lock the input container element width to its current width before the animation starts
|
|
54
|
-
// to ensure that the element cannot collapse while the animation is executing. The width will be
|
|
55
|
-
// removed after the animation completes.
|
|
56
|
-
const { width: inputContainerWidth } = this._inputContainerElement.getBoundingClientRect();
|
|
57
|
-
if (inputContainerWidth > 0) {
|
|
58
|
-
this._inputContainerElement.style.setProperty('width', `${inputContainerWidth}px`);
|
|
59
|
-
}
|
|
60
53
|
const className = value ? FIELD_CONSTANTS.classes.FLOATING_IN : FIELD_CONSTANTS.classes.FLOATING_OUT;
|
|
61
54
|
const animationName = value ? FIELD_CONSTANTS.animations.FLOAT_IN_LABEL : FIELD_CONSTANTS.animations.FLOAT_OUT_LABEL;
|
|
62
55
|
const animationEndListener = (evt) => {
|
|
63
56
|
if (evt.animationName === animationName) {
|
|
64
57
|
removeClass(className, this._rootElement);
|
|
65
|
-
this._inputContainerElement.style.removeProperty('width');
|
|
66
58
|
this._rootElement.removeEventListener('animationend', animationEndListener);
|
|
67
59
|
}
|
|
68
60
|
};
|
|
@@ -51,7 +51,8 @@ const parts = {
|
|
|
51
51
|
FOCUS_INDICATOR: 'focus-indicator'
|
|
52
52
|
};
|
|
53
53
|
const events = {
|
|
54
|
-
POPOVER_ICON_CLICK: `${elementName}-popover-icon-click
|
|
54
|
+
POPOVER_ICON_CLICK: `${elementName}-popover-icon-click`,
|
|
55
|
+
POPOVER_ICON_MOUSEDOWN: `${elementName}-popover-icon-mousedown`
|
|
55
56
|
};
|
|
56
57
|
const defaults = {
|
|
57
58
|
...BASE_FIELD_CONSTANTS.defaults
|
|
@@ -49,10 +49,12 @@ export declare class FieldCore implements IFieldCore {
|
|
|
49
49
|
private _supportTextInset;
|
|
50
50
|
private _slotChangeListener;
|
|
51
51
|
private _popoverIconClickListener;
|
|
52
|
+
private _popoverIconMousedownListener;
|
|
52
53
|
constructor(_adapter: IFieldAdapter);
|
|
53
54
|
initialize(): void;
|
|
54
55
|
private _onSlotChange;
|
|
55
56
|
private _onPopoverIconClick;
|
|
57
|
+
private _onPopoverIconMousedown;
|
|
56
58
|
floatLabelWithoutAnimation(value: boolean): void;
|
|
57
59
|
get labelPosition(): FieldLabelPosition;
|
|
58
60
|
set labelPosition(value: FieldLabelPosition);
|
package/esm/field/field-core.js
CHANGED
|
@@ -25,6 +25,7 @@ export class FieldCore {
|
|
|
25
25
|
this._supportTextInset = FIELD_CONSTANTS.defaults.DEFAULT_SUPPORT_TEXT_INSET;
|
|
26
26
|
this._slotChangeListener = this._onSlotChange.bind(this);
|
|
27
27
|
this._popoverIconClickListener = this._onPopoverIconClick.bind(this);
|
|
28
|
+
this._popoverIconMousedownListener = this._onPopoverIconMousedown.bind(this);
|
|
28
29
|
}
|
|
29
30
|
initialize() {
|
|
30
31
|
this._adapter.addRootListener('slotchange', this._slotChangeListener);
|
|
@@ -32,7 +33,8 @@ export class FieldCore {
|
|
|
32
33
|
this._adapter.tryApplyGlobalConfiguration(['labelPosition', 'variant']);
|
|
33
34
|
this._adapter.setLabelPosition(this._labelPosition);
|
|
34
35
|
if (this._popoverIcon) {
|
|
35
|
-
this._adapter.
|
|
36
|
+
this._adapter.addPopoverIconListener('click', this._popoverIconClickListener);
|
|
37
|
+
this._adapter.addPopoverIconListener('mousedown', this._popoverIconMousedownListener);
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
_onSlotChange(evt) {
|
|
@@ -41,6 +43,12 @@ export class FieldCore {
|
|
|
41
43
|
_onPopoverIconClick() {
|
|
42
44
|
this._adapter.dispatchHostEvent(new CustomEvent(FIELD_CONSTANTS.events.POPOVER_ICON_CLICK, { bubbles: true, composed: true }));
|
|
43
45
|
}
|
|
46
|
+
_onPopoverIconMousedown(evt) {
|
|
47
|
+
const popoverEvent = new CustomEvent(FIELD_CONSTANTS.events.POPOVER_ICON_MOUSEDOWN, { bubbles: true, composed: true, cancelable: true });
|
|
48
|
+
this._adapter.dispatchHostEvent(popoverEvent);
|
|
49
|
+
if (popoverEvent.defaultPrevented)
|
|
50
|
+
evt.preventDefault();
|
|
51
|
+
}
|
|
44
52
|
floatLabelWithoutAnimation(value) {
|
|
45
53
|
if (this._floatLabel !== value) {
|
|
46
54
|
this._floatLabel = value;
|
|
@@ -174,10 +182,12 @@ export class FieldCore {
|
|
|
174
182
|
return;
|
|
175
183
|
}
|
|
176
184
|
if (this._popoverIcon) {
|
|
177
|
-
this._adapter.
|
|
185
|
+
this._adapter.addPopoverIconListener('click', this._popoverIconClickListener);
|
|
186
|
+
this._adapter.addPopoverIconListener('mousedown', this._popoverIconMousedownListener);
|
|
178
187
|
}
|
|
179
188
|
else {
|
|
180
|
-
this._adapter.
|
|
189
|
+
this._adapter.removePopoverIconListener('click', this._popoverIconClickListener);
|
|
190
|
+
this._adapter.removePopoverIconListener('mousedown', this._popoverIconMousedownListener);
|
|
181
191
|
}
|
|
182
192
|
}
|
|
183
193
|
}
|
package/esm/field/field.d.ts
CHANGED
|
@@ -86,6 +86,7 @@ declare global {
|
|
|
86
86
|
* @attribute {boolean} [focus-indicator-allow-focus=false] - Whether the focus indicator should render when the target element matches `:focus` instead of `:focus-visible`.
|
|
87
87
|
*
|
|
88
88
|
* @event {CustomEvent<void>} forge-field-popover-icon-click - Dispatches when the user clicks the popover icon.
|
|
89
|
+
* @event {CustomEvent<void>} forge-field-popover-icon-mousedown - Dispatches when the user presses the mouse button over the popover icon. Cancelable to prevent focus loss.
|
|
89
90
|
*
|
|
90
91
|
* @cssproperty --forge-field-background - The background of the field surface.
|
|
91
92
|
* @cssproperty --forge-field-tonal-background - The background of the field surface in the tonal variant.
|