@xy-planning-network/trees 0.4.1 → 0.4.4

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 (30) hide show
  1. package/dist/trees.es.js +672 -419
  2. package/dist/trees.umd.js +6 -6
  3. package/package.json +1 -1
  4. package/src/lib-components/forms/BaseInput.vue +2 -0
  5. package/src/lib-components/forms/Checkbox.vue +17 -10
  6. package/src/lib-components/forms/FieldsetLegend.vue +14 -0
  7. package/src/lib-components/forms/InputHelp.vue +1 -1
  8. package/src/lib-components/forms/InputLabel.vue +6 -1
  9. package/src/lib-components/forms/MultiCheckboxes.vue +93 -31
  10. package/src/lib-components/forms/Radio.vue +81 -34
  11. package/src/lib-components/forms/Select.vue +2 -2
  12. package/src/lib-components/forms/TextArea.vue +2 -0
  13. package/src/lib-components/forms/Toggle.vue +2 -0
  14. package/src/lib-components/forms/YesOrNoRadio.vue +70 -40
  15. package/src/lib-components/navigation/Paginator.vue +15 -19
  16. package/src/lib-components/overlays/Popover/Popover.vue +163 -43
  17. package/src/lib-components/overlays/Popover/PopoverContent.vue +1 -1
  18. package/src/lib-components/overlays/Tooltip.vue +13 -10
  19. package/types/helpers/Debounce.d.ts +1 -0
  20. package/types/helpers/Slots.d.ts +2 -0
  21. package/types/helpers/Throttle.d.ts +1 -0
  22. package/types/lib-components/forms/Checkbox.vue.d.ts +8 -0
  23. package/types/lib-components/forms/FieldsetLegend.vue.d.ts +2 -0
  24. package/types/lib-components/forms/InputLabel.vue.d.ts +8 -0
  25. package/types/lib-components/forms/MultiCheckboxes.vue.d.ts +32 -7
  26. package/types/lib-components/forms/Radio.vue.d.ts +26 -13
  27. package/types/lib-components/forms/YesOrNoRadio.vue.d.ts +8 -0
  28. package/types/lib-components/index.d.ts +3 -1
  29. package/types/lib-components/overlays/Popover/Popover.vue.d.ts +9 -1
  30. package/types/lib-components/overlays/Tooltip.vue.d.ts +8 -1
package/dist/trees.es.js CHANGED
@@ -17,7 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { cloneVNode, h, inject, provide, watchEffect, defineComponent, ref, onUnmounted, Teleport, reactive, onUpdated, computed, onMounted, nextTick, watch, openBlock, createBlock, createVNode, unref, withCtx, Transition, createElementVNode, createElementBlock, Fragment, renderList, normalizeClass, toDisplayString, createCommentVNode, renderSlot, resolveDynamicComponent, normalizeProps, mergeProps, createTextVNode, useAttrs, withModifiers, TransitionGroup, withDirectives, vShow, getCurrentInstance, vModelText, resolveComponent, vModelCheckbox } from "vue";
20
+ import { cloneVNode, h, inject, provide, watchEffect, defineComponent, ref, onUnmounted, Teleport, reactive, onUpdated, computed, onMounted, nextTick, watch, openBlock, createBlock, createVNode, unref, withCtx, Transition, createElementVNode, createElementBlock, Fragment, renderList, normalizeClass, toDisplayString, createCommentVNode, renderSlot, resolveDynamicComponent, mergeProps, createTextVNode, normalizeProps, useAttrs, withModifiers, TransitionGroup, withDirectives, vShow, normalizeStyle, getCurrentInstance, vModelText, resolveComponent, Comment as Comment$1, Text, useSlots } from "vue";
21
21
  var axios$2 = { exports: {} };
22
22
  var bind$2 = function bind(fn, thisArg) {
23
23
  return function wrap() {
@@ -4170,10 +4170,10 @@ function render$5(_ctx, _cache) {
4170
4170
  })
4171
4171
  ]);
4172
4172
  }
4173
- const _hoisted_1$r = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Open options", -1);
4173
+ const _hoisted_1$q = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Open options", -1);
4174
4174
  const _hoisted_2$k = { class: "py-1" };
4175
- const _hoisted_3$g = ["textContent", "onClick"];
4176
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
4175
+ const _hoisted_3$j = ["textContent", "onClick"];
4176
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
4177
4177
  props: {
4178
4178
  currentUser: null,
4179
4179
  items: null,
@@ -4214,7 +4214,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
4214
4214
  disabled: !hasActionItems.value
4215
4215
  }, {
4216
4216
  default: withCtx(() => [
4217
- _hoisted_1$r,
4217
+ _hoisted_1$q,
4218
4218
  createVNode(unref(render$6), {
4219
4219
  class: "w-5 h-5",
4220
4220
  "aria-hidden": "true"
@@ -4249,7 +4249,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
4249
4249
  ]),
4250
4250
  textContent: toDisplayString(item.label),
4251
4251
  onClick: ($event) => emitEvent(item.event)
4252
- }, null, 10, _hoisted_3$g)
4252
+ }, null, 10, _hoisted_3$j)
4253
4253
  ]),
4254
4254
  _: 2
4255
4255
  }, 1024)) : createCommentVNode("", true)
@@ -4268,10 +4268,10 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
4268
4268
  };
4269
4269
  }
4270
4270
  });
4271
- const _hoisted_1$q = { class: "px-4 py-5 sm:p-6 text-center" };
4271
+ const _hoisted_1$p = { class: "px-4 py-5 sm:p-6 text-center" };
4272
4272
  const _hoisted_2$j = ["textContent"];
4273
- const _hoisted_3$f = ["textContent"];
4274
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
4273
+ const _hoisted_3$i = ["textContent"];
4274
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
4275
4275
  props: {
4276
4276
  cards: null
4277
4277
  },
@@ -4285,7 +4285,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4285
4285
  class: "bg-white overflow-hidden shadow rounded-lg",
4286
4286
  key: idx
4287
4287
  }, [
4288
- createElementVNode("div", _hoisted_1$q, [
4288
+ createElementVNode("div", _hoisted_1$p, [
4289
4289
  createElementVNode("dl", null, [
4290
4290
  createElementVNode("dd", {
4291
4291
  class: "mt-1 text-3xl leading-9 font-semibold text-xy-blue",
@@ -4294,7 +4294,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4294
4294
  createElementVNode("dt", {
4295
4295
  class: "text-sm leading-5 font-medium text-gray-700 truncate",
4296
4296
  textContent: toDisplayString(card.secondary)
4297
- }, null, 8, _hoisted_3$f)
4297
+ }, null, 8, _hoisted_3$i)
4298
4298
  ])
4299
4299
  ])
4300
4300
  ]);
@@ -4303,16 +4303,16 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4303
4303
  };
4304
4304
  }
4305
4305
  });
4306
- const _hoisted_1$p = { class: "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" };
4306
+ const _hoisted_1$o = { class: "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" };
4307
4307
  const _hoisted_2$i = /* @__PURE__ */ createElementVNode("span", {
4308
4308
  class: "hidden sm:inline-block sm:align-middle sm:h-screen",
4309
4309
  "aria-hidden": "true"
4310
4310
  }, "\u200B", -1);
4311
- const _hoisted_3$e = { class: "inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-sm sm:w-full sm:p-6" };
4312
- const _hoisted_4$b = { class: "mt-3 text-center sm:mt-5" };
4313
- const _hoisted_5$9 = { class: "mt-2" };
4314
- const _hoisted_6$9 = { class: "mt-5 sm:mt-6" };
4315
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
4311
+ const _hoisted_3$h = { class: "inline-block align-bottom bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-sm sm:w-full sm:p-6" };
4312
+ const _hoisted_4$e = { class: "mt-3 text-center sm:mt-5" };
4313
+ const _hoisted_5$c = { class: "mt-2" };
4314
+ const _hoisted_6$c = { class: "mt-5 sm:mt-6" };
4315
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
4316
4316
  props: {
4317
4317
  modelValue: { type: Boolean },
4318
4318
  title: { default: "" }
@@ -4336,7 +4336,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
4336
4336
  open: __props.modelValue
4337
4337
  }, {
4338
4338
  default: withCtx(() => [
4339
- createElementVNode("div", _hoisted_1$p, [
4339
+ createElementVNode("div", _hoisted_1$o, [
4340
4340
  createVNode(unref(TransitionChild), {
4341
4341
  as: "template",
4342
4342
  enter: "ease-out duration-300",
@@ -4362,20 +4362,20 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
4362
4362
  "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
4363
4363
  }, {
4364
4364
  default: withCtx(() => [
4365
- createElementVNode("div", _hoisted_3$e, [
4365
+ createElementVNode("div", _hoisted_3$h, [
4366
4366
  createElementVNode("div", null, [
4367
4367
  renderSlot(_ctx.$slots, "icon"),
4368
- createElementVNode("div", _hoisted_4$b, [
4368
+ createElementVNode("div", _hoisted_4$e, [
4369
4369
  createVNode(unref(DialogTitle), {
4370
4370
  as: "h3",
4371
4371
  textContent: toDisplayString(__props.title)
4372
4372
  }, null, 8, ["textContent"]),
4373
- createElementVNode("div", _hoisted_5$9, [
4373
+ createElementVNode("div", _hoisted_5$c, [
4374
4374
  renderSlot(_ctx.$slots, "default")
4375
4375
  ])
4376
4376
  ])
4377
4377
  ]),
4378
- createElementVNode("div", _hoisted_6$9, [
4378
+ createElementVNode("div", _hoisted_6$c, [
4379
4379
  createElementVNode("button", {
4380
4380
  type: "button",
4381
4381
  class: "inline-flex justify-center w-full xy-btn",
@@ -6489,25 +6489,30 @@ if (typeof window !== "undefined") {
6489
6489
  window.flatpickr = flatpickr;
6490
6490
  }
6491
6491
  var flatpickr_min = "";
6492
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
6492
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
6493
6493
  props: {
6494
+ disabled: { type: Boolean, default: false },
6494
6495
  label: { default: "" },
6495
6496
  tag: { default: "label" }
6496
6497
  },
6497
6498
  setup(__props) {
6498
6499
  return (_ctx, _cache) => {
6499
- return __props.label ? (openBlock(), createBlock(resolveDynamicComponent(__props.tag), normalizeProps(mergeProps({ key: 0 }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
6500
- class: "block my-1 text-sm font-semibold leading-snug text-gray-900"
6501
- }))), {
6500
+ return __props.label ? (openBlock(), createBlock(resolveDynamicComponent(__props.tag), mergeProps({
6501
+ key: 0,
6502
+ class: {
6503
+ "block my-1 text-sm font-semibold leading-snug text-gray-900": true,
6504
+ "opacity-75": __props.disabled
6505
+ }
6506
+ }, __spreadValues({}, _ctx.$attrs)), {
6502
6507
  default: withCtx(() => [
6503
6508
  createTextVNode(toDisplayString(__props.label), 1)
6504
6509
  ]),
6505
6510
  _: 1
6506
- }, 16)) : createCommentVNode("", true);
6511
+ }, 16, ["class"])) : createCommentVNode("", true);
6507
6512
  };
6508
6513
  }
6509
6514
  });
6510
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
6515
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
6511
6516
  props: {
6512
6517
  tag: { default: "div" },
6513
6518
  text: { default: "" }
@@ -6515,7 +6520,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6515
6520
  setup(__props) {
6516
6521
  return (_ctx, _cache) => {
6517
6522
  return __props.text ? (openBlock(), createBlock(resolveDynamicComponent(__props.tag), normalizeProps(mergeProps({ key: 0 }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
6518
- class: "mt-2 text-sm leading-snug font-semibold text-gray-700"
6523
+ class: "mt-1 text-sm leading-snug font-normal text-gray-700"
6519
6524
  }))), {
6520
6525
  default: withCtx(() => [
6521
6526
  createTextVNode(toDisplayString(__props.text), 1)
@@ -6525,8 +6530,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6525
6530
  };
6526
6531
  }
6527
6532
  });
6528
- const _hoisted_1$o = ["aria-labelledby", "aria-describedby", "id", "placeholder", "type", "value"];
6529
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
6533
+ const _hoisted_1$n = ["aria-labelledby", "aria-describedby", "id", "placeholder", "type", "value"];
6534
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
6530
6535
  props: {
6531
6536
  type: null,
6532
6537
  help: { default: "" },
@@ -6557,7 +6562,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6557
6562
  });
6558
6563
  return (_ctx, _cache) => {
6559
6564
  return openBlock(), createElementBlock(Fragment, null, [
6560
- createVNode(_sfc_main$r, {
6565
+ createVNode(_sfc_main$s, {
6561
6566
  class: "block",
6562
6567
  id: `${unref(uuid)}-label`,
6563
6568
  for: unref(uuid),
@@ -6575,7 +6580,9 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6575
6580
  "focus:border-blue-500",
6576
6581
  "border-gray-600",
6577
6582
  "rounded-md",
6578
- "w-full"
6583
+ "w-full",
6584
+ "disabled:opacity-70",
6585
+ "disabled:cursor-not-allowed"
6579
6586
  ] : []
6580
6587
  ],
6581
6588
  id: unref(uuid),
@@ -6583,8 +6590,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6583
6590
  type: __props.type,
6584
6591
  value: __props.modelValue,
6585
6592
  onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value))
6586
- }, _ctx.$attrs), null, 16, _hoisted_1$o),
6587
- createVNode(_sfc_main$q, {
6593
+ }, _ctx.$attrs), null, 16, _hoisted_1$n),
6594
+ createVNode(_sfc_main$r, {
6588
6595
  id: `${unref(uuid)}-help`,
6589
6596
  text: __props.help
6590
6597
  }, null, 8, ["id", "text"])
@@ -6592,7 +6599,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6592
6599
  };
6593
6600
  }
6594
6601
  });
6595
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
6602
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
6596
6603
  props: {
6597
6604
  modelValue: null,
6598
6605
  startDate: { default: 0 },
@@ -6629,7 +6636,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6629
6636
  });
6630
6637
  });
6631
6638
  return (_ctx, _cache) => {
6632
- return openBlock(), createBlock(_sfc_main$p, {
6639
+ return openBlock(), createBlock(_sfc_main$q, {
6633
6640
  type: "text",
6634
6641
  placeholder: "mm-dd-yyyy range",
6635
6642
  id: unref(uuid),
@@ -6639,15 +6646,15 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6639
6646
  };
6640
6647
  }
6641
6648
  });
6642
- const _hoisted_1$n = ["aria-labelledby", "aria-describedby", "id", "value"];
6649
+ const _hoisted_1$m = ["aria-labelledby", "aria-describedby", "id", "value"];
6643
6650
  const _hoisted_2$h = {
6644
6651
  key: 0,
6645
6652
  value: "",
6646
6653
  disabled: "",
6647
6654
  selected: ""
6648
6655
  };
6649
- const _hoisted_3$d = ["value", "textContent"];
6650
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
6656
+ const _hoisted_3$g = ["value", "textContent"];
6657
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
6651
6658
  props: {
6652
6659
  design: { default: "standard" },
6653
6660
  label: { default: "" },
@@ -6663,13 +6670,13 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6663
6670
  const uuid = attrs.id || Uniques.CreateIdAttribute();
6664
6671
  const classes = computed(() => {
6665
6672
  return {
6666
- standard: "mt-1 block w-full border border-gray-600 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm",
6667
- compressed: "appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-600 text-gray-900 focus:outline-none focus:ring-blue-500 focus:border-blue-500 focus:z-10 sm:text-sm"
6673
+ standard: "mt-1 block w-full border border-gray-600 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm disabled:opacity-70 disabled:cursor-not-allowed",
6674
+ compressed: "appearance-none rounded-none relative block w-full px-3 py-2 border border-gray-600 text-gray-900 focus:outline-none focus:ring-blue-500 focus:border-blue-500 focus:z-10 sm:text-sm disabled:opacity-70 disabled:cursor-not-allowed"
6668
6675
  }[props.design];
6669
6676
  });
6670
6677
  return (_ctx, _cache) => {
6671
6678
  return openBlock(), createElementBlock(Fragment, null, [
6672
- createVNode(_sfc_main$r, {
6679
+ createVNode(_sfc_main$s, {
6673
6680
  id: `${unref(uuid)}-label`,
6674
6681
  for: unref(uuid),
6675
6682
  label: __props.label
@@ -6691,10 +6698,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6691
6698
  value: option.value,
6692
6699
  textContent: toDisplayString(option.label),
6693
6700
  key: option.value
6694
- }, null, 8, _hoisted_3$d);
6701
+ }, null, 8, _hoisted_3$g);
6695
6702
  }), 128))
6696
- ], 16, _hoisted_1$n),
6697
- createVNode(_sfc_main$q, {
6703
+ ], 16, _hoisted_1$m),
6704
+ createVNode(_sfc_main$r, {
6698
6705
  id: `${unref(uuid)}-help`,
6699
6706
  text: __props.help
6700
6707
  }, null, 8, ["id", "text"])
@@ -6702,11 +6709,11 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6702
6709
  };
6703
6710
  }
6704
6711
  });
6705
- const _hoisted_1$m = { class: "md:flex md:items-center md:justify-between bg-white mx-auto py-4 border-t border-gray-100" };
6712
+ const _hoisted_1$l = { class: "md:flex md:items-center md:justify-between bg-white mx-auto py-4 border-t border-gray-100" };
6706
6713
  const _hoisted_2$g = { class: "flex-1 min-w-0" };
6707
- const _hoisted_3$c = { class: "text-lg leading-6 font-semibold text-gray-900" };
6708
- const _hoisted_4$a = { class: "mt-4 flex md:mt-0 md:ml-4" };
6709
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
6714
+ const _hoisted_3$f = { class: "text-lg leading-6 font-semibold text-gray-900" };
6715
+ const _hoisted_4$d = { class: "mt-4 flex md:mt-0 md:ml-4" };
6716
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
6710
6717
  props: {
6711
6718
  dateRange: null,
6712
6719
  sortDir: null,
@@ -6728,12 +6735,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
6728
6735
  emits("date-range-changed", dateRange2);
6729
6736
  };
6730
6737
  return (_ctx, _cache) => {
6731
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
6738
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [
6732
6739
  createElementVNode("div", _hoisted_2$g, [
6733
- createElementVNode("h1", _hoisted_3$c, toDisplayString(__props.title), 1)
6740
+ createElementVNode("h1", _hoisted_3$f, toDisplayString(__props.title), 1)
6734
6741
  ]),
6735
- createElementVNode("div", _hoisted_4$a, [
6736
- createVNode(_sfc_main$n, {
6742
+ createElementVNode("div", _hoisted_4$d, [
6743
+ createVNode(_sfc_main$o, {
6737
6744
  modelValue: sortDir.value,
6738
6745
  "onUpdate:modelValue": [
6739
6746
  _cache[0] || (_cache[0] = ($event) => sortDir.value = $event),
@@ -6741,7 +6748,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
6741
6748
  ],
6742
6749
  options: sortOptions
6743
6750
  }, null, 8, ["modelValue"]),
6744
- createVNode(_sfc_main$o, {
6751
+ createVNode(_sfc_main$p, {
6745
6752
  modelValue: dateRange.value,
6746
6753
  "onUpdate:modelValue": [
6747
6754
  _cache[1] || (_cache[1] = ($event) => dateRange.value = $event),
@@ -6754,9 +6761,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
6754
6761
  };
6755
6762
  }
6756
6763
  });
6757
- const _hoisted_1$l = { class: "px-4 flex items-center justify-between sm:px-0" };
6764
+ const _hoisted_1$k = { class: "px-4 flex items-center justify-between sm:px-0" };
6758
6765
  const _hoisted_2$f = { class: "w-0 flex-1 flex" };
6759
- const _hoisted_3$b = /* @__PURE__ */ createElementVNode("svg", {
6766
+ const _hoisted_3$e = /* @__PURE__ */ createElementVNode("svg", {
6760
6767
  class: "mr-3 h-5 w-5",
6761
6768
  fill: "currentColor",
6762
6769
  viewBox: "0 0 20 20"
@@ -6767,12 +6774,12 @@ const _hoisted_3$b = /* @__PURE__ */ createElementVNode("svg", {
6767
6774
  "clip-rule": "evenodd"
6768
6775
  })
6769
6776
  ], -1);
6770
- const _hoisted_4$9 = /* @__PURE__ */ createTextVNode(" Previous ");
6771
- const _hoisted_5$8 = [
6772
- _hoisted_3$b,
6773
- _hoisted_4$9
6777
+ const _hoisted_4$c = /* @__PURE__ */ createTextVNode(" Previous ");
6778
+ const _hoisted_5$b = [
6779
+ _hoisted_3$e,
6780
+ _hoisted_4$c
6774
6781
  ];
6775
- const _hoisted_6$8 = { class: "hidden md:flex" };
6782
+ const _hoisted_6$b = { class: "hidden md:flex" };
6776
6783
  const _hoisted_7$8 = ["textContent", "onClick"];
6777
6784
  const _hoisted_8$8 = { class: "w-0 flex-1 flex justify-end" };
6778
6785
  const _hoisted_9$8 = /* @__PURE__ */ createTextVNode(" Next ");
@@ -6791,60 +6798,57 @@ const _hoisted_11$5 = [
6791
6798
  _hoisted_9$8,
6792
6799
  _hoisted_10$8
6793
6800
  ];
6794
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
6801
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
6795
6802
  props: {
6796
6803
  modelValue: null
6797
6804
  },
6798
6805
  emits: ["update:modelValue"],
6799
6806
  setup(__props, { emit }) {
6800
6807
  const props = __props;
6801
- const pagination = ref(props.modelValue);
6802
- const updateModelValue2 = () => {
6803
- emit("update:modelValue", pagination.value);
6804
- };
6805
6808
  const changePage = (page) => {
6806
- pagination.value.page = page;
6807
- updateModelValue2();
6809
+ emit("update:modelValue", __spreadProps(__spreadValues({}, props.modelValue), {
6810
+ page
6811
+ }));
6808
6812
  };
6809
6813
  const pageShortcuts = computed(() => {
6810
6814
  const shortcuts = [];
6811
- if (pagination.value.totalPages <= 4) {
6812
- for (let i = 0; i < pagination.value.totalPages; i++) {
6815
+ if (props.modelValue.totalPages <= 4) {
6816
+ for (let i = 0; i < props.modelValue.totalPages; i++) {
6813
6817
  shortcuts.push(i + 1);
6814
6818
  }
6815
6819
  return shortcuts;
6816
6820
  }
6817
- const pagesLeft = pagination.value.totalPages - pagination.value.page;
6821
+ const pagesLeft = props.modelValue.totalPages - props.modelValue.page;
6818
6822
  if (pagesLeft >= 3) {
6819
6823
  for (let i = 0; i < 4; i++) {
6820
- shortcuts.push(pagination.value.page + i);
6824
+ shortcuts.push(props.modelValue.page + i);
6821
6825
  }
6822
6826
  return shortcuts;
6823
6827
  }
6824
6828
  for (let i = 0; i < 4; i++) {
6825
- shortcuts.unshift(pagination.value.totalPages - i);
6829
+ shortcuts.unshift(props.modelValue.totalPages - i);
6826
6830
  }
6827
6831
  return shortcuts;
6828
6832
  });
6829
6833
  return (_ctx, _cache) => {
6830
- return openBlock(), createElementBlock("div", _hoisted_1$l, [
6834
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
6831
6835
  createElementVNode("div", _hoisted_2$f, [
6832
6836
  createElementVNode("a", {
6833
6837
  href: "#",
6834
6838
  class: normalizeClass([
6835
6839
  "-mt-px border-t-2 border-transparent pt-4 pr-1 inline-flex items-center text-sm leading-5 font-medium focus:outline-none focus:text-gray-700 focus:border-gray-400",
6836
- pagination.value.page == 1 ? "text-gray-500 cursor-not-allowed pointer-events-none" : "text-gray-700 hover:text-gray-900 hover:border-gray-300"
6840
+ __props.modelValue.page == 1 ? "text-gray-500 cursor-not-allowed pointer-events-none" : "text-gray-700 hover:text-gray-900 hover:border-gray-300"
6837
6841
  ]),
6838
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => changePage(pagination.value.page - 1), ["prevent"]))
6839
- }, _hoisted_5$8, 2)
6842
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => changePage(__props.modelValue.page - 1), ["prevent"]))
6843
+ }, _hoisted_5$b, 2)
6840
6844
  ]),
6841
- createElementVNode("div", _hoisted_6$8, [
6845
+ createElementVNode("div", _hoisted_6$b, [
6842
6846
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pageShortcuts), (i) => {
6843
6847
  return openBlock(), createElementBlock("a", {
6844
6848
  href: "#",
6845
6849
  class: normalizeClass([
6846
6850
  "-mt-px border-t-2 pt-4 px-4 inline-flex items-center text-sm leading-5 font-medium",
6847
- pagination.value.page === i ? "border-blue-500 text-blue-600 focus:outline-none focus:text-blue-800 focus:border-blue-700" : "border-transparent text-gray-700 hover:text-gray-900 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-400"
6851
+ __props.modelValue.page === i ? "border-blue-500 text-blue-600 focus:outline-none focus:text-blue-800 focus:border-blue-700" : "border-transparent text-gray-700 hover:text-gray-900 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-400"
6848
6852
  ]),
6849
6853
  key: i,
6850
6854
  textContent: toDisplayString(i),
@@ -6857,20 +6861,20 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
6857
6861
  href: "#",
6858
6862
  class: normalizeClass([
6859
6863
  "-mt-px border-t-2 border-transparent pt-4 pl-1 inline-flex items-center text-sm leading-5 font-medium focus:outline-none focus:text-gray-700 focus:border-gray-400",
6860
- pagination.value.page >= pagination.value.totalPages ? "text-gray-500 cursor-not-allowed pointer-events-none" : "text-gray-700 hover:text-gray-900 hover:border-gray-300"
6864
+ __props.modelValue.page >= __props.modelValue.totalPages ? "text-gray-500 cursor-not-allowed pointer-events-none" : "text-gray-700 hover:text-gray-900 hover:border-gray-300"
6861
6865
  ]),
6862
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => changePage(pagination.value.page + 1), ["prevent"]))
6866
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => changePage(__props.modelValue.page + 1), ["prevent"]))
6863
6867
  }, _hoisted_11$5, 2)
6864
6868
  ])
6865
6869
  ]);
6866
6870
  };
6867
6871
  }
6868
6872
  });
6869
- const _hoisted_1$k = {
6873
+ const _hoisted_1$j = {
6870
6874
  key: 0,
6871
6875
  class: "shadow overflow-hidden sm:rounded-md border"
6872
6876
  };
6873
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
6877
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
6874
6878
  props: {
6875
6879
  refreshTrigger: { default: 0 },
6876
6880
  reloadTrigger: { default: 0 },
@@ -6925,14 +6929,14 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6925
6929
  loadAndRender(true);
6926
6930
  return (_ctx, _cache) => {
6927
6931
  return openBlock(), createElementBlock("div", null, [
6928
- createVNode(_sfc_main$m, {
6932
+ createVNode(_sfc_main$n, {
6929
6933
  "date-range": dateRange.value,
6930
6934
  "sort-dir": sortDir.value,
6931
6935
  title: __props.title,
6932
6936
  onSortDirChanged: _cache[0] || (_cache[0] = ($event) => sortDir.value = $event),
6933
6937
  onDateRangeChanged: _cache[1] || (_cache[1] = ($event) => dateRange.value = $event)
6934
6938
  }, null, 8, ["date-range", "sort-dir", "title"]),
6935
- hasContent.value ? (openBlock(), createElementBlock("div", _hoisted_1$k, [
6939
+ hasContent.value ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
6936
6940
  createElementVNode("ul", null, [
6937
6941
  (openBlock(true), createElementBlock(Fragment, null, renderList(items.value, (item, idx) => {
6938
6942
  return openBlock(), createElementBlock("li", {
@@ -6944,7 +6948,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6944
6948
  }), 128))
6945
6949
  ])
6946
6950
  ])) : renderSlot(_ctx.$slots, "empty", { key: 1 }),
6947
- hasContent.value ? (openBlock(), createBlock(_sfc_main$l, {
6951
+ hasContent.value ? (openBlock(), createBlock(_sfc_main$m, {
6948
6952
  key: 2,
6949
6953
  modelValue: pagination.value,
6950
6954
  "onUpdate:modelValue": [
@@ -6956,8 +6960,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6956
6960
  };
6957
6961
  }
6958
6962
  });
6959
- const _hoisted_1$j = ["href"];
6960
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
6963
+ const _hoisted_1$i = ["href"];
6964
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6961
6965
  props: {
6962
6966
  propsData: null,
6963
6967
  attribute: null
@@ -6968,16 +6972,16 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6968
6972
  href: __props.propsData[__props.attribute]
6969
6973
  }, [
6970
6974
  createVNode(unref(render$5), { class: "h-6 w-6 group-hover:text-gray-500 transition" })
6971
- ], 8, _hoisted_1$j);
6975
+ ], 8, _hoisted_1$i);
6972
6976
  };
6973
6977
  }
6974
6978
  });
6975
- const _hoisted_1$i = { class: "fixed inset-0 flex flex-col items-end justify-end px-4 py-6 pointer-events-none sm:p-6 z-40" };
6979
+ const _hoisted_1$h = { class: "fixed inset-0 flex flex-col items-end justify-end px-4 py-6 pointer-events-none sm:p-6 z-40" };
6976
6980
  const _hoisted_2$e = { class: "rounded-lg ring-1 ring-black ring-opacity-5 overflow-hidden" };
6977
- const _hoisted_3$a = { class: "p-4" };
6978
- const _hoisted_4$8 = { class: "flex items-center" };
6979
- const _hoisted_5$7 = { class: "w-0 flex-1 flex justify-between" };
6980
- const _hoisted_6$7 = ["innerHTML"];
6981
+ const _hoisted_3$d = { class: "p-4" };
6982
+ const _hoisted_4$b = { class: "flex items-center" };
6983
+ const _hoisted_5$a = { class: "w-0 flex-1 flex justify-between" };
6984
+ const _hoisted_6$a = ["innerHTML"];
6981
6985
  const _hoisted_7$7 = { class: "ml-4 flex-shrink-0 flex" };
6982
6986
  const _hoisted_8$7 = ["onClick"];
6983
6987
  const _hoisted_9$7 = /* @__PURE__ */ createElementVNode("svg", {
@@ -6994,7 +6998,7 @@ const _hoisted_9$7 = /* @__PURE__ */ createElementVNode("svg", {
6994
6998
  const _hoisted_10$7 = [
6995
6999
  _hoisted_9$7
6996
7000
  ];
6997
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
7001
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6998
7002
  setup(__props) {
6999
7003
  const flashes = ref([]);
7000
7004
  const flashTypeBorderClass = {
@@ -7049,7 +7053,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
7049
7053
  }
7050
7054
  });
7051
7055
  return (_ctx, _cache) => {
7052
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
7056
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
7053
7057
  createVNode(TransitionGroup, {
7054
7058
  tag: "div",
7055
7059
  class: "max-w-sm w-full",
@@ -7067,13 +7071,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
7067
7071
  class: normalizeClass(["bg-white shadow-lg rounded-lg pointer-events-auto border-t-4 transform", [{ "mt-2": idx > 0 }, getFlashClass(flash)]])
7068
7072
  }, [
7069
7073
  createElementVNode("div", _hoisted_2$e, [
7070
- createElementVNode("div", _hoisted_3$a, [
7071
- createElementVNode("div", _hoisted_4$8, [
7072
- createElementVNode("div", _hoisted_5$7, [
7074
+ createElementVNode("div", _hoisted_3$d, [
7075
+ createElementVNode("div", _hoisted_4$b, [
7076
+ createElementVNode("div", _hoisted_5$a, [
7073
7077
  createElementVNode("p", {
7074
7078
  class: "w-0 flex-1 text-sm leading-5 font-medium text-gray-900",
7075
7079
  innerHTML: flash.message
7076
- }, null, 8, _hoisted_6$7)
7080
+ }, null, 8, _hoisted_6$a)
7077
7081
  ]),
7078
7082
  createElementVNode("div", _hoisted_7$7, [
7079
7083
  createElementVNode("button", {
@@ -7173,15 +7177,15 @@ function render(_ctx, _cache) {
7173
7177
  })
7174
7178
  ]);
7175
7179
  }
7176
- const _hoisted_1$h = { class: "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" };
7180
+ const _hoisted_1$g = { class: "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" };
7177
7181
  const _hoisted_2$d = /* @__PURE__ */ createElementVNode("span", {
7178
7182
  class: "hidden sm:inline-block sm:align-middle sm:h-screen",
7179
7183
  "aria-hidden": "true"
7180
7184
  }, "\u200B", -1);
7181
- const _hoisted_3$9 = { class: "inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-2xl w-full" };
7182
- const _hoisted_4$7 = { class: "block absolute top-0 right-0 pt-4 pr-4" };
7183
- const _hoisted_5$6 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Close", -1);
7184
- const _hoisted_6$6 = { class: "bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" };
7185
+ const _hoisted_3$c = { class: "inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-2xl w-full" };
7186
+ const _hoisted_4$a = { class: "block absolute top-0 right-0 pt-4 pr-4" };
7187
+ const _hoisted_5$9 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Close", -1);
7188
+ const _hoisted_6$9 = { class: "bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" };
7185
7189
  const _hoisted_7$6 = { class: "mt-3 sm:mt-0 sm:text-left" };
7186
7190
  const _hoisted_8$6 = { class: "mt-2" };
7187
7191
  const _hoisted_9$6 = {
@@ -7189,7 +7193,7 @@ const _hoisted_9$6 = {
7189
7193
  class: "bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"
7190
7194
  };
7191
7195
  const _hoisted_10$6 = ["textContent", "disabled"];
7192
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
7196
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
7193
7197
  props: {
7194
7198
  destructive: { type: Boolean, default: false },
7195
7199
  disabled: { type: Boolean, default: false },
@@ -7219,7 +7223,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7219
7223
  open: __props.modelValue
7220
7224
  }, {
7221
7225
  default: withCtx(() => [
7222
- createElementVNode("div", _hoisted_1$h, [
7226
+ createElementVNode("div", _hoisted_1$g, [
7223
7227
  createVNode(unref(TransitionChild), {
7224
7228
  as: "template",
7225
7229
  enter: "ease-out duration-300",
@@ -7245,21 +7249,21 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7245
7249
  "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
7246
7250
  }, {
7247
7251
  default: withCtx(() => [
7248
- createElementVNode("div", _hoisted_3$9, [
7249
- createElementVNode("div", _hoisted_4$7, [
7252
+ createElementVNode("div", _hoisted_3$c, [
7253
+ createElementVNode("div", _hoisted_4$a, [
7250
7254
  createElementVNode("button", {
7251
7255
  type: "button",
7252
7256
  class: "bg-white rounded-md text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",
7253
7257
  onClick: _cache[0] || (_cache[0] = ($event) => updateModelValue2(false))
7254
7258
  }, [
7255
- _hoisted_5$6,
7259
+ _hoisted_5$9,
7256
7260
  createVNode(unref(render), {
7257
7261
  class: "h-6 w-6",
7258
7262
  "aria-hidden": "true"
7259
7263
  })
7260
7264
  ])
7261
7265
  ]),
7262
- createElementVNode("div", _hoisted_6$6, [
7266
+ createElementVNode("div", _hoisted_6$9, [
7263
7267
  createElementVNode("div", _hoisted_7$6, [
7264
7268
  createVNode(unref(DialogTitle), {
7265
7269
  as: "h3",
@@ -7301,7 +7305,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7301
7305
  };
7302
7306
  }
7303
7307
  });
7304
- const _hoisted_1$g = {
7308
+ const _hoisted_1$f = {
7305
7309
  key: 0,
7306
7310
  class: "fixed top-0 left-0 flex items-center justify-center w-full h-full cursor-not-allowed z-50 bg-gray-50 bg-opacity-50"
7307
7311
  };
@@ -7383,7 +7387,7 @@ const _hoisted_2$c = /* @__PURE__ */ createElementVNode("div", { class: "flex ju
7383
7387
  ])
7384
7388
  ])
7385
7389
  ], -1);
7386
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
7390
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7387
7391
  setup(__props) {
7388
7392
  const idx = ref(0);
7389
7393
  const loading = ref(false);
@@ -7425,7 +7429,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
7425
7429
  });
7426
7430
  });
7427
7431
  return (_ctx, _cache) => {
7428
- return loading.value ? (openBlock(), createElementBlock("div", _hoisted_1$g, [
7432
+ return loading.value ? (openBlock(), createElementBlock("div", _hoisted_1$f, [
7429
7433
  createElementVNode("div", null, [
7430
7434
  _hoisted_2$c,
7431
7435
  withDirectives(createElementVNode("div", null, [
@@ -7455,12 +7459,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
7455
7459
  };
7456
7460
  }
7457
7461
  });
7458
- const _hoisted_1$f = { class: "h-screen flex overflow-hidden bg-gray-100" };
7462
+ const _hoisted_1$e = { class: "h-screen flex overflow-hidden bg-gray-100" };
7459
7463
  const _hoisted_2$b = { class: "relative flex-1 flex flex-col max-w-xs w-full pt-5 pb-4 bg-white" };
7460
- const _hoisted_3$8 = { class: "absolute top-0 right-0 -mr-12 pt-2" };
7461
- const _hoisted_4$6 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Close sidebar", -1);
7462
- const _hoisted_5$5 = { class: "flex-shrink-0 flex justify-center px-4" };
7463
- const _hoisted_6$5 = ["src"];
7464
+ const _hoisted_3$b = { class: "absolute top-0 right-0 -mr-12 pt-2" };
7465
+ const _hoisted_4$9 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Close sidebar", -1);
7466
+ const _hoisted_5$8 = { class: "flex-shrink-0 flex justify-center px-4" };
7467
+ const _hoisted_6$8 = ["src"];
7464
7468
  const _hoisted_7$5 = { class: "mt-5 flex-1 h-0 overflow-y-auto" };
7465
7469
  const _hoisted_8$5 = { class: "px-2 space-y-1" };
7466
7470
  const _hoisted_9$5 = ["href", "target"];
@@ -7487,7 +7491,7 @@ const _hoisted_26 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only
7487
7491
  const _hoisted_27 = ["href"];
7488
7492
  const _hoisted_28 = { class: "flex-1 relative overflow-y-auto focus:outline-none" };
7489
7493
  const _hoisted_29 = { class: "mx-auto" };
7490
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
7494
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
7491
7495
  props: {
7492
7496
  activeURL: { default: "" },
7493
7497
  iconURL: null,
@@ -7502,7 +7506,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7502
7506
  };
7503
7507
  return (_ctx, _cache) => {
7504
7508
  return openBlock(), createElementBlock(Fragment, null, [
7505
- createElementVNode("div", _hoisted_1$f, [
7509
+ createElementVNode("div", _hoisted_1$e, [
7506
7510
  createVNode(unref(TransitionRoot), {
7507
7511
  as: "template",
7508
7512
  show: sidebarOpen.value
@@ -7551,12 +7555,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7551
7555
  "leave-to": "opacity-0"
7552
7556
  }, {
7553
7557
  default: withCtx(() => [
7554
- createElementVNode("div", _hoisted_3$8, [
7558
+ createElementVNode("div", _hoisted_3$b, [
7555
7559
  createElementVNode("button", {
7556
7560
  class: "ml-1 flex items-center justify-center h-10 w-10 rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white",
7557
7561
  onClick: _cache[0] || (_cache[0] = ($event) => sidebarOpen.value = false)
7558
7562
  }, [
7559
- _hoisted_4$6,
7563
+ _hoisted_4$9,
7560
7564
  createVNode(unref(render), {
7561
7565
  class: "h-6 w-6 text-white",
7562
7566
  "aria-hidden": "true"
@@ -7566,12 +7570,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7566
7570
  ]),
7567
7571
  _: 1
7568
7572
  }),
7569
- createElementVNode("div", _hoisted_5$5, [
7573
+ createElementVNode("div", _hoisted_5$8, [
7570
7574
  createElementVNode("img", {
7571
7575
  class: "w-auto h-12",
7572
7576
  src: __props.iconURL,
7573
7577
  alt: "Logo"
7574
- }, null, 8, _hoisted_6$5)
7578
+ }, null, 8, _hoisted_6$8)
7575
7579
  ]),
7576
7580
  createElementVNode("div", _hoisted_7$5, [
7577
7581
  createElementVNode("nav", _hoisted_8$5, [
@@ -7727,51 +7731,89 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7727
7731
  ])
7728
7732
  ])
7729
7733
  ]),
7730
- createVNode(_sfc_main$i),
7731
- createVNode(_sfc_main$g)
7734
+ createVNode(_sfc_main$j),
7735
+ createVNode(_sfc_main$h)
7732
7736
  ], 64);
7733
7737
  };
7734
7738
  }
7735
7739
  });
7736
- const _hoisted_1$e = { class: "flex" };
7737
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
7740
+ function throttle(func, timeout = 100) {
7741
+ let inThrottle;
7742
+ return (...args) => {
7743
+ if (!inThrottle) {
7744
+ func.apply(args);
7745
+ inThrottle = true;
7746
+ setTimeout(() => inThrottle = false, timeout);
7747
+ }
7748
+ };
7749
+ }
7750
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7738
7751
  props: {
7739
- position: { default: "top-center" }
7752
+ as: { default: "div" },
7753
+ position: { default: "auto" }
7740
7754
  },
7741
7755
  setup(__props) {
7742
7756
  const props = __props;
7743
- const positionClasses = computed(() => {
7757
+ const getViewportDimensions = () => {
7758
+ return {
7759
+ vw: document.documentElement.clientWidth,
7760
+ vh: document.documentElement.clientHeight
7761
+ };
7762
+ };
7763
+ const trigger = ref();
7764
+ const wrapper = ref();
7765
+ const viewport = ref(getViewportDimensions());
7766
+ const classes = computed(() => {
7767
+ const classes2 = {
7768
+ wrapper: "",
7769
+ content: ""
7770
+ };
7771
+ if (props.position === "none") {
7772
+ return classes2;
7773
+ }
7774
+ classes2.wrapper = "h-0 flex w-screen";
7775
+ classes2.content = "absolute";
7776
+ if (props.position !== "auto") {
7777
+ classes2.wrapper += ` ${staticPosition.value.wrapper}`;
7778
+ classes2.content += ` ${staticPosition.value.content}`;
7779
+ }
7780
+ return classes2;
7781
+ });
7782
+ const staticPosition = computed(() => {
7744
7783
  let wrapperClasses = "";
7745
7784
  let contentClasses = "";
7746
7785
  switch (props.position) {
7747
7786
  case "top-left":
7748
- wrapperClasses = "top-0 left-0 -translate-y-full -translate-x-full justify-end";
7787
+ wrapperClasses = "top-0 right-0 -translate-y-full justify-end";
7788
+ contentClasses = "bottom-full";
7749
7789
  break;
7750
7790
  case "top-center":
7751
7791
  wrapperClasses = "top-0 -translate-y-full -translate-x-full left-1/2 justify-end";
7752
- contentClasses = "translate-x-1/2";
7792
+ contentClasses = "bottom-full translate-x-1/2";
7753
7793
  break;
7754
7794
  case "top-right":
7755
- wrapperClasses = "top-0 -translate-y-full right-0 justify-end";
7756
- contentClasses = "translate-x-full";
7795
+ wrapperClasses = "top-0 -translate-y-full left-0 -translate-x-full justify-end";
7796
+ contentClasses = "bottom-full translate-x-full";
7757
7797
  break;
7758
7798
  case "bottom-left":
7759
- wrapperClasses = "top-full left-0 -translate-x-full justify-end";
7799
+ wrapperClasses = "top-full right-0 justify-end";
7800
+ contentClasses = "top-full";
7760
7801
  break;
7761
7802
  case "bottom-center":
7762
7803
  wrapperClasses = "top-full -translate-x-full left-1/2 justify-end";
7763
- contentClasses = "translate-x-1/2";
7804
+ contentClasses = "top-full translate-x-1/2";
7764
7805
  break;
7765
7806
  case "bottom-right":
7766
- wrapperClasses = "top-full right-0 justify-end";
7767
- contentClasses = "translate-x-full";
7807
+ wrapperClasses = "top-full left-0 -translate-x-full justify-end";
7808
+ contentClasses = "top-full translate-x-full";
7768
7809
  break;
7769
7810
  case "left":
7770
7811
  wrapperClasses = "top-1/2 left-0 -translate-y-1/2 -translate-x-full justify-end";
7812
+ contentClasses = "-translate-y-1/2";
7771
7813
  break;
7772
7814
  case "right":
7773
7815
  wrapperClasses = "top-1/2 -translate-y-1/2 right-0 justify-end";
7774
- contentClasses = "translate-x-full";
7816
+ contentClasses = "translate-x-full -translate-y-1/2";
7775
7817
  break;
7776
7818
  }
7777
7819
  return {
@@ -7779,52 +7821,118 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7779
7821
  content: contentClasses
7780
7822
  };
7781
7823
  });
7824
+ const autoPosition = computed(() => {
7825
+ var _a, _b;
7826
+ if (!((_a = wrapper == null ? void 0 : wrapper.value) == null ? void 0 : _a.el) || !((_b = trigger == null ? void 0 : trigger.value) == null ? void 0 : _b.el)) {
7827
+ return {};
7828
+ }
7829
+ const { vw, vh } = viewport.value;
7830
+ const offset = 10;
7831
+ const anchorRect = trigger.value.el.getBoundingClientRect();
7832
+ const contentRect = wrapper.value.el.firstChild.getBoundingClientRect();
7833
+ const distToBottom = vh - anchorRect.bottom;
7834
+ const positionAbove = anchorRect.top > distToBottom;
7835
+ const distToRight = vw - anchorRect.left;
7836
+ const flowLeft = anchorRect.left > distToRight;
7837
+ let xPos = 0;
7838
+ if (flowLeft) {
7839
+ if (contentRect.width > anchorRect.right) {
7840
+ xPos = anchorRect.right - contentRect.width + (contentRect.width - anchorRect.right);
7841
+ } else {
7842
+ xPos = anchorRect.right - contentRect.width;
7843
+ }
7844
+ if (vw > contentRect.width + offset) {
7845
+ xPos = xPos + offset;
7846
+ }
7847
+ } else {
7848
+ if (contentRect.width > distToRight) {
7849
+ xPos = anchorRect.left - (contentRect.width - distToRight);
7850
+ } else {
7851
+ xPos = anchorRect.left;
7852
+ }
7853
+ if (vw > contentRect.width + offset) {
7854
+ xPos = xPos - offset;
7855
+ }
7856
+ }
7857
+ return {
7858
+ wrapper: {
7859
+ top: positionAbove ? "auto" : `100%`,
7860
+ bottom: positionAbove ? "100%" : `auto`,
7861
+ transform: `translate(${anchorRect.left * -1}px, 0)`,
7862
+ width: `${vw}px`
7863
+ },
7864
+ content: {
7865
+ top: positionAbove ? "auto" : `100%`,
7866
+ bottom: positionAbove ? "100%" : `auto`,
7867
+ transform: `translate(${xPos}px, 0)`
7868
+ }
7869
+ };
7870
+ });
7871
+ if (props.position === "auto") {
7872
+ const throttledSetPositions = throttle(() => {
7873
+ viewport.value = getViewportDimensions();
7874
+ });
7875
+ onMounted(() => {
7876
+ window.addEventListener("resize", throttledSetPositions);
7877
+ window.addEventListener("scroll", throttledSetPositions);
7878
+ });
7879
+ onUnmounted(() => {
7880
+ window.removeEventListener("resize", throttledSetPositions);
7881
+ window.removeEventListener("scroll", throttledSetPositions);
7882
+ });
7883
+ }
7782
7884
  return (_ctx, _cache) => {
7783
- return openBlock(), createElementBlock("div", _hoisted_1$e, [
7784
- createVNode(unref(Popover), { class: "relative leading-none" }, {
7785
- default: withCtx(({ open, close: close2 }) => [
7786
- createVNode(unref(PopoverButton), null, {
7787
- default: withCtx(() => [
7788
- renderSlot(_ctx.$slots, "button", {
7789
- open,
7790
- close: close2
7791
- })
7792
- ]),
7793
- _: 2
7794
- }, 1024),
7795
- createVNode(Transition, {
7796
- "enter-active-class": "transition-opacity transition-faster ease-out-quad",
7797
- "leave-active-class": "transition-opacity transition-faster ease-in-quad",
7798
- "enter-from-class": "opacity-0",
7799
- "enter-to-class": "opacity-100",
7800
- "leave-from-class": "opacity-100",
7801
- "leave-to-class": "opacity-0"
7802
- }, {
7803
- default: withCtx(() => [
7804
- createVNode(unref(PopoverPanel), null, {
7805
- default: withCtx(() => [
7806
- createElementVNode("div", {
7807
- class: normalizeClass(["absolute z-10 transform w-screen flex", unref(positionClasses).wrapper])
7808
- }, [
7809
- createElementVNode("div", {
7810
- class: normalizeClass(unref(positionClasses).content)
7811
- }, [
7812
- renderSlot(_ctx.$slots, "default", {
7813
- open,
7814
- close: close2
7815
- })
7816
- ], 2)
7817
- ], 2)
7818
- ]),
7819
- _: 2
7820
- }, 1024)
7821
- ]),
7822
- _: 2
7823
- }, 1024)
7824
- ]),
7825
- _: 3
7826
- })
7827
- ]);
7885
+ return openBlock(), createBlock(unref(Popover), {
7886
+ class: "relative flex",
7887
+ as: __props.as
7888
+ }, {
7889
+ default: withCtx(({ open, close: close2 }) => [
7890
+ createVNode(unref(PopoverButton), {
7891
+ ref_key: "trigger",
7892
+ ref: trigger
7893
+ }, {
7894
+ default: withCtx(() => [
7895
+ renderSlot(_ctx.$slots, "button", {
7896
+ open,
7897
+ close: close2
7898
+ })
7899
+ ]),
7900
+ _: 2
7901
+ }, 1536),
7902
+ createVNode(Transition, {
7903
+ "enter-active-class": "transition-opacity transition-faster ease-out-quad",
7904
+ "leave-active-class": "transition-opacity transition-fastest ease-in-quad",
7905
+ "enter-from-class": "opacity-0",
7906
+ "enter-to-class": "opacity-100",
7907
+ "leave-from-class": "opacity-100",
7908
+ "leave-to-class": "opacity-0"
7909
+ }, {
7910
+ default: withCtx(() => [
7911
+ createVNode(unref(PopoverPanel), {
7912
+ ref_key: "wrapper",
7913
+ ref: wrapper,
7914
+ class: normalizeClass(["absolute z-10", unref(classes).wrapper]),
7915
+ style: normalizeStyle(__props.position === "auto" ? unref(autoPosition).wrapper : {})
7916
+ }, {
7917
+ default: withCtx(() => [
7918
+ createElementVNode("div", {
7919
+ class: normalizeClass(unref(classes).content),
7920
+ style: normalizeStyle(__props.position === "auto" ? unref(autoPosition).content : {})
7921
+ }, [
7922
+ renderSlot(_ctx.$slots, "default", {
7923
+ open,
7924
+ close: close2
7925
+ })
7926
+ ], 6)
7927
+ ]),
7928
+ _: 2
7929
+ }, 1032, ["class", "style"])
7930
+ ]),
7931
+ _: 2
7932
+ }, 1024)
7933
+ ]),
7934
+ _: 3
7935
+ }, 8, ["as"]);
7828
7936
  };
7829
7937
  }
7830
7938
  });
@@ -7835,26 +7943,26 @@ var _export_sfc = (sfc, props) => {
7835
7943
  }
7836
7944
  return target;
7837
7945
  };
7838
- const _sfc_main$d = {};
7839
- const _hoisted_1$d = { class: "max-w-xs bg-white rounded-md p-2 border border-gray-100 shadow-md" };
7946
+ const _sfc_main$e = {};
7947
+ const _hoisted_1$d = { class: "w-full max-w-xs bg-white rounded-md p-2 border border-gray-100 shadow-md" };
7840
7948
  function _sfc_render(_ctx, _cache) {
7841
7949
  return openBlock(), createElementBlock("div", _hoisted_1$d, [
7842
7950
  renderSlot(_ctx.$slots, "default")
7843
7951
  ]);
7844
7952
  }
7845
- var PopoverContent = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render]]);
7953
+ var PopoverContent = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render]]);
7846
7954
  const _hoisted_1$c = { class: "absolute inset-0 overflow-hidden" };
7847
7955
  const _hoisted_2$a = { class: "fixed inset-y-0 right-0 pl-10 max-w-full flex" };
7848
- const _hoisted_3$7 = { class: "w-screen max-w-md" };
7849
- const _hoisted_4$5 = { class: "h-full flex flex-col bg-white shadow-xl overflow-y-scroll" };
7850
- const _hoisted_5$4 = { class: "py-6 px-4 bg-blue-700 sm:px-6" };
7851
- const _hoisted_6$4 = { class: "flex items-center justify-between" };
7956
+ const _hoisted_3$a = { class: "w-screen max-w-md" };
7957
+ const _hoisted_4$8 = { class: "h-full flex flex-col bg-white shadow-xl overflow-y-scroll" };
7958
+ const _hoisted_5$7 = { class: "py-6 px-4 bg-blue-700 sm:px-6" };
7959
+ const _hoisted_6$7 = { class: "flex items-center justify-between" };
7852
7960
  const _hoisted_7$4 = { class: "ml-3 h-7 flex items-center" };
7853
7961
  const _hoisted_8$4 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Close panel", -1);
7854
7962
  const _hoisted_9$4 = { class: "mt-1" };
7855
7963
  const _hoisted_10$4 = ["textContent"];
7856
7964
  const _hoisted_11$3 = { class: "relative flex-1 py-6 px-4 sm:px-6" };
7857
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
7965
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7858
7966
  props: {
7859
7967
  header: null,
7860
7968
  description: null,
@@ -7896,10 +8004,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7896
8004
  "leave-to": "translate-x-full"
7897
8005
  }, {
7898
8006
  default: withCtx(() => [
7899
- createElementVNode("div", _hoisted_3$7, [
7900
- createElementVNode("div", _hoisted_4$5, [
7901
- createElementVNode("div", _hoisted_5$4, [
7902
- createElementVNode("div", _hoisted_6$4, [
8007
+ createElementVNode("div", _hoisted_3$a, [
8008
+ createElementVNode("div", _hoisted_4$8, [
8009
+ createElementVNode("div", _hoisted_5$7, [
8010
+ createElementVNode("div", _hoisted_6$7, [
7903
8011
  createVNode(unref(DialogTitle), {
7904
8012
  as: "h3",
7905
8013
  class: "text-white",
@@ -7945,40 +8053,42 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7945
8053
  };
7946
8054
  }
7947
8055
  });
7948
- const _hoisted_1$b = { class: "relative" };
7949
- const _hoisted_2$9 = /* @__PURE__ */ createElementVNode("div", { class: "p-4 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" }, null, -1);
7950
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
8056
+ const _hoisted_1$b = { class: "leading-none w-4 h-4" };
8057
+ const _hoisted_2$9 = /* @__PURE__ */ createElementVNode("div", { class: "p-5 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" }, null, -1);
8058
+ const _hoisted_3$9 = { class: "w-full max-w-xs bg-white rounded-md px-3 py-2 border border-gray-100 drop-shadow-md text-xs text-gray-900 leading-snug font-medium" };
8059
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7951
8060
  props: {
7952
- position: { default: "top-center" }
8061
+ as: { default: "span" },
8062
+ position: { default: "auto" }
7953
8063
  },
7954
8064
  setup(__props) {
7955
8065
  return (_ctx, _cache) => {
7956
- return openBlock(), createBlock(_sfc_main$e, { position: __props.position }, {
8066
+ return openBlock(), createBlock(_sfc_main$f, {
8067
+ position: __props.position,
8068
+ as: __props.as
8069
+ }, {
7957
8070
  button: withCtx(() => [
7958
8071
  createElementVNode("div", _hoisted_1$b, [
7959
- _hoisted_2$9,
7960
- createVNode(unref(render$4), { class: "w-4 h-4" })
8072
+ createVNode(unref(render$4)),
8073
+ _hoisted_2$9
7961
8074
  ])
7962
8075
  ]),
7963
8076
  default: withCtx(() => [
7964
- createVNode(PopoverContent, { class: "text-xs leading-tight font-medium" }, {
7965
- default: withCtx(() => [
7966
- renderSlot(_ctx.$slots, "default")
7967
- ]),
7968
- _: 3
7969
- })
8077
+ createElementVNode("div", _hoisted_3$9, [
8078
+ renderSlot(_ctx.$slots, "default")
8079
+ ])
7970
8080
  ]),
7971
8081
  _: 3
7972
- }, 8, ["position"]);
8082
+ }, 8, ["position", "as"]);
7973
8083
  };
7974
8084
  }
7975
8085
  });
7976
8086
  const _hoisted_1$a = { class: "min-h-screen bg-gray-100" };
7977
8087
  const _hoisted_2$8 = { class: "mx-auto px-4 sm:px-6 lg:px-8" };
7978
- const _hoisted_3$6 = { class: "flex justify-between h-16" };
7979
- const _hoisted_4$4 = { class: "flex" };
7980
- const _hoisted_5$3 = { class: "flex-shrink-0 flex items-center" };
7981
- const _hoisted_6$3 = ["src"];
8088
+ const _hoisted_3$8 = { class: "flex justify-between h-16" };
8089
+ const _hoisted_4$7 = { class: "flex" };
8090
+ const _hoisted_5$6 = { class: "flex-shrink-0 flex items-center" };
8091
+ const _hoisted_6$6 = ["src"];
7982
8092
  const _hoisted_7$3 = { class: "hidden sm:-my-px sm:ml-6 sm:flex sm:space-x-8" };
7983
8093
  const _hoisted_8$3 = ["href", "aria-current"];
7984
8094
  const _hoisted_9$3 = { class: "hidden sm:ml-6 sm:flex sm:items-center" };
@@ -7998,7 +8108,7 @@ const _hoisted_22$1 = { class: "mt-3 space-y-1" };
7998
8108
  const _hoisted_23$1 = ["href"];
7999
8109
  const _hoisted_24$1 = { class: "mx-auto sm:px-6 lg:px-8" };
8000
8110
  const _hoisted_25 = { class: "px-4 py-8 sm:px-0" };
8001
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
8111
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
8002
8112
  props: {
8003
8113
  activeURL: { default: "" },
8004
8114
  currentUser: null,
@@ -8020,14 +8130,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8020
8130
  }, {
8021
8131
  default: withCtx(({ open }) => [
8022
8132
  createElementVNode("div", _hoisted_2$8, [
8023
- createElementVNode("div", _hoisted_3$6, [
8024
- createElementVNode("div", _hoisted_4$4, [
8025
- createElementVNode("div", _hoisted_5$3, [
8133
+ createElementVNode("div", _hoisted_3$8, [
8134
+ createElementVNode("div", _hoisted_4$7, [
8135
+ createElementVNode("div", _hoisted_5$6, [
8026
8136
  createElementVNode("img", {
8027
8137
  class: "block h-8 w-auto",
8028
8138
  src: __props.iconURL,
8029
8139
  alt: "XY Trees"
8030
- }, null, 8, _hoisted_6$3)
8140
+ }, null, 8, _hoisted_6$6)
8031
8141
  ]),
8032
8142
  createElementVNode("div", _hoisted_7$3, [
8033
8143
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.navigation, (item) => {
@@ -8171,23 +8281,23 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8171
8281
  ])
8172
8282
  ])
8173
8283
  ]),
8174
- createVNode(_sfc_main$i),
8175
- createVNode(_sfc_main$g)
8284
+ createVNode(_sfc_main$j),
8285
+ createVNode(_sfc_main$h)
8176
8286
  ], 64);
8177
8287
  };
8178
8288
  }
8179
8289
  });
8180
8290
  const _hoisted_1$9 = { class: "flex flex-col" };
8181
8291
  const _hoisted_2$7 = { class: "-my-2 overflow-x-auto sm:-mx-6 lg:-mx-8" };
8182
- const _hoisted_3$5 = { class: "inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8" };
8183
- const _hoisted_4$3 = { class: "overflow-hidden border-b border-gray-200 shadow sm:rounded-lg" };
8184
- const _hoisted_5$2 = { class: "min-w-full divide-y divide-gray-200" };
8185
- const _hoisted_6$2 = ["textContent"];
8292
+ const _hoisted_3$7 = { class: "inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8" };
8293
+ const _hoisted_4$6 = { class: "overflow-hidden border-b border-gray-200 shadow sm:rounded-lg" };
8294
+ const _hoisted_5$5 = { class: "min-w-full divide-y divide-gray-200" };
8295
+ const _hoisted_6$5 = ["textContent"];
8186
8296
  const _hoisted_7$2 = { class: "bg-white divide-y divide-gray-200" };
8187
8297
  const _hoisted_8$2 = ["textContent"];
8188
8298
  const _hoisted_9$2 = { key: 0 };
8189
8299
  const _hoisted_10$2 = ["colspan"];
8190
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8300
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
8191
8301
  props: {
8192
8302
  tableData: null
8193
8303
  },
@@ -8205,9 +8315,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8205
8315
  return (_ctx, _cache) => {
8206
8316
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
8207
8317
  createElementVNode("div", _hoisted_2$7, [
8208
- createElementVNode("div", _hoisted_3$5, [
8209
- createElementVNode("div", _hoisted_4$3, [
8210
- createElementVNode("table", _hoisted_5$2, [
8318
+ createElementVNode("div", _hoisted_3$7, [
8319
+ createElementVNode("div", _hoisted_4$6, [
8320
+ createElementVNode("table", _hoisted_5$5, [
8211
8321
  createElementVNode("thead", null, [
8212
8322
  createElementVNode("tr", null, [
8213
8323
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.tableData.columns, (col, idx) => {
@@ -8215,7 +8325,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8215
8325
  class: "px-6 py-3 text-xs font-medium tracking-wider text-left text-gray-900 uppercase bg-gray-50 leading-4",
8216
8326
  key: idx,
8217
8327
  textContent: toDisplayString(col.display)
8218
- }, null, 8, _hoisted_6$2);
8328
+ }, null, 8, _hoisted_6$5);
8219
8329
  }), 128))
8220
8330
  ])
8221
8331
  ]),
@@ -8259,21 +8369,21 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8259
8369
  });
8260
8370
  const _hoisted_1$8 = { class: "flex items-center justify-center space-x-8" };
8261
8371
  const _hoisted_2$6 = { class: "font-medium" };
8262
- const _hoisted_3$4 = { class: "flex items-center space-x-5" };
8263
- const _hoisted_4$2 = {
8372
+ const _hoisted_3$6 = { class: "flex items-center space-x-5" };
8373
+ const _hoisted_4$5 = {
8264
8374
  key: 0,
8265
8375
  class: "block w-2.5 h-2.5 bg-xy-green rounded-full hover:bg-green-900 focus:bg-green-900"
8266
8376
  };
8267
- const _hoisted_5$1 = {
8377
+ const _hoisted_5$4 = {
8268
8378
  key: 1,
8269
8379
  class: "relative flex items-center justify-center"
8270
8380
  };
8271
- const _hoisted_6$1 = /* @__PURE__ */ createElementVNode("span", { class: "absolute w-5 h-5 p-px flex" }, [
8381
+ const _hoisted_6$4 = /* @__PURE__ */ createElementVNode("span", { class: "absolute w-5 h-5 p-px flex" }, [
8272
8382
  /* @__PURE__ */ createElementVNode("span", { class: "w-full h-full rounded-full bg-green-100" })
8273
8383
  ], -1);
8274
8384
  const _hoisted_7$1 = /* @__PURE__ */ createElementVNode("span", { class: "relative block w-2.5 h-2.5 bg-xy-green rounded-full" }, null, -1);
8275
8385
  const _hoisted_8$1 = [
8276
- _hoisted_6$1,
8386
+ _hoisted_6$4,
8277
8387
  _hoisted_7$1
8278
8388
  ];
8279
8389
  const _hoisted_9$1 = {
@@ -8292,7 +8402,7 @@ const _hoisted_11$1 = {
8292
8402
  const _hoisted_12$1 = ["textContent"];
8293
8403
  const _hoisted_13$1 = { class: "ml-3 inline-flex rounded-md shadow-sm" };
8294
8404
  const _hoisted_14$1 = ["textContent"];
8295
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8405
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
8296
8406
  props: {
8297
8407
  hideActions: { type: Boolean, default: false },
8298
8408
  hidePrevious: { type: Boolean, default: false },
@@ -8313,10 +8423,10 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8313
8423
  return openBlock(), createElementBlock("div", null, [
8314
8424
  createElementVNode("nav", _hoisted_1$8, [
8315
8425
  createElementVNode("p", _hoisted_2$6, "Step " + toDisplayString(__props.step) + " of " + toDisplayString(__props.total), 1),
8316
- createElementVNode("ul", _hoisted_3$4, [
8426
+ createElementVNode("ul", _hoisted_3$6, [
8317
8427
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.total, (index) => {
8318
8428
  return openBlock(), createElementBlock("li", { key: index }, [
8319
- __props.step > index ? (openBlock(), createElementBlock("span", _hoisted_4$2)) : __props.step === index ? (openBlock(), createElementBlock("div", _hoisted_5$1, _hoisted_8$1)) : (openBlock(), createElementBlock("span", _hoisted_9$1))
8429
+ __props.step > index ? (openBlock(), createElementBlock("span", _hoisted_4$5)) : __props.step === index ? (openBlock(), createElementBlock("div", _hoisted_5$4, _hoisted_8$1)) : (openBlock(), createElementBlock("span", _hoisted_9$1))
8320
8430
  ]);
8321
8431
  }), 128))
8322
8432
  ])
@@ -8348,12 +8458,12 @@ const _hoisted_2$5 = {
8348
8458
  key: 0,
8349
8459
  class: "w-full max-w-lg lg:max-w-xs"
8350
8460
  };
8351
- const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("label", {
8461
+ const _hoisted_3$5 = /* @__PURE__ */ createElementVNode("label", {
8352
8462
  for: "search",
8353
8463
  class: "sr-only"
8354
8464
  }, "Search", -1);
8355
- const _hoisted_4$1 = { class: "relative" };
8356
- const _hoisted_5 = /* @__PURE__ */ createElementVNode("div", { class: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none" }, [
8465
+ const _hoisted_4$4 = { class: "relative" };
8466
+ const _hoisted_5$3 = /* @__PURE__ */ createElementVNode("div", { class: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none" }, [
8357
8467
  /* @__PURE__ */ createElementVNode("svg", {
8358
8468
  class: "w-5 h-5 text-gray-400",
8359
8469
  fill: "currentColor",
@@ -8366,7 +8476,7 @@ const _hoisted_5 = /* @__PURE__ */ createElementVNode("div", { class: "absolute
8366
8476
  })
8367
8477
  ])
8368
8478
  ], -1);
8369
- const _hoisted_6 = {
8479
+ const _hoisted_6$3 = {
8370
8480
  key: 1,
8371
8481
  class: "w-full max-w-lg lg:max-w-xs"
8372
8482
  };
@@ -8426,7 +8536,7 @@ const _hoisted_21 = ["onClick"];
8426
8536
  const _hoisted_22 = ["textContent"];
8427
8537
  const _hoisted_23 = { key: 0 };
8428
8538
  const _hoisted_24 = ["colspan"];
8429
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8539
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
8430
8540
  props: {
8431
8541
  clickable: { type: Boolean, default: false },
8432
8542
  loader: { type: Boolean, default: true },
@@ -8512,9 +8622,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8512
8622
  return openBlock(), createElementBlock("div", null, [
8513
8623
  createElementVNode("div", _hoisted_1$7, [
8514
8624
  __props.tableData.search ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
8515
- _hoisted_3$3,
8516
- createElementVNode("div", _hoisted_4$1, [
8517
- _hoisted_5,
8625
+ _hoisted_3$5,
8626
+ createElementVNode("div", _hoisted_4$4, [
8627
+ _hoisted_5$3,
8518
8628
  withDirectives(createElementVNode("input", {
8519
8629
  class: "pl-10",
8520
8630
  type: "search",
@@ -8531,8 +8641,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8531
8641
  ])
8532
8642
  ])
8533
8643
  ])) : createCommentVNode("", true),
8534
- __props.tableData.dateSearch ? (openBlock(), createElementBlock("div", _hoisted_6, [
8535
- createVNode(_sfc_main$o, {
8644
+ __props.tableData.dateSearch ? (openBlock(), createElementBlock("div", _hoisted_6$3, [
8645
+ createVNode(_sfc_main$p, {
8536
8646
  modelValue: dateRange.value,
8537
8647
  "onUpdate:modelValue": [
8538
8648
  _cache[2] || (_cache[2] = ($event) => dateRange.value = $event),
@@ -8597,7 +8707,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8597
8707
  ])
8598
8708
  ])
8599
8709
  ]),
8600
- unref(hasContent) ? (openBlock(), createBlock(_sfc_main$l, {
8710
+ unref(hasContent) ? (openBlock(), createBlock(_sfc_main$m, {
8601
8711
  key: 0,
8602
8712
  modelValue: pagination.value,
8603
8713
  "onUpdate:modelValue": [
@@ -8614,8 +8724,8 @@ const _hoisted_1$6 = /* @__PURE__ */ createElementVNode("label", {
8614
8724
  class: "sr-only"
8615
8725
  }, "Select a tab", -1);
8616
8726
  const _hoisted_2$4 = { class: "hidden sm:block" };
8617
- const _hoisted_3$2 = ["textContent", "onClick"];
8618
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8727
+ const _hoisted_3$4 = ["textContent", "onClick"];
8728
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
8619
8729
  props: {
8620
8730
  modelValue: null,
8621
8731
  pillDesign: { type: Boolean, default: false },
@@ -8679,7 +8789,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8679
8789
  key: idx,
8680
8790
  textContent: toDisplayString(tab.label),
8681
8791
  onClick: withModifiers(($event) => updateModelValue2(tab.value), ["prevent"])
8682
- }, null, 10, _hoisted_3$2);
8792
+ }, null, 10, _hoisted_3$4);
8683
8793
  }), 128))
8684
8794
  ], 2)
8685
8795
  ], 2)
@@ -8689,7 +8799,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8689
8799
  }
8690
8800
  });
8691
8801
  const _hoisted_1$5 = /* @__PURE__ */ createElementVNode("span", { class: "sr-only" }, "Use", -1);
8692
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8802
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
8693
8803
  props: {
8694
8804
  modelValue: { type: Boolean, default: false }
8695
8805
  },
@@ -8719,11 +8829,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8719
8829
  };
8720
8830
  }
8721
8831
  });
8722
- const _hoisted_1$4 = { class: "inline-flex items-center" };
8723
- const _hoisted_2$3 = ["aria-labelledby", "checked", "id"];
8724
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8832
+ const _hoisted_1$4 = { class: "relative flex items-start" };
8833
+ const _hoisted_2$3 = { class: "flex items-center h-5" };
8834
+ const _hoisted_3$3 = ["id", "aria-labelledby", "aria-describedby", "checked"];
8835
+ const _hoisted_4$3 = { class: "ml-3" };
8836
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
8725
8837
  props: {
8726
8838
  label: { default: "" },
8839
+ help: { default: "" },
8727
8840
  modelValue: { type: Boolean }
8728
8841
  },
8729
8842
  emits: ["update:modelValue"],
@@ -8731,138 +8844,257 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8731
8844
  const attrs = useAttrs();
8732
8845
  const uuid = attrs.id || Uniques.CreateIdAttribute();
8733
8846
  return (_ctx, _cache) => {
8734
- return openBlock(), createElementBlock("div", null, [
8735
- createElementVNode("label", _hoisted_1$4, [
8847
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
8848
+ createElementVNode("div", _hoisted_2$3, [
8736
8849
  createElementVNode("input", mergeProps({
8850
+ id: unref(uuid),
8737
8851
  "aria-labelledby": __props.label ? `${unref(uuid)}-label` : void 0,
8852
+ "aria-describedby": __props.help ? `${unref(uuid)}-help` : void 0,
8738
8853
  checked: __props.modelValue,
8739
8854
  class: "focus:ring-blue-500 h-4 w-4 text-blue-500 border-gray-600 rounded disabled:opacity-50 disabled:cursor-not-allowed",
8740
- id: unref(uuid),
8741
8855
  type: "checkbox"
8742
- }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8856
+ }, __spreadValues({
8743
8857
  onChange: ($event) => {
8744
8858
  emits("update:modelValue", $event.target.checked);
8745
8859
  }
8746
- })), null, 16, _hoisted_2$3),
8747
- createVNode(_sfc_main$r, {
8748
- class: "ml-2",
8860
+ }, _ctx.$attrs)), null, 16, _hoisted_3$3)
8861
+ ]),
8862
+ createElementVNode("div", _hoisted_4$3, [
8863
+ createVNode(_sfc_main$s, {
8864
+ class: "mt-auto",
8865
+ disabled: _ctx.$attrs.hasOwnProperty("disabled") && _ctx.$attrs.disabled !== false,
8749
8866
  id: `${unref(uuid)}-label`,
8750
8867
  for: unref(uuid),
8751
- label: __props.label,
8752
- tag: "span"
8753
- }, null, 8, ["id", "for", "label"])
8868
+ label: __props.label
8869
+ }, null, 8, ["disabled", "id", "for", "label"]),
8870
+ createVNode(_sfc_main$r, {
8871
+ class: "-mt-1",
8872
+ id: `${unref(uuid)}-help`,
8873
+ text: __props.help
8874
+ }, null, 8, ["id", "text"])
8754
8875
  ])
8755
8876
  ]);
8756
8877
  };
8757
8878
  }
8758
8879
  });
8759
- const _hoisted_1$3 = { class: "inline-flex items-center" };
8760
- const _hoisted_2$2 = ["id", "value"];
8880
+ function hasSlotContent(slot, slotProps = {}) {
8881
+ if (!slot)
8882
+ return false;
8883
+ return slot(slotProps).some((vnode) => {
8884
+ if (vnode.type === Comment$1)
8885
+ return false;
8886
+ if (Array.isArray(vnode.children) && !vnode.children.length)
8887
+ return false;
8888
+ return vnode.type !== Text || typeof vnode.children === "string" && vnode.children.trim() !== "";
8889
+ });
8890
+ }
8891
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
8892
+ setup(__props) {
8893
+ return (_ctx, _cache) => {
8894
+ return unref(hasSlotContent)(_ctx.$slots.default) ? (openBlock(), createElementBlock("legend", normalizeProps(mergeProps({ key: 0 }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8895
+ class: "text-base font-medium leading-tight text-gray-900"
8896
+ }))), [
8897
+ renderSlot(_ctx.$slots, "default")
8898
+ ], 16)) : createCommentVNode("", true);
8899
+ };
8900
+ }
8901
+ });
8902
+ const _hoisted_1$3 = ["aria-labelledby", "aria-describedby"];
8903
+ const _hoisted_2$2 = { class: "space-y-0.5" };
8904
+ const _hoisted_3$2 = { key: 0 };
8905
+ const _hoisted_4$2 = { class: "flex items-center h-5" };
8906
+ const _hoisted_5$2 = ["id", "aria-labelledby", "aria-describedby", "checked", "disabled"];
8907
+ const _hoisted_6$2 = { class: "ml-3" };
8761
8908
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
8762
8909
  props: {
8763
8910
  options: null,
8911
+ help: { default: "" },
8764
8912
  legend: { default: "" },
8765
- modelValue: null
8913
+ modelValue: null,
8914
+ columns: { default: void 0 }
8766
8915
  },
8767
8916
  emits: ["update:modelValue"],
8768
- setup(__props, { emit: emits }) {
8917
+ setup(__props, { emit }) {
8769
8918
  const props = __props;
8770
8919
  const attrs = useAttrs();
8920
+ const slots = useSlots();
8771
8921
  const uuid = attrs.id || Uniques.CreateIdAttribute();
8772
- const model = ref(props.modelValue);
8922
+ const hasLegend = computed(() => {
8923
+ return props.legend !== "" || slots.legend !== void 0;
8924
+ });
8925
+ const onChange = (checked, val) => {
8926
+ let updateModelValue2 = [...props.modelValue];
8927
+ if (checked) {
8928
+ updateModelValue2.push(val);
8929
+ } else {
8930
+ updateModelValue2.splice(updateModelValue2.indexOf(val), 1);
8931
+ }
8932
+ emit("update:modelValue", updateModelValue2);
8933
+ };
8773
8934
  return (_ctx, _cache) => {
8774
- return openBlock(), createElementBlock("fieldset", null, [
8775
- createVNode(_sfc_main$r, {
8776
- class: "block mb-0",
8777
- label: __props.legend,
8778
- tag: "legend"
8779
- }, null, 8, ["label"]),
8780
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option, index) => {
8781
- return openBlock(), createElementBlock("div", {
8782
- class: "mt-4",
8783
- key: option.value
8784
- }, [
8785
- createElementVNode("label", _hoisted_1$3, [
8786
- withDirectives(createElementVNode("input", mergeProps({
8787
- type: "checkbox",
8788
- class: "focus:ring-blue-500 h-4 w-4 text-xy-blue border-gray-600 rounded disabled:opacity-50 disabled:cursor-not-allowed",
8789
- id: `${unref(uuid)}-${index}`,
8790
- value: option.value,
8791
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event)
8792
- }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8793
- onChange: () => {
8794
- emits("update:modelValue", model.value);
8795
- }
8796
- })), null, 16, _hoisted_2$2), [
8797
- [vModelCheckbox, model.value]
8935
+ return openBlock(), createElementBlock("fieldset", {
8936
+ class: "space-y-5",
8937
+ "aria-labelledby": unref(hasLegend) ? `${unref(uuid)}-legend` : void 0,
8938
+ "aria-describedby": __props.help ? `${unref(uuid)}-help` : void 0
8939
+ }, [
8940
+ createElementVNode("div", _hoisted_2$2, [
8941
+ createVNode(_sfc_main$4, {
8942
+ id: `${unref(uuid)}-legend`
8943
+ }, {
8944
+ default: withCtx(() => [
8945
+ __props.legend ? (openBlock(), createElementBlock("div", _hoisted_3$2, toDisplayString(__props.legend), 1)) : createCommentVNode("", true),
8946
+ _ctx.$slots.legend ? renderSlot(_ctx.$slots, "legend", { key: 1 }) : createCommentVNode("", true)
8947
+ ]),
8948
+ _: 3
8949
+ }, 8, ["id"]),
8950
+ createVNode(_sfc_main$r, {
8951
+ tag: "p",
8952
+ text: __props.help,
8953
+ id: `${unref(uuid)}-help`
8954
+ }, null, 8, ["text", "id"])
8955
+ ]),
8956
+ createElementVNode("div", {
8957
+ class: normalizeClass(["grid gap-4", {
8958
+ "sm:grid sm:gap-y-4 sm:gap-x-5 sm:space-y-0": __props.columns !== void 0,
8959
+ "sm:grid-cols-2": __props.columns === 2,
8960
+ "sm:grid-cols-3": __props.columns === 3,
8961
+ "sm:grid-cols-4": __props.columns === 4
8962
+ }])
8963
+ }, [
8964
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option, index) => {
8965
+ return openBlock(), createElementBlock("div", {
8966
+ key: option.value,
8967
+ class: "flex items-start"
8968
+ }, [
8969
+ createElementVNode("div", _hoisted_4$2, [
8970
+ createElementVNode("input", mergeProps({
8971
+ id: unref(uuid),
8972
+ "aria-labelledby": `${unref(uuid)}-${index}-label`,
8973
+ "aria-describedby": (option == null ? void 0 : option.help) && option.help ? `${unref(uuid)}-${index}-help` : void 0,
8974
+ checked: __props.modelValue.includes(option.value),
8975
+ disabled: option.disabled === true ? true : void 0,
8976
+ class: "focus:ring-blue-500 h-4 w-4 text-blue-500 border-gray-600 rounded disabled:opacity-50 disabled:cursor-not-allowed",
8977
+ type: "checkbox"
8978
+ }, __spreadValues({
8979
+ onChange: ($event) => {
8980
+ onChange($event.target.checked, option.value);
8981
+ }
8982
+ }, _ctx.$attrs)), null, 16, _hoisted_5$2)
8798
8983
  ]),
8799
- createVNode(_sfc_main$r, {
8800
- class: "ml-2",
8801
- for: `${unref(uuid)}-${index}`,
8802
- label: option.label,
8803
- tag: "span"
8804
- }, null, 8, ["for", "label"])
8805
- ])
8806
- ]);
8807
- }), 128))
8808
- ]);
8984
+ createElementVNode("div", _hoisted_6$2, [
8985
+ createVNode(_sfc_main$s, {
8986
+ class: "mt-auto",
8987
+ disabled: _ctx.$attrs.hasOwnProperty("disabled") && _ctx.$attrs.disabled !== false || option.disabled === true,
8988
+ id: `${unref(uuid)}-${index}-label`,
8989
+ for: unref(uuid),
8990
+ label: option.label
8991
+ }, null, 8, ["disabled", "id", "for", "label"]),
8992
+ createVNode(_sfc_main$r, {
8993
+ class: "-mt-1",
8994
+ id: `${unref(uuid)}-${index}-help`,
8995
+ text: option.help
8996
+ }, null, 8, ["id", "text"])
8997
+ ])
8998
+ ]);
8999
+ }), 128))
9000
+ ], 2)
9001
+ ], 8, _hoisted_1$3);
8809
9002
  };
8810
9003
  }
8811
9004
  });
8812
- const _hoisted_1$2 = { class: "mt-1 space-y-2" };
8813
- const _hoisted_2$1 = ["for"];
8814
- const _hoisted_3$1 = ["checked", "id", "name", "value"];
9005
+ const _hoisted_1$2 = ["aria-labelledby", "aria-describedby"];
9006
+ const _hoisted_2$1 = { class: "space-y-0.5" };
9007
+ const _hoisted_3$1 = { key: 0 };
9008
+ const _hoisted_4$1 = { class: "flex items-center h-5" };
9009
+ const _hoisted_5$1 = ["aria-describedby", "aria-labelledby", "checked", "disabled", "id", "name", "value"];
9010
+ const _hoisted_6$1 = { class: "ml-3" };
8815
9011
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
8816
9012
  props: {
8817
9013
  options: null,
9014
+ help: { default: "" },
8818
9015
  legend: { default: "" },
8819
- modelValue: { default: "" },
8820
- vertical: { type: Boolean, default: true }
9016
+ modelValue: { default: void 0 },
9017
+ columns: { default: void 0 }
8821
9018
  },
8822
9019
  emits: ["update:modelValue"],
8823
9020
  setup(__props, { emit: emits }) {
8824
9021
  const props = __props;
8825
9022
  const attrs = useAttrs();
9023
+ const slots = useSlots();
8826
9024
  const uuid = attrs.id || Uniques.CreateIdAttribute();
9025
+ const hasLegend = computed(() => {
9026
+ return props.legend !== "" || slots.legend !== void 0;
9027
+ });
8827
9028
  return (_ctx, _cache) => {
8828
- return openBlock(), createElementBlock("fieldset", _hoisted_1$2, [
8829
- createVNode(_sfc_main$r, {
8830
- class: "block",
8831
- label: __props.legend,
8832
- tag: "legend"
8833
- }, null, 8, ["label"]),
8834
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option, index) => {
8835
- return openBlock(), createBlock(resolveDynamicComponent(props.vertical ? "div" : "span"), {
8836
- key: option.value
9029
+ return openBlock(), createElementBlock("fieldset", {
9030
+ class: "space-y-5",
9031
+ "aria-labelledby": unref(hasLegend) ? `${unref(uuid)}-legend` : void 0,
9032
+ "aria-describedby": __props.help ? `${unref(uuid)}-help` : void 0
9033
+ }, [
9034
+ createElementVNode("div", _hoisted_2$1, [
9035
+ createVNode(_sfc_main$4, {
9036
+ id: `${unref(uuid)}-legend`
8837
9037
  }, {
8838
9038
  default: withCtx(() => [
8839
- createElementVNode("label", {
8840
- class: normalizeClass(["inline-flex items-center", { "cursor-not-allowed": _ctx.$attrs.disabled }]),
8841
- for: `${unref(uuid)}-${index}`
8842
- }, [
9039
+ __props.legend ? (openBlock(), createElementBlock("div", _hoisted_3$1, toDisplayString(__props.legend), 1)) : createCommentVNode("", true),
9040
+ _ctx.$slots.legend ? renderSlot(_ctx.$slots, "legend", { key: 1 }) : createCommentVNode("", true)
9041
+ ]),
9042
+ _: 3
9043
+ }, 8, ["id"]),
9044
+ createVNode(_sfc_main$r, {
9045
+ tag: "p",
9046
+ text: __props.help,
9047
+ id: `${unref(uuid)}-help`
9048
+ }, null, 8, ["text", "id"])
9049
+ ]),
9050
+ createElementVNode("div", {
9051
+ class: normalizeClass(["grid gap-4", {
9052
+ "sm:grid sm:gap-y-4 sm:gap-x-5 sm:space-y-0": __props.columns !== void 0,
9053
+ "sm:grid-cols-2": __props.columns === 2,
9054
+ "sm:grid-cols-3": __props.columns === 3,
9055
+ "sm:grid-cols-4": __props.columns === 4
9056
+ }])
9057
+ }, [
9058
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (option, index) => {
9059
+ return openBlock(), createElementBlock("div", {
9060
+ key: option.value,
9061
+ class: "flex items-start"
9062
+ }, [
9063
+ createElementVNode("div", _hoisted_4$1, [
8843
9064
  createElementVNode("input", mergeProps({
9065
+ "aria-describedby": (option == null ? void 0 : option.help) && option.help ? `${unref(uuid)}-${index}-help` : void 0,
9066
+ "aria-labelledby": `${unref(uuid)}-${index}-label`,
8844
9067
  checked: __props.modelValue === option.value,
8845
- class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue",
9068
+ class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue disabled:opacity-50 disabled:cursor-not-allowed",
9069
+ disabled: option.disabled === true ? true : void 0,
8846
9070
  id: `${unref(uuid)}-${index}`,
8847
9071
  name: unref(uuid),
8848
9072
  type: "radio",
8849
9073
  value: option.value
8850
- }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8851
- onChange: ($event) => {
8852
- emits("update:modelValue", $event.target.value);
9074
+ }, __spreadValues({
9075
+ onChange: () => {
9076
+ emits("update:modelValue", option.value);
8853
9077
  }
8854
- })), null, 16, _hoisted_3$1),
9078
+ }, _ctx.$attrs)), null, 16, _hoisted_5$1)
9079
+ ]),
9080
+ createElementVNode("div", _hoisted_6$1, [
9081
+ createVNode(_sfc_main$s, {
9082
+ class: "mt-auto",
9083
+ disabled: _ctx.$attrs.hasOwnProperty("disabled") && _ctx.$attrs.disabled !== false || option.disabled === true,
9084
+ id: `${unref(uuid)}-${index}-label`,
9085
+ for: unref(uuid),
9086
+ label: option.label
9087
+ }, null, 8, ["disabled", "id", "for", "label"]),
8855
9088
  createVNode(_sfc_main$r, {
8856
- class: "ml-2",
8857
- label: option.label,
8858
- tag: "span"
8859
- }, null, 8, ["label"])
8860
- ], 10, _hoisted_2$1)
8861
- ]),
8862
- _: 2
8863
- }, 1024);
8864
- }), 128))
8865
- ]);
9089
+ class: "-mt-1",
9090
+ id: `${unref(uuid)}-${index}-help`,
9091
+ text: option.help
9092
+ }, null, 8, ["id", "text"])
9093
+ ])
9094
+ ]);
9095
+ }), 128))
9096
+ ], 2)
9097
+ ], 8, _hoisted_1$2);
8866
9098
  };
8867
9099
  }
8868
9100
  });
@@ -8879,7 +9111,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8879
9111
  const uuid = attrs.id || Uniques.CreateIdAttribute();
8880
9112
  return (_ctx, _cache) => {
8881
9113
  return openBlock(), createElementBlock(Fragment, null, [
8882
- createVNode(_sfc_main$r, {
9114
+ createVNode(_sfc_main$s, {
8883
9115
  class: "block",
8884
9116
  id: `${unref(uuid)}-label`,
8885
9117
  for: unref(uuid),
@@ -8897,13 +9129,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8897
9129
  "focus:border-blue-500",
8898
9130
  "border-gray-600",
8899
9131
  "rounded-md",
8900
- "w-full"
9132
+ "w-full",
9133
+ "disabled:opacity-70",
9134
+ "disabled:cursor-not-allowed"
8901
9135
  ],
8902
9136
  id: unref(uuid),
8903
9137
  value: __props.modelValue,
8904
9138
  onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value))
8905
9139
  }, _ctx.$attrs), null, 16, _hoisted_1$1),
8906
- createVNode(_sfc_main$q, {
9140
+ createVNode(_sfc_main$r, {
8907
9141
  id: `${unref(uuid)}-help`,
8908
9142
  text: __props.help
8909
9143
  }, null, 8, ["id", "text"])
@@ -8911,13 +9145,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
8911
9145
  };
8912
9146
  }
8913
9147
  });
8914
- const _hoisted_1 = ["for"];
8915
- const _hoisted_2 = ["id", "name", "checked"];
9148
+ const _hoisted_1 = ["aria-labelledby", "aria-describedby"];
9149
+ const _hoisted_2 = { class: "space-y-0.5" };
8916
9150
  const _hoisted_3 = ["for"];
8917
9151
  const _hoisted_4 = ["id", "name", "checked"];
9152
+ const _hoisted_5 = ["for"];
9153
+ const _hoisted_6 = ["id", "name", "checked"];
8918
9154
  const _sfc_main = /* @__PURE__ */ defineComponent({
8919
9155
  props: {
8920
9156
  modelValue: { type: Boolean, default: void 0 },
9157
+ help: { default: "" },
8921
9158
  legend: { default: "" },
8922
9159
  name: { default: "" }
8923
9160
  },
@@ -8933,89 +9170,105 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8933
9170
  emits("update:modelValue", e.target.value === "true");
8934
9171
  };
8935
9172
  return (_ctx, _cache) => {
8936
- return openBlock(), createElementBlock("fieldset", null, [
8937
- createVNode(_sfc_main$r, {
8938
- class: "block",
8939
- label: __props.legend,
8940
- tag: "legend"
8941
- }, null, 8, ["label"]),
8942
- createElementVNode("label", {
8943
- class: normalizeClass(["inline-flex items-center", { "cursor-not-allowed": _ctx.$attrs.disabled }]),
8944
- for: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-true`
8945
- }, [
8946
- createElementVNode("input", mergeProps({
8947
- type: "radio",
8948
- class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue",
8949
- id: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-true`,
8950
- name: unref(hasNameAttr) ? __props.name : unref(uuid),
8951
- value: true,
8952
- checked: __props.modelValue === true
8953
- }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8954
- onChange
8955
- })), null, 16, _hoisted_2),
8956
- createVNode(_sfc_main$r, {
8957
- class: "ml-2",
8958
- label: "Yes",
8959
- tag: "span"
8960
- })
8961
- ], 10, _hoisted_1),
8962
- createElementVNode("label", {
8963
- class: normalizeClass(["inline-flex items-center ml-6", { "cursor-not-allowed": _ctx.$attrs.disabled }]),
8964
- for: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-false`
8965
- }, [
8966
- createElementVNode("input", mergeProps({
8967
- type: "radio",
8968
- class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue",
8969
- id: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-false`,
8970
- name: unref(hasNameAttr) ? __props.name : unref(uuid),
8971
- value: false,
8972
- checked: __props.modelValue === false
8973
- }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
8974
- onChange
8975
- })), null, 16, _hoisted_4),
9173
+ return openBlock(), createElementBlock("fieldset", {
9174
+ class: "space-y-3",
9175
+ "aria-labelledby": __props.legend ? `${unref(uuid)}-legend` : void 0,
9176
+ "aria-describedby": __props.help ? `${unref(uuid)}-help` : void 0
9177
+ }, [
9178
+ createElementVNode("div", _hoisted_2, [
9179
+ createVNode(_sfc_main$s, {
9180
+ class: "block my-auto",
9181
+ label: __props.legend,
9182
+ tag: "legend"
9183
+ }, null, 8, ["label"]),
8976
9184
  createVNode(_sfc_main$r, {
8977
- class: "ml-2",
8978
- label: "No",
8979
- tag: "span"
8980
- })
8981
- ], 10, _hoisted_3)
8982
- ]);
9185
+ tag: "p",
9186
+ text: __props.help,
9187
+ id: `${unref(uuid)}-help`
9188
+ }, null, 8, ["text", "id"])
9189
+ ]),
9190
+ createElementVNode("div", null, [
9191
+ createElementVNode("label", {
9192
+ class: normalizeClass(["inline-flex items-center", { "cursor-not-allowed": _ctx.$attrs.disabled }]),
9193
+ for: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-true`
9194
+ }, [
9195
+ createElementVNode("input", mergeProps({
9196
+ type: "radio",
9197
+ class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue disabled:opacity-50 disabled:cursor-not-allowed",
9198
+ id: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-true`,
9199
+ name: unref(hasNameAttr) ? __props.name : unref(uuid),
9200
+ value: true,
9201
+ checked: __props.modelValue === true
9202
+ }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
9203
+ onChange
9204
+ })), null, 16, _hoisted_4),
9205
+ createVNode(_sfc_main$s, {
9206
+ class: "ml-2",
9207
+ disabled: _ctx.$attrs.hasOwnProperty("disabled") && _ctx.$attrs.disabled !== false,
9208
+ label: "Yes",
9209
+ tag: "span"
9210
+ }, null, 8, ["disabled"])
9211
+ ], 10, _hoisted_3),
9212
+ createElementVNode("label", {
9213
+ class: normalizeClass(["inline-flex items-center ml-6", { "cursor-not-allowed": _ctx.$attrs.disabled }]),
9214
+ for: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-false`
9215
+ }, [
9216
+ createElementVNode("input", mergeProps({
9217
+ type: "radio",
9218
+ class: "w-4 h-4 border-gray-600 focus:ring-blue-500 text-xy-blue disabled:opacity-50 disabled:cursor-not-allowed",
9219
+ id: `${unref(hasNameAttr) ? __props.name : unref(uuid)}-false`,
9220
+ name: unref(hasNameAttr) ? __props.name : unref(uuid),
9221
+ value: false,
9222
+ checked: __props.modelValue === false
9223
+ }, __spreadProps(__spreadValues({}, _ctx.$attrs), {
9224
+ onChange
9225
+ })), null, 16, _hoisted_6),
9226
+ createVNode(_sfc_main$s, {
9227
+ class: "ml-2",
9228
+ disabled: _ctx.$attrs.hasOwnProperty("disabled") && _ctx.$attrs.disabled !== false,
9229
+ label: "No",
9230
+ tag: "span"
9231
+ }, null, 8, ["disabled"])
9232
+ ], 10, _hoisted_5)
9233
+ ])
9234
+ ], 8, _hoisted_1);
8983
9235
  };
8984
9236
  }
8985
9237
  });
8986
9238
  var components = /* @__PURE__ */ Object.freeze({
8987
9239
  __proto__: null,
8988
9240
  [Symbol.toStringTag]: "Module",
8989
- ActionsDropdown: _sfc_main$u,
8990
- Cards: _sfc_main$t,
8991
- ContentModal: _sfc_main$s,
8992
- DateFilter: _sfc_main$m,
8993
- DetailList: _sfc_main$k,
8994
- DownloadCell: _sfc_main$j,
8995
- Flash: _sfc_main$i,
8996
- Modal: _sfc_main$h,
8997
- SidebarLayout: _sfc_main$f,
8998
- Slideover: _sfc_main$c,
8999
- StackedLayout: _sfc_main$a,
9000
- Popover: _sfc_main$e,
9241
+ ActionsDropdown: _sfc_main$v,
9242
+ Cards: _sfc_main$u,
9243
+ ContentModal: _sfc_main$t,
9244
+ DateFilter: _sfc_main$n,
9245
+ DetailList: _sfc_main$l,
9246
+ DownloadCell: _sfc_main$k,
9247
+ Flash: _sfc_main$j,
9248
+ Modal: _sfc_main$i,
9249
+ SidebarLayout: _sfc_main$g,
9250
+ Slideover: _sfc_main$d,
9251
+ StackedLayout: _sfc_main$b,
9252
+ Popover: _sfc_main$f,
9001
9253
  PopoverContent,
9002
- PopoverPosition: _sfc_main$e,
9003
- Paginator: _sfc_main$l,
9004
- Spinner: _sfc_main$g,
9005
- StaticTable: _sfc_main$9,
9006
- Steps: _sfc_main$8,
9007
- Table: _sfc_main$7,
9008
- Tabs: _sfc_main$6,
9009
- Toggle: _sfc_main$5,
9010
- Tooltip: _sfc_main$b,
9011
- BaseInput: _sfc_main$p,
9012
- Checkbox: _sfc_main$4,
9013
- DateRangePicker: _sfc_main$o,
9014
- InputHelp: _sfc_main$q,
9015
- InputLabel: _sfc_main$r,
9254
+ PopoverPosition: _sfc_main$f,
9255
+ Paginator: _sfc_main$m,
9256
+ Spinner: _sfc_main$h,
9257
+ StaticTable: _sfc_main$a,
9258
+ Steps: _sfc_main$9,
9259
+ Table: _sfc_main$8,
9260
+ Tabs: _sfc_main$7,
9261
+ Toggle: _sfc_main$6,
9262
+ Tooltip: _sfc_main$c,
9263
+ BaseInput: _sfc_main$q,
9264
+ Checkbox: _sfc_main$5,
9265
+ DateRangePicker: _sfc_main$p,
9266
+ InputHelp: _sfc_main$r,
9267
+ InputLabel: _sfc_main$s,
9268
+ FieldsetLegend: _sfc_main$4,
9016
9269
  MultiCheckboxes: _sfc_main$3,
9017
9270
  Radio: _sfc_main$2,
9018
- Select: _sfc_main$n,
9271
+ Select: _sfc_main$o,
9019
9272
  TextArea: _sfc_main$1,
9020
9273
  YesOrNoRadio: _sfc_main
9021
9274
  });
@@ -9024,4 +9277,4 @@ const install = function installTrees(app) {
9024
9277
  app.component(componentName, component);
9025
9278
  });
9026
9279
  };
9027
- export { _sfc_main$u as ActionsDropdown, BaseAPI, _sfc_main$p as BaseInput, _sfc_main$t as Cards, _sfc_main$4 as Checkbox, _sfc_main$s as ContentModal, _sfc_main$m as DateFilter, _sfc_main$o as DateRangePicker, _sfc_main$k as DetailList, _sfc_main$j as DownloadCell, _sfc_main$i as Flash, _sfc_main$q as InputHelp, _sfc_main$r as InputLabel, _sfc_main$h as Modal, _sfc_main$3 as MultiCheckboxes, _sfc_main$l as Paginator, _sfc_main$e as Popover, PopoverContent, _sfc_main$e as PopoverPosition, _sfc_main$2 as Radio, _sfc_main$n as Select, _sfc_main$f as SidebarLayout, _sfc_main$c as Slideover, _sfc_main$g as Spinner, _sfc_main$a as StackedLayout, _sfc_main$9 as StaticTable, _sfc_main$8 as Steps, _sfc_main$7 as Table, _sfc_main$6 as Tabs, _sfc_main$1 as TextArea, _sfc_main$5 as Toggle, _sfc_main$b as Tooltip, _sfc_main as YesOrNoRadio, install as default };
9280
+ export { _sfc_main$v as ActionsDropdown, BaseAPI, _sfc_main$q as BaseInput, _sfc_main$u as Cards, _sfc_main$5 as Checkbox, _sfc_main$t as ContentModal, _sfc_main$n as DateFilter, _sfc_main$p as DateRangePicker, _sfc_main$l as DetailList, _sfc_main$k as DownloadCell, _sfc_main$4 as FieldsetLegend, _sfc_main$j as Flash, _sfc_main$r as InputHelp, _sfc_main$s as InputLabel, _sfc_main$i as Modal, _sfc_main$3 as MultiCheckboxes, _sfc_main$m as Paginator, _sfc_main$f as Popover, PopoverContent, _sfc_main$f as PopoverPosition, _sfc_main$2 as Radio, _sfc_main$o as Select, _sfc_main$g as SidebarLayout, _sfc_main$d as Slideover, _sfc_main$h as Spinner, _sfc_main$b as StackedLayout, _sfc_main$a as StaticTable, _sfc_main$9 as Steps, _sfc_main$8 as Table, _sfc_main$7 as Tabs, _sfc_main$1 as TextArea, _sfc_main$6 as Toggle, _sfc_main$c as Tooltip, _sfc_main as YesOrNoRadio, install as default };