@aurodesignsystem-dev/auro-formkit 0.0.0-pr1510.2 → 0.0.0-pr1511.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.
- package/components/checkbox/demo/customize.js +22 -0
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/demo-support.js +1 -0
- package/components/checkbox/demo/getting-started.js +22 -0
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.js +8 -0
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/demo/styles.scss +1 -0
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.js +24 -0
- package/components/combobox/demo/customize.min.js +4 -3
- package/components/combobox/demo/demo-support.js +1 -0
- package/components/combobox/demo/getting-started.js +21 -0
- package/components/combobox/demo/getting-started.min.js +4 -3
- package/components/combobox/demo/index.js +23 -0
- package/components/combobox/demo/index.min.js +4 -3
- package/components/combobox/demo/styles.scss +1 -0
- package/components/combobox/dist/index.js +4 -3
- package/components/combobox/dist/registered.js +4 -3
- package/components/counter/demo/customize.js +21 -0
- package/components/counter/demo/customize.min.js +3 -2
- package/components/counter/demo/demo-support.js +1 -0
- package/components/counter/demo/index.js +21 -0
- package/components/counter/demo/index.min.js +3 -2
- package/components/counter/demo/styles.scss +1 -0
- package/components/counter/dist/index.js +3 -2
- package/components/counter/dist/registered.js +3 -2
- package/components/datepicker/demo/accessibility.md +1 -2
- package/components/datepicker/demo/api.md +62 -63
- package/components/datepicker/demo/customize.js +17 -0
- package/components/datepicker/demo/customize.md +1 -12
- package/components/datepicker/demo/customize.min.js +207 -601
- package/components/datepicker/demo/demo-support.js +1 -0
- package/components/datepicker/demo/index.js +23 -0
- package/components/datepicker/demo/index.min.js +207 -601
- package/components/datepicker/demo/styles.scss +1 -0
- package/components/datepicker/dist/index.js +207 -601
- package/components/datepicker/dist/registered.js +207 -601
- package/components/datepicker/dist/{auro-calendar-cell.d.ts → src/auro-calendar-cell.d.ts} +3 -14
- package/components/datepicker/dist/{auro-calendar.d.ts → src/auro-calendar.d.ts} +6 -90
- package/components/datepicker/dist/{auro-datepicker.d.ts → src/auro-datepicker.d.ts} +5 -78
- package/components/dropdown/demo/customize.js +9 -0
- package/components/dropdown/demo/customize.min.js +2 -1
- package/components/dropdown/demo/demo-support.js +1 -0
- package/components/dropdown/demo/getting-started.js +9 -0
- package/components/dropdown/demo/getting-started.min.js +2 -1
- package/components/dropdown/demo/index.js +16 -0
- package/components/dropdown/demo/index.min.js +2 -1
- package/components/dropdown/demo/styles.scss +1 -0
- package/components/dropdown/dist/index.js +2 -1
- package/components/dropdown/dist/registered.js +2 -1
- package/components/form/demo/customize.js +28 -0
- package/components/form/demo/customize.min.js +355 -670
- package/components/form/demo/demo-support.js +1 -0
- package/components/form/demo/getting-started.js +9 -0
- package/components/form/demo/getting-started.min.js +355 -670
- package/components/form/demo/index.js +5 -0
- package/components/form/demo/index.min.js +355 -670
- package/components/form/demo/registerDemoDeps.js +23 -0
- package/components/form/demo/registerDemoDeps.min.js +355 -670
- package/components/form/demo/styles.scss +1 -0
- package/components/input/demo/customize.js +25 -0
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/demo-support.js +1 -0
- package/components/input/demo/getting-started.js +8 -0
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.js +8 -0
- package/components/input/demo/index.min.js +1 -1
- package/components/input/demo/styles.css +974 -0
- package/components/input/demo/styles.scss +1 -0
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/demo-support.js +1 -0
- package/components/menu/demo/index.js +25 -0
- package/components/menu/demo/styles.scss +1 -0
- package/components/radio/demo/customize.js +22 -0
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/demo-support.js +1 -0
- package/components/radio/demo/getting-started.js +24 -0
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.js +8 -0
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/demo/styles.scss +1 -0
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.js +11 -0
- package/components/select/demo/customize.min.js +132 -55
- package/components/select/demo/demo-support.js +1 -0
- package/components/select/demo/getting-started.js +26 -0
- package/components/select/demo/getting-started.min.js +132 -55
- package/components/select/demo/index.js +11 -0
- package/components/select/demo/index.min.js +132 -55
- package/components/select/demo/keyboard-behavior.md +18 -4
- package/components/select/demo/styles.scss +1 -0
- package/components/select/dist/auro-select.d.ts +20 -8
- package/components/select/dist/index.js +132 -55
- package/components/select/dist/registered.js +132 -55
- package/custom-elements.json +25 -311
- package/package.json +2 -6
- package/components/datepicker/dist/blackoutUtils.d.ts +0 -43
- /package/components/datepicker/dist/{auro-calendar-month.d.ts → src/auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{buttonVersion.d.ts → src/buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{datepickerKeyboardStrategy.d.ts → src/datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{iconVersion.d.ts → src/iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/components/datepicker/dist/{popoverVersion.d.ts → src/popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{styles → src/styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{utilities.d.ts → src/utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendar.d.ts → src/utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{utilitiesCalendarRender.d.ts → src/utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{vendor → src/vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
package/custom-elements.json
CHANGED
|
@@ -4577,7 +4577,7 @@
|
|
|
4577
4577
|
{
|
|
4578
4578
|
"kind": "method",
|
|
4579
4579
|
"name": "updateHostAria",
|
|
4580
|
-
"description": "
|
|
4580
|
+
"description": "Updates ARIA attributes on the host element so that\nariaActiveDescendantElement can expose cell info to the SR.",
|
|
4581
4581
|
"privacy": "private",
|
|
4582
4582
|
"return": {
|
|
4583
4583
|
"type": {
|
|
@@ -4598,7 +4598,7 @@
|
|
|
4598
4598
|
{
|
|
4599
4599
|
"kind": "method",
|
|
4600
4600
|
"name": "setActive",
|
|
4601
|
-
"description": "Imperatively marks this cell as active without triggering a Lit re-render.\
|
|
4601
|
+
"description": "Imperatively marks this cell as active without triggering a Lit re-render.\nNote: buttons stay tabindex=\"-1\" because the grid uses aria-activedescendant.",
|
|
4602
4602
|
"return": {
|
|
4603
4603
|
"type": {
|
|
4604
4604
|
"text": "void"
|
|
@@ -4743,7 +4743,6 @@
|
|
|
4743
4743
|
"type": {
|
|
4744
4744
|
"text": "array"
|
|
4745
4745
|
},
|
|
4746
|
-
"deprecated": "Propagated from the legacy `auro-calendar.disabledDays`\nUnix-timestamp array. The cell honors it for backward compatibility\n(see the divergence-check fallback inside `isBlackout`), but\nconsumers should migrate to `auro-datepicker.blackoutDates`\n(YYYY-MM-DD ISO strings). The calendar emits a one-time\ndeprecation warning the first time a non-empty value is observed.",
|
|
4747
4746
|
"default": "[]",
|
|
4748
4747
|
"attribute": "disabledDays"
|
|
4749
4748
|
},
|
|
@@ -4903,7 +4902,6 @@
|
|
|
4903
4902
|
"type": {
|
|
4904
4903
|
"text": "array"
|
|
4905
4904
|
},
|
|
4906
|
-
"deprecated": "Propagated from the legacy `auro-calendar.disabledDays`\nUnix-timestamp array. The cell honors it for backward compatibility\n(see the divergence-check fallback inside `isBlackout`), but\nconsumers should migrate to `auro-datepicker.blackoutDates`\n(YYYY-MM-DD ISO strings). The calendar emits a one-time\ndeprecation warning the first time a non-empty value is observed.",
|
|
4907
4905
|
"default": "[]",
|
|
4908
4906
|
"fieldName": "disabledDays"
|
|
4909
4907
|
},
|
|
@@ -5308,26 +5306,6 @@
|
|
|
5308
5306
|
}
|
|
5309
5307
|
}
|
|
5310
5308
|
},
|
|
5311
|
-
{
|
|
5312
|
-
"kind": "method",
|
|
5313
|
-
"name": "_afterMonthRender",
|
|
5314
|
-
"parameters": [
|
|
5315
|
-
{
|
|
5316
|
-
"name": "callback",
|
|
5317
|
-
"description": "Runs once after the month re-render and\nthe cells' button caches have refreshed.",
|
|
5318
|
-
"type": {
|
|
5319
|
-
"text": "() => void"
|
|
5320
|
-
}
|
|
5321
|
-
}
|
|
5322
|
-
],
|
|
5323
|
-
"description": "Schedules `callback` two animation frames out, giving the child\n`auro-formkit-calendar-month` and `auro-formkit-calendar-cell` elements\na full render-and-paint cycle to settle before the callback reads or\nmutates DOM.\n\nWhy two frames, not one:\n1. Lit batches property updates and renders in a microtask, so frame N\n schedules the render but the new DOM may not be painted yet.\n2. Cells re-cache `_cachedButton` inside their own `updateComplete.then`,\n which also lands a tick later. Reading buttons from frame N+1\n (after both renders + cache refresh have flushed) reliably hits the\n new month's cells.\n\nUsed by every code path that calls `handleNextMonth`/`handlePrevMonth`\nand then needs to inspect the freshly-rendered cells (cross-month\nkeyboard nav, boundary events, `updateActiveCellForVisibleMonth`).\nDo NOT collapse to a single rAF — it intermittently lands before\n`_cachedButton` is refreshed, which silently breaks focus restoration\nand `setActiveCell` lookups.",
|
|
5324
|
-
"privacy": "private",
|
|
5325
|
-
"return": {
|
|
5326
|
-
"type": {
|
|
5327
|
-
"text": "void"
|
|
5328
|
-
}
|
|
5329
|
-
}
|
|
5330
|
-
},
|
|
5331
5309
|
{
|
|
5332
5310
|
"kind": "method",
|
|
5333
5311
|
"name": "renderAllCalendars",
|
|
@@ -5379,40 +5357,6 @@
|
|
|
5379
5357
|
}
|
|
5380
5358
|
}
|
|
5381
5359
|
},
|
|
5382
|
-
{
|
|
5383
|
-
"kind": "method",
|
|
5384
|
-
"name": "pickNearestCell",
|
|
5385
|
-
"parameters": [
|
|
5386
|
-
{
|
|
5387
|
-
"name": "cells",
|
|
5388
|
-
"description": "Focusable cells from getAllFocusableCells.",
|
|
5389
|
-
"type": {
|
|
5390
|
-
"text": "Array"
|
|
5391
|
-
}
|
|
5392
|
-
},
|
|
5393
|
-
{
|
|
5394
|
-
"name": "targetTs",
|
|
5395
|
-
"description": "Desired Unix timestamp (seconds).",
|
|
5396
|
-
"type": {
|
|
5397
|
-
"text": "Number"
|
|
5398
|
-
}
|
|
5399
|
-
},
|
|
5400
|
-
{
|
|
5401
|
-
"name": "direction",
|
|
5402
|
-
"description": "Navigation direction.",
|
|
5403
|
-
"type": {
|
|
5404
|
-
"text": "'next'|'prev'"
|
|
5405
|
-
}
|
|
5406
|
-
}
|
|
5407
|
-
],
|
|
5408
|
-
"description": "Picks the focusable cell whose date is closest to targetTs. Used as a\nfallback after a month-boundary nav when the exact target date isn't\nfocusable — typically because the month re-render lagged or the date\nwas filtered out by isOutOfRange. When two cells are equidistant, the\nnavigation direction breaks the tie so the user moves the way they\npressed (forward → later cell, backward → earlier cell).",
|
|
5409
|
-
"privacy": "private",
|
|
5410
|
-
"return": {
|
|
5411
|
-
"type": {
|
|
5412
|
-
"text": "Object|null"
|
|
5413
|
-
}
|
|
5414
|
-
}
|
|
5415
|
-
},
|
|
5416
5360
|
{
|
|
5417
5361
|
"kind": "method",
|
|
5418
5362
|
"name": "getAllFocusableCells",
|
|
@@ -5436,7 +5380,7 @@
|
|
|
5436
5380
|
}
|
|
5437
5381
|
}
|
|
5438
5382
|
],
|
|
5439
|
-
"description": "Sets the active cell across all months. Only one cell has tabindex=\"0\" at a time.\nUses imperative DOM manipulation — no Lit re-render triggered
|
|
5383
|
+
"description": "Sets the active cell across all months. Only one cell has tabindex=\"0\" at a time.\nUses imperative DOM manipulation — no Lit re-render triggered.\nAlso updates ariaActiveDescendantElement on the grid wrapper so\nscreen readers announce the active cell without moving DOM focus.",
|
|
5440
5384
|
"return": {
|
|
5441
5385
|
"type": {
|
|
5442
5386
|
"text": "void"
|
|
@@ -5475,39 +5419,6 @@
|
|
|
5475
5419
|
}
|
|
5476
5420
|
}
|
|
5477
5421
|
},
|
|
5478
|
-
{
|
|
5479
|
-
"kind": "method",
|
|
5480
|
-
"name": "_getBlackoutSet",
|
|
5481
|
-
"description": "Returns a memoized Set of blackout timestamps (seconds) drawn from both\nthe legacy `disabledDays` array and the datepicker's ISO `blackoutDates`.\nThe cache invalidates when either source array's reference changes, which\nmatches Lit's own reactive identity semantics for array properties.",
|
|
5482
|
-
"privacy": "private",
|
|
5483
|
-
"return": {
|
|
5484
|
-
"type": {
|
|
5485
|
-
"text": "Set<Number>"
|
|
5486
|
-
}
|
|
5487
|
-
}
|
|
5488
|
-
},
|
|
5489
|
-
{
|
|
5490
|
-
"kind": "field",
|
|
5491
|
-
"name": "_warnedDisabledDaysDeprecation",
|
|
5492
|
-
"type": {
|
|
5493
|
-
"text": "boolean"
|
|
5494
|
-
},
|
|
5495
|
-
"static": true,
|
|
5496
|
-
"default": "false",
|
|
5497
|
-
"description": "Per-class flag that gates the `disabledDays` deprecation warning so it\nfires exactly once per page no matter how many calendars or rebuild\ncycles encounter the legacy array.",
|
|
5498
|
-
"privacy": "private"
|
|
5499
|
-
},
|
|
5500
|
-
{
|
|
5501
|
-
"kind": "method",
|
|
5502
|
-
"name": "_warnDisabledDaysDeprecated",
|
|
5503
|
-
"description": "One-time `console.debug` directing consumers from the legacy\n`disabledDays` Unix-timestamp API to the ISO `blackoutDates` API. Fires\nthe first time `_getBlackoutSet` rebuilds from a non-empty\n`disabledDays`; subsequent calls (on this or any other AuroCalendar\ninstance on the page) are silent.",
|
|
5504
|
-
"privacy": "private",
|
|
5505
|
-
"return": {
|
|
5506
|
-
"type": {
|
|
5507
|
-
"text": "void"
|
|
5508
|
-
}
|
|
5509
|
-
}
|
|
5510
|
-
},
|
|
5511
5422
|
{
|
|
5512
5423
|
"kind": "method",
|
|
5513
5424
|
"name": "computeActiveDate",
|
|
@@ -5562,7 +5473,7 @@
|
|
|
5562
5473
|
}
|
|
5563
5474
|
}
|
|
5564
5475
|
],
|
|
5565
|
-
"description": "Handles arrow key navigation on the calendar grid wrapper.\nFocus stays on the grid wrapper; only the visual active-cell indicator
|
|
5476
|
+
"description": "Handles arrow key navigation on the calendar grid wrapper.\nFocus stays on the grid wrapper; only ariaActiveDescendantElement\nand the visual active-cell indicator change.",
|
|
5566
5477
|
"privacy": "private",
|
|
5567
5478
|
"return": {
|
|
5568
5479
|
"type": {
|
|
@@ -5682,7 +5593,7 @@
|
|
|
5682
5593
|
}
|
|
5683
5594
|
}
|
|
5684
5595
|
],
|
|
5685
|
-
"description": "Checks whether a given date is a blackout date.
|
|
5596
|
+
"description": "Checks whether a given date is a blackout date.",
|
|
5686
5597
|
"privacy": "private",
|
|
5687
5598
|
"return": {
|
|
5688
5599
|
"type": {
|
|
@@ -5793,33 +5704,6 @@
|
|
|
5793
5704
|
}
|
|
5794
5705
|
}
|
|
5795
5706
|
},
|
|
5796
|
-
{
|
|
5797
|
-
"kind": "method",
|
|
5798
|
-
"name": "_deliverAnnouncement",
|
|
5799
|
-
"parameters": [
|
|
5800
|
-
{
|
|
5801
|
-
"name": "dateStr",
|
|
5802
|
-
"description": "The localized date string to announce.",
|
|
5803
|
-
"type": {
|
|
5804
|
-
"text": "String"
|
|
5805
|
-
}
|
|
5806
|
-
},
|
|
5807
|
-
{
|
|
5808
|
-
"name": "attempts",
|
|
5809
|
-
"description": "Number of prior retry attempts.",
|
|
5810
|
-
"type": {
|
|
5811
|
-
"text": "Number"
|
|
5812
|
-
}
|
|
5813
|
-
}
|
|
5814
|
-
],
|
|
5815
|
-
"description": "Writes `dateStr` to the live region. If the dropdown's dialog hasn't\nmounted yet (so getOrCreateLiveRegion can't attach), retries on the\nnext animation frame up to MAX_LIVE_REGION_RETRIES instead of silently\ndropping the announcement. The retry uses the same `_announceRafId`\nthe double-rAF below uses, so a newer announceSelection call (or\ndisconnectedCallback) cancels any in-flight retry.",
|
|
5816
|
-
"privacy": "private",
|
|
5817
|
-
"return": {
|
|
5818
|
-
"type": {
|
|
5819
|
-
"text": "void"
|
|
5820
|
-
}
|
|
5821
|
-
}
|
|
5822
|
-
},
|
|
5823
5707
|
{
|
|
5824
5708
|
"kind": "method",
|
|
5825
5709
|
"name": "announceFocusDebounced",
|
|
@@ -6004,7 +5888,7 @@
|
|
|
6004
5888
|
"type": {
|
|
6005
5889
|
"text": "array"
|
|
6006
5890
|
},
|
|
6007
|
-
"
|
|
5891
|
+
"description": "Legacy array of disabled-date timestamps.",
|
|
6008
5892
|
"privacy": "private",
|
|
6009
5893
|
"default": "[]"
|
|
6010
5894
|
},
|
|
@@ -6706,13 +6590,13 @@
|
|
|
6706
6590
|
"parameters": [
|
|
6707
6591
|
{
|
|
6708
6592
|
"name": "time",
|
|
6709
|
-
"description": "Unix timestamp
|
|
6593
|
+
"description": "Unix timestamp in seconds.",
|
|
6710
6594
|
"type": {
|
|
6711
6595
|
"text": "number"
|
|
6712
6596
|
}
|
|
6713
6597
|
}
|
|
6714
6598
|
],
|
|
6715
|
-
"description": "Converts a Unix timestamp (seconds) from the
|
|
6599
|
+
"description": "Converts a Unix timestamp (seconds) from the vendor calendar to an ISO date string.",
|
|
6716
6600
|
"privacy": "private",
|
|
6717
6601
|
"return": {
|
|
6718
6602
|
"type": {
|
|
@@ -6988,34 +6872,6 @@
|
|
|
6988
6872
|
},
|
|
6989
6873
|
"readonly": true
|
|
6990
6874
|
},
|
|
6991
|
-
{
|
|
6992
|
-
"kind": "field",
|
|
6993
|
-
"name": "_warnedInvalidLocales",
|
|
6994
|
-
"static": true,
|
|
6995
|
-
"default": "new Set()",
|
|
6996
|
-
"description": "Per-class dedup set used by `_warnInvalidLocale`. Static so the dedup\nspans every datepicker instance on the page; lives on the class (not\nat module scope) so it stays an encapsulated implementation detail of\nthis component and does not interfere with WCA's class-JSDoc\nattachment.",
|
|
6997
|
-
"privacy": "private"
|
|
6998
|
-
},
|
|
6999
|
-
{
|
|
7000
|
-
"kind": "method",
|
|
7001
|
-
"name": "_warnInvalidLocale",
|
|
7002
|
-
"parameters": [
|
|
7003
|
-
{
|
|
7004
|
-
"name": "badLocale",
|
|
7005
|
-
"description": "The locale value that failed.",
|
|
7006
|
-
"type": {
|
|
7007
|
-
"text": "string|undefined"
|
|
7008
|
-
}
|
|
7009
|
-
}
|
|
7010
|
-
],
|
|
7011
|
-
"description": "Logs a one-time `console.debug` when an unsupported locale falls back to\nen-US. Deduped by the offending tag so noisy re-renders that resurface\nthe same bad value stay quiet, but each new bad value still signals so\nconsumers can spot the typo or missing tag.",
|
|
7012
|
-
"privacy": "private",
|
|
7013
|
-
"return": {
|
|
7014
|
-
"type": {
|
|
7015
|
-
"text": "void"
|
|
7016
|
-
}
|
|
7017
|
-
}
|
|
7018
|
-
},
|
|
7019
6875
|
{
|
|
7020
6876
|
"kind": "method",
|
|
7021
6877
|
"name": "handleSlotToSlot",
|
|
@@ -7380,23 +7236,11 @@
|
|
|
7380
7236
|
"type": {
|
|
7381
7237
|
"text": "string"
|
|
7382
7238
|
},
|
|
7383
|
-
"description": "Label announced for cells after
|
|
7239
|
+
"description": "Label announced for cells after the range (or after start when no end is selected).",
|
|
7384
7240
|
"default": "'after range'",
|
|
7385
7241
|
"attribute": "rangeLabelAfterRange",
|
|
7386
7242
|
"reflects": true
|
|
7387
7243
|
},
|
|
7388
|
-
{
|
|
7389
|
-
"kind": "field",
|
|
7390
|
-
"name": "rangeLabelEndPreview",
|
|
7391
|
-
"privacy": "public",
|
|
7392
|
-
"type": {
|
|
7393
|
-
"text": "string"
|
|
7394
|
-
},
|
|
7395
|
-
"description": "Label announced for the focused cell while previewing a range end\n(dateFrom set, dateTo not yet selected). Tells AT users that\npressing Enter would commit this cell as the range end.",
|
|
7396
|
-
"default": "'previewing range end'",
|
|
7397
|
-
"attribute": "rangeLabelEndPreview",
|
|
7398
|
-
"reflects": true
|
|
7399
|
-
},
|
|
7400
7244
|
{
|
|
7401
7245
|
"kind": "field",
|
|
7402
7246
|
"name": "blackoutDates",
|
|
@@ -7736,13 +7580,6 @@
|
|
|
7736
7580
|
"name": "helpTextTag",
|
|
7737
7581
|
"privacy": "private"
|
|
7738
7582
|
},
|
|
7739
|
-
{
|
|
7740
|
-
"kind": "field",
|
|
7741
|
-
"name": "_listenerAbortController",
|
|
7742
|
-
"description": "Single AbortController shared by every listener registered in the\nconfigure* methods. Lets disconnectedCallback tear all of them down\nwith one abort() call.\n\nThe genuine leak risk is the listeners attached to children that can\noutlive the host if they get reparented — `this.dropdown`,\n`this.calendar`, and the inputs inside the dropdown's slot.\nListeners attached to `this` (e.g. focusin/focusout on the host)\nform a self-contained reference graph that the GC can collect with\nthe host anyway, but they share the same signal so the cleanup\npattern stays uniform across all configure* sites.",
|
|
7743
|
-
"privacy": "private",
|
|
7744
|
-
"default": "new AbortController()"
|
|
7745
|
-
},
|
|
7746
7583
|
{
|
|
7747
7584
|
"kind": "field",
|
|
7748
7585
|
"name": "layout",
|
|
@@ -7913,7 +7750,7 @@
|
|
|
7913
7750
|
"type": {
|
|
7914
7751
|
"text": "array"
|
|
7915
7752
|
},
|
|
7916
|
-
"description": "Dates that the user should have for reference as part of their decision
|
|
7753
|
+
"description": "Dates that the user should have for reference as part of their decision making when selecting a date.\nThis should be a JSON string array of ISO date strings (`YYYY-MM-DD`).",
|
|
7917
7754
|
"attribute": "referenceDates",
|
|
7918
7755
|
"reflects": true
|
|
7919
7756
|
},
|
|
@@ -8353,7 +8190,7 @@
|
|
|
8353
8190
|
"type": {
|
|
8354
8191
|
"text": "string"
|
|
8355
8192
|
},
|
|
8356
|
-
"description": "Label announced for cells after
|
|
8193
|
+
"description": "Label announced for cells after the range (or after start when no end is selected).",
|
|
8357
8194
|
"default": "'after range'",
|
|
8358
8195
|
"fieldName": "rangeLabelAfterRange"
|
|
8359
8196
|
},
|
|
@@ -8375,15 +8212,6 @@
|
|
|
8375
8212
|
"default": "'range end'",
|
|
8376
8213
|
"fieldName": "rangeLabelEnd"
|
|
8377
8214
|
},
|
|
8378
|
-
{
|
|
8379
|
-
"name": "rangeLabelEndPreview",
|
|
8380
|
-
"type": {
|
|
8381
|
-
"text": "string"
|
|
8382
|
-
},
|
|
8383
|
-
"description": "Label announced for the focused cell while previewing a range end\n(dateFrom set, dateTo not yet selected). Tells AT users that\npressing Enter would commit this cell as the range end.",
|
|
8384
|
-
"default": "'previewing range end'",
|
|
8385
|
-
"fieldName": "rangeLabelEndPreview"
|
|
8386
|
-
},
|
|
8387
8215
|
{
|
|
8388
8216
|
"name": "rangeLabelInRange",
|
|
8389
8217
|
"type": {
|
|
@@ -8407,7 +8235,7 @@
|
|
|
8407
8235
|
"type": {
|
|
8408
8236
|
"text": "array"
|
|
8409
8237
|
},
|
|
8410
|
-
"description": "Dates that the user should have for reference as part of their decision
|
|
8238
|
+
"description": "Dates that the user should have for reference as part of their decision making when selecting a date.\nThis should be a JSON string array of ISO date strings (`YYYY-MM-DD`).",
|
|
8411
8239
|
"fieldName": "referenceDates"
|
|
8412
8240
|
},
|
|
8413
8241
|
{
|
|
@@ -8557,116 +8385,6 @@
|
|
|
8557
8385
|
}
|
|
8558
8386
|
]
|
|
8559
8387
|
},
|
|
8560
|
-
{
|
|
8561
|
-
"kind": "javascript-module",
|
|
8562
|
-
"path": "components/datepicker/src/blackoutUtils.js",
|
|
8563
|
-
"declarations": [
|
|
8564
|
-
{
|
|
8565
|
-
"kind": "function",
|
|
8566
|
-
"name": "parseIsoToTimestamp",
|
|
8567
|
-
"parameters": [
|
|
8568
|
-
{
|
|
8569
|
-
"name": "isoStr",
|
|
8570
|
-
"description": "Date string in `YYYY-MM-DD` format.",
|
|
8571
|
-
"type": {
|
|
8572
|
-
"text": "string"
|
|
8573
|
-
}
|
|
8574
|
-
}
|
|
8575
|
-
],
|
|
8576
|
-
"description": "Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)\nrepresenting local midnight on that calendar day. Returns `null` for\ninputs that don't parse to a finite timestamp.\n\nUses the `new Date(year, monthIndex, day)` constructor (NOT\n`new Date(isoStr)`) so the result is local-midnight rather than UTC\nmidnight — required to keep the calendar grid aligned with the user's\nlocal calendar day in negative-offset timezones.",
|
|
8577
|
-
"return": {
|
|
8578
|
-
"type": {
|
|
8579
|
-
"text": "number|null"
|
|
8580
|
-
}
|
|
8581
|
-
}
|
|
8582
|
-
},
|
|
8583
|
-
{
|
|
8584
|
-
"kind": "function",
|
|
8585
|
-
"name": "buildBlackoutSet",
|
|
8586
|
-
"parameters": [
|
|
8587
|
-
{
|
|
8588
|
-
"name": "disabledDays",
|
|
8589
|
-
"description": "Legacy timestamp array.",
|
|
8590
|
-
"type": {
|
|
8591
|
-
"text": "Array<string|number>|undefined"
|
|
8592
|
-
}
|
|
8593
|
-
},
|
|
8594
|
-
{
|
|
8595
|
-
"name": "blackoutDates",
|
|
8596
|
-
"description": "ISO `YYYY-MM-DD` array.",
|
|
8597
|
-
"type": {
|
|
8598
|
-
"text": "Array<string>|undefined"
|
|
8599
|
-
}
|
|
8600
|
-
}
|
|
8601
|
-
],
|
|
8602
|
-
"description": "Builds a `Set<number>` of seconds-since-epoch timestamps covering both the\nlegacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`\narray. Use this for O(1) membership checks in hot paths.",
|
|
8603
|
-
"return": {
|
|
8604
|
-
"type": {
|
|
8605
|
-
"text": "Set<number>"
|
|
8606
|
-
}
|
|
8607
|
-
}
|
|
8608
|
-
},
|
|
8609
|
-
{
|
|
8610
|
-
"kind": "function",
|
|
8611
|
-
"name": "isBlackoutTimestamp",
|
|
8612
|
-
"parameters": [
|
|
8613
|
-
{
|
|
8614
|
-
"name": "dateTs",
|
|
8615
|
-
"description": "Unix timestamp (seconds) to test.",
|
|
8616
|
-
"type": {
|
|
8617
|
-
"text": "number"
|
|
8618
|
-
}
|
|
8619
|
-
},
|
|
8620
|
-
{
|
|
8621
|
-
"name": "disabledDays",
|
|
8622
|
-
"description": "Legacy timestamp array.",
|
|
8623
|
-
"type": {
|
|
8624
|
-
"text": "Array<string|number>|undefined"
|
|
8625
|
-
}
|
|
8626
|
-
},
|
|
8627
|
-
{
|
|
8628
|
-
"name": "blackoutDates",
|
|
8629
|
-
"description": "ISO `YYYY-MM-DD` array.",
|
|
8630
|
-
"type": {
|
|
8631
|
-
"text": "Array<string>|undefined"
|
|
8632
|
-
}
|
|
8633
|
-
}
|
|
8634
|
-
],
|
|
8635
|
-
"description": "One-shot membership test for a single timestamp against both blackout\nsources. Allocates a Set on each call; only use this in cold paths\n(e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the\nSet returned from `buildBlackoutSet` and `.has(ts)` directly.",
|
|
8636
|
-
"return": {
|
|
8637
|
-
"type": {
|
|
8638
|
-
"text": "boolean"
|
|
8639
|
-
}
|
|
8640
|
-
}
|
|
8641
|
-
}
|
|
8642
|
-
],
|
|
8643
|
-
"exports": [
|
|
8644
|
-
{
|
|
8645
|
-
"kind": "js",
|
|
8646
|
-
"name": "parseIsoToTimestamp",
|
|
8647
|
-
"declaration": {
|
|
8648
|
-
"name": "parseIsoToTimestamp",
|
|
8649
|
-
"module": "components/datepicker/src/blackoutUtils.js"
|
|
8650
|
-
}
|
|
8651
|
-
},
|
|
8652
|
-
{
|
|
8653
|
-
"kind": "js",
|
|
8654
|
-
"name": "buildBlackoutSet",
|
|
8655
|
-
"declaration": {
|
|
8656
|
-
"name": "buildBlackoutSet",
|
|
8657
|
-
"module": "components/datepicker/src/blackoutUtils.js"
|
|
8658
|
-
}
|
|
8659
|
-
},
|
|
8660
|
-
{
|
|
8661
|
-
"kind": "js",
|
|
8662
|
-
"name": "isBlackoutTimestamp",
|
|
8663
|
-
"declaration": {
|
|
8664
|
-
"name": "isBlackoutTimestamp",
|
|
8665
|
-
"module": "components/datepicker/src/blackoutUtils.js"
|
|
8666
|
-
}
|
|
8667
|
-
}
|
|
8668
|
-
]
|
|
8669
|
-
},
|
|
8670
8388
|
{
|
|
8671
8389
|
"kind": "javascript-module",
|
|
8672
8390
|
"path": "components/datepicker/src/buttonVersion.js",
|
|
@@ -18917,6 +18635,18 @@
|
|
|
18917
18635
|
}
|
|
18918
18636
|
}
|
|
18919
18637
|
},
|
|
18638
|
+
{
|
|
18639
|
+
"kind": "method",
|
|
18640
|
+
"name": "_syncLabelText",
|
|
18641
|
+
"description": "Reads the current label slot text and pushes it to the dropdown bib\n(for dialog naming) and the menu (for listbox aria-label). Safe to call\nbefore either child has been wired up — each branch self-guards.",
|
|
18642
|
+
"privacy": "private"
|
|
18643
|
+
},
|
|
18644
|
+
{
|
|
18645
|
+
"kind": "method",
|
|
18646
|
+
"name": "_observeLabelChanges",
|
|
18647
|
+
"description": "Keeps the dialog/menu accessible names in sync when consumers mutate the\nlabel slot at runtime (e.g., i18n locale swap). `slotchange` alone is\ninsufficient — it doesn't fire when textContent of an already-assigned\nslotted node changes, which is the common case. We scope the observer to\nthe label node itself (not the whole host subtree) so option-content\nmutations don't trigger label re-syncs, and re-target on `slotchange`\nwhen consumers add or replace the label element.",
|
|
18648
|
+
"privacy": "private"
|
|
18649
|
+
},
|
|
18920
18650
|
{
|
|
18921
18651
|
"kind": "method",
|
|
18922
18652
|
"name": "register",
|
|
@@ -19635,15 +19365,6 @@
|
|
|
19635
19365
|
"module": "components/layoutElement/src/auroElement.js"
|
|
19636
19366
|
}
|
|
19637
19367
|
},
|
|
19638
|
-
{
|
|
19639
|
-
"kind": "field",
|
|
19640
|
-
"name": "options",
|
|
19641
|
-
"privacy": "private",
|
|
19642
|
-
"type": {
|
|
19643
|
-
"text": "array"
|
|
19644
|
-
},
|
|
19645
|
-
"attribute": "options"
|
|
19646
|
-
},
|
|
19647
19368
|
{
|
|
19648
19369
|
"kind": "field",
|
|
19649
19370
|
"name": "optionSelected",
|
|
@@ -20012,13 +19733,6 @@
|
|
|
20012
19733
|
"description": "DEPRECATED - use `appearance=\"inverse\"` instead.",
|
|
20013
19734
|
"fieldName": "onDark"
|
|
20014
19735
|
},
|
|
20015
|
-
{
|
|
20016
|
-
"name": "options",
|
|
20017
|
-
"type": {
|
|
20018
|
-
"text": "array"
|
|
20019
|
-
},
|
|
20020
|
-
"fieldName": "options"
|
|
20021
|
-
},
|
|
20022
19736
|
{
|
|
20023
19737
|
"name": "optionSelected",
|
|
20024
19738
|
"type": {
|
|
@@ -20196,7 +19910,7 @@
|
|
|
20196
19910
|
"type": {
|
|
20197
19911
|
"text": "object"
|
|
20198
19912
|
},
|
|
20199
|
-
"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) { // Always clear the type-ahead buffer — Escape is a universal cancel. // Safe to call when the buffer is empty. // eslint-disable-next-line no-underscore-dangle if (typeof component._clearTypeaheadBuffer === 'function') { // eslint-disable-next-line no-underscore-dangle component._clearTypeaheadBuffer(); } 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) {
|
|
19913
|
+
"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) { // Always clear the type-ahead buffer — Escape is a universal cancel. // Safe to call when the buffer is empty. // eslint-disable-next-line no-underscore-dangle if (typeof component._clearTypeaheadBuffer === 'function') { // eslint-disable-next-line no-underscore-dangle component._clearTypeaheadBuffer(); } 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) { evt.preventDefault(); evt.stopPropagation(); // `pop()` is safe here: getEnabledOptions returns a fresh filtered array. const lastOption = getEnabledOptions(component.menu).pop(); if (!lastOption) { return; } if (!ctx.isExpanded) { component.dropdown.show(); } component.menu.updateActiveOption(lastOption); }, Enter(component, evt, ctx) { // Prevent the keypress from bubbling to parent containers (e.g., forms) // which could interpret Enter as a submit. Matches APG select-only combobox // and native <select> behavior: Enter opens the listbox when closed, selects // the active option when open — it does not submit a parent form. evt.preventDefault(); evt.stopPropagation(); if (!ctx.isExpanded) { component.dropdown.show(); return; } component.menu.makeSelection(); }, Home(component, evt, ctx) { evt.preventDefault(); evt.stopPropagation(); const [firstOption] = getEnabledOptions(component.menu); if (!firstOption) { return; } if (!ctx.isExpanded) { component.dropdown.show(); } 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) { // Space resolves to either typeahead-buffer extension or bib toggle // depending on whether a type-ahead buffer is active. Mirrors native // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space // is a search character (e.g. \"San Francisco\"); otherwise it toggles. if (evt.key === ' ') { evt.preventDefault(); evt.stopPropagation(); if (component.typeaheadBuffer && component.typeaheadBuffer.length > 0) { component.updateActiveOptionBasedOnKey(evt.key); return; } if (ctx.isExpanded) { component.dropdown.hide(); } else { component.dropdown.show(); } return; } component.updateActiveOptionBasedOnKey(evt.key); }, }"
|
|
20200
19914
|
}
|
|
20201
19915
|
],
|
|
20202
19916
|
"exports": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aurodesignsystem-dev/auro-formkit",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-pr1511.0",
|
|
4
4
|
"description": "A collection of web components used to build forms.",
|
|
5
5
|
"homepage": "https://github.com/AlaskaAirlines/auro-formkit#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -27,10 +27,7 @@
|
|
|
27
27
|
],
|
|
28
28
|
"files": [
|
|
29
29
|
"components/*/dist/**/*",
|
|
30
|
-
"components/*/demo
|
|
31
|
-
"components/*/demo/**/*.html",
|
|
32
|
-
"components/*/demo/**/*.min.*",
|
|
33
|
-
"components/*/demo/**/*.json",
|
|
30
|
+
"components/*/demo/**/*",
|
|
34
31
|
"CHANGELOG.md",
|
|
35
32
|
"README.md",
|
|
36
33
|
"LICENSE",
|
|
@@ -158,7 +155,6 @@
|
|
|
158
155
|
"concat": "^1.0.3",
|
|
159
156
|
"concurrently": "^9.2.1",
|
|
160
157
|
"core-js": "^3.49.0",
|
|
161
|
-
"cross-env": "^10.1.0",
|
|
162
158
|
"date-fns": "^4.1.0",
|
|
163
159
|
"eslint": "^10.2.1",
|
|
164
160
|
"eslint-plugin-jsdoc": "^62.9.0",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Single source of truth for parsing and matching blackout dates across the
|
|
3
|
-
* datepicker. Both `auro-calendar` (memoized Set + `isDateBlackout`) and the
|
|
4
|
-
* pre-`firstUpdated` fallback inside `auro-calendar-cell` route through these
|
|
5
|
-
* helpers so the YYYY-MM-DD → seconds conversion and the merge-with-legacy
|
|
6
|
-
* `disabledDays` rules are defined exactly once.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Converts a `YYYY-MM-DD` ISO date string to a Unix timestamp (seconds)
|
|
10
|
-
* representing local midnight on that calendar day. Returns `null` for
|
|
11
|
-
* inputs that don't parse to a finite timestamp.
|
|
12
|
-
*
|
|
13
|
-
* Uses the `new Date(year, monthIndex, day)` constructor (NOT
|
|
14
|
-
* `new Date(isoStr)`) so the result is local-midnight rather than UTC
|
|
15
|
-
* midnight — required to keep the calendar grid aligned with the user's
|
|
16
|
-
* local calendar day in negative-offset timezones.
|
|
17
|
-
*
|
|
18
|
-
* @param {string} isoStr - Date string in `YYYY-MM-DD` format.
|
|
19
|
-
* @returns {number|null} Local-midnight Unix timestamp (seconds), or null.
|
|
20
|
-
*/
|
|
21
|
-
export function parseIsoToTimestamp(isoStr: string): number | null;
|
|
22
|
-
/**
|
|
23
|
-
* Builds a `Set<number>` of seconds-since-epoch timestamps covering both the
|
|
24
|
-
* legacy `disabledDays` (already-numeric) array and the ISO `blackoutDates`
|
|
25
|
-
* array. Use this for O(1) membership checks in hot paths.
|
|
26
|
-
*
|
|
27
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
28
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
29
|
-
* @returns {Set<number>}
|
|
30
|
-
*/
|
|
31
|
-
export function buildBlackoutSet(disabledDays: Array<string | number> | undefined, blackoutDates: Array<string> | undefined): Set<number>;
|
|
32
|
-
/**
|
|
33
|
-
* One-shot membership test for a single timestamp against both blackout
|
|
34
|
-
* sources. Allocates a Set on each call; only use this in cold paths
|
|
35
|
-
* (e.g. the pre-`firstUpdated` cell fallback). Hot paths should hold the
|
|
36
|
-
* Set returned from `buildBlackoutSet` and `.has(ts)` directly.
|
|
37
|
-
*
|
|
38
|
-
* @param {number} dateTs - Unix timestamp (seconds) to test.
|
|
39
|
-
* @param {Array<string|number>|undefined} disabledDays - Legacy timestamp array.
|
|
40
|
-
* @param {Array<string>|undefined} blackoutDates - ISO `YYYY-MM-DD` array.
|
|
41
|
-
* @returns {boolean}
|
|
42
|
-
*/
|
|
43
|
-
export function isBlackoutTimestamp(dateTs: number, disabledDays: Array<string | number> | undefined, blackoutDates: Array<string> | undefined): boolean;
|
/package/components/datepicker/dist/{auro-calendar-month.d.ts → src/auro-calendar-month.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/components/datepicker/dist/{styles → src/styles}/style-auro-calendar-month-css.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|