@mieweb/ui 0.10.0-dev.6 → 0.10.0-dev.7

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 (101) hide show
  1. package/agent/mieweb-ui.instructions.md +13 -1
  2. package/dist/brands/index.cjs +13 -13
  3. package/dist/brands/index.js +1 -1
  4. package/dist/chunk-3YBS4WUQ.js +52 -0
  5. package/dist/chunk-3YBS4WUQ.js.map +1 -0
  6. package/dist/chunk-4IS3QCOQ.cjs +453 -0
  7. package/dist/chunk-4IS3QCOQ.cjs.map +1 -0
  8. package/dist/chunk-4NCDU5IG.cjs +56 -0
  9. package/dist/chunk-4NCDU5IG.cjs.map +1 -0
  10. package/dist/chunk-76TBQDED.js +166 -0
  11. package/dist/chunk-76TBQDED.js.map +1 -0
  12. package/dist/chunk-DZ5HFLRC.js +258 -0
  13. package/dist/chunk-DZ5HFLRC.js.map +1 -0
  14. package/dist/chunk-G4D6CLBT.js +333 -0
  15. package/dist/chunk-G4D6CLBT.js.map +1 -0
  16. package/dist/chunk-IT775BYG.js +179 -0
  17. package/dist/chunk-IT775BYG.js.map +1 -0
  18. package/dist/{chunk-ELPW32ZI.cjs → chunk-KQUI4BGS.cjs} +3 -3
  19. package/dist/{chunk-ELPW32ZI.cjs.map → chunk-KQUI4BGS.cjs.map} +1 -1
  20. package/dist/{chunk-WNM7IZJ7.js → chunk-MNILXWVY.js} +2 -2
  21. package/dist/{chunk-WNM7IZJ7.js.map → chunk-MNILXWVY.js.map} +1 -1
  22. package/dist/chunk-OCSCBB52.cjs +188 -0
  23. package/dist/chunk-OCSCBB52.cjs.map +1 -0
  24. package/dist/{chunk-2YCERQWC.js → chunk-TVTIGV7Q.js} +3 -3
  25. package/dist/{chunk-2YCERQWC.js.map → chunk-TVTIGV7Q.js.map} +1 -1
  26. package/dist/chunk-URAQIF67.cjs +356 -0
  27. package/dist/chunk-URAQIF67.cjs.map +1 -0
  28. package/dist/chunk-VINZZQBD.cjs +323 -0
  29. package/dist/chunk-VINZZQBD.cjs.map +1 -0
  30. package/dist/{chunk-U42F3HLE.cjs → chunk-XCENM6ED.cjs} +12 -2
  31. package/dist/chunk-XCENM6ED.cjs.map +1 -0
  32. package/dist/chunk-XDIMTPZU.cjs +202 -0
  33. package/dist/chunk-XDIMTPZU.cjs.map +1 -0
  34. package/dist/{chunk-JI244Y7C.js → chunk-XEPDIFEA.js} +12 -2
  35. package/dist/chunk-XEPDIFEA.js.map +1 -0
  36. package/dist/chunk-XVW5DPPP.js +429 -0
  37. package/dist/chunk-XVW5DPPP.js.map +1 -0
  38. package/dist/chunk-XZNN3S3S.cjs +281 -0
  39. package/dist/chunk-XZNN3S3S.cjs.map +1 -0
  40. package/dist/chunk-Y4QNLW7W.js +300 -0
  41. package/dist/chunk-Y4QNLW7W.js.map +1 -0
  42. package/dist/{chunk-2QKBTPUC.cjs → chunk-ZPSJ2UV6.cjs} +2 -2
  43. package/dist/{chunk-2QKBTPUC.cjs.map → chunk-ZPSJ2UV6.cjs.map} +1 -1
  44. package/dist/components/BoardView/index.cjs +24 -0
  45. package/dist/components/BoardView/index.cjs.map +1 -0
  46. package/dist/components/BoardView/index.d.cts +42 -0
  47. package/dist/components/BoardView/index.d.ts +42 -0
  48. package/dist/components/BoardView/index.js +7 -0
  49. package/dist/components/BoardView/index.js.map +1 -0
  50. package/dist/components/CalendarView/index.cjs +22 -0
  51. package/dist/components/CalendarView/index.cjs.map +1 -0
  52. package/dist/components/CalendarView/index.d.cts +40 -0
  53. package/dist/components/CalendarView/index.d.ts +40 -0
  54. package/dist/components/CalendarView/index.js +9 -0
  55. package/dist/components/CalendarView/index.js.map +1 -0
  56. package/dist/components/GanttView/index.cjs +20 -0
  57. package/dist/components/GanttView/index.cjs.map +1 -0
  58. package/dist/components/GanttView/index.d.cts +37 -0
  59. package/dist/components/GanttView/index.d.ts +37 -0
  60. package/dist/components/GanttView/index.js +7 -0
  61. package/dist/components/GanttView/index.js.map +1 -0
  62. package/dist/components/ListView/index.cjs +22 -0
  63. package/dist/components/ListView/index.cjs.map +1 -0
  64. package/dist/components/ListView/index.d.cts +37 -0
  65. package/dist/components/ListView/index.d.ts +37 -0
  66. package/dist/components/ListView/index.js +9 -0
  67. package/dist/components/ListView/index.js.map +1 -0
  68. package/dist/components/Markdown/index.cjs +15 -15
  69. package/dist/components/Markdown/index.js +3 -3
  70. package/dist/components/QuickAction/index.d.cts +1 -1
  71. package/dist/components/QuickAction/index.d.ts +1 -1
  72. package/dist/components/ViewSet/index.cjs +23 -0
  73. package/dist/components/ViewSet/index.cjs.map +1 -0
  74. package/dist/components/ViewSet/index.d.cts +89 -0
  75. package/dist/components/ViewSet/index.d.ts +89 -0
  76. package/dist/components/ViewSet/index.js +14 -0
  77. package/dist/components/ViewSet/index.js.map +1 -0
  78. package/dist/components/ViewSwitcher/index.cjs +20 -0
  79. package/dist/components/ViewSwitcher/index.cjs.map +1 -0
  80. package/dist/components/ViewSwitcher/index.d.cts +40 -0
  81. package/dist/components/ViewSwitcher/index.d.ts +40 -0
  82. package/dist/components/ViewSwitcher/index.js +7 -0
  83. package/dist/components/ViewSwitcher/index.js.map +1 -0
  84. package/dist/esheet.cjs +5 -5
  85. package/dist/esheet.js +2 -2
  86. package/dist/hooks/index.cjs +5 -5
  87. package/dist/hooks/index.js +1 -1
  88. package/dist/index.cjs +439 -372
  89. package/dist/index.cjs.map +1 -1
  90. package/dist/index.d.cts +8 -0
  91. package/dist/index.d.ts +8 -0
  92. package/dist/index.js +57 -50
  93. package/dist/index.js.map +1 -1
  94. package/dist/styles.css +1 -1
  95. package/dist/tailwind-preset.cjs +4 -4
  96. package/dist/tailwind-preset.js +1 -1
  97. package/dist/types-CbWXIKbe.d.cts +119 -0
  98. package/dist/types-CbWXIKbe.d.ts +119 -0
  99. package/package.json +1 -1
  100. package/dist/chunk-JI244Y7C.js.map +0 -1
  101. package/dist/chunk-U42F3HLE.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ViewSwitcher/ViewSwitcher.tsx"],"names":["ViewSwitcher"],"mappings":"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","file":"chunk-IT775BYG.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport {\n CalendarIcon,\n ChartIcon,\n ColumnsIcon,\n GridIcon,\n ListIcon,\n TableIcon,\n} from '../Icons';\nimport { defaultViewLabels, type ViewId } from '../../views/types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface ViewOption {\n id: ViewId;\n /** Overrides the built-in English label. */\n label?: string;\n /** Overrides the built-in icon. */\n icon?: React.ComponentType<{ className?: string; 'aria-hidden'?: boolean }>;\n disabled?: boolean;\n}\n\nexport interface ViewSwitcherProps extends VariantProps<\n typeof viewSwitcherVariants\n> {\n /** Views to offer, in order. Accepts bare ids or `ViewOption`s. */\n views: readonly (ViewId | ViewOption)[];\n value: ViewId;\n onValueChange: (view: ViewId) => void;\n /** Accessible name of the group. */\n label?: string;\n /** Show labels beside the icons. `responsive` hides them below `sm`. */\n showLabels?: boolean | 'responsive';\n className?: string;\n classNames?: Partial<Record<'option' | 'activeOption', string>>;\n}\n\n// =============================================================================\n// Defaults\n// =============================================================================\n\nconst VIEW_META: Record<\n ViewId,\n {\n label: string;\n icon: React.ComponentType<{ className?: string; 'aria-hidden'?: boolean }>;\n }\n> = {\n overview: { label: 'Overview', icon: GridIcon },\n list: { label: 'List', icon: ListIcon },\n board: { label: 'Board', icon: ColumnsIcon },\n calendar: { label: 'Calendar', icon: CalendarIcon },\n gantt: { label: 'Gantt', icon: ChartIcon },\n roadmap: { label: 'Roadmap', icon: ChartIcon },\n table: { label: 'Table', icon: TableIcon },\n};\n\n// =============================================================================\n// Variants\n// =============================================================================\n\nconst viewSwitcherVariants = cva(\n [\n 'inline-flex items-center gap-0.5',\n 'rounded-lg border border-border bg-muted p-0.5',\n 'overflow-x-auto',\n ],\n {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-sm',\n },\n },\n defaultVariants: { size: 'md' },\n }\n);\n\nconst optionVariants = cva(\n [\n 'inline-flex shrink-0 items-center gap-1.5 rounded-md font-medium',\n 'transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background',\n 'disabled:pointer-events-none disabled:opacity-50',\n ],\n {\n variants: {\n size: {\n // 40px tall on touch, tighter once a pointer is likely.\n sm: 'min-h-10 px-2 py-2 sm:min-h-0 sm:px-2 sm:py-1',\n md: 'min-h-10 px-2.5 py-2 sm:min-h-0 sm:px-3 sm:py-1.5',\n },\n active: {\n // A raised surface rather than tinted ink: an accent colour as text on\n // its own wash fails AA contrast. Same treatment as Tabs' pills.\n true: 'bg-background text-foreground shadow-sm',\n false: 'text-muted-foreground hover:text-foreground',\n },\n },\n defaultVariants: { size: 'md', active: false },\n }\n);\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Keyboard model is a radio group: one tab stop, arrows move *and* select.\n * Every option is visible, so moving the selection is the whole interaction —\n * there is nothing to \"commit\" afterwards.\n */\nexport const ViewSwitcher = React.forwardRef<HTMLDivElement, ViewSwitcherProps>(\n function ViewSwitcher(\n {\n views,\n value,\n onValueChange,\n label = defaultViewLabels.viewSwitcher,\n showLabels = 'responsive',\n size,\n className,\n classNames,\n ...rest\n },\n ref\n ) {\n const options = React.useMemo<ViewOption[]>(\n () => views.map((v) => (typeof v === 'string' ? { id: v } : v)),\n [views]\n );\n const refs = React.useRef<Record<string, HTMLButtonElement | null>>({});\n\n const select = (next: ViewOption | undefined) => {\n if (!next || next.id === value) return;\n onValueChange(next.id);\n // The selection owns the tab stop, so focus has to follow it.\n requestAnimationFrame(() =>\n refs.current[next.id]?.focus({ preventScroll: true })\n );\n };\n\n // Stepping is relative to the selected view, not to whichever button received\n // the key: focus moves asynchronously, and the two would drift apart.\n const step = (delta: number) => {\n const enabled = options.filter((o) => !o.disabled);\n if (enabled.length === 0) return;\n const current = enabled.findIndex((o) => o.id === value);\n const from = current === -1 ? (delta > 0 ? -1 : 0) : current;\n select(enabled[(from + delta + enabled.length) % enabled.length]);\n };\n\n const onKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n const enabled = options.filter((o) => !o.disabled);\n // Logical, not physical: ArrowRight moves to the visually next option,\n // which is the previous one under RTL.\n const forward =\n getComputedStyle(event.currentTarget).direction === 'rtl' ? -1 : 1;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n step(forward);\n break;\n case 'ArrowLeft':\n event.preventDefault();\n step(-forward);\n break;\n case 'ArrowDown':\n event.preventDefault();\n step(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n step(-1);\n break;\n case 'Home':\n event.preventDefault();\n select(enabled[0]);\n break;\n case 'End':\n event.preventDefault();\n select(enabled[enabled.length - 1]);\n break;\n default:\n break;\n }\n };\n\n // The roving tab stop has to land on an option the browser will actually\n // focus. A disabled `<button>` is unfocusable, so if the active option is\n // also disabled — a controlled caller, or a `defaultView` that later got\n // disabled — putting the only `tabIndex={0}` on it leaves the radiogroup\n // with no keyboard entry point at all. Fall back to the first enabled\n // option; arrows then move from there.\n const tabStopId =\n options.find((o) => o.id === value && !o.disabled)?.id ??\n options.find((o) => !o.disabled)?.id;\n\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={label}\n data-slot=\"view-switcher\"\n className={cn(viewSwitcherVariants({ size }), className)}\n {...rest}\n >\n {options.map((option) => {\n const meta = VIEW_META[option.id];\n const Icon = option.icon ?? meta.icon;\n const text = option.label ?? meta.label;\n const active = option.id === value;\n return (\n <button\n key={option.id}\n ref={(node) => {\n refs.current[option.id] = node;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n aria-label={showLabels === true ? undefined : text}\n title={text}\n disabled={option.disabled}\n tabIndex={option.id === tabStopId ? 0 : -1}\n data-slot=\"view-switcher-option\"\n data-view={option.id}\n className={cn(\n optionVariants({ size, active }),\n classNames?.option,\n active && classNames?.activeOption\n )}\n onClick={() => onValueChange(option.id)}\n onKeyDown={onKeyDown}\n >\n <Icon className=\"size-4 shrink-0\" aria-hidden />\n {showLabels !== false && (\n <span\n data-slot=\"view-switcher-label\"\n className={cn(\n showLabels === 'responsive' && 'hidden sm:inline'\n )}\n >\n {text}\n </span>\n )}\n </button>\n );\n })}\n </div>\n );\n }\n);\n\nexport { viewSwitcherVariants };\n"]}
@@ -6,8 +6,8 @@ var chunkG7EQ3JPX_cjs = require('./chunk-G7EQ3JPX.cjs');
6
6
  var chunkAIJAFPGJ_cjs = require('./chunk-AIJAFPGJ.cjs');
7
7
  var chunkUQ3VVR6A_cjs = require('./chunk-UQ3VVR6A.cjs');
8
8
  var chunkZSGEGISB_cjs = require('./chunk-ZSGEGISB.cjs');
9
- var chunkMJWFNV3L_cjs = require('./chunk-MJWFNV3L.cjs');
10
9
  var chunkZ5S5JEJD_cjs = require('./chunk-Z5S5JEJD.cjs');
10
+ var chunkMJWFNV3L_cjs = require('./chunk-MJWFNV3L.cjs');
11
11
  var chunkYVPC65ZJ_cjs = require('./chunk-YVPC65ZJ.cjs');
12
12
  var chunk7ZDPD5ZX_cjs = require('./chunk-7ZDPD5ZX.cjs');
13
13
  var chunkL7L5S2HO_cjs = require('./chunk-L7L5S2HO.cjs');
@@ -1622,5 +1622,5 @@ exports.parseMedicationLabel = parseMedicationLabel;
1622
1622
  exports.parseSig = parseSig;
1623
1623
  exports.toolbarKeyNav = toolbarKeyNav;
1624
1624
  exports.useCodeLookupConfig = useCodeLookupConfig;
1625
- //# sourceMappingURL=chunk-ELPW32ZI.cjs.map
1626
- //# sourceMappingURL=chunk-ELPW32ZI.cjs.map
1625
+ //# sourceMappingURL=chunk-KQUI4BGS.cjs.map
1626
+ //# sourceMappingURL=chunk-KQUI4BGS.cjs.map