@vonage/vivid 3.51.0 → 3.52.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/alert/index.cjs +1 -1
- package/alert/index.js +1 -1
- package/appearance-ui/index.cjs +19 -11
- package/appearance-ui/index.js +19 -11
- package/audio-player/index.cjs +2 -1
- package/audio-player/index.js +2 -1
- package/card/index.cjs +1 -1
- package/card/index.js +1 -1
- package/combobox/index.cjs +2 -5
- package/combobox/index.js +2 -5
- package/custom-elements.json +1357 -529
- package/date-picker/index.cjs +3 -6
- package/date-picker/index.js +3 -6
- package/date-range-picker/index.cjs +2 -5
- package/date-range-picker/index.js +2 -5
- package/dialog/index.cjs +1 -1
- package/dialog/index.js +1 -1
- package/elevation/index.cjs +1 -1
- package/elevation/index.js +1 -1
- package/file-picker/index.cjs +0 -2
- package/file-picker/index.js +0 -2
- package/header/index.cjs +1 -1
- package/header/index.js +1 -1
- package/index.cjs +60 -58
- package/index.js +22 -23
- package/lib/avatar/definition.d.ts +1 -1
- package/lib/button/button.d.ts +1 -0
- package/lib/button/definition.d.ts +1 -1
- package/lib/calendar-event/definition.d.ts +1 -1
- package/lib/components.d.ts +1 -0
- package/lib/layout/definition.d.ts +1 -1
- package/lib/menu-item/menu-item.d.ts +3 -0
- package/lib/range-slider/definition.d.ts +3 -0
- package/lib/range-slider/locale.d.ts +4 -0
- package/lib/range-slider/range-slider.d.ts +32 -0
- package/lib/range-slider/range-slider.form-associated.d.ts +10 -0
- package/lib/range-slider/range-slider.template.d.ts +4 -0
- package/lib/range-slider/utils/lerp.d.ts +2 -0
- package/lib/range-slider/utils/roundToStepValue.d.ts +1 -0
- package/lib/slider/slider.template.d.ts +1 -0
- package/lib/split-button/definition.d.ts +1 -1
- package/listbox/index.cjs +23 -22
- package/listbox/index.js +23 -22
- package/locales/en-GB.cjs +4 -0
- package/locales/en-GB.js +4 -0
- package/locales/en-US.cjs +4 -0
- package/locales/en-US.js +4 -0
- package/locales/ja-JP.cjs +5 -1
- package/locales/ja-JP.js +5 -1
- package/locales/zh-CN.cjs +4 -0
- package/locales/zh-CN.js +4 -0
- package/menu/index.cjs +3 -3
- package/menu/index.js +3 -3
- package/menu-item/index.cjs +2 -2
- package/menu-item/index.js +2 -2
- package/number-field/index.cjs +0 -2
- package/number-field/index.js +0 -2
- package/package.json +34 -34
- package/popup/index.cjs +2 -2
- package/popup/index.js +2 -2
- package/range-slider/index.cjs +22 -0
- package/range-slider/index.js +20 -0
- package/select/index.cjs +3 -3
- package/select/index.js +3 -3
- package/selectable-box/index.cjs +1 -1
- package/selectable-box/index.js +1 -1
- package/shared/Reflector.cjs +5 -1
- package/shared/Reflector.js +5 -1
- package/shared/affix.cjs +11 -4
- package/shared/affix.js +12 -4
- package/shared/anchored.cjs +8 -2
- package/shared/anchored.js +8 -2
- package/shared/definition.cjs +8 -3
- package/shared/definition.js +8 -3
- package/shared/definition10.cjs +5 -5
- package/shared/definition10.js +5 -5
- package/shared/definition11.cjs +75 -47
- package/shared/definition11.js +76 -48
- package/shared/definition12.cjs +12 -14
- package/shared/definition12.js +12 -14
- package/shared/definition13.cjs +118 -75
- package/shared/definition13.js +118 -75
- package/shared/definition14.cjs +33 -32
- package/shared/definition14.js +33 -32
- package/shared/definition15.cjs +20 -7
- package/shared/definition15.js +20 -7
- package/shared/definition16.cjs +37 -42
- package/shared/definition16.js +36 -41
- package/shared/definition17.cjs +125 -65
- package/shared/definition17.js +126 -66
- package/shared/definition18.cjs +30 -14
- package/shared/definition18.js +30 -14
- package/shared/definition19.cjs +116 -80
- package/shared/definition19.js +116 -80
- package/shared/definition2.cjs +10 -5
- package/shared/definition2.js +10 -5
- package/shared/definition20.cjs +16 -15
- package/shared/definition20.js +16 -15
- package/shared/definition21.cjs +6 -10
- package/shared/definition21.js +6 -10
- package/shared/definition22.cjs +14 -18
- package/shared/definition22.js +14 -18
- package/shared/definition23.cjs +34 -35
- package/shared/definition23.js +34 -35
- package/shared/definition24.cjs +116 -69
- package/shared/definition24.js +116 -69
- package/shared/definition25.cjs +2 -4
- package/shared/definition25.js +2 -4
- package/shared/definition26.cjs +9 -8
- package/shared/definition26.js +9 -8
- package/shared/definition27.cjs +7 -5
- package/shared/definition27.js +7 -5
- package/shared/definition28.cjs +209 -143
- package/shared/definition28.js +209 -143
- package/shared/definition29.cjs +10 -4
- package/shared/definition29.js +10 -4
- package/shared/definition3.cjs +7 -10
- package/shared/definition3.js +7 -10
- package/shared/definition30.cjs +7 -5
- package/shared/definition30.js +7 -5
- package/shared/definition31.cjs +2 -4
- package/shared/definition31.js +2 -4
- package/shared/definition32.cjs +1 -3
- package/shared/definition32.js +1 -3
- package/shared/definition33.cjs +7 -10
- package/shared/definition33.js +7 -10
- package/shared/definition34.cjs +76 -59
- package/shared/definition34.js +76 -59
- package/shared/definition35.cjs +19 -20
- package/shared/definition35.js +19 -20
- package/shared/definition36.cjs +30 -14
- package/shared/definition36.js +30 -14
- package/shared/definition37.cjs +33 -46
- package/shared/definition37.js +33 -46
- package/shared/definition38.cjs +31 -33
- package/shared/definition38.js +31 -33
- package/shared/definition39.cjs +13 -4
- package/shared/definition39.js +13 -4
- package/shared/definition4.cjs +23 -11
- package/shared/definition4.js +23 -11
- package/shared/definition40.cjs +19 -14
- package/shared/definition40.js +19 -14
- package/shared/definition41.cjs +534 -635
- package/shared/definition41.js +534 -635
- package/shared/definition42.cjs +674 -106
- package/shared/definition42.js +673 -105
- package/shared/definition43.cjs +122 -79
- package/shared/definition43.js +120 -77
- package/shared/definition44.cjs +72 -567
- package/shared/definition44.js +71 -565
- package/shared/definition45.cjs +520 -118
- package/shared/definition45.js +518 -117
- package/shared/definition46.cjs +117 -130
- package/shared/definition46.js +116 -129
- package/shared/definition47.cjs +152 -18
- package/shared/definition47.js +151 -17
- package/shared/definition48.cjs +20 -77
- package/shared/definition48.js +19 -76
- package/shared/definition49.cjs +52 -495
- package/shared/definition49.js +51 -494
- package/shared/definition5.cjs +20 -17
- package/shared/definition5.js +20 -17
- package/shared/definition50.cjs +525 -24
- package/shared/definition50.js +524 -23
- package/shared/definition51.cjs +28 -119
- package/shared/definition51.js +26 -118
- package/shared/definition52.cjs +113 -266
- package/shared/definition52.js +113 -265
- package/shared/definition53.cjs +285 -245
- package/shared/definition53.js +285 -245
- package/shared/definition54.cjs +285 -751
- package/shared/definition54.js +284 -750
- package/shared/definition55.cjs +828 -99
- package/shared/definition55.js +827 -98
- package/shared/definition56.cjs +126 -77
- package/shared/definition56.js +125 -76
- package/shared/definition57.cjs +125 -71
- package/shared/definition57.js +124 -70
- package/shared/definition58.cjs +73 -287
- package/shared/definition58.js +74 -288
- package/shared/definition59.cjs +298 -40
- package/shared/definition59.js +297 -39
- package/shared/definition6.cjs +3 -4
- package/shared/definition6.js +3 -4
- package/shared/definition60.cjs +24 -1784
- package/shared/definition60.js +23 -1783
- package/shared/definition61.cjs +1819 -11
- package/shared/definition61.js +1818 -11
- package/shared/definition7.cjs +6 -4
- package/shared/definition7.js +6 -4
- package/shared/definition8.cjs +25 -18
- package/shared/definition8.js +25 -18
- package/shared/definition9.cjs +6 -9
- package/shared/definition9.js +6 -9
- package/shared/icon.cjs +7 -2
- package/shared/icon.js +7 -2
- package/shared/index2.cjs +1 -1
- package/shared/index2.js +1 -1
- package/shared/key-codes2.cjs +8 -0
- package/shared/key-codes2.js +5 -1
- package/shared/localization/Locale.d.ts +2 -0
- package/shared/patterns/index.d.ts +0 -1
- package/shared/presentationDate.cjs +126 -78
- package/shared/presentationDate.js +126 -78
- package/shared/slider.template.cjs +71 -0
- package/shared/slider.template.js +67 -0
- package/shared/text-anchor.template.cjs +30 -35
- package/shared/text-anchor.template.js +30 -35
- package/shared/text-field.cjs +1 -1
- package/shared/text-field.js +1 -1
- package/side-drawer/index.cjs +1 -1
- package/side-drawer/index.js +1 -1
- package/slider/index.cjs +2 -1
- package/slider/index.js +2 -1
- package/split-button/index.cjs +1 -1
- package/split-button/index.js +1 -1
- package/styles/core/all.css +1 -1
- package/styles/core/theme.css +1 -1
- package/styles/core/typography.css +1 -1
- package/styles/fonts/spezia-variable.css +39 -13
- package/styles/tokens/theme-dark.css +4 -4
- package/styles/tokens/theme-light.css +4 -4
- package/styles/tokens/vivid-2-compat.css +4 -2
- package/switch/index.cjs +1 -1
- package/switch/index.js +1 -1
- package/tab/index.cjs +1 -1
- package/tab/index.js +1 -1
- package/tab-panel/index.cjs +1 -1
- package/tab-panel/index.js +1 -1
- package/tabs/index.cjs +3 -3
- package/tabs/index.js +3 -3
- package/tag/index.cjs +1 -1
- package/tag/index.js +1 -1
- package/tag-group/index.cjs +1 -1
- package/tag-group/index.js +1 -1
- package/text-area/index.cjs +1 -1
- package/text-area/index.js +1 -1
- package/text-field/index.cjs +1 -4
- package/text-field/index.js +1 -4
- package/time-picker/index.cjs +4 -7
- package/time-picker/index.js +4 -7
- package/toggletip/index.cjs +3 -3
- package/toggletip/index.js +3 -3
- package/tooltip/index.cjs +3 -3
- package/tooltip/index.js +3 -3
- package/tree-item/index.cjs +1 -1
- package/tree-item/index.js +1 -1
- package/tree-view/index.cjs +1 -1
- package/tree-view/index.js +1 -1
- package/vivid.api.json +117 -1
- package/focus/index.cjs +0 -7
- package/focus/index.js +0 -5
- package/lib/focus/definition.d.ts +0 -3
- package/lib/focus/focus.d.ts +0 -3
- package/lib/focus/focus.template.d.ts +0 -4
- package/lib/popup/popup.d.ts +0 -21
- package/shared/focus.cjs +0 -8
- package/shared/focus.js +0 -6
- package/shared/focus2.cjs +0 -11
- package/shared/focus2.js +0 -9
- package/shared/patterns/focus.d.ts +0 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as Button } from './definition11.js';
|
|
2
|
-
import { P as Popup } from './
|
|
3
|
-
import { T as TextField } from './
|
|
2
|
+
import { P as Popup } from './definition61.js';
|
|
3
|
+
import { T as TextField } from './definition54.js';
|
|
4
4
|
import { D as Divider } from './definition21.js';
|
|
5
5
|
import { h as html, F as FoundationElement, a as attr, o as observable, v as volatile, D as DOM } from './index.js';
|
|
6
6
|
import { r as ref } from './ref.js';
|
|
@@ -14,7 +14,7 @@ import { T as TrappedFocus } from './trapped-focus.js';
|
|
|
14
14
|
import { F as FormAssociated } from './form-associated.js';
|
|
15
15
|
import { a as applyMixins } from './apply-mixins.js';
|
|
16
16
|
|
|
17
|
-
const styles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column;padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.segments{display:flex;gap:24px}.segment{display:flex;flex-direction:column;gap:12px}.segment .header{display:flex;align-items:center;padding-block:8px}.segment .title{display:flex;flex-grow:1;justify-content:center}.segment .title-action{block-size:24px;
|
|
17
|
+
const styles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column;padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.segments{display:flex;gap:24px}.segment{display:flex;flex-direction:column;gap:12px}.segment .header{display:flex;align-items:center;padding-block:8px}.segment .title{display:flex;flex-grow:1;justify-content:center}.segment .title-action{border-radius:8px;block-size:24px;font:var(--vvd-typography-base-extended);padding-inline:6px}.calendar{display:flex;flex-direction:column;margin-top:8px;gap:4px}.calendar .calendar-separator{margin-inline:10px}.calendar .calendar-weekdays{display:flex;justify-content:center}.calendar .calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:16px;font:var(--vvd-typography-base-condensed);inline-size:40px}.calendar .calendar-week{display:flex;justify-content:center}.calendar .calendar-day{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:28px;font:var(--vvd-typography-base);margin-inline:6px;--focus-inset: -2px}.calendar .calendar-day.start,.calendar .calendar-day.end{border:2px solid var(--vvd-color-cta-50);background-color:var(--vvd-color-cta-200)}.calendar .calendar-day:before,.calendar .calendar-day:after{position:absolute;z-index:-1;display:block;width:20px;height:28px}.calendar .calendar-day:before{right:50%}.calendar .calendar-day:after{left:50%}.calendar .calendar-day.range:before,.calendar .calendar-day.range:after{background-color:var(--vvd-color-cta-50)}.calendar .calendar-day.range:not(.start):before,.calendar .calendar-day.range:not(.end):after{content:\"\"}.calendar .calendar-day.outside-month,.calendar .calendar-day:disabled{color:var(--vvd-color-neutral-400)}.months-separator{margin-inline:-12px}.month-grid{display:flex;flex-direction:column;gap:34px}.month-grid .months-row{display:flex;justify-content:center;gap:29px}.month-grid .month{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:48px;font:var(--vvd-typography-base-extended);text-transform:uppercase}.month-grid .month:disabled{color:var(--vvd-color-neutral-400)}.button{position:relative;padding:0;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer}.button{--_connotation-color-primary: var(--vvd-date-picker-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-firm: var(--vvd-date-picker-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-date-picker-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-date-picker-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-dim: var(--vvd-date-picker-accent-dim, var(--vvd-color-neutral-200));--_connotation-color-pale: var(--vvd-date-picker-accent-pale, var(--vvd-color-neutral-300))}.button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.button:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.button:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.button:where(.selected):where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: transparent}.button:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));color:var(--vvd-color-canvas-text)}.button.current{border:1px solid var(--vvd-color-neutral-200)}.button:disabled{cursor:not-allowed}\n";
|
|
18
18
|
|
|
19
19
|
function _typeof(obj) {
|
|
20
20
|
"@babel/helpers - typeof";
|
|
@@ -5277,26 +5277,32 @@ function renderDialogHeader(context) {
|
|
|
5277
5277
|
`
|
|
5278
5278
|
)}
|
|
5279
5279
|
<div class="title">
|
|
5280
|
-
${when(
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5280
|
+
${when(
|
|
5281
|
+
(x) => x.titleClickable,
|
|
5282
|
+
html`
|
|
5283
|
+
<button
|
|
5284
|
+
tabindex="1"
|
|
5285
|
+
id="${(x) => `grid-label-${x.id}`}"
|
|
5286
|
+
class="title-action button"
|
|
5287
|
+
aria-live="polite"
|
|
5288
|
+
@click="${(_, c) => c.parent._onTitleActionClick()}"
|
|
5289
|
+
>
|
|
5290
|
+
${(x) => x.title}
|
|
5291
|
+
</button>
|
|
5292
|
+
`
|
|
5293
|
+
)}
|
|
5294
|
+
${when(
|
|
5295
|
+
(x) => !x.titleClickable,
|
|
5296
|
+
html`
|
|
5297
|
+
<div
|
|
5298
|
+
id="${(x) => `grid-label-${x.id}`}"
|
|
5299
|
+
class="title-action"
|
|
5300
|
+
aria-live="polite"
|
|
5301
|
+
>
|
|
5302
|
+
${(x) => x.title}
|
|
5303
|
+
</div>
|
|
5304
|
+
`
|
|
5305
|
+
)}
|
|
5300
5306
|
</div>
|
|
5301
5307
|
|
|
5302
5308
|
${when(
|
|
@@ -5353,9 +5359,8 @@ function renderCalendarGrid(context) {
|
|
|
5353
5359
|
<${dividerTag} class="calendar-separator" role="presentation"></${dividerTag}>
|
|
5354
5360
|
${repeat(
|
|
5355
5361
|
(x) => x.calendar.grid,
|
|
5356
|
-
html`
|
|
5357
|
-
|
|
5358
|
-
${repeat(
|
|
5362
|
+
html` <div class="calendar-week" role="row">
|
|
5363
|
+
${repeat(
|
|
5359
5364
|
(x) => x,
|
|
5360
5365
|
html`
|
|
5361
5366
|
${when(
|
|
@@ -5364,40 +5369,60 @@ function renderCalendarGrid(context) {
|
|
|
5364
5369
|
)}
|
|
5365
5370
|
${when(
|
|
5366
5371
|
(x, c) => !c.parentContext.parentContext.parent._hideDatesOutsideMonth || !x.isOutsideMonth,
|
|
5367
|
-
html`
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
class="${(x, c) => classNames(
|
|
5372
|
+
html` <span role="gridcell">
|
|
5373
|
+
<button
|
|
5374
|
+
class="${(x, c) => classNames(
|
|
5371
5375
|
"calendar-day",
|
|
5372
5376
|
"button",
|
|
5373
|
-
[
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
[
|
|
5377
|
+
[
|
|
5378
|
+
"current",
|
|
5379
|
+
x.date === c.parentContext.parentContext.parent._currentDate
|
|
5380
|
+
],
|
|
5381
|
+
[
|
|
5382
|
+
"selected",
|
|
5383
|
+
c.parentContext.parentContext.parent._isDateSelected(x.date)
|
|
5384
|
+
],
|
|
5385
|
+
[
|
|
5386
|
+
"range",
|
|
5387
|
+
c.parentContext.parentContext.parent._isDateInSelectedRange(
|
|
5388
|
+
x.date
|
|
5389
|
+
)
|
|
5390
|
+
],
|
|
5391
|
+
[
|
|
5392
|
+
"start",
|
|
5393
|
+
c.parentContext.parentContext.parent._isDateRangeStart(
|
|
5394
|
+
x.date
|
|
5395
|
+
)
|
|
5396
|
+
],
|
|
5397
|
+
[
|
|
5398
|
+
"end",
|
|
5399
|
+
c.parentContext.parentContext.parent._isDateRangeEnd(x.date)
|
|
5400
|
+
],
|
|
5378
5401
|
["outside-month", x.isOutsideMonth]
|
|
5379
5402
|
)}"
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5403
|
+
?disabled="${(x, c) => !c.parentContext.parentContext.parent._isDateInValidRange(
|
|
5404
|
+
x.date
|
|
5405
|
+
)}"
|
|
5406
|
+
tabindex="${(x, c) => x.date === c.parentContext.parentContext.parent._tabbableDate ? 2 : -1}"
|
|
5407
|
+
aria-selected="${(x, c) => c.parentContext.parentContext.parent._isDateAriaSelected(x.date)}"
|
|
5408
|
+
data-date="${(x) => x.date}"
|
|
5409
|
+
@click="${(x, c) => c.parentContext.parentContext.parent._onDateClick(x.date)}"
|
|
5410
|
+
@focus="${(x, c) => c.parentContext.parentContext.parent._onDateFocus(x.date)}"
|
|
5411
|
+
@mouseenter="${(x, c) => c.parentContext.parentContext.parent._onDateMouseEnter(x.date)}"
|
|
5412
|
+
@mouseleave="${(x, c) => c.parentContext.parentContext.parent._onDateMouseLeave(x.date)}"
|
|
5413
|
+
@keydown="${(x, c) => c.parentContext.parentContext.parent._onDateKeydown(
|
|
5389
5414
|
x.date,
|
|
5390
5415
|
c.event
|
|
5391
5416
|
)}"
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5417
|
+
>
|
|
5418
|
+
${(x) => x.label}
|
|
5419
|
+
</button>
|
|
5420
|
+
</span>`
|
|
5396
5421
|
)}
|
|
5397
5422
|
</div>
|
|
5398
5423
|
`
|
|
5399
5424
|
)}
|
|
5400
|
-
|
|
5425
|
+
</div>`
|
|
5401
5426
|
)}`;
|
|
5402
5427
|
}
|
|
5403
5428
|
function renderMonthPickerGrid(context) {
|
|
@@ -5419,9 +5444,9 @@ function renderMonthPickerGrid(context) {
|
|
|
5419
5444
|
${repeat(
|
|
5420
5445
|
(x) => x,
|
|
5421
5446
|
html`
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5447
|
+
<span role="gridcell">
|
|
5448
|
+
<button
|
|
5449
|
+
class="${(x, c) => classNames(
|
|
5425
5450
|
"month",
|
|
5426
5451
|
"button",
|
|
5427
5452
|
[
|
|
@@ -5439,24 +5464,33 @@ function renderMonthPickerGrid(context) {
|
|
|
5439
5464
|
)
|
|
5440
5465
|
]
|
|
5441
5466
|
)}"
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5467
|
+
tabindex="${(x, c) => c.parentContext.parentContext.parent._tabbableMonth && areMonthsEqual(
|
|
5468
|
+
x.month,
|
|
5469
|
+
c.parentContext.parentContext.parent._tabbableMonth
|
|
5470
|
+
) ? 2 : -1}"
|
|
5471
|
+
aria-label="${(x) => x.monthName}"
|
|
5472
|
+
aria-selected="${(x, c) => areMonthsEqual(
|
|
5445
5473
|
x.month,
|
|
5446
5474
|
c.parentContext.parentContext.parent._selectedMonth
|
|
5447
5475
|
)}"
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5476
|
+
data-month="${(x) => monthToStr(x.month)}"
|
|
5477
|
+
?disabled="${(x, c) => !c.parentContext.parentContext.parent._isMonthInValidRange(
|
|
5478
|
+
x.month
|
|
5479
|
+
)}"
|
|
5480
|
+
@click="${(x, c) => c.parentContext.parentContext.parent._onMonthClick(
|
|
5481
|
+
x.month
|
|
5482
|
+
)}"
|
|
5483
|
+
@focus="${(x, c) => c.parentContext.parentContext.parent._onMonthFocus(
|
|
5484
|
+
x.month
|
|
5485
|
+
)}"
|
|
5486
|
+
@keydown="${(x, c) => c.parentContext.parentContext.parent._onMonthKeydown(
|
|
5453
5487
|
x.month,
|
|
5454
5488
|
c.event
|
|
5455
5489
|
)}"
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5490
|
+
>
|
|
5491
|
+
${(x) => x.label}
|
|
5492
|
+
</button>
|
|
5493
|
+
</span>
|
|
5460
5494
|
`
|
|
5461
5495
|
)}
|
|
5462
5496
|
</div>
|
|
@@ -5506,18 +5540,17 @@ const DatePickerBaseTemplate = (context, _) => {
|
|
|
5506
5540
|
<div class="segments">
|
|
5507
5541
|
${repeat(
|
|
5508
5542
|
(x) => x._segments,
|
|
5509
|
-
html`
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
${when(
|
|
5543
|
+
html` <div class="segment">
|
|
5544
|
+
${renderDialogHeader(context)}
|
|
5545
|
+
${when(
|
|
5513
5546
|
(x) => x.type === "month-picker",
|
|
5514
5547
|
html`${renderMonthPickerGrid(context)}`
|
|
5515
5548
|
)}
|
|
5516
|
-
|
|
5549
|
+
${when(
|
|
5517
5550
|
(x) => x.type === "calendar",
|
|
5518
5551
|
html`${renderCalendarGrid(context)}`
|
|
5519
5552
|
)}
|
|
5520
|
-
|
|
5553
|
+
</div>`
|
|
5521
5554
|
)}
|
|
5522
5555
|
</div>
|
|
5523
5556
|
<div class="footer">
|
|
@@ -5574,7 +5607,12 @@ const buildDateGrid = ({ month, year }, getDay) => {
|
|
|
5574
5607
|
let week = [];
|
|
5575
5608
|
for (let i = 0; i < totalDaysInCalendar; i++) {
|
|
5576
5609
|
const dayIndexInMonth = i - firstDayInWeek;
|
|
5577
|
-
week.push(
|
|
5610
|
+
week.push(
|
|
5611
|
+
gridDate(
|
|
5612
|
+
addDays$1(firstDay, dayIndexInMonth),
|
|
5613
|
+
isOutsideMonth(dayIndexInMonth, daysInMonth)
|
|
5614
|
+
)
|
|
5615
|
+
);
|
|
5578
5616
|
if (week.length === 7) {
|
|
5579
5617
|
grid.push(week);
|
|
5580
5618
|
week = [];
|
|
@@ -5617,7 +5655,9 @@ const yearOfDate = (dateStr) => {
|
|
|
5617
5655
|
|
|
5618
5656
|
class _DatePickerBase extends FoundationElement {
|
|
5619
5657
|
}
|
|
5620
|
-
class FormAssociatedDatePickerBase extends FormAssociated(
|
|
5658
|
+
class FormAssociatedDatePickerBase extends FormAssociated(
|
|
5659
|
+
_DatePickerBase
|
|
5660
|
+
) {
|
|
5621
5661
|
constructor() {
|
|
5622
5662
|
super(...arguments);
|
|
5623
5663
|
this.proxy = document.createElement("input");
|
|
@@ -5722,7 +5762,10 @@ class DatePickerBase extends FormAssociatedDatePickerBase {
|
|
|
5722
5762
|
_adjustSelectedMonthToEnsureVisibilityOf(date) {
|
|
5723
5763
|
const month = monthOfDate(date);
|
|
5724
5764
|
const firstDisplayedMonth = this._selectedMonth;
|
|
5725
|
-
const lastDisplayedMonth = addMonths(
|
|
5765
|
+
const lastDisplayedMonth = addMonths(
|
|
5766
|
+
this._selectedMonth,
|
|
5767
|
+
this._numCalendars - 1
|
|
5768
|
+
);
|
|
5726
5769
|
if (compareMonths(month, firstDisplayedMonth) < 0) {
|
|
5727
5770
|
this._selectedMonth = month;
|
|
5728
5771
|
return true;
|
|
@@ -5832,7 +5875,9 @@ class DatePickerBase extends FormAssociatedDatePickerBase {
|
|
|
5832
5875
|
} else {
|
|
5833
5876
|
this.#openPopupIfPossible();
|
|
5834
5877
|
DOM.processUpdates();
|
|
5835
|
-
const tabbableDate = this.shadowRoot.querySelector(
|
|
5878
|
+
const tabbableDate = this.shadowRoot.querySelector(
|
|
5879
|
+
`[data-date="${this._tabbableDate}"]`
|
|
5880
|
+
);
|
|
5836
5881
|
tabbableDate.focus();
|
|
5837
5882
|
}
|
|
5838
5883
|
}
|
|
@@ -6013,9 +6058,9 @@ class DatePickerBase extends FormAssociatedDatePickerBase {
|
|
|
6013
6058
|
this._lastFocussedDate = date;
|
|
6014
6059
|
}
|
|
6015
6060
|
get _tabbableDate() {
|
|
6016
|
-
const datesInSegments = this._segments.filter(
|
|
6017
|
-
(segment) => segment.
|
|
6018
|
-
);
|
|
6061
|
+
const datesInSegments = this._segments.filter(
|
|
6062
|
+
(segment) => segment.type === "calendar"
|
|
6063
|
+
).flatMap((segment) => segment.calendar.grid.flat().map((d) => d.date));
|
|
6019
6064
|
const candidates = [
|
|
6020
6065
|
this._lastFocussedDate,
|
|
6021
6066
|
...this._getSelectedDates(),
|
|
@@ -6023,7 +6068,10 @@ class DatePickerBase extends FormAssociatedDatePickerBase {
|
|
|
6023
6068
|
...datesInSegments
|
|
6024
6069
|
];
|
|
6025
6070
|
const firstVisibleMonth = this._selectedMonth;
|
|
6026
|
-
const lastVisibleMonth = addMonths(
|
|
6071
|
+
const lastVisibleMonth = addMonths(
|
|
6072
|
+
this._selectedMonth,
|
|
6073
|
+
this._numCalendars - 1
|
|
6074
|
+
);
|
|
6027
6075
|
return candidates.find(
|
|
6028
6076
|
(date) => date && compareMonths(monthOfDate(date), firstVisibleMonth) >= 0 && compareMonths(monthOfDate(date), lastVisibleMonth) <= 0 && this._isDateInValidRange(date)
|
|
6029
6077
|
) ?? null;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const aria = require('./aria2.cjs');
|
|
4
|
+
const index = require('./index.cjs');
|
|
5
|
+
const ref = require('./ref.cjs');
|
|
6
|
+
const classNames = require('./class-names.cjs');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* This method keeps a given value within the bounds of a min and max value. If the value
|
|
10
|
+
* is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,
|
|
11
|
+
* the maximum will be returned. Otherwise, the value is returned un-changed.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Ensures that a value is between a min and max value. If value is lower than min, min will be returned.
|
|
15
|
+
* If value is greater than max, max will be returned.
|
|
16
|
+
*/
|
|
17
|
+
function limit(min, max, value) {
|
|
18
|
+
return Math.min(Math.max(value, min), max);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const getClasses = ({ disabled, connotation }) => classNames.classNames(
|
|
22
|
+
"control",
|
|
23
|
+
["disabled", Boolean(disabled)],
|
|
24
|
+
[`connotation-${connotation}`, Boolean(connotation)]
|
|
25
|
+
);
|
|
26
|
+
const getMarkersTemplate = (isHorizontal, numMarkers) => {
|
|
27
|
+
const placeholder = isHorizontal ? ["right", "center", "", "100% repeat-x"] : ["bottom", "top", "100%", "repeat-y"];
|
|
28
|
+
return index.html` <div
|
|
29
|
+
class="mark"
|
|
30
|
+
style="
|
|
31
|
+
background: linear-gradient(to ${placeholder[0]}, currentcolor 3px, transparent 0px)
|
|
32
|
+
0px ${placeholder[1]} / ${placeholder[2]} calc((100% - 3px) / ${numMarkers}) ${placeholder[3]}
|
|
33
|
+
"
|
|
34
|
+
></div>`;
|
|
35
|
+
};
|
|
36
|
+
const SliderTemplate = () => {
|
|
37
|
+
return index.html`<template
|
|
38
|
+
role="${(x) => x.ariaLabel ? "presentation" : null}"
|
|
39
|
+
>
|
|
40
|
+
<div
|
|
41
|
+
role="slider"
|
|
42
|
+
tabindex="${(x) => x.disabled ? null : 0}"
|
|
43
|
+
aria-label="${(x) => x.ariaLabel}"
|
|
44
|
+
aria-valuetext="${(x) => x.ariaValuetext || x.valueTextFormatter(x.value)}"
|
|
45
|
+
aria-valuenow="${(x) => x.value}"
|
|
46
|
+
aria-valuemin="${(x) => x.min}"
|
|
47
|
+
aria-valuemax="${(x) => x.max}"
|
|
48
|
+
aria-disabled="${(x) => x.disabled ? true : void 0}"
|
|
49
|
+
aria-orientation="${(x) => x.orientation}"
|
|
50
|
+
class="${getClasses} ${(x) => x.orientation}"
|
|
51
|
+
>
|
|
52
|
+
<div class="positioning-region">
|
|
53
|
+
<div ${ref.ref("track")} class="track">
|
|
54
|
+
<div class="track-start" style="${(x) => x.position}"></div>
|
|
55
|
+
${(x) => x.markers ? getMarkersTemplate(
|
|
56
|
+
x.orientation === aria.Orientation.horizontal,
|
|
57
|
+
Math.floor((x.max - x.min) / x.step)
|
|
58
|
+
) : void 0}
|
|
59
|
+
</div>
|
|
60
|
+
<div
|
|
61
|
+
${ref.ref("thumb")}
|
|
62
|
+
class="thumb-container"
|
|
63
|
+
style="${(x) => x.position}"
|
|
64
|
+
></div>
|
|
65
|
+
</div></div
|
|
66
|
+
></template>`;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
exports.SliderTemplate = SliderTemplate;
|
|
70
|
+
exports.getMarkersTemplate = getMarkersTemplate;
|
|
71
|
+
exports.limit = limit;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { O as Orientation } from './aria2.js';
|
|
2
|
+
import { h as html } from './index.js';
|
|
3
|
+
import { r as ref } from './ref.js';
|
|
4
|
+
import { c as classNames } from './class-names.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* This method keeps a given value within the bounds of a min and max value. If the value
|
|
8
|
+
* is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,
|
|
9
|
+
* the maximum will be returned. Otherwise, the value is returned un-changed.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Ensures that a value is between a min and max value. If value is lower than min, min will be returned.
|
|
13
|
+
* If value is greater than max, max will be returned.
|
|
14
|
+
*/
|
|
15
|
+
function limit(min, max, value) {
|
|
16
|
+
return Math.min(Math.max(value, min), max);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const getClasses = ({ disabled, connotation }) => classNames(
|
|
20
|
+
"control",
|
|
21
|
+
["disabled", Boolean(disabled)],
|
|
22
|
+
[`connotation-${connotation}`, Boolean(connotation)]
|
|
23
|
+
);
|
|
24
|
+
const getMarkersTemplate = (isHorizontal, numMarkers) => {
|
|
25
|
+
const placeholder = isHorizontal ? ["right", "center", "", "100% repeat-x"] : ["bottom", "top", "100%", "repeat-y"];
|
|
26
|
+
return html` <div
|
|
27
|
+
class="mark"
|
|
28
|
+
style="
|
|
29
|
+
background: linear-gradient(to ${placeholder[0]}, currentcolor 3px, transparent 0px)
|
|
30
|
+
0px ${placeholder[1]} / ${placeholder[2]} calc((100% - 3px) / ${numMarkers}) ${placeholder[3]}
|
|
31
|
+
"
|
|
32
|
+
></div>`;
|
|
33
|
+
};
|
|
34
|
+
const SliderTemplate = () => {
|
|
35
|
+
return html`<template
|
|
36
|
+
role="${(x) => x.ariaLabel ? "presentation" : null}"
|
|
37
|
+
>
|
|
38
|
+
<div
|
|
39
|
+
role="slider"
|
|
40
|
+
tabindex="${(x) => x.disabled ? null : 0}"
|
|
41
|
+
aria-label="${(x) => x.ariaLabel}"
|
|
42
|
+
aria-valuetext="${(x) => x.ariaValuetext || x.valueTextFormatter(x.value)}"
|
|
43
|
+
aria-valuenow="${(x) => x.value}"
|
|
44
|
+
aria-valuemin="${(x) => x.min}"
|
|
45
|
+
aria-valuemax="${(x) => x.max}"
|
|
46
|
+
aria-disabled="${(x) => x.disabled ? true : void 0}"
|
|
47
|
+
aria-orientation="${(x) => x.orientation}"
|
|
48
|
+
class="${getClasses} ${(x) => x.orientation}"
|
|
49
|
+
>
|
|
50
|
+
<div class="positioning-region">
|
|
51
|
+
<div ${ref("track")} class="track">
|
|
52
|
+
<div class="track-start" style="${(x) => x.position}"></div>
|
|
53
|
+
${(x) => x.markers ? getMarkersTemplate(
|
|
54
|
+
x.orientation === Orientation.horizontal,
|
|
55
|
+
Math.floor((x.max - x.min) / x.step)
|
|
56
|
+
) : void 0}
|
|
57
|
+
</div>
|
|
58
|
+
<div
|
|
59
|
+
${ref("thumb")}
|
|
60
|
+
class="thumb-container"
|
|
61
|
+
style="${(x) => x.position}"
|
|
62
|
+
></div>
|
|
63
|
+
</div></div
|
|
64
|
+
></template>`;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { SliderTemplate as S, getMarkersTemplate as g, limit as l };
|
|
@@ -5,44 +5,39 @@ const index = require('./index.cjs');
|
|
|
5
5
|
const ref = require('./ref.cjs');
|
|
6
6
|
const classNames = require('./class-names.cjs');
|
|
7
7
|
|
|
8
|
-
const getClasses = ({ text }) => classNames.classNames(
|
|
9
|
-
"control",
|
|
10
|
-
["icon-only", !text]
|
|
11
|
-
);
|
|
8
|
+
const getClasses = ({ text }) => classNames.classNames("control", ["icon-only", !text]);
|
|
12
9
|
const textAnchorTemplate = (context) => {
|
|
13
10
|
const affixIconTemplate = affix.affixIconTemplateFactory(context);
|
|
14
11
|
return index.html`<a
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
</a>
|
|
45
|
-
`;
|
|
12
|
+
class="${getClasses}"
|
|
13
|
+
download="${(x) => x.download}"
|
|
14
|
+
href="${(x) => x.href}"
|
|
15
|
+
hreflang="${(x) => x.hreflang}"
|
|
16
|
+
ping="${(x) => x.ping}"
|
|
17
|
+
referrerpolicy="${(x) => x.referrerpolicy}"
|
|
18
|
+
rel="${(x) => x.rel}"
|
|
19
|
+
target="${(x) => x.target}"
|
|
20
|
+
type="${(x) => x.type}"
|
|
21
|
+
aria-atomic="${(x) => x.ariaAtomic}"
|
|
22
|
+
aria-busy="${(x) => x.ariaBusy}"
|
|
23
|
+
aria-current="${(x) => x.ariaCurrent}"
|
|
24
|
+
aria-details="${(x) => x.ariaDetails}"
|
|
25
|
+
aria-disabled="${(x) => x.ariaDisabled}"
|
|
26
|
+
aria-errormessage="${(x) => x.ariaErrormessage}"
|
|
27
|
+
aria-expanded="${(x) => x.ariaExpanded}"
|
|
28
|
+
aria-haspopup="${(x) => x.ariaHaspopup}"
|
|
29
|
+
aria-hidden="${(x) => x.ariaHidden}"
|
|
30
|
+
aria-invalid="${(x) => x.ariaInvalid}"
|
|
31
|
+
aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
|
|
32
|
+
aria-label="${(x) => x.ariaLabel}"
|
|
33
|
+
aria-live="${(x) => x.ariaLive}"
|
|
34
|
+
aria-relevant="${(x) => x.ariaRelevant}"
|
|
35
|
+
aria-roledescription="${(x) => x.ariaRoledescription}"
|
|
36
|
+
${ref.ref("control")}
|
|
37
|
+
>
|
|
38
|
+
${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)} ${(x) => x.text}
|
|
39
|
+
${(x) => x.getBodyTemplate?.() ?? ""}
|
|
40
|
+
</a> `;
|
|
46
41
|
};
|
|
47
42
|
|
|
48
43
|
exports.textAnchorTemplate = textAnchorTemplate;
|
|
@@ -3,44 +3,39 @@ import { h as html } from './index.js';
|
|
|
3
3
|
import { r as ref } from './ref.js';
|
|
4
4
|
import { c as classNames } from './class-names.js';
|
|
5
5
|
|
|
6
|
-
const getClasses = ({ text }) => classNames(
|
|
7
|
-
"control",
|
|
8
|
-
["icon-only", !text]
|
|
9
|
-
);
|
|
6
|
+
const getClasses = ({ text }) => classNames("control", ["icon-only", !text]);
|
|
10
7
|
const textAnchorTemplate = (context) => {
|
|
11
8
|
const affixIconTemplate = affixIconTemplateFactory(context);
|
|
12
9
|
return html`<a
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
</a>
|
|
43
|
-
`;
|
|
10
|
+
class="${getClasses}"
|
|
11
|
+
download="${(x) => x.download}"
|
|
12
|
+
href="${(x) => x.href}"
|
|
13
|
+
hreflang="${(x) => x.hreflang}"
|
|
14
|
+
ping="${(x) => x.ping}"
|
|
15
|
+
referrerpolicy="${(x) => x.referrerpolicy}"
|
|
16
|
+
rel="${(x) => x.rel}"
|
|
17
|
+
target="${(x) => x.target}"
|
|
18
|
+
type="${(x) => x.type}"
|
|
19
|
+
aria-atomic="${(x) => x.ariaAtomic}"
|
|
20
|
+
aria-busy="${(x) => x.ariaBusy}"
|
|
21
|
+
aria-current="${(x) => x.ariaCurrent}"
|
|
22
|
+
aria-details="${(x) => x.ariaDetails}"
|
|
23
|
+
aria-disabled="${(x) => x.ariaDisabled}"
|
|
24
|
+
aria-errormessage="${(x) => x.ariaErrormessage}"
|
|
25
|
+
aria-expanded="${(x) => x.ariaExpanded}"
|
|
26
|
+
aria-haspopup="${(x) => x.ariaHaspopup}"
|
|
27
|
+
aria-hidden="${(x) => x.ariaHidden}"
|
|
28
|
+
aria-invalid="${(x) => x.ariaInvalid}"
|
|
29
|
+
aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
|
|
30
|
+
aria-label="${(x) => x.ariaLabel}"
|
|
31
|
+
aria-live="${(x) => x.ariaLive}"
|
|
32
|
+
aria-relevant="${(x) => x.ariaRelevant}"
|
|
33
|
+
aria-roledescription="${(x) => x.ariaRoledescription}"
|
|
34
|
+
${ref("control")}
|
|
35
|
+
>
|
|
36
|
+
${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)} ${(x) => x.text}
|
|
37
|
+
${(x) => x.getBodyTemplate?.() ?? ""}
|
|
38
|
+
</a> `;
|
|
44
39
|
};
|
|
45
40
|
|
|
46
41
|
export { textAnchorTemplate as t };
|