@charcoal-ui/react 6.0.0-rc.4 → 6.0.0-rc.6
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/_lib/useIsomorphicLayoutEffect.d.ts +6 -0
- package/dist/_lib/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/components/Carousel/index.d.ts +2 -6
- package/dist/components/Carousel/index.d.ts.map +1 -1
- package/dist/components/Carousel/useCarouselScroller.d.ts.map +1 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/useTransitionPresence.d.ts +19 -0
- package/dist/components/Modal/useTransitionPresence.d.ts.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +124 -49
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/layered.css +124 -49
- package/dist/layered.css.map +1 -1
- package/package.json +5 -6
- package/src/__tests__/token-v1-compat.test.ts +0 -1
- package/src/_lib/useIsomorphicLayoutEffect.ts +7 -0
- package/src/components/Carousel/MIGRATION.md +39 -39
- package/src/components/Carousel/__snapshots__/index.css.snap +63 -39
- package/src/components/Carousel/index.browser.test.tsx +102 -0
- package/src/components/Carousel/index.css +68 -46
- package/src/components/Carousel/index.story.tsx +87 -68
- package/src/components/Carousel/index.test.tsx +120 -47
- package/src/components/Carousel/index.tsx +30 -14
- package/src/components/Carousel/useCarouselScroller.ts +8 -12
- package/src/components/FieldLabel/__snapshots__/index.css.snap +1 -1
- package/src/components/FieldLabel/index.css +1 -1
- package/src/components/IconButton/__snapshots__/index.css.snap +1 -1
- package/src/components/IconButton/index.css +1 -1
- package/src/components/Modal/__snapshots__/index.css.snap +32 -1
- package/src/components/Modal/index.css +34 -0
- package/src/components/Modal/index.test.tsx +200 -0
- package/src/components/Modal/index.tsx +48 -78
- package/src/components/Modal/useTransitionPresence.ts +95 -0
- package/src/index.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../src/_lib/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAA;AAElD;;GAEG;AACH,eAAO,MAAM,yBAAyB,kBACuB,CAAA"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
import { type ReactNode } from 'react';
|
|
3
|
-
export type CarouselItem = {
|
|
4
|
-
id: string;
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
};
|
|
7
3
|
export type ScrollAlign = 'left' | 'center' | 'right';
|
|
8
4
|
export type ScrollSnapType = 'none' | 'proximity' | 'mandatory';
|
|
9
5
|
export type ScrollSnapAlign = 'center' | 'start';
|
|
@@ -37,7 +33,7 @@ export type CarouselProps = Readonly<{
|
|
|
37
33
|
align?: ScrollAlign;
|
|
38
34
|
offset?: number;
|
|
39
35
|
};
|
|
40
|
-
|
|
36
|
+
children: ReactNode;
|
|
41
37
|
}>;
|
|
42
38
|
declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Readonly<{
|
|
43
39
|
className?: string;
|
|
@@ -55,7 +51,7 @@ declare const _default: import("react").MemoExoticComponent<import("react").Forw
|
|
|
55
51
|
align?: ScrollAlign;
|
|
56
52
|
offset?: number;
|
|
57
53
|
};
|
|
58
|
-
|
|
54
|
+
children: ReactNode;
|
|
59
55
|
}> & import("react").RefAttributes<CarouselHandlerRef>>>;
|
|
60
56
|
export default _default;
|
|
61
57
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Carousel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Carousel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAUL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAcd,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAA;AAE/D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEhD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB,CAAC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,CAAC,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAC,CAAA;AAGtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAEhB,UAAU,CAAC,EAAE,UAAU,CAAA;IAGvB,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAClD,aAAa,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAExD,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAC,CAAA;;gBAlBY,MAAM;kBACJ,OAAO;gBACT,OAAO;wBACC,OAAO;gBACf,OAAO;WACZ,GAAG,GAAG,GAAG;iBAEH,UAAU;iBAGV,UAAU;eAEZ,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;eACtB,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;0BACZ,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;oBAClC;QAAE,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;cAE9C,SAAS;;AA+NrB,wBAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCarouselScroller.d.ts","sourceRoot":"","sources":["../../../src/components/Carousel/useCarouselScroller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useCarouselScroller.d.ts","sourceRoot":"","sources":["../../../src/components/Carousel/useCarouselScroller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAItD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACnD,CAAC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAClD,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAC,CAAA;AAEF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC1C,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,CA8HxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAmB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG3D,OAAO,EACL,yBAAyB,EAG1B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AAC1C,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAElC,MAAM,MAAM,UAAU,GAAG,yBAAyB,GAChD,eAAe,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;OAGG;IACH,eAAe,CAAC,EAAE,WAAW,CAAA;CAC9B,CAAA;;;;cAfW,KAAK,CAAC,SAAS;aAChB,MAAM;WACR,MAAM;WACN,IAAI;kBACG,WAAW;YACjB,OAAO;aACN,MAAM,IAAI;gBACP,MAAM;2BACK,MAAM;IAE7B;;;OAGG;sBACe,WAAW;;AA+HjC,wBAA0B;AAE1B,eAAO,MAAM,YAAY;IACvB;;OAEG;gBACS,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;WACtC,MAAM;YACL,MAAM,IAAI;iBACL,OAAO;iBACP,WAAW;EAOxB,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,2CAUpE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,kDAYrE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RefObject, TransitionEvent } from 'react';
|
|
2
|
+
export declare const MODAL_TRANSITION_DURATION_MS = 400;
|
|
3
|
+
type AnimationState = 'exited' | 'entering' | 'entered' | 'exiting';
|
|
4
|
+
/**
|
|
5
|
+
* CSS transition によるモーダルの開閉アニメーションを管理する。
|
|
6
|
+
* exit アニメーションが終わるまで DOM をマウントしたままにする
|
|
7
|
+
*
|
|
8
|
+
* @param isOpen モーダルを開くべきか
|
|
9
|
+
* @param enabled アニメーションを行うか(false なら即座にマウント・アンマウント)
|
|
10
|
+
* @param backgroundRef 背景要素。マウント直後の layout flush に使う
|
|
11
|
+
* @param dialogRef transform をアニメーションさせる要素(ダイアログ)
|
|
12
|
+
*/
|
|
13
|
+
export declare function useTransitionPresence(isOpen: boolean, enabled: boolean, backgroundRef: RefObject<HTMLElement>, dialogRef: RefObject<HTMLElement>): {
|
|
14
|
+
isPresent: boolean;
|
|
15
|
+
animationState: AnimationState;
|
|
16
|
+
handleTransitionEnd: (e: TransitionEvent<HTMLElement>) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=useTransitionPresence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransitionPresence.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/useTransitionPresence.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,eAAe,EAChB,MAAM,OAAO,CAAA;AAId,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAE/C,KAAK,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAYnE;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,EACrC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC;;;6BAwC3B,eAAe,CAAC,WAAW,CAAC;EAiBnC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`),l=s(c,1);c=s(c);let u=require(`react-aria/SSRProvider`),d=require(`react/jsx-runtime`),f=require(`warning`),p=s(f,1);f=s(f);let m=require(`@charcoal-ui/icons`),h=require(`react-aria/useId`),g=require(`react-aria/VisuallyHidden`),_=require(
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`),l=s(c,1);c=s(c);let u=require(`react-aria/SSRProvider`),d=require(`react/jsx-runtime`),f=require(`warning`),p=s(f,1);f=s(f);let m=require(`@charcoal-ui/icons`),h=require(`react-aria/useId`),g=require(`react-aria/VisuallyHidden`),_=require(`react-aria/useDialog`),v=require(`react-aria/private/overlays/ariaHideOutside`),y=require(`react-aria/private/overlays/Overlay`),b=require(`react-aria/useOverlay`),x=require(`react-aria/Overlay`),S=require(`react-aria/useObjectRef`),C=require(`react-aria/usePopover`),w=require(`react-aria/useRadioGroup`),T=require(`react-stately/useRadioGroupState`),E=require(`react-aria`),D=require(`react-compiler-runtime`),O=require(`react-aria/private/overlays/useModal`);function k(e){let t=parseInt(c.version.split(`.`)[0],10);return Number.isFinite(t)?t>=e:!1}const A=k(18)?c.Fragment:u.SSRProvider;function j({children:e}){return(0,d.jsx)(A,{children:(0,d.jsx)(O.OverlayProvider,{children:e})})}const M=`charcoal-theme`,N=`theme`,P=new RegExp(/^(\w|-)+$/);function F(e){if(!P.test(e))throw Error(`Unexpected key :${e}, expect: /^(\\w|-)+$/`)}const I=(e=N)=>t=>{F(e),t===void 0?delete document.documentElement.dataset[e]:document.documentElement.dataset[e]=t},L=I();function R(e,t){return`:root[data-${t??`theme`}='${e}']`}function ee(e){return`@media (prefers-color-scheme: ${e})`}function te({key:e=M,setter:t=L}={}){let[n,,r]=B(e);(0,l.useEffect)(()=>{n!==void 0&&t(r?void 0:n)},[t,r,n])}function z(e=M){return localStorage.getItem(e)}const B=(e=M)=>{F(e);let t=ae(`(prefers-color-scheme: dark)`),n=t===void 0?void 0:t?`dark`:`light`,[r,i,a]=ne(e);return[!a||n===void 0?void 0:r??n,i,r===void 0]};function ne(e,t){let[n,r]=(0,l.useState)(!1),[i,a]=(0,l.useState)(),o=(0,l.useMemo)(()=>t?.(),[t]),s=(0,l.useCallback)(()=>{let t=localStorage.getItem(e);a((t===null?null:re(t))??o),r(!0)},[o,e]),c=(0,l.useCallback)(t=>{t.storageArea===localStorage&&t.key===e&&s()},[s,e]);return(0,l.useEffect)(()=>(s(),window.addEventListener(`storage`,c),()=>{window.removeEventListener(`storage`,c)}),[s,c]),[i??o,t=>{if(t===void 0)localStorage.removeItem(e);else{let n=ie(t);localStorage.setItem(e,n)}let n=new StorageEvent(`storage`,{bubbles:!0,cancelable:!1,key:e,url:location.href,storageArea:localStorage});dispatchEvent(n)},n]}function re(e){try{return JSON.parse(e)}catch{return e}}function ie(e){return typeof e==`string`?e:JSON.stringify(e)}function ae(e){let[t,n]=(0,l.useState)();return(0,l.useEffect)(()=>{let t=window.matchMedia(e),r=()=>{n(t.matches)};return t.addEventListener(`change`,r),n(t.matches),()=>{t.removeEventListener(`change`,r)}},[e]),t}function oe({localStorageKey:e=V.localStorageKey,rootAttribute:t=V.rootAttribute}=V){return F(e),F(t),`'use strict';
|
|
3
3
|
(function () {
|
|
4
4
|
var localStorageKey = '${e}'
|
|
5
5
|
var rootAttribute = '${t}'
|
|
@@ -8,5 +8,5 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
8
8
|
document.documentElement.dataset[rootAttribute] = currentTheme;
|
|
9
9
|
}
|
|
10
10
|
})();
|
|
11
|
-
`}function ce({localStorageKey:e=V.localStorageKey,rootAttribute:t=V.rootAttribute}){return(0,d.jsx)(`script`,{dangerouslySetInnerHTML:{__html:se({localStorageKey:e,rootAttribute:t})}})}const V={localStorageKey:N,rootAttribute:P};function H(...e){return(0,l.useMemo)(()=>e.filter(e=>e).join(` `),[e])}const le=(0,c.forwardRef)(function({variant:e,fullWidth:t,size:n,className:r,component:i,isActive:a,...o},s){let l=(0,c.useMemo)(()=>i??`button`,[i]),u=H(`charcoal-button`,r);return(0,d.jsx)(l,{...o,className:u,"data-variant":e,"data-size":n,"data-full-width":t,"data-active":a,ref:s})}),ue=(0,c.forwardRef)(function({component:e,...t},n){let r=H(`charcoal-clickable`,t.className);return(0,d.jsx)((0,c.useMemo)(()=>e??`button`,[e]),{...t,ref:n,className:r})}),U=(0,c.forwardRef)(function({variant:e=`Default`,size:t=`M`,icon:n,isActive:r=!1,component:i,...a},o){de(t,n);let s=(0,c.useMemo)(()=>i??`button`,[i]),l=H(`charcoal-icon-button`,a.className);return(0,d.jsx)(s,{...a,ref:o,className:l,"data-size":t,"data-active":r,"data-variant":e,children:(0,d.jsx)(`pixiv-icon`,{name:n})})});function de(e,t){let n;switch(e){case`XS`:n=`16`;break;case`S`:case`M`:n=`24`;break}let r=/^\d*/u.exec(t);if(r==null)throw Error(`Invalid icon name`);let[i]=r;i!==n&&console.warn(`IconButton with size "${e}" expect icon size "${n}, but got "${i}"`)}const fe=l.createContext({name:void 0,selected:void 0,disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error(`Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?`)}}),pe=(0,c.forwardRef)(function({onChange:e,invalid:t,className:n,...r},i){let a=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.value)},[e]);return(0,d.jsx)(`input`,{className:H(`charcoal-radio-input`,n),ref:i,type:`radio`,onChange:a,"aria-invalid":t,...r})});var me=(0,c.memo)(pe);const he=(0,c.forwardRef)(function({value:e,disabled:t=!1,children:n,...r},i){let{name:a,selected:o,disabled:s,readonly:l,invalid:u,onChange:p}=(0,c.useContext)(fe),m=H(`charcoal-radio__label`,r.className);(0,f.default)(a!==void 0,`"name" is not Provided for <Radio>. Perhaps you forgot to wrap with <RadioGroup> ?`);let h=e===o,g=t||s,_=l&&!h;return(0,d.jsxs)(`label`,{"aria-disabled":g||_,className:m,children:[(0,d.jsx)(me,{name:a,value:e,checked:h,"aria-invalid":u,onChange:p,disabled:g||_,ref:i}),n!=null&&(0,d.jsx)(`div`,{className:`charcoal-radio__label_div`,children:n})]})});var ge=(0,c.memo)(he);const _e=(0,c.forwardRef)(function({value:e,label:t,name:n,onChange:r,disabled:i,readonly:a,invalid:o,children:s,"aria-orientation":l=`vertical`,...u},f){let p=H(`charcoal-radio-group`,u.className),m=(0,c.useCallback)(e=>{r(e)},[r]),h=(0,c.useMemo)(()=>({name:n,selected:e,disabled:i??!1,readonly:a??!1,invalid:o??!1,onChange:m}),[i,m,o,n,a,e]);return(0,d.jsx)(fe.Provider,{value:h,children:(0,d.jsx)(`div`,{role:`radiogroup`,"aria-disabled":i,"aria-invalid":o,"aria-label":t,"aria-labelledby":u[`aria-labelledby`],"aria-orientation":l,className:p,ref:f,children:s})})}),ve=(0,l.createContext)({name:void 0,selected:[],disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error("Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?")}}),W=c.forwardRef(function({name:e,scale:t,unsafeNonGuidelineScale:n,fixedSize:r,className:i,style:a,...o},s){let l=c.useMemo(()=>(0,m.calcActualSize)({name:e,scale:t,unsafeNonGuidelineScale:n,fixedSize:r}),[e,t,n,r]);return(0,d.jsx)(`pixiv-icon`,{ref:s,name:e,scale:t,"unsafe-non-guideline-scale":n,"fixed-size":r,style:c.useMemo(()=>({...a,"--charcoal-icon-size":`${l}px`}),[l,a]),class:`charcoal-icon ${i||``}`.trim(),...o})}),ye=(0,c.forwardRef)(function({value:e,disabled:t=!1,onChange:n,variant:r=`default`,className:i,children:a},o){let{name:s,selected:l,disabled:u,readonly:p,invalid:m,onChange:h}=(0,c.useContext)(ve);(0,f.default)(s!==void 0,`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`);let g=l.includes(e),_=t||u||p,v=(0,c.useCallback)(t=>{t.currentTarget instanceof HTMLInputElement&&(n&&n({value:e,selected:t.currentTarget.checked}),h({value:e,selected:t.currentTarget.checked}))},[n,h,e]);return(0,d.jsxs)(`label`,{"aria-disabled":_,className:H(`charcoal-multi-select`,i),children:[(0,d.jsx)(`input`,{className:`charcoal-multi-select-input`,name:s,value:e,type:`checkbox`,checked:g,disabled:_,onChange:v,"data-overlay":r===`overlay`,"aria-invalid":m,ref:o}),(0,d.jsx)(`div`,{className:`charcoal-multi-select-overlay`,"data-overlay":r===`overlay`,"aria-invalid":m,"aria-hidden":!0,children:(0,d.jsx)(W,{name:`24/Check`,fixedSize:16})}),!!a&&(0,d.jsx)(`div`,{className:`charcoal-multi-select-label`,children:a})]})});var be=(0,c.memo)(ye);function xe({className:e,style:t,name:n,label:r,selected:i,onChange:a,disabled:o=!1,readonly:s=!1,invalid:l=!1,children:u}){let f=(0,c.useCallback)(e=>{let t=i.indexOf(e.value);e.selected?t<0&&a([...i,e.value]):t>=0&&a([...i.slice(0,t),...i.slice(t+1)])},[a,i]);return(0,d.jsx)(ve.Provider,{value:{name:n,selected:Array.from(new Set(i)),disabled:o,readonly:s,invalid:l,onChange:f},children:(0,d.jsx)(`div`,{className:e,style:t,"aria-label":r,"data-testid":`SelectGroup`,children:u})})}const Se=(0,c.forwardRef)(function({onChange:e,className:t,...n},r){let i=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.checked)},[e]);return(0,d.jsx)(`input`,{ref:r,className:H(`charcoal-switch-input`,t),type:`checkbox`,onChange:i,...n})}),Ce=c.memo(function({children:e,className:t,disabled:n,id:r,input:i}){return(0,d.jsxs)(`label`,{htmlFor:r,className:H(`charcoal-switch__label`,t),"aria-disabled":n,children:[i,(0,d.jsx)(`div`,{className:`charcoal-switch__label_div`,children:e})]})}),we=(0,c.forwardRef)(function({children:e,onChange:t,disabled:n,className:r,id:i,...a},o){let s=(0,h.useId)(i),c=e===void 0,l=(0,d.jsx)(Se,{...a,disabled:n,className:c?r:void 0,id:s,onChange:t,ref:o,role:`switch`,type:`checkbox`});return c?l:(0,d.jsx)(Ce,{className:r,disabled:n,id:s,input:l,children:e})});var Te=(0,c.memo)(we);const G=c.forwardRef(function({style:e,className:t,label:n,required:r=!1,requiredText:i,subLabel:a,...o},s){return(0,d.jsxs)(`div`,{style:e,className:H(`charcoal-field-label-root`,t),children:[(0,d.jsx)(`label`,{ref:s,className:`charcoal-field-label`,...o,children:n}),r&&(0,d.jsx)(`div`,{className:`charcoal-field-label-required-text`,children:i}),(0,d.jsx)(`div`,{className:`charcoal-field-label-sub-label`,children:(0,d.jsx)(`span`,{children:a})})]})});function Ee(...e){return t=>{for(let n of e)typeof n==`function`?n(t):n!==null&&(n.current=t)}}function De(e){return Array.from(e).length}function Oe(e,t){(0,c.useEffect)(()=>{let n=e.current;if(n){let e=e=>{e.target!==t.current&&t.current?.focus()};return n.addEventListener(`click`,e),()=>{n.removeEventListener(`click`,e)}}})}function K(e){return(0,c.forwardRef)(function({className:t,...n},r){return(0,d.jsx)(`div`,{className:H(e,t),ref:r,...n})})}const q=K(`charcoal-text-field-assistive-text`),ke=c.forwardRef(function({assistiveText:e,className:t,disabled:n=!1,label:r=``,maxLength:i,onChange:a,prefix:o=null,required:s,requiredText:l,showCount:u=!1,showLabel:f=!1,subLabel:p,suffix:m=null,type:_=`text`,invalid:v,value:y,getCount:b=De,...x},S){let C=(0,c.useRef)(null),{visuallyHiddenProps:w}=(0,g.useVisuallyHidden)(),[T,E]=(0,c.useState)(b(y??``)),D=(0,c.useCallback)(e=>{let t=e.target.value,n=b(t);i!==void 0&&n>i||(E(n),a?.(t))},[b,i,a]);(0,c.useEffect)(()=>{E(b(y??``))},[b,y]);let O=(0,c.useRef)(null);Oe(O,C);let k=(0,h.useId)(x.id),A=(0,h.useId)(),j=(0,h.useId)(),M=e!=null&&e.length!==0;return(0,d.jsxs)(`div`,{className:H(`charcoal-text-field-root`,t),"aria-disabled":n,children:[(0,d.jsx)(G,{htmlFor:k,id:j,label:r,required:s,requiredText:l,subLabel:p,...f?{}:w}),(0,d.jsxs)(`div`,{className:`charcoal-text-field-container`,"aria-disabled":n===!0?!0:void 0,"data-invalid":v===!0,ref:O,children:[o&&(0,d.jsx)(`div`,{className:`charcoal-text-field-prefix`,children:o}),(0,d.jsx)(`div`,{className:`charcoal-text-field-input-root`,children:(0,d.jsx)(`input`,{className:`charcoal-text-field-input`,"aria-describedby":M?A:void 0,"aria-invalid":v,"aria-labelledby":j,id:k,"data-invalid":v===!0,maxLength:i,onChange:D,disabled:n,ref:Ee(S,C),type:_,value:y,...x})}),(m||u)&&(0,d.jsxs)(`div`,{className:`charcoal-text-field-suffix`,children:[m,u&&(0,d.jsx)(`span`,{className:`charcoal-text-field-line-counter`,children:i===void 0?T:`${T}/${i}`})]})]}),M&&(0,d.jsx)(q,{"data-invalid":v===!0,id:A,children:e})]})}),Ae=(0,c.forwardRef)(function({onChange:e,className:t,value:n,showCount:r=!1,showLabel:i=!1,label:a=``,requiredText:o,subLabel:s,disabled:l=!1,required:u,assistiveText:f,maxLength:p,autoHeight:m=!1,rows:_=4,maxRows:v,invalid:y,getCount:b=De,defaultValue:x,imperativeRef:S,...C},w){let T=n===void 0,E=n??x?.toString()??``,[D,O]=(0,c.useState)(_),[k,A]=(0,c.useState)(b(E)),j=(0,c.useRef)(null),M=(0,c.useRef)(null);Oe(M,j);let{visuallyHiddenProps:N}=(0,g.useVisuallyHidden)(),P=(0,c.useMemo)(()=>m||v&&v>=0,[m,v]),ee=H(`charcoal-text-area-root`,t),F=f!=null&&f.length!==0,I=(0,c.useCallback)(e=>{let t=(`${e.value}\n`.match(/\n/gu)?.length??0)||1,n=v!==void 0&&v>=1,r=_<=t?t:_;if(!n){O(r);return}O(Math.min(r,v))},[_,v]),L=(0,c.useCallback)(e=>{let t=b(e.value);return T&&A(t),P&&I(e),t},[b,P,T,I]),te=(0,c.useCallback)(t=>{let n=t.currentTarget.value,r=b(n);p!==void 0&&r>p||(L(t.currentTarget),e?.(n))},[b,p,e,L]);(0,c.useImperativeHandle)(S,()=>({setValue:e=>{j.current!==null&&(j.current.value=e,L(j.current))},sync:()=>{j.current!==null&&L(j.current)}}),[L]);let R=(0,h.useId)(C.id),z=(0,h.useId)(),B=(0,h.useId)();return(0,c.useEffect)(()=>{T||A(b(E)),P&&j.current!==null&&I(j.current)},[T,E,b,P,j,I]),(0,d.jsxs)(`div`,{className:ee,"aria-disabled":l,children:[(0,d.jsx)(G,{htmlFor:R,id:B,label:a,required:u,requiredText:o,subLabel:s,...i?{}:N}),(0,d.jsxs)(`div`,{className:`charcoal-text-area-container`,"aria-disabled":l===!0?`true`:void 0,"aria-invalid":y===!0,ref:M,style:{"--charcoal-text-area-rows":`${r?D+1:D}`},children:[(0,d.jsx)(`textarea`,{className:`charcoal-text-area-textarea`,"aria-describedby":F?z:void 0,"aria-invalid":y,"aria-labelledby":B,id:R,maxLength:p,"data-no-bottom-padding":r,onChange:te,ref:Ee(w,j),rows:D,value:n,disabled:l,defaultValue:x,...C}),r&&(0,d.jsx)(`span`,{className:`charcoal-text-area-counter`,children:p===void 0?k:`${k}/${p}`})]}),F&&(0,d.jsx)(q,{"data-invalid":y===!0,id:z,children:f})]})});function je(e){let t=c.useRef(null);return c.useEffect(()=>{e&&(typeof e==`function`?e(t.current):e.current=t.current)}),t}const Me=(0,c.forwardRef)(function({size:e,bottomSheet:t,className:n,...r},i){let a=je(i),{dialogProps:o}=(0,v.useDialog)({role:`dialog`},a);return(0,d.jsx)(`div`,{className:H(`charcoal-modal-dialog`,n),role:o.role,"data-bottom-sheet":t,tabIndex:o.tabIndex,"aria-labelledby":o[`aria-labelledby`],onBlur:o.onBlur,"data-size":e,ref:a,...r})}),Ne=c.createContext(null);function Pe(e,t,n=!1){(0,c.useEffect)(()=>{if(t&&e){let t=e.style.paddingRight,r=e.style.overflow;return e.style.paddingRight=`${window.innerWidth-e.clientWidth}px`,e.style.overflow=n?`clip`:`hidden`,()=>{e.style.paddingRight=t,e.style.overflow=r}}},[e,t,n])}function Fe(e,t,n){let{overlayProps:r,underlayProps:i}=(0,x.useOverlay)({...e,isOpen:t.isOpen,onClose:t.onClose,shouldCloseOnInteractOutside:()=>!1},n);return Pe(typeof document<`u`?document.body:null,t.isOpen,e.overflowClip),(0,b.useOverlayFocusContain)(),c.useEffect(()=>{if(t.isOpen&&n.current)return(0,y.ariaHideOutside)([n.current])},[t.isOpen,n]),{modalProps:r,underlayProps:i}}function Ie(){return typeof window<`u`}function Le(){let[e,t]=c.useState(Ie()?window.innerWidth:null);return c.useEffect(()=>{let e=()=>{t(window.innerWidth)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}}),e}const Re=(0,c.forwardRef)(function({children:e,zIndex:t=10,portalContainer:n,...r},i){let{title:a,size:o=`M`,bottomSheet:s=!1,isDismissable:l,onClose:u,className:f,isOpen:p=!1,closeButtonAriaLabel:m=`Close`}=r,h=(0,C.useObjectRef)(i),{modalProps:g,underlayProps:v}=Fe({...r,isKeyboardDismissDisabled:l===void 0||l===!1},{onClose:u,isOpen:p},h),y=(Le()??1/0)<744,b=y&&s!==!1,x=!y||s!==!0,w=(0,_.useTransition)(p,{from:{transform:`translateY(100%)`,backgroundColor:`rgba(0, 0, 0, 0)`,overflow:`hidden`},enter:{transform:`translateY(0%)`,backgroundColor:`rgba(0, 0, 0, 0.4)`},update:{overflow:`auto`},leave:{transform:`translateY(100%)`,backgroundColor:`rgba(0, 0, 0, 0)`,overflow:`hidden`},config:b?{duration:400,easing:_.easings.easeOutQuart}:{duration:0}}),T=c.useRef(null),E=c.useCallback(e=>{e.currentTarget===e.target&&u()},[u]);return w(({backgroundColor:r,overflow:i,transform:c},p)=>p&&(0,d.jsx)(S.Overlay,{portalContainer:n,children:(0,d.jsx)(_.animated.div,{className:`charcoal-modal-background`,ref:T,...v,style:b?{backgroundColor:r,overflow:i,zIndex:t}:{zIndex:t},"data-bottom-sheet":s,onClick:E,children:(0,d.jsx)(Ne.Provider,{value:T.current,children:(0,d.jsx)(ze,{ref:h,...g,style:b?{transform:c}:{},size:o,bottomSheet:s,className:f,children:(0,d.jsxs)(Ve.Provider,{value:{titleProps:{},title:a,close:u,showDismiss:x,bottomSheet:s},children:[e,l===!0&&(0,d.jsx)(He,{"aria-label":m,onClick:u})]})})})})}))}),ze=(0,_.animated)(Me);var Be=(0,c.memo)(Re);const Ve=c.createContext({titleProps:{},title:``,close:void 0,showDismiss:!0,bottomSheet:!1});function He(e){return(0,d.jsx)(U,{className:`charcoal-modal-close-button`,size:`S`,icon:`24/Close`,type:`button`,...e})}function Ue(){let e=(0,c.useContext)(Ve);return(0,d.jsx)(`div`,{className:`charcoal-modal-header-root`,"data-bottom-sheet":e.bottomSheet,children:(0,d.jsx)(`div`,{className:`charcoal-modal-header-title`,children:e.title})})}const We=K(`charcoal-modal-align`),Ge=K(`charcoal-modal-body`),Ke=K(`charcoal-modal-buttons`),qe=(0,c.forwardRef)(function({size:e=48,padding:t=16,transparent:n=!1,...r},i){let a=H(`charcoal-loading-spinner`,r.className);return(0,d.jsx)(`div`,{role:`progressbar`,style:{"--charcoal-loading-spinner-size":`${e}px`,"--charcoal-loading-spinner-padding":`${t}px`},"data-transparent":n,className:a,ref:i,children:(0,d.jsx)(Ye,{})})});var Je=(0,c.memo)(qe);const Ye=(0,c.forwardRef)(function({once:e=!1},t){let n=(0,c.useRef)(null);return(0,c.useImperativeHandle)(t,()=>({restart:()=>{n.current&&(n.current.dataset.resetAnimation=`true`,n.current.offsetWidth,delete n.current.dataset.resetAnimation)}})),(0,d.jsx)(`div`,{role:`presentation`,ref:n,"data-once":e,className:`charcoal-loading-spinner-icon`})}),J=()=>null;function Xe(e){let t=(0,c.useRef)(null),n=e.popoverRef===void 0?t:e.popoverRef,{popoverProps:r,underlayProps:i}=(0,w.usePopover)({triggerRef:e.triggerRef,popoverRef:n,containerPadding:16},{close:e.onClose,isOpen:e.isOpen,open:J,setOpen:J,toggle:J});return Pe((0,c.useContext)(Ne),e.isOpen),e.isOpen?(0,d.jsxs)(S.Overlay,{portalContainer:document.body,children:[(0,d.jsx)(`div`,{...i,...e.inertWorkaround?{"data-react-aria-top-layer":!0,onClick:e.onClose}:{},style:{position:`fixed`,zIndex:typeof r.style?.zIndex==`number`?r.style.zIndex-1:99999,inset:0}}),(0,d.jsxs)(`div`,{...r,ref:n,className:`charcoal-popover`,children:[(0,d.jsx)(S.DismissButton,{onDismiss:()=>e.onClose()}),(0,d.jsx)(`div`,{tabIndex:0,onFocus:e.onClose}),e.children,(0,d.jsx)(`div`,{tabIndex:0,onFocus:e.onClose}),(0,d.jsx)(S.DismissButton,{onDismiss:()=>e.onClose()})]})]}):null}function Ze({children:e,...t}){let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{t.isOpen&&n.current&&t.triggerRef.current&&(n.current.style.width=`${t.triggerRef.current.clientWidth}px`)},[t.triggerRef,t.isOpen]),(0,c.useEffect)(()=>{if(t.isOpen)if(t.value!==void 0&&t.value!==``){let e=window.scrollY,n=window.scrollX;document.querySelector(`[data-key="${t.value.toString()}"]`)?.focus(),window.scrollTo(n,e)}else{let e=n.current?.querySelector(`[role='option']`);e instanceof HTMLElement&&e.focus()}},[t.value,t.isOpen]),(0,d.jsx)(Xe,{isOpen:t.isOpen,onClose:t.onClose,popoverRef:n,triggerRef:t.triggerRef,inertWorkaround:t.inertWorkaround,children:e})}function Qe(e,t){let n=c.Children.toArray(e);for(let e=0;e<n.length;e++){let r=n[e];if(c.isValidElement(r)){if(`value`in r.props&&r.props.value===t&&`children`in r.props)return r.props.children;if(`children`in r.props){let e=Qe(r.props.children,t);if(e!==void 0)return e}}}}const Y=(0,l.createContext)({root:void 0,value:``,propsArray:[],setValue:e=>{}});function X(e){let t=c.Children.toArray(e),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(c.isValidElement(r)){let e=r.props;`value`in e&&typeof e.value==`string`&&n.push({disabled:e.disabled,value:e.value}),`children`in e&&e.children&&n.push(...X(e.children))}}return n}function $e(e){let t=(0,c.useRef)(null),n=(0,c.useMemo)(()=>X(e.children),[e.children]);return(0,d.jsx)(`ul`,{className:`charcoal-menu-list`,ref:t,children:(0,d.jsx)(Y.Provider,{value:{value:e.value??``,root:t,propsArray:n,setValue:t=>{e.onChange?.(t)}},children:e.children})})}function et({onChange:e,showLabel:t=!1,selectRef:n,...r}){let i=(0,c.useRef)(null),[a,o]=(0,c.useState)(!1),s=Qe(r.children,r.value),l=(0,c.useMemo)(()=>r.placeholder!==void 0&&s===void 0,[s,r.placeholder]),u=X(r.children),f=(0,c.useMemo)(()=>u.some(e=>e.value===r.value),[u,r.value]),{visuallyHiddenProps:p}=(0,g.useVisuallyHidden)(),m=(0,c.useCallback)(t=>{e(t.target.value)},[e]),_=(0,h.useId)(),v=(0,h.useId)();return(0,d.jsxs)(`div`,{className:H(`charcoal-dropdown-selector-root`,r.className),"aria-disabled":r.disabled,children:[(0,d.jsx)(G,{id:_,label:r.label,required:r.required,requiredText:r.requiredText,subLabel:r.subLabel,...t?{}:p}),(0,d.jsx)(`div`,{...p,"aria-hidden":`true`,children:(0,d.jsxs)(`select`,{name:r.name,value:r.value,onChange:m,tabIndex:-1,ref:n,children:[!f&&(0,d.jsx)(`option`,{value:r.value,children:r.value}),u.map(e=>(0,d.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.value},e.value))]})}),(0,d.jsxs)(`button`,{className:`charcoal-dropdown-selector-button`,"aria-labelledby":_,"aria-invalid":r.invalid,"aria-describedby":r.assistiveText===void 0?void 0:v,disabled:r.disabled,onClick:()=>{r.disabled!==!0&&o(!0)},ref:i,type:`button`,"data-active":a,children:[(0,d.jsx)(`span`,{className:`charcoal-ui-dropdown-selector-text`,"data-placeholder":l,children:l?r.placeholder:s}),(0,d.jsx)(W,{className:`charcoal-ui-dropdown-selector-icon`,name:`16/Menu`})]}),a&&(0,d.jsx)(Ze,{isOpen:a,onClose:()=>o(!1),triggerRef:i,value:r.value,inertWorkaround:r.inertWorkaround,children:(0,d.jsx)($e,{value:r.value,onChange:t=>{e(t),o(!1)},children:r.children})}),r.assistiveText!==void 0&&(0,d.jsx)(q,{"data-invalid":r.invalid===!0,id:v,children:r.assistiveText})]})}const tt=(0,c.forwardRef)(function({as:e,className:t,...n},r){return(0,d.jsx)((0,c.useMemo)(()=>e??`li`,[e]),{className:H(`charcoal-list-item`,t),ref:r,...n})});function nt(e,t){if(t.scrollHeight>t.clientHeight){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();n.bottom>r.bottom?t.scrollTo({top:t.scrollTop+n.bottom-r.bottom}):n.top<r.top&&t.scrollTo({top:t.scrollTop-(r.top-n.top)})}else rt(e)}function rt(e){let t=e.getBoundingClientRect();t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||e.scrollIntoView({block:`nearest`})}function it(e){let{setValue:t,root:n,propsArray:r}=(0,c.useContext)(Y),i=(0,c.useCallback)(()=>{e!==void 0&&t(e)},[e,t]);return[(0,c.useCallback)(t=>{if(t.key===`Enter`)i();else if(t.key===`ArrowUp`||t.key===`ArrowDown`){let i=t.key===`ArrowDown`;if(t.preventDefault(),!r||e===void 0)return;let a=r.map(e=>e.value).filter(e=>e),o=a.indexOf(e);if(o===-1)return;for(let e=0;e<a.length;e++){let e=i?o+1>=a.length?a[0]:a[o+1]:o-1<0?a[a.length-1]:a[o-1],t=n?.current?.querySelector(`[data-key='${e}']`);if(t instanceof HTMLElement){if(t.ariaDisabled===`true`){o+=i?1:-1;continue}t.focus({preventScroll:!0}),n?.current?.parentElement&&nt(t,n.current.parentElement);break}}}},[i,r,e,n]),i]}const at=(0,c.forwardRef)(function({className:e,value:t,disabled:n,...r},i){let[a,o]=it(t);return(0,d.jsx)(tt,{...r,ref:i,"data-key":t,onKeyDown:a,onClick:n===!0?void 0:o,tabIndex:-1,"aria-disabled":n,role:`option`,children:r.children})});function ot(e){let{value:t}=(0,c.useContext)(Y),n=e.value===t,{children:r,secondary:i,...a}=e,o=e.contentFullWidth?`charcoal-dropdown-selector-menu-fullwidth`:``;return(0,d.jsx)(at,{...a,"aria-selected":n,children:(0,d.jsxs)(`div`,{className:o,children:[(0,d.jsxs)(`div`,{className:`charcoal-dropdown-selector-menu-item-container ${o}`,children:[n&&(0,d.jsx)(W,{className:`charcoal-dropdown-selector-menu-item-icon`,name:`16/Check`}),(0,d.jsx)(`span`,{className:`charcoal-dropdown-selector-menu-item ${o}`,"data-selected":n,children:r})]}),i&&(0,d.jsx)(`span`,{className:`charcoal-dropdown-selector-menu-secondary`,children:i})]})})}function st(e){return(0,d.jsxs)(`li`,{className:`charcoal-menu-item-group`,role:`presentation`,children:[(0,d.jsx)(`span`,{children:e.text}),(0,d.jsx)(`ul`,{role:`group`,children:e.children})]})}const ct=(0,c.createContext)(null),lt=({value:e,children:t})=>(0,d.jsx)(ct.Provider,{value:e,children:t}),ut=()=>{let e=(0,c.useContext)(ct);if(e===null)throw Error("`<RadioProvider>` is not likely mounted.");return e},dt=(0,c.forwardRef)(function(e,t){let n=H(`charcoal-segmented-control`,e.className),r=(0,c.useMemo)(()=>({...e,isDisabled:e.disabled,isReadOnly:e.readonly,isRequired:e.required,"aria-label":e.name}),[e]),i=(0,E.useRadioGroupState)(r),{radioGroupProps:a}=(0,T.useRadioGroup)(r,i),o=(0,c.useMemo)(()=>e.data.map(e=>typeof e==`string`?{value:e,label:e}:e),[e.data]);return(0,d.jsx)(`div`,{ref:t,...a,className:n,"data-uniform-segment-width":e.uniformSegmentWidth,"data-full-width":e.fullWidth,children:(0,d.jsx)(lt,{value:i,children:o.map(t=>(0,d.jsx)(pt,{value:t.value,disabled:t.disabled,uniformSegmentWidth:e.uniformSegmentWidth,children:t.label},t.value))})})});var ft=(0,c.memo)(dt);const pt=e=>{let t=ut(),n=(0,c.useRef)(null),{inputProps:r,isDisabled:i,isSelected:a}=(0,T.useRadio)((0,c.useMemo)(()=>({value:e.value,isDisabled:e.disabled,children:e.children}),[e]),t,n);return(0,d.jsxs)(`label`,{className:`charcoal-segmented-control-radio__label`,"aria-disabled":i||t.isReadOnly,"data-checked":a,"data-uniform-segment-width":e.uniformSegmentWidth,"data-full-width":e.fullWidth,children:[(0,d.jsx)(`input`,{className:`charcoal-segmented-control-radio__input`,...r,ref:n}),e.children]})},mt=(0,c.forwardRef)(function({onChange:e,checked:t,invalid:n,className:r,rounded:i,...a},o){let s=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.checked)},[e]);return(0,d.jsx)(`input`,{className:H(`charcoal-checkbox-input`,r),ref:o,type:`checkbox`,onChange:s,"aria-invalid":n,checked:t,"data-rounded":i,...a})});var ht=(0,c.memo)(mt);const gt=c.default.memo(function({className:e,children:t,input:n,id:r,disabled:i}){return(0,d.jsxs)(`label`,{htmlFor:r,"aria-disabled":i,className:H(`charcoal-checkbox__label`,e),children:[n,(0,d.jsx)(`div`,{className:`charcoal-checkbox__label_div`,children:t})]})}),_t=(0,c.forwardRef)(function({disabled:e,className:t,id:n,children:r,...i},a){let o=(0,h.useId)(n),s=r===void 0,c=(0,d.jsx)(ht,{...i,className:s?t:void 0,disabled:e,id:o,ref:a});return s?c:(0,d.jsx)(gt,{className:t,disabled:e,id:o,input:c,children:r})});var vt=(0,c.memo)(_t);const yt=(0,c.forwardRef)(function({component:e,label:t,translatedLabel:n,bgColor:r=`#7ACCB1`,bgImage:i,size:a=`M`,status:o=`default`,disabled:s,"aria-disabled":l,...u},f){let p=(0,C.useObjectRef)(f),m=n!==void 0&&n.length>0,h=H(`charcoal-tag-item`,`charcoal-tag-item__bg`,u.className),g=i!==void 0&&i.length>0?`image`:`color`,_=g===`color`?r:`url(${i??``})`,v=(0,c.useMemo)(()=>e??`a`,[e]),y=v===`button`,{linkProps:b}=(0,D.useLink)({isDisabled:s,elementType:typeof v==`string`?v:`a`},p),x=y?{disabled:s,"aria-disabled":l}:b;return(0,d.jsxs)(v,{...u,...x,ref:p,className:h,"data-state":o,"data-bg-variant":g,"data-size":m?`M`:a,style:{"--charcoal-tag-item-bg":_},children:[(0,d.jsxs)(`div`,{className:`charcoal-tag-item__label`,"data-has-translate":m,children:[m&&(0,d.jsx)(`span`,{className:`charcoal-tag-item__label__translated`,children:n}),(0,d.jsx)(`span`,{className:`charcoal-tag-item__label__text`,"data-has-translate":m,children:t})]}),o===`active`&&(0,d.jsx)(W,{name:`16/Remove`})]})});var bt=(0,c.memo)(yt);function xt({children:e,context:t=`section`,className:n}){return(0,d.jsxs)(`div`,{className:H(`charcoal-hint-text`,n),"data-context":t,children:[(0,d.jsx)(`div`,{className:`charcoal-hint-text-icon`,children:(0,d.jsx)(W,{name:`16/Info`})}),(0,d.jsx)(`p`,{className:`charcoal-hint-text-message`,children:e})]})}const St=(e,t,n)=>{if(!e)return;let r=t??Tt(n);if(r)return r},Ct=e=>(0,l.isValidElement)(e)&&!!e.props.children,wt=e=>e==null||typeof e==`boolean`||JSON.stringify(e)===`{}`?``:e.toString(),Tt=e=>!Array.isArray(e)&&!(0,l.isValidElement)(e)?wt(e):l.Children.toArray(e).reduce((e,t)=>{let n=``;return n=(0,l.isValidElement)(t)&&Ct(t)?Tt(t.props.children):(0,l.isValidElement)(t)&&!Ct(t)?``:wt(t),e.concat(n)},``);function Et(e){"use memo";let t=(0,O.c)(33);if(t[0]!==`036f4b6fed1710575a7949f10872bec1708da86dc7f9ef6c9320b0b274640dca`){for(let e=0;e<33;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`036f4b6fed1710575a7949f10872bec1708da86dc7f9ef6c9320b0b274640dca`}let n,r,i,a,o,s,c,l;t[1]===e?(n=t[2],r=t[3],i=t[4],a=t[5],o=t[6],s=t[7],c=t[8],l=t[9]):({lineHeight:r,lineLimit:a,children:n,title:l,hyphens:o,showTooltip:s,useNowrap:c,...i}=e,t[1]=e,t[2]=n,t[3]=r,t[4]=i,t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l);let u=a===void 0?1:a,f=o===void 0?`auto`:o,p=s===void 0?!0:s,m=c===void 0?!1:c,h;t[10]!==n||t[11]!==p||t[12]!==l?(h=St(p,l,n),t[10]=n,t[11]=p,t[12]=l,t[13]=h):h=t[13];let g=h,_=H(`charcoal-text-ellipsis`,i.className),v=r!==void 0,y;t[14]===m?y=t[15]:(y=m?{"data-use-nowrap":m}:{},t[14]=m,t[15]=y);let b;t[16]!==v||t[17]!==r?(b=v&&{"--charcoal-text-ellipsis-line-height":`${r}px`},t[16]=v,t[17]=r,t[18]=b):b=t[18];let x;t[19]!==f||t[20]!==u||t[21]!==i.style||t[22]!==b?(x={...b,"--charcoal-text-ellipsis-line-limit":u,hyphens:f,...i.style},t[19]=f,t[20]=u,t[21]=i.style,t[22]=b,t[23]=x):x=t[23];let S=x,C;return t[24]!==n||t[25]!==_||t[26]!==g||t[27]!==v||t[28]!==u||t[29]!==i||t[30]!==y||t[31]!==S?(C=(0,d.jsx)(`div`,{...i,className:_,"data-line-limit":u,"data-has-line-height":v,...y,style:S,title:g,children:n}),t[24]=n,t[25]=_,t[26]=g,t[27]=v,t[28]=u,t[29]=i,t[30]=y,t[31]=S,t[32]=C):C=t[32],C}function Dt(e,t,n){"use memo";let r=(0,O.c)(8);if(r[0]!==`ba14feb6736cfb4c0d0d38e25b9e21619705224ad19f5dc886004a78f422b93d`){for(let e=0;e<8;e+=1)r[e]=Symbol.for(`react.memo_cache_sentinel`);r[0]=`ba14feb6736cfb4c0d0d38e25b9e21619705224ad19f5dc886004a78f422b93d`}let i=n===void 0?7:n;process.env.NODE_ENV!==`production`&&((0,p.default)((e|0)===e,`\`page\` must be integer (${e})`),(0,p.default)((t|0)===t,`\`pageCount\` must be integer (${t})`),(0,p.default)(i===5||i===7,`\`pageRangeDisplayed\` must be 5 or 7 (${i})`));let a=Math.min(t,Math.max(e+Math.floor(i/2),i)),o;if(a<=i){let e;r[1]===a?e=r[2]:(e=Array.from({length:1+a-1},Ot),r[1]=a,r[2]=e),o=e}else{let e=a-(i-1)+2,t;if(r[3]!==e||r[4]!==a){let n;r[6]===e?n=r[7]:(n=(t,n)=>e+n,r[6]=e,r[7]=n),t=[1,`...`,...Array.from({length:1+a-e},n)],r[3]=e,r[4]=a,r[5]=t}else t=r[5];o=t}let s=o;return(0,l.useDebugValue)(s),s}function Ot(e,t){return 1+t}const kt=(0,l.createContext)(null);function At(){let e=(0,l.useContext)(kt);if(e==null)throw Error(`Pagination components must be used within a Pagination component`);return e}function jt(e){"use memo";let t=(0,O.c)(16);if(t[0]!==`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`){for(let e=0;e<16;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`}let{direction:n,ariaLabel:r}=e,{page:i,pageCount:a,size:o,isLinkMode:s,makeUrl:c,LinkComponent:l,makeClickHandler:u,linkProps:f}=At(),p=n===`prev`,m=p?Math.max(1,i-1):Math.min(a,i+1),h=p?i<=1:i>=a,g=H(`charcoal-pagination-nav-button`,f?.className),_=p?`24/Prev`:`24/Next`,v=h||void 0,y;t[1]!==l||t[2]!==h||t[3]!==s||t[4]!==f||t[5]!==u||t[6]!==c||t[7]!==g||t[8]!==m?(y=s&&c?{component:l,href:c(m),"aria-disabled":h,...f,className:g}:{disabled:h,onClick:u(m),className:g},t[1]=l,t[2]=h,t[3]=s,t[4]=f,t[5]=u,t[6]=c,t[7]=g,t[8]=m,t[9]=y):y=t[9];let b;return t[10]!==r||t[11]!==o||t[12]!==_||t[13]!==v||t[14]!==y?(b=(0,d.jsx)(U,{icon:_,size:o,"data-hidden":v,"aria-label":r,...y}),t[10]=r,t[11]=o,t[12]=_,t[13]=v,t[14]=y,t[15]=b):b=t[15],b}function Mt(e){"use memo";let t=(0,O.c)(20);if(t[0]!==`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`){for(let e=0;e<20;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`}let{value:n}=e,{page:r,size:i,isLinkMode:a,makeUrl:o,LinkComponent:s,makeClickHandler:c,linkProps:l}=At(),u=H(`charcoal-pagination-button`,l?.className);if(n===`...`){let e;return t[1]===i?e=t[2]:(e=(0,d.jsx)(U,{icon:`24/Dot`,size:i,disabled:!0,className:`charcoal-pagination-spacer`,"aria-hidden":!0}),t[1]=i,t[2]=e),e}if(n===r){let e;return t[3]===n?e=t[4]:(e=(0,d.jsx)(`span`,{className:`charcoal-pagination-button`,"aria-current":`page`,children:n}),t[3]=n,t[4]=e),e}if(typeof n!=`number`)return null;if(a&&o){let e;t[5]!==o||t[6]!==n?(e=o(n),t[5]=o,t[6]=n,t[7]=e):e=t[7];let r;return t[8]!==s||t[9]!==l||t[10]!==u||t[11]!==e||t[12]!==n?(r=(0,d.jsx)(s,{href:e,...l,className:u,children:n}),t[8]=s,t[9]=l,t[10]=u,t[11]=e,t[12]=n,t[13]=r):r=t[13],r}let f;t[14]!==c||t[15]!==n?(f=c(n),t[14]=c,t[15]=n,t[16]=f):f=t[16];let p;return t[17]!==f||t[18]!==n?(p=(0,d.jsx)(`button`,{type:`button`,className:`charcoal-pagination-button`,onClick:f,children:n}),t[17]=f,t[18]=n,t[19]=p):p=t[19],p}function Nt(e){"use memo";let t=(0,O.c)(41);if(t[0]!==`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`){for(let e=0;e<41;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`6df9a461da70eeb5250dbca07b72d0ce43e952d7b7d08baba19bf889ba545794`}let n,r,i,a,o,s,c,l,u,f,p,m;t[1]===e?(n=t[2],r=t[3],i=t[4],a=t[5],o=t[6],s=t[7],c=t[8],l=t[9],u=t[10],f=t[11],p=t[12],m=t[13]):({page:s,pageCount:c,pageRangeDisplayed:l,size:u,onChange:o,makeUrl:i,component:f,linkProps:r,className:n,ariaLabelNext:p,ariaLabelPrev:m,...a}=e,t[1]=e,t[2]=n,t[3]=r,t[4]=i,t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l,t[10]=u,t[11]=f,t[12]=p,t[13]=m);let h=u===void 0?`M`:u,g=f===void 0?`a`:f,_=p===void 0?`Next`:p,v=m===void 0?`Previous`:m,y=Dt(s,c,l),b=i!==void 0,x;t[14]===o?x=t[15]:(x=e=>()=>o?.(e),t[14]=o,t[15]=x);let S=x,C=H(`charcoal-pagination`,n),w;t[16]!==g||t[17]!==b||t[18]!==r||t[19]!==S||t[20]!==i||t[21]!==s||t[22]!==c||t[23]!==h?(w={page:s,pageCount:c,size:h,isLinkMode:b,makeUrl:i,LinkComponent:g,makeClickHandler:S,linkProps:r},t[16]=g,t[17]=b,t[18]=r,t[19]=S,t[20]=i,t[21]=s,t[22]=c,t[23]=h,t[24]=w):w=t[24];let T=w,E;t[25]===v?E=t[26]:(E=(0,d.jsx)(jt,{direction:`prev`,ariaLabel:v}),t[25]=v,t[26]=E);let D;t[27]===y?D=t[28]:(D=y.map(Pt),t[27]=y,t[28]=D);let k;t[29]===_?k=t[30]:(k=(0,d.jsx)(jt,{direction:`next`,ariaLabel:_}),t[29]=_,t[30]=k);let A;t[31]!==C||t[32]!==a||t[33]!==h||t[34]!==k||t[35]!==E||t[36]!==D?(A=(0,d.jsxs)(`nav`,{"data-size":h,"aria-label":`Pagination`,...a,className:C,children:[E,D,k]}),t[31]=C,t[32]=a,t[33]=h,t[34]=k,t[35]=E,t[36]=D,t[37]=A):A=t[37];let j;return t[38]!==A||t[39]!==T?(j=(0,d.jsx)(kt.Provider,{value:T,children:A}),t[38]=A,t[39]=T,t[40]=j):j=t[40],j}function Pt(e){return(0,d.jsx)(Mt,{value:e},e)}const Z=new Map;function Ft(e,t){if(typeof window>`u`||typeof IntersectionObserver>`u`)return()=>void 0;let n=e.parentElement;if(!n)return()=>void 0;let r=Z.get(n);if(!r){let e=new Map;r={observer:new IntersectionObserver(t=>{for(let n of t)n.isIntersecting&&e.get(n.target)?.()},{root:n,rootMargin:`0px -50% 0px -50%`,threshold:0}),callbacks:e},Z.set(n,r)}return r.callbacks.set(e,t),r.observer.observe(e),()=>{let t=Z.get(n);t&&(t.callbacks.delete(e),t.observer.unobserve(e),t.callbacks.size===0&&(t.observer.disconnect(),Z.delete(n)))}}let Q=null;const $=new Map;function It(){return typeof window>`u`||typeof ResizeObserver>`u`?null:(Q||=new ResizeObserver(e=>{for(let t of e)$.get(t.target)?.()}),Q)}function Lt(e,t){let n=It();return n?($.set(e,t),n.observe(e),()=>{$.delete(e),n.unobserve(e),$.size===0&&(n.disconnect(),Q=null)}):()=>void 0}const Rt=({index:e,store:t,onResize:n,children:r})=>{let i=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let n=i.current;if(n)return Ft(n,()=>t.dispatch({type:`setActive`,index:e}))},[e,t]),(0,c.useEffect)(()=>{let n=t.getSnapshot().scroll?.nonce??0;return t.subscribe(()=>{let r=t.getSnapshot().scroll;!r||r.index!==e||r.nonce===n||(n=r.nonce,i.current?.scrollIntoView({behavior:`smooth`,inline:`center`,block:`nearest`}))})},[e,t]),(0,c.useEffect)(()=>{let e=i.current;if(e)return Lt(e,n)},[n]),(0,d.jsx)(`div`,{ref:i,className:`charcoal-carousel__item`,children:r})};function zt(e,t){let n=t,r=new Set;return{dispatch(t){n=e(n,t);for(let e of r)e()},subscribe(e){return r.add(e),()=>{r.delete(e)}},getSnapshot:()=>n}}const Bt={activeIndex:0,canPrev:!1,canNext:!1,scroll:null},Vt=(e,t)=>{switch(t.type){case`setActive`:return e.activeIndex===t.index?e:{...e,activeIndex:t.index};case`setScrollState`:return e.canPrev===t.canPrev&&e.canNext===t.canNext?e:{...e,canPrev:t.canPrev,canNext:t.canNext};case`requestScroll`:return{...e,scroll:{index:t.index,nonce:(e.scroll?.nonce??0)+1}}}};function Ht(){return zt(Vt,Bt)}const Ut=typeof window<`u`?l.useLayoutEffect:l.useEffect,Wt=[`pointerdown`,`wheel`,`touchstart`];function Gt(e,t,n,r){let{align:i,offset:a,scrollStep:o,onScroll:s,onResize:c,onScrollStateChange:u}=r,d=(0,l.useRef)(!0),f=(0,l.useRef)({onScroll:s,onResize:c,onScrollStateChange:u});(0,l.useEffect)(()=>{f.current={onScroll:s,onResize:c,onScrollStateChange:u}});let p=(0,l.useRef)(null),m=(0,l.useCallback)(()=>{let n=e.current;if(!n)return;let{scrollLeft:r,scrollWidth:i,clientWidth:a}=n,o=r>1,s=r<i-a-1;t.dispatch({type:`setScrollState`,canPrev:o,canNext:s});let c=o||s;p.current!==c&&(p.current=c,f.current.onScrollStateChange?.(c))},[e,t]),h=(0,l.useCallback)(()=>{let t=e.current;if(!t||!d.current)return;let n=t.scrollWidth-t.clientWidth,r=a;switch(i){case`center`:r=n/2+a;break;case`right`:r=n+a;break}t.scrollLeft=Math.max(0,Math.min(r,n))},[e,i,a]);Ut(()=>{let t=e.current;if(!t)return;m();let n=()=>{m(),f.current.onScroll?.(t.scrollLeft)};return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[e,m,n]),Ut(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{h(),m(),f.current.onResize?.(t.clientWidth)});return n.observe(t),()=>n.disconnect()},[e,h,m]),Ut(()=>{d.current=!0,h(),m();let t=e.current;if(!t)return;let n=()=>{d.current=!1};for(let e of Wt)t.addEventListener(e,n,!0);return()=>{for(let e of Wt)t.removeEventListener(e,n,!0)}},[e,h,m,n]);let g=(0,l.useCallback)(()=>{h(),m()},[h,m]),_=(0,l.useCallback)(()=>{d.current=!0,h(),m()},[h,m]);return{scrollByStep:(0,l.useCallback)(t=>{let n=e.current;if(!n)return;d.current=!1;let{clientWidth:r,scrollWidth:i,scrollLeft:a}=n,s=typeof o==`function`?o({clientWidth:r,scrollWidth:i,scrollLeft:a,direction:t}):r*o;n.scrollBy({left:t===`next`?s:-s,behavior:`smooth`})},[e,o]),onItemResize:g,resetScroll:_}}const Kt=()=>Bt,qt={prev:`24/Prev`,next:`24/Next`},Jt=({direction:e,canScroll:t,onScroll:n})=>{let r=(0,c.useCallback)(()=>{n(e)},[n,e]);return(0,d.jsx)(U,{variant:`Overlay`,size:`S`,icon:qt[e],"aria-label":e===`prev`?`Previous`:`Next`,disabled:!t,onClick:r,className:`charcoal-carousel__navigation__item`,"data-direction":e,"data-hidden":!t})},Yt=({index:e,isActive:t,onSelect:n})=>{let r=(0,c.useCallback)(()=>{n(e)},[n,e]);return(0,d.jsx)(`button`,{className:`charcoal-carousel__indicator__item`,"data-active":t,"aria-current":t||void 0,"aria-label":`Go to slide ${e+1}`,onClick:r})},Xt=(0,c.forwardRef)(function({size:e=`M`,navigationButtons:t,indicator:n,hasGradient:r=!1,fullWidth:i=!1,scrollStep:a=.75,scrollSnap:o,onScroll:s,onResize:l,onScrollStateChange:u,defaultScroll:{align:f=`left`,offset:p=0}={},...m},h){let g=H(`charcoal-carousel`,m.className),_=t??e===`M`,v=n??e===`S`,y=o?.type??(e===`S`?`mandatory`:`none`),b=o?.align??`center`,x=(0,c.useRef)(null),[S]=(0,c.useState)(Ht),{scrollByStep:C,onItemResize:w,resetScroll:T}=Gt(x,S,m.items.length,{align:f,offset:p,scrollStep:a,onScroll:s,onResize:l,onScrollStateChange:u});(0,c.useImperativeHandle)(h,()=>({resetScroll:T}),[T]);let{activeIndex:E,canPrev:O,canNext:k}=(0,c.useSyncExternalStore)(S.subscribe,S.getSnapshot,Kt),A=(0,c.useCallback)(e=>S.dispatch({type:`requestScroll`,index:e}),[S]),{keyboardProps:j}=(0,D.useKeyboard)({onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),C(`next`)):e.key===`ArrowLeft`?(e.preventDefault(),C(`prev`)):e.continuePropagation()}}),{focusProps:M,isFocusVisible:N}=(0,D.useFocusRing)();return(0,d.jsxs)(`div`,{className:g,"data-size":e,"data-has-gradient":r,"data-full-width":i,"data-indicator":v,"data-scroll-snap-type":y,"data-scroll-snap-align":b,"data-can-prev":O,"data-can-next":k,role:`region`,"aria-roledescription":`carousel`,"aria-label":`Carousel`,children:[(0,d.jsxs)(`div`,{className:`charcoal-carousel__viewport`,children:[(0,d.jsx)(`div`,{...(0,D.mergeProps)(M,j),ref:x,className:`charcoal-carousel__scroller`,tabIndex:0,"data-focus-visible":N||void 0,children:m.items.map((e,t)=>(0,d.jsx)(Rt,{index:t,store:S,onResize:w,children:e.children},e.id))}),(0,d.jsxs)(`div`,{className:`charcoal-carousel__navigation`,"data-visible":_,"aria-hidden":!_,children:[(0,d.jsx)(Jt,{direction:`prev`,canScroll:O,onScroll:C}),(0,d.jsx)(Jt,{direction:`next`,canScroll:k,onScroll:C})]})]}),(0,d.jsx)(`div`,{className:`charcoal-carousel__indicator`,"data-visible":v,"aria-hidden":!v,children:m.items.map((e,t)=>(0,d.jsx)(Yt,{index:t,isActive:t===E,onSelect:A},e.id))})]})});Xt.displayName=`Carousel`;var Zt=(0,c.memo)(Xt);exports.Button=le,exports.Carousel=Zt,exports.CharcoalProvider=M,exports.Checkbox=vt,exports.Clickable=ue,exports.DropdownMenuItem=ot,exports.DropdownSelector=et,exports.HintText=xt,exports.Icon=W,exports.IconButton=U,exports.LoadingSpinner=Je,exports.LoadingSpinnerIcon=Ye,exports.MenuItem=at,exports.MenuItemGroup=st,exports.Modal=Be,exports.ModalAlign=We,exports.ModalBody=Ge,exports.ModalButtons=Ke,exports.ModalCloseButton=He,exports.ModalHeader=Ue,exports.MultiSelect=be,exports.MultiSelectGroup=xe,Object.defineProperty(exports,`OverlayProvider`,{enumerable:!0,get:function(){return k.OverlayProvider}}),exports.Pagination=Nt,exports.Radio=ge,exports.RadioGroup=_e,exports.SSRProvider=j,exports.SegmentedControl=ft,exports.SetThemeScript=ce,exports.Switch=Te,exports.TagItem=bt,exports.TextArea=Ae,exports.TextEllipsis=Et,exports.TextField=ke,exports.getThemeSync=B,exports.makeSetThemeScriptCode=se,exports.prefersColorScheme=R,exports.themeSelector=te,exports.themeSetter=I,exports.useLocalStorage=re,exports.useMedia=oe,exports.useTheme=ne,exports.useThemeSetter=z;
|
|
11
|
+
`}function se({localStorageKey:e=V.localStorageKey,rootAttribute:t=V.rootAttribute}){return(0,d.jsx)(`script`,{dangerouslySetInnerHTML:{__html:oe({localStorageKey:e,rootAttribute:t})}})}const V={localStorageKey:M,rootAttribute:N};function H(...e){return(0,l.useMemo)(()=>e.filter(e=>e).join(` `),[e])}const ce=(0,c.forwardRef)(function({variant:e,fullWidth:t,size:n,className:r,component:i,isActive:a,...o},s){let l=(0,c.useMemo)(()=>i??`button`,[i]),u=H(`charcoal-button`,r);return(0,d.jsx)(l,{...o,className:u,"data-variant":e,"data-size":n,"data-full-width":t,"data-active":a,ref:s})}),le=(0,c.forwardRef)(function({component:e,...t},n){let r=H(`charcoal-clickable`,t.className);return(0,d.jsx)((0,c.useMemo)(()=>e??`button`,[e]),{...t,ref:n,className:r})}),U=(0,c.forwardRef)(function({variant:e=`Default`,size:t=`M`,icon:n,isActive:r=!1,component:i,...a},o){ue(t,n);let s=(0,c.useMemo)(()=>i??`button`,[i]),l=H(`charcoal-icon-button`,a.className);return(0,d.jsx)(s,{...a,ref:o,className:l,"data-size":t,"data-active":r,"data-variant":e,children:(0,d.jsx)(`pixiv-icon`,{name:n})})});function ue(e,t){let n;switch(e){case`XS`:n=`16`;break;case`S`:case`M`:n=`24`;break}let r=/^\d*/u.exec(t);if(r==null)throw Error(`Invalid icon name`);let[i]=r;i!==n&&console.warn(`IconButton with size "${e}" expect icon size "${n}, but got "${i}"`)}const de=l.createContext({name:void 0,selected:void 0,disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error(`Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?`)}}),fe=(0,c.forwardRef)(function({onChange:e,invalid:t,className:n,...r},i){let a=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.value)},[e]);return(0,d.jsx)(`input`,{className:H(`charcoal-radio-input`,n),ref:i,type:`radio`,onChange:a,"aria-invalid":t,...r})});var pe=(0,c.memo)(fe);const me=(0,c.forwardRef)(function({value:e,disabled:t=!1,children:n,...r},i){let{name:a,selected:o,disabled:s,readonly:l,invalid:u,onChange:p}=(0,c.useContext)(de),m=H(`charcoal-radio__label`,r.className);(0,f.default)(a!==void 0,`"name" is not Provided for <Radio>. Perhaps you forgot to wrap with <RadioGroup> ?`);let h=e===o,g=t||s,_=l&&!h;return(0,d.jsxs)(`label`,{"aria-disabled":g||_,className:m,children:[(0,d.jsx)(pe,{name:a,value:e,checked:h,"aria-invalid":u,onChange:p,disabled:g||_,ref:i}),n!=null&&(0,d.jsx)(`div`,{className:`charcoal-radio__label_div`,children:n})]})});var he=(0,c.memo)(me);const ge=(0,c.forwardRef)(function({value:e,label:t,name:n,onChange:r,disabled:i,readonly:a,invalid:o,children:s,"aria-orientation":l=`vertical`,...u},f){let p=H(`charcoal-radio-group`,u.className),m=(0,c.useCallback)(e=>{r(e)},[r]),h=(0,c.useMemo)(()=>({name:n,selected:e,disabled:i??!1,readonly:a??!1,invalid:o??!1,onChange:m}),[i,m,o,n,a,e]);return(0,d.jsx)(de.Provider,{value:h,children:(0,d.jsx)(`div`,{role:`radiogroup`,"aria-disabled":i,"aria-invalid":o,"aria-label":t,"aria-labelledby":u[`aria-labelledby`],"aria-orientation":l,className:p,ref:f,children:s})})}),_e=(0,l.createContext)({name:void 0,selected:[],disabled:!1,readonly:!1,invalid:!1,onChange(){throw Error("Cannot find `onChange()` handler. Perhaps you forgot to wrap it with `<MultiSelectGroup />` ?")}}),W=c.forwardRef(function({name:e,scale:t,unsafeNonGuidelineScale:n,fixedSize:r,className:i,style:a,...o},s){let l=c.useMemo(()=>(0,m.calcActualSize)({name:e,scale:t,unsafeNonGuidelineScale:n,fixedSize:r}),[e,t,n,r]);return(0,d.jsx)(`pixiv-icon`,{ref:s,name:e,scale:t,"unsafe-non-guideline-scale":n,"fixed-size":r,style:c.useMemo(()=>({...a,"--charcoal-icon-size":`${l}px`}),[l,a]),class:`charcoal-icon ${i||``}`.trim(),...o})}),ve=(0,c.forwardRef)(function({value:e,disabled:t=!1,onChange:n,variant:r=`default`,className:i,children:a},o){let{name:s,selected:l,disabled:u,readonly:p,invalid:m,onChange:h}=(0,c.useContext)(_e);(0,f.default)(s!==void 0,`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`);let g=l.includes(e),_=t||u||p,v=(0,c.useCallback)(t=>{t.currentTarget instanceof HTMLInputElement&&(n&&n({value:e,selected:t.currentTarget.checked}),h({value:e,selected:t.currentTarget.checked}))},[n,h,e]);return(0,d.jsxs)(`label`,{"aria-disabled":_,className:H(`charcoal-multi-select`,i),children:[(0,d.jsx)(`input`,{className:`charcoal-multi-select-input`,name:s,value:e,type:`checkbox`,checked:g,disabled:_,onChange:v,"data-overlay":r===`overlay`,"aria-invalid":m,ref:o}),(0,d.jsx)(`div`,{className:`charcoal-multi-select-overlay`,"data-overlay":r===`overlay`,"aria-invalid":m,"aria-hidden":!0,children:(0,d.jsx)(W,{name:`24/Check`,fixedSize:16})}),!!a&&(0,d.jsx)(`div`,{className:`charcoal-multi-select-label`,children:a})]})});var ye=(0,c.memo)(ve);function be({className:e,style:t,name:n,label:r,selected:i,onChange:a,disabled:o=!1,readonly:s=!1,invalid:l=!1,children:u}){let f=(0,c.useCallback)(e=>{let t=i.indexOf(e.value);e.selected?t<0&&a([...i,e.value]):t>=0&&a([...i.slice(0,t),...i.slice(t+1)])},[a,i]);return(0,d.jsx)(_e.Provider,{value:{name:n,selected:Array.from(new Set(i)),disabled:o,readonly:s,invalid:l,onChange:f},children:(0,d.jsx)(`div`,{className:e,style:t,"aria-label":r,"data-testid":`SelectGroup`,children:u})})}const xe=(0,c.forwardRef)(function({onChange:e,className:t,...n},r){let i=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.checked)},[e]);return(0,d.jsx)(`input`,{ref:r,className:H(`charcoal-switch-input`,t),type:`checkbox`,onChange:i,...n})}),Se=c.memo(function({children:e,className:t,disabled:n,id:r,input:i}){return(0,d.jsxs)(`label`,{htmlFor:r,className:H(`charcoal-switch__label`,t),"aria-disabled":n,children:[i,(0,d.jsx)(`div`,{className:`charcoal-switch__label_div`,children:e})]})}),Ce=(0,c.forwardRef)(function({children:e,onChange:t,disabled:n,className:r,id:i,...a},o){let s=(0,h.useId)(i),c=e===void 0,l=(0,d.jsx)(xe,{...a,disabled:n,className:c?r:void 0,id:s,onChange:t,ref:o,role:`switch`,type:`checkbox`});return c?l:(0,d.jsx)(Se,{className:r,disabled:n,id:s,input:l,children:e})});var we=(0,c.memo)(Ce);const G=c.forwardRef(function({style:e,className:t,label:n,required:r=!1,requiredText:i,subLabel:a,...o},s){return(0,d.jsxs)(`div`,{style:e,className:H(`charcoal-field-label-root`,t),children:[(0,d.jsx)(`label`,{ref:s,className:`charcoal-field-label`,...o,children:n}),r&&(0,d.jsx)(`div`,{className:`charcoal-field-label-required-text`,children:i}),(0,d.jsx)(`div`,{className:`charcoal-field-label-sub-label`,children:(0,d.jsx)(`span`,{children:a})})]})});function Te(...e){return t=>{for(let n of e)typeof n==`function`?n(t):n!==null&&(n.current=t)}}function Ee(e){return Array.from(e).length}function De(e,t){(0,c.useEffect)(()=>{let n=e.current;if(n){let e=e=>{e.target!==t.current&&t.current?.focus()};return n.addEventListener(`click`,e),()=>{n.removeEventListener(`click`,e)}}})}function K(e){return(0,c.forwardRef)(function({className:t,...n},r){return(0,d.jsx)(`div`,{className:H(e,t),ref:r,...n})})}const q=K(`charcoal-text-field-assistive-text`),Oe=c.forwardRef(function({assistiveText:e,className:t,disabled:n=!1,label:r=``,maxLength:i,onChange:a,prefix:o=null,required:s,requiredText:l,showCount:u=!1,showLabel:f=!1,subLabel:p,suffix:m=null,type:_=`text`,invalid:v,value:y,getCount:b=Ee,...x},S){let C=(0,c.useRef)(null),{visuallyHiddenProps:w}=(0,g.useVisuallyHidden)(),[T,E]=(0,c.useState)(b(y??``)),D=(0,c.useCallback)(e=>{let t=e.target.value,n=b(t);i!==void 0&&n>i||(E(n),a?.(t))},[b,i,a]);(0,c.useEffect)(()=>{E(b(y??``))},[b,y]);let O=(0,c.useRef)(null);De(O,C);let k=(0,h.useId)(x.id),A=(0,h.useId)(),j=(0,h.useId)(),M=e!=null&&e.length!==0;return(0,d.jsxs)(`div`,{className:H(`charcoal-text-field-root`,t),"aria-disabled":n,children:[(0,d.jsx)(G,{htmlFor:k,id:j,label:r,required:s,requiredText:l,subLabel:p,...f?{}:w}),(0,d.jsxs)(`div`,{className:`charcoal-text-field-container`,"aria-disabled":n===!0?!0:void 0,"data-invalid":v===!0,ref:O,children:[o&&(0,d.jsx)(`div`,{className:`charcoal-text-field-prefix`,children:o}),(0,d.jsx)(`div`,{className:`charcoal-text-field-input-root`,children:(0,d.jsx)(`input`,{className:`charcoal-text-field-input`,"aria-describedby":M?A:void 0,"aria-invalid":v,"aria-labelledby":j,id:k,"data-invalid":v===!0,maxLength:i,onChange:D,disabled:n,ref:Te(S,C),type:_,value:y,...x})}),(m||u)&&(0,d.jsxs)(`div`,{className:`charcoal-text-field-suffix`,children:[m,u&&(0,d.jsx)(`span`,{className:`charcoal-text-field-line-counter`,children:i===void 0?T:`${T}/${i}`})]})]}),M&&(0,d.jsx)(q,{"data-invalid":v===!0,id:A,children:e})]})}),ke=(0,c.forwardRef)(function({onChange:e,className:t,value:n,showCount:r=!1,showLabel:i=!1,label:a=``,requiredText:o,subLabel:s,disabled:l=!1,required:u,assistiveText:f,maxLength:p,autoHeight:m=!1,rows:_=4,maxRows:v,invalid:y,getCount:b=Ee,defaultValue:x,imperativeRef:S,...C},w){let T=n===void 0,E=n??x?.toString()??``,[D,O]=(0,c.useState)(_),[k,A]=(0,c.useState)(b(E)),j=(0,c.useRef)(null),M=(0,c.useRef)(null);De(M,j);let{visuallyHiddenProps:N}=(0,g.useVisuallyHidden)(),P=(0,c.useMemo)(()=>m||v&&v>=0,[m,v]),F=H(`charcoal-text-area-root`,t),I=f!=null&&f.length!==0,L=(0,c.useCallback)(e=>{let t=(`${e.value}\n`.match(/\n/gu)?.length??0)||1,n=v!==void 0&&v>=1,r=_<=t?t:_;if(!n){O(r);return}O(Math.min(r,v))},[_,v]),R=(0,c.useCallback)(e=>{let t=b(e.value);return T&&A(t),P&&L(e),t},[b,P,T,L]),ee=(0,c.useCallback)(t=>{let n=t.currentTarget.value,r=b(n);p!==void 0&&r>p||(R(t.currentTarget),e?.(n))},[b,p,e,R]);(0,c.useImperativeHandle)(S,()=>({setValue:e=>{j.current!==null&&(j.current.value=e,R(j.current))},sync:()=>{j.current!==null&&R(j.current)}}),[R]);let te=(0,h.useId)(C.id),z=(0,h.useId)(),B=(0,h.useId)();return(0,c.useEffect)(()=>{T||A(b(E)),P&&j.current!==null&&L(j.current)},[T,E,b,P,j,L]),(0,d.jsxs)(`div`,{className:F,"aria-disabled":l,children:[(0,d.jsx)(G,{htmlFor:te,id:B,label:a,required:u,requiredText:o,subLabel:s,...i?{}:N}),(0,d.jsxs)(`div`,{className:`charcoal-text-area-container`,"aria-disabled":l===!0?`true`:void 0,"aria-invalid":y===!0,ref:M,style:{"--charcoal-text-area-rows":`${r?D+1:D}`},children:[(0,d.jsx)(`textarea`,{className:`charcoal-text-area-textarea`,"aria-describedby":I?z:void 0,"aria-invalid":y,"aria-labelledby":B,id:te,maxLength:p,"data-no-bottom-padding":r,onChange:ee,ref:Te(w,j),rows:D,value:n,disabled:l,defaultValue:x,...C}),r&&(0,d.jsx)(`span`,{className:`charcoal-text-area-counter`,children:p===void 0?k:`${k}/${p}`})]}),I&&(0,d.jsx)(q,{"data-invalid":y===!0,id:z,children:f})]})});function Ae(e){let t=c.useRef(null);return c.useEffect(()=>{e&&(typeof e==`function`?e(t.current):e.current=t.current)}),t}const je=(0,c.forwardRef)(function({size:e,bottomSheet:t,className:n,...r},i){let a=Ae(i),{dialogProps:o}=(0,_.useDialog)({role:`dialog`},a);return(0,d.jsx)(`div`,{className:H(`charcoal-modal-dialog`,n),role:o.role,"data-bottom-sheet":t,tabIndex:o.tabIndex,"aria-labelledby":o[`aria-labelledby`],onBlur:o.onBlur,"data-size":e,ref:a,...r})}),Me=c.createContext(null);function Ne(e,t,n=!1){(0,c.useEffect)(()=>{if(t&&e){let t=e.style.paddingRight,r=e.style.overflow;return e.style.paddingRight=`${window.innerWidth-e.clientWidth}px`,e.style.overflow=n?`clip`:`hidden`,()=>{e.style.paddingRight=t,e.style.overflow=r}}},[e,t,n])}function Pe(e,t,n){let{overlayProps:r,underlayProps:i}=(0,b.useOverlay)({...e,isOpen:t.isOpen,onClose:t.onClose,shouldCloseOnInteractOutside:()=>!1},n);return Ne(typeof document<`u`?document.body:null,t.isOpen,e.overflowClip),(0,y.useOverlayFocusContain)(),c.useEffect(()=>{if(t.isOpen&&n.current)return(0,v.ariaHideOutside)([n.current])},[t.isOpen,n]),{modalProps:r,underlayProps:i}}function Fe(){return typeof window<`u`}function Ie(){let[e,t]=c.useState(Fe()?window.innerWidth:null);return c.useEffect(()=>{let e=()=>{t(window.innerWidth)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}}),e}const J=typeof window<`u`?l.useLayoutEffect:l.useEffect;function Le(e){return e===`entering`?`entered`:e===`exiting`?`exited`:e}function Re(e,t,n,r){let[i,a]=(0,l.useState)(`exited`);J(()=>{t?e?(n.current&&n.current.offsetHeight,a(e=>e===`exited`||e===`exiting`?`entering`:e)):a(e=>e===`exited`?e:`exiting`):a(e?`entered`:`exited`)},[e,t,n]);let o=i===`entering`||i===`exiting`;(0,l.useEffect)(()=>{if(!o)return;let e=setTimeout(()=>a(Le),500);return()=>clearTimeout(e)},[o,i]);let s=(0,l.useCallback)(e=>{e.target===r.current&&e.propertyName===`transform`&&a(Le)},[r]);return{isPresent:t?e||i!==`exited`:e,animationState:i,handleTransitionEnd:s}}const ze=(0,c.forwardRef)(function({children:e,zIndex:t=10,portalContainer:n,...r},i){let{title:a,size:o=`M`,bottomSheet:s=!1,isDismissable:l,onClose:u,className:f,isOpen:p=!1,closeButtonAriaLabel:m=`Close`}=r,h=(0,S.useObjectRef)(i),{modalProps:g,underlayProps:_}=Pe({...r,isKeyboardDismissDisabled:l===void 0||l===!1},{onClose:u,isOpen:p},h),v=(Ie()??1/0)<744,y=v&&s!==!1,b=!v||s!==!0,C=c.useRef(null),{isPresent:w,animationState:T,handleTransitionEnd:E}=Re(p,y,C,h),D=c.useCallback(e=>{e.currentTarget===e.target&&u()},[u]);return w?(0,d.jsx)(x.Overlay,{portalContainer:n,children:(0,d.jsx)(`div`,{className:`charcoal-modal-background`,ref:C,..._,style:{zIndex:t},"data-bottom-sheet":s,"data-animation":y?T:void 0,onClick:D,onTransitionEnd:E,children:(0,d.jsx)(Me.Provider,{value:C.current,children:(0,d.jsx)(je,{ref:h,...g,size:o,bottomSheet:s,className:f,children:(0,d.jsxs)(Ve.Provider,{value:{titleProps:{},title:a,close:u,showDismiss:b,bottomSheet:s},children:[e,l===!0&&(0,d.jsx)(He,{"aria-label":m,onClick:u})]})})})})}):null});var Be=(0,c.memo)(ze);const Ve=c.createContext({titleProps:{},title:``,close:void 0,showDismiss:!0,bottomSheet:!1});function He(e){return(0,d.jsx)(U,{className:`charcoal-modal-close-button`,size:`S`,icon:`24/Close`,type:`button`,...e})}function Ue(){let e=(0,c.useContext)(Ve);return(0,d.jsx)(`div`,{className:`charcoal-modal-header-root`,"data-bottom-sheet":e.bottomSheet,children:(0,d.jsx)(`div`,{className:`charcoal-modal-header-title`,children:e.title})})}const We=K(`charcoal-modal-align`),Ge=K(`charcoal-modal-body`),Ke=K(`charcoal-modal-buttons`),qe=(0,c.forwardRef)(function({size:e=48,padding:t=16,transparent:n=!1,...r},i){let a=H(`charcoal-loading-spinner`,r.className);return(0,d.jsx)(`div`,{role:`progressbar`,style:{"--charcoal-loading-spinner-size":`${e}px`,"--charcoal-loading-spinner-padding":`${t}px`},"data-transparent":n,className:a,ref:i,children:(0,d.jsx)(Ye,{})})});var Je=(0,c.memo)(qe);const Ye=(0,c.forwardRef)(function({once:e=!1},t){let n=(0,c.useRef)(null);return(0,c.useImperativeHandle)(t,()=>({restart:()=>{n.current&&(n.current.dataset.resetAnimation=`true`,n.current.offsetWidth,delete n.current.dataset.resetAnimation)}})),(0,d.jsx)(`div`,{role:`presentation`,ref:n,"data-once":e,className:`charcoal-loading-spinner-icon`})}),Y=()=>null;function Xe(e){let t=(0,c.useRef)(null),n=e.popoverRef===void 0?t:e.popoverRef,{popoverProps:r,underlayProps:i}=(0,C.usePopover)({triggerRef:e.triggerRef,popoverRef:n,containerPadding:16},{close:e.onClose,isOpen:e.isOpen,open:Y,setOpen:Y,toggle:Y});return Ne((0,c.useContext)(Me),e.isOpen),e.isOpen?(0,d.jsxs)(x.Overlay,{portalContainer:document.body,children:[(0,d.jsx)(`div`,{...i,...e.inertWorkaround?{"data-react-aria-top-layer":!0,onClick:e.onClose}:{},style:{position:`fixed`,zIndex:typeof r.style?.zIndex==`number`?r.style.zIndex-1:99999,inset:0}}),(0,d.jsxs)(`div`,{...r,ref:n,className:`charcoal-popover`,children:[(0,d.jsx)(x.DismissButton,{onDismiss:()=>e.onClose()}),(0,d.jsx)(`div`,{tabIndex:0,onFocus:e.onClose}),e.children,(0,d.jsx)(`div`,{tabIndex:0,onFocus:e.onClose}),(0,d.jsx)(x.DismissButton,{onDismiss:()=>e.onClose()})]})]}):null}function Ze({children:e,...t}){let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{t.isOpen&&n.current&&t.triggerRef.current&&(n.current.style.width=`${t.triggerRef.current.clientWidth}px`)},[t.triggerRef,t.isOpen]),(0,c.useEffect)(()=>{if(t.isOpen)if(t.value!==void 0&&t.value!==``){let e=window.scrollY,n=window.scrollX;document.querySelector(`[data-key="${t.value.toString()}"]`)?.focus(),window.scrollTo(n,e)}else{let e=n.current?.querySelector(`[role='option']`);e instanceof HTMLElement&&e.focus()}},[t.value,t.isOpen]),(0,d.jsx)(Xe,{isOpen:t.isOpen,onClose:t.onClose,popoverRef:n,triggerRef:t.triggerRef,inertWorkaround:t.inertWorkaround,children:e})}function Qe(e,t){let n=c.Children.toArray(e);for(let e=0;e<n.length;e++){let r=n[e];if(c.isValidElement(r)){if(`value`in r.props&&r.props.value===t&&`children`in r.props)return r.props.children;if(`children`in r.props){let e=Qe(r.props.children,t);if(e!==void 0)return e}}}}const X=(0,l.createContext)({root:void 0,value:``,propsArray:[],setValue:e=>{}});function $e(e){let t=c.Children.toArray(e),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(c.isValidElement(r)){let e=r.props;`value`in e&&typeof e.value==`string`&&n.push({disabled:e.disabled,value:e.value}),`children`in e&&e.children&&n.push(...$e(e.children))}}return n}function et(e){let t=(0,c.useRef)(null),n=(0,c.useMemo)(()=>$e(e.children),[e.children]);return(0,d.jsx)(`ul`,{className:`charcoal-menu-list`,ref:t,children:(0,d.jsx)(X.Provider,{value:{value:e.value??``,root:t,propsArray:n,setValue:t=>{e.onChange?.(t)}},children:e.children})})}function tt({onChange:e,showLabel:t=!1,selectRef:n,...r}){let i=(0,c.useRef)(null),[a,o]=(0,c.useState)(!1),s=Qe(r.children,r.value),l=(0,c.useMemo)(()=>r.placeholder!==void 0&&s===void 0,[s,r.placeholder]),u=$e(r.children),f=(0,c.useMemo)(()=>u.some(e=>e.value===r.value),[u,r.value]),{visuallyHiddenProps:p}=(0,g.useVisuallyHidden)(),m=(0,c.useCallback)(t=>{e(t.target.value)},[e]),_=(0,h.useId)(),v=(0,h.useId)();return(0,d.jsxs)(`div`,{className:H(`charcoal-dropdown-selector-root`,r.className),"aria-disabled":r.disabled,children:[(0,d.jsx)(G,{id:_,label:r.label,required:r.required,requiredText:r.requiredText,subLabel:r.subLabel,...t?{}:p}),(0,d.jsx)(`div`,{...p,"aria-hidden":`true`,children:(0,d.jsxs)(`select`,{name:r.name,value:r.value,onChange:m,tabIndex:-1,ref:n,children:[!f&&(0,d.jsx)(`option`,{value:r.value,children:r.value}),u.map(e=>(0,d.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.value},e.value))]})}),(0,d.jsxs)(`button`,{className:`charcoal-dropdown-selector-button`,"aria-labelledby":_,"aria-invalid":r.invalid,"aria-describedby":r.assistiveText===void 0?void 0:v,disabled:r.disabled,onClick:()=>{r.disabled!==!0&&o(!0)},ref:i,type:`button`,"data-active":a,children:[(0,d.jsx)(`span`,{className:`charcoal-ui-dropdown-selector-text`,"data-placeholder":l,children:l?r.placeholder:s}),(0,d.jsx)(W,{className:`charcoal-ui-dropdown-selector-icon`,name:`16/Menu`})]}),a&&(0,d.jsx)(Ze,{isOpen:a,onClose:()=>o(!1),triggerRef:i,value:r.value,inertWorkaround:r.inertWorkaround,children:(0,d.jsx)(et,{value:r.value,onChange:t=>{e(t),o(!1)},children:r.children})}),r.assistiveText!==void 0&&(0,d.jsx)(q,{"data-invalid":r.invalid===!0,id:v,children:r.assistiveText})]})}const nt=(0,c.forwardRef)(function({as:e,className:t,...n},r){return(0,d.jsx)((0,c.useMemo)(()=>e??`li`,[e]),{className:H(`charcoal-list-item`,t),ref:r,...n})});function rt(e,t){if(t.scrollHeight>t.clientHeight){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();n.bottom>r.bottom?t.scrollTo({top:t.scrollTop+n.bottom-r.bottom}):n.top<r.top&&t.scrollTo({top:t.scrollTop-(r.top-n.top)})}else it(e)}function it(e){let t=e.getBoundingClientRect();t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||e.scrollIntoView({block:`nearest`})}function at(e){let{setValue:t,root:n,propsArray:r}=(0,c.useContext)(X),i=(0,c.useCallback)(()=>{e!==void 0&&t(e)},[e,t]);return[(0,c.useCallback)(t=>{if(t.key===`Enter`)i();else if(t.key===`ArrowUp`||t.key===`ArrowDown`){let i=t.key===`ArrowDown`;if(t.preventDefault(),!r||e===void 0)return;let a=r.map(e=>e.value).filter(e=>e),o=a.indexOf(e);if(o===-1)return;for(let e=0;e<a.length;e++){let e=i?o+1>=a.length?a[0]:a[o+1]:o-1<0?a[a.length-1]:a[o-1],t=n?.current?.querySelector(`[data-key='${e}']`);if(t instanceof HTMLElement){if(t.ariaDisabled===`true`){o+=i?1:-1;continue}t.focus({preventScroll:!0}),n?.current?.parentElement&&rt(t,n.current.parentElement);break}}}},[i,r,e,n]),i]}const ot=(0,c.forwardRef)(function({className:e,value:t,disabled:n,...r},i){let[a,o]=at(t);return(0,d.jsx)(nt,{...r,ref:i,"data-key":t,onKeyDown:a,onClick:n===!0?void 0:o,tabIndex:-1,"aria-disabled":n,role:`option`,children:r.children})});function st(e){let{value:t}=(0,c.useContext)(X),n=e.value===t,{children:r,secondary:i,...a}=e,o=e.contentFullWidth?`charcoal-dropdown-selector-menu-fullwidth`:``;return(0,d.jsx)(ot,{...a,"aria-selected":n,children:(0,d.jsxs)(`div`,{className:o,children:[(0,d.jsxs)(`div`,{className:`charcoal-dropdown-selector-menu-item-container ${o}`,children:[n&&(0,d.jsx)(W,{className:`charcoal-dropdown-selector-menu-item-icon`,name:`16/Check`}),(0,d.jsx)(`span`,{className:`charcoal-dropdown-selector-menu-item ${o}`,"data-selected":n,children:r})]}),i&&(0,d.jsx)(`span`,{className:`charcoal-dropdown-selector-menu-secondary`,children:i})]})})}function ct(e){return(0,d.jsxs)(`li`,{className:`charcoal-menu-item-group`,role:`presentation`,children:[(0,d.jsx)(`span`,{children:e.text}),(0,d.jsx)(`ul`,{role:`group`,children:e.children})]})}const lt=(0,c.createContext)(null),ut=({value:e,children:t})=>(0,d.jsx)(lt.Provider,{value:e,children:t}),dt=()=>{let e=(0,c.useContext)(lt);if(e===null)throw Error("`<RadioProvider>` is not likely mounted.");return e},ft=(0,c.forwardRef)(function(e,t){let n=H(`charcoal-segmented-control`,e.className),r=(0,c.useMemo)(()=>({...e,isDisabled:e.disabled,isReadOnly:e.readonly,isRequired:e.required,"aria-label":e.name}),[e]),i=(0,T.useRadioGroupState)(r),{radioGroupProps:a}=(0,w.useRadioGroup)(r,i),o=(0,c.useMemo)(()=>e.data.map(e=>typeof e==`string`?{value:e,label:e}:e),[e.data]);return(0,d.jsx)(`div`,{ref:t,...a,className:n,"data-uniform-segment-width":e.uniformSegmentWidth,"data-full-width":e.fullWidth,children:(0,d.jsx)(ut,{value:i,children:o.map(t=>(0,d.jsx)(mt,{value:t.value,disabled:t.disabled,uniformSegmentWidth:e.uniformSegmentWidth,children:t.label},t.value))})})});var pt=(0,c.memo)(ft);const mt=e=>{let t=dt(),n=(0,c.useRef)(null),{inputProps:r,isDisabled:i,isSelected:a}=(0,w.useRadio)((0,c.useMemo)(()=>({value:e.value,isDisabled:e.disabled,children:e.children}),[e]),t,n);return(0,d.jsxs)(`label`,{className:`charcoal-segmented-control-radio__label`,"aria-disabled":i||t.isReadOnly,"data-checked":a,"data-uniform-segment-width":e.uniformSegmentWidth,"data-full-width":e.fullWidth,children:[(0,d.jsx)(`input`,{className:`charcoal-segmented-control-radio__input`,...r,ref:n}),e.children]})},ht=(0,c.forwardRef)(function({onChange:e,checked:t,invalid:n,className:r,rounded:i,...a},o){let s=(0,c.useCallback)(t=>{let n=t.currentTarget;e?.(n.checked)},[e]);return(0,d.jsx)(`input`,{className:H(`charcoal-checkbox-input`,r),ref:o,type:`checkbox`,onChange:s,"aria-invalid":n,checked:t,"data-rounded":i,...a})});var gt=(0,c.memo)(ht);const _t=c.default.memo(function({className:e,children:t,input:n,id:r,disabled:i}){return(0,d.jsxs)(`label`,{htmlFor:r,"aria-disabled":i,className:H(`charcoal-checkbox__label`,e),children:[n,(0,d.jsx)(`div`,{className:`charcoal-checkbox__label_div`,children:t})]})}),vt=(0,c.forwardRef)(function({disabled:e,className:t,id:n,children:r,...i},a){let o=(0,h.useId)(n),s=r===void 0,c=(0,d.jsx)(gt,{...i,className:s?t:void 0,disabled:e,id:o,ref:a});return s?c:(0,d.jsx)(_t,{className:t,disabled:e,id:o,input:c,children:r})});var yt=(0,c.memo)(vt);const bt=(0,c.forwardRef)(function({component:e,label:t,translatedLabel:n,bgColor:r=`#7ACCB1`,bgImage:i,size:a=`M`,status:o=`default`,disabled:s,"aria-disabled":l,...u},f){let p=(0,S.useObjectRef)(f),m=n!==void 0&&n.length>0,h=H(`charcoal-tag-item`,`charcoal-tag-item__bg`,u.className),g=i!==void 0&&i.length>0?`image`:`color`,_=g===`color`?r:`url(${i??``})`,v=(0,c.useMemo)(()=>e??`a`,[e]),y=v===`button`,{linkProps:b}=(0,E.useLink)({isDisabled:s,elementType:typeof v==`string`?v:`a`},p),x=y?{disabled:s,"aria-disabled":l}:b;return(0,d.jsxs)(v,{...u,...x,ref:p,className:h,"data-state":o,"data-bg-variant":g,"data-size":m?`M`:a,style:{"--charcoal-tag-item-bg":_},children:[(0,d.jsxs)(`div`,{className:`charcoal-tag-item__label`,"data-has-translate":m,children:[m&&(0,d.jsx)(`span`,{className:`charcoal-tag-item__label__translated`,children:n}),(0,d.jsx)(`span`,{className:`charcoal-tag-item__label__text`,"data-has-translate":m,children:t})]}),o===`active`&&(0,d.jsx)(W,{name:`16/Remove`})]})});var xt=(0,c.memo)(bt);function St({children:e,context:t=`section`,className:n}){return(0,d.jsxs)(`div`,{className:H(`charcoal-hint-text`,n),"data-context":t,children:[(0,d.jsx)(`div`,{className:`charcoal-hint-text-icon`,children:(0,d.jsx)(W,{name:`16/Info`})}),(0,d.jsx)(`p`,{className:`charcoal-hint-text-message`,children:e})]})}const Ct=(e,t,n)=>{if(!e)return;let r=t??Et(n);if(r)return r},wt=e=>(0,l.isValidElement)(e)&&!!e.props.children,Tt=e=>e==null||typeof e==`boolean`||JSON.stringify(e)===`{}`?``:e.toString(),Et=e=>!Array.isArray(e)&&!(0,l.isValidElement)(e)?Tt(e):l.Children.toArray(e).reduce((e,t)=>{let n=``;return n=(0,l.isValidElement)(t)&&wt(t)?Et(t.props.children):(0,l.isValidElement)(t)&&!wt(t)?``:Tt(t),e.concat(n)},``);function Dt(e){"use memo";let t=(0,D.c)(32),n,r,i,a,o,s,c,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8]):({lineHeight:r,lineLimit:a,children:n,title:l,hyphens:o,showTooltip:s,useNowrap:c,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l);let u=a===void 0?1:a,f=o===void 0?`auto`:o,p=s===void 0?!0:s,m=c===void 0?!1:c,h;t[9]!==n||t[10]!==p||t[11]!==l?(h=Ct(p,l,n),t[9]=n,t[10]=p,t[11]=l,t[12]=h):h=t[12];let g=h,_=H(`charcoal-text-ellipsis`,i.className),v=r!==void 0,y;t[13]===m?y=t[14]:(y=m?{"data-use-nowrap":m}:{},t[13]=m,t[14]=y);let b;t[15]!==v||t[16]!==r?(b=v&&{"--charcoal-text-ellipsis-line-height":`${r}px`},t[15]=v,t[16]=r,t[17]=b):b=t[17];let x;t[18]!==f||t[19]!==u||t[20]!==i.style||t[21]!==b?(x={...b,"--charcoal-text-ellipsis-line-limit":u,hyphens:f,...i.style},t[18]=f,t[19]=u,t[20]=i.style,t[21]=b,t[22]=x):x=t[22];let S=x,C;return t[23]!==n||t[24]!==_||t[25]!==g||t[26]!==v||t[27]!==u||t[28]!==i||t[29]!==y||t[30]!==S?(C=(0,d.jsx)(`div`,{...i,className:_,"data-line-limit":u,"data-has-line-height":v,...y,style:S,title:g,children:n}),t[23]=n,t[24]=_,t[25]=g,t[26]=v,t[27]=u,t[28]=i,t[29]=y,t[30]=S,t[31]=C):C=t[31],C}function Ot(e,t,n){"use memo";let r=(0,D.c)(8);if(r[0]!==`ba14feb6736cfb4c0d0d38e25b9e21619705224ad19f5dc886004a78f422b93d`){for(let e=0;e<8;e+=1)r[e]=Symbol.for(`react.memo_cache_sentinel`);r[0]=`ba14feb6736cfb4c0d0d38e25b9e21619705224ad19f5dc886004a78f422b93d`}let i=n===void 0?7:n;process.env.NODE_ENV!==`production`&&((0,p.default)((e|0)===e,`\`page\` must be integer (${e})`),(0,p.default)((t|0)===t,`\`pageCount\` must be integer (${t})`),(0,p.default)(i===5||i===7,`\`pageRangeDisplayed\` must be 5 or 7 (${i})`));let a=Math.min(t,Math.max(e+Math.floor(i/2),i)),o;if(a<=i){let e;r[1]===a?e=r[2]:(e=Array.from({length:1+a-1},kt),r[1]=a,r[2]=e),o=e}else{let e=a-(i-1)+2,t;if(r[3]!==e||r[4]!==a){let n;r[6]===e?n=r[7]:(n=(t,n)=>e+n,r[6]=e,r[7]=n),t=[1,`...`,...Array.from({length:1+a-e},n)],r[3]=e,r[4]=a,r[5]=t}else t=r[5];o=t}let s=o;return(0,l.useDebugValue)(s),s}function kt(e,t){return 1+t}const At=(0,l.createContext)(null);function jt(){let e=(0,l.useContext)(At);if(e==null)throw Error(`Pagination components must be used within a Pagination component`);return e}function Mt(e){"use memo";let t=(0,D.c)(15),{direction:n,ariaLabel:r}=e,{page:i,pageCount:a,size:o,isLinkMode:s,makeUrl:c,LinkComponent:l,makeClickHandler:u,linkProps:f}=jt(),p=n===`prev`,m=p?Math.max(1,i-1):Math.min(a,i+1),h=p?i<=1:i>=a,g=H(`charcoal-pagination-nav-button`,f?.className),_=p?`24/Prev`:`24/Next`,v=h||void 0,y;t[0]!==l||t[1]!==h||t[2]!==s||t[3]!==f||t[4]!==u||t[5]!==c||t[6]!==g||t[7]!==m?(y=s&&c?{component:l,href:c(m),"aria-disabled":h,...f,className:g}:{disabled:h,onClick:u(m),className:g},t[0]=l,t[1]=h,t[2]=s,t[3]=f,t[4]=u,t[5]=c,t[6]=g,t[7]=m,t[8]=y):y=t[8];let b;return t[9]!==r||t[10]!==o||t[11]!==_||t[12]!==v||t[13]!==y?(b=(0,d.jsx)(U,{icon:_,size:o,"data-hidden":v,"aria-label":r,...y}),t[9]=r,t[10]=o,t[11]=_,t[12]=v,t[13]=y,t[14]=b):b=t[14],b}function Nt(e){"use memo";let t=(0,D.c)(19),{value:n}=e,{page:r,size:i,isLinkMode:a,makeUrl:o,LinkComponent:s,makeClickHandler:c,linkProps:l}=jt(),u=H(`charcoal-pagination-button`,l?.className);if(n===`...`){let e;return t[0]===i?e=t[1]:(e=(0,d.jsx)(U,{icon:`24/Dot`,size:i,disabled:!0,className:`charcoal-pagination-spacer`,"aria-hidden":!0}),t[0]=i,t[1]=e),e}if(n===r){let e;return t[2]===n?e=t[3]:(e=(0,d.jsx)(`span`,{className:`charcoal-pagination-button`,"aria-current":`page`,children:n}),t[2]=n,t[3]=e),e}if(typeof n!=`number`)return null;if(a&&o){let e;t[4]!==o||t[5]!==n?(e=o(n),t[4]=o,t[5]=n,t[6]=e):e=t[6];let r;return t[7]!==s||t[8]!==l||t[9]!==u||t[10]!==e||t[11]!==n?(r=(0,d.jsx)(s,{href:e,...l,className:u,children:n}),t[7]=s,t[8]=l,t[9]=u,t[10]=e,t[11]=n,t[12]=r):r=t[12],r}let f;t[13]!==c||t[14]!==n?(f=c(n),t[13]=c,t[14]=n,t[15]=f):f=t[15];let p;return t[16]!==f||t[17]!==n?(p=(0,d.jsx)(`button`,{type:`button`,className:`charcoal-pagination-button`,onClick:f,children:n}),t[16]=f,t[17]=n,t[18]=p):p=t[18],p}function Pt(e){"use memo";let t=(0,D.c)(40),n,r,i,a,o,s,c,l,u,f,p,m;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],f=t[10],p=t[11],m=t[12]):({page:s,pageCount:c,pageRangeDisplayed:l,size:u,onChange:o,makeUrl:i,component:f,linkProps:r,className:n,ariaLabelNext:p,ariaLabelPrev:m,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=f,t[11]=p,t[12]=m);let h=u===void 0?`M`:u,g=f===void 0?`a`:f,_=p===void 0?`Next`:p,v=m===void 0?`Previous`:m,y=Ot(s,c,l),b=i!==void 0,x;t[13]===o?x=t[14]:(x=e=>()=>o?.(e),t[13]=o,t[14]=x);let S=x,C=H(`charcoal-pagination`,n),w;t[15]!==g||t[16]!==b||t[17]!==r||t[18]!==S||t[19]!==i||t[20]!==s||t[21]!==c||t[22]!==h?(w={page:s,pageCount:c,size:h,isLinkMode:b,makeUrl:i,LinkComponent:g,makeClickHandler:S,linkProps:r},t[15]=g,t[16]=b,t[17]=r,t[18]=S,t[19]=i,t[20]=s,t[21]=c,t[22]=h,t[23]=w):w=t[23];let T=w,E;t[24]===v?E=t[25]:(E=(0,d.jsx)(Mt,{direction:`prev`,ariaLabel:v}),t[24]=v,t[25]=E);let O;t[26]===y?O=t[27]:(O=y.map(Ft),t[26]=y,t[27]=O);let k;t[28]===_?k=t[29]:(k=(0,d.jsx)(Mt,{direction:`next`,ariaLabel:_}),t[28]=_,t[29]=k);let A;t[30]!==C||t[31]!==a||t[32]!==h||t[33]!==k||t[34]!==E||t[35]!==O?(A=(0,d.jsxs)(`nav`,{"data-size":h,"aria-label":`Pagination`,...a,className:C,children:[E,O,k]}),t[30]=C,t[31]=a,t[32]=h,t[33]=k,t[34]=E,t[35]=O,t[36]=A):A=t[36];let j;return t[37]!==A||t[38]!==T?(j=(0,d.jsx)(At.Provider,{value:T,children:A}),t[37]=A,t[38]=T,t[39]=j):j=t[39],j}function Ft(e){return(0,d.jsx)(Nt,{value:e},e)}const Z=new Map;function It(e,t){if(typeof window>`u`||typeof IntersectionObserver>`u`)return()=>void 0;let n=e.parentElement;if(!n)return()=>void 0;let r=Z.get(n);if(!r){let e=new Map;r={observer:new IntersectionObserver(t=>{for(let n of t)n.isIntersecting&&e.get(n.target)?.()},{root:n,rootMargin:`0px -50% 0px -50%`,threshold:0}),callbacks:e},Z.set(n,r)}return r.callbacks.set(e,t),r.observer.observe(e),()=>{let t=Z.get(n);t&&(t.callbacks.delete(e),t.observer.unobserve(e),t.callbacks.size===0&&(t.observer.disconnect(),Z.delete(n)))}}let Q=null;const $=new Map;function Lt(){return typeof window>`u`||typeof ResizeObserver>`u`?null:(Q||=new ResizeObserver(e=>{for(let t of e)$.get(t.target)?.()}),Q)}function Rt(e,t){let n=Lt();return n?($.set(e,t),n.observe(e),()=>{$.delete(e),n.unobserve(e),$.size===0&&(n.disconnect(),Q=null)}):()=>void 0}const zt=({index:e,store:t,onResize:n,children:r})=>{let i=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let n=i.current;if(n)return It(n,()=>t.dispatch({type:`setActive`,index:e}))},[e,t]),(0,c.useEffect)(()=>{let n=t.getSnapshot().scroll?.nonce??0;return t.subscribe(()=>{let r=t.getSnapshot().scroll;!r||r.index!==e||r.nonce===n||(n=r.nonce,i.current?.scrollIntoView({behavior:`smooth`,inline:`center`,block:`nearest`}))})},[e,t]),(0,c.useEffect)(()=>{let e=i.current;if(e)return Rt(e,n)},[n]),(0,d.jsx)(`div`,{ref:i,className:`charcoal-carousel__item`,children:r})};function Bt(e,t){let n=t,r=new Set;return{dispatch(t){n=e(n,t);for(let e of r)e()},subscribe(e){return r.add(e),()=>{r.delete(e)}},getSnapshot:()=>n}}const Vt={activeIndex:0,canPrev:!1,canNext:!1,scroll:null},Ht=(e,t)=>{switch(t.type){case`setActive`:return e.activeIndex===t.index?e:{...e,activeIndex:t.index};case`setScrollState`:return e.canPrev===t.canPrev&&e.canNext===t.canNext?e:{...e,canPrev:t.canPrev,canNext:t.canNext};case`requestScroll`:return{...e,scroll:{index:t.index,nonce:(e.scroll?.nonce??0)+1}}}};function Ut(){return Bt(Ht,Vt)}const Wt=[`pointerdown`,`wheel`,`touchstart`];function Gt(e,t,n,r){let{align:i,offset:a,scrollStep:o,onScroll:s,onResize:c,onScrollStateChange:u}=r,d=(0,l.useRef)(!0),f=(0,l.useRef)({onScroll:s,onResize:c,onScrollStateChange:u});(0,l.useEffect)(()=>{f.current={onScroll:s,onResize:c,onScrollStateChange:u}});let p=(0,l.useRef)(null),m=(0,l.useCallback)(()=>{let n=e.current;if(!n)return;let{scrollLeft:r,scrollWidth:i,clientWidth:a}=n,o=r>1,s=r<i-a-1;t.dispatch({type:`setScrollState`,canPrev:o,canNext:s});let c=o||s;p.current!==c&&(p.current=c,f.current.onScrollStateChange?.(c))},[e,t]),h=(0,l.useCallback)(()=>{let t=e.current;if(!t||!d.current)return;let n=t.scrollWidth-t.clientWidth,r=a;switch(i){case`center`:r=n/2+a;break;case`right`:r=n+a;break}t.scrollTo({left:Math.max(0,Math.min(r,n)),behavior:`instant`})},[e,i,a]);J(()=>{let t=e.current;if(!t)return;m();let n=()=>{m(),f.current.onScroll?.(t.scrollLeft)};return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[e,m,n]),J(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{h(),m(),f.current.onResize?.(t.clientWidth)});return n.observe(t),()=>n.disconnect()},[e,h,m]),J(()=>{d.current=!0,h(),m();let t=e.current;if(!t)return;let n=()=>{d.current=!1};for(let e of Wt)t.addEventListener(e,n,!0);return()=>{for(let e of Wt)t.removeEventListener(e,n,!0)}},[e,h,m,n]);let g=(0,l.useCallback)(()=>{h(),m()},[h,m]),_=(0,l.useCallback)(()=>{d.current=!0,h(),m()},[h,m]);return{scrollByStep:(0,l.useCallback)(t=>{let n=e.current;if(!n)return;d.current=!1;let{clientWidth:r,scrollWidth:i,scrollLeft:a}=n,s=typeof o==`function`?o({clientWidth:r,scrollWidth:i,scrollLeft:a,direction:t}):r*o;n.scrollBy({left:t===`next`?s:-s,behavior:`smooth`})},[e,o]),onItemResize:g,resetScroll:_}}const Kt=()=>Vt,qt={prev:`24/Prev`,next:`24/Next`},Jt=({direction:e,canScroll:t,onScroll:n})=>{let r=(0,c.useCallback)(()=>{n(e)},[n,e]);return(0,d.jsx)(U,{variant:`Overlay`,size:`S`,icon:qt[e],"aria-label":e===`prev`?`Previous`:`Next`,disabled:!t,onClick:r,className:`charcoal-carousel__navigation__item`,"data-direction":e,"data-hidden":!t})},Yt=({index:e,isActive:t,onSelect:n})=>{let r=(0,c.useCallback)(()=>{n(e)},[n,e]);return(0,d.jsx)(`button`,{className:`charcoal-carousel__indicator__item`,"data-active":t,"aria-current":t||void 0,"aria-label":`Go to slide ${e+1}`,onClick:r})},Xt=(0,c.forwardRef)(function({size:e=`M`,navigationButtons:t,indicator:n,hasGradient:r=!1,fullWidth:i=!1,scrollStep:a=.75,scrollSnap:o,onScroll:s,onResize:l,onScrollStateChange:u,defaultScroll:{align:f=`left`,offset:p=0}={},children:m,...h},g){let _=H(`charcoal-carousel`,h.className),v=t??e===`M`,y=n??e===`S`,b=o?.type??(e===`S`?`mandatory`:`none`),x=o?.align??`center`,S=c.Children.toArray(m),C=S.map((e,t)=>(0,c.isValidElement)(e)&&e.key!=null?e.key:t),w=(0,c.useRef)(null),[T]=(0,c.useState)(Ut),{scrollByStep:D,onItemResize:O,resetScroll:k}=Gt(w,T,S.length,{align:f,offset:p,scrollStep:a,onScroll:s,onResize:l,onScrollStateChange:u});(0,c.useImperativeHandle)(g,()=>({resetScroll:k}),[k]);let{activeIndex:A,canPrev:j,canNext:M}=(0,c.useSyncExternalStore)(T.subscribe,T.getSnapshot,Kt),N=(0,c.useCallback)(e=>T.dispatch({type:`requestScroll`,index:e}),[T]),{keyboardProps:P}=(0,E.useKeyboard)({onKeyDown:e=>{e.key===`ArrowRight`?(e.preventDefault(),D(`next`)):e.key===`ArrowLeft`?(e.preventDefault(),D(`prev`)):e.continuePropagation()}}),{focusProps:F,isFocusVisible:I}=(0,E.useFocusRing)(),{focusProps:L,isFocusVisible:R}=(0,E.useFocusRing)({within:!0});return(0,d.jsxs)(`div`,{...L,className:_,"data-size":e,"data-has-gradient":r,"data-full-width":i,"data-indicator":y,"data-scroll-snap-type":b,"data-scroll-snap-align":x,"data-can-prev":j,"data-can-next":M,"data-focus-visible-within":R||void 0,role:`region`,"aria-roledescription":`carousel`,"aria-label":`Carousel`,children:[(0,d.jsxs)(`div`,{className:`charcoal-carousel__viewport`,"data-focus-visible":I||void 0,children:[(0,d.jsx)(`div`,{...(0,E.mergeProps)(F,P),ref:w,className:`charcoal-carousel__scroller`,tabIndex:0,children:S.map((e,t)=>(0,d.jsx)(zt,{index:t,store:T,onResize:O,children:e},C[t]))}),(0,d.jsxs)(`div`,{className:`charcoal-carousel__navigation`,"data-visible":v,"aria-hidden":!v,children:[(0,d.jsx)(Jt,{direction:`prev`,canScroll:j,onScroll:D}),(0,d.jsx)(Jt,{direction:`next`,canScroll:M,onScroll:D})]})]}),(0,d.jsx)(`div`,{className:`charcoal-carousel__indicator`,"data-visible":y,"aria-hidden":!y,children:S.map((e,t)=>(0,d.jsx)(Yt,{index:t,isActive:t===A,onSelect:N},C[t]))})]})});Xt.displayName=`Carousel`;var Zt=(0,c.memo)(Xt);exports.Button=ce,exports.Carousel=Zt,exports.CharcoalProvider=j,exports.Checkbox=yt,exports.Clickable=le,exports.DropdownMenuItem=st,exports.DropdownSelector=tt,exports.HintText=St,exports.Icon=W,exports.IconButton=U,exports.LoadingSpinner=Je,exports.LoadingSpinnerIcon=Ye,exports.MenuItem=ot,exports.MenuItemGroup=ct,exports.Modal=Be,exports.ModalAlign=We,exports.ModalBody=Ge,exports.ModalButtons=Ke,exports.ModalCloseButton=He,exports.ModalHeader=Ue,exports.MultiSelect=ye,exports.MultiSelectGroup=be,Object.defineProperty(exports,`OverlayProvider`,{enumerable:!0,get:function(){return O.OverlayProvider}}),exports.Pagination=Pt,exports.Radio=he,exports.RadioGroup=ge,exports.SSRProvider=A,exports.SegmentedControl=pt,exports.SetThemeScript=se,exports.Switch=we,exports.TagItem=xt,exports.TextArea=ke,exports.TextEllipsis=Dt,exports.TextField=Oe,exports.getThemeSync=z,exports.makeSetThemeScriptCode=oe,exports.prefersColorScheme=ee,exports.themeSelector=R,exports.themeSetter=I,exports.useLocalStorage=ne,exports.useMedia=ae,exports.useTheme=B,exports.useThemeSetter=te;
|
|
12
12
|
//# sourceMappingURL=index.cjs.map
|