@mieweb/ui 0.10.0-dev.24 → 0.10.0-dev.25

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 (147) hide show
  1. package/dist/brands/bluehive.cjs +3 -3
  2. package/dist/brands/bluehive.css +3 -0
  3. package/dist/brands/bluehive.js +1 -1
  4. package/dist/brands/index.cjs +9 -9
  5. package/dist/brands/index.js +3 -3
  6. package/dist/{chunk-YQDA366U.js → chunk-33DEVA3P.js} +2 -2
  7. package/dist/{chunk-YQDA366U.js.map → chunk-33DEVA3P.js.map} +1 -1
  8. package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
  9. package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
  10. package/dist/{chunk-J5CSLNCN.cjs → chunk-6VFDHJSO.cjs} +2 -2
  11. package/dist/{chunk-J5CSLNCN.cjs.map → chunk-6VFDHJSO.cjs.map} +1 -1
  12. package/dist/{chunk-ZTW4KODY.js → chunk-6ZPTZTKN.js} +3 -3
  13. package/dist/{chunk-ZTW4KODY.js.map → chunk-6ZPTZTKN.js.map} +1 -1
  14. package/dist/{chunk-SQ2D7AON.cjs → chunk-AAYXCZMV.cjs} +6 -6
  15. package/dist/{chunk-SQ2D7AON.cjs.map → chunk-AAYXCZMV.cjs.map} +1 -1
  16. package/dist/{chunk-WCDJFMZO.cjs → chunk-ADW7ZYCY.cjs} +1235 -495
  17. package/dist/chunk-ADW7ZYCY.cjs.map +1 -0
  18. package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
  19. package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
  20. package/dist/{chunk-HQ4CGVWX.cjs → chunk-B2X732V3.cjs} +7 -7
  21. package/dist/{chunk-HQ4CGVWX.cjs.map → chunk-B2X732V3.cjs.map} +1 -1
  22. package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
  23. package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
  24. package/dist/{chunk-2ABWFQQH.js → chunk-CRS2CQWM.js} +4 -4
  25. package/dist/{chunk-2ABWFQQH.js.map → chunk-CRS2CQWM.js.map} +1 -1
  26. package/dist/{chunk-MZNCLXXU.js → chunk-D22GE27K.js} +3 -3
  27. package/dist/{chunk-MZNCLXXU.js.map → chunk-D22GE27K.js.map} +1 -1
  28. package/dist/{chunk-IH55BEB3.js → chunk-DZFGTWYF.js} +6 -6
  29. package/dist/{chunk-IH55BEB3.js.map → chunk-DZFGTWYF.js.map} +1 -1
  30. package/dist/{chunk-TF7YWJHU.js → chunk-E2PBPQGS.js} +3 -3
  31. package/dist/{chunk-TF7YWJHU.js.map → chunk-E2PBPQGS.js.map} +1 -1
  32. package/dist/chunk-FBCDYTWM.js +385 -0
  33. package/dist/chunk-FBCDYTWM.js.map +1 -0
  34. package/dist/{chunk-R2O72G6Z.cjs → chunk-HC3NAN55.cjs} +7 -7
  35. package/dist/{chunk-R2O72G6Z.cjs.map → chunk-HC3NAN55.cjs.map} +1 -1
  36. package/dist/{chunk-DSB4DKWG.js → chunk-K34DXMLZ.js} +2 -2
  37. package/dist/{chunk-DSB4DKWG.js.map → chunk-K34DXMLZ.js.map} +1 -1
  38. package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
  39. package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
  40. package/dist/{chunk-MQPG3KVK.cjs → chunk-KGKBZN3T.cjs} +2 -2
  41. package/dist/{chunk-MQPG3KVK.cjs.map → chunk-KGKBZN3T.cjs.map} +1 -1
  42. package/dist/{chunk-G45FBKKV.js → chunk-P4VGVJVI.js} +4 -4
  43. package/dist/{chunk-G45FBKKV.js.map → chunk-P4VGVJVI.js.map} +1 -1
  44. package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
  45. package/dist/chunk-PJEL5ZZV.js.map +1 -0
  46. package/dist/{chunk-LJZKEMAH.cjs → chunk-R5Z7AOVU.cjs} +10 -10
  47. package/dist/{chunk-LJZKEMAH.cjs.map → chunk-R5Z7AOVU.cjs.map} +1 -1
  48. package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
  49. package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
  50. package/dist/{chunk-KHSFJTEX.js → chunk-T4JYUICS.js} +1177 -444
  51. package/dist/chunk-T4JYUICS.js.map +1 -0
  52. package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
  53. package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
  54. package/dist/{chunk-VYPPQPSZ.cjs → chunk-TJCX4OML.cjs} +3 -3
  55. package/dist/{chunk-VYPPQPSZ.cjs.map → chunk-TJCX4OML.cjs.map} +1 -1
  56. package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
  57. package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
  58. package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
  59. package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
  60. package/dist/{chunk-QNDP6PE5.cjs → chunk-VCCGR4J3.cjs} +92 -3
  61. package/dist/chunk-VCCGR4J3.cjs.map +1 -0
  62. package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
  63. package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
  64. package/dist/{chunk-Z4JR23IB.cjs → chunk-VOQJHSXN.cjs} +9 -9
  65. package/dist/{chunk-Z4JR23IB.cjs.map → chunk-VOQJHSXN.cjs.map} +1 -1
  66. package/dist/{chunk-EK3BCET6.js → chunk-WFVE36PO.js} +92 -3
  67. package/dist/chunk-WFVE36PO.js.map +1 -0
  68. package/dist/chunk-XI74P5F2.cjs +424 -0
  69. package/dist/chunk-XI74P5F2.cjs.map +1 -0
  70. package/dist/components/BoardView/index.d.cts +2 -90
  71. package/dist/components/BoardView/index.d.ts +2 -90
  72. package/dist/components/CalendarView/index.d.cts +1 -1
  73. package/dist/components/CalendarView/index.d.ts +1 -1
  74. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  75. package/dist/components/CountryCodeDropdown/index.js +2 -2
  76. package/dist/components/Dropdown/index.cjs +9 -9
  77. package/dist/components/Dropdown/index.js +2 -2
  78. package/dist/components/GanttView/index.d.cts +1 -1
  79. package/dist/components/GanttView/index.d.ts +1 -1
  80. package/dist/components/GlossaryTooltip/index.cjs +3 -3
  81. package/dist/components/GlossaryTooltip/index.js +2 -2
  82. package/dist/components/Markdown/index.cjs +15 -15
  83. package/dist/components/Markdown/index.js +3 -3
  84. package/dist/components/MediaEditor/index.cjs +10 -10
  85. package/dist/components/MediaEditor/index.js +5 -5
  86. package/dist/components/RadialExplorer/index.cjs +1 -1
  87. package/dist/components/RadialExplorer/index.js +1 -1
  88. package/dist/components/RichTextEditor/index.cjs +6 -6
  89. package/dist/components/RichTextEditor/index.js +3 -3
  90. package/dist/components/Select/index.cjs +4 -4
  91. package/dist/components/Select/index.js +2 -2
  92. package/dist/components/SourceTip/index.cjs +3 -3
  93. package/dist/components/SourceTip/index.js +2 -2
  94. package/dist/components/SuperChat/index.cjs +11 -11
  95. package/dist/components/SuperChat/index.js +4 -4
  96. package/dist/components/SuperChat/plugins/index.cjs +5 -5
  97. package/dist/components/SuperChat/plugins/index.js +4 -4
  98. package/dist/components/ViewSet/index.d.cts +1 -101
  99. package/dist/components/ViewSet/index.d.ts +1 -101
  100. package/dist/components/ViewSwitcher/index.d.cts +4 -57
  101. package/dist/components/ViewSwitcher/index.d.ts +4 -57
  102. package/dist/datavis.cjs +1 -1
  103. package/dist/datavis.js +1 -1
  104. package/dist/deck.cjs +3360 -0
  105. package/dist/deck.cjs.map +1 -0
  106. package/dist/deck.d.cts +712 -0
  107. package/dist/deck.d.ts +712 -0
  108. package/dist/deck.js +3316 -0
  109. package/dist/deck.js.map +1 -0
  110. package/dist/esheet.cjs +10 -10
  111. package/dist/esheet.js +7 -7
  112. package/dist/hooks/index.cjs +15 -15
  113. package/dist/hooks/index.js +3 -3
  114. package/dist/icons-wBacj6BW.d.cts +142 -0
  115. package/dist/icons-wBacj6BW.d.ts +142 -0
  116. package/dist/index-DoYYWsNc.d.cts +127 -0
  117. package/dist/index-DoYYWsNc.d.ts +127 -0
  118. package/dist/index.cjs +604 -551
  119. package/dist/index.cjs.map +1 -1
  120. package/dist/index.d.cts +313 -4
  121. package/dist/index.d.ts +313 -4
  122. package/dist/index.js +60 -59
  123. package/dist/index.js.map +1 -1
  124. package/dist/maps.cjs +160 -0
  125. package/dist/maps.cjs.map +1 -0
  126. package/dist/maps.d.cts +42 -0
  127. package/dist/maps.d.ts +42 -0
  128. package/dist/maps.js +138 -0
  129. package/dist/maps.js.map +1 -0
  130. package/dist/styles/effects.css +100 -0
  131. package/dist/styles/init.css +3 -0
  132. package/dist/styles.css +1 -1
  133. package/dist/tailwind-preset.cjs +4 -4
  134. package/dist/tailwind-preset.js +1 -1
  135. package/dist/templates.cjs +82 -29
  136. package/dist/templates.d.cts +316 -142
  137. package/dist/templates.d.ts +316 -142
  138. package/dist/templates.js +2 -1
  139. package/dist/{types-C3HQe74F.d.cts → types-DsdZvEI1.d.cts} +7 -1
  140. package/dist/{types-C3HQe74F.d.ts → types-DsdZvEI1.d.ts} +7 -1
  141. package/package.json +27 -1
  142. package/dist/chunk-3T7QGLNB.js.map +0 -1
  143. package/dist/chunk-EK3BCET6.js.map +0 -1
  144. package/dist/chunk-KHSFJTEX.js.map +0 -1
  145. package/dist/chunk-QNDP6PE5.cjs.map +0 -1
  146. package/dist/chunk-WCDJFMZO.cjs.map +0 -1
  147. package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
@@ -2,17 +2,17 @@
2
2
 
3
3
  var chunkJFLC7SHM_cjs = require('../../chunk-JFLC7SHM.cjs');
4
4
  var chunkMYHV2ND3_cjs = require('../../chunk-MYHV2ND3.cjs');
5
- var chunkLJZKEMAH_cjs = require('../../chunk-LJZKEMAH.cjs');
6
- var chunkVYPPQPSZ_cjs = require('../../chunk-VYPPQPSZ.cjs');
5
+ var chunkR5Z7AOVU_cjs = require('../../chunk-R5Z7AOVU.cjs');
6
+ var chunkTJCX4OML_cjs = require('../../chunk-TJCX4OML.cjs');
7
+ require('../../chunk-PJ6CC53R.cjs');
7
8
  var chunkJEIW7BSV_cjs = require('../../chunk-JEIW7BSV.cjs');
8
9
  require('../../chunk-VBWRH4UW.cjs');
9
10
  var chunkVPTASZ2O_cjs = require('../../chunk-VPTASZ2O.cjs');
10
- require('../../chunk-PJ6CC53R.cjs');
11
11
  require('../../chunk-I44YNYI6.cjs');
12
12
  require('../../chunk-Z5S5JEJD.cjs');
13
+ require('../../chunk-FHY3K6PL.cjs');
13
14
  require('../../chunk-FSGEDDF2.cjs');
14
15
  require('../../chunk-AOHJILLU.cjs');
15
- require('../../chunk-FHY3K6PL.cjs');
16
16
  require('../../chunk-L7L5S2HO.cjs');
17
17
  var chunk6HFFWEM3_cjs = require('../../chunk-6HFFWEM3.cjs');
18
18
  var chunkYVL3XATO_cjs = require('../../chunk-YVL3XATO.cjs');
@@ -548,7 +548,7 @@ function ActionMenuItem({
548
548
  item,
549
549
  onSelect
550
550
  }) {
551
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVYPPQPSZ_cjs.DropdownItem, { onClick: () => onSelect(item.onSelect), children: item.description ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-col items-start", children: [
551
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTJCX4OML_cjs.DropdownItem, { onClick: () => onSelect(item.onSelect), children: item.description ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-col items-start", children: [
552
552
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.label }),
553
553
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-normal text-neutral-400", children: item.description })
554
554
  ] }) : item.label });
@@ -580,7 +580,7 @@ function FooterActionButton({
580
580
  );
581
581
  if (!action.submenu) return button;
582
582
  return /* @__PURE__ */ jsxRuntime.jsx(
583
- chunkVYPPQPSZ_cjs.Dropdown,
583
+ chunkTJCX4OML_cjs.Dropdown,
584
584
  {
585
585
  open,
586
586
  onOpenChange: setOpen,
@@ -635,7 +635,7 @@ function MessageOverflowMenu({
635
635
  footerVisible && !open && "pointer-events-none invisible opacity-0"
636
636
  ),
637
637
  children: /* @__PURE__ */ jsxRuntime.jsx(
638
- chunkVYPPQPSZ_cjs.Dropdown,
638
+ chunkTJCX4OML_cjs.Dropdown,
639
639
  {
640
640
  open,
641
641
  onOpenChange: setOpen,
@@ -654,9 +654,9 @@ function MessageOverflowMenu({
654
654
  (action) => action.submenu ? (
655
655
  // Actions with variants collapse to just their submenu — a
656
656
  // top-level default item would duplicate the flyout's options.
657
- /* @__PURE__ */ jsxRuntime.jsx(chunkVYPPQPSZ_cjs.DropdownSubmenu, { label: action.submenu.label, children: action.submenu.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(ActionMenuItem, { item, onSelect: select }, item.id)) }, action.id)
657
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTJCX4OML_cjs.DropdownSubmenu, { label: action.submenu.label, children: action.submenu.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(ActionMenuItem, { item, onSelect: select }, item.id)) }, action.id)
658
658
  ) : /* @__PURE__ */ jsxRuntime.jsx(
659
- chunkVYPPQPSZ_cjs.DropdownItem,
659
+ chunkTJCX4OML_cjs.DropdownItem,
660
660
  {
661
661
  onClick: () => select(action.onSelect),
662
662
  children: action.label
@@ -1156,7 +1156,7 @@ function SuperChat({
1156
1156
  }) {
1157
1157
  const headingId = React3__namespace.useId();
1158
1158
  React3__namespace.useEffect(() => {
1159
- chunkLJZKEMAH_cjs.notifyComposerMigrationOnce("SuperChat");
1159
+ chunkR5Z7AOVU_cjs.notifyComposerMigrationOnce("SuperChat");
1160
1160
  }, []);
1161
1161
  const renderText = React3__namespace.useMemo(
1162
1162
  () => renderTextContent ?? createMarkdownRenderer({
@@ -1527,7 +1527,7 @@ function SuperChat({
1527
1527
  }
1528
1528
  ),
1529
1529
  /* @__PURE__ */ jsxRuntime.jsx(
1530
- chunkLJZKEMAH_cjs.ChatComposer,
1530
+ chunkR5Z7AOVU_cjs.ChatComposer,
1531
1531
  {
1532
1532
  value: draft,
1533
1533
  onValueChange: handleDraftChange,
@@ -1,17 +1,17 @@
1
1
  import { TextRenderContext } from '../../chunk-I6CY5C6A.js';
2
2
  export { TextRenderContext, useTextRenderContext } from '../../chunk-I6CY5C6A.js';
3
3
  import { ChatBubble, MCPToolCallDisplay, AITypingIndicator, SparklesIcon, CloseIcon, JumpToBottomButton } from '../../chunk-TZJQB4P2.js';
4
- import { notifyComposerMigrationOnce, ChatComposer } from '../../chunk-2ABWFQQH.js';
5
- import { Dropdown, DropdownSubmenu, DropdownItem } from '../../chunk-TF7YWJHU.js';
4
+ import { notifyComposerMigrationOnce, ChatComposer } from '../../chunk-CRS2CQWM.js';
5
+ import { Dropdown, DropdownSubmenu, DropdownItem } from '../../chunk-E2PBPQGS.js';
6
+ import '../../chunk-VVDE4CHU.js';
6
7
  import { Avatar } from '../../chunk-HZ4MBUC3.js';
7
8
  import '../../chunk-IQ4KQJAO.js';
8
9
  import { useStickToBottom, useStreamEndedBelowFold } from '../../chunk-BM35CACB.js';
9
- import '../../chunk-VVDE4CHU.js';
10
10
  import '../../chunk-6NZXWKUE.js';
11
11
  import '../../chunk-3IMM2PM4.js';
12
+ import '../../chunk-T4ME7QCT.js';
12
13
  import '../../chunk-62ZOA6PX.js';
13
14
  import '../../chunk-WSNMQQ4P.js';
14
- import '../../chunk-T4ME7QCT.js';
15
15
  import '../../chunk-BKSPDTX4.js';
16
16
  import { usePrefersReducedMotion } from '../../chunk-HB7C7NB5.js';
17
17
  import { Badge } from '../../chunk-BMSG4NBH.js';
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkJFLC7SHM_cjs = require('../../../chunk-JFLC7SHM.cjs');
4
- var chunkZ4JR23IB_cjs = require('../../../chunk-Z4JR23IB.cjs');
5
- require('../../../chunk-LJZKEMAH.cjs');
6
- require('../../../chunk-VYPPQPSZ.cjs');
4
+ var chunkVOQJHSXN_cjs = require('../../../chunk-VOQJHSXN.cjs');
5
+ require('../../../chunk-R5Z7AOVU.cjs');
6
+ require('../../../chunk-TJCX4OML.cjs');
7
7
  require('../../../chunk-I44YNYI6.cjs');
8
8
  require('../../../chunk-Z5S5JEJD.cjs');
9
+ require('../../../chunk-FHY3K6PL.cjs');
9
10
  require('../../../chunk-FSGEDDF2.cjs');
10
11
  require('../../../chunk-AOHJILLU.cjs');
11
- require('../../../chunk-FHY3K6PL.cjs');
12
12
  require('../../../chunk-L7L5S2HO.cjs');
13
13
  var chunkNMBYU7D7_cjs = require('../../../chunk-NMBYU7D7.cjs');
14
14
  require('../../../chunk-IEY3ZJIT.cjs');
@@ -613,7 +613,7 @@ function ZoomableImage({
613
613
  ),
614
614
  open && typeof document !== "undefined" && reactDom.createPortal(
615
615
  /* @__PURE__ */ jsxRuntime.jsx(
616
- chunkZ4JR23IB_cjs.LightboxModal,
616
+ chunkVOQJHSXN_cjs.LightboxModal,
617
617
  {
618
618
  attachment,
619
619
  onClose: () => setOpen(false)
@@ -1,12 +1,12 @@
1
1
  import { useTextRenderContext } from '../../../chunk-I6CY5C6A.js';
2
- import { LightboxModal } from '../../../chunk-ZTW4KODY.js';
3
- import '../../../chunk-2ABWFQQH.js';
4
- import '../../../chunk-TF7YWJHU.js';
2
+ import { LightboxModal } from '../../../chunk-6ZPTZTKN.js';
3
+ import '../../../chunk-CRS2CQWM.js';
4
+ import '../../../chunk-E2PBPQGS.js';
5
5
  import '../../../chunk-6NZXWKUE.js';
6
6
  import '../../../chunk-3IMM2PM4.js';
7
+ import '../../../chunk-T4ME7QCT.js';
7
8
  import '../../../chunk-62ZOA6PX.js';
8
9
  import '../../../chunk-WSNMQQ4P.js';
9
- import '../../../chunk-T4ME7QCT.js';
10
10
  import '../../../chunk-BKSPDTX4.js';
11
11
  import { useIsDarkMode } from '../../../chunk-RUGHNFQG.js';
12
12
  import '../../../chunk-F4N67NAF.js';
@@ -1,109 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { V as ViewBaseProps, S as Stage, a as ViewLabels, b as ViewId, c as ViewOption } from '../../index-DoYYWsNc.cjs';
3
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
5
  import { VariantProps } from 'class-variance-authority';
5
6
 
6
- /**
7
- * The contract every component in the `Modules/Views` family reads through.
8
- *
9
- * A page describes its collection once — which field is the id, the title, the
10
- * status, the start date — and every view understands it. That is the whole
11
- * reason the family exists: without it each view needs its own adapter and you
12
- * end up re-implementing the same board per entity.
13
- *
14
- * Views are headless. Nothing here fetches, subscribes, or navigates.
15
- * See CONTRIBUTING → "Modules: headless data components".
16
- */
17
-
18
- /**
19
- * Which layout is on screen. `overview` and `table` are rendered by the host
20
- * through `ViewSet` slots rather than by a component in this family — a tabular
21
- * collection is `DataVisNitroGrid`, and an overview is domain content.
22
- */
23
- type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
24
- /**
25
- * A semantic colour name, resolved to `--mieweb-*` tokens by each view.
26
- *
27
- * Accessors return one of these rather than a class string so a caller cannot
28
- * hardcode a palette that breaks under another brand or in dark mode.
29
- */
30
- type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
31
- /** A named stage: a board column, and the segments of a stage bar. */
32
- interface Stage {
33
- id: string;
34
- label: string;
35
- accent?: Accent;
36
- }
37
- /**
38
- * How a view reads one item. Only `getId` and `getTitle` are always required;
39
- * each view documents which of the rest it needs (a board needs `getStatus`, a
40
- * Gantt needs `getStart`) and renders an explanatory empty state without them.
41
- */
42
- interface ViewAccessors<T> {
43
- getId: (item: T) => string;
44
- getTitle: (item: T) => string;
45
- /** Secondary line under the title. */
46
- getSubtitle?: (item: T) => string | undefined;
47
- /** Board column and list group; matched against `Stage['id']`. */
48
- getStatus?: (item: T) => string;
49
- /** Gantt bar start, calendar placement. */
50
- getStart?: (item: T) => Date | string | null | undefined;
51
- /** Gantt bar end, calendar span. Falls back to the start when absent. */
52
- getEnd?: (item: T) => Date | string | null | undefined;
53
- /** Swimlane in a roadmap, row group in a Gantt. */
54
- getGroup?: (item: T) => string | undefined;
55
- getAccent?: (item: T) => Accent;
56
- }
57
- /** Strings a view renders. Every one is overridable; the defaults are English. */
58
- interface ViewLabels {
59
- /** Accessible name of the view switcher group. */
60
- viewSwitcher: string;
61
- loading: string;
62
- empty: string;
63
- error: string;
64
- /** Action on the error state. */
65
- retry: string;
66
- /** Heading for the group a record with no status or group falls into. */
67
- ungrouped: string;
68
- }
69
- /**
70
- * Props every view accepts. Views are controlled: selection, the active view and
71
- * filter state live in the page, and every change is handed back.
72
- */
73
- interface ViewBaseProps<T> {
74
- items: T[];
75
- accessors: ViewAccessors<T>;
76
- loading?: boolean;
77
- error?: Error | null;
78
- selectedId?: string | null;
79
- /** Called when the user activates an item. */
80
- onOpen?: (id: string, item: T) => void;
81
- /** Return a URL to render each item as a real anchor — middle-clickable and crawlable. */
82
- getHref?: (id: string, item: T) => string;
83
- /** Render one item. Receives the active view so one function can serve several. */
84
- renderItem?: (item: T, context: {
85
- view: ViewId;
86
- }) => React.ReactNode;
87
- /** Replaces the built-in empty state. */
88
- emptyState?: React.ReactNode;
89
- labels?: Partial<ViewLabels>;
90
- /** Pins "today" so stories, tests and visual snapshots stay deterministic. */
91
- now?: Date;
92
- className?: string;
93
- }
94
-
95
- interface ViewOption {
96
- id: ViewId;
97
- /** Overrides the built-in English label. */
98
- label?: string;
99
- /** Overrides the built-in icon. */
100
- icon?: React.ComponentType<{
101
- className?: string;
102
- 'aria-hidden'?: boolean;
103
- }>;
104
- disabled?: boolean;
105
- }
106
-
107
7
  type ListViewSlot = 'group' | 'groupHeader' | 'item' | 'selectedItem' | 'state';
108
8
  interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVariants> {
109
9
  /**
@@ -1,109 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
+ import { V as ViewBaseProps, S as Stage, a as ViewLabels, b as ViewId, c as ViewOption } from '../../index-DoYYWsNc.js';
3
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
5
  import { VariantProps } from 'class-variance-authority';
5
6
 
6
- /**
7
- * The contract every component in the `Modules/Views` family reads through.
8
- *
9
- * A page describes its collection once — which field is the id, the title, the
10
- * status, the start date — and every view understands it. That is the whole
11
- * reason the family exists: without it each view needs its own adapter and you
12
- * end up re-implementing the same board per entity.
13
- *
14
- * Views are headless. Nothing here fetches, subscribes, or navigates.
15
- * See CONTRIBUTING → "Modules: headless data components".
16
- */
17
-
18
- /**
19
- * Which layout is on screen. `overview` and `table` are rendered by the host
20
- * through `ViewSet` slots rather than by a component in this family — a tabular
21
- * collection is `DataVisNitroGrid`, and an overview is domain content.
22
- */
23
- type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
24
- /**
25
- * A semantic colour name, resolved to `--mieweb-*` tokens by each view.
26
- *
27
- * Accessors return one of these rather than a class string so a caller cannot
28
- * hardcode a palette that breaks under another brand or in dark mode.
29
- */
30
- type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
31
- /** A named stage: a board column, and the segments of a stage bar. */
32
- interface Stage {
33
- id: string;
34
- label: string;
35
- accent?: Accent;
36
- }
37
- /**
38
- * How a view reads one item. Only `getId` and `getTitle` are always required;
39
- * each view documents which of the rest it needs (a board needs `getStatus`, a
40
- * Gantt needs `getStart`) and renders an explanatory empty state without them.
41
- */
42
- interface ViewAccessors<T> {
43
- getId: (item: T) => string;
44
- getTitle: (item: T) => string;
45
- /** Secondary line under the title. */
46
- getSubtitle?: (item: T) => string | undefined;
47
- /** Board column and list group; matched against `Stage['id']`. */
48
- getStatus?: (item: T) => string;
49
- /** Gantt bar start, calendar placement. */
50
- getStart?: (item: T) => Date | string | null | undefined;
51
- /** Gantt bar end, calendar span. Falls back to the start when absent. */
52
- getEnd?: (item: T) => Date | string | null | undefined;
53
- /** Swimlane in a roadmap, row group in a Gantt. */
54
- getGroup?: (item: T) => string | undefined;
55
- getAccent?: (item: T) => Accent;
56
- }
57
- /** Strings a view renders. Every one is overridable; the defaults are English. */
58
- interface ViewLabels {
59
- /** Accessible name of the view switcher group. */
60
- viewSwitcher: string;
61
- loading: string;
62
- empty: string;
63
- error: string;
64
- /** Action on the error state. */
65
- retry: string;
66
- /** Heading for the group a record with no status or group falls into. */
67
- ungrouped: string;
68
- }
69
- /**
70
- * Props every view accepts. Views are controlled: selection, the active view and
71
- * filter state live in the page, and every change is handed back.
72
- */
73
- interface ViewBaseProps<T> {
74
- items: T[];
75
- accessors: ViewAccessors<T>;
76
- loading?: boolean;
77
- error?: Error | null;
78
- selectedId?: string | null;
79
- /** Called when the user activates an item. */
80
- onOpen?: (id: string, item: T) => void;
81
- /** Return a URL to render each item as a real anchor — middle-clickable and crawlable. */
82
- getHref?: (id: string, item: T) => string;
83
- /** Render one item. Receives the active view so one function can serve several. */
84
- renderItem?: (item: T, context: {
85
- view: ViewId;
86
- }) => React.ReactNode;
87
- /** Replaces the built-in empty state. */
88
- emptyState?: React.ReactNode;
89
- labels?: Partial<ViewLabels>;
90
- /** Pins "today" so stories, tests and visual snapshots stay deterministic. */
91
- now?: Date;
92
- className?: string;
93
- }
94
-
95
- interface ViewOption {
96
- id: ViewId;
97
- /** Overrides the built-in English label. */
98
- label?: string;
99
- /** Overrides the built-in icon. */
100
- icon?: React.ComponentType<{
101
- className?: string;
102
- 'aria-hidden'?: boolean;
103
- }>;
104
- disabled?: boolean;
105
- }
106
-
107
7
  type ListViewSlot = 'group' | 'groupHeader' | 'item' | 'selectedItem' | 'state';
108
8
  interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVariants> {
109
9
  /**
@@ -1,57 +1,4 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React from 'react';
3
- import { VariantProps } from 'class-variance-authority';
4
-
5
- /**
6
- * The contract every component in the `Modules/Views` family reads through.
7
- *
8
- * A page describes its collection once — which field is the id, the title, the
9
- * status, the start date — and every view understands it. That is the whole
10
- * reason the family exists: without it each view needs its own adapter and you
11
- * end up re-implementing the same board per entity.
12
- *
13
- * Views are headless. Nothing here fetches, subscribes, or navigates.
14
- * See CONTRIBUTING → "Modules: headless data components".
15
- */
16
-
17
- /**
18
- * Which layout is on screen. `overview` and `table` are rendered by the host
19
- * through `ViewSet` slots rather than by a component in this family — a tabular
20
- * collection is `DataVisNitroGrid`, and an overview is domain content.
21
- */
22
- type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
23
-
24
- interface ViewOption {
25
- id: ViewId;
26
- /** Overrides the built-in English label. */
27
- label?: string;
28
- /** Overrides the built-in icon. */
29
- icon?: React.ComponentType<{
30
- className?: string;
31
- 'aria-hidden'?: boolean;
32
- }>;
33
- disabled?: boolean;
34
- }
35
- interface ViewSwitcherProps extends VariantProps<typeof viewSwitcherVariants> {
36
- /** Views to offer, in order. Accepts bare ids or `ViewOption`s. */
37
- views: readonly (ViewId | ViewOption)[];
38
- value: ViewId;
39
- onValueChange: (view: ViewId) => void;
40
- /** Accessible name of the group. */
41
- label?: string;
42
- /** Show labels beside the icons. `responsive` hides them below `sm`. */
43
- showLabels?: boolean | 'responsive';
44
- className?: string;
45
- classNames?: Partial<Record<'option' | 'activeOption', string>>;
46
- }
47
- declare const viewSwitcherVariants: (props?: ({
48
- size?: "sm" | "md" | null | undefined;
49
- } & class_variance_authority_types.ClassProp) | undefined) => string;
50
- /**
51
- * Keyboard model is a radio group: one tab stop, arrows move *and* select.
52
- * Every option is visible, so moving the selection is the whole interaction —
53
- * there is nothing to "commit" afterwards.
54
- */
55
- declare const ViewSwitcher: React.ForwardRefExoticComponent<ViewSwitcherProps & React.RefAttributes<HTMLDivElement>>;
56
-
57
- export { type ViewOption, ViewSwitcher, type ViewSwitcherProps, viewSwitcherVariants };
1
+ export { c as ViewOption, d as ViewSwitcher, e as ViewSwitcherProps, v as viewSwitcherVariants } from '../../index-DoYYWsNc.cjs';
2
+ import 'class-variance-authority/types';
3
+ import 'react';
4
+ import 'class-variance-authority';
@@ -1,57 +1,4 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React from 'react';
3
- import { VariantProps } from 'class-variance-authority';
4
-
5
- /**
6
- * The contract every component in the `Modules/Views` family reads through.
7
- *
8
- * A page describes its collection once — which field is the id, the title, the
9
- * status, the start date — and every view understands it. That is the whole
10
- * reason the family exists: without it each view needs its own adapter and you
11
- * end up re-implementing the same board per entity.
12
- *
13
- * Views are headless. Nothing here fetches, subscribes, or navigates.
14
- * See CONTRIBUTING → "Modules: headless data components".
15
- */
16
-
17
- /**
18
- * Which layout is on screen. `overview` and `table` are rendered by the host
19
- * through `ViewSet` slots rather than by a component in this family — a tabular
20
- * collection is `DataVisNitroGrid`, and an overview is domain content.
21
- */
22
- type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
23
-
24
- interface ViewOption {
25
- id: ViewId;
26
- /** Overrides the built-in English label. */
27
- label?: string;
28
- /** Overrides the built-in icon. */
29
- icon?: React.ComponentType<{
30
- className?: string;
31
- 'aria-hidden'?: boolean;
32
- }>;
33
- disabled?: boolean;
34
- }
35
- interface ViewSwitcherProps extends VariantProps<typeof viewSwitcherVariants> {
36
- /** Views to offer, in order. Accepts bare ids or `ViewOption`s. */
37
- views: readonly (ViewId | ViewOption)[];
38
- value: ViewId;
39
- onValueChange: (view: ViewId) => void;
40
- /** Accessible name of the group. */
41
- label?: string;
42
- /** Show labels beside the icons. `responsive` hides them below `sm`. */
43
- showLabels?: boolean | 'responsive';
44
- className?: string;
45
- classNames?: Partial<Record<'option' | 'activeOption', string>>;
46
- }
47
- declare const viewSwitcherVariants: (props?: ({
48
- size?: "sm" | "md" | null | undefined;
49
- } & class_variance_authority_types.ClassProp) | undefined) => string;
50
- /**
51
- * Keyboard model is a radio group: one tab stop, arrows move *and* select.
52
- * Every option is visible, so moving the selection is the whole interaction —
53
- * there is nothing to "commit" afterwards.
54
- */
55
- declare const ViewSwitcher: React.ForwardRefExoticComponent<ViewSwitcherProps & React.RefAttributes<HTMLDivElement>>;
56
-
57
- export { type ViewOption, ViewSwitcher, type ViewSwitcherProps, viewSwitcherVariants };
1
+ export { c as ViewOption, d as ViewSwitcher, e as ViewSwitcherProps, v as viewSwitcherVariants } from '../../index-DoYYWsNc.js';
2
+ import 'class-variance-authority/types';
3
+ import 'react';
4
+ import 'class-variance-authority';
package/dist/datavis.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkPN2PIE2L_cjs = require('./chunk-PN2PIE2L.cjs');
4
4
  var chunkRI56YPED_cjs = require('./chunk-RI56YPED.cjs');
5
- var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
6
5
  var chunkX6A27RGO_cjs = require('./chunk-X6A27RGO.cjs');
6
+ var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
7
7
  require('./chunk-DXEPYK3I.cjs');
8
8
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
9
9
  require('./chunk-EUAMEVVI.cjs');
package/dist/datavis.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ul, ml, gl } from './chunk-C6CTTLH2.js';
2
2
  export { ul as DataVisNitroContext, vl as DataVisNitroGraph, gl as DataVisNitroGrid, bl as DataVisNitroLanguageSelector, ml as DataVisNitroSource } from './chunk-C6CTTLH2.js';
3
3
  import { buildChartOrderRows, buildEncounterOrderRows } from './chunk-Y5KEFV5O.js';
4
- import { Badge } from './chunk-BMSG4NBH.js';
5
4
  import { Button } from './chunk-7YO7DNUV.js';
5
+ import { Badge } from './chunk-BMSG4NBH.js';
6
6
  import './chunk-GVM6DTR5.js';
7
7
  import { cn } from './chunk-TQONQSJO.js';
8
8
  import './chunk-PX6F3LHL.js';