@code-sherpas/pharos-react 2.0.0 → 2.1.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.
@@ -0,0 +1,64 @@
1
+ # Third-party notices
2
+
3
+ `@code-sherpas/pharos-react` is MIT-licensed (see `LICENSE`). It also contains
4
+ third-party material, listed here with the notice its licence requires.
5
+
6
+ ## Lucide
7
+
8
+ Icon path data from [Lucide](https://lucide.dev) (lucide-static 1.70.0), copied
9
+ inline into these files of the published `dist/`:
10
+
11
+ - `icons/LanguagesIcon.js` — `languages`
12
+ - `components/Select.js` — `chevron-down`, `check`
13
+ - `components/Checkbox.js` — `check`, `minus`
14
+
15
+ `chevron-down`, `check` and `minus` are among the Lucide icons derived from
16
+ Feather, covered by the MIT licence quoted at the end of Lucide's licence below.
17
+
18
+ Lucide's licence, verbatim:
19
+
20
+ ```
21
+ ISC License
22
+
23
+ Copyright (c) 2026 Lucide Icons and Contributors
24
+
25
+ Permission to use, copy, modify, and/or distribute this software for any
26
+ purpose with or without fee is hereby granted, provided that the above
27
+ copyright notice and this permission notice appear in all copies.
28
+
29
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
30
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
31
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
32
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
33
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
34
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
35
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
36
+
37
+ ---
38
+
39
+ The following Lucide icons are derived from the Feather project:
40
+
41
+ airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
42
+
43
+ The MIT License (MIT) (for the icons listed above)
44
+
45
+ Copyright (c) 2013-present Cole Bemis
46
+
47
+ Permission is hereby granted, free of charge, to any person obtaining a copy
48
+ of this software and associated documentation files (the "Software"), to deal
49
+ in the Software without restriction, including without limitation the rights
50
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
51
+ copies of the Software, and to permit persons to whom the Software is
52
+ furnished to do so, subject to the following conditions:
53
+
54
+ The above copyright notice and this permission notice shall be included in all
55
+ copies or substantial portions of the Software.
56
+
57
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
58
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
59
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
60
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
61
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
62
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
63
+ SOFTWARE.
64
+ ```
@@ -0,0 +1,33 @@
1
+ import { SVGProps } from 'react';
2
+ /**
3
+ * The "languages" icon: a character and a Latin "A", the pattern people know
4
+ * from language pickers. Path data is Lucide's `languages` (lucide-static
5
+ * 1.70.0), copied verbatim under Lucide's ISC licence — see
6
+ * THIRD-PARTY-NOTICES.md. Decision D4: Pharos icons are Lucide's.
7
+ *
8
+ * Inlined as an SVG so the published bundle takes no icon dependency, the same
9
+ * convention as Spinner, Select and Checkbox. Stateless, so it renders in a
10
+ * Server Component.
11
+ *
12
+ * - **Size** follows the surrounding text (`1em`). IconButton, Badge and the
13
+ * menu items size a child `svg` themselves; elsewhere set `width`/`height`
14
+ * or `font-size`.
15
+ * - **Colour** is `currentColor`, so it takes the text colour of its parent.
16
+ * - **Accessibility**: decorative by default (`aria-hidden`), because an icon
17
+ * almost always sits next to text or inside a control that carries the name
18
+ * (IconButton requires `aria-label`). When it stands alone and means
19
+ * something, pass `label`: it becomes `role="img"` with that accessible name.
20
+ */
21
+ export interface LanguagesIconProps extends Omit<SVGProps<SVGSVGElement>, 'role' | 'aria-hidden' | 'aria-label' | 'children'> {
22
+ /**
23
+ * Accessible name, for an icon that stands alone and carries meaning. Omit
24
+ * it (or pass an empty string) when text or the enclosing control already
25
+ * names it: the icon is then hidden from assistive technology.
26
+ */
27
+ label?: string;
28
+ }
29
+ export declare function LanguagesIcon({ label, ...rest }: LanguagesIconProps): import("react").JSX.Element;
30
+ export declare namespace LanguagesIcon {
31
+ var displayName: string;
32
+ }
33
+ //# sourceMappingURL=LanguagesIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguagesIcon.d.ts","sourceRoot":"","sources":["../../src/icons/LanguagesIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,QAAQ,CAAC,aAAa,CAAC,EACvB,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CACnD;IACC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,kBAAkB,+BA0BnE;yBA1Be,aAAa"}
@@ -0,0 +1,36 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region src/icons/LanguagesIcon.tsx
3
+ function n({ label: n, ...r }) {
4
+ let i = n !== void 0 && n !== "";
5
+ return /* @__PURE__ */ t("svg", {
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ viewBox: "0 0 24 24",
8
+ width: "1em",
9
+ height: "1em",
10
+ fill: "none",
11
+ stroke: "currentColor",
12
+ strokeWidth: 2,
13
+ strokeLinecap: "round",
14
+ strokeLinejoin: "round",
15
+ focusable: "false",
16
+ "data-pharos-icon": "languages",
17
+ ...r,
18
+ ...i ? {
19
+ role: "img",
20
+ "aria-label": n
21
+ } : { "aria-hidden": !0 },
22
+ children: [
23
+ /* @__PURE__ */ e("path", { d: "m5 8 6 6" }),
24
+ /* @__PURE__ */ e("path", { d: "m4 14 6-6 2-3" }),
25
+ /* @__PURE__ */ e("path", { d: "M2 5h12" }),
26
+ /* @__PURE__ */ e("path", { d: "M7 2h1" }),
27
+ /* @__PURE__ */ e("path", { d: "m22 22-5-10-5 10" }),
28
+ /* @__PURE__ */ e("path", { d: "M14 18h6" })
29
+ ]
30
+ });
31
+ }
32
+ n.displayName = "LanguagesIcon";
33
+ //#endregion
34
+ export { n as LanguagesIcon };
35
+
36
+ //# sourceMappingURL=LanguagesIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguagesIcon.js","names":[],"sources":["../../src/icons/LanguagesIcon.tsx"],"sourcesContent":["import type { SVGProps } from 'react';\n\n/**\n * The \"languages\" icon: a character and a Latin \"A\", the pattern people know\n * from language pickers. Path data is Lucide's `languages` (lucide-static\n * 1.70.0), copied verbatim under Lucide's ISC licence — see\n * THIRD-PARTY-NOTICES.md. Decision D4: Pharos icons are Lucide's.\n *\n * Inlined as an SVG so the published bundle takes no icon dependency, the same\n * convention as Spinner, Select and Checkbox. Stateless, so it renders in a\n * Server Component.\n *\n * - **Size** follows the surrounding text (`1em`). IconButton, Badge and the\n * menu items size a child `svg` themselves; elsewhere set `width`/`height`\n * or `font-size`.\n * - **Colour** is `currentColor`, so it takes the text colour of its parent.\n * - **Accessibility**: decorative by default (`aria-hidden`), because an icon\n * almost always sits next to text or inside a control that carries the name\n * (IconButton requires `aria-label`). When it stands alone and means\n * something, pass `label`: it becomes `role=\"img\"` with that accessible name.\n */\nexport interface LanguagesIconProps extends Omit<\n SVGProps<SVGSVGElement>,\n 'role' | 'aria-hidden' | 'aria-label' | 'children'\n> {\n /**\n * Accessible name, for an icon that stands alone and carries meaning. Omit\n * it (or pass an empty string) when text or the enclosing control already\n * names it: the icon is then hidden from assistive technology.\n */\n label?: string;\n}\n\nexport function LanguagesIcon({ label, ...rest }: LanguagesIconProps) {\n const named = label !== undefined && label !== '';\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n focusable=\"false\"\n data-pharos-icon=\"languages\"\n {...rest}\n {...(named ? { role: 'img', 'aria-label': label } : { 'aria-hidden': true })}\n >\n <path d=\"m5 8 6 6\" />\n <path d=\"m4 14 6-6 2-3\" />\n <path d=\"M2 5h12\" />\n <path d=\"M7 2h1\" />\n <path d=\"m22 22-5-10-5 10\" />\n <path d=\"M14 18h6\" />\n </svg>\n );\n}\n\nLanguagesIcon.displayName = 'LanguagesIcon';\n"],"mappings":";;AAiCA,SAAgB,EAAc,EAAE,UAAO,GAAG,KAA4B;CACpE,IAAM,IAAQ,MAAU,KAAA,KAAa,MAAU;CAC/C,OACE,kBAAC,OAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAM;EACN,QAAO;EACP,MAAK;EACL,QAAO;EACP,aAAa;EACb,eAAc;EACd,gBAAe;EACf,WAAU;EACV,oBAAiB;EACjB,GAAI;EACJ,GAAK,IAAQ;GAAE,MAAM;GAAO,cAAc;EAAM,IAAI,EAAE,eAAe,GAAK;YAb5E;GAeE,kBAAC,QAAD,EAAM,GAAE,WAAY,CAAA;GACpB,kBAAC,QAAD,EAAM,GAAE,gBAAiB,CAAA;GACzB,kBAAC,QAAD,EAAM,GAAE,UAAW,CAAA;GACnB,kBAAC,QAAD,EAAM,GAAE,SAAU,CAAA;GAClB,kBAAC,QAAD,EAAM,GAAE,mBAAoB,CAAA;GAC5B,kBAAC,QAAD,EAAM,GAAE,WAAY,CAAA;EACjB;;AAET;AAEA,EAAc,cAAc"}
package/dist/index.d.ts CHANGED
@@ -38,5 +38,7 @@ export { ToggleGroup, ToggleGroupItem } from './components/ToggleGroup';
38
38
  export type { ToggleGroupProps, ToggleGroupItemProps } from './components/ToggleGroup';
39
39
  export { ToastProvider, Toaster, useToast } from './components/Toast';
40
40
  export type { ToastProviderProps, ToasterProps, ToasterPosition, ToastOptions, ToastVariant, UseToastReturnValue, } from './components/Toast';
41
+ export { LanguagesIcon } from './icons/LanguagesIcon';
42
+ export type { LanguagesIconProps } from './icons/LanguagesIcon';
41
43
  export { cn } from './lib/cn';
42
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,4 +19,5 @@ import { Switch as Te } from "./components/Switch.js";
19
19
  import { RadioGroup as Ee, RadioGroupItem as De } from "./components/RadioGroup.js";
20
20
  import { ToggleGroup as Oe, ToggleGroupItem as ke } from "./components/ToggleGroup.js";
21
21
  import { ToastProvider as Ae, Toaster as je, useToast as Me } from "./components/Toast.js";
22
- export { x as Avatar, S as AvatarFallback, C as AvatarGroup, w as AvatarImage, s as Badge, t as Button, m as Card, h as CardContent, g as CardDescription, _ as CardFooter, v as CardHeader, y as CardTitle, we as Checkbox, K as Combobox, q as ComboboxChip, J as ComboboxChipRemove, Y as ComboboxChips, X as ComboboxClear, Z as ComboboxContent, Q as ComboboxControl, $ as ComboboxEmpty, ee as ComboboxGroup, te as ComboboxGroupLabel, ne as ComboboxInput, re as ComboboxItem, ie as ComboboxList, ae as ComboboxSeparator, oe as ComboboxTrigger, ge as Dialog, _e as DialogClose, ve as DialogContent, ye as DialogDescription, be as DialogFooter, xe as DialogHeader, Se as DialogTitle, Ce as DialogTrigger, T as DropdownMenu, E as DropdownMenuContent, D as DropdownMenuGroup, O as DropdownMenuItem, k as DropdownMenuLabel, A as DropdownMenuSeparator, j as DropdownMenuTrigger, a as IconButton, l as Input, M as Popover, N as PopoverClose, P as PopoverContent, F as PopoverDescription, I as PopoverTitle, L as PopoverTrigger, Ee as RadioGroup, De as RadioGroupItem, R as Select, z as SelectContent, B as SelectGroup, V as SelectItem, H as SelectLabel, U as SelectSeparator, W as SelectTrigger, G as SelectValue, p as Separator, se as Sheet, ce as SheetClose, le as SheetContent, ue as SheetDescription, de as SheetFooter, fe as SheetHeader, pe as SheetTitle, me as SheetTrigger, r as Spinner, Te as Switch, d as Textarea, Ae as ToastProvider, je as Toaster, Oe as ToggleGroup, ke as ToggleGroupItem, c as badgeVariants, n as buttonVariants, b as cardVariants, e as cn, o as iconButtonVariants, u as inputVariants, he as sheetVariants, i as spinnerVariants, f as textareaVariants, Me as useToast };
22
+ import { LanguagesIcon as Ne } from "./icons/LanguagesIcon.js";
23
+ export { x as Avatar, S as AvatarFallback, C as AvatarGroup, w as AvatarImage, s as Badge, t as Button, m as Card, h as CardContent, g as CardDescription, _ as CardFooter, v as CardHeader, y as CardTitle, we as Checkbox, K as Combobox, q as ComboboxChip, J as ComboboxChipRemove, Y as ComboboxChips, X as ComboboxClear, Z as ComboboxContent, Q as ComboboxControl, $ as ComboboxEmpty, ee as ComboboxGroup, te as ComboboxGroupLabel, ne as ComboboxInput, re as ComboboxItem, ie as ComboboxList, ae as ComboboxSeparator, oe as ComboboxTrigger, ge as Dialog, _e as DialogClose, ve as DialogContent, ye as DialogDescription, be as DialogFooter, xe as DialogHeader, Se as DialogTitle, Ce as DialogTrigger, T as DropdownMenu, E as DropdownMenuContent, D as DropdownMenuGroup, O as DropdownMenuItem, k as DropdownMenuLabel, A as DropdownMenuSeparator, j as DropdownMenuTrigger, a as IconButton, l as Input, Ne as LanguagesIcon, M as Popover, N as PopoverClose, P as PopoverContent, F as PopoverDescription, I as PopoverTitle, L as PopoverTrigger, Ee as RadioGroup, De as RadioGroupItem, R as Select, z as SelectContent, B as SelectGroup, V as SelectItem, H as SelectLabel, U as SelectSeparator, W as SelectTrigger, G as SelectValue, p as Separator, se as Sheet, ce as SheetClose, le as SheetContent, ue as SheetDescription, de as SheetFooter, fe as SheetHeader, pe as SheetTitle, me as SheetTrigger, r as Spinner, Te as Switch, d as Textarea, Ae as ToastProvider, je as Toaster, Oe as ToggleGroup, ke as ToggleGroupItem, c as badgeVariants, n as buttonVariants, b as cardVariants, e as cn, o as iconButtonVariants, u as inputVariants, he as sheetVariants, i as spinnerVariants, f as textareaVariants, Me as useToast };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-sherpas/pharos-react",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "React component library for Code Sherpas. Consumes @code-sherpas/pharos-tokens. Vite library mode + CSS Modules — no Tailwind, no CSS framework required at the consumer.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -17,14 +17,19 @@
17
17
  },
18
18
  "type": "module",
19
19
  "files": [
20
- "dist"
20
+ "dist",
21
+ "styles.css.d.ts",
22
+ "THIRD-PARTY-NOTICES.md"
21
23
  ],
22
24
  "exports": {
23
25
  ".": {
24
26
  "types": "./dist/index.d.ts",
25
27
  "import": "./dist/index.js"
26
28
  },
27
- "./styles.css": "./dist/styles.css",
29
+ "./styles.css": {
30
+ "types": "./styles.css.d.ts",
31
+ "default": "./dist/styles.css"
32
+ },
28
33
  "./Avatar": {
29
34
  "types": "./dist/components/Avatar.d.ts",
30
35
  "import": "./dist/components/Avatar.js"
@@ -104,14 +109,17 @@
104
109
  "./ToggleGroup": {
105
110
  "types": "./dist/components/ToggleGroup.d.ts",
106
111
  "import": "./dist/components/ToggleGroup.js"
112
+ },
113
+ "./LanguagesIcon": {
114
+ "types": "./dist/icons/LanguagesIcon.d.ts",
115
+ "import": "./dist/icons/LanguagesIcon.js"
107
116
  }
108
117
  },
109
118
  "sideEffects": [
110
119
  "**/*.css"
111
120
  ],
112
121
  "engines": {
113
- "node": ">=22",
114
- "pnpm": "10.33.0"
122
+ "node": ">=22"
115
123
  },
116
124
  "lint-staged": {
117
125
  "*.{ts,tsx,js,mjs,cjs,json,md,mdx,css,yml,yaml}": "prettier --write"
@@ -175,7 +183,7 @@
175
183
  "test:e2e": "pnpm --filter @examples/saas-demo test:e2e",
176
184
  "dev:demo": "bash scripts/check-node-version.sh && pnpm --filter @examples/saas-demo dev",
177
185
  "typecheck": "tsc --noEmit",
178
- "verify:dist-types": "tsc --noEmit -p tsconfig.dist-smoke.json",
186
+ "verify:dist-types": "tsc --noEmit -p tsconfig.dist-smoke.json && tsc --noEmit -p tsconfig.css-entry-types.json",
179
187
  "verify:dist-rsc": "node scripts/verify-dist-rsc.mjs",
180
188
  "lint": "eslint .",
181
189
  "format": "prettier --write .",
@@ -0,0 +1,5 @@
1
+ // Types for the stylesheet entry point (`./styles.css`). A stylesheet exports
2
+ // nothing; this file only lets TypeScript resolve its side-effect import
3
+ // (`import '@code-sherpas/pharos-react/styles.css'`), which TypeScript 6 and
4
+ // later check by default (`noUncheckedSideEffectImports`).
5
+ export {};