@k2b/ui 0.23.0 → 0.24.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 (62) hide show
  1. package/dist/browser/content/Calendar.js +84 -64
  2. package/dist/browser/content/Calendar.js.map +1 -1
  3. package/dist/browser/content/CalendarDayView.js +1 -1
  4. package/dist/browser/content/CalendarDayView.js.map +1 -1
  5. package/dist/browser/content/CalendarWeekView.js +28 -6
  6. package/dist/browser/content/CalendarWeekView.js.map +1 -1
  7. package/dist/browser/content/DataTable.js +45 -35
  8. package/dist/browser/content/DataTable.js.map +1 -1
  9. package/dist/browser/content/calendar-day-scroll.js +17 -4
  10. package/dist/browser/content/calendar-day-scroll.js.map +1 -1
  11. package/dist/browser/content/calendar-time-view.js +9 -4
  12. package/dist/browser/content/calendar-time-view.js.map +1 -1
  13. package/dist/browser/layout/AppWorkspace.js +2 -0
  14. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  15. package/dist/browser/layout/Navigation.js +18 -3
  16. package/dist/browser/layout/Navigation.js.map +1 -1
  17. package/dist/browser/layout/PageTitle.js +14 -0
  18. package/dist/browser/layout/PageTitle.js.map +1 -1
  19. package/dist/browser/layout/SidebarSwitcher.js +505 -0
  20. package/dist/browser/layout/SidebarSwitcher.js.map +1 -0
  21. package/dist/browser/layout/app-workspace-controller.js +12 -2
  22. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  23. package/dist/browser/layout/index.js +1 -0
  24. package/dist/browser/layout/index.js.map +1 -1
  25. package/dist/browser/layout/navigation-model.js +1 -0
  26. package/dist/browser/layout/navigation-model.js.map +1 -1
  27. package/dist/ssr/content/Calendar.js +36 -13
  28. package/dist/ssr/content/Calendar.js.map +1 -1
  29. package/dist/ssr/content/CalendarDayView.js +1 -1
  30. package/dist/ssr/content/CalendarDayView.js.map +1 -1
  31. package/dist/ssr/content/CalendarWeekView.js +27 -6
  32. package/dist/ssr/content/CalendarWeekView.js.map +1 -1
  33. package/dist/ssr/content/DataTable.js +21 -17
  34. package/dist/ssr/content/DataTable.js.map +1 -1
  35. package/dist/ssr/content/calendar-day-scroll.js +17 -4
  36. package/dist/ssr/content/calendar-day-scroll.js.map +1 -1
  37. package/dist/ssr/content/calendar-time-view.js +8 -3
  38. package/dist/ssr/content/calendar-time-view.js.map +1 -1
  39. package/dist/ssr/layout/AppWorkspace.js +2 -0
  40. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  41. package/dist/ssr/layout/Navigation.js +12 -2
  42. package/dist/ssr/layout/Navigation.js.map +1 -1
  43. package/dist/ssr/layout/PageTitle.js +14 -0
  44. package/dist/ssr/layout/PageTitle.js.map +1 -1
  45. package/dist/ssr/layout/SidebarSwitcher.js +271 -0
  46. package/dist/ssr/layout/SidebarSwitcher.js.map +1 -0
  47. package/dist/ssr/layout/app-workspace-controller.js +12 -2
  48. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  49. package/dist/ssr/layout/index.js +1 -0
  50. package/dist/ssr/layout/index.js.map +1 -1
  51. package/dist/ssr/layout/navigation-model.js +1 -0
  52. package/dist/ssr/layout/navigation-model.js.map +1 -1
  53. package/dist/styles.css +1 -1
  54. package/dist/types/content/Calendar.d.ts +4 -1
  55. package/dist/types/content/CalendarWeekView.d.ts +1 -1
  56. package/dist/types/content/DataTable.d.ts +9 -0
  57. package/dist/types/content/calendar-day-scroll.d.ts +9 -4
  58. package/dist/types/layout/AppWorkspace.d.ts +2 -0
  59. package/dist/types/layout/SidebarSwitcher.d.ts +65 -0
  60. package/dist/types/layout/index.d.ts +1 -0
  61. package/dist/types/layout/navigation-model.d.ts +4 -0
  62. package/package.json +3 -3
@@ -53,7 +53,7 @@ var _tmpl$ = /*#__PURE__*/_$template(`<a>`),
53
53
  _tmpl$35 = /*#__PURE__*/_$template(`<i class="ti ti-zoom-in"aria-hidden=true>`),
54
54
  _tmpl$36 = /*#__PURE__*/_$template(`<div class=k2b-calendar-popover popover=auto role=dialog>`),
55
55
  _tmpl$37 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day><div class=k2b-calendar-time-grid__all-day-label></div><!$><!/>`),
56
- _tmpl$38 = /*#__PURE__*/_$template(`<div class="k2b-calendar-time-grid k2b-detail-trail"><div class=k2b-calendar-time-grid__days><div></div><!$><!/></div><!$><!/><div class=k2b-calendar-time-grid__scroll><div class=k2b-calendar-time-grid__grid><div class=k2b-calendar-time-grid__gutter></div><!$><!/>`),
56
+ _tmpl$38 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid><div class=k2b-calendar-time-grid__days><div class=k2b-calendar-time-grid__corner></div><!$><!/></div><!$><!/><div class="k2b-calendar-time-grid__scroll k2b-detail-trail"><div class=k2b-calendar-time-grid__grid><div class=k2b-calendar-time-grid__gutter></div><!$><!/>`),
57
57
  _tmpl$39 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__day-label>`),
58
58
  _tmpl$40 = /*#__PURE__*/_$template(`<span class=k2b-calendar-time-grid__badge><!$><!/><!$><!/>`),
59
59
  _tmpl$41 = /*#__PURE__*/_$template(`<div class=k2b-calendar-time-grid__all-day-cell><div class=k2b-calendar-time-grid__all-day-events><!$><!/><!$><!/>`),
@@ -1400,6 +1400,8 @@ const MonthView = props => {
1400
1400
  const focusCell = key => cells.get(key)?.focus({
1401
1401
  preventScroll: true
1402
1402
  });
1403
+ /** Whether the focus is in the popover, or fell to the page as it hid: only then does a close return it. */
1404
+ const focusInPopover = () => popoverElement?.contains(document.activeElement) || document.activeElement === document.body;
1403
1405
  const closePopover = (restoreFocus = true) => {
1404
1406
  if (!popover()) return;
1405
1407
  setPopover(null);
@@ -2317,8 +2319,7 @@ const MonthView = props => {
2317
2319
  // A late close of the popover that another opening already replaced keeps the new one. Focus returns to the
2318
2320
  // grid only from inside the popover, never from what a click outside it chose.
2319
2321
  if (event.newState !== "closed" || !popover() || event.currentTarget.matches(":popover-open")) return;
2320
- const inside = event.currentTarget.contains(document.activeElement) || document.activeElement === document.body;
2321
- closePopover(inside);
2322
+ closePopover(focusInPopover());
2322
2323
  });
2323
2324
  _el$136.$$focusin = () => setCreateActive(true);
2324
2325
  var _ref$ = popoverElement;
@@ -2331,7 +2332,7 @@ const MonthView = props => {
2331
2332
  children: value => value.kind === "create" ? props.owner.renderQuickCreate?.(rangeOf(value.range), {
2332
2333
  create: value.create,
2333
2334
  close: () => {
2334
- if (popover() === value) closePopover();
2335
+ if (popover() === value) closePopover(focusInPopover());
2335
2336
  }
2336
2337
  }) : dayList(value.dayKey)
2337
2338
  }));
@@ -2372,6 +2373,8 @@ const TimeGridView = props => {
2372
2373
  let scrollContainer;
2373
2374
  let timeGrid;
2374
2375
  let timeGutter;
2376
+ let daysRow;
2377
+ let allDayRow;
2375
2378
  let defaultHourMarker;
2376
2379
  let cancelInteraction;
2377
2380
  let suppressSlotClickUntil = 0;
@@ -2402,7 +2405,10 @@ const TimeGridView = props => {
2402
2405
  if (!timeGrid || !timeGutter) return null;
2403
2406
  const gridRect = timeGrid.getBoundingClientRect();
2404
2407
  const gutterRect = timeGutter.getBoundingClientRect();
2405
- const dayIndex = calendarDayIndexAtPoint(clientX, gutterRect.right, gridRect.right - gutterRect.right, props.days.length);
2408
+ // The gutter stays in view while the days scroll sideways under it, so the days start one gutter after the grid.
2409
+ if (clientX < gutterRect.right) return null;
2410
+ const daysLeft = gridRect.left + gutterRect.width;
2411
+ const dayIndex = calendarDayIndexAtPoint(clientX, daysLeft, gridRect.right - daysLeft, props.days.length);
2406
2412
  if (dayIndex === null) return null;
2407
2413
  const minute = Math.min(gridEndHour() * 60 + 45, calendarMinuteAtPoint(clientY, gridRect.top, gridRect.height, gridStartHour(), gridEndHour()));
2408
2414
  return zonedMinuteSlot(props.days[dayIndex], minute, dateConfig());
@@ -2528,12 +2534,28 @@ const TimeGridView = props => {
2528
2534
  }
2529
2535
  return [...groups.values()];
2530
2536
  };
2531
- // 12 rem per lane. The 40 rem grid is wider than one or two lanes, so only
2532
- // three or more make the day scroll, and one lane fits beside a tablet drawer.
2533
- const dayColumnMinWidth = layouts => {
2534
- if (!isDayView()) return undefined;
2535
- const lanes = Math.max(1, ...layouts.map(layout => layout.lanes));
2536
- return `${lanes * 12}rem`;
2537
+ // A week shares 36 rem between its days; a single day takes 12 rem per overlapping lane. The 40 rem grid is wider
2538
+ // than one or two lanes, so only three or more make the day scroll, and one lane fits beside a tablet drawer.
2539
+ const columnTemplate = createMemo(() => {
2540
+ let dayMin = "var(--k2b-calendar-day-min)";
2541
+ if (isDayView()) {
2542
+ const day = props.days[0];
2543
+ const layouts = timedEventLayouts(eventsByDay().get(calendar.formatDateKey(day, dateConfig()))?.timed ?? []);
2544
+ dayMin = `${Math.max(1, ...layouts.map(layout => layout.lanes)) * 12}rem`;
2545
+ }
2546
+ return `4rem repeat(${props.days.length}, minmax(${dayMin}, 1fr))`;
2547
+ });
2548
+ // The hours scroll sideways themselves; the day and all-day rows follow, also when focus scrolls one of them.
2549
+ // A row's scroll event from our own write arrives a frame late; echoing it back would undo a smooth scroll or fling.
2550
+ const followed = new WeakMap();
2551
+ const followColumns = source => {
2552
+ if (followed.get(source) === source.scrollLeft) return;
2553
+ followed.delete(source);
2554
+ for (const row of [scrollContainer, daysRow, allDayRow]) {
2555
+ if (!row || row === source || row.scrollLeft === source.scrollLeft) continue;
2556
+ row.scrollLeft = source.scrollLeft;
2557
+ followed.set(row, row.scrollLeft);
2558
+ }
2537
2559
  };
2538
2560
  const laneStyle = layoutItem => {
2539
2561
  if (isDayView()) {
@@ -2582,6 +2604,9 @@ const TimeGridView = props => {
2582
2604
  _el$148 = _el$147.firstChild,
2583
2605
  _el$149 = _el$148.nextSibling,
2584
2606
  [_el$150, _co$38] = _$getNextMarker(_el$149.nextSibling);
2607
+ _el$138.addEventListener("scroll", event => followColumns(event.currentTarget));
2608
+ var _ref$2 = daysRow;
2609
+ typeof _ref$2 === "function" ? _$use(_ref$2, _el$138) : daysRow = _el$138;
2585
2610
  _$insert(_el$138, _$createComponent(For, {
2586
2611
  get each() {
2587
2612
  return props.days;
@@ -2640,6 +2665,9 @@ const TimeGridView = props => {
2640
2665
  _el$143 = _el$142.firstChild,
2641
2666
  _el$144 = _el$143.nextSibling,
2642
2667
  [_el$145, _co$37] = _$getNextMarker(_el$144.nextSibling);
2668
+ _el$142.addEventListener("scroll", event => followColumns(event.currentTarget));
2669
+ var _ref$3 = allDayRow;
2670
+ typeof _ref$3 === "function" ? _$use(_ref$3, _el$142) : allDayRow = _el$142;
2643
2671
  _$insert(_el$143, () => props.labels.allDay);
2644
2672
  _$insert(_el$142, _$createComponent(For, {
2645
2673
  get each() {
@@ -2707,7 +2735,7 @@ const TimeGridView = props => {
2707
2735
  }
2708
2736
  }), _el$145, _co$37);
2709
2737
  _$effect(_p$ => {
2710
- var _v$24 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
2738
+ var _v$24 = columnTemplate(),
2711
2739
  _v$25 = `${props.owner.allDayMaxHeightRem ?? 7}rem`;
2712
2740
  _v$24 !== _p$.e && _$setStyleProperty(_el$142, "grid-template-columns", _p$.e = _v$24);
2713
2741
  _v$25 !== _p$.t && _$setStyleProperty(_el$142, "max-height", _p$.t = _v$25);
@@ -2719,12 +2747,13 @@ const TimeGridView = props => {
2719
2747
  return _el$142;
2720
2748
  }
2721
2749
  }), _el$152, _co$39);
2722
- var _ref$2 = scrollContainer;
2723
- typeof _ref$2 === "function" ? _$use(_ref$2, _el$146) : scrollContainer = _el$146;
2724
- var _ref$3 = timeGrid;
2725
- typeof _ref$3 === "function" ? _$use(_ref$3, _el$147) : timeGrid = _el$147;
2726
- var _ref$4 = timeGutter;
2727
- typeof _ref$4 === "function" ? _$use(_ref$4, _el$148) : timeGutter = _el$148;
2750
+ _el$146.addEventListener("scroll", event => followColumns(event.currentTarget));
2751
+ var _ref$4 = scrollContainer;
2752
+ typeof _ref$4 === "function" ? _$use(_ref$4, _el$146) : scrollContainer = _el$146;
2753
+ var _ref$5 = timeGrid;
2754
+ typeof _ref$5 === "function" ? _$use(_ref$5, _el$147) : timeGrid = _el$147;
2755
+ var _ref$6 = timeGutter;
2756
+ typeof _ref$6 === "function" ? _$use(_ref$6, _el$148) : timeGutter = _el$148;
2728
2757
  _$insert(_el$148, _$createComponent(For, {
2729
2758
  get each() {
2730
2759
  return hours();
@@ -2830,10 +2859,10 @@ const TimeGridView = props => {
2830
2859
  _$insert(_el$187, () => formatTime(event.startDate, dateConfig()), _el$190, _co$50);
2831
2860
  _$insert(_el$187, () => formatTime(event.endDate, dateConfig()), _el$192, _co$51);
2832
2861
  _$effect(_p$ => {
2833
- var _v$32 = `${layout.top}%`,
2834
- _v$33 = `${layout.height}%`;
2835
- _v$32 !== _p$.e && _$setStyleProperty(_el$184, "top", _p$.e = _v$32);
2836
- _v$33 !== _p$.t && _$setStyleProperty(_el$184, "height", _p$.t = _v$33);
2862
+ var _v$30 = `${layout.top}%`,
2863
+ _v$31 = `${layout.height}%`;
2864
+ _v$30 !== _p$.e && _$setStyleProperty(_el$184, "top", _p$.e = _v$30);
2865
+ _v$31 !== _p$.t && _$setStyleProperty(_el$184, "height", _p$.t = _v$31);
2837
2866
  return _p$;
2838
2867
  }, {
2839
2868
  e: undefined,
@@ -2923,16 +2952,16 @@ const TimeGridView = props => {
2923
2952
  }
2924
2953
  }), _el$201, _co$54);
2925
2954
  _$effect(_p$ => {
2926
- var _v$34 = `${layout.top}%`,
2927
- _v$35 = `${layout.height}%`,
2928
- _v$36 = position.left,
2929
- _v$37 = position.width,
2930
- _v$38 = String(20 + layoutItem.lane);
2931
- _v$34 !== _p$.e && _$setStyleProperty(_el$195, "top", _p$.e = _v$34);
2932
- _v$35 !== _p$.t && _$setStyleProperty(_el$195, "height", _p$.t = _v$35);
2933
- _v$36 !== _p$.a && _$setStyleProperty(_el$195, "left", _p$.a = _v$36);
2934
- _v$37 !== _p$.o && _$setStyleProperty(_el$195, "width", _p$.o = _v$37);
2935
- _v$38 !== _p$.i && _$setStyleProperty(_el$195, "z-index", _p$.i = _v$38);
2955
+ var _v$32 = `${layout.top}%`,
2956
+ _v$33 = `${layout.height}%`,
2957
+ _v$34 = position.left,
2958
+ _v$35 = position.width,
2959
+ _v$36 = String(20 + layoutItem.lane);
2960
+ _v$32 !== _p$.e && _$setStyleProperty(_el$195, "top", _p$.e = _v$32);
2961
+ _v$33 !== _p$.t && _$setStyleProperty(_el$195, "height", _p$.t = _v$33);
2962
+ _v$34 !== _p$.a && _$setStyleProperty(_el$195, "left", _p$.a = _v$34);
2963
+ _v$35 !== _p$.o && _$setStyleProperty(_el$195, "width", _p$.o = _v$35);
2964
+ _v$36 !== _p$.i && _$setStyleProperty(_el$195, "z-index", _p$.i = _v$36);
2936
2965
  return _p$;
2937
2966
  }, {
2938
2967
  e: undefined,
@@ -2965,16 +2994,16 @@ const TimeGridView = props => {
2965
2994
  };
2966
2995
  _$insert(_el$203, () => overflow.hiddenEvents.length, _el$206, _co$55);
2967
2996
  _$effect(_p$ => {
2968
- var _v$39 = `${layout.top}%`,
2969
- _v$40 = `${layout.height}%`,
2970
- _v$41 = hiddenTitle(),
2971
- _v$42 = calendarMessages().hiddenOverlappingEvents({
2997
+ var _v$37 = `${layout.top}%`,
2998
+ _v$38 = `${layout.height}%`,
2999
+ _v$39 = hiddenTitle(),
3000
+ _v$40 = calendarMessages().hiddenOverlappingEvents({
2972
3001
  count: overflow.hiddenEvents.length
2973
3002
  });
2974
- _v$39 !== _p$.e && _$setStyleProperty(_el$202, "top", _p$.e = _v$39);
2975
- _v$40 !== _p$.t && _$setStyleProperty(_el$202, "height", _p$.t = _v$40);
2976
- _v$41 !== _p$.a && _$setAttribute(_el$202, "title", _p$.a = _v$41);
2977
- _v$42 !== _p$.o && _$setAttribute(_el$202, "aria-label", _p$.o = _v$42);
3003
+ _v$37 !== _p$.e && _$setStyleProperty(_el$202, "top", _p$.e = _v$37);
3004
+ _v$38 !== _p$.t && _$setStyleProperty(_el$202, "height", _p$.t = _v$38);
3005
+ _v$39 !== _p$.a && _$setAttribute(_el$202, "title", _p$.a = _v$39);
3006
+ _v$40 !== _p$.o && _$setAttribute(_el$202, "aria-label", _p$.o = _v$40);
2978
3007
  return _p$;
2979
3008
  }, {
2980
3009
  e: undefined,
@@ -3021,24 +3050,15 @@ const TimeGridView = props => {
3021
3050
  })];
3022
3051
  }
3023
3052
  }), _el$182, _co$49);
3024
- _$effect(_p$ => {
3025
- var _v$30 = dayColumnMinWidth(layouts()),
3026
- _v$31 = `repeat(${hours().length}, minmax(4rem, 1fr))`;
3027
- _v$30 !== _p$.e && _$setStyleProperty(_el$171, "min-width", _p$.e = _v$30);
3028
- _v$31 !== _p$.t && _$setStyleProperty(_el$171, "grid-template-rows", _p$.t = _v$31);
3029
- return _p$;
3030
- }, {
3031
- e: undefined,
3032
- t: undefined
3033
- });
3053
+ _$effect(_$p => _$setStyleProperty(_el$171, "grid-template-rows", `repeat(${hours().length}, minmax(4rem, 1fr))`));
3034
3054
  return _el$171;
3035
3055
  })();
3036
3056
  }
3037
3057
  }), _el$150, _co$38);
3038
3058
  _$effect(_p$ => {
3039
3059
  var _v$26 = isDayView() ? "day" : "week",
3040
- _v$27 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
3041
- _v$28 = `4rem repeat(${props.days.length}, minmax(0, 1fr))`,
3060
+ _v$27 = columnTemplate(),
3061
+ _v$28 = columnTemplate(),
3042
3062
  _v$29 = `repeat(${hours().length}, minmax(4rem, 1fr))`;
3043
3063
  _v$26 !== _p$.e && _$setAttribute(_el$137, "data-view", _p$.e = _v$26);
3044
3064
  _v$27 !== _p$.t && _$setStyleProperty(_el$138, "grid-template-columns", _p$.t = _v$27);
@@ -3128,14 +3148,14 @@ const YearView = props => {
3128
3148
  children: event => (() => {
3129
3149
  var _el$220 = _$getNextElement(_tmpl$54);
3130
3150
  _$effect(_p$ => {
3131
- var _v$43 = event().colorHex ? undefined : event().color ?? "blue",
3132
- _v$44 = day.isToday ? "true" : undefined,
3133
- _v$45 = event().colorHex ? {
3151
+ var _v$41 = event().colorHex ? undefined : event().color ?? "blue",
3152
+ _v$42 = day.isToday ? "true" : undefined,
3153
+ _v$43 = event().colorHex ? {
3134
3154
  "background-color": day.isToday ? "white" : event().colorHex
3135
3155
  } : undefined;
3136
- _v$43 !== _p$.e && _$setAttribute(_el$220, "data-color", _p$.e = _v$43);
3137
- _v$44 !== _p$.t && _$setAttribute(_el$220, "data-today", _p$.t = _v$44);
3138
- _p$.a = _$style(_el$220, _v$45, _p$.a);
3156
+ _v$41 !== _p$.e && _$setAttribute(_el$220, "data-color", _p$.e = _v$41);
3157
+ _v$42 !== _p$.t && _$setAttribute(_el$220, "data-today", _p$.t = _v$42);
3158
+ _p$.a = _$style(_el$220, _v$43, _p$.a);
3139
3159
  return _p$;
3140
3160
  }, {
3141
3161
  e: undefined,
@@ -3460,8 +3480,8 @@ const CalendarRoot = props => {
3460
3480
  [_el$233, _co$61] = _$getNextMarker(_el$232.nextSibling),
3461
3481
  _el$234 = _el$233.nextSibling,
3462
3482
  [_el$235, _co$62] = _$getNextMarker(_el$234.nextSibling);
3463
- var _ref$5 = root;
3464
- typeof _ref$5 === "function" ? _$use(_ref$5, _el$231) : root = _el$231;
3483
+ var _ref$7 = root;
3484
+ typeof _ref$7 === "function" ? _$use(_ref$7, _el$231) : root = _el$231;
3465
3485
  _$insert(_el$231, _$createComponent(CalendarHeader, {
3466
3486
  get date() {
3467
3487
  return date();
@@ -3617,10 +3637,10 @@ const CalendarRoot = props => {
3617
3637
  }
3618
3638
  }), _el$235, _co$62);
3619
3639
  _$effect(_p$ => {
3620
- var _v$46 = `k2b-content-calendar ${props.class ?? ""}`,
3621
- _v$47 = props.navigationPending ? "true" : undefined;
3622
- _v$46 !== _p$.e && _$className(_el$231, _p$.e = _v$46);
3623
- _v$47 !== _p$.t && _$setAttribute(_el$231, "aria-busy", _p$.t = _v$47);
3640
+ var _v$44 = `k2b-content-calendar ${props.class ?? ""}`,
3641
+ _v$45 = props.navigationPending ? "true" : undefined;
3642
+ _v$44 !== _p$.e && _$className(_el$231, _p$.e = _v$44);
3643
+ _v$45 !== _p$.t && _$setAttribute(_el$231, "aria-busy", _p$.t = _v$45);
3624
3644
  return _p$;
3625
3645
  }, {
3626
3646
  e: undefined,