@mortenbrudvik/waveui 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +302 -49
- package/dist/components/data-display/Avatar.context.cjs.map +1 -1
- package/dist/components/data-display/Avatar.context.mjs.map +1 -1
- package/dist/components/data-display/List.cjs +1 -1
- package/dist/components/data-display/List.cjs.map +1 -1
- package/dist/components/data-display/List.mjs +245 -195
- package/dist/components/data-display/List.mjs.map +1 -1
- package/dist/components/data-display/List.registry.cjs.map +1 -1
- package/dist/components/data-display/List.registry.mjs.map +1 -1
- package/dist/components/layout/Overflow.cjs +1 -1
- package/dist/components/layout/Overflow.cjs.map +1 -1
- package/dist/components/layout/Overflow.mjs +240 -192
- package/dist/components/layout/Overflow.mjs.map +1 -1
- package/dist/components/layout/Overflow.store.cjs +2 -0
- package/dist/components/layout/Overflow.store.cjs.map +1 -0
- package/dist/components/layout/Overflow.store.mjs +209 -0
- package/dist/components/layout/Overflow.store.mjs.map +1 -0
- package/dist/components/navigation/Breadcrumb.cjs +1 -1
- package/dist/components/navigation/Breadcrumb.cjs.map +1 -1
- package/dist/components/navigation/Breadcrumb.mjs +239 -84
- package/dist/components/navigation/Breadcrumb.mjs.map +1 -1
- package/dist/components/overlays/Dialog.slots.cjs +1 -1
- package/dist/components/overlays/Dialog.slots.cjs.map +1 -1
- package/dist/components/overlays/Dialog.slots.mjs +19 -15
- package/dist/components/overlays/Dialog.slots.mjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.cjs +1 -1
- package/dist/components/overlays/TeachingPopover.cjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.context.cjs +2 -0
- package/dist/components/overlays/TeachingPopover.context.cjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.context.mjs +51 -0
- package/dist/components/overlays/TeachingPopover.context.mjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.mjs +15 -185
- package/dist/components/overlays/TeachingPopover.mjs.map +1 -1
- package/dist/components/overlays/TeachingPopover.parts.cjs +2 -0
- package/dist/components/overlays/TeachingPopover.parts.cjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.parts.mjs +398 -0
- package/dist/components/overlays/TeachingPopover.parts.mjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.root.cjs +2 -0
- package/dist/components/overlays/TeachingPopover.root.cjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.root.mjs +150 -0
- package/dist/components/overlays/TeachingPopover.root.mjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.stack.cjs +2 -0
- package/dist/components/overlays/TeachingPopover.stack.cjs.map +1 -0
- package/dist/components/overlays/TeachingPopover.stack.mjs +86 -0
- package/dist/components/overlays/TeachingPopover.stack.mjs.map +1 -0
- package/dist/components/table/DataGrid.cjs +1 -1
- package/dist/components/table/DataGrid.cjs.map +1 -1
- package/dist/components/table/DataGrid.mjs +540 -311
- package/dist/components/table/DataGrid.mjs.map +1 -1
- package/dist/components/table/Table.cjs +1 -1
- package/dist/components/table/Table.cjs.map +1 -1
- package/dist/components/table/Table.mjs +183 -60
- package/dist/components/table/Table.mjs.map +1 -1
- package/dist/components/table/Table.shared.cjs +2 -0
- package/dist/components/table/Table.shared.cjs.map +1 -0
- package/dist/components/table/Table.shared.mjs +65 -0
- package/dist/components/table/Table.shared.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1742 -158
- package/dist/index.d.ts +1742 -158
- package/dist/index.mjs +135 -132
- package/dist/lib/breadcrumb.cjs +2 -0
- package/dist/lib/breadcrumb.cjs.map +1 -0
- package/dist/lib/breadcrumb.mjs +26 -0
- package/dist/lib/breadcrumb.mjs.map +1 -0
- package/dist/lib/classNames.cjs +1 -1
- package/dist/lib/classNames.cjs.map +1 -1
- package/dist/lib/classNames.mjs +66 -38
- package/dist/lib/classNames.mjs.map +1 -1
- package/dist/lib/events.cjs +1 -1
- package/dist/lib/events.cjs.map +1 -1
- package/dist/lib/events.mjs +35 -8
- package/dist/lib/events.mjs.map +1 -1
- package/dist/lib/icons.cjs +1 -1
- package/dist/lib/icons.cjs.map +1 -1
- package/dist/lib/icons.mjs +34 -20
- package/dist/lib/icons.mjs.map +1 -1
- package/dist/lib/table.cjs +2 -0
- package/dist/lib/table.cjs.map +1 -0
- package/dist/lib/table.mjs +16 -0
- package/dist/lib/table.mjs.map +1 -0
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/lib/icons.cjs.map
CHANGED
|
@@ -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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"}
|
package/dist/lib/icons.mjs
CHANGED
|
@@ -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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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 {
|
|
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
|
package/dist/lib/icons.mjs.map
CHANGED
|
@@ -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 @@
|
|
|
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"}
|