@aurodesignsystem-dev/auro-formkit 0.0.0-pr1475.5 → 0.0.0-pr1477.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.
Files changed (73) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +0 -7
  2. package/components/bibtemplate/dist/index.js +1 -9
  3. package/components/bibtemplate/dist/registered.js +1 -9
  4. package/components/checkbox/demo/customize.min.js +1 -1
  5. package/components/checkbox/demo/getting-started.min.js +1 -1
  6. package/components/checkbox/demo/index.min.js +1 -1
  7. package/components/checkbox/dist/index.js +1 -1
  8. package/components/checkbox/dist/registered.js +1 -1
  9. package/components/combobox/demo/customize.min.js +18 -234
  10. package/components/combobox/demo/getting-started.min.js +18 -234
  11. package/components/combobox/demo/index.min.js +18 -234
  12. package/components/combobox/demo/keyboard-behavior.md +68 -8
  13. package/components/combobox/dist/index.js +18 -234
  14. package/components/combobox/dist/registered.js +18 -234
  15. package/components/counter/demo/customize.min.js +15 -231
  16. package/components/counter/demo/index.min.js +15 -231
  17. package/components/counter/demo/keyboard-behavior.md +0 -1
  18. package/components/counter/dist/index.js +2 -10
  19. package/components/counter/dist/registered.js +2 -10
  20. package/components/datepicker/demo/accessibility.md +3 -51
  21. package/components/datepicker/demo/api.md +0 -9
  22. package/components/datepicker/demo/customize.html +0 -2
  23. package/components/datepicker/demo/customize.md +8 -72
  24. package/components/datepicker/demo/design.md +1 -3
  25. package/components/datepicker/demo/index.js +1 -5
  26. package/components/datepicker/demo/index.md +2 -82
  27. package/components/datepicker/demo/index.min.js +94 -1338
  28. package/components/datepicker/demo/keyboard-behavior.md +2 -201
  29. package/components/datepicker/demo/voiceover.md +12 -19
  30. package/components/datepicker/dist/index.js +112 -1280
  31. package/components/datepicker/dist/registered.js +112 -1280
  32. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +1 -64
  33. package/components/datepicker/dist/src/auro-calendar-month.d.ts +0 -28
  34. package/components/datepicker/dist/src/auro-calendar.d.ts +0 -84
  35. package/components/datepicker/dist/src/auro-datepicker.d.ts +0 -80
  36. package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +3 -5
  37. package/components/dropdown/demo/accessibility.md +0 -11
  38. package/components/dropdown/demo/api.md +0 -1
  39. package/components/dropdown/demo/customize.md +0 -3
  40. package/components/dropdown/demo/customize.min.js +13 -221
  41. package/components/dropdown/demo/getting-started.min.js +13 -221
  42. package/components/dropdown/demo/index.min.js +13 -221
  43. package/components/dropdown/demo/keyboard-behavior.md +0 -1
  44. package/components/dropdown/dist/auro-dropdown.d.ts +1 -31
  45. package/components/dropdown/dist/index.js +13 -221
  46. package/components/dropdown/dist/registered.js +13 -221
  47. package/components/form/demo/customize.min.js +163 -1977
  48. package/components/form/demo/getting-started.min.js +163 -1977
  49. package/components/form/demo/index.min.js +163 -1977
  50. package/components/form/demo/registerDemoDeps.min.js +163 -1977
  51. package/components/input/demo/customize.min.js +1 -1
  52. package/components/input/demo/getting-started.min.js +1 -1
  53. package/components/input/demo/index.min.js +1 -1
  54. package/components/input/dist/index.js +1 -1
  55. package/components/input/dist/registered.js +1 -1
  56. package/components/radio/demo/getting-started.js +1 -1
  57. package/components/radio/demo/getting-started.md +1 -1
  58. package/components/radio/demo/index.min.js +1 -1
  59. package/components/radio/dist/index.js +1 -1
  60. package/components/radio/dist/registered.js +1 -1
  61. package/components/select/demo/customize.min.js +33 -247
  62. package/components/select/demo/getting-started.min.js +33 -247
  63. package/components/select/demo/index.min.js +33 -247
  64. package/components/select/demo/keyboard-behavior.md +54 -9
  65. package/components/select/dist/index.js +33 -247
  66. package/components/select/dist/registered.js +33 -247
  67. package/custom-elements.json +5 -677
  68. package/package.json +2 -2
  69. package/components/datepicker/demo/customize.js +0 -19
  70. package/components/datepicker/demo/customize.min.js +0 -25805
  71. package/components/radio/demo/customize.min.js +0 -2186
  72. package/components/radio/demo/demo-support.min.js +0 -55807
  73. package/components/radio/demo/getting-started.min.js +0 -2205
@@ -128,17 +128,6 @@
128
128
  },
129
129
  "attribute": "isFullscreen",
130
130
  "reflects": true
131
- },
132
- {
133
- "kind": "field",
134
- "name": "showFooter",
135
- "privacy": "public",
136
- "type": {
137
- "text": "boolean"
138
- },
139
- "description": "If declared, the footer slot will be rendered even when not in fullscreen mode.",
140
- "attribute": "showFooter",
141
- "reflects": true
142
131
  }
143
132
  ],
144
133
  "events": [
@@ -170,14 +159,6 @@
170
159
  },
171
160
  "default": "false",
172
161
  "fieldName": "large"
173
- },
174
- {
175
- "name": "showFooter",
176
- "type": {
177
- "text": "boolean"
178
- },
179
- "description": "If declared, the footer slot will be rendered even when not in fullscreen mode.",
180
- "fieldName": "showFooter"
181
162
  }
182
163
  ],
183
164
  "superclass": {
@@ -2454,7 +2435,7 @@
2454
2435
  "type": {
2455
2436
  "text": "object"
2456
2437
  },
2457
- "default": "{ ArrowDown(component, evt, ctx) { // If the clear button has focus, let the browser handle ArrowDown normally. if (isClearBtnFocused(ctx)) { return; } // option display and navigation are prevented if there are no available options if (component.availableOptions.length > 0) { evt.preventDefault(); // navigate if bib is open otherwise open it if (component.dropdown.isPopoverVisible) { if (evt.altKey || evt.metaKey) { component.activateLastEnabledAvailableOption(); } else { navigateArrow(component, 'down'); } } else { component.showBib(); } } }, ArrowUp(component, evt, ctx) { // If the clear button has focus, let the browser handle ArrowUp normally. if (isClearBtnFocused(ctx)) { return; } // option display and navigation are prevented if there are no available options if (component.availableOptions.length > 0) { evt.preventDefault(); // navigate if bib is open otherwise open it if (component.dropdown.isPopoverVisible) { if (evt.altKey || evt.metaKey) { component.activateFirstEnabledAvailableOption(); } else { navigateArrow(component, 'up'); } } else { component.showBib(); } } }, End(component, evt, ctx) { if (ctx.isExpanded) { evt.preventDefault(); evt.stopPropagation(); component.activateLastEnabledAvailableOption(); } }, Enter(component, evt, ctx) { if (isClearBtnFocused(ctx)) { // If the clear button has focus, let the browser activate it normally. // stopPropagation prevents parent containers (e.g., forms) from treating // Enter as a submit, but we must NOT call preventDefault — that would // block the browser's built-in \"Enter activates focused button\" behavior. evt.stopPropagation(); } else if (ctx.isExpanded && component.menu.optionActive) { component.menu.makeSelection(); if (ctx.isModal) { component.setTriggerInputFocus(); } evt.preventDefault(); evt.stopPropagation(); } else { // Prevent the keypress from bubbling to parent containers (e.g., forms) // which could interpret Enter as a submit or trigger other unintended behavior. // This is safe because showBib() opens the dialog programmatically, // not via event propagation. evt.preventDefault(); evt.stopPropagation(); component.showBib(); } }, Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); if (ctx.isModal) { component.setTriggerInputFocus(); } component.hideBib(); }, Home(component, evt, ctx) { if (ctx.isExpanded) { evt.preventDefault(); evt.stopPropagation(); component.activateFirstEnabledAvailableOption(); } }, Tab(component, evt, ctx) { if (ctx.isExpanded && !isClearBtnFocused(ctx)) { // When the clear button is focused, Tab events do not bubble out of // its shadow DOM, so this handler only fires when the clear button // is NOT focused. In that case, select the active option and close. component.menu.makeSelection(); component.hideBib(); // In fullscreen modal mode, closing the dialog does not // automatically restores focus to the input. In the tab case, // Explicitly move focus to the trigger's clear button so the // user can continues tabbing through the page normally. if (ctx.isModal && !evt.shiftKey) { component.setClearBtnFocus(); } } }, }"
2438
+ "default": "{ ArrowDown(component, evt, ctx) { // If the clear button has focus, let the browser handle ArrowDown normally. if (isClearBtnFocused(ctx)) { return; } // option display and navigation are prevented if there are no available options if (component.availableOptions.length > 0) { evt.preventDefault(); // navigate if bib is open otherwise open it if (component.dropdown.isPopoverVisible) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { component.activateLastEnabledAvailableOption(); } else { navigateArrow(component, 'down'); } } else { component.showBib(); } } }, ArrowUp(component, evt, ctx) { // If the clear button has focus, let the browser handle ArrowUp normally. if (isClearBtnFocused(ctx)) { return; } // option display and navigation are prevented if there are no available options if (component.availableOptions.length > 0) { evt.preventDefault(); // navigate if bib is open otherwise open it if (component.dropdown.isPopoverVisible) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { component.activateFirstEnabledAvailableOption(); } else { navigateArrow(component, 'up'); } } else { component.showBib(); } } }, End(component, evt, ctx) { if (ctx.isExpanded) { evt.preventDefault(); evt.stopPropagation(); component.activateLastEnabledAvailableOption(); } }, Enter(component, evt, ctx) { if (isClearBtnFocused(ctx)) { // If the clear button has focus, let the browser activate it normally. // stopPropagation prevents parent containers (e.g., forms) from treating // Enter as a submit, but we must NOT call preventDefault — that would // block the browser's built-in \"Enter activates focused button\" behavior. evt.stopPropagation(); } else if (ctx.isExpanded && component.menu.optionActive) { component.menu.makeSelection(); if (ctx.isModal) { component.setTriggerInputFocus(); } evt.preventDefault(); evt.stopPropagation(); } else { // Prevent the keypress from bubbling to parent containers (e.g., forms) // which could interpret Enter as a submit or trigger other unintended behavior. // This is safe because showBib() opens the dialog programmatically, // not via event propagation. evt.preventDefault(); evt.stopPropagation(); component.showBib(); } }, Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); if (ctx.isModal) { component.setTriggerInputFocus(); } component.hideBib(); }, Home(component, evt, ctx) { if (ctx.isExpanded) { evt.preventDefault(); evt.stopPropagation(); component.activateFirstEnabledAvailableOption(); } }, Tab(component, evt, ctx) { if (ctx.isExpanded && !isClearBtnFocused(ctx)) { // When the clear button is focused, Tab events do not bubble out of // its shadow DOM, so this handler only fires when the clear button // is NOT focused. In that case, select the active option and close. component.menu.makeSelection(); component.hideBib(); // In fullscreen modal mode, closing the dialog does not // automatically restores focus to the input. In the tab case, // Explicitly move focus to the trigger's clear button so the // user can continues tabbing through the page normally. if (ctx.isModal && !evt.shiftKey) { component.setClearBtnFocus(); } } }, }"
2458
2439
  }
2459
2440
  ],
2460
2441
  "exports": [
@@ -4243,51 +4224,6 @@
4243
4224
  }
4244
4225
  }
4245
4226
  },
4246
- {
4247
- "kind": "method",
4248
- "name": "isOutOfRange",
4249
- "parameters": [
4250
- {
4251
- "name": "day",
4252
- "description": "An object containing the dateFrom and day of month values.",
4253
- "type": {
4254
- "text": "Object"
4255
- }
4256
- },
4257
- {
4258
- "name": "min",
4259
- "description": "The minimum date value.",
4260
- "type": {
4261
- "text": "Number"
4262
- }
4263
- },
4264
- {
4265
- "name": "max",
4266
- "description": "The maximum date value.",
4267
- "type": {
4268
- "text": "Number"
4269
- }
4270
- }
4271
- ],
4272
- "description": "Checks if the current date is outside the valid min/max range.\nOut-of-range cells are not focusable and are hidden from screen readers.",
4273
- "privacy": "private",
4274
- "return": {
4275
- "type": {
4276
- "text": "Boolean"
4277
- }
4278
- }
4279
- },
4280
- {
4281
- "kind": "method",
4282
- "name": "isBlackout",
4283
- "description": "Checks if the current date is a blackout date (in disabledDays but within range).\nBlackout cells are focusable but not selectable.",
4284
- "privacy": "private",
4285
- "return": {
4286
- "type": {
4287
- "text": "Boolean"
4288
- }
4289
- }
4290
- },
4291
4227
  {
4292
4228
  "kind": "method",
4293
4229
  "name": "isEnabled",
@@ -4321,7 +4257,7 @@
4321
4257
  }
4322
4258
  }
4323
4259
  ],
4324
- "description": "Checks if the current date is disabled based on min/max range or the\nlegacy disabledDays timestamp list. Sets the `disabled` attribute on the\nhost when the date falls outside the allowed range or appears in\ndisabledDays. Note: blackout dates are handled separately by `isBlackout()`.",
4260
+ "description": "Checks if the current date is a valid date depending on the min and max values.",
4325
4261
  "privacy": "private",
4326
4262
  "return": {
4327
4263
  "type": {
@@ -4329,39 +4265,6 @@
4329
4265
  }
4330
4266
  }
4331
4267
  },
4332
- {
4333
- "kind": "method",
4334
- "name": "getCellId",
4335
- "description": "Generates a unique cell ID in the format cell-YYYY-MM-DD.",
4336
- "privacy": "private",
4337
- "return": {
4338
- "type": {
4339
- "text": "String"
4340
- }
4341
- }
4342
- },
4343
- {
4344
- "kind": "method",
4345
- "name": "getAriaLabel",
4346
- "description": "Generates a localized aria-label for the cell button using Intl.DateTimeFormat.\nIncludes range position and blackout status.",
4347
- "privacy": "private",
4348
- "return": {
4349
- "type": {
4350
- "text": "String"
4351
- }
4352
- }
4353
- },
4354
- {
4355
- "kind": "method",
4356
- "name": "getRangePosition",
4357
- "description": "Determines the range position of this cell relative to the current selection.",
4358
- "privacy": "private",
4359
- "return": {
4360
- "type": {
4361
- "text": "String|null"
4362
- }
4363
- }
4364
- },
4365
4268
  {
4366
4269
  "kind": "method",
4367
4270
  "name": "isDepartDate",
@@ -4559,31 +4462,6 @@
4559
4462
  }
4560
4463
  }
4561
4464
  },
4562
- {
4563
- "kind": "method",
4564
- "name": "configurePopover",
4565
- "description": "Configures the popover instance with the calendar month boundary.\nCalled from firstUpdated and updated because the popover element is only\nrendered after hasPopoverContent becomes true (set by handleSlotContent).",
4566
- "privacy": "private",
4567
- "return": {
4568
- "type": {
4569
- "text": "void"
4570
- }
4571
- }
4572
- },
4573
- {
4574
- "kind": "method",
4575
- "name": "focusButton",
4576
- "description": "Programmatically focuses the cell's interactive button element.",
4577
- "return": {
4578
- "type": {
4579
- "text": "void"
4580
- }
4581
- }
4582
- },
4583
- {
4584
- "kind": "method",
4585
- "name": "renderCellButton"
4586
- },
4587
4465
  {
4588
4466
  "kind": "field",
4589
4467
  "name": "day",
@@ -4733,27 +4611,6 @@
4733
4611
  "default": "false",
4734
4612
  "attribute": "renderForDateSlot"
4735
4613
  },
4736
- {
4737
- "kind": "field",
4738
- "name": "active",
4739
- "privacy": "public",
4740
- "type": {
4741
- "text": "boolean"
4742
- },
4743
- "default": "false",
4744
- "attribute": "active",
4745
- "reflects": true
4746
- },
4747
- {
4748
- "kind": "field",
4749
- "name": "hasPopoverContent",
4750
- "privacy": "public",
4751
- "type": {
4752
- "text": "boolean"
4753
- },
4754
- "default": "false",
4755
- "attribute": "hasPopoverContent"
4756
- },
4757
4614
  {
4758
4615
  "kind": "field",
4759
4616
  "name": "runtimeUtils",
@@ -4765,12 +4622,6 @@
4765
4622
  }
4766
4623
  ],
4767
4624
  "events": [
4768
- {
4769
- "name": "calendar-cell-activate",
4770
- "type": {
4771
- "text": "CustomEvent"
4772
- }
4773
- },
4774
4625
  {
4775
4626
  "name": "date-is-hovered",
4776
4627
  "type": {
@@ -4897,22 +4748,6 @@
4897
4748
  },
4898
4749
  "default": "false",
4899
4750
  "fieldName": "renderForDateSlot"
4900
- },
4901
- {
4902
- "name": "active",
4903
- "type": {
4904
- "text": "boolean"
4905
- },
4906
- "default": "false",
4907
- "fieldName": "active"
4908
- },
4909
- {
4910
- "name": "hasPopoverContent",
4911
- "type": {
4912
- "text": "boolean"
4913
- },
4914
- "default": "false",
4915
- "fieldName": "hasPopoverContent"
4916
4751
  }
4917
4752
  ],
4918
4753
  "superclass": {
@@ -4971,78 +4806,10 @@
4971
4806
  }
4972
4807
  }
4973
4808
  },
4974
- {
4975
- "kind": "method",
4976
- "name": "getHeadingId",
4977
- "description": "Returns the unique heading ID for this month, used by aria-labelledby.",
4978
- "privacy": "private",
4979
- "return": {
4980
- "type": {
4981
- "text": "String"
4982
- }
4983
- }
4984
- },
4985
4809
  {
4986
4810
  "kind": "method",
4987
4811
  "name": "localeChanged",
4988
- "description": "Determines the current month name based on locale.\nAlso builds parallel arrays of full day names for abbr attributes.\nThis is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.",
4989
- "privacy": "private",
4990
- "return": {
4991
- "type": {
4992
- "text": "void"
4993
- }
4994
- }
4995
- },
4996
- {
4997
- "kind": "method",
4998
- "name": "renderDayOfWeek",
4999
- "parameters": [
5000
- {
5001
- "name": "dayOfWeek",
5002
- "description": "The short day name.",
5003
- "type": {
5004
- "text": "String"
5005
- }
5006
- },
5007
- {
5008
- "name": "index",
5009
- "description": "The index in the dayNamesOfTheWeek array.",
5010
- "type": {
5011
- "text": "Number"
5012
- }
5013
- }
5014
- ],
5015
- "description": "Renders a day-of-week header with abbr attribute for the full day name.",
5016
- "privacy": "private",
5017
- "return": {
5018
- "type": {
5019
- "text": "Object"
5020
- }
5021
- }
5022
- },
5023
- {
5024
- "kind": "method",
5025
- "name": "getFocusableCells",
5026
- "description": "Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.",
5027
- "return": {
5028
- "type": {
5029
- "text": "Array"
5030
- }
5031
- }
5032
- },
5033
- {
5034
- "kind": "method",
5035
- "name": "handleGridKeyDown",
5036
- "parameters": [
5037
- {
5038
- "name": "event",
5039
- "description": "The keyboard event.",
5040
- "type": {
5041
- "text": "KeyboardEvent"
5042
- }
5043
- }
5044
- ],
5045
- "description": "Handles arrow key navigation within the month grid.\nDispatches a cross-month navigation event when the boundary is reached.",
4812
+ "description": "Determines the current month name based on locale.\nThis is a rewrite of the function used in the class RangeDatepickerCalendar and should not be removed from here.",
5046
4813
  "privacy": "private",
5047
4814
  "return": {
5048
4815
  "type": {
@@ -5050,15 +4817,6 @@
5050
4817
  }
5051
4818
  }
5052
4819
  },
5053
- {
5054
- "kind": "method",
5055
- "name": "renderWeek",
5056
- "parameters": [
5057
- {
5058
- "name": "week"
5059
- }
5060
- ]
5061
- },
5062
4820
  {
5063
4821
  "kind": "method",
5064
4822
  "name": "renderDay",
@@ -5079,20 +4837,6 @@
5079
4837
  "reflects": true
5080
4838
  }
5081
4839
  ],
5082
- "events": [
5083
- {
5084
- "name": "calendar-month-boundary",
5085
- "type": {
5086
- "text": "CustomEvent"
5087
- }
5088
- },
5089
- {
5090
- "name": "calendar-cell-activate",
5091
- "type": {
5092
- "text": "CustomEvent"
5093
- }
5094
- }
5095
- ],
5096
4840
  "attributes": [
5097
4841
  {
5098
4842
  "name": "monthFirst",
@@ -5160,17 +4904,6 @@
5160
4904
  }
5161
4905
  }
5162
4906
  },
5163
- {
5164
- "kind": "method",
5165
- "name": "announceMonthChange",
5166
- "description": "Announces the current month and year via the live region after navigation.",
5167
- "privacy": "private",
5168
- "return": {
5169
- "type": {
5170
- "text": "void"
5171
- }
5172
- }
5173
- },
5174
4907
  {
5175
4908
  "kind": "method",
5176
4909
  "name": "renderAllCalendars",
@@ -5211,159 +4944,6 @@
5211
4944
  }
5212
4945
  }
5213
4946
  },
5214
- {
5215
- "kind": "method",
5216
- "name": "getMonthComponents",
5217
- "description": "Gets all rendered month components.",
5218
- "privacy": "private",
5219
- "return": {
5220
- "type": {
5221
- "text": "Array"
5222
- }
5223
- }
5224
- },
5225
- {
5226
- "kind": "method",
5227
- "name": "getAllFocusableCells",
5228
- "description": "Gets all focusable cells across all rendered months.",
5229
- "privacy": "private",
5230
- "return": {
5231
- "type": {
5232
- "text": "Array"
5233
- }
5234
- }
5235
- },
5236
- {
5237
- "kind": "method",
5238
- "name": "setActiveCell",
5239
- "parameters": [
5240
- {
5241
- "name": "date",
5242
- "description": "Unix timestamp of the cell to activate.",
5243
- "type": {
5244
- "text": "Number"
5245
- }
5246
- }
5247
- ],
5248
- "description": "Sets the active cell across all months. Only one cell has tabindex=\"0\" at a time.",
5249
- "return": {
5250
- "type": {
5251
- "text": "void"
5252
- }
5253
- }
5254
- },
5255
- {
5256
- "kind": "method",
5257
- "name": "focusActiveCell",
5258
- "description": "Focuses the currently active cell. If activeCellDate is set but no cell\nhas the active attribute yet, sets it first. Waits for the cell's render\nto complete so the focused button is the final DOM element.",
5259
- "return": {
5260
- "type": {
5261
- "text": "void"
5262
- }
5263
- }
5264
- },
5265
- {
5266
- "kind": "method",
5267
- "name": "computeActiveDate",
5268
- "description": "Computes the initial active date from data properties alone — no DOM required.\nPriority:\n 1. Selected date (dateFrom) if within range\n 2. Today's date if not disabled (in-range and not blackout)\n 3. First future non-disabled date (scans day-by-day from today up to 1 year)\n 4. First previous non-disabled date (scans day-by-day from today up to 1 year)\n 5. undefined — no valid target",
5269
- "privacy": "private",
5270
- "return": {
5271
- "type": {
5272
- "text": "Number|undefined"
5273
- }
5274
- }
5275
- },
5276
- {
5277
- "kind": "method",
5278
- "name": "handleMonthBoundary",
5279
- "parameters": [
5280
- {
5281
- "name": "event",
5282
- "description": "The boundary event with direction and source date info.",
5283
- "type": {
5284
- "text": "CustomEvent"
5285
- }
5286
- }
5287
- ],
5288
- "description": "Handles cross-month boundary navigation events from month components.",
5289
- "privacy": "private",
5290
- "return": {
5291
- "type": {
5292
- "text": "void"
5293
- }
5294
- }
5295
- },
5296
- {
5297
- "kind": "method",
5298
- "name": "handleCellActivate",
5299
- "parameters": [
5300
- {
5301
- "name": "event",
5302
- "description": "The activation event with target date.",
5303
- "type": {
5304
- "text": "CustomEvent"
5305
- }
5306
- }
5307
- ],
5308
- "description": "Handles cell activation events from month components.",
5309
- "privacy": "private",
5310
- "return": {
5311
- "type": {
5312
- "text": "void"
5313
- }
5314
- }
5315
- },
5316
- {
5317
- "kind": "method",
5318
- "name": "scrollToActiveCell",
5319
- "description": "Scrolls the calendar to ensure the month containing the active cell is visible.",
5320
- "privacy": "private",
5321
- "return": {
5322
- "type": {
5323
- "text": "void"
5324
- }
5325
- }
5326
- },
5327
- {
5328
- "kind": "method",
5329
- "name": "announceSelection",
5330
- "parameters": [
5331
- {
5332
- "name": "dateStr",
5333
- "description": "The localized date string to announce.",
5334
- "type": {
5335
- "text": "String"
5336
- }
5337
- }
5338
- ],
5339
- "description": "Announces a date selection via the live region.",
5340
- "privacy": "private",
5341
- "return": {
5342
- "type": {
5343
- "text": "void"
5344
- }
5345
- }
5346
- },
5347
- {
5348
- "kind": "method",
5349
- "name": "formatAnnouncementDate",
5350
- "parameters": [
5351
- {
5352
- "name": "timestamp",
5353
- "description": "Unix timestamp in seconds.",
5354
- "type": {
5355
- "text": "String|Number"
5356
- }
5357
- }
5358
- ],
5359
- "description": "Formats a Unix timestamp (seconds) as a localized date string for SR announcements.",
5360
- "privacy": "private",
5361
- "return": {
5362
- "type": {
5363
- "text": "String"
5364
- }
5365
- }
5366
- },
5367
4947
  {
5368
4948
  "kind": "method",
5369
4949
  "name": "injectSlot",
@@ -5467,16 +5047,6 @@
5467
5047
  "attribute": "isFullscreen",
5468
5048
  "reflects": true
5469
5049
  },
5470
- {
5471
- "kind": "field",
5472
- "name": "activeCellDate",
5473
- "type": {
5474
- "text": "null"
5475
- },
5476
- "description": "The date of the currently active cell (Unix timestamp).\nOnly one cell across the entire calendar has tabindex=\"0\" at a time.",
5477
- "privacy": "private",
5478
- "default": "null"
5479
- },
5480
5050
  {
5481
5051
  "kind": "field",
5482
5052
  "name": "firstMonthRenderable",
@@ -6101,17 +5671,6 @@
6101
5671
  }
6102
5672
  }
6103
5673
  },
6104
- {
6105
- "kind": "method",
6106
- "name": "focusActiveCellWhenReady",
6107
- "description": "Attempts to focus the active calendar cell using a rAF retry loop.\nShared by both fullscreen and desktop open paths.",
6108
- "privacy": "private",
6109
- "return": {
6110
- "type": {
6111
- "text": "void"
6112
- }
6113
- }
6114
- },
6115
5674
  {
6116
5675
  "kind": "method",
6117
5676
  "name": "configureDropdown",
@@ -6592,114 +6151,6 @@
6592
6151
  "attribute": "range",
6593
6152
  "reflects": true
6594
6153
  },
6595
- {
6596
- "kind": "field",
6597
- "name": "rangeLabelStart",
6598
- "privacy": "public",
6599
- "type": {
6600
- "text": "string"
6601
- },
6602
- "description": "Label announced for the range start date cell.",
6603
- "default": "'range start'",
6604
- "attribute": "rangeLabelStart",
6605
- "reflects": true
6606
- },
6607
- {
6608
- "kind": "field",
6609
- "name": "rangeLabelEnd",
6610
- "privacy": "public",
6611
- "type": {
6612
- "text": "string"
6613
- },
6614
- "description": "Label announced for the range end date cell.",
6615
- "default": "'range end'",
6616
- "attribute": "rangeLabelEnd",
6617
- "reflects": true
6618
- },
6619
- {
6620
- "kind": "field",
6621
- "name": "rangeLabelBeforeRange",
6622
- "privacy": "public",
6623
- "type": {
6624
- "text": "string"
6625
- },
6626
- "description": "Label announced for cells before the range start.",
6627
- "default": "'before range'",
6628
- "attribute": "rangeLabelBeforeRange",
6629
- "reflects": true
6630
- },
6631
- {
6632
- "kind": "field",
6633
- "name": "rangeLabelInRange",
6634
- "privacy": "public",
6635
- "type": {
6636
- "text": "string"
6637
- },
6638
- "description": "Label announced for cells within the selected range.",
6639
- "default": "'in range'",
6640
- "attribute": "rangeLabelInRange",
6641
- "reflects": true
6642
- },
6643
- {
6644
- "kind": "field",
6645
- "name": "rangeLabelAfterRange",
6646
- "privacy": "public",
6647
- "type": {
6648
- "text": "string"
6649
- },
6650
- "description": "Label announced for cells after the range (or after start when no end is selected).",
6651
- "default": "'after range'",
6652
- "attribute": "rangeLabelAfterRange",
6653
- "reflects": true
6654
- },
6655
- {
6656
- "kind": "field",
6657
- "name": "blackoutDates",
6658
- "privacy": "public",
6659
- "type": {
6660
- "text": "array"
6661
- },
6662
- "description": "Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).",
6663
- "default": "[]",
6664
- "attribute": "blackoutDates",
6665
- "reflects": true
6666
- },
6667
- {
6668
- "kind": "field",
6669
- "name": "blackoutLabel",
6670
- "privacy": "public",
6671
- "type": {
6672
- "text": "string"
6673
- },
6674
- "description": "Label announced for blackout (disabled but in-range) date cells.",
6675
- "default": "'unavailable'",
6676
- "attribute": "blackoutLabel",
6677
- "reflects": true
6678
- },
6679
- {
6680
- "kind": "field",
6681
- "name": "navLabelPrevMonth",
6682
- "privacy": "public",
6683
- "type": {
6684
- "text": "string"
6685
- },
6686
- "description": "Accessible label for the previous month navigation button.",
6687
- "default": "'Previous month'",
6688
- "attribute": "navLabelPrevMonth",
6689
- "reflects": true
6690
- },
6691
- {
6692
- "kind": "field",
6693
- "name": "navLabelNextMonth",
6694
- "privacy": "public",
6695
- "type": {
6696
- "text": "string"
6697
- },
6698
- "description": "Accessible label for the next month navigation button.",
6699
- "default": "'Next month'",
6700
- "attribute": "navLabelNextMonth",
6701
- "reflects": true
6702
- },
6703
6154
  {
6704
6155
  "kind": "field",
6705
6156
  "name": "stacked",
@@ -7529,87 +6980,6 @@
7529
6980
  "default": "false",
7530
6981
  "fieldName": "range"
7531
6982
  },
7532
- {
7533
- "name": "rangeLabelStart",
7534
- "type": {
7535
- "text": "string"
7536
- },
7537
- "description": "Label announced for the range start date cell.",
7538
- "default": "'range start'",
7539
- "fieldName": "rangeLabelStart"
7540
- },
7541
- {
7542
- "name": "rangeLabelEnd",
7543
- "type": {
7544
- "text": "string"
7545
- },
7546
- "description": "Label announced for the range end date cell.",
7547
- "default": "'range end'",
7548
- "fieldName": "rangeLabelEnd"
7549
- },
7550
- {
7551
- "name": "rangeLabelBeforeRange",
7552
- "type": {
7553
- "text": "string"
7554
- },
7555
- "description": "Label announced for cells before the range start.",
7556
- "default": "'before range'",
7557
- "fieldName": "rangeLabelBeforeRange"
7558
- },
7559
- {
7560
- "name": "rangeLabelInRange",
7561
- "type": {
7562
- "text": "string"
7563
- },
7564
- "description": "Label announced for cells within the selected range.",
7565
- "default": "'in range'",
7566
- "fieldName": "rangeLabelInRange"
7567
- },
7568
- {
7569
- "name": "rangeLabelAfterRange",
7570
- "type": {
7571
- "text": "string"
7572
- },
7573
- "description": "Label announced for cells after the range (or after start when no end is selected).",
7574
- "default": "'after range'",
7575
- "fieldName": "rangeLabelAfterRange"
7576
- },
7577
- {
7578
- "name": "blackoutDates",
7579
- "type": {
7580
- "text": "array"
7581
- },
7582
- "description": "Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).",
7583
- "default": "[]",
7584
- "fieldName": "blackoutDates"
7585
- },
7586
- {
7587
- "name": "blackoutLabel",
7588
- "type": {
7589
- "text": "string"
7590
- },
7591
- "description": "Label announced for blackout (disabled but in-range) date cells.",
7592
- "default": "'unavailable'",
7593
- "fieldName": "blackoutLabel"
7594
- },
7595
- {
7596
- "name": "navLabelPrevMonth",
7597
- "type": {
7598
- "text": "string"
7599
- },
7600
- "description": "Accessible label for the previous month navigation button.",
7601
- "default": "'Previous month'",
7602
- "fieldName": "navLabelPrevMonth"
7603
- },
7604
- {
7605
- "name": "navLabelNextMonth",
7606
- "type": {
7607
- "text": "string"
7608
- },
7609
- "description": "Accessible label for the next month navigation button.",
7610
- "default": "'Next month'",
7611
- "fieldName": "navLabelNextMonth"
7612
- },
7613
6983
  {
7614
6984
  "name": "referenceDates",
7615
6985
  "type": {
@@ -7781,7 +7151,7 @@
7781
7151
  "type": {
7782
7152
  "text": "object"
7783
7153
  },
7784
- "default": "{ Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Stop propagation so parent containers (auro-dialog, auro-drawer) // don't also react to Escape. evt.stopPropagation(); evt.preventDefault(); component.hideBib(); }, Enter(component, evt, ctx) { if (ctx.isExpanded) { return; } // Only open from the trigger input, not the clear button or other internal elements. // evt.target is retargeted to the host in shadow DOM, so use composedPath() // to find the real origin. The clear button is rendered with class \"clearBtn\". const path = evt.composedPath(); if (path.some(el => el.classList?.contains('clearBtn'))) { return; } evt.preventDefault(); component.dropdown.show(); }, ' '(component, evt, ctx) { if (ctx.isExpanded) { return; } // Only open from the trigger input, not the clear button or other internal elements. // evt.target is retargeted to the host in shadow DOM, so use composedPath() // to find the real origin. The clear button is rendered with class \"clearBtn\". const path = evt.composedPath(); if (path.some(el => el.classList?.contains('clearBtn'))) { return; } evt.preventDefault(); component.dropdown.show(); }, }"
7154
+ "default": "{ Escape(component, evt) { if (!component.dropdown || !component.dropdown.isPopoverVisible) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups. // Because stopPropagation prevents the document-level floatingUI keydown handler from // seeing this event, we must also close the dropdown explicitly. evt.stopPropagation(); component.dropdown.hide(); }, }"
7785
7155
  }
7786
7156
  ],
7787
7157
  "exports": [
@@ -8635,29 +8005,6 @@
8635
8005
  "name": "updateFocusTrap",
8636
8006
  "privacy": "private"
8637
8007
  },
8638
- {
8639
- "kind": "method",
8640
- "name": "_getActiveElements",
8641
- "description": "Returns the chain of active (focused) elements through shadow roots.",
8642
- "privacy": "private",
8643
- "return": {
8644
- "type": {
8645
- "text": "Array<HTMLElement>"
8646
- }
8647
- }
8648
- },
8649
- {
8650
- "kind": "method",
8651
- "name": "_setPageInert",
8652
- "description": "Sets `inert` on sibling elements of the dropdown's top-level host\nso that content outside the dropdown is not interactive while the modal is open.\nWalks up through shadow DOM boundaries to find the outermost host element\nin the light DOM, then sets `inert` on siblings at each ancestor level\nto ensure all page content outside the host subtree is inert.",
8653
- "privacy": "private"
8654
- },
8655
- {
8656
- "kind": "method",
8657
- "name": "_clearPageInert",
8658
- "description": "Restores `inert` state on siblings that were made inert by `_setPageInert`.",
8659
- "privacy": "private"
8660
- },
8661
8008
  {
8662
8009
  "kind": "method",
8663
8010
  "name": "handleFocusout",
@@ -8964,17 +8311,6 @@
8964
8311
  "attribute": "autoPlacement",
8965
8312
  "reflects": true
8966
8313
  },
8967
- {
8968
- "kind": "field",
8969
- "name": "desktopModal",
8970
- "privacy": "public",
8971
- "type": {
8972
- "text": "boolean"
8973
- },
8974
- "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
8975
- "attribute": "desktopModal",
8976
- "reflects": true
8977
- },
8978
8314
  {
8979
8315
  "kind": "field",
8980
8316
  "name": "disableEventShow",
@@ -9281,14 +8617,6 @@
9281
8617
  "description": "If declared, bib's position will be automatically calculated where to appear.",
9282
8618
  "fieldName": "autoPlacement"
9283
8619
  },
9284
- {
9285
- "name": "desktopModal",
9286
- "type": {
9287
- "text": "boolean"
9288
- },
9289
- "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
9290
- "fieldName": "desktopModal"
9291
- },
9292
8620
  {
9293
8621
  "name": "disableEventShow",
9294
8622
  "type": {
@@ -19465,7 +18793,7 @@
19465
18793
  "type": {
19466
18794
  "text": "object"
19467
18795
  },
19468
- "default": "{ ArrowDown(component, evt, ctx) { evt.preventDefault(); if (evt.altKey || evt.metaKey) { // navigate to last enabled option selectKeyboardStrategy.End(component, evt, ctx); return; } navigateArrow(component, 'down', { ctx, showFn: () => component.dropdown.show(), }); }, ArrowUp(component, evt, ctx) { evt.preventDefault(); if (evt.altKey || evt.metaKey) { // navigate to first enabled option selectKeyboardStrategy.Home(component, evt, ctx); return; } navigateArrow(component, 'up', { ctx, showFn: () => component.dropdown.show(), }); }, Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); component.dropdown.hide(); }, End(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const lastOption = [...component.menu.menuService.menuOptions].reverse().find((option) => !option.disabled); if (lastOption) { component.menu.updateActiveOption(lastOption); } }, Enter(component, evt, ctx) { evt.preventDefault(); evt.stopPropagation(); if (!ctx.isExpanded) { component.dropdown.show(); return; } component.menu.makeSelection(); }, Home(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const firstOption = component.menu.menuService.menuOptions.find((option) => !option.disabled); if (firstOption) { component.menu.updateActiveOption(firstOption); } }, Tab(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Tab selects the focused option and closes the popup per the // WAI-ARIA APG select-only combobox / listbox pattern. if (component.optionActive) { component.menu.makeSelection(); } component.dropdown.hide(); }, default(component, evt, ctx) { component.updateActiveOptionBasedOnKey(evt.key); if (evt.key === ' ') { evt.preventDefault(); evt.stopPropagation(); if (ctx.isExpanded) { component.dropdown.hide(); return; } component.dropdown.show(); } }, }"
18796
+ "default": "{ ArrowDown(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to last enabled option selectKeyboardStrategy.End(component, evt, ctx); } else { navigateArrow(component, 'down', { ctx }); } } else { component.dropdown.show(); } }, ArrowUp(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to first enabled option selectKeyboardStrategy.Home(component, evt, ctx); } else { navigateArrow(component, 'up', { ctx }); } } else { component.dropdown.show(); } }, Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); component.dropdown.hide(); }, End(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const lastOption = [...component.menu.menuService.menuOptions].reverse().find((option) => !option.disabled); if (lastOption) { component.menu.updateActiveOption(lastOption); } }, Enter(component, evt, ctx) { evt.preventDefault(); evt.stopPropagation(); if (!ctx.isExpanded) { component.dropdown.show(); return; } component.menu.makeSelection(); }, Home(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const firstOption = component.menu.menuService.menuOptions.find((option) => !option.disabled); if (firstOption) { component.menu.updateActiveOption(firstOption); } }, Tab(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Tab selects the focused option and closes the popup per the // WAI-ARIA APG select-only combobox / listbox pattern. if (component.optionActive) { component.menu.makeSelection(); } component.dropdown.hide(); }, default(component, evt, ctx) { component.updateActiveOptionBasedOnKey(evt.key); if (evt.key === ' ') { evt.preventDefault(); evt.stopPropagation(); if (ctx.isExpanded) { component.dropdown.hide(); return; } component.dropdown.show(); } }, }"
19469
18797
  }
19470
18798
  ],
19471
18799
  "exports": [