@orion-ds/react 4.0.0 → 4.2.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/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index10.cjs +1 -1
- package/dist/index10.mjs +1 -1
- package/dist/index100.cjs +1 -1
- package/dist/index100.mjs +20 -40
- package/dist/index100.mjs.map +1 -1
- package/dist/index101.cjs +1 -1
- package/dist/index101.mjs +28 -14
- package/dist/index101.mjs.map +1 -1
- package/dist/index102.cjs +1 -1
- package/dist/index102.mjs +44 -28
- package/dist/index102.mjs.map +1 -1
- package/dist/index103.cjs +1 -1
- package/dist/index103.mjs +42 -30
- package/dist/index103.mjs.map +1 -1
- package/dist/index104.cjs +1 -1
- package/dist/index104.mjs +56 -36
- package/dist/index104.mjs.map +1 -1
- package/dist/index105.cjs +1 -1
- package/dist/index105.mjs +26 -30
- package/dist/index105.mjs.map +1 -1
- package/dist/index106.cjs +1 -1
- package/dist/index106.mjs +64 -52
- package/dist/index106.mjs.map +1 -1
- package/dist/index107.cjs +1 -1
- package/dist/index107.mjs +20 -42
- package/dist/index107.mjs.map +1 -1
- package/dist/index108.cjs +1 -1
- package/dist/index108.mjs +45 -32
- package/dist/index108.mjs.map +1 -1
- package/dist/index109.cjs +1 -1
- package/dist/index109.mjs +24 -50
- package/dist/index109.mjs.map +1 -1
- package/dist/index11.cjs +1 -1
- package/dist/index11.mjs +1 -1
- package/dist/index110.cjs +1 -1
- package/dist/index110.mjs +40 -12
- package/dist/index110.mjs.map +1 -1
- package/dist/index111.cjs +1 -1
- package/dist/index111.mjs +18 -33
- package/dist/index111.mjs.map +1 -1
- package/dist/index112.cjs +1 -1
- package/dist/index112.mjs +55 -28
- package/dist/index112.mjs.map +1 -1
- package/dist/index113.cjs +1 -1
- package/dist/index113.mjs +36 -20
- package/dist/index113.mjs.map +1 -1
- package/dist/index114.cjs +1 -1
- package/dist/index114.mjs +62 -24
- package/dist/index114.mjs.map +1 -1
- package/dist/index115.cjs +1 -1
- package/dist/index115.mjs +65 -33
- package/dist/index115.mjs.map +1 -1
- package/dist/index116.cjs +1 -1
- package/dist/index116.mjs +234 -18
- package/dist/index116.mjs.map +1 -1
- package/dist/index117.cjs +1 -1
- package/dist/index117.cjs.map +1 -1
- package/dist/index117.mjs +34 -31
- package/dist/index117.mjs.map +1 -1
- package/dist/index118.cjs +1 -1
- package/dist/index118.cjs.map +1 -1
- package/dist/index118.mjs +44 -29
- package/dist/index118.mjs.map +1 -1
- package/dist/index119.cjs +1 -1
- package/dist/index119.cjs.map +1 -1
- package/dist/index119.mjs +170 -234
- package/dist/index119.mjs.map +1 -1
- package/dist/index12.cjs +1 -1
- package/dist/index12.mjs +1 -1
- package/dist/index120.cjs +1 -1
- package/dist/index120.cjs.map +1 -1
- package/dist/index120.mjs +184 -32
- package/dist/index120.mjs.map +1 -1
- package/dist/index121.cjs +1 -1
- package/dist/index121.cjs.map +1 -1
- package/dist/index121.mjs +24 -39
- package/dist/index121.mjs.map +1 -1
- package/dist/index122.cjs +1 -1
- package/dist/index122.cjs.map +1 -1
- package/dist/index122.mjs +78 -158
- package/dist/index122.mjs.map +1 -1
- package/dist/index123.cjs +1 -1
- package/dist/index123.cjs.map +1 -1
- package/dist/index123.mjs +47 -180
- package/dist/index123.mjs.map +1 -1
- package/dist/index124.cjs +1 -1
- package/dist/index124.cjs.map +1 -1
- package/dist/index124.mjs +64 -26
- package/dist/index124.mjs.map +1 -1
- package/dist/index125.cjs +1 -1
- package/dist/index125.cjs.map +1 -1
- package/dist/index125.mjs +115 -81
- package/dist/index125.mjs.map +1 -1
- package/dist/index126.cjs +1 -1
- package/dist/index126.cjs.map +1 -1
- package/dist/index126.mjs +108 -52
- package/dist/index126.mjs.map +1 -1
- package/dist/index127.cjs +1 -1
- package/dist/index127.cjs.map +1 -1
- package/dist/index127.mjs +105 -60
- package/dist/index127.mjs.map +1 -1
- package/dist/index128.cjs +1 -1
- package/dist/index128.cjs.map +1 -1
- package/dist/index128.mjs +112 -114
- package/dist/index128.mjs.map +1 -1
- package/dist/index129.cjs +1 -1
- package/dist/index129.cjs.map +1 -1
- package/dist/index129.mjs +212 -106
- package/dist/index129.mjs.map +1 -1
- package/dist/index13.cjs +1 -1
- package/dist/index13.mjs +1 -1
- package/dist/index130.cjs +1 -1
- package/dist/index130.cjs.map +1 -1
- package/dist/index130.mjs +44 -111
- package/dist/index130.mjs.map +1 -1
- package/dist/index131.cjs +1 -1
- package/dist/index131.cjs.map +1 -1
- package/dist/index131.mjs +40 -122
- package/dist/index131.mjs.map +1 -1
- package/dist/index132.cjs +1 -1
- package/dist/index132.cjs.map +1 -1
- package/dist/index132.mjs +106 -214
- package/dist/index132.mjs.map +1 -1
- package/dist/index133.cjs +1 -1
- package/dist/index133.mjs +22 -42
- package/dist/index133.mjs.map +1 -1
- package/dist/index134.cjs +1 -1
- package/dist/index134.mjs +30 -44
- package/dist/index134.mjs.map +1 -1
- package/dist/index135.cjs +1 -1
- package/dist/index135.mjs +46 -28
- package/dist/index135.mjs.map +1 -1
- package/dist/index136.cjs +1 -1
- package/dist/index136.mjs +12 -76
- package/dist/index136.mjs.map +1 -1
- package/dist/index137.cjs +1 -1
- package/dist/index137.mjs +32 -38
- package/dist/index137.mjs.map +1 -1
- package/dist/index138.cjs +1 -1
- package/dist/index138.mjs +27 -38
- package/dist/index138.mjs.map +1 -1
- package/dist/index139.cjs +1 -1
- package/dist/index139.mjs +33 -65
- package/dist/index139.mjs.map +1 -1
- package/dist/index14.cjs +1 -1
- package/dist/index14.mjs +1 -1
- package/dist/index140.cjs +1 -1
- package/dist/index140.mjs +57 -28
- package/dist/index140.mjs.map +1 -1
- package/dist/index141.cjs +1 -1
- package/dist/index141.mjs +30 -16
- package/dist/index141.mjs.map +1 -1
- package/dist/index142.cjs +1 -1
- package/dist/index142.mjs +32 -22
- package/dist/index142.mjs.map +1 -1
- package/dist/index143.cjs +1 -1
- package/dist/index143.mjs +50 -62
- package/dist/index143.mjs.map +1 -1
- package/dist/index144.cjs +1 -1
- package/dist/index144.mjs +16 -20
- package/dist/index144.mjs.map +1 -1
- package/dist/index145.cjs +1 -1
- package/dist/index145.mjs +30 -20
- package/dist/index145.mjs.map +1 -1
- package/dist/index146.cjs +1 -1
- package/dist/index146.mjs +46 -26
- package/dist/index146.mjs.map +1 -1
- package/dist/index147.cjs +1 -1
- package/dist/index147.mjs +42 -42
- package/dist/index148.cjs +1 -1
- package/dist/index148.mjs +28 -45
- package/dist/index148.mjs.map +1 -1
- package/dist/index149.cjs +1 -1
- package/dist/index149.mjs +28 -27
- package/dist/index15.cjs +1 -1
- package/dist/index15.mjs +1 -1
- package/dist/index150.cjs +1 -1
- package/dist/index150.mjs +30 -28
- package/dist/index150.mjs.map +1 -1
- package/dist/index151.cjs +1 -1
- package/dist/index151.mjs +24 -32
- package/dist/index151.mjs.map +1 -1
- package/dist/index152.cjs +1 -1
- package/dist/index152.mjs +21 -29
- package/dist/index152.mjs.map +1 -1
- package/dist/index153.cjs +1 -1
- package/dist/index153.mjs +36 -24
- package/dist/index153.mjs.map +1 -1
- package/dist/index154.cjs +1 -1
- package/dist/index154.mjs +38 -28
- package/dist/index154.mjs.map +1 -1
- package/dist/index155.cjs +1 -1
- package/dist/index155.mjs +12 -30
- package/dist/index155.mjs.map +1 -1
- package/dist/index156.cjs +1 -1
- package/dist/index156.mjs +28 -33
- package/dist/index156.mjs.map +1 -1
- package/dist/index157.cjs +1 -1
- package/dist/index157.mjs +38 -46
- package/dist/index157.mjs.map +1 -1
- package/dist/index158.cjs +1 -1
- package/dist/index158.mjs +33 -46
- package/dist/index158.mjs.map +1 -1
- package/dist/index159.cjs +1 -1
- package/dist/index159.mjs +28 -44
- package/dist/index159.mjs.map +1 -1
- package/dist/index16.cjs +1 -1
- package/dist/index16.mjs +1 -1
- package/dist/index160.cjs +1 -1
- package/dist/index160.mjs +13 -39
- package/dist/index160.mjs.map +1 -1
- package/dist/index161.cjs +1 -1
- package/dist/index161.mjs +18 -22
- package/dist/index161.mjs.map +1 -1
- package/dist/index162.cjs +1 -1
- package/dist/index162.mjs +28 -18
- package/dist/index162.mjs.map +1 -1
- package/dist/index163.cjs +1 -1
- package/dist/index163.mjs +18 -40
- package/dist/index163.mjs.map +1 -1
- package/dist/index164.cjs +1 -1
- package/dist/index164.mjs +65 -16
- package/dist/index164.mjs.map +1 -1
- package/dist/index165.cjs +1 -1
- package/dist/index165.mjs +30 -24
- package/dist/index165.mjs.map +1 -1
- package/dist/index166.cjs +1 -1
- package/dist/index166.mjs +44 -64
- package/dist/index166.mjs.map +1 -1
- package/dist/index167.cjs +1 -1
- package/dist/index167.mjs +51 -52
- package/dist/index167.mjs.map +1 -1
- package/dist/index168.cjs +1 -1
- package/dist/index168.cjs.map +1 -1
- package/dist/index168.mjs +37 -13
- package/dist/index168.mjs.map +1 -1
- package/dist/index169.cjs +1 -1
- package/dist/index169.mjs +28 -56
- package/dist/index169.mjs.map +1 -1
- package/dist/index17.cjs +1 -1
- package/dist/index17.mjs +1 -1
- package/dist/index170.cjs +1 -1
- package/dist/index170.mjs +18 -106
- package/dist/index170.mjs.map +1 -1
- package/dist/index171.cjs +1 -1
- package/dist/index171.mjs +33 -18
- package/dist/index171.mjs.map +1 -1
- package/dist/index172.cjs +1 -1
- package/dist/index172.mjs +20 -62
- package/dist/index172.mjs.map +1 -1
- package/dist/index173.cjs +1 -1
- package/dist/index173.mjs +24 -55
- package/dist/index173.mjs.map +1 -1
- package/dist/index174.cjs +1 -1
- package/dist/index174.mjs +64 -18
- package/dist/index174.mjs.map +1 -1
- package/dist/index175.cjs +1 -1
- package/dist/index175.mjs +76 -52
- package/dist/index175.mjs.map +1 -1
- package/dist/index176.cjs +1 -1
- package/dist/index176.mjs +40 -64
- package/dist/index176.mjs.map +1 -1
- package/dist/index177.cjs +1 -1
- package/dist/index177.cjs.map +1 -1
- package/dist/index177.mjs +53 -37
- package/dist/index177.mjs.map +1 -1
- package/dist/index178.cjs +1 -1
- package/dist/index178.mjs +53 -28
- package/dist/index178.mjs.map +1 -1
- package/dist/index179.cjs +1 -1
- package/dist/index179.mjs +18 -67
- package/dist/index179.mjs.map +1 -1
- package/dist/index18.cjs +1 -1
- package/dist/index18.mjs +1 -1
- package/dist/index180.cjs +1 -1
- package/dist/index180.mjs +42 -57
- package/dist/index180.mjs.map +1 -1
- package/dist/index181.cjs +1 -1
- package/dist/index181.mjs +28 -44
- package/dist/index181.mjs.map +1 -1
- package/dist/index185.cjs +1 -1
- package/dist/index185.mjs +1 -1
- package/dist/index19.cjs +1 -1
- package/dist/index19.mjs +2 -2
- package/dist/index20.cjs +1 -1
- package/dist/index20.mjs +14 -14
- package/dist/index21.cjs +1 -1
- package/dist/index21.mjs +1 -1
- package/dist/index22.cjs +1 -1
- package/dist/index22.mjs +1 -1
- package/dist/index23.cjs +1 -1
- package/dist/index23.mjs +1 -1
- package/dist/index24.cjs +1 -1
- package/dist/index24.mjs +1 -1
- package/dist/index25.cjs +1 -1
- package/dist/index25.mjs +1 -1
- package/dist/index26.cjs +1 -1
- package/dist/index26.cjs.map +1 -1
- package/dist/index26.mjs +1 -1
- package/dist/index27.cjs +1 -1
- package/dist/index27.mjs +1 -1
- package/dist/index28.cjs +1 -1
- package/dist/index28.mjs +1 -1
- package/dist/index30.cjs +1 -1
- package/dist/index30.mjs +1 -1
- package/dist/index31.cjs +1 -1
- package/dist/index31.mjs +1 -1
- package/dist/index32.cjs +1 -1
- package/dist/index32.mjs +1 -1
- package/dist/index33.cjs +1 -1
- package/dist/index33.mjs +1 -1
- package/dist/index34.cjs +1 -1
- package/dist/index34.mjs +1 -1
- package/dist/index35.cjs +1 -1
- package/dist/index35.mjs +1 -1
- package/dist/index36.cjs +1 -1
- package/dist/index36.mjs +1 -1
- package/dist/index37.cjs +1 -1
- package/dist/index37.mjs +1 -1
- package/dist/index38.cjs +1 -1
- package/dist/index38.mjs +1 -1
- package/dist/index39.cjs +1 -1
- package/dist/index39.mjs +1 -1
- package/dist/index40.cjs +1 -1
- package/dist/index40.mjs +1 -1
- package/dist/index42.cjs +1 -1
- package/dist/index42.mjs +1 -1
- package/dist/index43.cjs +1 -1
- package/dist/index43.cjs.map +1 -1
- package/dist/index43.mjs +1 -1
- package/dist/index44.cjs +1 -1
- package/dist/index44.mjs +1 -1
- package/dist/index46.cjs +1 -1
- package/dist/index46.mjs +1 -1
- package/dist/index47.cjs +1 -1
- package/dist/index47.mjs +1 -1
- package/dist/index49.cjs +1 -1
- package/dist/index49.mjs +1 -1
- package/dist/index5.cjs +1 -1
- package/dist/index5.mjs +1 -1
- package/dist/index50.cjs +1 -1
- package/dist/index50.mjs +1 -1
- package/dist/index51.cjs +1 -1
- package/dist/index51.mjs +1 -1
- package/dist/index52.cjs +1 -1
- package/dist/index52.mjs +1 -1
- package/dist/index53.cjs +1 -1
- package/dist/index53.mjs +1 -1
- package/dist/index54.cjs +1 -1
- package/dist/index54.mjs +1 -1
- package/dist/index55.cjs +1 -1
- package/dist/index55.mjs +1 -1
- package/dist/index56.cjs +1 -1
- package/dist/index56.mjs +1 -1
- package/dist/index57.cjs +1 -1
- package/dist/index57.mjs +1 -1
- package/dist/index58.cjs +1 -1
- package/dist/index58.mjs +1 -1
- package/dist/index59.cjs +1 -1
- package/dist/index59.mjs +1 -1
- package/dist/index6.cjs +1 -1
- package/dist/index6.mjs +1 -1
- package/dist/index60.cjs +1 -1
- package/dist/index60.mjs +1 -1
- package/dist/index61.cjs +1 -1
- package/dist/index61.mjs +1 -1
- package/dist/index62.cjs +1 -1
- package/dist/index62.mjs +1 -1
- package/dist/index64.cjs +1 -1
- package/dist/index64.mjs +1 -1
- package/dist/index65.cjs +1 -1
- package/dist/index65.mjs +1 -1
- package/dist/index66.cjs +1 -1
- package/dist/index66.mjs +1 -1
- package/dist/index67.cjs +1 -1
- package/dist/index67.mjs +1 -1
- package/dist/index68.cjs +1 -1
- package/dist/index68.mjs +1 -1
- package/dist/index69.cjs +1 -1
- package/dist/index69.mjs +1 -1
- package/dist/index7.cjs +1 -1
- package/dist/index7.mjs +1 -1
- package/dist/index70.cjs +1 -1
- package/dist/index70.mjs +1 -1
- package/dist/index71.cjs +1 -1
- package/dist/index71.mjs +1 -1
- package/dist/index72.cjs +1 -1
- package/dist/index72.mjs +1 -1
- package/dist/index73.cjs +1 -1
- package/dist/index73.mjs +1 -1
- package/dist/index75.cjs +7 -10
- package/dist/index75.cjs.map +1 -1
- package/dist/index75.mjs +18 -21
- package/dist/index75.mjs.map +1 -1
- package/dist/index76.cjs +1 -1
- package/dist/index76.mjs +1 -1
- package/dist/index77.cjs +1 -1
- package/dist/index77.mjs +1 -1
- package/dist/index78.cjs +1 -1
- package/dist/index78.mjs +1 -1
- package/dist/index79.cjs +1 -1
- package/dist/index79.mjs +1 -1
- package/dist/index8.cjs +1 -1
- package/dist/index8.mjs +1 -1
- package/dist/index80.cjs +1 -1
- package/dist/index80.mjs +1 -1
- package/dist/index81.cjs +1 -1
- package/dist/index81.mjs +1 -1
- package/dist/index82.cjs +1 -1
- package/dist/index82.mjs +2 -2
- package/dist/index9.cjs +1 -1
- package/dist/index9.mjs +1 -1
- package/dist/index97.cjs +1 -1
- package/dist/index97.cjs.map +1 -1
- package/dist/index97.mjs +62 -154
- package/dist/index97.mjs.map +1 -1
- package/dist/index98.cjs +1 -1
- package/dist/index98.cjs.map +1 -1
- package/dist/index98.mjs +138 -202
- package/dist/index98.mjs.map +1 -1
- package/dist/index99.cjs +1 -1
- package/dist/index99.cjs.map +1 -1
- package/dist/index99.mjs +218 -36
- package/dist/index99.mjs.map +1 -1
- package/dist/react.css +1 -1
- package/dist/styles.css +8 -1
- package/dist/theme.css +7 -0
- package/package.json +5 -8
package/dist/index62.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as L, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as S, useCallback as l } from "react";
|
|
3
3
|
import { Loader2 as $, Search as h, X as D } from "lucide-react";
|
|
4
|
-
import s from "./
|
|
4
|
+
import s from "./index131.mjs";
|
|
5
5
|
const E = S(
|
|
6
6
|
({
|
|
7
7
|
size: n = "md",
|
package/dist/index64.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),$=require("react"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),$=require("react"),e=require("./index145.cjs"),n=$.forwardRef(({label:i,error:a,helperText:d,options:o,placeholder:r="Select an option...",fullWidth:u=!1,size:f="md",optional:m=!1,className:h,id:j,disabled:p,required:c,children:b,...x},N)=>{const s=j||`select-${Math.random().toString(36).substr(2,9)}`,v=[e.default.selectContainer,u&&e.default.fullWidth,a&&e.default.error,h].filter(Boolean).join(" "),S=[e.default.select,e.default[f]].filter(Boolean).join(" ");return l.jsxs("div",{className:v,children:[i&&l.jsxs("label",{htmlFor:s,className:e.default.label,children:[i,m&&l.jsx("span",{className:e.default.optional,children:"(optional)"}),c&&l.jsx("span",{"aria-label":"required",children:"*"})]}),l.jsx("div",{className:e.default.selectWrapper,children:l.jsxs("select",{ref:N,id:s,className:S,disabled:p,required:c,"aria-invalid":a?"true":"false","aria-describedby":a?`${s}-error`:d?`${s}-helper`:void 0,...x,children:[r&&l.jsx("option",{value:"",disabled:!0,className:e.default.placeholder,children:r}),o?.map(t=>l.jsx("option",{value:t.value,disabled:t.disabled,children:t.label},t.value)),b]})}),d&&!a&&l.jsx("span",{id:`${s}-helper`,className:e.default.helperText,children:d}),a&&l.jsxs("span",{id:`${s}-error`,className:e.default.errorMessage,role:"alert",children:[l.jsx("span",{className:e.default.errorIcon,"aria-hidden":"true",children:"⚠"}),a]})]})});n.displayName="Select";exports.Select=n;
|
|
2
2
|
//# sourceMappingURL=index64.cjs.map
|
package/dist/index64.mjs
CHANGED
package/dist/index65.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),u=require("react"),S=require("lucide-react"),s=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),u=require("react"),S=require("lucide-react"),s=require("./index108.cjs"),y=u.forwardRef(({className:e,...d},i)=>a.jsx("hr",{ref:i,className:`${s.default.divider} ${e||""}`,...d}));y.displayName="Sidebar.Divider";const b=u.forwardRef(({item:e,active:d=!1,collapsed:i=!1,depth:t=0,className:r,...c},l)=>{const[f,h]=u.useState(!1),n=e.children&&e.children.length>0,m=[s.default.item,d&&s.default.itemActive,e.disabled&&s.default.itemDisabled,t>0&&s.default.itemNested,r].filter(Boolean).join(" "),x=o=>{n&&(o.preventDefault(),h(!f)),e.onClick&&!e.disabled&&e.onClick()},j=a.jsxs(a.Fragment,{children:[e.icon&&a.jsx("span",{className:s.default.itemIcon,children:e.icon}),!i&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:s.default.itemLabel,children:e.label}),e.badge&&a.jsx("span",{className:s.default.itemBadge,children:e.badge}),n&&a.jsx(S.ChevronDown,{size:16,className:`${s.default.itemChevron} ${f?s.default.chevronExpanded:""}`})]})]}),v=e.href&&!n?"a":"button",N=e.href&&!n?{href:e.href}:{type:"button",onClick:x};return a.jsxs("li",{className:s.default.itemWrapper,children:[a.jsx(v,{ref:l,className:m,"aria-current":d?"page":void 0,"aria-disabled":e.disabled,title:i?e.label:void 0,style:{paddingLeft:!i&&t>0?`calc(var(--spacing-3) + ${t*12}px)`:void 0},...N,...c,children:j}),n&&f&&!i&&a.jsx("ul",{className:s.default.subItems,children:e.children.map(o=>a.jsx(b,{item:o,active:!1,collapsed:i,depth:t+1},o.id))})]})});b.displayName="Sidebar.Item";const g=u.forwardRef(({section:e,activeItem:d,collapsed:i=!1,className:t,...r},c)=>a.jsxs("div",{ref:c,className:`${s.default.section} ${t||""}`,...r,children:[e.title&&!i&&a.jsx("div",{className:s.default.sectionTitle,children:e.title}),a.jsx("ul",{className:s.default.sectionItems,children:e.items.map(l=>a.jsx(b,{item:l,active:d===l.id,collapsed:i},l.id))})]}));g.displayName="Sidebar.Section";const C=u.forwardRef(({sections:e,activeItem:d,collapsed:i=!1,onCollapsedChange:t,header:r,footer:c,variant:l="default",width:f=240,collapsedWidth:h=64,className:n,style:m,...x},j)=>{const v=[s.default.sidebar,s.default[`variant-${l}`],i&&s.default.collapsed,n].filter(Boolean).join(" "),N={...m,"--sidebar-width":`${i?h:f}px`},o=()=>{t&&t(!i)};return a.jsxs("nav",{ref:j,className:v,style:N,...x,children:[r&&a.jsx("div",{className:s.default.header,children:r}),a.jsx("div",{className:s.default.content,children:e.map((p,$)=>a.jsx(g,{section:p,activeItem:d,collapsed:i},p.title||$))}),c&&a.jsx("div",{className:s.default.footer,children:c}),t&&a.jsx("button",{type:"button",className:s.default.collapseToggle,onClick:o,"aria-label":i?"Expand sidebar":"Collapse sidebar",children:i?a.jsx(S.ChevronRight,{size:16}):a.jsx(S.ChevronLeft,{size:16})})]})});C.displayName="Sidebar";const R=Object.assign(C,{Item:b,Section:g,Divider:y});exports.Sidebar=R;
|
|
2
2
|
//# sourceMappingURL=index65.cjs.map
|
package/dist/index65.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as b, jsx as i, Fragment as C } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as h, useState as j } from "react";
|
|
3
3
|
import { ChevronRight as k, ChevronLeft as B, ChevronDown as T } from "lucide-react";
|
|
4
|
-
import a from "./
|
|
4
|
+
import a from "./index108.mjs";
|
|
5
5
|
const $ = h(
|
|
6
6
|
({ className: e, ...r }, s) => /* @__PURE__ */ i(
|
|
7
7
|
"hr",
|
package/dist/index66.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),x=require("react"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),x=require("react"),e=require("./index100.cjs"),m=x.forwardRef(({variant:a="text",animation:f="pulse",width:t,height:l,lines:n=1,borderRadius:o,className:p,style:y,...u},i)=>{const d=[e.default.skeleton,e.default[a],e.default[f],p].filter(Boolean).join(" "),r={width:typeof t=="number"?`${t}px`:t,height:typeof l=="number"?`${l}px`:l,borderRadius:typeof o=="number"?`${o}px`:o,...y};return a==="text"&&n>1?s.jsx("div",{ref:i,className:e.default.lines,...u,children:Array.from({length:n}).map((S,c)=>s.jsx("div",{className:d,style:{...r,width:c===n-1?"80%":r.width},"aria-hidden":"true"},c))}):s.jsx("div",{ref:i,className:d,style:r,"aria-hidden":"true",...u})});m.displayName="Skeleton";exports.Skeleton=m;
|
|
2
2
|
//# sourceMappingURL=index66.cjs.map
|
package/dist/index66.mjs
CHANGED
package/dist/index67.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),n=require("react"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),n=require("react"),e=require("./index134.cjs"),v=n.forwardRef(({value:l,onChange:o,min:s=0,max:t=100,step:M=1,size:S="md",disabled:f=!1,showValue:k=!1,formatValue:d,showLabels:x=!1,showTicks:w=!1,tickValues:h,label:D,id:R,onChangeStart:p,onChangeEnd:j,className:T,...q},C)=>{const I=n.useId(),$=R||I,i=n.useRef(!1),N=(l-s)/(t-s)*100,g=d?d(l):l.toString(),U=n.useCallback(r=>{const c=parseFloat(r.target.value);o(c)},[o]),b=n.useCallback(()=>{i.current=!0,p?.()},[p]),y=n.useCallback(()=>{i.current&&(i.current=!1,j?.(l))},[j,l]),B=()=>{if(h)return h;const r=[],c=(t-s)/4;for(let u=s;u<=t;u+=c)r.push(Math.round(u*100)/100);return r},F=[e.default.container,e.default[S],f&&e.default.disabled,T].filter(Boolean).join(" ");return a.jsxs("div",{ref:C,className:F,...q,children:[k&&a.jsx("div",{className:e.default.valueDisplay,style:{left:`${N}%`},"aria-hidden":"true",children:g}),a.jsxs("div",{className:e.default.track,children:[a.jsx("div",{className:e.default.fill,style:{width:`${N}%`},"aria-hidden":"true"}),a.jsx("input",{id:$,type:"range",className:e.default.input,value:l,onChange:U,onMouseDown:b,onMouseUp:y,onTouchStart:b,onTouchEnd:y,min:s,max:t,step:M,disabled:f,"aria-label":D,"aria-valuemin":s,"aria-valuemax":t,"aria-valuenow":l,"aria-valuetext":g})]}),w&&a.jsx("div",{className:e.default.ticks,"aria-hidden":"true",children:B().map(r=>a.jsx("div",{className:e.default.tick,style:{left:`${(r-s)/(t-s)*100}%`}},r))}),x&&a.jsxs("div",{className:e.default.labels,"aria-hidden":"true",children:[a.jsx("span",{className:e.default.labelMin,children:d?d(s):s}),a.jsx("span",{className:e.default.labelMax,children:d?d(t):t})]})]})});v.displayName="Slider";exports.Slider=v;
|
|
2
2
|
//# sourceMappingURL=index67.cjs.map
|
package/dist/index67.mjs
CHANGED
package/dist/index68.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),e=require("./index149.cjs"),s=({size:i="md",variant:l="primary",label:a="Loading...",showLabel:r=!1,className:t,...o})=>{const d=[e.default.container,t].filter(Boolean).join(" "),c=[e.default.spinner,e.default[i],e.default[l]].filter(Boolean).join(" ");return n.jsxs("div",{className:d,...o,children:[n.jsx("div",{className:c,role:"status","aria-label":a,"aria-live":"polite"}),r&&n.jsx("span",{className:e.default.label,children:a})]})};s.displayName="Spinner";exports.Spinner=s;
|
|
2
2
|
//# sourceMappingURL=index68.cjs.map
|
package/dist/index68.mjs
CHANGED
package/dist/index69.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react"),x=require("lucide-react"),r=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react"),x=require("lucide-react"),r=require("./index167.cjs"),R=({step:e,index:o,status:n,size:u,showNumber:b,showCheckmark:m,clickable:s,onClick:i,labelPosition:j})=>{const N=c.useCallback(()=>{s&&!e.disabled&&i&&i()},[s,e.disabled,i]),f=c.useCallback(d=>{(d.key==="Enter"||d.key===" ")&&s&&!e.disabled&&(d.preventDefault(),i?.())},[s,e.disabled,i]),v=[r.default.step,r.default[n],r.default[u],r.default[`label-${j}`],s&&!e.disabled&&r.default.clickable,e.disabled&&r.default.disabled].filter(Boolean).join(" "),h=u==="sm"?14:u==="lg"?20:16,g=()=>n==="error"||e.error?a.jsx(x.AlertCircle,{size:h}):e.icon?e.icon:n==="complete"&&m?a.jsx(x.Check,{size:h}):b?a.jsx("span",{className:r.default.number,children:o+1}):null;return a.jsxs("div",{className:v,role:s?"button":void 0,tabIndex:s&&!e.disabled?0:void 0,"aria-current":n==="current"?"step":void 0,"aria-disabled":e.disabled,onClick:N,onKeyDown:f,children:[a.jsx("div",{className:r.default.indicator,children:g()}),a.jsxs("div",{className:r.default.content,children:[a.jsxs("span",{className:r.default.title,children:[e.title,e.optional&&a.jsx("span",{className:r.default.optional,children:"(Optional)"})]}),e.description&&a.jsx("span",{className:r.default.description,children:e.description}),(e.error||n==="error")&&e.errorMessage&&a.jsx("span",{className:r.default.errorMessage,children:e.errorMessage})]})]})},p=c.forwardRef(({steps:e,currentStep:o=0,onStepClick:n,clickable:u=!1,orientation:b="horizontal",size:m="md",showNumbers:s=!0,showConnectors:i=!0,showCheckmarks:j=!0,labelPosition:N="bottom",scrollable:f=!1,className:v,...h},g)=>{const d=c.useRef(null);c.useEffect(()=>{if(f&&d.current){const l=d.current.children[o];l&&l.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})}},[o,f]);const y=t=>e[t]?.error?"error":t<o?"complete":t===o?"current":"upcoming",w=c.useCallback(t=>{const l=e[t];n&&l&&!l.disabled&&n(t,l)},[n,e]),C=[r.default.stepper,r.default[b],r.default[m],i&&r.default.withConnectors,f&&r.default.scrollable,v].filter(Boolean).join(" ");return a.jsx("div",{ref:g,className:C,role:"navigation","aria-label":"Progress",...h,children:a.jsx("ol",{ref:d,className:r.default.list,children:e.map((t,l)=>a.jsxs("li",{className:r.default.item,children:[a.jsx(R,{step:t,index:l,status:y(l),size:m,showNumber:s,showCheckmark:j,clickable:u,onClick:()=>w(l),labelPosition:N}),i&&l<e.length-1&&a.jsx("div",{className:`${r.default.connector} ${l<o?r.default.complete:""}`,"aria-hidden":"true"})]},t.id))})})});p.displayName="Stepper";exports.Stepper=p;
|
|
2
2
|
//# sourceMappingURL=index69.cjs.map
|
package/dist/index69.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as i, jsxs as h } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as I, useRef as D, useEffect as M, useCallback as w } from "react";
|
|
3
3
|
import { AlertCircle as R, Check as $ } from "lucide-react";
|
|
4
|
-
import e from "./
|
|
4
|
+
import e from "./index167.mjs";
|
|
5
5
|
const B = ({
|
|
6
6
|
step: r,
|
|
7
7
|
index: t,
|
package/dist/index7.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),O=require("react"),s=require("lucide-react"),a=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),O=require("react"),s=require("lucide-react"),a=require("./index151.cjs"),n=require("./index16.cjs"),T=require("./index10.cjs"),k=require("./index35.cjs"),w=require("./index14.cjs"),x=({id:i,avatar:d,title:l,description:C,timestamp:u,isMultiAgent:D=!1,onClick:c,onEdit:g,onDelete:f,availableFolders:o,onMoveToFolder:m,draggable:r=!1,isDragging:v=!1,className:N,...A})=>{const S=typeof d=="string",[h,j]=O.useState(v),q=[a.default.agentCard,c&&a.default.clickable,r&&a.default.draggable,h&&a.default.dragging,N].filter(Boolean).join(" "),y=()=>{c?.()},b=t=>{r&&(j(!0),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i),t.dataTransfer.setData("application/json",JSON.stringify({id:i,title:l})))},z=()=>{j(!1)},B=t=>{r&&(t.preventDefault(),t.dataTransfer.dropEffect="move")},p=[...g?[{id:"edit",label:"Edit",icon:e.jsx(s.Edit,{size:16}),onClick:g}]:[],...f?[{id:"delete",label:"Delete",icon:e.jsx(s.Trash2,{size:16}),danger:!0,onClick:f}]:[],...m&&o&&o.length>0?[{id:"_move-sep",label:"",separator:!0},...o.map(t=>({id:`move-to-${t.id}`,label:t.title,icon:e.jsx(s.Folder,{size:16}),onClick:()=>m(t.id)}))]:[]];return e.jsxs(n.Card,{variant:"base",interactive:!!c,className:q,onClick:y,draggable:r,onDragStart:b,onDragEnd:z,onDragOver:B,"data-agent-id":i,"data-dragging":h,...A,children:[e.jsx(n.Card.Header,{children:e.jsxs("div",{className:a.default.headerContent,children:[S?e.jsx(T.Avatar,{src:d,alt:l,size:"lg"}):e.jsx("div",{className:a.default.iconAvatar,children:d}),e.jsxs("div",{className:a.default.headerRight,children:[D&&e.jsx("span",{className:a.default.multiBadge,children:"Multi"}),p.length>0&&e.jsx(k.Dropdown,{trigger:e.jsx(w.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:e.jsx(s.MoreVertical,{size:20}),"aria-label":"Actions",onDragStart:t=>t.stopPropagation()}),items:p,placement:"bottom-end",minWidth:140})]})]})}),e.jsxs(n.Card.Body,{children:[e.jsx("h3",{className:a.default.title,children:l}),e.jsx("p",{className:a.default.description,children:C??""})]}),u&&e.jsx(n.Card.Footer,{children:e.jsx("time",{className:a.default.timestamp,children:u})})]})};x.displayName="AgentCard";exports.AgentCard=x;
|
|
2
2
|
//# sourceMappingURL=index7.cjs.map
|
package/dist/index7.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
2
|
import { useState as B } from "react";
|
|
3
3
|
import { Edit as E, Trash2 as O, Folder as T, MoreVertical as w } from "lucide-react";
|
|
4
|
-
import a from "./
|
|
4
|
+
import a from "./index151.mjs";
|
|
5
5
|
import { Card as n } from "./index16.mjs";
|
|
6
6
|
import { Avatar as I } from "./index10.mjs";
|
|
7
7
|
import { Dropdown as H } from "./index35.mjs";
|
package/dist/index70.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),f=require("react"),g=require("lucide-react"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),f=require("react"),g=require("lucide-react"),e=require("./index150.cjs"),m=f.forwardRef(({label:t,size:b="sm",helperText:l,error:a,className:j,id:N,disabled:d,required:r,checked:n,"aria-label":o,"aria-describedby":u,...v},x)=>{const w=f.useId(),c=N||`switch-${w}`,h=`${c}-error`,p=`${c}-helper`,i=[];a&&i.push(h),l&&!a&&i.push(p),u&&i.push(u);const y=i.length>0?i.join(" "):void 0;!(t||o)&&process.env.NODE_ENV==="development"&&console.warn("Switch: Missing accessible name. Provide either a `label` prop or `aria-label` for screen reader users.");const S=[e.default.container,e.default[b],a&&e.default.error,d&&e.default.disabled,j].filter(Boolean).join(" ");return s.jsxs("div",{className:S,children:[s.jsx("input",{ref:x,type:"checkbox",role:"switch",id:c,className:e.default.input,disabled:d,required:r,checked:n,"aria-checked":n,"aria-required":r||void 0,"aria-invalid":a?"true":void 0,"aria-describedby":y,"aria-label":t?void 0:o,...v}),s.jsxs("label",{htmlFor:c,className:e.default.labelWrapper,children:[s.jsx("span",{className:e.default.track,"aria-hidden":"true",children:s.jsx("span",{className:e.default.thumb})}),t&&s.jsxs("span",{className:e.default.label,children:[t,r&&s.jsx("span",{className:e.default.required,"aria-hidden":"true",children:"*"})]})]}),l&&!a&&s.jsx("p",{id:p,className:e.default.helperText,children:l}),a&&s.jsxs("p",{id:h,className:e.default.errorMessage,role:"alert","aria-live":"assertive",children:[s.jsx(g.AlertCircle,{size:14,"aria-hidden":"true"}),s.jsx("span",{children:a})]})]})});m.displayName="Switch";exports.Switch=m;
|
|
2
2
|
//# sourceMappingURL=index70.cjs.map
|
package/dist/index70.mjs
CHANGED
package/dist/index71.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),j=require("react"),t=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),j=require("react"),t=require("./index135.cjs"),y=({columns:n,data:f,size:p="md",striped:x=!1,hoverable:N=!0,bordered:g=!1,borderless:v=!1,caption:h,emptyMessage:k="No data available",onRowClick:d,onSortChange:u,sortState:c,getRowKey:C=(b,o)=>o,className:S})=>{const[b,o]=j.useState(null),i=c||b,B=j.useCallback(e=>{if(!e.sortable)return;const s=e.key;let l="asc";i?.columnKey===s&&(i.direction==="asc"?l="desc":i.direction==="desc"&&(l=null)),c||o(l?{columnKey:s,direction:l}:null),u?.(s,l)},[i,c,u]),K=e=>{if(!e.sortable)return null;const s=i?.columnKey===e.key,l=s?i?.direction:null,r=[t.default.sortIndicator,s&&t.default.active].filter(Boolean).join(" ");return l==="asc"?a.jsx("span",{className:r,children:"▲"}):l==="desc"?a.jsx("span",{className:r,children:"▼"}):a.jsx("span",{className:r,children:"⇅"})},T=()=>a.jsx("thead",{className:t.default.thead,children:a.jsx("tr",{children:n.map(e=>{const s=[t.default.th,e.align&&t.default[`align${e.align.charAt(0).toUpperCase()}${e.align.slice(1)}`],e.sortable&&t.default.sortable].filter(Boolean).join(" "),l=e.sortable?()=>B(e):void 0;return a.jsxs("th",{className:s,style:{width:e.width},onClick:l,tabIndex:e.sortable?0:void 0,role:e.sortable?"button":void 0,"aria-sort":i?.columnKey===e.key?i.direction==="asc"?"ascending":"descending":void 0,...e.headerProps,children:[e.header,K(e)]},e.key)})})}),$=()=>f.length===0?a.jsx("tbody",{children:a.jsx("tr",{children:a.jsx("td",{colSpan:n.length,className:t.default.empty,children:k})})}):a.jsx("tbody",{className:t.default.tbody,children:f.map((e,s)=>{const l=C(e,s);return a.jsx("tr",{className:t.default.tr,onClick:d?()=>d(e,s):void 0,children:n.map(r=>{const A=[t.default.td,r.align&&t.default[`align${r.align.charAt(0).toUpperCase()}${r.align.slice(1)}`]].filter(Boolean).join(" "),P=r.cell?r.cell(e,s):e[r.key];return a.jsx("td",{className:A,...r.cellProps,children:P},r.key)})},l)})}),q=[t.default.container,t.default[p],x&&t.default.striped,N&&t.default.hoverable,d&&t.default.clickable,g&&t.default.bordered,v&&t.default.borderless,S].filter(Boolean).join(" ");return a.jsx("div",{className:q,children:a.jsxs("table",{className:t.default.table,children:[h&&a.jsx("caption",{className:t.default.caption,children:h}),T(),$()]})})};y.displayName="Table";exports.Table=y;
|
|
2
2
|
//# sourceMappingURL=index71.cjs.map
|
package/dist/index71.mjs
CHANGED
package/dist/index72.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("react"),t=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("react"),t=require("./index170.cjs"),g=({tabs:i,defaultTab:T,activeTab:b,onChange:m,fullWidth:x=!1,className:v})=>{const f=b!==void 0,[j,k]=r.useState(T||i[0]?.id||""),u=r.useRef(new Map),c=f?b:j,y=e=>{f||k(e),m?.(e)},o=r.useCallback(()=>i.filter(e=>!e.disabled),[i]),d=r.useCallback(e=>{const a=o();if(a.length===0)return;const l=(e%a.length+a.length)%a.length,n=a[l];if(!n)return;u.current.get(n.id)?.focus()},[o]),C=r.useCallback((e,a)=>{const l=o(),n=l.findIndex(p=>p.id===a);switch(e.key){case"ArrowLeft":e.preventDefault(),d(n-1);break;case"ArrowRight":e.preventDefault(),d(n+1);break;case"Home":e.preventDefault(),d(0);break;case"End":e.preventDefault(),d(l.length-1);break}},[o,d]),h=i.find(e=>e.id===c),w=[t.default.container,x&&t.default.fullWidth,v].filter(Boolean).join(" ");return s.jsxs("div",{className:w,children:[s.jsx("div",{className:t.default.tabList,role:"tablist",children:i.map(e=>{const a=e.id===c,l=[t.default.tab,a&&t.default.active].filter(Boolean).join(" ");return s.jsxs("button",{ref:n=>{n?u.current.set(e.id,n):u.current.delete(e.id)},type:"button",role:"tab","aria-selected":a,"aria-controls":`panel-${e.id}`,id:`tab-${e.id}`,className:l,onClick:()=>y(e.id),onKeyDown:n=>C(n,e.id),disabled:e.disabled,tabIndex:a?0:-1,children:[e.icon&&s.jsx("span",{className:t.default.icon,children:e.icon}),s.jsx("span",{children:e.label}),e.badge!==void 0&&s.jsx("span",{className:t.default.badge,children:e.badge})]},e.id)})}),h&&s.jsx("div",{className:t.default.panel,role:"tabpanel",id:`panel-${c}`,"aria-labelledby":`tab-${c}`,children:h.content},c)]})};g.displayName="Tabs";exports.Tabs=g;
|
|
2
2
|
//# sourceMappingURL=index72.cjs.map
|
package/dist/index72.mjs
CHANGED
package/dist/index73.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react"),_=require("lucide-react"),e=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react"),_=require("lucide-react"),e=require("./index130.cjs"),$=c.forwardRef(({label:o,helperText:d,error:t,size:T="md",resize:p="vertical",showCounter:u=!1,maxLength:r,className:q,id:A,value:s,defaultValue:f,onChange:m,disabled:j,required:h,optional:g=!1,"aria-label":x,"aria-describedby":N,...B},E)=>{const R=c.useId(),n=A||`textarea-${R}`,b=`${n}-error`,v=`${n}-helper`,C=`${n}-counter`,[S,I]=c.useState(()=>s!==void 0?String(s).length:f!==void 0?String(f).length:0);c.useEffect(()=>{s!==void 0&&I(String(s).length)},[s]);const w=c.useCallback(l=>{I(l.target.value.length),m?.(l)},[m]),i=[];t&&i.push(b),d&&!t&&i.push(v),u&&r&&i.push(C),N&&i.push(N);const M=i.length>0?i.join(" "):void 0;!(o||x)&&process.env.NODE_ENV==="development"&&console.warn("Textarea: Missing accessible name. Provide either a `label` prop or `aria-label` for screen reader users.");const y=(()=>{if(!r)return"normal";const l=S/r*100;return l>=100?"error":l>=90?"warning":"normal"})(),F=[e.default.counter,y==="warning"&&e.default.counterWarning,y==="error"&&e.default.counterError].filter(Boolean).join(" "),O=[e.default.container,e.default[T],e.default[`resize${p.charAt(0).toUpperCase()}${p.slice(1)}`],t&&e.default.error,j&&e.default.disabled,q].filter(Boolean).join(" "),P=u||d&&!t;return a.jsxs("div",{className:O,children:[o&&a.jsxs("label",{htmlFor:n,className:e.default.label,children:[a.jsx("span",{className:e.default.labelText,children:o}),g&&a.jsx("span",{className:e.default.optional,"aria-hidden":"true",children:"(optional)"}),h&&!g&&a.jsx("span",{className:e.default.required,"aria-hidden":"true",children:"*"})]}),a.jsx("textarea",{ref:E,id:n,className:e.default.textarea,value:s,defaultValue:f,maxLength:r,onChange:w,disabled:j,required:h,"aria-required":h||void 0,"aria-invalid":t?"true":"false","aria-describedby":M,"aria-label":o?void 0:x,...B}),P&&a.jsxs("div",{className:e.default.footer,children:[d&&!t&&a.jsx("p",{id:v,className:e.default.helperText,children:d}),u&&r&&a.jsxs("span",{id:C,className:F,"aria-live":"polite","aria-atomic":"true",children:[S,"/",r]})]}),t&&a.jsxs("p",{id:b,className:e.default.errorMessage,role:"alert","aria-live":"assertive",children:[a.jsx(_.AlertCircle,{size:14,"aria-hidden":"true"}),a.jsx("span",{children:t})]})]})});$.displayName="Textarea";exports.Textarea=$;
|
|
2
2
|
//# sourceMappingURL=index73.cjs.map
|
package/dist/index73.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as c, jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as O, useId as P, useState as R, useEffect as U, useCallback as W } from "react";
|
|
3
3
|
import { AlertCircle as _ } from "lucide-react";
|
|
4
|
-
import e from "./
|
|
4
|
+
import e from "./index130.mjs";
|
|
5
5
|
const q = O(
|
|
6
6
|
({
|
|
7
7
|
label: l,
|
package/dist/index75.cjs
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),o=require("react"),g=require("./index94.cjs"),i=require("./index4.cjs"),S=require("./index41.cjs"),h=o.createContext(void 0);function P(){return typeof window>"u"?!0:getComputedStyle(document.documentElement).getPropertyValue("--orion-react-styles-loaded").trim()==="1"}function O({children:t,defaultTheme:r,defaultBrand:d,options:p,disableFontWarnings:c=!1,disableAutoFontLoading:T=!1,disableCSSWarnings:u=!1}){const v={...p,...r!==void 0&&{defaultTheme:r},...d!==void 0&&{defaultBrand:d}},n=g.useTheme(v),a=o.useRef(new Set),m=o.useRef(!1);return o.useEffect(()=>{if(u||typeof window>"u"||!(process.env.NODE_ENV==="development"||window.location.hostname==="localhost"))return;const s=setTimeout(()=>{!m.current&&!P()&&(m.current=!0,console.warn(`[Orion] Component styles not detected!
|
|
2
2
|
|
|
3
3
|
You must import the component CSS file:
|
|
4
4
|
|
|
5
|
-
import '@orion-ds/react/
|
|
5
|
+
import '@orion-ds/react/styles.css'; // Single import includes all styles
|
|
6
6
|
|
|
7
|
-
Add this import
|
|
7
|
+
Add this import in your app entry file. It includes both design tokens and component styles.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
import '@orion-ds/react/dist/react.css'; // Component styles
|
|
9
|
+
To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`))},100);return()=>clearTimeout(s)},[u]),o.useEffect(()=>{if(c||typeof window>"u"||!(process.env.NODE_ENV==="development"||typeof window<"u"&&window.location.hostname==="localhost"))return;const s=setTimeout(()=>{const{brand:e}=n,l=i.getMissingFonts(e);if(l.length>0&&!a.current.has(e)){a.current.add(e);const w=i.BRAND_FONTS[e].join(", ");console.warn(`[Orion] Missing fonts for "${e}" brand: ${l.join(", ")}
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
The "${e}" brand requires these fonts: ${g}
|
|
11
|
+
The "${e}" brand requires these fonts: ${w}
|
|
15
12
|
|
|
16
13
|
To fix this, add one of the following to your app:
|
|
17
14
|
|
|
@@ -27,7 +24,7 @@ Option 2: Add Google Fonts to your HTML <head>
|
|
|
27
24
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
28
25
|
<link href="${i.GOOGLE_FONTS_URL}" rel="stylesheet">
|
|
29
26
|
|
|
30
|
-
To disable this warning, set disableFontWarnings={true} on ThemeProvider.`)}},1e3);return()=>clearTimeout(s)},[n.brand,c,n]),
|
|
27
|
+
To disable this warning, set disableFontWarnings={true} on ThemeProvider.`)}},1e3);return()=>clearTimeout(s)},[n.brand,c,n]),f.jsxs(h.Provider,{value:n,children:[!T&&f.jsx(S.FontLoader,{}),t]})}function x(){const t=o.useContext(h);if(t===void 0)throw new Error(`❌ useTheme() must be used inside <ThemeProvider>
|
|
31
28
|
|
|
32
29
|
Solution:
|
|
33
30
|
Wrap your app with ThemeProvider:
|
|
@@ -38,5 +35,5 @@ export default function App() {
|
|
|
38
35
|
<YourComponents />
|
|
39
36
|
</ThemeProvider>
|
|
40
37
|
);
|
|
41
|
-
}`);return t}exports.ThemeProvider=
|
|
38
|
+
}`);return t}exports.ThemeProvider=O;exports.useThemeContext=x;
|
|
42
39
|
//# sourceMappingURL=index75.cjs.map
|
package/dist/index75.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index75.cjs","sources":["../src/contexts/ThemeContext.tsx"],"sourcesContent":["/**\n * Theme Context\n *\n * Provides global theme and brand state to all components.\n * This ensures consistent theming across the entire application.\n *\n * Fonts are loaded automatically by default. No need to add <FontLoader /> manually.\n *\n * @example\n * ```tsx\n * // App.tsx\n * import { ThemeProvider } from '@orion/react';\n *\n * export default function App() {\n * return (\n * <ThemeProvider>\n * <YourComponents />\n * </ThemeProvider>\n * );\n * }\n *\n * // Inside any component\n * import { useTheme } from '@orion/react';\n *\n * function MyComponent() {\n * const { theme, brand } = useTheme();\n * return <div>Current: {theme} / {brand}</div>;\n * }\n *\n * // To disable automatic font loading:\n * <ThemeProvider disableAutoFontLoading>\n * <YourComponents />\n * </ThemeProvider>\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useEffect,\n useRef,\n type ReactNode,\n} from \"react\";\nimport {\n useTheme as useThemeHook,\n type UseThemeOptions,\n type UseThemeReturn,\n} from \"../hooks/useTheme\";\nimport { getMissingFonts, GOOGLE_FONTS_URL, BRAND_FONTS } from \"../utils/fonts\";\nimport { FontLoader } from \"../components/FontLoader\";\n\n/**\n * Theme Context - provides theme and brand state globally\n */\nconst ThemeContext = createContext<UseThemeReturn | undefined>(undefined);\n\n/**\n * Check if component styles (react.css) are loaded\n * Uses a CSS custom property marker set in styles/marker.css\n */\nfunction checkComponentStylesLoaded(): boolean {\n if (typeof window === \"undefined\") return true;\n\n const styles = getComputedStyle(document.documentElement);\n const marker = styles.getPropertyValue(\"--orion-react-styles-loaded\");\n return marker.trim() === \"1\";\n}\n\n/**\n * Theme Provider Props\n */\nexport interface ThemeProviderProps {\n /**\n * Child components\n */\n children: ReactNode;\n\n /**\n * Default theme\n * @default 'light'\n */\n defaultTheme?: \"light\" | \"dark\";\n\n /**\n * Default brand\n * @default 'orion'\n */\n defaultBrand?: \"orion\" | \"red\" | \"deepblue\" | \"orange\" | \"lemon\";\n\n /**\n * Theme options (see useTheme for full options)\n * @deprecated Use flat props (defaultTheme, defaultBrand) instead.\n */\n options?: UseThemeOptions;\n\n /**\n * Disable font loading warnings in development\n * @default false\n */\n disableFontWarnings?: boolean;\n\n /**\n * Disable automatic font loading via FontLoader\n * When false (default), fonts are loaded automatically.\n * Set to true if you want to manage font loading manually.\n * @default false\n */\n disableAutoFontLoading?: boolean;\n\n /**\n * Disable CSS import warnings in development\n * When false (default), a warning is shown if react.css is not imported.\n * @default false\n */\n disableCSSWarnings?: boolean;\n}\n\n/**\n * ThemeProvider Component\n *\n * Wraps your application to provide global theme and brand state.\n * Must be placed near the root of your application.\n */\nexport function ThemeProvider({\n children,\n defaultTheme,\n defaultBrand,\n options,\n disableFontWarnings = false,\n disableAutoFontLoading = false,\n disableCSSWarnings = false,\n}: ThemeProviderProps) {\n // Merge flat props with options (flat props take precedence)\n const mergedOptions: UseThemeOptions = {\n ...options,\n ...(defaultTheme !== undefined && { defaultTheme }),\n ...(defaultBrand !== undefined && { defaultBrand }),\n };\n\n const themeState = useThemeHook(mergedOptions);\n const hasWarnedRef = useRef<Set<string>>(new Set());\n const hasWarnedCSSRef = useRef(false);\n\n // Check for missing component styles (react.css) in development\n useEffect(() => {\n if (disableCSSWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n window.location.hostname === \"localhost\";\n\n if (!isDev) return;\n\n // Check after a short delay to allow CSS to load\n const timeoutId = setTimeout(() => {\n if (!hasWarnedCSSRef.current && !checkComponentStylesLoaded()) {\n hasWarnedCSSRef.current = true;\n\n console.warn(\n `[Orion] Component styles not detected!\\n\\n` +\n `You must import the component CSS file:\\n\\n` +\n ` import '@orion-ds/react/dist/react.css';\\n\\n` +\n `Add this import alongside the theme CSS in your app entry file:\\n\\n` +\n ` import '@orion-ds/core/theme.css'; // Design tokens\\n` +\n ` import '@orion-ds/react/dist/react.css'; // Component styles\\n\\n` +\n `To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`,\n );\n }\n }, 100);\n\n return () => clearTimeout(timeoutId);\n }, [disableCSSWarnings]);\n\n // Check for missing fonts in development\n useEffect(() => {\n if (disableFontWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n (typeof window !== \"undefined\" &&\n window.location.hostname === \"localhost\");\n\n if (!isDev) return;\n\n // Wait a bit for fonts to potentially load\n const timeoutId = setTimeout(() => {\n const { brand } = themeState;\n const missingFonts = getMissingFonts(brand);\n\n if (missingFonts.length > 0 && !hasWarnedRef.current.has(brand)) {\n hasWarnedRef.current.add(brand);\n\n const fontsNeeded = BRAND_FONTS[brand].join(\", \");\n\n console.warn(\n `[Orion] Missing fonts for \"${brand}\" brand: ${missingFonts.join(\", \")}\\n\\n` +\n `The \"${brand}\" brand requires these fonts: ${fontsNeeded}\\n\\n` +\n `To fix this, add one of the following to your app:\\n\\n` +\n `Option 1: Use <FontLoader /> component (recommended)\\n` +\n ` import { FontLoader } from '@orion-ds/react';\\n` +\n ` <ThemeProvider>\\n` +\n ` <FontLoader />\\n` +\n ` <App />\\n` +\n ` </ThemeProvider>\\n\\n` +\n `Option 2: Add Google Fonts to your HTML <head>\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n` +\n ` <link href=\"${GOOGLE_FONTS_URL}\" rel=\"stylesheet\">\\n\\n` +\n `To disable this warning, set disableFontWarnings={true} on ThemeProvider.`,\n );\n }\n }, 1000);\n\n return () => clearTimeout(timeoutId);\n }, [themeState.brand, disableFontWarnings, themeState]);\n\n return (\n <ThemeContext.Provider value={themeState}>\n {!disableAutoFontLoading && <FontLoader />}\n {children}\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Hook to access global theme state\n *\n * ⚠️ IMPORTANT: Must be used inside a ThemeProvider\n *\n * @throws Error if used outside ThemeProvider\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const { theme, brand, setTheme, setBrand } = useTheme();\n * // Components automatically inherit theme/brand from <html> attributes\n * // DO NOT pass brand prop to components - it's applied globally!\n * }\n * ```\n */\nexport function useThemeContext(): UseThemeReturn {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\n \"❌ useTheme() must be used inside <ThemeProvider>\\n\\n\" +\n \"Solution:\\n\" +\n \"Wrap your app with ThemeProvider:\\n\\n\" +\n \"export default function App() {\\n\" +\n \" return (\\n\" +\n \" <ThemeProvider>\\n\" +\n \" <YourComponents />\\n\" +\n \" </ThemeProvider>\\n\" +\n \" );\\n\" +\n \"}\",\n );\n }\n\n return context;\n}\n"],"names":["ThemeContext","createContext","checkComponentStylesLoaded","ThemeProvider","children","defaultTheme","defaultBrand","options","disableFontWarnings","disableAutoFontLoading","disableCSSWarnings","mergedOptions","themeState","useThemeHook","hasWarnedRef","useRef","hasWarnedCSSRef","useEffect","timeoutId","brand","missingFonts","getMissingFonts","fontsNeeded","BRAND_FONTS","GOOGLE_FONTS_URL","jsxs","FontLoader","useThemeContext","context","useContext"],"mappings":"wNAsDMA,EAAeC,EAAAA,cAA0C,MAAS,EAMxE,SAASC,GAAsC,CAC7C,OAAI,OAAO,OAAW,IAAoB,GAE3B,iBAAiB,SAAS,eAAe,EAClC,iBAAiB,6BAA6B,EACtD,SAAW,GAC3B,CAyDO,SAASC,EAAc,CAC5B,SAAAC,EACA,aAAAC,EACA,aAAAC,EACA,QAAAC,EACA,oBAAAC,EAAsB,GACtB,uBAAAC,EAAyB,GACzB,mBAAAC,EAAqB,EACvB,EAAuB,CAErB,MAAMC,EAAiC,CACrC,GAAGJ,EACH,GAAIF,IAAiB,QAAa,CAAE,aAAAA,CAAA,EACpC,GAAIC,IAAiB,QAAa,CAAE,aAAAA,CAAA,CAAa,EAG7CM,EAAaC,EAAAA,SAAaF,CAAa,EACvCG,EAAeC,EAAAA,OAAoB,IAAI,GAAK,EAC5CC,EAAkBD,EAAAA,OAAO,EAAK,EAGpCE,OAAAA,EAAAA,UAAU,IAAM,CAQd,GAPIP,GAAsB,OAAO,OAAW,KAOxC,EAHF,QAAQ,IAAI,WAAa,eACzB,OAAO,SAAS,WAAa,aAEnB,OAGZ,MAAMQ,EAAY,WAAW,IAAM,CAC7B,CAACF,EAAgB,SAAW,CAACd,MAC/Bc,EAAgB,QAAU,GAE1B,QAAQ,KACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yEAAA,EASN,EAAG,GAAG,EAEN,MAAO,IAAM,aAAaE,CAAS,CACrC,EAAG,CAACR,CAAkB,CAAC,EAGvBO,EAAAA,UAAU,IAAM,CASd,GARIT,GAAuB,OAAO,OAAW,KAQzC,EAJF,QAAQ,IAAI,WAAa,eACxB,OAAO,OAAW,KACjB,OAAO,SAAS,WAAa,aAErB,OAGZ,MAAMU,EAAY,WAAW,IAAM,CACjC,KAAM,CAAE,MAAAC,GAAUP,EACZQ,EAAeC,EAAAA,gBAAgBF,CAAK,EAE1C,GAAIC,EAAa,OAAS,GAAK,CAACN,EAAa,QAAQ,IAAIK,CAAK,EAAG,CAC/DL,EAAa,QAAQ,IAAIK,CAAK,EAE9B,MAAMG,EAAcC,EAAAA,YAAYJ,CAAK,EAAE,KAAK,IAAI,EAEhD,QAAQ,KACN,8BAA8BA,CAAK,YAAYC,EAAa,KAAK,IAAI,CAAC;AAAA;AAAA,OAC5DD,CAAK,iCAAiCG,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAWxCE,kBAAgB;AAAA;AAAA,0EAAA,CAGvC,CACF,EAAG,GAAI,EAEP,MAAO,IAAM,aAAaN,CAAS,CACrC,EAAG,CAACN,EAAW,MAAOJ,EAAqBI,CAAU,CAAC,EAGpDa,EAAAA,KAACzB,EAAa,SAAb,CAAsB,MAAOY,EAC3B,SAAA,CAAA,CAACH,SAA2BiB,EAAAA,WAAA,EAAW,EACvCtB,CAAA,EACH,CAEJ,CAkBO,SAASuB,GAAkC,CAChD,MAAMC,EAAUC,EAAAA,WAAW7B,CAAY,EAEvC,GAAI4B,IAAY,OACd,MAAM,IAAI,MACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAaJ,OAAOA,CACT"}
|
|
1
|
+
{"version":3,"file":"index75.cjs","sources":["../src/contexts/ThemeContext.tsx"],"sourcesContent":["/**\n * Theme Context\n *\n * Provides global theme and brand state to all components.\n * This ensures consistent theming across the entire application.\n *\n * Fonts are loaded automatically by default. No need to add <FontLoader /> manually.\n *\n * @example\n * ```tsx\n * // App.tsx\n * import { ThemeProvider } from '@orion/react';\n *\n * export default function App() {\n * return (\n * <ThemeProvider>\n * <YourComponents />\n * </ThemeProvider>\n * );\n * }\n *\n * // Inside any component\n * import { useTheme } from '@orion/react';\n *\n * function MyComponent() {\n * const { theme, brand } = useTheme();\n * return <div>Current: {theme} / {brand}</div>;\n * }\n *\n * // To disable automatic font loading:\n * <ThemeProvider disableAutoFontLoading>\n * <YourComponents />\n * </ThemeProvider>\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useEffect,\n useRef,\n type ReactNode,\n} from \"react\";\nimport {\n useTheme as useThemeHook,\n type UseThemeOptions,\n type UseThemeReturn,\n} from \"../hooks/useTheme\";\nimport { getMissingFonts, GOOGLE_FONTS_URL, BRAND_FONTS } from \"../utils/fonts\";\nimport { FontLoader } from \"../components/FontLoader\";\n\n/**\n * Theme Context - provides theme and brand state globally\n */\nconst ThemeContext = createContext<UseThemeReturn | undefined>(undefined);\n\n/**\n * Check if component styles (react.css) are loaded\n * Uses a CSS custom property marker set in styles/marker.css\n */\nfunction checkComponentStylesLoaded(): boolean {\n if (typeof window === \"undefined\") return true;\n\n const styles = getComputedStyle(document.documentElement);\n const marker = styles.getPropertyValue(\"--orion-react-styles-loaded\");\n return marker.trim() === \"1\";\n}\n\n/**\n * Theme Provider Props\n */\nexport interface ThemeProviderProps {\n /**\n * Child components\n */\n children: ReactNode;\n\n /**\n * Default theme\n * @default 'light'\n */\n defaultTheme?: \"light\" | \"dark\";\n\n /**\n * Default brand\n * @default 'orion'\n */\n defaultBrand?: \"orion\" | \"red\" | \"deepblue\" | \"orange\" | \"lemon\";\n\n /**\n * Theme options (see useTheme for full options)\n * @deprecated Use flat props (defaultTheme, defaultBrand) instead.\n */\n options?: UseThemeOptions;\n\n /**\n * Disable font loading warnings in development\n * @default false\n */\n disableFontWarnings?: boolean;\n\n /**\n * Disable automatic font loading via FontLoader\n * When false (default), fonts are loaded automatically.\n * Set to true if you want to manage font loading manually.\n * @default false\n */\n disableAutoFontLoading?: boolean;\n\n /**\n * Disable CSS import warnings in development\n * When false (default), a warning is shown if react.css is not imported.\n * @default false\n */\n disableCSSWarnings?: boolean;\n}\n\n/**\n * ThemeProvider Component\n *\n * Wraps your application to provide global theme and brand state.\n * Must be placed near the root of your application.\n */\nexport function ThemeProvider({\n children,\n defaultTheme,\n defaultBrand,\n options,\n disableFontWarnings = false,\n disableAutoFontLoading = false,\n disableCSSWarnings = false,\n}: ThemeProviderProps) {\n // Merge flat props with options (flat props take precedence)\n const mergedOptions: UseThemeOptions = {\n ...options,\n ...(defaultTheme !== undefined && { defaultTheme }),\n ...(defaultBrand !== undefined && { defaultBrand }),\n };\n\n const themeState = useThemeHook(mergedOptions);\n const hasWarnedRef = useRef<Set<string>>(new Set());\n const hasWarnedCSSRef = useRef(false);\n\n // Check for missing component styles (react.css) in development\n useEffect(() => {\n if (disableCSSWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n window.location.hostname === \"localhost\";\n\n if (!isDev) return;\n\n // Check after a short delay to allow CSS to load\n const timeoutId = setTimeout(() => {\n if (!hasWarnedCSSRef.current && !checkComponentStylesLoaded()) {\n hasWarnedCSSRef.current = true;\n\n console.warn(\n `[Orion] Component styles not detected!\\n\\n` +\n `You must import the component CSS file:\\n\\n` +\n ` import '@orion-ds/react/styles.css'; // Single import includes all styles\\n\\n` +\n `Add this import in your app entry file. It includes both design tokens and component styles.\\n\\n` +\n `To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`,\n );\n }\n }, 100);\n\n return () => clearTimeout(timeoutId);\n }, [disableCSSWarnings]);\n\n // Check for missing fonts in development\n useEffect(() => {\n if (disableFontWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n (typeof window !== \"undefined\" &&\n window.location.hostname === \"localhost\");\n\n if (!isDev) return;\n\n // Wait a bit for fonts to potentially load\n const timeoutId = setTimeout(() => {\n const { brand } = themeState;\n const missingFonts = getMissingFonts(brand);\n\n if (missingFonts.length > 0 && !hasWarnedRef.current.has(brand)) {\n hasWarnedRef.current.add(brand);\n\n const fontsNeeded = BRAND_FONTS[brand].join(\", \");\n\n console.warn(\n `[Orion] Missing fonts for \"${brand}\" brand: ${missingFonts.join(\", \")}\\n\\n` +\n `The \"${brand}\" brand requires these fonts: ${fontsNeeded}\\n\\n` +\n `To fix this, add one of the following to your app:\\n\\n` +\n `Option 1: Use <FontLoader /> component (recommended)\\n` +\n ` import { FontLoader } from '@orion-ds/react';\\n` +\n ` <ThemeProvider>\\n` +\n ` <FontLoader />\\n` +\n ` <App />\\n` +\n ` </ThemeProvider>\\n\\n` +\n `Option 2: Add Google Fonts to your HTML <head>\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n` +\n ` <link href=\"${GOOGLE_FONTS_URL}\" rel=\"stylesheet\">\\n\\n` +\n `To disable this warning, set disableFontWarnings={true} on ThemeProvider.`,\n );\n }\n }, 1000);\n\n return () => clearTimeout(timeoutId);\n }, [themeState.brand, disableFontWarnings, themeState]);\n\n return (\n <ThemeContext.Provider value={themeState}>\n {!disableAutoFontLoading && <FontLoader />}\n {children}\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Hook to access global theme state\n *\n * ⚠️ IMPORTANT: Must be used inside a ThemeProvider\n *\n * @throws Error if used outside ThemeProvider\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const { theme, brand, setTheme, setBrand } = useTheme();\n * // Components automatically inherit theme/brand from <html> attributes\n * // DO NOT pass brand prop to components - it's applied globally!\n * }\n * ```\n */\nexport function useThemeContext(): UseThemeReturn {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\n \"❌ useTheme() must be used inside <ThemeProvider>\\n\\n\" +\n \"Solution:\\n\" +\n \"Wrap your app with ThemeProvider:\\n\\n\" +\n \"export default function App() {\\n\" +\n \" return (\\n\" +\n \" <ThemeProvider>\\n\" +\n \" <YourComponents />\\n\" +\n \" </ThemeProvider>\\n\" +\n \" );\\n\" +\n \"}\",\n );\n }\n\n return context;\n}\n"],"names":["ThemeContext","createContext","checkComponentStylesLoaded","ThemeProvider","children","defaultTheme","defaultBrand","options","disableFontWarnings","disableAutoFontLoading","disableCSSWarnings","mergedOptions","themeState","useThemeHook","hasWarnedRef","useRef","hasWarnedCSSRef","useEffect","timeoutId","brand","missingFonts","getMissingFonts","fontsNeeded","BRAND_FONTS","GOOGLE_FONTS_URL","jsxs","FontLoader","useThemeContext","context","useContext"],"mappings":"wNAsDMA,EAAeC,EAAAA,cAA0C,MAAS,EAMxE,SAASC,GAAsC,CAC7C,OAAI,OAAO,OAAW,IAAoB,GAE3B,iBAAiB,SAAS,eAAe,EAClC,iBAAiB,6BAA6B,EACtD,SAAW,GAC3B,CAyDO,SAASC,EAAc,CAC5B,SAAAC,EACA,aAAAC,EACA,aAAAC,EACA,QAAAC,EACA,oBAAAC,EAAsB,GACtB,uBAAAC,EAAyB,GACzB,mBAAAC,EAAqB,EACvB,EAAuB,CAErB,MAAMC,EAAiC,CACrC,GAAGJ,EACH,GAAIF,IAAiB,QAAa,CAAE,aAAAA,CAAA,EACpC,GAAIC,IAAiB,QAAa,CAAE,aAAAA,CAAA,CAAa,EAG7CM,EAAaC,EAAAA,SAAaF,CAAa,EACvCG,EAAeC,EAAAA,OAAoB,IAAI,GAAK,EAC5CC,EAAkBD,EAAAA,OAAO,EAAK,EAGpCE,OAAAA,EAAAA,UAAU,IAAM,CAQd,GAPIP,GAAsB,OAAO,OAAW,KAOxC,EAHF,QAAQ,IAAI,WAAa,eACzB,OAAO,SAAS,WAAa,aAEnB,OAGZ,MAAMQ,EAAY,WAAW,IAAM,CAC7B,CAACF,EAAgB,SAAW,CAACd,MAC/Bc,EAAgB,QAAU,GAE1B,QAAQ,KACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yEAAA,EAON,EAAG,GAAG,EAEN,MAAO,IAAM,aAAaE,CAAS,CACrC,EAAG,CAACR,CAAkB,CAAC,EAGvBO,EAAAA,UAAU,IAAM,CASd,GARIT,GAAuB,OAAO,OAAW,KAQzC,EAJF,QAAQ,IAAI,WAAa,eACxB,OAAO,OAAW,KACjB,OAAO,SAAS,WAAa,aAErB,OAGZ,MAAMU,EAAY,WAAW,IAAM,CACjC,KAAM,CAAE,MAAAC,GAAUP,EACZQ,EAAeC,EAAAA,gBAAgBF,CAAK,EAE1C,GAAIC,EAAa,OAAS,GAAK,CAACN,EAAa,QAAQ,IAAIK,CAAK,EAAG,CAC/DL,EAAa,QAAQ,IAAIK,CAAK,EAE9B,MAAMG,EAAcC,EAAAA,YAAYJ,CAAK,EAAE,KAAK,IAAI,EAEhD,QAAQ,KACN,8BAA8BA,CAAK,YAAYC,EAAa,KAAK,IAAI,CAAC;AAAA;AAAA,OAC5DD,CAAK,iCAAiCG,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAWxCE,kBAAgB;AAAA;AAAA,0EAAA,CAGvC,CACF,EAAG,GAAI,EAEP,MAAO,IAAM,aAAaN,CAAS,CACrC,EAAG,CAACN,EAAW,MAAOJ,EAAqBI,CAAU,CAAC,EAGpDa,EAAAA,KAACzB,EAAa,SAAb,CAAsB,MAAOY,EAC3B,SAAA,CAAA,CAACH,SAA2BiB,EAAAA,WAAA,EAAW,EACvCtB,CAAA,EACH,CAEJ,CAkBO,SAASuB,GAAkC,CAChD,MAAMC,EAAUC,EAAAA,WAAW7B,CAAY,EAEvC,GAAI4B,IAAY,OACd,MAAM,IAAI,MACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EAaJ,OAAOA,CACT"}
|
package/dist/index75.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useRef as a, useEffect as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import { getMissingFonts as
|
|
5
|
-
import { FontLoader as
|
|
6
|
-
const
|
|
1
|
+
import { jsxs as y, jsx as g } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as a, useEffect as l, useContext as S, createContext as O } from "react";
|
|
3
|
+
import { useTheme as P } from "./index94.mjs";
|
|
4
|
+
import { getMissingFonts as x, BRAND_FONTS as C, GOOGLE_FONTS_URL as F } from "./index4.mjs";
|
|
5
|
+
import { FontLoader as b } from "./index41.mjs";
|
|
6
|
+
const f = O(void 0);
|
|
7
7
|
function E() {
|
|
8
8
|
return typeof window > "u" ? !0 : getComputedStyle(document.documentElement).getPropertyValue("--orion-react-styles-loaded").trim() === "1";
|
|
9
9
|
}
|
|
@@ -11,17 +11,17 @@ function R({
|
|
|
11
11
|
children: o,
|
|
12
12
|
defaultTheme: n,
|
|
13
13
|
defaultBrand: s,
|
|
14
|
-
options:
|
|
14
|
+
options: p,
|
|
15
15
|
disableFontWarnings: i = !1,
|
|
16
16
|
disableAutoFontLoading: h = !1,
|
|
17
17
|
disableCSSWarnings: d = !1
|
|
18
18
|
}) {
|
|
19
19
|
const v = {
|
|
20
|
-
...
|
|
20
|
+
...p,
|
|
21
21
|
...n !== void 0 && { defaultTheme: n },
|
|
22
22
|
...s !== void 0 && { defaultBrand: s }
|
|
23
|
-
}, t =
|
|
24
|
-
return
|
|
23
|
+
}, t = P(v), c = a(/* @__PURE__ */ new Set()), m = a(!1);
|
|
24
|
+
return l(() => {
|
|
25
25
|
if (d || typeof window > "u" || !(process.env.NODE_ENV === "development" || window.location.hostname === "localhost")) return;
|
|
26
26
|
const r = setTimeout(() => {
|
|
27
27
|
!m.current && !E() && (m.current = !0, console.warn(
|
|
@@ -29,24 +29,21 @@ function R({
|
|
|
29
29
|
|
|
30
30
|
You must import the component CSS file:
|
|
31
31
|
|
|
32
|
-
import '@orion-ds/react/
|
|
32
|
+
import '@orion-ds/react/styles.css'; // Single import includes all styles
|
|
33
33
|
|
|
34
|
-
Add this import
|
|
35
|
-
|
|
36
|
-
import '@orion-ds/core/theme.css'; // Design tokens
|
|
37
|
-
import '@orion-ds/react/dist/react.css'; // Component styles
|
|
34
|
+
Add this import in your app entry file. It includes both design tokens and component styles.
|
|
38
35
|
|
|
39
36
|
To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`
|
|
40
37
|
));
|
|
41
38
|
}, 100);
|
|
42
39
|
return () => clearTimeout(r);
|
|
43
|
-
}, [d]),
|
|
40
|
+
}, [d]), l(() => {
|
|
44
41
|
if (i || typeof window > "u" || !(process.env.NODE_ENV === "development" || typeof window < "u" && window.location.hostname === "localhost")) return;
|
|
45
42
|
const r = setTimeout(() => {
|
|
46
|
-
const { brand: e } = t, u =
|
|
43
|
+
const { brand: e } = t, u = x(e);
|
|
47
44
|
if (u.length > 0 && !c.current.has(e)) {
|
|
48
45
|
c.current.add(e);
|
|
49
|
-
const w =
|
|
46
|
+
const w = C[e].join(", ");
|
|
50
47
|
console.warn(
|
|
51
48
|
`[Orion] Missing fonts for "${e}" brand: ${u.join(", ")}
|
|
52
49
|
|
|
@@ -71,13 +68,13 @@ To disable this warning, set disableFontWarnings={true} on ThemeProvider.`
|
|
|
71
68
|
}
|
|
72
69
|
}, 1e3);
|
|
73
70
|
return () => clearTimeout(r);
|
|
74
|
-
}, [t.brand, i, t]), /* @__PURE__ */
|
|
75
|
-
!h && /* @__PURE__ */
|
|
71
|
+
}, [t.brand, i, t]), /* @__PURE__ */ y(f.Provider, { value: t, children: [
|
|
72
|
+
!h && /* @__PURE__ */ g(b, {}),
|
|
76
73
|
o
|
|
77
74
|
] });
|
|
78
75
|
}
|
|
79
76
|
function _() {
|
|
80
|
-
const o = S(
|
|
77
|
+
const o = S(f);
|
|
81
78
|
if (o === void 0)
|
|
82
79
|
throw new Error(
|
|
83
80
|
`❌ useTheme() must be used inside <ThemeProvider>
|
package/dist/index75.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index75.mjs","sources":["../src/contexts/ThemeContext.tsx"],"sourcesContent":["/**\n * Theme Context\n *\n * Provides global theme and brand state to all components.\n * This ensures consistent theming across the entire application.\n *\n * Fonts are loaded automatically by default. No need to add <FontLoader /> manually.\n *\n * @example\n * ```tsx\n * // App.tsx\n * import { ThemeProvider } from '@orion/react';\n *\n * export default function App() {\n * return (\n * <ThemeProvider>\n * <YourComponents />\n * </ThemeProvider>\n * );\n * }\n *\n * // Inside any component\n * import { useTheme } from '@orion/react';\n *\n * function MyComponent() {\n * const { theme, brand } = useTheme();\n * return <div>Current: {theme} / {brand}</div>;\n * }\n *\n * // To disable automatic font loading:\n * <ThemeProvider disableAutoFontLoading>\n * <YourComponents />\n * </ThemeProvider>\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useEffect,\n useRef,\n type ReactNode,\n} from \"react\";\nimport {\n useTheme as useThemeHook,\n type UseThemeOptions,\n type UseThemeReturn,\n} from \"../hooks/useTheme\";\nimport { getMissingFonts, GOOGLE_FONTS_URL, BRAND_FONTS } from \"../utils/fonts\";\nimport { FontLoader } from \"../components/FontLoader\";\n\n/**\n * Theme Context - provides theme and brand state globally\n */\nconst ThemeContext = createContext<UseThemeReturn | undefined>(undefined);\n\n/**\n * Check if component styles (react.css) are loaded\n * Uses a CSS custom property marker set in styles/marker.css\n */\nfunction checkComponentStylesLoaded(): boolean {\n if (typeof window === \"undefined\") return true;\n\n const styles = getComputedStyle(document.documentElement);\n const marker = styles.getPropertyValue(\"--orion-react-styles-loaded\");\n return marker.trim() === \"1\";\n}\n\n/**\n * Theme Provider Props\n */\nexport interface ThemeProviderProps {\n /**\n * Child components\n */\n children: ReactNode;\n\n /**\n * Default theme\n * @default 'light'\n */\n defaultTheme?: \"light\" | \"dark\";\n\n /**\n * Default brand\n * @default 'orion'\n */\n defaultBrand?: \"orion\" | \"red\" | \"deepblue\" | \"orange\" | \"lemon\";\n\n /**\n * Theme options (see useTheme for full options)\n * @deprecated Use flat props (defaultTheme, defaultBrand) instead.\n */\n options?: UseThemeOptions;\n\n /**\n * Disable font loading warnings in development\n * @default false\n */\n disableFontWarnings?: boolean;\n\n /**\n * Disable automatic font loading via FontLoader\n * When false (default), fonts are loaded automatically.\n * Set to true if you want to manage font loading manually.\n * @default false\n */\n disableAutoFontLoading?: boolean;\n\n /**\n * Disable CSS import warnings in development\n * When false (default), a warning is shown if react.css is not imported.\n * @default false\n */\n disableCSSWarnings?: boolean;\n}\n\n/**\n * ThemeProvider Component\n *\n * Wraps your application to provide global theme and brand state.\n * Must be placed near the root of your application.\n */\nexport function ThemeProvider({\n children,\n defaultTheme,\n defaultBrand,\n options,\n disableFontWarnings = false,\n disableAutoFontLoading = false,\n disableCSSWarnings = false,\n}: ThemeProviderProps) {\n // Merge flat props with options (flat props take precedence)\n const mergedOptions: UseThemeOptions = {\n ...options,\n ...(defaultTheme !== undefined && { defaultTheme }),\n ...(defaultBrand !== undefined && { defaultBrand }),\n };\n\n const themeState = useThemeHook(mergedOptions);\n const hasWarnedRef = useRef<Set<string>>(new Set());\n const hasWarnedCSSRef = useRef(false);\n\n // Check for missing component styles (react.css) in development\n useEffect(() => {\n if (disableCSSWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n window.location.hostname === \"localhost\";\n\n if (!isDev) return;\n\n // Check after a short delay to allow CSS to load\n const timeoutId = setTimeout(() => {\n if (!hasWarnedCSSRef.current && !checkComponentStylesLoaded()) {\n hasWarnedCSSRef.current = true;\n\n console.warn(\n `[Orion] Component styles not detected!\\n\\n` +\n `You must import the component CSS file:\\n\\n` +\n ` import '@orion-ds/react/dist/react.css';\\n\\n` +\n `Add this import alongside the theme CSS in your app entry file:\\n\\n` +\n ` import '@orion-ds/core/theme.css'; // Design tokens\\n` +\n ` import '@orion-ds/react/dist/react.css'; // Component styles\\n\\n` +\n `To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`,\n );\n }\n }, 100);\n\n return () => clearTimeout(timeoutId);\n }, [disableCSSWarnings]);\n\n // Check for missing fonts in development\n useEffect(() => {\n if (disableFontWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n (typeof window !== \"undefined\" &&\n window.location.hostname === \"localhost\");\n\n if (!isDev) return;\n\n // Wait a bit for fonts to potentially load\n const timeoutId = setTimeout(() => {\n const { brand } = themeState;\n const missingFonts = getMissingFonts(brand);\n\n if (missingFonts.length > 0 && !hasWarnedRef.current.has(brand)) {\n hasWarnedRef.current.add(brand);\n\n const fontsNeeded = BRAND_FONTS[brand].join(\", \");\n\n console.warn(\n `[Orion] Missing fonts for \"${brand}\" brand: ${missingFonts.join(\", \")}\\n\\n` +\n `The \"${brand}\" brand requires these fonts: ${fontsNeeded}\\n\\n` +\n `To fix this, add one of the following to your app:\\n\\n` +\n `Option 1: Use <FontLoader /> component (recommended)\\n` +\n ` import { FontLoader } from '@orion-ds/react';\\n` +\n ` <ThemeProvider>\\n` +\n ` <FontLoader />\\n` +\n ` <App />\\n` +\n ` </ThemeProvider>\\n\\n` +\n `Option 2: Add Google Fonts to your HTML <head>\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n` +\n ` <link href=\"${GOOGLE_FONTS_URL}\" rel=\"stylesheet\">\\n\\n` +\n `To disable this warning, set disableFontWarnings={true} on ThemeProvider.`,\n );\n }\n }, 1000);\n\n return () => clearTimeout(timeoutId);\n }, [themeState.brand, disableFontWarnings, themeState]);\n\n return (\n <ThemeContext.Provider value={themeState}>\n {!disableAutoFontLoading && <FontLoader />}\n {children}\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Hook to access global theme state\n *\n * ⚠️ IMPORTANT: Must be used inside a ThemeProvider\n *\n * @throws Error if used outside ThemeProvider\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const { theme, brand, setTheme, setBrand } = useTheme();\n * // Components automatically inherit theme/brand from <html> attributes\n * // DO NOT pass brand prop to components - it's applied globally!\n * }\n * ```\n */\nexport function useThemeContext(): UseThemeReturn {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\n \"❌ useTheme() must be used inside <ThemeProvider>\\n\\n\" +\n \"Solution:\\n\" +\n \"Wrap your app with ThemeProvider:\\n\\n\" +\n \"export default function App() {\\n\" +\n \" return (\\n\" +\n \" <ThemeProvider>\\n\" +\n \" <YourComponents />\\n\" +\n \" </ThemeProvider>\\n\" +\n \" );\\n\" +\n \"}\",\n );\n }\n\n return context;\n}\n"],"names":["ThemeContext","createContext","checkComponentStylesLoaded","ThemeProvider","children","defaultTheme","defaultBrand","options","disableFontWarnings","disableAutoFontLoading","disableCSSWarnings","mergedOptions","themeState","useThemeHook","hasWarnedRef","useRef","hasWarnedCSSRef","useEffect","timeoutId","brand","missingFonts","getMissingFonts","fontsNeeded","BRAND_FONTS","GOOGLE_FONTS_URL","jsxs","FontLoader","useThemeContext","context","useContext"],"mappings":";;;;;AAsDA,MAAMA,IAAeC,EAA0C,MAAS;AAMxE,SAASC,IAAsC;AAC7C,SAAI,OAAO,SAAW,MAAoB,KAE3B,iBAAiB,SAAS,eAAe,EAClC,iBAAiB,6BAA6B,EACtD,WAAW;AAC3B;AAyDO,SAASC,EAAc;AAAA,EAC5B,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,wBAAAC,IAAyB;AAAA,EACzB,oBAAAC,IAAqB;AACvB,GAAuB;AAErB,QAAMC,IAAiC;AAAA,IACrC,GAAGJ;AAAA,IACH,GAAIF,MAAiB,UAAa,EAAE,cAAAA,EAAA;AAAA,IACpC,GAAIC,MAAiB,UAAa,EAAE,cAAAA,EAAA;AAAA,EAAa,GAG7CM,IAAaC,EAAaF,CAAa,GACvCG,IAAeC,EAAoB,oBAAI,KAAK,GAC5CC,IAAkBD,EAAO,EAAK;AAGpC,SAAAE,EAAU,MAAM;AAQd,QAPIP,KAAsB,OAAO,SAAW,OAOxC,EAHF,QAAQ,IAAI,aAAa,iBACzB,OAAO,SAAS,aAAa,aAEnB;AAGZ,UAAMQ,IAAY,WAAW,MAAM;AACjC,MAAI,CAACF,EAAgB,WAAW,CAACd,QAC/Bc,EAAgB,UAAU,IAE1B,QAAQ;AAAA,QACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IASN,GAAG,GAAG;AAEN,WAAO,MAAM,aAAaE,CAAS;AAAA,EACrC,GAAG,CAACR,CAAkB,CAAC,GAGvBO,EAAU,MAAM;AASd,QARIT,KAAuB,OAAO,SAAW,OAQzC,EAJF,QAAQ,IAAI,aAAa,iBACxB,OAAO,SAAW,OACjB,OAAO,SAAS,aAAa,aAErB;AAGZ,UAAMU,IAAY,WAAW,MAAM;AACjC,YAAM,EAAE,OAAAC,MAAUP,GACZQ,IAAeC,EAAgBF,CAAK;AAE1C,UAAIC,EAAa,SAAS,KAAK,CAACN,EAAa,QAAQ,IAAIK,CAAK,GAAG;AAC/D,QAAAL,EAAa,QAAQ,IAAIK,CAAK;AAE9B,cAAMG,IAAcC,EAAYJ,CAAK,EAAE,KAAK,IAAI;AAEhD,gBAAQ;AAAA,UACN,8BAA8BA,CAAK,YAAYC,EAAa,KAAK,IAAI,CAAC;AAAA;AAAA,OAC5DD,CAAK,iCAAiCG,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAWxCE,CAAgB;AAAA;AAAA;AAAA,QAAA;AAAA,MAGvC;AAAA,IACF,GAAG,GAAI;AAEP,WAAO,MAAM,aAAaN,CAAS;AAAA,EACrC,GAAG,CAACN,EAAW,OAAOJ,GAAqBI,CAAU,CAAC,GAGpD,gBAAAa,EAACzB,EAAa,UAAb,EAAsB,OAAOY,GAC3B,UAAA;AAAA,IAAA,CAACH,uBAA2BiB,GAAA,EAAW;AAAA,IACvCtB;AAAA,EAAA,GACH;AAEJ;AAkBO,SAASuB,IAAkC;AAChD,QAAMC,IAAUC,EAAW7B,CAAY;AAEvC,MAAI4B,MAAY;AACd,UAAM,IAAI;AAAA,MACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAaJ,SAAOA;AACT;"}
|
|
1
|
+
{"version":3,"file":"index75.mjs","sources":["../src/contexts/ThemeContext.tsx"],"sourcesContent":["/**\n * Theme Context\n *\n * Provides global theme and brand state to all components.\n * This ensures consistent theming across the entire application.\n *\n * Fonts are loaded automatically by default. No need to add <FontLoader /> manually.\n *\n * @example\n * ```tsx\n * // App.tsx\n * import { ThemeProvider } from '@orion/react';\n *\n * export default function App() {\n * return (\n * <ThemeProvider>\n * <YourComponents />\n * </ThemeProvider>\n * );\n * }\n *\n * // Inside any component\n * import { useTheme } from '@orion/react';\n *\n * function MyComponent() {\n * const { theme, brand } = useTheme();\n * return <div>Current: {theme} / {brand}</div>;\n * }\n *\n * // To disable automatic font loading:\n * <ThemeProvider disableAutoFontLoading>\n * <YourComponents />\n * </ThemeProvider>\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useEffect,\n useRef,\n type ReactNode,\n} from \"react\";\nimport {\n useTheme as useThemeHook,\n type UseThemeOptions,\n type UseThemeReturn,\n} from \"../hooks/useTheme\";\nimport { getMissingFonts, GOOGLE_FONTS_URL, BRAND_FONTS } from \"../utils/fonts\";\nimport { FontLoader } from \"../components/FontLoader\";\n\n/**\n * Theme Context - provides theme and brand state globally\n */\nconst ThemeContext = createContext<UseThemeReturn | undefined>(undefined);\n\n/**\n * Check if component styles (react.css) are loaded\n * Uses a CSS custom property marker set in styles/marker.css\n */\nfunction checkComponentStylesLoaded(): boolean {\n if (typeof window === \"undefined\") return true;\n\n const styles = getComputedStyle(document.documentElement);\n const marker = styles.getPropertyValue(\"--orion-react-styles-loaded\");\n return marker.trim() === \"1\";\n}\n\n/**\n * Theme Provider Props\n */\nexport interface ThemeProviderProps {\n /**\n * Child components\n */\n children: ReactNode;\n\n /**\n * Default theme\n * @default 'light'\n */\n defaultTheme?: \"light\" | \"dark\";\n\n /**\n * Default brand\n * @default 'orion'\n */\n defaultBrand?: \"orion\" | \"red\" | \"deepblue\" | \"orange\" | \"lemon\";\n\n /**\n * Theme options (see useTheme for full options)\n * @deprecated Use flat props (defaultTheme, defaultBrand) instead.\n */\n options?: UseThemeOptions;\n\n /**\n * Disable font loading warnings in development\n * @default false\n */\n disableFontWarnings?: boolean;\n\n /**\n * Disable automatic font loading via FontLoader\n * When false (default), fonts are loaded automatically.\n * Set to true if you want to manage font loading manually.\n * @default false\n */\n disableAutoFontLoading?: boolean;\n\n /**\n * Disable CSS import warnings in development\n * When false (default), a warning is shown if react.css is not imported.\n * @default false\n */\n disableCSSWarnings?: boolean;\n}\n\n/**\n * ThemeProvider Component\n *\n * Wraps your application to provide global theme and brand state.\n * Must be placed near the root of your application.\n */\nexport function ThemeProvider({\n children,\n defaultTheme,\n defaultBrand,\n options,\n disableFontWarnings = false,\n disableAutoFontLoading = false,\n disableCSSWarnings = false,\n}: ThemeProviderProps) {\n // Merge flat props with options (flat props take precedence)\n const mergedOptions: UseThemeOptions = {\n ...options,\n ...(defaultTheme !== undefined && { defaultTheme }),\n ...(defaultBrand !== undefined && { defaultBrand }),\n };\n\n const themeState = useThemeHook(mergedOptions);\n const hasWarnedRef = useRef<Set<string>>(new Set());\n const hasWarnedCSSRef = useRef(false);\n\n // Check for missing component styles (react.css) in development\n useEffect(() => {\n if (disableCSSWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n window.location.hostname === \"localhost\";\n\n if (!isDev) return;\n\n // Check after a short delay to allow CSS to load\n const timeoutId = setTimeout(() => {\n if (!hasWarnedCSSRef.current && !checkComponentStylesLoaded()) {\n hasWarnedCSSRef.current = true;\n\n console.warn(\n `[Orion] Component styles not detected!\\n\\n` +\n `You must import the component CSS file:\\n\\n` +\n ` import '@orion-ds/react/styles.css'; // Single import includes all styles\\n\\n` +\n `Add this import in your app entry file. It includes both design tokens and component styles.\\n\\n` +\n `To disable this warning, set disableCSSWarnings={true} on ThemeProvider.`,\n );\n }\n }, 100);\n\n return () => clearTimeout(timeoutId);\n }, [disableCSSWarnings]);\n\n // Check for missing fonts in development\n useEffect(() => {\n if (disableFontWarnings || typeof window === \"undefined\") return;\n\n // Only warn in development\n const isDev =\n process.env.NODE_ENV === \"development\" ||\n (typeof window !== \"undefined\" &&\n window.location.hostname === \"localhost\");\n\n if (!isDev) return;\n\n // Wait a bit for fonts to potentially load\n const timeoutId = setTimeout(() => {\n const { brand } = themeState;\n const missingFonts = getMissingFonts(brand);\n\n if (missingFonts.length > 0 && !hasWarnedRef.current.has(brand)) {\n hasWarnedRef.current.add(brand);\n\n const fontsNeeded = BRAND_FONTS[brand].join(\", \");\n\n console.warn(\n `[Orion] Missing fonts for \"${brand}\" brand: ${missingFonts.join(\", \")}\\n\\n` +\n `The \"${brand}\" brand requires these fonts: ${fontsNeeded}\\n\\n` +\n `To fix this, add one of the following to your app:\\n\\n` +\n `Option 1: Use <FontLoader /> component (recommended)\\n` +\n ` import { FontLoader } from '@orion-ds/react';\\n` +\n ` <ThemeProvider>\\n` +\n ` <FontLoader />\\n` +\n ` <App />\\n` +\n ` </ThemeProvider>\\n\\n` +\n `Option 2: Add Google Fonts to your HTML <head>\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\\n` +\n ` <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\\n` +\n ` <link href=\"${GOOGLE_FONTS_URL}\" rel=\"stylesheet\">\\n\\n` +\n `To disable this warning, set disableFontWarnings={true} on ThemeProvider.`,\n );\n }\n }, 1000);\n\n return () => clearTimeout(timeoutId);\n }, [themeState.brand, disableFontWarnings, themeState]);\n\n return (\n <ThemeContext.Provider value={themeState}>\n {!disableAutoFontLoading && <FontLoader />}\n {children}\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Hook to access global theme state\n *\n * ⚠️ IMPORTANT: Must be used inside a ThemeProvider\n *\n * @throws Error if used outside ThemeProvider\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const { theme, brand, setTheme, setBrand } = useTheme();\n * // Components automatically inherit theme/brand from <html> attributes\n * // DO NOT pass brand prop to components - it's applied globally!\n * }\n * ```\n */\nexport function useThemeContext(): UseThemeReturn {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\n \"❌ useTheme() must be used inside <ThemeProvider>\\n\\n\" +\n \"Solution:\\n\" +\n \"Wrap your app with ThemeProvider:\\n\\n\" +\n \"export default function App() {\\n\" +\n \" return (\\n\" +\n \" <ThemeProvider>\\n\" +\n \" <YourComponents />\\n\" +\n \" </ThemeProvider>\\n\" +\n \" );\\n\" +\n \"}\",\n );\n }\n\n return context;\n}\n"],"names":["ThemeContext","createContext","checkComponentStylesLoaded","ThemeProvider","children","defaultTheme","defaultBrand","options","disableFontWarnings","disableAutoFontLoading","disableCSSWarnings","mergedOptions","themeState","useThemeHook","hasWarnedRef","useRef","hasWarnedCSSRef","useEffect","timeoutId","brand","missingFonts","getMissingFonts","fontsNeeded","BRAND_FONTS","GOOGLE_FONTS_URL","jsxs","FontLoader","useThemeContext","context","useContext"],"mappings":";;;;;AAsDA,MAAMA,IAAeC,EAA0C,MAAS;AAMxE,SAASC,IAAsC;AAC7C,SAAI,OAAO,SAAW,MAAoB,KAE3B,iBAAiB,SAAS,eAAe,EAClC,iBAAiB,6BAA6B,EACtD,WAAW;AAC3B;AAyDO,SAASC,EAAc;AAAA,EAC5B,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,wBAAAC,IAAyB;AAAA,EACzB,oBAAAC,IAAqB;AACvB,GAAuB;AAErB,QAAMC,IAAiC;AAAA,IACrC,GAAGJ;AAAA,IACH,GAAIF,MAAiB,UAAa,EAAE,cAAAA,EAAA;AAAA,IACpC,GAAIC,MAAiB,UAAa,EAAE,cAAAA,EAAA;AAAA,EAAa,GAG7CM,IAAaC,EAAaF,CAAa,GACvCG,IAAeC,EAAoB,oBAAI,KAAK,GAC5CC,IAAkBD,EAAO,EAAK;AAGpC,SAAAE,EAAU,MAAM;AAQd,QAPIP,KAAsB,OAAO,SAAW,OAOxC,EAHF,QAAQ,IAAI,aAAa,iBACzB,OAAO,SAAS,aAAa,aAEnB;AAGZ,UAAMQ,IAAY,WAAW,MAAM;AACjC,MAAI,CAACF,EAAgB,WAAW,CAACd,QAC/Bc,EAAgB,UAAU,IAE1B,QAAQ;AAAA,QACN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAON,GAAG,GAAG;AAEN,WAAO,MAAM,aAAaE,CAAS;AAAA,EACrC,GAAG,CAACR,CAAkB,CAAC,GAGvBO,EAAU,MAAM;AASd,QARIT,KAAuB,OAAO,SAAW,OAQzC,EAJF,QAAQ,IAAI,aAAa,iBACxB,OAAO,SAAW,OACjB,OAAO,SAAS,aAAa,aAErB;AAGZ,UAAMU,IAAY,WAAW,MAAM;AACjC,YAAM,EAAE,OAAAC,MAAUP,GACZQ,IAAeC,EAAgBF,CAAK;AAE1C,UAAIC,EAAa,SAAS,KAAK,CAACN,EAAa,QAAQ,IAAIK,CAAK,GAAG;AAC/D,QAAAL,EAAa,QAAQ,IAAIK,CAAK;AAE9B,cAAMG,IAAcC,EAAYJ,CAAK,EAAE,KAAK,IAAI;AAEhD,gBAAQ;AAAA,UACN,8BAA8BA,CAAK,YAAYC,EAAa,KAAK,IAAI,CAAC;AAAA;AAAA,OAC5DD,CAAK,iCAAiCG,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAWxCE,CAAgB;AAAA;AAAA;AAAA,QAAA;AAAA,MAGvC;AAAA,IACF,GAAG,GAAI;AAEP,WAAO,MAAM,aAAaN,CAAS;AAAA,EACrC,GAAG,CAACN,EAAW,OAAOJ,GAAqBI,CAAU,CAAC,GAGpD,gBAAAa,EAACzB,EAAa,UAAb,EAAsB,OAAOY,GAC3B,UAAA;AAAA,IAAA,CAACH,uBAA2BiB,GAAA,EAAW;AAAA,IACvCtB;AAAA,EAAA,GACH;AAEJ;AAkBO,SAASuB,IAAkC;AAChD,QAAMC,IAAUC,EAAW7B,CAAY;AAEvC,MAAI4B,MAAY;AACd,UAAM,IAAI;AAAA,MACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAaJ,SAAOA;AACT;"}
|
package/dist/index76.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),L=require("react-dom"),o=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),L=require("react-dom"),o=require("./index102.cjs");let M=0;const N=()=>`toast-${++M}`,m=r.createContext(null),y=()=>{const e=r.useContext(m);if(!e)throw new Error("useToast must be used within a ToastProvider");return e},B=({toast:e,onDismiss:u})=>{const[l,d]=r.useState(!1),a=r.useRef(null),c=r.useCallback(()=>{d(!0),setTimeout(()=>{u(e.id),e.onDismiss?.()},200)},[e,u]);r.useEffect(()=>{if(e.duration&&e.duration>0)return a.current=setTimeout(c,e.duration),()=>{a.current&&clearTimeout(a.current)}},[e.duration,c]);const i=()=>{a.current&&clearTimeout(a.current)},h=()=>{e.duration&&e.duration>0&&(a.current=setTimeout(c,e.duration))},f=[o.default.toast,o.default[e.variant||"info"],l&&o.default.exiting].filter(Boolean).join(" "),k=()=>{switch(e.variant){case"success":return t.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:t.jsx("path",{d:"M16.667 5L7.5 14.167 3.333 10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})});case"error":return t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[t.jsx("circle",{cx:"10",cy:"10",r:"7.5",stroke:"currentColor",strokeWidth:"1.5"}),t.jsx("path",{d:"M10 6v5M10 13.5v.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]});case"warning":return t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[t.jsx("path",{d:"M8.57 3.216L1.538 15.143a1.667 1.667 0 001.429 2.524h14.066a1.667 1.667 0 001.429-2.524L11.43 3.216a1.667 1.667 0 00-2.858 0z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M10 7.5v3.333M10 14.167h.008",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]});default:return t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[t.jsx("circle",{cx:"10",cy:"10",r:"7.5",stroke:"currentColor",strokeWidth:"1.5"}),t.jsx("path",{d:"M10 9v4.5M10 6.5v.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}};return t.jsxs("div",{className:f,role:"alert","aria-live":"polite",onMouseEnter:i,onMouseLeave:h,children:[t.jsx("span",{className:o.default.icon,"aria-hidden":"true",children:k()}),t.jsxs("div",{className:o.default.content,children:[e.title&&t.jsx("div",{className:o.default.title,children:e.title}),t.jsx("div",{className:o.default.message,children:e.message})]}),e.action&&t.jsx("button",{type:"button",className:o.default.action,onClick:()=>{e.action?.onClick(),c()},children:e.action.label}),e.dismissible!==!1&&t.jsx("button",{type:"button",className:o.default.closeButton,onClick:c,"aria-label":"Dismiss",children:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:t.jsx("path",{d:"M12 4L4 12M4 4l8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})},j=({children:e,position:u="bottom-right",maxToasts:l=5,defaultDuration:d=5e3})=>{const[a,c]=r.useState([]),i=r.useCallback(s=>{const n=N(),v={id:n,duration:d,dismissible:!0,variant:"info",...s};return c(T=>{const x=[...T,v];return x.length>l?x.slice(-l):x}),n},[d,l]),h=r.useCallback(s=>{c(n=>n.filter(v=>v.id!==s))},[]),f=r.useCallback(()=>{c([])},[]),k=r.useCallback((s,n)=>i({message:s,variant:"info",...n}),[i]),g=r.useCallback((s,n)=>i({message:s,variant:"success",...n}),[i]),C=r.useCallback((s,n)=>i({message:s,variant:"warning",...n}),[i]),b=r.useCallback((s,n)=>i({message:s,variant:"error",...n}),[i]),p={toast:i,info:k,success:g,warning:C,error:b,dismiss:h,dismissAll:f},w=[o.default.container,o.default[u]].filter(Boolean).join(" ");return t.jsxs(m.Provider,{value:p,children:[e,a.length>0&&L.createPortal(t.jsx("div",{className:w,"aria-label":"Notifications",children:a.map(s=>t.jsx(B,{toast:s,onDismiss:h},s.id))}),document.body)]})};j.displayName="ToastProvider";exports.ToastProvider=j;exports.useToast=y;
|
|
2
2
|
//# sourceMappingURL=index76.cjs.map
|
package/dist/index76.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { useState as g, useCallback as a, useContext as N, createContext as j, useRef as B, useEffect as W } from "react";
|
|
3
3
|
import { createPortal as y } from "react-dom";
|
|
4
|
-
import o from "./
|
|
4
|
+
import o from "./index102.mjs";
|
|
5
5
|
let E = 0;
|
|
6
6
|
const P = () => `toast-${++E}`, w = j(null), $ = () => {
|
|
7
7
|
const e = N(w);
|
package/dist/index77.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react/jsx-runtime"),l=require("react"),t=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react/jsx-runtime"),l=require("react"),t=require("./index160.cjs"),u=l.forwardRef(({pressed:o,defaultPressed:c=!1,onPressedChange:a,variant:d="default",size:i="md",disabled:f,className:g,children:m,onClick:n,...b},T)=>{const[j,p]=l.useState(c),s=o!==void 0,e=s?o:j,y=l.useCallback(x=>{const r=!e;s||p(r),a?.(r),n?.(x)},[e,s,a,n]),q=[t.default.toggle,t.default[d],t.default[i],e&&t.default.pressed,g].filter(Boolean).join(" ");return N.jsx("button",{ref:T,type:"button",className:q,"aria-pressed":e,disabled:f,onClick:y,...b,children:m})});u.displayName="Toggle";exports.Toggle=u;
|
|
2
2
|
//# sourceMappingURL=index77.cjs.map
|
package/dist/index77.mjs
CHANGED
package/dist/index78.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react/jsx-runtime"),n=require("react"),a=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react/jsx-runtime"),n=require("react"),a=require("./index144.cjs"),j=n.createContext(null);function q(){const t=n.useContext(j);if(!t)throw new Error("ToggleGroup.Item must be used within a ToggleGroup");return t}const A=n.forwardRef(({value:t,disabled:c,className:y,children:g,...d},f)=>{const{type:I,value:b,onItemToggle:x,variant:h,size:s,disabled:p}=q(),m=b.includes(t),T=c||p,u=[a.default.item,m&&a.default.itemPressed,y].filter(Boolean).join(" ");return G.jsx("button",{ref:f,type:"button",className:u,"aria-pressed":m,disabled:T,onClick:()=>x(t),...d,children:g})});A.displayName="ToggleGroup.Item";const R=n.forwardRef(({type:t,value:c,defaultValue:y,onValueChange:g,variant:d="default",size:f="md",disabled:I=!1,className:b,children:x,...h},s)=>{const p=e=>e===void 0?[]:Array.isArray(e)?e:[e],[m,T]=n.useState(p(y)),u=c!==void 0,i=u?p(c):m,k=n.useRef(null),C=n.useCallback(e=>{let o;i.includes(e)?o=i.filter(r=>r!==e):t==="multiple"?o=[...i,e]:o=[e],u||T(o),g?.(t==="single"?o[0]??"":o)},[i,t,u,g]),v=n.useCallback(e=>{const o=k.current;if(!o)return;const r=Array.from(o.querySelectorAll("button:not(:disabled)")),w=r.indexOf(e.target);if(w===-1)return;let l;e.key==="ArrowRight"||e.key==="ArrowDown"?l=(w+1)%r.length:e.key==="ArrowLeft"||e.key==="ArrowUp"?l=(w-1+r.length)%r.length:e.key==="Home"?l=0:e.key==="End"&&(l=r.length-1),l!==void 0&&(e.preventDefault(),r[l]?.focus())},[]),D=[a.default.group,a.default[d],a.default[f],b].filter(Boolean).join(" "),N={type:t,value:i,onItemToggle:C,variant:d,size:f,disabled:I};return G.jsx(j.Provider,{value:N,children:G.jsx("div",{ref:e=>{k.current=e,typeof s=="function"?s(e):s&&(s.current=e)},role:"group",className:D,onKeyDown:v,...h,children:x})})});R.displayName="ToggleGroup";const P=Object.assign(R,{Item:A});exports.ToggleGroup=P;
|
|
2
2
|
//# sourceMappingURL=index78.cjs.map
|