@aurodesignsystem-dev/auro-formkit 0.0.0-pr1474.4 → 0.0.0-pr1475.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 (83) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +7 -0
  2. package/components/bibtemplate/dist/index.js +9 -1
  3. package/components/bibtemplate/dist/registered.js +9 -1
  4. package/components/checkbox/demo/customize.html +2 -1
  5. package/components/checkbox/demo/customize.min.js +1 -1
  6. package/components/checkbox/demo/getting-started.min.js +1 -1
  7. package/components/checkbox/demo/index.min.js +1 -1
  8. package/components/checkbox/dist/index.js +1 -1
  9. package/components/checkbox/dist/registered.js +1 -1
  10. package/components/combobox/demo/customize.html +2 -1
  11. package/components/combobox/demo/customize.md +130 -106
  12. package/components/combobox/demo/customize.min.js +209 -16
  13. package/components/combobox/demo/getting-started.min.js +209 -16
  14. package/components/combobox/demo/index.min.js +209 -16
  15. package/components/combobox/dist/index.js +209 -16
  16. package/components/combobox/dist/registered.js +209 -16
  17. package/components/counter/demo/customize.min.js +208 -15
  18. package/components/counter/demo/index.min.js +208 -15
  19. package/components/counter/demo/keyboard-behavior.md +1 -0
  20. package/components/counter/dist/index.js +10 -2
  21. package/components/counter/dist/registered.js +10 -2
  22. package/components/datepicker/demo/accessibility.md +51 -3
  23. package/components/datepicker/demo/api.md +9 -0
  24. package/components/datepicker/demo/customize.html +2 -0
  25. package/components/datepicker/demo/customize.js +19 -0
  26. package/components/datepicker/demo/customize.md +72 -8
  27. package/components/datepicker/demo/customize.min.js +25690 -0
  28. package/components/datepicker/demo/design.md +3 -1
  29. package/components/datepicker/demo/index.js +2 -1
  30. package/components/datepicker/demo/index.md +81 -1
  31. package/components/datepicker/demo/index.min.js +1223 -101
  32. package/components/datepicker/demo/keyboard-behavior.md +201 -2
  33. package/components/datepicker/demo/voiceover.md +19 -12
  34. package/components/datepicker/dist/index.js +1155 -104
  35. package/components/datepicker/dist/registered.js +1155 -104
  36. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +59 -0
  37. package/components/datepicker/dist/src/auro-calendar-month.d.ts +28 -0
  38. package/components/datepicker/dist/src/auro-calendar.d.ts +84 -0
  39. package/components/datepicker/dist/src/auro-datepicker.d.ts +80 -0
  40. package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +5 -3
  41. package/components/dropdown/demo/accessibility.md +11 -0
  42. package/components/dropdown/demo/api.md +1 -0
  43. package/components/dropdown/demo/customize.md +3 -0
  44. package/components/dropdown/demo/customize.min.js +198 -13
  45. package/components/dropdown/demo/getting-started.min.js +198 -13
  46. package/components/dropdown/demo/index.min.js +198 -13
  47. package/components/dropdown/demo/keyboard-behavior.md +1 -0
  48. package/components/dropdown/dist/auro-dropdown.d.ts +30 -1
  49. package/components/dropdown/dist/index.js +198 -13
  50. package/components/dropdown/dist/registered.js +198 -13
  51. package/components/form/demo/customize.html +6 -6
  52. package/components/form/demo/customize.js +0 -17
  53. package/components/form/demo/customize.md +51 -125
  54. package/components/form/demo/customize.min.js +1776 -327
  55. package/components/form/demo/getting-started.min.js +1776 -291
  56. package/components/form/demo/index.min.js +1776 -291
  57. package/components/form/demo/registerDemoDeps.min.js +1769 -139
  58. package/components/form/dist/auro-form.d.ts +5 -45
  59. package/components/form/dist/index.js +7 -152
  60. package/components/form/dist/registered.js +7 -152
  61. package/components/input/demo/customize.html +2 -1
  62. package/components/input/demo/customize.min.js +1 -1
  63. package/components/input/demo/getting-started.min.js +1 -1
  64. package/components/input/demo/index.min.js +1 -1
  65. package/components/input/dist/index.js +1 -1
  66. package/components/input/dist/registered.js +1 -1
  67. package/components/radio/demo/customize.min.js +2186 -0
  68. package/components/radio/demo/demo-support.min.js +55807 -0
  69. package/components/radio/demo/getting-started.js +1 -1
  70. package/components/radio/demo/getting-started.md +1 -1
  71. package/components/radio/demo/getting-started.min.js +2205 -0
  72. package/components/radio/demo/index.min.js +1 -1
  73. package/components/radio/dist/index.js +1 -1
  74. package/components/radio/dist/registered.js +1 -1
  75. package/components/select/demo/customize.html +2 -2
  76. package/components/select/demo/customize.min.js +208 -15
  77. package/components/select/demo/getting-started.min.js +208 -15
  78. package/components/select/demo/index.min.js +208 -15
  79. package/components/select/demo/keyboard-behavior.md +1 -0
  80. package/components/select/dist/index.js +208 -15
  81. package/components/select/dist/registered.js +208 -15
  82. package/custom-elements.json +703 -91
  83. package/package.json +2 -2
@@ -128,6 +128,17 @@
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
131
142
  }
132
143
  ],
133
144
  "events": [
@@ -159,6 +170,14 @@
159
170
  },
160
171
  "default": "false",
161
172
  "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"
162
181
  }
163
182
  ],
164
183
  "superclass": {
@@ -4213,6 +4232,26 @@
4213
4232
  }
4214
4233
  }
4215
4234
  },
4235
+ {
4236
+ "kind": "method",
4237
+ "name": "handleKeyDown",
4238
+ "parameters": [
4239
+ {
4240
+ "name": "event",
4241
+ "description": "The keyboard event.",
4242
+ "type": {
4243
+ "text": "KeyboardEvent"
4244
+ }
4245
+ }
4246
+ ],
4247
+ "description": "Handles Enter/Space key on the cell button.",
4248
+ "privacy": "private",
4249
+ "return": {
4250
+ "type": {
4251
+ "text": "void"
4252
+ }
4253
+ }
4254
+ },
4216
4255
  {
4217
4256
  "kind": "method",
4218
4257
  "name": "handleHover",
@@ -4224,6 +4263,51 @@
4224
4263
  }
4225
4264
  }
4226
4265
  },
4266
+ {
4267
+ "kind": "method",
4268
+ "name": "isOutOfRange",
4269
+ "parameters": [
4270
+ {
4271
+ "name": "day",
4272
+ "description": "An object containing the dateFrom and day of month values.",
4273
+ "type": {
4274
+ "text": "Object"
4275
+ }
4276
+ },
4277
+ {
4278
+ "name": "min",
4279
+ "description": "The minimum date value.",
4280
+ "type": {
4281
+ "text": "Number"
4282
+ }
4283
+ },
4284
+ {
4285
+ "name": "max",
4286
+ "description": "The maximum date value.",
4287
+ "type": {
4288
+ "text": "Number"
4289
+ }
4290
+ }
4291
+ ],
4292
+ "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.",
4293
+ "privacy": "private",
4294
+ "return": {
4295
+ "type": {
4296
+ "text": "Boolean"
4297
+ }
4298
+ }
4299
+ },
4300
+ {
4301
+ "kind": "method",
4302
+ "name": "isBlackout",
4303
+ "description": "Checks if the current date is a blackout date (in disabledDays but within range).\nBlackout cells are focusable but not selectable.",
4304
+ "privacy": "private",
4305
+ "return": {
4306
+ "type": {
4307
+ "text": "Boolean"
4308
+ }
4309
+ }
4310
+ },
4227
4311
  {
4228
4312
  "kind": "method",
4229
4313
  "name": "isEnabled",
@@ -4257,7 +4341,7 @@
4257
4341
  }
4258
4342
  }
4259
4343
  ],
4260
- "description": "Checks if the current date is a valid date depending on the min and max values.",
4344
+ "description": "Checks if the current date is a valid date depending on the min and max values.\nSets the disabled attribute for both out-of-range and blackout dates.",
4261
4345
  "privacy": "private",
4262
4346
  "return": {
4263
4347
  "type": {
@@ -4265,6 +4349,39 @@
4265
4349
  }
4266
4350
  }
4267
4351
  },
4352
+ {
4353
+ "kind": "method",
4354
+ "name": "getCellId",
4355
+ "description": "Generates a unique cell ID in the format cell-YYYY-MM-DD.",
4356
+ "privacy": "private",
4357
+ "return": {
4358
+ "type": {
4359
+ "text": "String"
4360
+ }
4361
+ }
4362
+ },
4363
+ {
4364
+ "kind": "method",
4365
+ "name": "getAriaLabel",
4366
+ "description": "Generates a localized aria-label for the cell button using Intl.DateTimeFormat.\nIncludes range position and blackout status.",
4367
+ "privacy": "private",
4368
+ "return": {
4369
+ "type": {
4370
+ "text": "String"
4371
+ }
4372
+ }
4373
+ },
4374
+ {
4375
+ "kind": "method",
4376
+ "name": "getRangePosition",
4377
+ "description": "Determines the range position of this cell relative to the current selection.",
4378
+ "privacy": "private",
4379
+ "return": {
4380
+ "type": {
4381
+ "text": "String|null"
4382
+ }
4383
+ }
4384
+ },
4268
4385
  {
4269
4386
  "kind": "method",
4270
4387
  "name": "isDepartDate",
@@ -4462,6 +4579,20 @@
4462
4579
  }
4463
4580
  }
4464
4581
  },
4582
+ {
4583
+ "kind": "method",
4584
+ "name": "focusButton",
4585
+ "description": "Programmatically focuses the cell's interactive button element.",
4586
+ "return": {
4587
+ "type": {
4588
+ "text": "void"
4589
+ }
4590
+ }
4591
+ },
4592
+ {
4593
+ "kind": "method",
4594
+ "name": "renderCellButton"
4595
+ },
4465
4596
  {
4466
4597
  "kind": "field",
4467
4598
  "name": "day",
@@ -4611,6 +4742,27 @@
4611
4742
  "default": "false",
4612
4743
  "attribute": "renderForDateSlot"
4613
4744
  },
4745
+ {
4746
+ "kind": "field",
4747
+ "name": "active",
4748
+ "privacy": "public",
4749
+ "type": {
4750
+ "text": "boolean"
4751
+ },
4752
+ "default": "false",
4753
+ "attribute": "active",
4754
+ "reflects": true
4755
+ },
4756
+ {
4757
+ "kind": "field",
4758
+ "name": "hasPopoverContent",
4759
+ "privacy": "public",
4760
+ "type": {
4761
+ "text": "boolean"
4762
+ },
4763
+ "default": "false",
4764
+ "attribute": "hasPopoverContent"
4765
+ },
4614
4766
  {
4615
4767
  "kind": "field",
4616
4768
  "name": "runtimeUtils",
@@ -4622,6 +4774,12 @@
4622
4774
  }
4623
4775
  ],
4624
4776
  "events": [
4777
+ {
4778
+ "name": "calendar-cell-activate",
4779
+ "type": {
4780
+ "text": "CustomEvent"
4781
+ }
4782
+ },
4625
4783
  {
4626
4784
  "name": "date-is-hovered",
4627
4785
  "type": {
@@ -4748,6 +4906,22 @@
4748
4906
  },
4749
4907
  "default": "false",
4750
4908
  "fieldName": "renderForDateSlot"
4909
+ },
4910
+ {
4911
+ "name": "active",
4912
+ "type": {
4913
+ "text": "boolean"
4914
+ },
4915
+ "default": "false",
4916
+ "fieldName": "active"
4917
+ },
4918
+ {
4919
+ "name": "hasPopoverContent",
4920
+ "type": {
4921
+ "text": "boolean"
4922
+ },
4923
+ "default": "false",
4924
+ "fieldName": "hasPopoverContent"
4751
4925
  }
4752
4926
  ],
4753
4927
  "superclass": {
@@ -4806,10 +4980,78 @@
4806
4980
  }
4807
4981
  }
4808
4982
  },
4983
+ {
4984
+ "kind": "method",
4985
+ "name": "getHeadingId",
4986
+ "description": "Returns the unique heading ID for this month, used by aria-labelledby.",
4987
+ "privacy": "private",
4988
+ "return": {
4989
+ "type": {
4990
+ "text": "String"
4991
+ }
4992
+ }
4993
+ },
4809
4994
  {
4810
4995
  "kind": "method",
4811
4996
  "name": "localeChanged",
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.",
4997
+ "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.",
4998
+ "privacy": "private",
4999
+ "return": {
5000
+ "type": {
5001
+ "text": "void"
5002
+ }
5003
+ }
5004
+ },
5005
+ {
5006
+ "kind": "method",
5007
+ "name": "renderDayOfWeek",
5008
+ "parameters": [
5009
+ {
5010
+ "name": "dayOfWeek",
5011
+ "description": "The short day name.",
5012
+ "type": {
5013
+ "text": "String"
5014
+ }
5015
+ },
5016
+ {
5017
+ "name": "index",
5018
+ "description": "The index in the dayNamesOfTheWeek array.",
5019
+ "type": {
5020
+ "text": "Number"
5021
+ }
5022
+ }
5023
+ ],
5024
+ "description": "Renders a day-of-week header with abbr attribute for the full day name.",
5025
+ "privacy": "private",
5026
+ "return": {
5027
+ "type": {
5028
+ "text": "Object"
5029
+ }
5030
+ }
5031
+ },
5032
+ {
5033
+ "kind": "method",
5034
+ "name": "getFocusableCells",
5035
+ "description": "Returns all focusable cell elements (enabled + blackout, not out-of-range) in this month.",
5036
+ "return": {
5037
+ "type": {
5038
+ "text": "Array"
5039
+ }
5040
+ }
5041
+ },
5042
+ {
5043
+ "kind": "method",
5044
+ "name": "handleGridKeyDown",
5045
+ "parameters": [
5046
+ {
5047
+ "name": "event",
5048
+ "description": "The keyboard event.",
5049
+ "type": {
5050
+ "text": "KeyboardEvent"
5051
+ }
5052
+ }
5053
+ ],
5054
+ "description": "Handles arrow key navigation within the month grid.\nDispatches a cross-month navigation event when the boundary is reached.",
4813
5055
  "privacy": "private",
4814
5056
  "return": {
4815
5057
  "type": {
@@ -4817,6 +5059,15 @@
4817
5059
  }
4818
5060
  }
4819
5061
  },
5062
+ {
5063
+ "kind": "method",
5064
+ "name": "renderWeek",
5065
+ "parameters": [
5066
+ {
5067
+ "name": "week"
5068
+ }
5069
+ ]
5070
+ },
4820
5071
  {
4821
5072
  "kind": "method",
4822
5073
  "name": "renderDay",
@@ -4837,6 +5088,20 @@
4837
5088
  "reflects": true
4838
5089
  }
4839
5090
  ],
5091
+ "events": [
5092
+ {
5093
+ "name": "calendar-month-boundary",
5094
+ "type": {
5095
+ "text": "CustomEvent"
5096
+ }
5097
+ },
5098
+ {
5099
+ "name": "calendar-cell-activate",
5100
+ "type": {
5101
+ "text": "CustomEvent"
5102
+ }
5103
+ }
5104
+ ],
4840
5105
  "attributes": [
4841
5106
  {
4842
5107
  "name": "monthFirst",
@@ -4904,6 +5169,17 @@
4904
5169
  }
4905
5170
  }
4906
5171
  },
5172
+ {
5173
+ "kind": "method",
5174
+ "name": "announceMonthChange",
5175
+ "description": "Announces the current month and year via the live region after navigation.",
5176
+ "privacy": "private",
5177
+ "return": {
5178
+ "type": {
5179
+ "text": "void"
5180
+ }
5181
+ }
5182
+ },
4907
5183
  {
4908
5184
  "kind": "method",
4909
5185
  "name": "renderAllCalendars",
@@ -4946,31 +5222,184 @@
4946
5222
  },
4947
5223
  {
4948
5224
  "kind": "method",
4949
- "name": "injectSlot",
4950
- "parameters": [
4951
- {
4952
- "name": "slotName"
4953
- },
4954
- {
4955
- "name": "nodes"
4956
- }
4957
- ]
4958
- },
4959
- {
4960
- "kind": "field",
4961
- "name": "util",
5225
+ "name": "getMonthComponents",
5226
+ "description": "Gets all rendered month components.",
4962
5227
  "privacy": "private",
4963
- "default": "new AuroDatepickerUtilities()"
5228
+ "return": {
5229
+ "type": {
5230
+ "text": "Array"
5231
+ }
5232
+ }
4964
5233
  },
4965
5234
  {
4966
- "kind": "field",
4967
- "name": "utilCal",
5235
+ "kind": "method",
5236
+ "name": "getAllFocusableCells",
5237
+ "description": "Gets all focusable cells across all rendered months.",
4968
5238
  "privacy": "private",
4969
- "default": "new CalendarUtilities()"
5239
+ "return": {
5240
+ "type": {
5241
+ "text": "Array"
5242
+ }
5243
+ }
4970
5244
  },
4971
5245
  {
4972
- "kind": "field",
4973
- "name": "utilCalRender",
5246
+ "kind": "method",
5247
+ "name": "setActiveCell",
5248
+ "parameters": [
5249
+ {
5250
+ "name": "date",
5251
+ "description": "Unix timestamp of the cell to activate.",
5252
+ "type": {
5253
+ "text": "Number"
5254
+ }
5255
+ }
5256
+ ],
5257
+ "description": "Sets the active cell across all months. Only one cell has tabindex=\"0\" at a time.",
5258
+ "return": {
5259
+ "type": {
5260
+ "text": "void"
5261
+ }
5262
+ }
5263
+ },
5264
+ {
5265
+ "kind": "method",
5266
+ "name": "focusActiveCell",
5267
+ "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.",
5268
+ "return": {
5269
+ "type": {
5270
+ "text": "void"
5271
+ }
5272
+ }
5273
+ },
5274
+ {
5275
+ "kind": "method",
5276
+ "name": "computeActiveDate",
5277
+ "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",
5278
+ "privacy": "private",
5279
+ "return": {
5280
+ "type": {
5281
+ "text": "Number|undefined"
5282
+ }
5283
+ }
5284
+ },
5285
+ {
5286
+ "kind": "method",
5287
+ "name": "handleMonthBoundary",
5288
+ "parameters": [
5289
+ {
5290
+ "name": "event",
5291
+ "description": "The boundary event with direction and source date info.",
5292
+ "type": {
5293
+ "text": "CustomEvent"
5294
+ }
5295
+ }
5296
+ ],
5297
+ "description": "Handles cross-month boundary navigation events from month components.",
5298
+ "privacy": "private",
5299
+ "return": {
5300
+ "type": {
5301
+ "text": "void"
5302
+ }
5303
+ }
5304
+ },
5305
+ {
5306
+ "kind": "method",
5307
+ "name": "handleCellActivate",
5308
+ "parameters": [
5309
+ {
5310
+ "name": "event",
5311
+ "description": "The activation event with target date.",
5312
+ "type": {
5313
+ "text": "CustomEvent"
5314
+ }
5315
+ }
5316
+ ],
5317
+ "description": "Handles cell activation events from month components.",
5318
+ "privacy": "private",
5319
+ "return": {
5320
+ "type": {
5321
+ "text": "void"
5322
+ }
5323
+ }
5324
+ },
5325
+ {
5326
+ "kind": "method",
5327
+ "name": "scrollToActiveCell",
5328
+ "description": "Scrolls the calendar to ensure the month containing the active cell is visible.",
5329
+ "privacy": "private",
5330
+ "return": {
5331
+ "type": {
5332
+ "text": "void"
5333
+ }
5334
+ }
5335
+ },
5336
+ {
5337
+ "kind": "method",
5338
+ "name": "announceSelection",
5339
+ "parameters": [
5340
+ {
5341
+ "name": "dateStr",
5342
+ "description": "The localized date string to announce.",
5343
+ "type": {
5344
+ "text": "String"
5345
+ }
5346
+ }
5347
+ ],
5348
+ "description": "Announces a date selection via the live region.",
5349
+ "privacy": "private",
5350
+ "return": {
5351
+ "type": {
5352
+ "text": "void"
5353
+ }
5354
+ }
5355
+ },
5356
+ {
5357
+ "kind": "method",
5358
+ "name": "formatAnnouncementDate",
5359
+ "parameters": [
5360
+ {
5361
+ "name": "timestamp",
5362
+ "description": "Unix timestamp in seconds.",
5363
+ "type": {
5364
+ "text": "String|Number"
5365
+ }
5366
+ }
5367
+ ],
5368
+ "description": "Formats a Unix timestamp (seconds) as a localized date string for SR announcements.",
5369
+ "privacy": "private",
5370
+ "return": {
5371
+ "type": {
5372
+ "text": "String"
5373
+ }
5374
+ }
5375
+ },
5376
+ {
5377
+ "kind": "method",
5378
+ "name": "injectSlot",
5379
+ "parameters": [
5380
+ {
5381
+ "name": "slotName"
5382
+ },
5383
+ {
5384
+ "name": "nodes"
5385
+ }
5386
+ ]
5387
+ },
5388
+ {
5389
+ "kind": "field",
5390
+ "name": "util",
5391
+ "privacy": "private",
5392
+ "default": "new AuroDatepickerUtilities()"
5393
+ },
5394
+ {
5395
+ "kind": "field",
5396
+ "name": "utilCal",
5397
+ "privacy": "private",
5398
+ "default": "new CalendarUtilities()"
5399
+ },
5400
+ {
5401
+ "kind": "field",
5402
+ "name": "utilCalRender",
4974
5403
  "privacy": "private",
4975
5404
  "default": "new UtilitiesCalendarRender()"
4976
5405
  },
@@ -5047,6 +5476,16 @@
5047
5476
  "attribute": "isFullscreen",
5048
5477
  "reflects": true
5049
5478
  },
5479
+ {
5480
+ "kind": "field",
5481
+ "name": "activeCellDate",
5482
+ "type": {
5483
+ "text": "null"
5484
+ },
5485
+ "description": "The date of the currently active cell (Unix timestamp).\nOnly one cell across the entire calendar has tabindex=\"0\" at a time.",
5486
+ "privacy": "private",
5487
+ "default": "null"
5488
+ },
5050
5489
  {
5051
5490
  "kind": "field",
5052
5491
  "name": "firstMonthRenderable",
@@ -5671,6 +6110,17 @@
5671
6110
  }
5672
6111
  }
5673
6112
  },
6113
+ {
6114
+ "kind": "method",
6115
+ "name": "focusActiveCellWhenReady",
6116
+ "description": "Attempts to focus the active calendar cell using a rAF retry loop.\nShared by both fullscreen and desktop open paths.",
6117
+ "privacy": "private",
6118
+ "return": {
6119
+ "type": {
6120
+ "text": "void"
6121
+ }
6122
+ }
6123
+ },
5674
6124
  {
5675
6125
  "kind": "method",
5676
6126
  "name": "configureDropdown",
@@ -6151,6 +6601,114 @@
6151
6601
  "attribute": "range",
6152
6602
  "reflects": true
6153
6603
  },
6604
+ {
6605
+ "kind": "field",
6606
+ "name": "rangeLabelStart",
6607
+ "privacy": "public",
6608
+ "type": {
6609
+ "text": "string"
6610
+ },
6611
+ "description": "Label announced for the range start date cell.",
6612
+ "default": "'range start'",
6613
+ "attribute": "rangeLabelStart",
6614
+ "reflects": true
6615
+ },
6616
+ {
6617
+ "kind": "field",
6618
+ "name": "rangeLabelEnd",
6619
+ "privacy": "public",
6620
+ "type": {
6621
+ "text": "string"
6622
+ },
6623
+ "description": "Label announced for the range end date cell.",
6624
+ "default": "'range end'",
6625
+ "attribute": "rangeLabelEnd",
6626
+ "reflects": true
6627
+ },
6628
+ {
6629
+ "kind": "field",
6630
+ "name": "rangeLabelBeforeRange",
6631
+ "privacy": "public",
6632
+ "type": {
6633
+ "text": "string"
6634
+ },
6635
+ "description": "Label announced for cells before the range start.",
6636
+ "default": "'before range'",
6637
+ "attribute": "rangeLabelBeforeRange",
6638
+ "reflects": true
6639
+ },
6640
+ {
6641
+ "kind": "field",
6642
+ "name": "rangeLabelInRange",
6643
+ "privacy": "public",
6644
+ "type": {
6645
+ "text": "string"
6646
+ },
6647
+ "description": "Label announced for cells within the selected range.",
6648
+ "default": "'in range'",
6649
+ "attribute": "rangeLabelInRange",
6650
+ "reflects": true
6651
+ },
6652
+ {
6653
+ "kind": "field",
6654
+ "name": "rangeLabelAfterRange",
6655
+ "privacy": "public",
6656
+ "type": {
6657
+ "text": "string"
6658
+ },
6659
+ "description": "Label announced for cells after the range (or after start when no end is selected).",
6660
+ "default": "'after range'",
6661
+ "attribute": "rangeLabelAfterRange",
6662
+ "reflects": true
6663
+ },
6664
+ {
6665
+ "kind": "field",
6666
+ "name": "blackoutDates",
6667
+ "privacy": "public",
6668
+ "type": {
6669
+ "text": "array"
6670
+ },
6671
+ "description": "Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).",
6672
+ "default": "[]",
6673
+ "attribute": "blackoutDates",
6674
+ "reflects": true
6675
+ },
6676
+ {
6677
+ "kind": "field",
6678
+ "name": "blackoutLabel",
6679
+ "privacy": "public",
6680
+ "type": {
6681
+ "text": "string"
6682
+ },
6683
+ "description": "Label announced for blackout (disabled but in-range) date cells.",
6684
+ "default": "'unavailable'",
6685
+ "attribute": "blackoutLabel",
6686
+ "reflects": true
6687
+ },
6688
+ {
6689
+ "kind": "field",
6690
+ "name": "navLabelPrevMonth",
6691
+ "privacy": "public",
6692
+ "type": {
6693
+ "text": "string"
6694
+ },
6695
+ "description": "Accessible label for the previous month navigation button.",
6696
+ "default": "'Previous month'",
6697
+ "attribute": "navLabelPrevMonth",
6698
+ "reflects": true
6699
+ },
6700
+ {
6701
+ "kind": "field",
6702
+ "name": "navLabelNextMonth",
6703
+ "privacy": "public",
6704
+ "type": {
6705
+ "text": "string"
6706
+ },
6707
+ "description": "Accessible label for the next month navigation button.",
6708
+ "default": "'Next month'",
6709
+ "attribute": "navLabelNextMonth",
6710
+ "reflects": true
6711
+ },
6154
6712
  {
6155
6713
  "kind": "field",
6156
6714
  "name": "stacked",
@@ -6980,6 +7538,87 @@
6980
7538
  "default": "false",
6981
7539
  "fieldName": "range"
6982
7540
  },
7541
+ {
7542
+ "name": "rangeLabelStart",
7543
+ "type": {
7544
+ "text": "string"
7545
+ },
7546
+ "description": "Label announced for the range start date cell.",
7547
+ "default": "'range start'",
7548
+ "fieldName": "rangeLabelStart"
7549
+ },
7550
+ {
7551
+ "name": "rangeLabelEnd",
7552
+ "type": {
7553
+ "text": "string"
7554
+ },
7555
+ "description": "Label announced for the range end date cell.",
7556
+ "default": "'range end'",
7557
+ "fieldName": "rangeLabelEnd"
7558
+ },
7559
+ {
7560
+ "name": "rangeLabelBeforeRange",
7561
+ "type": {
7562
+ "text": "string"
7563
+ },
7564
+ "description": "Label announced for cells before the range start.",
7565
+ "default": "'before range'",
7566
+ "fieldName": "rangeLabelBeforeRange"
7567
+ },
7568
+ {
7569
+ "name": "rangeLabelInRange",
7570
+ "type": {
7571
+ "text": "string"
7572
+ },
7573
+ "description": "Label announced for cells within the selected range.",
7574
+ "default": "'in range'",
7575
+ "fieldName": "rangeLabelInRange"
7576
+ },
7577
+ {
7578
+ "name": "rangeLabelAfterRange",
7579
+ "type": {
7580
+ "text": "string"
7581
+ },
7582
+ "description": "Label announced for cells after the range (or after start when no end is selected).",
7583
+ "default": "'after range'",
7584
+ "fieldName": "rangeLabelAfterRange"
7585
+ },
7586
+ {
7587
+ "name": "blackoutDates",
7588
+ "type": {
7589
+ "text": "array"
7590
+ },
7591
+ "description": "Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD).",
7592
+ "default": "[]",
7593
+ "fieldName": "blackoutDates"
7594
+ },
7595
+ {
7596
+ "name": "blackoutLabel",
7597
+ "type": {
7598
+ "text": "string"
7599
+ },
7600
+ "description": "Label announced for blackout (disabled but in-range) date cells.",
7601
+ "default": "'unavailable'",
7602
+ "fieldName": "blackoutLabel"
7603
+ },
7604
+ {
7605
+ "name": "navLabelPrevMonth",
7606
+ "type": {
7607
+ "text": "string"
7608
+ },
7609
+ "description": "Accessible label for the previous month navigation button.",
7610
+ "default": "'Previous month'",
7611
+ "fieldName": "navLabelPrevMonth"
7612
+ },
7613
+ {
7614
+ "name": "navLabelNextMonth",
7615
+ "type": {
7616
+ "text": "string"
7617
+ },
7618
+ "description": "Accessible label for the next month navigation button.",
7619
+ "default": "'Next month'",
7620
+ "fieldName": "navLabelNextMonth"
7621
+ },
6983
7622
  {
6984
7623
  "name": "referenceDates",
6985
7624
  "type": {
@@ -7151,7 +7790,7 @@
7151
7790
  "type": {
7152
7791
  "text": "object"
7153
7792
  },
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(); }, }"
7793
+ "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; } // Prevent the space character from being typed into the input. evt.preventDefault(); component.dropdown.show(); }, ' '(component, evt, ctx) { if (ctx.isExpanded) { return; } // Prevent the space character from being typed into the input. evt.preventDefault(); component.dropdown.show(); }, }"
7155
7794
  }
7156
7795
  ],
7157
7796
  "exports": [
@@ -8005,6 +8644,29 @@
8005
8644
  "name": "updateFocusTrap",
8006
8645
  "privacy": "private"
8007
8646
  },
8647
+ {
8648
+ "kind": "method",
8649
+ "name": "_getActiveElements",
8650
+ "description": "Returns the chain of active (focused) elements through shadow roots.",
8651
+ "privacy": "private",
8652
+ "return": {
8653
+ "type": {
8654
+ "text": "Array<HTMLElement>"
8655
+ }
8656
+ }
8657
+ },
8658
+ {
8659
+ "kind": "method",
8660
+ "name": "_setPageInert",
8661
+ "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 that element's siblings.",
8662
+ "privacy": "private"
8663
+ },
8664
+ {
8665
+ "kind": "method",
8666
+ "name": "_clearPageInert",
8667
+ "description": "Restores `inert` state on siblings that were made inert by `_setPageInert`.",
8668
+ "privacy": "private"
8669
+ },
8008
8670
  {
8009
8671
  "kind": "method",
8010
8672
  "name": "handleFocusout",
@@ -8311,6 +8973,17 @@
8311
8973
  "attribute": "autoPlacement",
8312
8974
  "reflects": true
8313
8975
  },
8976
+ {
8977
+ "kind": "field",
8978
+ "name": "desktopModal",
8979
+ "privacy": "public",
8980
+ "type": {
8981
+ "text": "boolean"
8982
+ },
8983
+ "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
8984
+ "attribute": "desktopModal",
8985
+ "reflects": true
8986
+ },
8314
8987
  {
8315
8988
  "kind": "field",
8316
8989
  "name": "disableEventShow",
@@ -8617,6 +9290,14 @@
8617
9290
  "description": "If declared, bib's position will be automatically calculated where to appear.",
8618
9291
  "fieldName": "autoPlacement"
8619
9292
  },
9293
+ {
9294
+ "name": "desktopModal",
9295
+ "type": {
9296
+ "text": "boolean"
9297
+ },
9298
+ "description": "If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.",
9299
+ "fieldName": "desktopModal"
9300
+ },
8620
9301
  {
8621
9302
  "name": "disableEventShow",
8622
9303
  "type": {
@@ -9355,46 +10036,6 @@
9355
10036
  },
9356
10037
  "privacy": "private"
9357
10038
  },
9358
- {
9359
- "kind": "method",
9360
- "name": "_isDisabled",
9361
- "parameters": [
9362
- {
9363
- "name": "element",
9364
- "description": "The element to check.",
9365
- "type": {
9366
- "text": "HTMLElement | undefined | null"
9367
- }
9368
- }
9369
- ],
9370
- "description": "Whether a given element is currently disabled. Disabled controls are excluded\nfrom submission, validity, and initial-state checks (per the HTML spec).\n\nImplementation note: we deliberately read only the attribute. Every Auro\nform element in `formElementTags` declares `disabled` with `reflect: true`,\nso the attribute and property stay in sync. Reading the attribute also\nlets the MutationObserver in `connectedCallback` (which is filtered to\n`['disabled', 'name']`) be the single source of truth for re-renders.\nIf a future form-element type ships without attribute reflection, expand\nthis helper to also read `element.disabled`.",
9371
- "return": {
9372
- "type": {
9373
- "text": "boolean"
9374
- }
9375
- },
9376
- "privacy": "private"
9377
- },
9378
- {
9379
- "kind": "method",
9380
- "name": "_isNameDisabled",
9381
- "parameters": [
9382
- {
9383
- "name": "name",
9384
- "description": "The `name` attribute used to register the element.",
9385
- "type": {
9386
- "text": "string"
9387
- }
9388
- }
9389
- ],
9390
- "description": "Whether the tracked form element registered under `name` is currently disabled.\n\nPerformance note: this is called once per `formState` key per read of\n`value` / `validity` / `isInitialState`, producing O(n²) work where n is\nthe number of tracked fields. Acceptable for typical forms (< ~50 fields).\nFor larger forms, a future refactor should store disabled state on each\n`formState` entry and update it from the attribute observer instead.",
9391
- "return": {
9392
- "type": {
9393
- "text": "boolean"
9394
- }
9395
- },
9396
- "privacy": "private"
9397
- },
9398
10039
  {
9399
10040
  "kind": "method",
9400
10041
  "name": "_eventIsValidFormEvent",
@@ -9656,26 +10297,6 @@
9656
10297
  },
9657
10298
  "privacy": "private"
9658
10299
  },
9659
- {
9660
- "kind": "method",
9661
- "name": "_handleAttributeMutations",
9662
- "parameters": [
9663
- {
9664
- "name": "mutations",
9665
- "description": "The batched mutation records.",
9666
- "type": {
9667
- "text": "MutationRecord[]"
9668
- }
9669
- }
9670
- ],
9671
- "description": "Handle batched MutationObserver records for `disabled` and `name`\nattribute changes on tracked form elements. A `name` change invalidates\nthe formState keying — we resolve it by re-initializing state. A `disabled`\nchange simply needs a re-render (so `value` / `validity` getters re-evaluate)\nand a refresh of the submit/reset button enablement.",
9672
- "return": {
9673
- "type": {
9674
- "text": "void"
9675
- }
9676
- },
9677
- "privacy": "private"
9678
- },
9679
10300
  {
9680
10301
  "kind": "method",
9681
10302
  "name": "mutationEventListener",
@@ -9769,15 +10390,6 @@
9769
10390
  },
9770
10391
  "privacy": "private",
9771
10392
  "default": "[]"
9772
- },
9773
- {
9774
- "kind": "field",
9775
- "name": "_attributeObserver",
9776
- "type": {
9777
- "text": "MutationObserver | null"
9778
- },
9779
- "privacy": "private",
9780
- "default": "null"
9781
10393
  }
9782
10394
  ],
9783
10395
  "events": [