@mortenbrudvik/waveui 0.13.0 → 0.14.1

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 (83) hide show
  1. package/README.md +302 -49
  2. package/dist/components/data-display/Avatar.context.cjs.map +1 -1
  3. package/dist/components/data-display/Avatar.context.mjs.map +1 -1
  4. package/dist/components/data-display/List.cjs +1 -1
  5. package/dist/components/data-display/List.cjs.map +1 -1
  6. package/dist/components/data-display/List.mjs +245 -195
  7. package/dist/components/data-display/List.mjs.map +1 -1
  8. package/dist/components/data-display/List.registry.cjs.map +1 -1
  9. package/dist/components/data-display/List.registry.mjs.map +1 -1
  10. package/dist/components/layout/Overflow.cjs +1 -1
  11. package/dist/components/layout/Overflow.cjs.map +1 -1
  12. package/dist/components/layout/Overflow.mjs +240 -192
  13. package/dist/components/layout/Overflow.mjs.map +1 -1
  14. package/dist/components/layout/Overflow.store.cjs +2 -0
  15. package/dist/components/layout/Overflow.store.cjs.map +1 -0
  16. package/dist/components/layout/Overflow.store.mjs +209 -0
  17. package/dist/components/layout/Overflow.store.mjs.map +1 -0
  18. package/dist/components/navigation/Breadcrumb.cjs +1 -1
  19. package/dist/components/navigation/Breadcrumb.cjs.map +1 -1
  20. package/dist/components/navigation/Breadcrumb.mjs +239 -84
  21. package/dist/components/navigation/Breadcrumb.mjs.map +1 -1
  22. package/dist/components/overlays/Dialog.slots.cjs +1 -1
  23. package/dist/components/overlays/Dialog.slots.cjs.map +1 -1
  24. package/dist/components/overlays/Dialog.slots.mjs +19 -15
  25. package/dist/components/overlays/Dialog.slots.mjs.map +1 -1
  26. package/dist/components/overlays/TeachingPopover.cjs +1 -1
  27. package/dist/components/overlays/TeachingPopover.cjs.map +1 -1
  28. package/dist/components/overlays/TeachingPopover.context.cjs +2 -0
  29. package/dist/components/overlays/TeachingPopover.context.cjs.map +1 -0
  30. package/dist/components/overlays/TeachingPopover.context.mjs +51 -0
  31. package/dist/components/overlays/TeachingPopover.context.mjs.map +1 -0
  32. package/dist/components/overlays/TeachingPopover.mjs +15 -185
  33. package/dist/components/overlays/TeachingPopover.mjs.map +1 -1
  34. package/dist/components/overlays/TeachingPopover.parts.cjs +2 -0
  35. package/dist/components/overlays/TeachingPopover.parts.cjs.map +1 -0
  36. package/dist/components/overlays/TeachingPopover.parts.mjs +405 -0
  37. package/dist/components/overlays/TeachingPopover.parts.mjs.map +1 -0
  38. package/dist/components/overlays/TeachingPopover.root.cjs +2 -0
  39. package/dist/components/overlays/TeachingPopover.root.cjs.map +1 -0
  40. package/dist/components/overlays/TeachingPopover.root.mjs +158 -0
  41. package/dist/components/overlays/TeachingPopover.root.mjs.map +1 -0
  42. package/dist/components/overlays/TeachingPopover.stack.cjs +2 -0
  43. package/dist/components/overlays/TeachingPopover.stack.cjs.map +1 -0
  44. package/dist/components/overlays/TeachingPopover.stack.mjs +86 -0
  45. package/dist/components/overlays/TeachingPopover.stack.mjs.map +1 -0
  46. package/dist/components/table/DataGrid.cjs +1 -1
  47. package/dist/components/table/DataGrid.cjs.map +1 -1
  48. package/dist/components/table/DataGrid.mjs +540 -311
  49. package/dist/components/table/DataGrid.mjs.map +1 -1
  50. package/dist/components/table/Table.cjs +1 -1
  51. package/dist/components/table/Table.cjs.map +1 -1
  52. package/dist/components/table/Table.mjs +183 -60
  53. package/dist/components/table/Table.mjs.map +1 -1
  54. package/dist/components/table/Table.shared.cjs +2 -0
  55. package/dist/components/table/Table.shared.cjs.map +1 -0
  56. package/dist/components/table/Table.shared.mjs +65 -0
  57. package/dist/components/table/Table.shared.mjs.map +1 -0
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.d.cts +1755 -162
  60. package/dist/index.d.ts +1755 -162
  61. package/dist/index.mjs +135 -132
  62. package/dist/lib/breadcrumb.cjs +2 -0
  63. package/dist/lib/breadcrumb.cjs.map +1 -0
  64. package/dist/lib/breadcrumb.mjs +26 -0
  65. package/dist/lib/breadcrumb.mjs.map +1 -0
  66. package/dist/lib/classNames.cjs +1 -1
  67. package/dist/lib/classNames.cjs.map +1 -1
  68. package/dist/lib/classNames.mjs +66 -38
  69. package/dist/lib/classNames.mjs.map +1 -1
  70. package/dist/lib/events.cjs +1 -1
  71. package/dist/lib/events.cjs.map +1 -1
  72. package/dist/lib/events.mjs +35 -8
  73. package/dist/lib/events.mjs.map +1 -1
  74. package/dist/lib/icons.cjs +1 -1
  75. package/dist/lib/icons.cjs.map +1 -1
  76. package/dist/lib/icons.mjs +34 -20
  77. package/dist/lib/icons.mjs.map +1 -1
  78. package/dist/lib/table.cjs +2 -0
  79. package/dist/lib/table.cjs.map +1 -0
  80. package/dist/lib/table.mjs +16 -0
  81. package/dist/lib/table.mjs.map +1 -0
  82. package/dist/styles.css +1 -1
  83. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"icons.cjs","names":["_Fragment","require_runtime","react","react_jsx_runtime","createIcon","paintProps","paint","Icon","defaultSize","rest","a11yProps","title","size","name","content","children","displayName","CHEVRON_DOWN","CHEVRON_RIGHT","CHEVRON_LEFT","DismissIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronDoubleLeftIcon","ChevronDoubleRightIcon","CalendarIcon","CheckIcon","SubtractIcon","SearchIcon","InfoIcon","SuccessIcon","WarningIcon","ErrorIcon","StarIcon","AddIcon","PersonIcon","NavigationIcon","PresenceAvailableIcon","PresenceBusyIcon","PresenceAwayIcon","PresenceOfflineIcon","PresenceDndIcon","PresenceOofIcon"],"sources":["../../src/lib/icons.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Props of the shared internal icons. Every other SVG attribute is forwarded to the `<svg>`.\n *\n * Icons are decorative by default (`aria-hidden=\"true\"`, `focusable=\"false\"`): the control that\n * contains them provides the accessible name. Pass `title` for a standalone meaningful icon; it\n * then renders `role=\"img\"` with a `<title>`.\n */\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {\n /**\n * Width and height (number = px, or any CSS length). Default 16 (chevrons 12, the navigation\n * glyph 20).\n */\n size?: number | string;\n /** Accessible name; makes the icon a named image instead of a decorative one. */\n title?: string;\n}\n\n/** An internal icon component. */\nexport interface IconComponent {\n (props: IconProps): React.JSX.Element;\n displayName: string;\n}\n\ninterface IconDefinition {\n /** Value of `data-wave-icon`. */\n name: string;\n displayName: string;\n viewBox: string;\n defaultSize: number;\n /** Stroked glyphs paint with `stroke`, filled glyphs with `fill`. */\n paint: 'fill' | 'stroke';\n strokeWidth?: number;\n content: React.ReactNode;\n}\n\n/**\n * Builds an icon component. Side-effect free: every call site carries a `@__PURE__` annotation\n * comment so bundlers drop the icons a consumer does not use (a test bundles a one-icon entry with\n * Vite's production build). Keep that annotation on new icons.\n */\nfunction createIcon({\n name,\n displayName,\n viewBox,\n defaultSize,\n paint,\n strokeWidth,\n content,\n}: IconDefinition): IconComponent {\n const paintProps: React.SVGProps<SVGSVGElement> =\n paint === 'fill'\n ? { fill: 'currentColor' }\n : {\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n };\n\n const Icon = ({ size = defaultSize, title, children, ...rest }: IconProps) => {\n const a11yProps: React.SVGProps<SVGSVGElement> = title\n ? { role: 'img' }\n : { 'aria-hidden': true, focusable: 'false' };\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={viewBox}\n data-wave-icon={name}\n {...paintProps}\n {...a11yProps}\n {...rest}\n >\n {title ? <title>{title}</title> : null}\n {content}\n {children}\n </svg>\n );\n };\n Icon.displayName = displayName;\n return Icon;\n}\n\nconst CHEVRON_DOWN =\n 'M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06Z';\nconst CHEVRON_UP =\n 'M2.22 7.53a.75.75 0 0 0 1.06 0L6 4.81l2.72 2.72a.75.75 0 1 0 1.06-1.06L6.53 3.22a.75.75 0 0 0-1.06 0L2.22 6.47a.75.75 0 0 0 0 1.06Z';\nconst CHEVRON_RIGHT =\n 'M4.47 2.22a.75.75 0 0 0 0 1.06L7.19 6 4.47 8.72a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L5.53 2.22a.75.75 0 0 0-1.06 0Z';\nconst CHEVRON_LEFT =\n 'M7.53 2.22a.75.75 0 0 1 0 1.06L4.81 6l2.72 2.72a.75.75 0 1 1-1.06 1.06L3.22 6.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z';\n\n/** Close / clear / dismiss glyph (Dialog, Drawer, MessageBar, Toast, Tag, SearchBox, pickers). */\nexport const DismissIcon = /* @__PURE__ */ createIcon({\n name: 'dismiss',\n displayName: 'DismissIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" />\n ),\n});\n\n/** Disclosure chevron pointing down (MenuButton, SplitButton, Dropdown, Accordion). */\nexport const ChevronDownIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-down',\n displayName: 'ChevronDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_DOWN} />,\n});\n\n/** Chevron pointing up. */\nexport const ChevronUpIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-up',\n displayName: 'ChevronUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_UP} />,\n});\n\n/** Chevron pointing left (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-left',\n displayName: 'ChevronLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_LEFT} />,\n});\n\n/** Chevron pointing right (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-right',\n displayName: 'ChevronRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_RIGHT} />,\n});\n\n/** Double chevron pointing left (Pagination \"first\"). */\nexport const ChevronDoubleLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-left',\n displayName: 'ChevronDoubleLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_LEFT} transform=\"translate(-1.4 0)\" />\n <path d={CHEVRON_LEFT} transform=\"translate(2.6 0)\" />\n </>\n ),\n});\n\n/** Double chevron pointing right (Pagination \"last\"). */\nexport const ChevronDoubleRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-right',\n displayName: 'ChevronDoubleRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_RIGHT} transform=\"translate(-2.6 0)\" />\n <path d={CHEVRON_RIGHT} transform=\"translate(1.4 0)\" />\n </>\n ),\n});\n\n/** Calendar glyph (DatePicker toggle). */\nexport const CalendarIcon = /* @__PURE__ */ createIcon({\n name: 'calendar',\n displayName: 'CalendarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 0 1 .75.75V4h7V2.75a.75.75 0 0 1 1.5 0V4h.25A2.75 2.75 0 0 1 18 6.75v8.5A2.75 2.75 0 0 1 15.25 18H4.75A2.75 2.75 0 0 1 2 15.25v-8.5A2.75 2.75 0 0 1 4.75 4H5V2.75A.75.75 0 0 1 5.75 2Zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75Z\"\n />\n ),\n});\n\n/** Clock glyph (TimePicker). */\nexport const ClockIcon = /* @__PURE__ */ createIcon({\n name: 'clock',\n displayName: 'ClockIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm-.75 2.25a.75.75 0 0 1 1.5 0v3.94l2.28 2.28a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1-.22-.53V5.75Z\" />\n ),\n});\n\n/** Check mark (Checkbox, selected options). */\nexport const CheckIcon = /* @__PURE__ */ createIcon({\n name: 'check',\n displayName: 'CheckIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6l2.5 2.5L9.5 3\" />,\n});\n\n/** Horizontal bar (indeterminate Checkbox). */\nexport const SubtractIcon = /* @__PURE__ */ createIcon({\n name: 'subtract',\n displayName: 'SubtractIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6h7\" />,\n});\n\n/** Magnifier (SearchBox). */\nexport const SearchIcon = /* @__PURE__ */ createIcon({\n name: 'search',\n displayName: 'SearchIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.38l3.09 3.08a.75.75 0 1 1-1.06 1.06l-3.09-3.08A7 7 0 0 1 2 9Z\"\n />\n ),\n});\n\n/** Information glyph (InfoLabel, informational MessageBar/Toast). */\nexport const InfoIcon = /* @__PURE__ */ createIcon({\n name: 'info',\n displayName: 'InfoIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v1h-1V7h1Zm0 3v4h-1v-4h1Z\"\n />\n ),\n});\n\n/** Success status glyph (MessageBar, Toast). */\nexport const SuccessIcon = /* @__PURE__ */ createIcon({\n name: 'success',\n displayName: 'SuccessIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm3.36 5.65-4 5a.5.5 0 0 1-.72.05l-2-2a.5.5 0 0 1 .72-.7l1.77 1.76 3.6-4.5a.5.5 0 0 1 .78.62l-.15.17Z\"\n />\n ),\n});\n\n/** Warning status glyph (MessageBar, Toast). */\nexport const WarningIcon = /* @__PURE__ */ createIcon({\n name: 'warning',\n displayName: 'WarningIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M9.15 3.45a1 1 0 0 1 1.7 0l6.86 11.44A1 1 0 0 1 16.86 17H3.14a1 1 0 0 1-.85-1.53L9.15 3.45ZM10.5 13v1h-1v-1h1Zm0-5v4h-1V8h1Z\"\n />\n ),\n});\n\n/** Error status glyph (MessageBar, Toast). */\nexport const ErrorIcon = /* @__PURE__ */ createIcon({\n name: 'error',\n displayName: 'ErrorIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v4h-1V7h1Zm0 6v1h-1v-1h1Z\"\n />\n ),\n});\n\n/** Star (Rating). */\nexport const StarIcon = /* @__PURE__ */ createIcon({\n name: 'star',\n displayName: 'StarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 1.5l2.47 5.01 5.53.8-4 3.9.94 5.49L10 13.88l-4.94 2.82.94-5.49-4-3.9 5.53-.8L10 1.5Z\" />\n ),\n});\n\n/** Plus (SpinButton increment); the {@link SubtractIcon} bar plus a vertical bar. */\nexport const AddIcon = /* @__PURE__ */ createIcon({\n name: 'add',\n displayName: 'AddIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M6 2.5v7M2.5 6h7\" />,\n});\n\n/**\n * Generic person (Avatar fallback when there is no image, icon or name). Accepts a relative size\n * such as `size=\"60%\"` to scale with its container.\n */\nexport const PersonIcon = /* @__PURE__ */ createIcon({\n name: 'person',\n displayName: 'PersonIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-5.5 10h11A2.5 2.5 0 0 1 18 14.5v.5c0 2.4-2.9 4-8 4s-8-1.6-8-4v-.5A2.5 2.5 0 0 1 4.5 12Z\" />\n ),\n});\n\n/** Navigation glyph: three bars (Hamburger). */\nexport const NavigationIcon = /* @__PURE__ */ createIcon({\n name: 'navigation',\n displayName: 'NavigationIcon',\n viewBox: '0 0 20 20',\n defaultSize: 20,\n paint: 'fill',\n content: (\n <path d=\"M2.75 4.5h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Z\" />\n ),\n});\n\n/*\n * Presence glyphs (PresenceBadge). Drawn in a 16x16 box that the badge circle fills, with stroke\n * weights tuned for the 8-20px badge sizes; render them with `className=\"size-full\"`. They differ\n * from CheckIcon/ClockIcon/DismissIcon in geometry, so every status keeps a distinct shape at\n * badge size. Mirror the out-of-office arrow in right-to-left layouts (`wave-rtl:-scale-x-100`).\n */\n\n/** Presence \"available\": a check mark. */\nexport const PresenceAvailableIcon = /* @__PURE__ */ createIcon({\n name: 'presence-available',\n displayName: 'PresenceAvailableIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.6 8.3l2.2 2.2 4.6-4.8\" strokeWidth={2} />,\n});\n\n/**\n * Presence \"busy\": a full disc in `currentColor`. Forced-colors mode replaces the badge background\n * with Canvas but forces `color` to CanvasText, so busy stays a solid dot instead of an empty ring.\n */\nexport const PresenceBusyIcon = /* @__PURE__ */ createIcon({\n name: 'presence-busy',\n displayName: 'PresenceBusyIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'fill',\n content: <path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Z\" />,\n});\n\n/** Presence \"away\": clock hands. */\nexport const PresenceAwayIcon = /* @__PURE__ */ createIcon({\n name: 'presence-away',\n displayName: 'PresenceAwayIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M8 4.4V8l2.6 1.8\" strokeWidth={1.8} />,\n});\n\n/** Presence \"offline\": a hollow ring with an X. */\nexport const PresenceOfflineIcon = /* @__PURE__ */ createIcon({\n name: 'presence-offline',\n displayName: 'PresenceOfflineIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: (\n <>\n <circle cx={8} cy={8} r={6.5} strokeWidth={2.5} />\n <path d=\"M6 6l4 4m0-4l-4 4\" strokeWidth={1.6} />\n </>\n ),\n});\n\n/** Presence \"do not disturb\": a horizontal bar. */\nexport const PresenceDndIcon = /* @__PURE__ */ createIcon({\n name: 'presence-dnd',\n displayName: 'PresenceDndIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.5 8h7\" strokeWidth={2.2} />,\n});\n\n/** Presence \"out of office\": an arrow pointing left (physical; mirror it in RTL). */\nexport const PresenceOofIcon = /* @__PURE__ */ createIcon({\n name: 'presence-oof',\n displayName: 'PresenceOofIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M11.4 8H4.8m2.9-3L4.7 8l3 3\" strokeWidth={1.8} />,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"icons.cjs","names":["_Fragment","require_runtime","react","react_jsx_runtime","createIcon","paintProps","paint","Icon","defaultSize","rest","a11yProps","title","size","name","content","children","displayName","CHEVRON_DOWN","CHEVRON_RIGHT","CHEVRON_LEFT","DismissIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","SortArrowUpIcon","SortArrowDownIcon","ChevronDoubleLeftIcon","ChevronDoubleRightIcon","CalendarIcon","CheckIcon","SubtractIcon","SearchIcon","InfoIcon","SuccessIcon","WarningIcon","ErrorIcon","StarIcon","AddIcon","PersonIcon","NavigationIcon","PresenceAvailableIcon","PresenceBusyIcon","PresenceAwayIcon","PresenceOfflineIcon","PresenceDndIcon","PresenceOofIcon"],"sources":["../../src/lib/icons.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Props of the shared internal icons. Every other SVG attribute is forwarded to the `<svg>`.\n *\n * Icons are decorative by default (`aria-hidden=\"true\"`, `focusable=\"false\"`): the control that\n * contains them provides the accessible name. Pass `title` for a standalone meaningful icon; it\n * then renders `role=\"img\"` with a `<title>`.\n */\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {\n /**\n * Width and height (number = px, or any CSS length). Default 16 (chevrons 12, the navigation\n * glyph 20).\n */\n size?: number | string;\n /** Accessible name; makes the icon a named image instead of a decorative one. */\n title?: string;\n}\n\n/** An internal icon component. */\nexport interface IconComponent {\n (props: IconProps): React.JSX.Element;\n displayName: string;\n}\n\ninterface IconDefinition {\n /** Value of `data-wave-icon`. */\n name: string;\n displayName: string;\n viewBox: string;\n defaultSize: number;\n /** Stroked glyphs paint with `stroke`, filled glyphs with `fill`. */\n paint: 'fill' | 'stroke';\n strokeWidth?: number;\n content: React.ReactNode;\n}\n\n/**\n * Builds an icon component. Side-effect free: every call site carries a `@__PURE__` annotation\n * comment so bundlers drop the icons a consumer does not use (a test bundles a one-icon entry with\n * Vite's production build). Keep that annotation on new icons.\n */\nfunction createIcon({\n name,\n displayName,\n viewBox,\n defaultSize,\n paint,\n strokeWidth,\n content,\n}: IconDefinition): IconComponent {\n const paintProps: React.SVGProps<SVGSVGElement> =\n paint === 'fill'\n ? { fill: 'currentColor' }\n : {\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n };\n\n const Icon = ({ size = defaultSize, title, children, ...rest }: IconProps) => {\n const a11yProps: React.SVGProps<SVGSVGElement> = title\n ? { role: 'img' }\n : { 'aria-hidden': true, focusable: 'false' };\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={viewBox}\n data-wave-icon={name}\n {...paintProps}\n {...a11yProps}\n {...rest}\n >\n {title ? <title>{title}</title> : null}\n {content}\n {children}\n </svg>\n );\n };\n Icon.displayName = displayName;\n return Icon;\n}\n\nconst CHEVRON_DOWN =\n 'M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06Z';\nconst CHEVRON_UP =\n 'M2.22 7.53a.75.75 0 0 0 1.06 0L6 4.81l2.72 2.72a.75.75 0 1 0 1.06-1.06L6.53 3.22a.75.75 0 0 0-1.06 0L2.22 6.47a.75.75 0 0 0 0 1.06Z';\nconst CHEVRON_RIGHT =\n 'M4.47 2.22a.75.75 0 0 0 0 1.06L7.19 6 4.47 8.72a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L5.53 2.22a.75.75 0 0 0-1.06 0Z';\nconst CHEVRON_LEFT =\n 'M7.53 2.22a.75.75 0 0 1 0 1.06L4.81 6l2.72 2.72a.75.75 0 1 1-1.06 1.06L3.22 6.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z';\n\n/** Close / clear / dismiss glyph (Dialog, Drawer, MessageBar, Toast, Tag, SearchBox, pickers). */\nexport const DismissIcon = /* @__PURE__ */ createIcon({\n name: 'dismiss',\n displayName: 'DismissIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" />\n ),\n});\n\n/** Disclosure chevron pointing down (MenuButton, SplitButton, Dropdown, Accordion). */\nexport const ChevronDownIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-down',\n displayName: 'ChevronDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_DOWN} />,\n});\n\n/** Chevron pointing up. */\nexport const ChevronUpIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-up',\n displayName: 'ChevronUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_UP} />,\n});\n\n/** Chevron pointing left (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-left',\n displayName: 'ChevronLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_LEFT} />,\n});\n\n/** Chevron pointing right (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-right',\n displayName: 'ChevronRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_RIGHT} />,\n});\n\n/** Arrow pointing up: an ascending sort (DataGrid and Table sort buttons). */\nexport const SortArrowUpIcon = /* @__PURE__ */ createIcon({\n name: 'sort-arrow-up',\n displayName: 'SortArrowUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <path d=\"M6 1.5a.75.75 0 0 1 .53.22l3.25 3.25a.75.75 0 0 1-1.06 1.06L6.75 4.06v5.69a.75.75 0 0 1-1.5 0V4.06L3.28 6.03a.75.75 0 0 1-1.06-1.06l3.25-3.25A.75.75 0 0 1 6 1.5Z\" />\n ),\n});\n\n/** Arrow pointing down: a descending sort (DataGrid and Table sort buttons). */\nexport const SortArrowDownIcon = /* @__PURE__ */ createIcon({\n name: 'sort-arrow-down',\n displayName: 'SortArrowDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <path d=\"M6 10.5a.75.75 0 0 0 .53-.22l3.25-3.25a.75.75 0 0 0-1.06-1.06L6.75 7.94V2.25a.75.75 0 0 0-1.5 0v5.69L3.28 5.97a.75.75 0 0 0-1.06 1.06l3.25 3.25a.75.75 0 0 0 .53.22Z\" />\n ),\n});\n\n/** Double chevron pointing left (Pagination \"first\"). */\nexport const ChevronDoubleLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-left',\n displayName: 'ChevronDoubleLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_LEFT} transform=\"translate(-1.4 0)\" />\n <path d={CHEVRON_LEFT} transform=\"translate(2.6 0)\" />\n </>\n ),\n});\n\n/** Double chevron pointing right (Pagination \"last\"). */\nexport const ChevronDoubleRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-right',\n displayName: 'ChevronDoubleRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_RIGHT} transform=\"translate(-2.6 0)\" />\n <path d={CHEVRON_RIGHT} transform=\"translate(1.4 0)\" />\n </>\n ),\n});\n\n/** Calendar glyph (DatePicker toggle). */\nexport const CalendarIcon = /* @__PURE__ */ createIcon({\n name: 'calendar',\n displayName: 'CalendarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 0 1 .75.75V4h7V2.75a.75.75 0 0 1 1.5 0V4h.25A2.75 2.75 0 0 1 18 6.75v8.5A2.75 2.75 0 0 1 15.25 18H4.75A2.75 2.75 0 0 1 2 15.25v-8.5A2.75 2.75 0 0 1 4.75 4H5V2.75A.75.75 0 0 1 5.75 2Zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75Z\"\n />\n ),\n});\n\n/** Clock glyph (TimePicker). */\nexport const ClockIcon = /* @__PURE__ */ createIcon({\n name: 'clock',\n displayName: 'ClockIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm-.75 2.25a.75.75 0 0 1 1.5 0v3.94l2.28 2.28a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1-.22-.53V5.75Z\" />\n ),\n});\n\n/** Check mark (Checkbox, selected options). */\nexport const CheckIcon = /* @__PURE__ */ createIcon({\n name: 'check',\n displayName: 'CheckIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6l2.5 2.5L9.5 3\" />,\n});\n\n/** Horizontal bar (indeterminate Checkbox). */\nexport const SubtractIcon = /* @__PURE__ */ createIcon({\n name: 'subtract',\n displayName: 'SubtractIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6h7\" />,\n});\n\n/** Magnifier (SearchBox). */\nexport const SearchIcon = /* @__PURE__ */ createIcon({\n name: 'search',\n displayName: 'SearchIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.38l3.09 3.08a.75.75 0 1 1-1.06 1.06l-3.09-3.08A7 7 0 0 1 2 9Z\"\n />\n ),\n});\n\n/** Information glyph (InfoLabel, informational MessageBar/Toast). */\nexport const InfoIcon = /* @__PURE__ */ createIcon({\n name: 'info',\n displayName: 'InfoIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v1h-1V7h1Zm0 3v4h-1v-4h1Z\"\n />\n ),\n});\n\n/** Success status glyph (MessageBar, Toast). */\nexport const SuccessIcon = /* @__PURE__ */ createIcon({\n name: 'success',\n displayName: 'SuccessIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm3.36 5.65-4 5a.5.5 0 0 1-.72.05l-2-2a.5.5 0 0 1 .72-.7l1.77 1.76 3.6-4.5a.5.5 0 0 1 .78.62l-.15.17Z\"\n />\n ),\n});\n\n/** Warning status glyph (MessageBar, Toast). */\nexport const WarningIcon = /* @__PURE__ */ createIcon({\n name: 'warning',\n displayName: 'WarningIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M9.15 3.45a1 1 0 0 1 1.7 0l6.86 11.44A1 1 0 0 1 16.86 17H3.14a1 1 0 0 1-.85-1.53L9.15 3.45ZM10.5 13v1h-1v-1h1Zm0-5v4h-1V8h1Z\"\n />\n ),\n});\n\n/** Error status glyph (MessageBar, Toast). */\nexport const ErrorIcon = /* @__PURE__ */ createIcon({\n name: 'error',\n displayName: 'ErrorIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v4h-1V7h1Zm0 6v1h-1v-1h1Z\"\n />\n ),\n});\n\n/** Star (Rating). */\nexport const StarIcon = /* @__PURE__ */ createIcon({\n name: 'star',\n displayName: 'StarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 1.5l2.47 5.01 5.53.8-4 3.9.94 5.49L10 13.88l-4.94 2.82.94-5.49-4-3.9 5.53-.8L10 1.5Z\" />\n ),\n});\n\n/** Plus (SpinButton increment); the {@link SubtractIcon} bar plus a vertical bar. */\nexport const AddIcon = /* @__PURE__ */ createIcon({\n name: 'add',\n displayName: 'AddIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M6 2.5v7M2.5 6h7\" />,\n});\n\n/**\n * Generic person (Avatar fallback when there is no image, icon or name). Accepts a relative size\n * such as `size=\"60%\"` to scale with its container.\n */\nexport const PersonIcon = /* @__PURE__ */ createIcon({\n name: 'person',\n displayName: 'PersonIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-5.5 10h11A2.5 2.5 0 0 1 18 14.5v.5c0 2.4-2.9 4-8 4s-8-1.6-8-4v-.5A2.5 2.5 0 0 1 4.5 12Z\" />\n ),\n});\n\n/** Navigation glyph: three bars (Hamburger). */\nexport const NavigationIcon = /* @__PURE__ */ createIcon({\n name: 'navigation',\n displayName: 'NavigationIcon',\n viewBox: '0 0 20 20',\n defaultSize: 20,\n paint: 'fill',\n content: (\n <path d=\"M2.75 4.5h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Z\" />\n ),\n});\n\n/*\n * Presence glyphs (PresenceBadge). Drawn in a 16x16 box that the badge circle fills, with stroke\n * weights tuned for the 8-20px badge sizes; render them with `className=\"size-full\"`. They differ\n * from CheckIcon/ClockIcon/DismissIcon in geometry, so every status keeps a distinct shape at\n * badge size. Mirror the out-of-office arrow in right-to-left layouts (`wave-rtl:-scale-x-100`).\n */\n\n/** Presence \"available\": a check mark. */\nexport const PresenceAvailableIcon = /* @__PURE__ */ createIcon({\n name: 'presence-available',\n displayName: 'PresenceAvailableIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.6 8.3l2.2 2.2 4.6-4.8\" strokeWidth={2} />,\n});\n\n/**\n * Presence \"busy\": a full disc in `currentColor`. Forced-colors mode replaces the badge background\n * with Canvas but forces `color` to CanvasText, so busy stays a solid dot instead of an empty ring.\n */\nexport const PresenceBusyIcon = /* @__PURE__ */ createIcon({\n name: 'presence-busy',\n displayName: 'PresenceBusyIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'fill',\n content: <path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Z\" />,\n});\n\n/** Presence \"away\": clock hands. */\nexport const PresenceAwayIcon = /* @__PURE__ */ createIcon({\n name: 'presence-away',\n displayName: 'PresenceAwayIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M8 4.4V8l2.6 1.8\" strokeWidth={1.8} />,\n});\n\n/** Presence \"offline\": a hollow ring with an X. */\nexport const PresenceOfflineIcon = /* @__PURE__ */ createIcon({\n name: 'presence-offline',\n displayName: 'PresenceOfflineIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: (\n <>\n <circle cx={8} cy={8} r={6.5} strokeWidth={2.5} />\n <path d=\"M6 6l4 4m0-4l-4 4\" strokeWidth={1.6} />\n </>\n ),\n});\n\n/** Presence \"do not disturb\": a horizontal bar. */\nexport const PresenceDndIcon = /* @__PURE__ */ createIcon({\n name: 'presence-dnd',\n displayName: 'PresenceDndIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.5 8h7\" strokeWidth={2.2} />,\n});\n\n/** Presence \"out of office\": an arrow pointing left (physical; mirror it in RTL). */\nexport const PresenceOofIcon = /* @__PURE__ */ createIcon({\n name: 'presence-oof',\n displayName: 'PresenceOofIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M11.4 8H4.8m2.9-3L4.7 8l3 3\" strokeWidth={1.8} />,\n});\n"],"mappings":"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"}
@@ -60,6 +60,20 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
60
60
  paint: "fill",
61
61
  content: /* @__PURE__ */ t("path", { d: a })
62
62
  }), d = /* @__PURE__ */ r({
63
+ name: "sort-arrow-up",
64
+ displayName: "SortArrowUpIcon",
65
+ viewBox: "0 0 12 12",
66
+ defaultSize: 12,
67
+ paint: "fill",
68
+ content: /* @__PURE__ */ t("path", { d: "M6 1.5a.75.75 0 0 1 .53.22l3.25 3.25a.75.75 0 0 1-1.06 1.06L6.75 4.06v5.69a.75.75 0 0 1-1.5 0V4.06L3.28 6.03a.75.75 0 0 1-1.06-1.06l3.25-3.25A.75.75 0 0 1 6 1.5Z" })
69
+ }), f = /* @__PURE__ */ r({
70
+ name: "sort-arrow-down",
71
+ displayName: "SortArrowDownIcon",
72
+ viewBox: "0 0 12 12",
73
+ defaultSize: 12,
74
+ paint: "fill",
75
+ content: /* @__PURE__ */ t("path", { d: "M6 10.5a.75.75 0 0 0 .53-.22l3.25-3.25a.75.75 0 0 0-1.06-1.06L6.75 7.94V2.25a.75.75 0 0 0-1.5 0v5.69L3.28 5.97a.75.75 0 0 0-1.06 1.06l3.25 3.25a.75.75 0 0 0 .53.22Z" })
76
+ }), p = /* @__PURE__ */ r({
63
77
  name: "chevron-double-left",
64
78
  displayName: "ChevronDoubleLeftIcon",
65
79
  viewBox: "0 0 12 12",
@@ -72,7 +86,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
72
86
  d: o,
73
87
  transform: "translate(2.6 0)"
74
88
  })] })
75
- }), f = /* @__PURE__ */ r({
89
+ }), m = /* @__PURE__ */ r({
76
90
  name: "chevron-double-right",
77
91
  displayName: "ChevronDoubleRightIcon",
78
92
  viewBox: "0 0 12 12",
@@ -85,7 +99,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
85
99
  d: a,
86
100
  transform: "translate(1.4 0)"
87
101
  })] })
88
- }), p = /* @__PURE__ */ r({
102
+ }), h = /* @__PURE__ */ r({
89
103
  name: "calendar",
90
104
  displayName: "CalendarIcon",
91
105
  viewBox: "0 0 20 20",
@@ -96,7 +110,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
96
110
  clipRule: "evenodd",
97
111
  d: "M5.75 2a.75.75 0 0 1 .75.75V4h7V2.75a.75.75 0 0 1 1.5 0V4h.25A2.75 2.75 0 0 1 18 6.75v8.5A2.75 2.75 0 0 1 15.25 18H4.75A2.75 2.75 0 0 1 2 15.25v-8.5A2.75 2.75 0 0 1 4.75 4H5V2.75A.75.75 0 0 1 5.75 2Zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75Z"
98
112
  })
99
- }), m = /* @__PURE__ */ r({
113
+ }), g = /* @__PURE__ */ r({
100
114
  name: "check",
101
115
  displayName: "CheckIcon",
102
116
  viewBox: "0 0 12 12",
@@ -104,7 +118,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
104
118
  paint: "stroke",
105
119
  strokeWidth: 2,
106
120
  content: /* @__PURE__ */ t("path", { d: "M2.5 6l2.5 2.5L9.5 3" })
107
- }), h = /* @__PURE__ */ r({
121
+ }), _ = /* @__PURE__ */ r({
108
122
  name: "subtract",
109
123
  displayName: "SubtractIcon",
110
124
  viewBox: "0 0 12 12",
@@ -112,7 +126,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
112
126
  paint: "stroke",
113
127
  strokeWidth: 2,
114
128
  content: /* @__PURE__ */ t("path", { d: "M2.5 6h7" })
115
- }), g = /* @__PURE__ */ r({
129
+ }), v = /* @__PURE__ */ r({
116
130
  name: "search",
117
131
  displayName: "SearchIcon",
118
132
  viewBox: "0 0 20 20",
@@ -123,7 +137,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
123
137
  clipRule: "evenodd",
124
138
  d: "M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.38l3.09 3.08a.75.75 0 1 1-1.06 1.06l-3.09-3.08A7 7 0 0 1 2 9Z"
125
139
  })
126
- }), _ = /* @__PURE__ */ r({
140
+ }), y = /* @__PURE__ */ r({
127
141
  name: "info",
128
142
  displayName: "InfoIcon",
129
143
  viewBox: "0 0 20 20",
@@ -133,7 +147,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
133
147
  fillRule: "evenodd",
134
148
  d: "M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v1h-1V7h1Zm0 3v4h-1v-4h1Z"
135
149
  })
136
- }), v = /* @__PURE__ */ r({
150
+ }), b = /* @__PURE__ */ r({
137
151
  name: "success",
138
152
  displayName: "SuccessIcon",
139
153
  viewBox: "0 0 20 20",
@@ -143,7 +157,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
143
157
  fillRule: "evenodd",
144
158
  d: "M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm3.36 5.65-4 5a.5.5 0 0 1-.72.05l-2-2a.5.5 0 0 1 .72-.7l1.77 1.76 3.6-4.5a.5.5 0 0 1 .78.62l-.15.17Z"
145
159
  })
146
- }), y = /* @__PURE__ */ r({
160
+ }), x = /* @__PURE__ */ r({
147
161
  name: "warning",
148
162
  displayName: "WarningIcon",
149
163
  viewBox: "0 0 20 20",
@@ -153,7 +167,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
153
167
  fillRule: "evenodd",
154
168
  d: "M9.15 3.45a1 1 0 0 1 1.7 0l6.86 11.44A1 1 0 0 1 16.86 17H3.14a1 1 0 0 1-.85-1.53L9.15 3.45ZM10.5 13v1h-1v-1h1Zm0-5v4h-1V8h1Z"
155
169
  })
156
- }), b = /* @__PURE__ */ r({
170
+ }), S = /* @__PURE__ */ r({
157
171
  name: "error",
158
172
  displayName: "ErrorIcon",
159
173
  viewBox: "0 0 20 20",
@@ -163,14 +177,14 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
163
177
  fillRule: "evenodd",
164
178
  d: "M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v4h-1V7h1Zm0 6v1h-1v-1h1Z"
165
179
  })
166
- }), x = /* @__PURE__ */ r({
180
+ }), C = /* @__PURE__ */ r({
167
181
  name: "star",
168
182
  displayName: "StarIcon",
169
183
  viewBox: "0 0 20 20",
170
184
  defaultSize: 16,
171
185
  paint: "fill",
172
186
  content: /* @__PURE__ */ t("path", { d: "M10 1.5l2.47 5.01 5.53.8-4 3.9.94 5.49L10 13.88l-4.94 2.82.94-5.49-4-3.9 5.53-.8L10 1.5Z" })
173
- }), S = /* @__PURE__ */ r({
187
+ }), w = /* @__PURE__ */ r({
174
188
  name: "add",
175
189
  displayName: "AddIcon",
176
190
  viewBox: "0 0 12 12",
@@ -178,21 +192,21 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
178
192
  paint: "stroke",
179
193
  strokeWidth: 2,
180
194
  content: /* @__PURE__ */ t("path", { d: "M6 2.5v7M2.5 6h7" })
181
- }), C = /* @__PURE__ */ r({
195
+ }), T = /* @__PURE__ */ r({
182
196
  name: "person",
183
197
  displayName: "PersonIcon",
184
198
  viewBox: "0 0 20 20",
185
199
  defaultSize: 16,
186
200
  paint: "fill",
187
201
  content: /* @__PURE__ */ t("path", { d: "M10 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-5.5 10h11A2.5 2.5 0 0 1 18 14.5v.5c0 2.4-2.9 4-8 4s-8-1.6-8-4v-.5A2.5 2.5 0 0 1 4.5 12Z" })
188
- }), w = /* @__PURE__ */ r({
202
+ }), E = /* @__PURE__ */ r({
189
203
  name: "navigation",
190
204
  displayName: "NavigationIcon",
191
205
  viewBox: "0 0 20 20",
192
206
  defaultSize: 20,
193
207
  paint: "fill",
194
208
  content: /* @__PURE__ */ t("path", { d: "M2.75 4.5h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Z" })
195
- }), T = /* @__PURE__ */ r({
209
+ }), D = /* @__PURE__ */ r({
196
210
  name: "presence-available",
197
211
  displayName: "PresenceAvailableIcon",
198
212
  viewBox: "0 0 16 16",
@@ -202,14 +216,14 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
202
216
  d: "M4.6 8.3l2.2 2.2 4.6-4.8",
203
217
  strokeWidth: 2
204
218
  })
205
- }), E = /* @__PURE__ */ r({
219
+ }), O = /* @__PURE__ */ r({
206
220
  name: "presence-busy",
207
221
  displayName: "PresenceBusyIcon",
208
222
  viewBox: "0 0 16 16",
209
223
  defaultSize: 16,
210
224
  paint: "fill",
211
225
  content: /* @__PURE__ */ t("path", { d: "M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Z" })
212
- }), D = /* @__PURE__ */ r({
226
+ }), k = /* @__PURE__ */ r({
213
227
  name: "presence-away",
214
228
  displayName: "PresenceAwayIcon",
215
229
  viewBox: "0 0 16 16",
@@ -219,7 +233,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
219
233
  d: "M8 4.4V8l2.6 1.8",
220
234
  strokeWidth: 1.8
221
235
  })
222
- }), O = /* @__PURE__ */ r({
236
+ }), A = /* @__PURE__ */ r({
223
237
  name: "presence-offline",
224
238
  displayName: "PresenceOfflineIcon",
225
239
  viewBox: "0 0 16 16",
@@ -234,7 +248,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
234
248
  d: "M6 6l4 4m0-4l-4 4",
235
249
  strokeWidth: 1.6
236
250
  })] })
237
- }), k = /* @__PURE__ */ r({
251
+ }), j = /* @__PURE__ */ r({
238
252
  name: "presence-dnd",
239
253
  displayName: "PresenceDndIcon",
240
254
  viewBox: "0 0 16 16",
@@ -244,7 +258,7 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
244
258
  d: "M4.5 8h7",
245
259
  strokeWidth: 2.2
246
260
  })
247
- }), A = /* @__PURE__ */ r({
261
+ }), M = /* @__PURE__ */ r({
248
262
  name: "presence-oof",
249
263
  displayName: "PresenceOofIcon",
250
264
  viewBox: "0 0 16 16",
@@ -256,6 +270,6 @@ var i = "M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L
256
270
  })
257
271
  });
258
272
  //#endregion
259
- export { S as AddIcon, p as CalendarIcon, m as CheckIcon, d as ChevronDoubleLeftIcon, f as ChevronDoubleRightIcon, c as ChevronDownIcon, l as ChevronLeftIcon, u as ChevronRightIcon, s as DismissIcon, b as ErrorIcon, _ as InfoIcon, w as NavigationIcon, C as PersonIcon, T as PresenceAvailableIcon, D as PresenceAwayIcon, E as PresenceBusyIcon, k as PresenceDndIcon, O as PresenceOfflineIcon, A as PresenceOofIcon, g as SearchIcon, x as StarIcon, h as SubtractIcon, v as SuccessIcon, y as WarningIcon };
273
+ export { w as AddIcon, h as CalendarIcon, g as CheckIcon, p as ChevronDoubleLeftIcon, m as ChevronDoubleRightIcon, c as ChevronDownIcon, l as ChevronLeftIcon, u as ChevronRightIcon, s as DismissIcon, S as ErrorIcon, y as InfoIcon, E as NavigationIcon, T as PersonIcon, D as PresenceAvailableIcon, k as PresenceAwayIcon, O as PresenceBusyIcon, j as PresenceDndIcon, A as PresenceOfflineIcon, M as PresenceOofIcon, v as SearchIcon, f as SortArrowDownIcon, d as SortArrowUpIcon, C as StarIcon, _ as SubtractIcon, b as SuccessIcon, x as WarningIcon };
260
274
 
261
275
  //# sourceMappingURL=icons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.mjs","names":["_Fragment","createIcon","paintProps","paint","Icon","defaultSize","rest","a11yProps","title","size","name","content","children","displayName","CHEVRON_DOWN","CHEVRON_RIGHT","CHEVRON_LEFT","DismissIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronDoubleLeftIcon","Fragment","ChevronDoubleRightIcon","CalendarIcon","CheckIcon","SubtractIcon","SearchIcon","InfoIcon","SuccessIcon","WarningIcon","ErrorIcon","StarIcon","AddIcon","PersonIcon","NavigationIcon","PresenceAvailableIcon","PresenceBusyIcon","PresenceAwayIcon","PresenceOfflineIcon","PresenceDndIcon","PresenceOofIcon"],"sources":["../../src/lib/icons.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Props of the shared internal icons. Every other SVG attribute is forwarded to the `<svg>`.\n *\n * Icons are decorative by default (`aria-hidden=\"true\"`, `focusable=\"false\"`): the control that\n * contains them provides the accessible name. Pass `title` for a standalone meaningful icon; it\n * then renders `role=\"img\"` with a `<title>`.\n */\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {\n /**\n * Width and height (number = px, or any CSS length). Default 16 (chevrons 12, the navigation\n * glyph 20).\n */\n size?: number | string;\n /** Accessible name; makes the icon a named image instead of a decorative one. */\n title?: string;\n}\n\n/** An internal icon component. */\nexport interface IconComponent {\n (props: IconProps): React.JSX.Element;\n displayName: string;\n}\n\ninterface IconDefinition {\n /** Value of `data-wave-icon`. */\n name: string;\n displayName: string;\n viewBox: string;\n defaultSize: number;\n /** Stroked glyphs paint with `stroke`, filled glyphs with `fill`. */\n paint: 'fill' | 'stroke';\n strokeWidth?: number;\n content: React.ReactNode;\n}\n\n/**\n * Builds an icon component. Side-effect free: every call site carries a `@__PURE__` annotation\n * comment so bundlers drop the icons a consumer does not use (a test bundles a one-icon entry with\n * Vite's production build). Keep that annotation on new icons.\n */\nfunction createIcon({\n name,\n displayName,\n viewBox,\n defaultSize,\n paint,\n strokeWidth,\n content,\n}: IconDefinition): IconComponent {\n const paintProps: React.SVGProps<SVGSVGElement> =\n paint === 'fill'\n ? { fill: 'currentColor' }\n : {\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n };\n\n const Icon = ({ size = defaultSize, title, children, ...rest }: IconProps) => {\n const a11yProps: React.SVGProps<SVGSVGElement> = title\n ? { role: 'img' }\n : { 'aria-hidden': true, focusable: 'false' };\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={viewBox}\n data-wave-icon={name}\n {...paintProps}\n {...a11yProps}\n {...rest}\n >\n {title ? <title>{title}</title> : null}\n {content}\n {children}\n </svg>\n );\n };\n Icon.displayName = displayName;\n return Icon;\n}\n\nconst CHEVRON_DOWN =\n 'M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06Z';\nconst CHEVRON_UP =\n 'M2.22 7.53a.75.75 0 0 0 1.06 0L6 4.81l2.72 2.72a.75.75 0 1 0 1.06-1.06L6.53 3.22a.75.75 0 0 0-1.06 0L2.22 6.47a.75.75 0 0 0 0 1.06Z';\nconst CHEVRON_RIGHT =\n 'M4.47 2.22a.75.75 0 0 0 0 1.06L7.19 6 4.47 8.72a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L5.53 2.22a.75.75 0 0 0-1.06 0Z';\nconst CHEVRON_LEFT =\n 'M7.53 2.22a.75.75 0 0 1 0 1.06L4.81 6l2.72 2.72a.75.75 0 1 1-1.06 1.06L3.22 6.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z';\n\n/** Close / clear / dismiss glyph (Dialog, Drawer, MessageBar, Toast, Tag, SearchBox, pickers). */\nexport const DismissIcon = /* @__PURE__ */ createIcon({\n name: 'dismiss',\n displayName: 'DismissIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" />\n ),\n});\n\n/** Disclosure chevron pointing down (MenuButton, SplitButton, Dropdown, Accordion). */\nexport const ChevronDownIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-down',\n displayName: 'ChevronDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_DOWN} />,\n});\n\n/** Chevron pointing up. */\nexport const ChevronUpIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-up',\n displayName: 'ChevronUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_UP} />,\n});\n\n/** Chevron pointing left (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-left',\n displayName: 'ChevronLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_LEFT} />,\n});\n\n/** Chevron pointing right (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-right',\n displayName: 'ChevronRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_RIGHT} />,\n});\n\n/** Double chevron pointing left (Pagination \"first\"). */\nexport const ChevronDoubleLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-left',\n displayName: 'ChevronDoubleLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_LEFT} transform=\"translate(-1.4 0)\" />\n <path d={CHEVRON_LEFT} transform=\"translate(2.6 0)\" />\n </>\n ),\n});\n\n/** Double chevron pointing right (Pagination \"last\"). */\nexport const ChevronDoubleRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-right',\n displayName: 'ChevronDoubleRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_RIGHT} transform=\"translate(-2.6 0)\" />\n <path d={CHEVRON_RIGHT} transform=\"translate(1.4 0)\" />\n </>\n ),\n});\n\n/** Calendar glyph (DatePicker toggle). */\nexport const CalendarIcon = /* @__PURE__ */ createIcon({\n name: 'calendar',\n displayName: 'CalendarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 0 1 .75.75V4h7V2.75a.75.75 0 0 1 1.5 0V4h.25A2.75 2.75 0 0 1 18 6.75v8.5A2.75 2.75 0 0 1 15.25 18H4.75A2.75 2.75 0 0 1 2 15.25v-8.5A2.75 2.75 0 0 1 4.75 4H5V2.75A.75.75 0 0 1 5.75 2Zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75Z\"\n />\n ),\n});\n\n/** Clock glyph (TimePicker). */\nexport const ClockIcon = /* @__PURE__ */ createIcon({\n name: 'clock',\n displayName: 'ClockIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm-.75 2.25a.75.75 0 0 1 1.5 0v3.94l2.28 2.28a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1-.22-.53V5.75Z\" />\n ),\n});\n\n/** Check mark (Checkbox, selected options). */\nexport const CheckIcon = /* @__PURE__ */ createIcon({\n name: 'check',\n displayName: 'CheckIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6l2.5 2.5L9.5 3\" />,\n});\n\n/** Horizontal bar (indeterminate Checkbox). */\nexport const SubtractIcon = /* @__PURE__ */ createIcon({\n name: 'subtract',\n displayName: 'SubtractIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6h7\" />,\n});\n\n/** Magnifier (SearchBox). */\nexport const SearchIcon = /* @__PURE__ */ createIcon({\n name: 'search',\n displayName: 'SearchIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.38l3.09 3.08a.75.75 0 1 1-1.06 1.06l-3.09-3.08A7 7 0 0 1 2 9Z\"\n />\n ),\n});\n\n/** Information glyph (InfoLabel, informational MessageBar/Toast). */\nexport const InfoIcon = /* @__PURE__ */ createIcon({\n name: 'info',\n displayName: 'InfoIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v1h-1V7h1Zm0 3v4h-1v-4h1Z\"\n />\n ),\n});\n\n/** Success status glyph (MessageBar, Toast). */\nexport const SuccessIcon = /* @__PURE__ */ createIcon({\n name: 'success',\n displayName: 'SuccessIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm3.36 5.65-4 5a.5.5 0 0 1-.72.05l-2-2a.5.5 0 0 1 .72-.7l1.77 1.76 3.6-4.5a.5.5 0 0 1 .78.62l-.15.17Z\"\n />\n ),\n});\n\n/** Warning status glyph (MessageBar, Toast). */\nexport const WarningIcon = /* @__PURE__ */ createIcon({\n name: 'warning',\n displayName: 'WarningIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M9.15 3.45a1 1 0 0 1 1.7 0l6.86 11.44A1 1 0 0 1 16.86 17H3.14a1 1 0 0 1-.85-1.53L9.15 3.45ZM10.5 13v1h-1v-1h1Zm0-5v4h-1V8h1Z\"\n />\n ),\n});\n\n/** Error status glyph (MessageBar, Toast). */\nexport const ErrorIcon = /* @__PURE__ */ createIcon({\n name: 'error',\n displayName: 'ErrorIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v4h-1V7h1Zm0 6v1h-1v-1h1Z\"\n />\n ),\n});\n\n/** Star (Rating). */\nexport const StarIcon = /* @__PURE__ */ createIcon({\n name: 'star',\n displayName: 'StarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 1.5l2.47 5.01 5.53.8-4 3.9.94 5.49L10 13.88l-4.94 2.82.94-5.49-4-3.9 5.53-.8L10 1.5Z\" />\n ),\n});\n\n/** Plus (SpinButton increment); the {@link SubtractIcon} bar plus a vertical bar. */\nexport const AddIcon = /* @__PURE__ */ createIcon({\n name: 'add',\n displayName: 'AddIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M6 2.5v7M2.5 6h7\" />,\n});\n\n/**\n * Generic person (Avatar fallback when there is no image, icon or name). Accepts a relative size\n * such as `size=\"60%\"` to scale with its container.\n */\nexport const PersonIcon = /* @__PURE__ */ createIcon({\n name: 'person',\n displayName: 'PersonIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-5.5 10h11A2.5 2.5 0 0 1 18 14.5v.5c0 2.4-2.9 4-8 4s-8-1.6-8-4v-.5A2.5 2.5 0 0 1 4.5 12Z\" />\n ),\n});\n\n/** Navigation glyph: three bars (Hamburger). */\nexport const NavigationIcon = /* @__PURE__ */ createIcon({\n name: 'navigation',\n displayName: 'NavigationIcon',\n viewBox: '0 0 20 20',\n defaultSize: 20,\n paint: 'fill',\n content: (\n <path d=\"M2.75 4.5h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Z\" />\n ),\n});\n\n/*\n * Presence glyphs (PresenceBadge). Drawn in a 16x16 box that the badge circle fills, with stroke\n * weights tuned for the 8-20px badge sizes; render them with `className=\"size-full\"`. They differ\n * from CheckIcon/ClockIcon/DismissIcon in geometry, so every status keeps a distinct shape at\n * badge size. Mirror the out-of-office arrow in right-to-left layouts (`wave-rtl:-scale-x-100`).\n */\n\n/** Presence \"available\": a check mark. */\nexport const PresenceAvailableIcon = /* @__PURE__ */ createIcon({\n name: 'presence-available',\n displayName: 'PresenceAvailableIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.6 8.3l2.2 2.2 4.6-4.8\" strokeWidth={2} />,\n});\n\n/**\n * Presence \"busy\": a full disc in `currentColor`. Forced-colors mode replaces the badge background\n * with Canvas but forces `color` to CanvasText, so busy stays a solid dot instead of an empty ring.\n */\nexport const PresenceBusyIcon = /* @__PURE__ */ createIcon({\n name: 'presence-busy',\n displayName: 'PresenceBusyIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'fill',\n content: <path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Z\" />,\n});\n\n/** Presence \"away\": clock hands. */\nexport const PresenceAwayIcon = /* @__PURE__ */ createIcon({\n name: 'presence-away',\n displayName: 'PresenceAwayIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M8 4.4V8l2.6 1.8\" strokeWidth={1.8} />,\n});\n\n/** Presence \"offline\": a hollow ring with an X. */\nexport const PresenceOfflineIcon = /* @__PURE__ */ createIcon({\n name: 'presence-offline',\n displayName: 'PresenceOfflineIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: (\n <>\n <circle cx={8} cy={8} r={6.5} strokeWidth={2.5} />\n <path d=\"M6 6l4 4m0-4l-4 4\" strokeWidth={1.6} />\n </>\n ),\n});\n\n/** Presence \"do not disturb\": a horizontal bar. */\nexport const PresenceDndIcon = /* @__PURE__ */ createIcon({\n name: 'presence-dnd',\n displayName: 'PresenceDndIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.5 8h7\" strokeWidth={2.2} />,\n});\n\n/** Presence \"out of office\": an arrow pointing left (physical; mirror it in RTL). */\nexport const PresenceOofIcon = /* @__PURE__ */ createIcon({\n name: 'presence-oof',\n displayName: 'PresenceOofIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M11.4 8H4.8m2.9-3L4.7 8l3 3\" strokeWidth={1.8} />,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"icons.mjs","names":["_Fragment","createIcon","paintProps","paint","Icon","defaultSize","rest","a11yProps","title","size","name","content","children","displayName","CHEVRON_DOWN","CHEVRON_RIGHT","CHEVRON_LEFT","DismissIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","SortArrowUpIcon","SortArrowDownIcon","ChevronDoubleLeftIcon","Fragment","ChevronDoubleRightIcon","CalendarIcon","CheckIcon","SubtractIcon","SearchIcon","InfoIcon","SuccessIcon","WarningIcon","ErrorIcon","StarIcon","AddIcon","PersonIcon","NavigationIcon","PresenceAvailableIcon","PresenceBusyIcon","PresenceAwayIcon","PresenceOfflineIcon","PresenceDndIcon","PresenceOofIcon"],"sources":["../../src/lib/icons.tsx"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Props of the shared internal icons. Every other SVG attribute is forwarded to the `<svg>`.\n *\n * Icons are decorative by default (`aria-hidden=\"true\"`, `focusable=\"false\"`): the control that\n * contains them provides the accessible name. Pass `title` for a standalone meaningful icon; it\n * then renders `role=\"img\"` with a `<title>`.\n */\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {\n /**\n * Width and height (number = px, or any CSS length). Default 16 (chevrons 12, the navigation\n * glyph 20).\n */\n size?: number | string;\n /** Accessible name; makes the icon a named image instead of a decorative one. */\n title?: string;\n}\n\n/** An internal icon component. */\nexport interface IconComponent {\n (props: IconProps): React.JSX.Element;\n displayName: string;\n}\n\ninterface IconDefinition {\n /** Value of `data-wave-icon`. */\n name: string;\n displayName: string;\n viewBox: string;\n defaultSize: number;\n /** Stroked glyphs paint with `stroke`, filled glyphs with `fill`. */\n paint: 'fill' | 'stroke';\n strokeWidth?: number;\n content: React.ReactNode;\n}\n\n/**\n * Builds an icon component. Side-effect free: every call site carries a `@__PURE__` annotation\n * comment so bundlers drop the icons a consumer does not use (a test bundles a one-icon entry with\n * Vite's production build). Keep that annotation on new icons.\n */\nfunction createIcon({\n name,\n displayName,\n viewBox,\n defaultSize,\n paint,\n strokeWidth,\n content,\n}: IconDefinition): IconComponent {\n const paintProps: React.SVGProps<SVGSVGElement> =\n paint === 'fill'\n ? { fill: 'currentColor' }\n : {\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n };\n\n const Icon = ({ size = defaultSize, title, children, ...rest }: IconProps) => {\n const a11yProps: React.SVGProps<SVGSVGElement> = title\n ? { role: 'img' }\n : { 'aria-hidden': true, focusable: 'false' };\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox={viewBox}\n data-wave-icon={name}\n {...paintProps}\n {...a11yProps}\n {...rest}\n >\n {title ? <title>{title}</title> : null}\n {content}\n {children}\n </svg>\n );\n };\n Icon.displayName = displayName;\n return Icon;\n}\n\nconst CHEVRON_DOWN =\n 'M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06Z';\nconst CHEVRON_UP =\n 'M2.22 7.53a.75.75 0 0 0 1.06 0L6 4.81l2.72 2.72a.75.75 0 1 0 1.06-1.06L6.53 3.22a.75.75 0 0 0-1.06 0L2.22 6.47a.75.75 0 0 0 0 1.06Z';\nconst CHEVRON_RIGHT =\n 'M4.47 2.22a.75.75 0 0 0 0 1.06L7.19 6 4.47 8.72a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L5.53 2.22a.75.75 0 0 0-1.06 0Z';\nconst CHEVRON_LEFT =\n 'M7.53 2.22a.75.75 0 0 1 0 1.06L4.81 6l2.72 2.72a.75.75 0 1 1-1.06 1.06L3.22 6.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z';\n\n/** Close / clear / dismiss glyph (Dialog, Drawer, MessageBar, Toast, Tag, SearchBox, pickers). */\nexport const DismissIcon = /* @__PURE__ */ createIcon({\n name: 'dismiss',\n displayName: 'DismissIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" />\n ),\n});\n\n/** Disclosure chevron pointing down (MenuButton, SplitButton, Dropdown, Accordion). */\nexport const ChevronDownIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-down',\n displayName: 'ChevronDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_DOWN} />,\n});\n\n/** Chevron pointing up. */\nexport const ChevronUpIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-up',\n displayName: 'ChevronUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_UP} />,\n});\n\n/** Chevron pointing left (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-left',\n displayName: 'ChevronLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_LEFT} />,\n});\n\n/** Chevron pointing right (physical). Mirror directional uses with `wave-rtl:-scale-x-100`. */\nexport const ChevronRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-right',\n displayName: 'ChevronRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: <path d={CHEVRON_RIGHT} />,\n});\n\n/** Arrow pointing up: an ascending sort (DataGrid and Table sort buttons). */\nexport const SortArrowUpIcon = /* @__PURE__ */ createIcon({\n name: 'sort-arrow-up',\n displayName: 'SortArrowUpIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <path d=\"M6 1.5a.75.75 0 0 1 .53.22l3.25 3.25a.75.75 0 0 1-1.06 1.06L6.75 4.06v5.69a.75.75 0 0 1-1.5 0V4.06L3.28 6.03a.75.75 0 0 1-1.06-1.06l3.25-3.25A.75.75 0 0 1 6 1.5Z\" />\n ),\n});\n\n/** Arrow pointing down: a descending sort (DataGrid and Table sort buttons). */\nexport const SortArrowDownIcon = /* @__PURE__ */ createIcon({\n name: 'sort-arrow-down',\n displayName: 'SortArrowDownIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <path d=\"M6 10.5a.75.75 0 0 0 .53-.22l3.25-3.25a.75.75 0 0 0-1.06-1.06L6.75 7.94V2.25a.75.75 0 0 0-1.5 0v5.69L3.28 5.97a.75.75 0 0 0-1.06 1.06l3.25 3.25a.75.75 0 0 0 .53.22Z\" />\n ),\n});\n\n/** Double chevron pointing left (Pagination \"first\"). */\nexport const ChevronDoubleLeftIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-left',\n displayName: 'ChevronDoubleLeftIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_LEFT} transform=\"translate(-1.4 0)\" />\n <path d={CHEVRON_LEFT} transform=\"translate(2.6 0)\" />\n </>\n ),\n});\n\n/** Double chevron pointing right (Pagination \"last\"). */\nexport const ChevronDoubleRightIcon = /* @__PURE__ */ createIcon({\n name: 'chevron-double-right',\n displayName: 'ChevronDoubleRightIcon',\n viewBox: '0 0 12 12',\n defaultSize: 12,\n paint: 'fill',\n content: (\n <>\n <path d={CHEVRON_RIGHT} transform=\"translate(-2.6 0)\" />\n <path d={CHEVRON_RIGHT} transform=\"translate(1.4 0)\" />\n </>\n ),\n});\n\n/** Calendar glyph (DatePicker toggle). */\nexport const CalendarIcon = /* @__PURE__ */ createIcon({\n name: 'calendar',\n displayName: 'CalendarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 0 1 .75.75V4h7V2.75a.75.75 0 0 1 1.5 0V4h.25A2.75 2.75 0 0 1 18 6.75v8.5A2.75 2.75 0 0 1 15.25 18H4.75A2.75 2.75 0 0 1 2 15.25v-8.5A2.75 2.75 0 0 1 4.75 4H5V2.75A.75.75 0 0 1 5.75 2Zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75Z\"\n />\n ),\n});\n\n/** Clock glyph (TimePicker). */\nexport const ClockIcon = /* @__PURE__ */ createIcon({\n name: 'clock',\n displayName: 'ClockIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm-.75 2.25a.75.75 0 0 1 1.5 0v3.94l2.28 2.28a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1-.22-.53V5.75Z\" />\n ),\n});\n\n/** Check mark (Checkbox, selected options). */\nexport const CheckIcon = /* @__PURE__ */ createIcon({\n name: 'check',\n displayName: 'CheckIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6l2.5 2.5L9.5 3\" />,\n});\n\n/** Horizontal bar (indeterminate Checkbox). */\nexport const SubtractIcon = /* @__PURE__ */ createIcon({\n name: 'subtract',\n displayName: 'SubtractIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M2.5 6h7\" />,\n});\n\n/** Magnifier (SearchBox). */\nexport const SearchIcon = /* @__PURE__ */ createIcon({\n name: 'search',\n displayName: 'SearchIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.38l3.09 3.08a.75.75 0 1 1-1.06 1.06l-3.09-3.08A7 7 0 0 1 2 9Z\"\n />\n ),\n});\n\n/** Information glyph (InfoLabel, informational MessageBar/Toast). */\nexport const InfoIcon = /* @__PURE__ */ createIcon({\n name: 'info',\n displayName: 'InfoIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v1h-1V7h1Zm0 3v4h-1v-4h1Z\"\n />\n ),\n});\n\n/** Success status glyph (MessageBar, Toast). */\nexport const SuccessIcon = /* @__PURE__ */ createIcon({\n name: 'success',\n displayName: 'SuccessIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm3.36 5.65-4 5a.5.5 0 0 1-.72.05l-2-2a.5.5 0 0 1 .72-.7l1.77 1.76 3.6-4.5a.5.5 0 0 1 .78.62l-.15.17Z\"\n />\n ),\n});\n\n/** Warning status glyph (MessageBar, Toast). */\nexport const WarningIcon = /* @__PURE__ */ createIcon({\n name: 'warning',\n displayName: 'WarningIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M9.15 3.45a1 1 0 0 1 1.7 0l6.86 11.44A1 1 0 0 1 16.86 17H3.14a1 1 0 0 1-.85-1.53L9.15 3.45ZM10.5 13v1h-1v-1h1Zm0-5v4h-1V8h1Z\"\n />\n ),\n});\n\n/** Error status glyph (MessageBar, Toast). */\nexport const ErrorIcon = /* @__PURE__ */ createIcon({\n name: 'error',\n displayName: 'ErrorIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.5 5v4h-1V7h1Zm0 6v1h-1v-1h1Z\"\n />\n ),\n});\n\n/** Star (Rating). */\nexport const StarIcon = /* @__PURE__ */ createIcon({\n name: 'star',\n displayName: 'StarIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 1.5l2.47 5.01 5.53.8-4 3.9.94 5.49L10 13.88l-4.94 2.82.94-5.49-4-3.9 5.53-.8L10 1.5Z\" />\n ),\n});\n\n/** Plus (SpinButton increment); the {@link SubtractIcon} bar plus a vertical bar. */\nexport const AddIcon = /* @__PURE__ */ createIcon({\n name: 'add',\n displayName: 'AddIcon',\n viewBox: '0 0 12 12',\n defaultSize: 16,\n paint: 'stroke',\n strokeWidth: 2,\n content: <path d=\"M6 2.5v7M2.5 6h7\" />,\n});\n\n/**\n * Generic person (Avatar fallback when there is no image, icon or name). Accepts a relative size\n * such as `size=\"60%\"` to scale with its container.\n */\nexport const PersonIcon = /* @__PURE__ */ createIcon({\n name: 'person',\n displayName: 'PersonIcon',\n viewBox: '0 0 20 20',\n defaultSize: 16,\n paint: 'fill',\n content: (\n <path d=\"M10 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm-5.5 10h11A2.5 2.5 0 0 1 18 14.5v.5c0 2.4-2.9 4-8 4s-8-1.6-8-4v-.5A2.5 2.5 0 0 1 4.5 12Z\" />\n ),\n});\n\n/** Navigation glyph: three bars (Hamburger). */\nexport const NavigationIcon = /* @__PURE__ */ createIcon({\n name: 'navigation',\n displayName: 'NavigationIcon',\n viewBox: '0 0 20 20',\n defaultSize: 20,\n paint: 'fill',\n content: (\n <path d=\"M2.75 4.5h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Zm0 4.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5Z\" />\n ),\n});\n\n/*\n * Presence glyphs (PresenceBadge). Drawn in a 16x16 box that the badge circle fills, with stroke\n * weights tuned for the 8-20px badge sizes; render them with `className=\"size-full\"`. They differ\n * from CheckIcon/ClockIcon/DismissIcon in geometry, so every status keeps a distinct shape at\n * badge size. Mirror the out-of-office arrow in right-to-left layouts (`wave-rtl:-scale-x-100`).\n */\n\n/** Presence \"available\": a check mark. */\nexport const PresenceAvailableIcon = /* @__PURE__ */ createIcon({\n name: 'presence-available',\n displayName: 'PresenceAvailableIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.6 8.3l2.2 2.2 4.6-4.8\" strokeWidth={2} />,\n});\n\n/**\n * Presence \"busy\": a full disc in `currentColor`. Forced-colors mode replaces the badge background\n * with Canvas but forces `color` to CanvasText, so busy stays a solid dot instead of an empty ring.\n */\nexport const PresenceBusyIcon = /* @__PURE__ */ createIcon({\n name: 'presence-busy',\n displayName: 'PresenceBusyIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'fill',\n content: <path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0Z\" />,\n});\n\n/** Presence \"away\": clock hands. */\nexport const PresenceAwayIcon = /* @__PURE__ */ createIcon({\n name: 'presence-away',\n displayName: 'PresenceAwayIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M8 4.4V8l2.6 1.8\" strokeWidth={1.8} />,\n});\n\n/** Presence \"offline\": a hollow ring with an X. */\nexport const PresenceOfflineIcon = /* @__PURE__ */ createIcon({\n name: 'presence-offline',\n displayName: 'PresenceOfflineIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: (\n <>\n <circle cx={8} cy={8} r={6.5} strokeWidth={2.5} />\n <path d=\"M6 6l4 4m0-4l-4 4\" strokeWidth={1.6} />\n </>\n ),\n});\n\n/** Presence \"do not disturb\": a horizontal bar. */\nexport const PresenceDndIcon = /* @__PURE__ */ createIcon({\n name: 'presence-dnd',\n displayName: 'PresenceDndIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M4.5 8h7\" strokeWidth={2.2} />,\n});\n\n/** Presence \"out of office\": an arrow pointing left (physical; mirror it in RTL). */\nexport const PresenceOofIcon = /* @__PURE__ */ createIcon({\n name: 'presence-oof',\n displayName: 'PresenceOofIcon',\n viewBox: '0 0 16 16',\n defaultSize: 16,\n paint: 'stroke',\n content: <path d=\"M11.4 8H4.8m2.9-3L4.7 8l3 3\" strokeWidth={1.8} />,\n});\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ function e(e){let{columnId:t,label:n,compare:r,renderCell:i,renderHeaderCell:a,sortable:o}=e;return{columnId:t,label:n,compare:r,renderCell:i,renderHeaderCell:a,sortable:o??r!==void 0}}exports.createTableColumn=e;
2
+ //# sourceMappingURL=table.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.cjs","names":["createTableColumn","options","sortable","compare"],"sources":["../../src/lib/table.ts"],"sourcesContent":["/**\n * The table helpers (P9-03). Server-safe: the module imports only types, so a Server Component may\n * import it (a column with functions still cannot be passed from a Server Component to the client\n * DataGrid, since functions are not serializable).\n */\nimport type * as React from 'react';\nimport type { DataGridColumn } from '../components/table/DataGrid';\n\n/** Options of {@link createTableColumn}: a DataGrid column, with `columnId` required. */\nexport interface CreateTableColumnOptions<T> {\n /** The column's id: the header cell's `columnId` and the `columnId` of the grid's sort. */\n columnId: string;\n /** The header content, unless `renderHeaderCell` is given. */\n label?: React.ReactNode;\n /**\n * Orders two items of the column, as `Array.prototype.sort` does (negative: `a` first). Makes the\n * column sortable unless `sortable` is `false`.\n */\n compare?: (a: T, b: T) => number;\n /** Renders the column's cell content for one item. Without it, the column's cells are empty. */\n renderCell?: (item: T) => React.ReactNode;\n /** Renders the header content in place of `label`. */\n renderHeaderCell?: () => React.ReactNode;\n /**\n * Whether the header is a sort button.\n * @default compare !== undefined\n */\n sortable?: boolean;\n}\n\n/**\n * Creates a column for DataGrid's `columns`, typed by the grid's items, with `sortable` resolved\n * (`true` when the column has `compare`, unless `sortable` says otherwise). Returns a new object\n * with every member of {@link CreateTableColumnOptions}; the options are not changed. The\n * function is pure and server-safe.\n *\n * @example\n * const columns = [\n * createTableColumn<Person>({\n * columnId: 'name',\n * label: 'Name',\n * compare: (a, b) => a.name.localeCompare(b.name),\n * renderCell: (person) => person.name,\n * }),\n * ];\n */\nexport function createTableColumn<T>(options: CreateTableColumnOptions<T>): DataGridColumn<T> {\n const { columnId, label, compare, renderCell, renderHeaderCell, sortable } = options;\n return {\n columnId,\n label,\n compare,\n renderCell,\n renderHeaderCell,\n sortable: sortable ?? compare !== undefined,\n };\n}\n"],"mappings":"AA8CA,SAAgBA,EAAqB,EAAyD,CAC5F,GAAM,CAAE,WAAU,QAAO,UAAS,aAAY,mBAAkB,YAAaC,EAC7E,MAAO,CACL,WACA,QACA,UACA,aACA,mBACA,SAAUC,GAAYC,IAAY,IAAA,EACpC,CACF"}
@@ -0,0 +1,16 @@
1
+ //#region src/lib/table.ts
2
+ function e(e) {
3
+ let { columnId: t, label: n, compare: r, renderCell: i, renderHeaderCell: a, sortable: o } = e;
4
+ return {
5
+ columnId: t,
6
+ label: n,
7
+ compare: r,
8
+ renderCell: i,
9
+ renderHeaderCell: a,
10
+ sortable: o ?? r !== void 0
11
+ };
12
+ }
13
+ //#endregion
14
+ export { e as createTableColumn };
15
+
16
+ //# sourceMappingURL=table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.mjs","names":["createTableColumn","options","sortable","compare"],"sources":["../../src/lib/table.ts"],"sourcesContent":["/**\n * The table helpers (P9-03). Server-safe: the module imports only types, so a Server Component may\n * import it (a column with functions still cannot be passed from a Server Component to the client\n * DataGrid, since functions are not serializable).\n */\nimport type * as React from 'react';\nimport type { DataGridColumn } from '../components/table/DataGrid';\n\n/** Options of {@link createTableColumn}: a DataGrid column, with `columnId` required. */\nexport interface CreateTableColumnOptions<T> {\n /** The column's id: the header cell's `columnId` and the `columnId` of the grid's sort. */\n columnId: string;\n /** The header content, unless `renderHeaderCell` is given. */\n label?: React.ReactNode;\n /**\n * Orders two items of the column, as `Array.prototype.sort` does (negative: `a` first). Makes the\n * column sortable unless `sortable` is `false`.\n */\n compare?: (a: T, b: T) => number;\n /** Renders the column's cell content for one item. Without it, the column's cells are empty. */\n renderCell?: (item: T) => React.ReactNode;\n /** Renders the header content in place of `label`. */\n renderHeaderCell?: () => React.ReactNode;\n /**\n * Whether the header is a sort button.\n * @default compare !== undefined\n */\n sortable?: boolean;\n}\n\n/**\n * Creates a column for DataGrid's `columns`, typed by the grid's items, with `sortable` resolved\n * (`true` when the column has `compare`, unless `sortable` says otherwise). Returns a new object\n * with every member of {@link CreateTableColumnOptions}; the options are not changed. The\n * function is pure and server-safe.\n *\n * @example\n * const columns = [\n * createTableColumn<Person>({\n * columnId: 'name',\n * label: 'Name',\n * compare: (a, b) => a.name.localeCompare(b.name),\n * renderCell: (person) => person.name,\n * }),\n * ];\n */\nexport function createTableColumn<T>(options: CreateTableColumnOptions<T>): DataGridColumn<T> {\n const { columnId, label, compare, renderCell, renderHeaderCell, sortable } = options;\n return {\n columnId,\n label,\n compare,\n renderCell,\n renderHeaderCell,\n sortable: sortable ?? compare !== undefined,\n };\n}\n"],"mappings":";AA8CA,SAAgBA,EAAqB,GAAyD;CAC5F,IAAM,EAAE,aAAU,UAAO,YAAS,eAAY,qBAAkB,gBAAaC;CAC7E,OAAO;EACL;EACA;EACA;EACA;EACA;EACA,UAAUC,KAAYC,MAAY,KAAA;CACpC;AACF"}