@mage-ui/components 1.0.61 → 1.0.63

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.
@@ -1,8 +1,10 @@
1
+ import { CalendarEventVariantProps } from "@mage-ui/styled-system/recipes";
1
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
3
  import { CSSProperties } from "react";
3
4
  import { DateLocalizer, DateLocalizer as DateLocalizer$1, Event, Event as CalendarEvent, momentLocalizer } from "react-big-calendar";
4
5
 
5
6
  //#region src/components/data-display/calendar/Calendar.d.ts
7
+ type CalendarVariant = NonNullable<CalendarEventVariantProps['variant']>;
6
8
  type CalendarProps = {
7
9
  localizer: DateLocalizer;
8
10
  events?: Event[];
@@ -14,6 +16,7 @@ type CalendarProps = {
14
16
  event?: string;
15
17
  agenda?: string;
16
18
  timeGrid?: string;
19
+ popup?: string;
17
20
  };
18
21
  onSelectEvent?: (event: Event) => void;
19
22
  onSelectSlot?: (slotInfo: {
@@ -26,7 +29,7 @@ type CalendarProps = {
26
29
  defaultDate?: Date;
27
30
  min?: Date;
28
31
  max?: Date;
29
- eventPropGetter?: (event: object, start: Date, end: Date, isSelected: boolean) => {
32
+ eventPropGetter?: (event: Event, start: Date, end: Date, isSelected: boolean) => {
30
33
  className?: string;
31
34
  style?: CSSProperties;
32
35
  };
@@ -62,5 +65,5 @@ declare const Calendar$1: ({
62
65
  components
63
66
  }: CalendarProps) => react_jsx_runtime0.JSX.Element;
64
67
  //#endregion
65
- export { Calendar$1 as Calendar, type CalendarEvent, CalendarProps, type DateLocalizer$1 as DateLocalizer, momentLocalizer };
68
+ export { Calendar$1 as Calendar, type CalendarEvent, CalendarProps, CalendarVariant, type DateLocalizer$1 as DateLocalizer, momentLocalizer };
66
69
  //# sourceMappingURL=Calendar.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.mts","names":[],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"mappings":";;;;;KAqBY,aAAA;EACV,SAAA,EAAW,aAAA;EACX,MAAA,GAAS,KAAA;EACT,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,KAAA;IACA,KAAA;IACA,MAAA;IACA,QAAA;EAAA;EAEF,aAAA,IAAiB,KAAA,EAAO,KAAA;EACxB,YAAA,IAAgB,QAAA;IACd,KAAA,EAAO,IAAA;IACP,GAAA,EAAK,IAAA;IACL,MAAA;EAAA;EAEF,UAAA,IAAc,IAAA,EAAM,IAAA,EAAM,IAAA;EAC1B,WAAA;EACA,WAAA,GAAc,IAAA;EACd,GAAA,GAAM,IAAA;EACN,GAAA,GAAM,IAAA;EACN,eAAA,IACE,KAAA,UACA,KAAA,EAAO,IAAA,EACP,GAAA,EAAK,IAAA,EACL,UAAA;IACK,SAAA;IAAoB,KAAA,GAAQ,aAAA;EAAA;EACnC,aAAA,IAAiB,IAAA,EAAM,IAAA;IAAW,SAAA;IAAoB,KAAA,GAAQ,aAAA;EAAA;EAC9D,KAAA,GAAQ,KAAA;EACR,OAAA;EACA,OAAA;EACA,QAAA;EACA,KAAA;EACA,UAAA;AAAA;AAAA,cAGW,UAAA;EAAY,SAAA;EAAA,MAAA;EAAA,UAAA;EAAA,aAAA;EAAA,YAAA;EAAA,UAAA;EAAA,WAAA;EAAA,WAAA;EAAA,GAAA;EAAA,GAAA;EAAA,eAAA;EAAA,aAAA;EAAA,KAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA;AAAA,GAmBtB,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Calendar.d.mts","names":[],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"mappings":";;;;;;KAuBY,eAAA,GAAkB,WAAA,CAAY,yBAAA;AAAA,KAE9B,aAAA;EACV,SAAA,EAAW,aAAA;EACX,MAAA,GAAS,KAAA;EACT,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,KAAA;IACA,KAAA;IACA,MAAA;IACA,QAAA;IACA,KAAA;EAAA;EAEF,aAAA,IAAiB,KAAA,EAAO,KAAA;EACxB,YAAA,IAAgB,QAAA;IACd,KAAA,EAAO,IAAA;IACP,GAAA,EAAK,IAAA;IACL,MAAA;EAAA;EAEF,UAAA,IAAc,IAAA,EAAM,IAAA,EAAM,IAAA;EAC1B,WAAA;EACA,WAAA,GAAc,IAAA;EACd,GAAA,GAAM,IAAA;EACN,GAAA,GAAM,IAAA;EACN,eAAA,IACE,KAAA,EAAO,KAAA,EACP,KAAA,EAAO,IAAA,EACP,GAAA,EAAK,IAAA,EACL,UAAA;IACK,SAAA;IAAoB,KAAA,GAAQ,aAAA;EAAA;EACnC,aAAA,IAAiB,IAAA,EAAM,IAAA;IAAW,SAAA;IAAoB,KAAA,GAAQ,aAAA;EAAA;EAC9D,KAAA,GAAQ,KAAA;EACR,OAAA;EACA,OAAA;EACA,QAAA;EACA,KAAA;EACA,UAAA;AAAA;AAAA,cAGW,UAAA;EAAY,SAAA;EAAA,MAAA;EAAA,UAAA;EAAA,aAAA;EAAA,YAAA;EAAA,UAAA;EAAA,WAAA;EAAA,WAAA;EAAA,GAAA;EAAA,GAAA;EAAA,eAAA;EAAA,aAAA;EAAA,KAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA;AAAA,GAmBtB,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{cx as e}from"@mage-ui/styled-system/css";import{calendar as t,calendarAgenda as n,calendarEvent as r,calendarMonth as i,calendarRoot as a,calendarTimeGrid as o,calendarToolbar as s}from"@mage-ui/styled-system/recipes";import{jsx as c}from"react/jsx-runtime";import{Calendar as l,momentLocalizer as u}from"react-big-calendar";const d=({localizer:u,events:d,classNames:f,onSelectEvent:p,onSelectSlot:m,onNavigate:h,defaultView:g,defaultDate:_,min:v,max:y,eventPropGetter:b,dayPropGetter:x,views:S,formats:C,culture:w,messages:T,popup:E,components:D})=>c(l,{className:e(f?.calendar??t(),f?.root??a(),f?.toolbar??s(),f?.month??i(),f?.event??r(),f?.agenda??n(),f?.timeGrid??o()),localizer:u,events:d,onSelectEvent:p,onSelectSlot:m,onNavigate:h,defaultView:g,defaultDate:_,min:v,max:y,eventPropGetter:b,dayPropGetter:x,views:S,formats:C,culture:w,messages:T,popup:E,components:D});export{d as Calendar,u as momentLocalizer};
1
+ import{cx as e}from"@mage-ui/styled-system/css";import{calendar as t,calendarAgenda as n,calendarEvent as r,calendarMonth as i,calendarPopup as a,calendarRoot as o,calendarTimeGrid as s,calendarToolbar as c}from"@mage-ui/styled-system/recipes";import{jsx as l}from"react/jsx-runtime";import{Calendar as u,momentLocalizer as d}from"react-big-calendar";const f=({localizer:d,events:f,classNames:p,onSelectEvent:m,onSelectSlot:h,onNavigate:g,defaultView:_,defaultDate:v,min:y,max:b,eventPropGetter:x,dayPropGetter:S,views:C,formats:w,culture:T,messages:E,popup:D,components:O})=>l(u,{className:e(p?.calendar??t(),p?.root??o(),p?.toolbar??c(),p?.month??i(),p?.agenda??n(),p?.timeGrid??s(),p?.popup??a()),localizer:d,events:f,onSelectEvent:m,onSelectSlot:h,onNavigate:g,defaultView:_,defaultDate:v,min:y,max:b,eventPropGetter:(t,n,i,a)=>{let o=x?.(t,n,i,a),{variant:s}=t;return{...o,className:e(p?.event,r({variant:s}),o?.className)}},dayPropGetter:S,views:C,formats:w,culture:T,messages:E,popup:D,components:O});export{f as Calendar,d as momentLocalizer};
2
2
  //# sourceMappingURL=Calendar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.mjs","names":["Calendar","BigCalendar"],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport {\n Calendar as BigCalendar,\n type DateLocalizer,\n type Event,\n} from 'react-big-calendar';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n calendar,\n calendarAgenda,\n calendarEvent,\n calendarMonth,\n calendarRoot,\n calendarTimeGrid,\n calendarToolbar,\n} from '@mage-ui/styled-system/recipes';\n\nexport type { DateLocalizer, Event as CalendarEvent } from 'react-big-calendar';\nexport { momentLocalizer } from 'react-big-calendar';\n\nexport type CalendarProps = {\n localizer: DateLocalizer;\n events?: Event[];\n classNames?: {\n calendar?: string;\n root?: string;\n toolbar?: string;\n month?: string;\n event?: string;\n agenda?: string;\n timeGrid?: string;\n };\n onSelectEvent?: (event: Event) => void;\n onSelectSlot?: (slotInfo: {\n start: Date;\n end: Date;\n action: 'select' | 'click' | 'doubleClick';\n }) => void;\n onNavigate?: (date: Date, view: string) => void;\n defaultView?: 'month' | 'week' | 'day' | 'agenda';\n defaultDate?: Date;\n min?: Date;\n max?: Date;\n eventPropGetter?: (\n event: object,\n start: Date,\n end: Date,\n isSelected: boolean,\n ) => { className?: string; style?: CSSProperties };\n dayPropGetter?: (date: Date) => { className?: string; style?: CSSProperties };\n views?: Array<'month' | 'week' | 'day' | 'agenda'>;\n formats?: object;\n culture?: string;\n messages?: object;\n popup?: boolean;\n components?: object;\n};\n\nexport const Calendar = ({\n localizer,\n events,\n classNames,\n onSelectEvent,\n onSelectSlot,\n onNavigate,\n defaultView,\n defaultDate,\n min,\n max,\n eventPropGetter,\n dayPropGetter,\n views,\n formats,\n culture,\n messages,\n popup,\n components,\n}: CalendarProps) => {\n return (\n <BigCalendar\n className={cx(\n classNames?.calendar ?? calendar(),\n classNames?.root ?? calendarRoot(),\n classNames?.toolbar ?? calendarToolbar(),\n classNames?.month ?? calendarMonth(),\n classNames?.event ?? calendarEvent(),\n classNames?.agenda ?? calendarAgenda(),\n classNames?.timeGrid ?? calendarTimeGrid(),\n )}\n localizer={localizer}\n events={events}\n onSelectEvent={onSelectEvent}\n onSelectSlot={onSelectSlot}\n onNavigate={onNavigate}\n defaultView={defaultView}\n defaultDate={defaultDate}\n min={min}\n max={max}\n eventPropGetter={eventPropGetter}\n dayPropGetter={dayPropGetter}\n views={views}\n formats={formats}\n culture={culture}\n messages={messages}\n popup={popup}\n components={components}\n />\n );\n};\n"],"mappings":"4UA2DA,MAAaA,GAAY,CACvB,YACA,SACA,aACA,gBACA,eACA,aACA,cACA,cACA,MACA,MACA,kBACA,gBACA,QACA,UACA,UACA,WACA,QACA,gBAGE,EAACC,EAAAA,CACC,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CAClC,GAAY,SAAW,GAAiB,CACxC,GAAY,OAAS,GAAe,CACpC,GAAY,OAAS,GAAe,CACpC,GAAY,QAAU,GAAgB,CACtC,GAAY,UAAY,GAAkB,CAC3C,CACU,YACH,SACO,gBACD,eACF,aACC,cACA,cACR,MACA,MACY,kBACF,gBACR,QACE,UACA,UACC,WACH,QACK,cACZ"}
1
+ {"version":3,"file":"Calendar.mjs","names":["Calendar","BigCalendar"],"sources":["../../../../src/components/data-display/calendar/Calendar.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport {\n Calendar as BigCalendar,\n type DateLocalizer,\n type Event,\n} from 'react-big-calendar';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport type { CalendarEventVariantProps } from '@mage-ui/styled-system/recipes';\nimport {\n calendar,\n calendarAgenda,\n calendarEvent,\n calendarMonth,\n calendarPopup,\n calendarRoot,\n calendarTimeGrid,\n calendarToolbar,\n} from '@mage-ui/styled-system/recipes';\n\nexport type { DateLocalizer, Event as CalendarEvent } from 'react-big-calendar';\nexport { momentLocalizer } from 'react-big-calendar';\n\nexport type CalendarVariant = NonNullable<CalendarEventVariantProps['variant']>;\n\nexport type CalendarProps = {\n localizer: DateLocalizer;\n events?: Event[];\n classNames?: {\n calendar?: string;\n root?: string;\n toolbar?: string;\n month?: string;\n event?: string;\n agenda?: string;\n timeGrid?: string;\n popup?: string;\n };\n onSelectEvent?: (event: Event) => void;\n onSelectSlot?: (slotInfo: {\n start: Date;\n end: Date;\n action: 'select' | 'click' | 'doubleClick';\n }) => void;\n onNavigate?: (date: Date, view: string) => void;\n defaultView?: 'month' | 'week' | 'day' | 'agenda';\n defaultDate?: Date;\n min?: Date;\n max?: Date;\n eventPropGetter?: (\n event: Event,\n start: Date,\n end: Date,\n isSelected: boolean,\n ) => { className?: string; style?: CSSProperties };\n dayPropGetter?: (date: Date) => { className?: string; style?: CSSProperties };\n views?: Array<'month' | 'week' | 'day' | 'agenda'>;\n formats?: object;\n culture?: string;\n messages?: object;\n popup?: boolean;\n components?: object;\n};\n\nexport const Calendar = ({\n localizer,\n events,\n classNames,\n onSelectEvent,\n onSelectSlot,\n onNavigate,\n defaultView,\n defaultDate,\n min,\n max,\n eventPropGetter,\n dayPropGetter,\n views,\n formats,\n culture,\n messages,\n popup,\n components,\n}: CalendarProps) => {\n const handleEventProps = (\n event: Event,\n start: Date,\n end: Date,\n isSelected: boolean,\n ) => {\n const customProps = eventPropGetter?.(event, start, end, isSelected);\n const { variant } = event as { variant?: CalendarVariant };\n\n return {\n ...customProps,\n className: cx(\n classNames?.event,\n calendarEvent({ variant }),\n customProps?.className,\n ),\n };\n };\n\n return (\n <BigCalendar\n className={cx(\n classNames?.calendar ?? calendar(),\n classNames?.root ?? calendarRoot(),\n classNames?.toolbar ?? calendarToolbar(),\n classNames?.month ?? calendarMonth(),\n classNames?.agenda ?? calendarAgenda(),\n classNames?.timeGrid ?? calendarTimeGrid(),\n classNames?.popup ?? calendarPopup(),\n )}\n localizer={localizer}\n events={events}\n onSelectEvent={onSelectEvent}\n onSelectSlot={onSelectSlot}\n onNavigate={onNavigate}\n defaultView={defaultView}\n defaultDate={defaultDate}\n min={min}\n max={max}\n eventPropGetter={handleEventProps}\n dayPropGetter={dayPropGetter}\n views={views}\n formats={formats}\n culture={culture}\n messages={messages}\n popup={popup}\n components={components}\n />\n );\n};\n"],"mappings":"+VAgEA,MAAaA,GAAY,CACvB,YACA,SACA,aACA,gBACA,eACA,aACA,cACA,cACA,MACA,MACA,kBACA,gBACA,QACA,UACA,UACA,WACA,QACA,gBAsBE,EAACC,EAAAA,CACC,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CAClC,GAAY,SAAW,GAAiB,CACxC,GAAY,OAAS,GAAe,CACpC,GAAY,QAAU,GAAgB,CACtC,GAAY,UAAY,GAAkB,CAC1C,GAAY,OAAS,GAAe,CACrC,CACU,YACH,SACO,gBACD,eACF,aACC,cACA,cACR,MACA,MACL,iBAtCF,EACA,EACA,EACA,IACG,CACH,IAAM,EAAc,IAAkB,EAAO,EAAO,EAAK,EAAW,CAC9D,CAAE,WAAY,EAEpB,MAAO,CACL,GAAG,EACH,UAAW,EACT,GAAY,MACZ,EAAc,CAAE,UAAS,CAAC,CAC1B,GAAa,UACd,CACF,EAwBgB,gBACR,QACE,UACA,UACC,WACH,QACK,cACZ"}
@@ -1,7 +1,7 @@
1
1
  import { AssignedUser, AssignedUserProps } from "./assigned-user/AssignedUser.mjs";
2
2
  import { Avatar, AvatarProps } from "./avatar/Avatar.mjs";
3
3
  import { Badge, BadgeProps } from "./badge/Badge.mjs";
4
- import { Calendar, CalendarEvent, CalendarProps, DateLocalizer, momentLocalizer } from "./calendar/Calendar.mjs";
4
+ import { Calendar, CalendarEvent, CalendarProps, CalendarVariant, DateLocalizer, momentLocalizer } from "./calendar/Calendar.mjs";
5
5
  import { Icon, IconProps } from "./icons/icon/Icon.mjs";
6
6
  import { IconRaw, IconRawProps } from "./icons/icon-raw/IconRaw.mjs";
7
7
  import { IconSvg, IconSvgProps } from "./icons/icon-svg/IconSvg.mjs";
@@ -13,7 +13,7 @@ import { DatePicker, DatePickerProps } from "./controls/date-picker/DatePicker.m
13
13
  import { AssignedUser, AssignedUserProps } from "./data-display/assigned-user/AssignedUser.mjs";
14
14
  import { Avatar, AvatarProps } from "./data-display/avatar/Avatar.mjs";
15
15
  import { Badge, BadgeProps } from "./data-display/badge/Badge.mjs";
16
- import { Calendar, CalendarEvent, CalendarProps, DateLocalizer, momentLocalizer } from "./data-display/calendar/Calendar.mjs";
16
+ import { Calendar, CalendarEvent, CalendarProps, CalendarVariant, DateLocalizer, momentLocalizer } from "./data-display/calendar/Calendar.mjs";
17
17
  import { Icon, IconProps } from "./data-display/icons/icon/Icon.mjs";
18
18
  import { IconRaw, IconRawProps } from "./data-display/icons/icon-raw/IconRaw.mjs";
19
19
  import { IconSvg, IconSvgProps } from "./data-display/icons/icon-svg/IconSvg.mjs";
@@ -1,5 +1,5 @@
1
1
  import { ModalClassNames, ModalIntent, ModalProps, ModalRootProps } from "./modal-types.mjs";
2
- import { ModalRegistry, ModalRegistryEntry, registerModal } from "./modal-registry.mjs";
2
+ import { ModalRegistry, ModalRegistryEntry } from "./modal-registry.mjs";
3
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import * as react from "react";
5
5
  import * as _ebay_nice_modal_react0 from "@ebay/nice-modal-react";
@@ -14,7 +14,7 @@ declare const Modal: (({
14
14
  children: react.ReactNode;
15
15
  modals?: ModalRegistry;
16
16
  }>;
17
- register: typeof registerModal;
17
+ register: <T extends ModalRegistryEntry>(id: string, entry: T) => T;
18
18
  show: (modal: unknown, args?: Record<string, unknown>) => Promise<unknown>;
19
19
  hide: typeof _ebay_nice_modal_react0.hide;
20
20
  Overlay: {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/Modal.tsx"],"mappings":";;;;;;;cAsBa,KAAA;EAAK,EAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cAAA,KAAA,CAAA,SAAA;;;;yBAIK,IAAA,GAAS,MAAA,sBAAuB,OAAA;eAAA,uBAAA,CAAA,IAAA"}
1
+ {"version":3,"file":"Modal.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/Modal.tsx"],"mappings":";;;;;;;cA8Da,KAAA;EAAK,EAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cAAA,KAAA,CAAA,SAAA;;;;yBAlBF,IAAA,GACP,MAAA,sBACN,OAAA;eAAO,uBAAA,CAAA,IAAA"}
@@ -1,2 +1,2 @@
1
- import{ModalBody as e,ModalCloseButton as t,ModalContent as n,ModalFooter as r,ModalHeader as i,ModalOverlay as a,ModalTitle as o}from"./modal-primitives.mjs";import{ModalInner as s}from"./modal-core.mjs";import{ModalProvider as c,registerModal as l}from"./modal-registry.mjs";import u,{unregister as d}from"@ebay/nice-modal-react";const f=Object.assign(s,{displayName:`Modal`,Provider:c,register:l,show:(e,t)=>(d(t?.id),u.show(e,t)),hide:u.hide,Overlay:a,Content:n,Header:i,Body:e,Title:o,CloseButton:t,Footer:r});export{f as Modal};
1
+ import{ModalBody as e,ModalCloseButton as t,ModalContent as n,ModalFooter as r,ModalHeader as i,ModalOverlay as a,ModalTitle as o}from"./modal-primitives.mjs";import{trackManagedId as s,untrackManagedId as c}from"./modal-managed-ids.mjs";import{ModalInner as l}from"./modal-core.mjs";import{ModalProvider as u,registerModal as d}from"./modal-registry.mjs";import f,{unregister as p}from"@ebay/nice-modal-react";const m=e=>{if(!(typeof e!=`function`&&typeof e!=`object`))for(let t of Object.getOwnPropertySymbols(e)){let n=e[t];if(typeof n==`string`)return n}},h=e=>{let t=m(e);t&&(c(t),p(t))},g=e=>{let t=m(e);t&&s(t)},_=Object.assign(l,{displayName:`Modal`,Provider:u,register:d,show:(e,t)=>{p(t?.id),h(e);let n=f.show(e,t);return g(e),n},hide:f.hide,Overlay:a,Content:n,Header:i,Body:e,Title:o,CloseButton:t,Footer:r});export{_ as Modal};
2
2
  //# sourceMappingURL=Modal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","names":[],"sources":["../../../../src/components/overlays/modal/Modal.tsx"],"sourcesContent":["import NiceModal, { unregister } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n ModalTitle,\n} from './modal-primitives';\nimport { ModalProvider, registerModal } from './modal-registry';\n\nexport type { ModalRegistry, ModalRegistryEntry } from './modal-registry';\nexport type {\n ModalClassNames,\n ModalIntent,\n ModalProps,\n ModalRootProps,\n} from './modal-types';\n\nexport const Modal = Object.assign(ModalInner, {\n displayName: 'Modal' as const,\n Provider: ModalProvider,\n register: registerModal,\n show: (modal: unknown, args?: Record<string, unknown>) => {\n unregister(args?.id as string);\n return (\n NiceModal.show as (\n modal: unknown,\n args?: Record<string, unknown>,\n ) => Promise<unknown>\n )(modal, args);\n },\n hide: NiceModal.hide,\n Overlay: ModalOverlay,\n Content: ModalContent,\n Header: ModalHeader,\n Body: ModalBody,\n Title: ModalTitle,\n CloseButton: ModalCloseButton,\n Footer: ModalFooter,\n});\n"],"mappings":"4UAsBA,MAAa,EAAQ,OAAO,OAAO,EAAY,CAC7C,YAAa,QACb,SAAU,EACV,SAAU,EACV,MAAO,EAAgB,KACrB,EAAW,GAAM,GAAa,CAE5B,EAAU,KAIV,EAAO,EAAK,EAEhB,KAAM,EAAU,KAChB,QAAS,EACT,QAAS,EACT,OAAQ,EACR,KAAM,EACN,MAAO,EACP,YAAa,EACb,OAAQ,EACT,CAAC"}
1
+ {"version":3,"file":"Modal.mjs","names":[],"sources":["../../../../src/components/overlays/modal/Modal.tsx"],"sourcesContent":["import NiceModal, { unregister } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n ModalTitle,\n} from './modal-primitives';\nimport { trackManagedId, untrackManagedId } from './modal-managed-ids';\nimport { ModalProvider, registerModal } from './modal-registry';\n\nexport type { ModalRegistry, ModalRegistryEntry } from './modal-registry';\nexport type {\n ModalClassNames,\n ModalIntent,\n ModalProps,\n ModalRootProps,\n} from './modal-types';\n\nconst getNiceModalId = (modal: unknown): string | undefined => {\n if (typeof modal !== 'function' && typeof modal !== 'object') return;\n for (const sym of Object.getOwnPropertySymbols(modal as object)) {\n const val = (modal as Record<symbol, unknown>)[sym];\n if (typeof val === 'string') return val;\n }\n};\n\nconst resetModalRegistration = (modal: unknown): void => {\n const id = getNiceModalId(modal);\n if (!id) return;\n untrackManagedId(id);\n unregister(id);\n};\n\nconst protectModalRegistration = (modal: unknown): void => {\n const id = getNiceModalId(modal);\n if (id) trackManagedId(id);\n};\n\nconst showModal = (\n modal: unknown,\n args?: Record<string, unknown>,\n): Promise<unknown> => {\n unregister(args?.id as string);\n resetModalRegistration(modal);\n\n const result = (\n NiceModal.show as (\n modal: unknown,\n args?: Record<string, unknown>,\n ) => Promise<unknown>\n )(modal, args);\n\n protectModalRegistration(modal);\n\n return result;\n};\n\nexport const Modal = Object.assign(ModalInner, {\n displayName: 'Modal' as const,\n Provider: ModalProvider,\n register: registerModal,\n show: showModal,\n hide: NiceModal.hide,\n Overlay: ModalOverlay,\n Content: ModalContent,\n Header: ModalHeader,\n Body: ModalBody,\n Title: ModalTitle,\n CloseButton: ModalCloseButton,\n Footer: ModalFooter,\n});\n"],"mappings":"2ZAuBA,MAAM,EAAkB,GAAuC,CACzD,YAAO,GAAU,YAAc,OAAO,GAAU,UACpD,IAAK,IAAM,KAAO,OAAO,sBAAsB,EAAgB,CAAE,CAC/D,IAAM,EAAO,EAAkC,GAC/C,GAAI,OAAO,GAAQ,SAAU,OAAO,IAIlC,EAA0B,GAAyB,CACvD,IAAM,EAAK,EAAe,EAAM,CAC3B,IACL,EAAiB,EAAG,CACpB,EAAW,EAAG,GAGV,EAA4B,GAAyB,CACzD,IAAM,EAAK,EAAe,EAAM,CAC5B,GAAI,EAAe,EAAG,EAsBf,EAAQ,OAAO,OAAO,EAAY,CAC7C,YAAa,QACb,SAAU,EACV,SAAU,EACV,MAtBA,EACA,IACqB,CACrB,EAAW,GAAM,GAAa,CAC9B,EAAuB,EAAM,CAE7B,IAAM,EACJ,EAAU,KAIV,EAAO,EAAK,CAId,OAFA,EAAyB,EAAM,CAExB,GAQP,KAAM,EAAU,KAChB,QAAS,EACT,QAAS,EACT,OAAQ,EACR,KAAM,EACN,MAAO,EACP,YAAa,EACb,OAAQ,EACT,CAAC"}
@@ -1,2 +1,2 @@
1
- import{ModalBody as e,ModalCloseButton as t,ModalContent as n,ModalHeader as r,ModalOverlay as i,ModalRoot as a,ModalTitle as o}from"./modal-primitives.mjs";import{jsx as s,jsxs as c}from"react/jsx-runtime";import l,{useEffect as u,useState as d}from"react";import f,{unregister as p,useModal as m}from"@ebay/nice-modal-react";const h=[`Modal.Header`,`Modal.Body`,`Modal.Content`,`Modal.Overlay`,`Modal.Title`,`Modal.CloseButton`,`Modal.Footer`],g=({opened:u,onClose:d,centered:f,closeOnClickOutside:p,closeOnEscape:m,withinPortal:g,keepMounted:_,intent:v,classNames:y,title:b,withCloseButton:x=!0,children:S})=>{let C=l.Children.toArray(S).some(e=>{if(!l.isValidElement(e))return!1;let t=e.type;return t.displayName&&h.includes(t.displayName)}),w={opened:u,onClose:d,centered:f,closeOnClickOutside:p,closeOnEscape:m,withinPortal:g,keepMounted:_,intent:v,classNames:y};if(C)return s(a,{...w,children:S});let T=!!b||x;return c(a,{...w,children:[s(i,{}),c(n,{children:[T&&c(r,{children:[b&&s(o,{children:b}),x&&s(t,{})]}),s(e,{children:S})]})]})},_=f.create(({onClose:e,children:t,...n})=>{let r=m(),[i,a]=d(!1);return u(()=>{if(r.visible){let e=requestAnimationFrame(()=>{a(!0)});return()=>cancelAnimationFrame(e)}a(!1)},[r.visible]),s(g,{opened:i,onClose:()=>{e?.(),r.hide()},...n,children:t})}),v=({id:e,...t})=>(p(e),f.register(e,()=>s(_,{id:e,...t})),s(_,{id:e,...t}));export{v as ModalInner};
1
+ import{ModalBody as e,ModalCloseButton as t,ModalContent as n,ModalHeader as r,ModalOverlay as i,ModalRoot as a,ModalTitle as o}from"./modal-primitives.mjs";import{isManagedId as s}from"./modal-managed-ids.mjs";import{jsx as c,jsxs as l}from"react/jsx-runtime";import u,{useEffect as d,useState as f}from"react";import p,{unregister as m,useModal as h}from"@ebay/nice-modal-react";const g=[`Modal.Header`,`Modal.Body`,`Modal.Content`,`Modal.Overlay`,`Modal.Title`,`Modal.CloseButton`,`Modal.Footer`],_=({opened:s,onClose:d,centered:f,closeOnClickOutside:p,closeOnEscape:m,withinPortal:h,keepMounted:_,intent:v,classNames:y,title:b,withCloseButton:x=!0,children:S})=>{let C=u.Children.toArray(S).some(e=>{if(!u.isValidElement(e))return!1;let t=e.type;return t.displayName&&g.includes(t.displayName)}),w={opened:s,onClose:d,centered:f,closeOnClickOutside:p,closeOnEscape:m,withinPortal:h,keepMounted:_,intent:v,classNames:y};if(C)return c(a,{...w,children:S});let T=!!b||x;return l(a,{...w,children:[c(i,{}),l(n,{children:[T&&l(r,{children:[b&&c(o,{children:b}),x&&c(t,{})]}),c(e,{children:S})]})]})},v=p.create(({onClose:e,children:t,...n})=>{let r=h(),[i,a]=f(!1);return d(()=>{if(r.visible){let e=requestAnimationFrame(()=>{a(!0)});return()=>cancelAnimationFrame(e)}a(!1)},[r.visible]),c(_,{opened:i,onClose:()=>{e?.(),r.hide()},...n,children:t})}),y=({id:e,...t})=>(e!=null&&!s(e)&&(m(e),p.register(e,()=>c(v,{id:e,...t}))),c(v,{id:e,...t}));export{y as ModalInner};
2
2
  //# sourceMappingURL=modal-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-core.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-core.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalHeader,\n ModalOverlay,\n ModalRoot,\n ModalTitle,\n} from './modal-primitives';\nimport type { ModalCoreProps, ModalProps } from './modal-types';\n\nconst SLOT_DISPLAY_NAMES = [\n 'Modal.Header',\n 'Modal.Body',\n 'Modal.Content',\n 'Modal.Overlay',\n 'Modal.Title',\n 'Modal.CloseButton',\n 'Modal.Footer',\n] as const;\n\nexport const ModalCore = ({\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n title,\n withCloseButton = true,\n children,\n}: ModalCoreProps) => {\n const hasSlots = React.Children.toArray(children).some((child) => {\n if (!React.isValidElement(child)) return false;\n const childType = child.type as { displayName?: string };\n return (\n childType.displayName &&\n SLOT_DISPLAY_NAMES.includes(\n childType.displayName as (typeof SLOT_DISPLAY_NAMES)[number],\n )\n );\n });\n\n const props = {\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n };\n\n if (hasSlots) {\n return <ModalRoot {...props}>{children}</ModalRoot>;\n }\n\n const hasHeader = !!title || withCloseButton;\n\n return (\n <ModalRoot {...props}>\n <ModalOverlay />\n <ModalContent>\n {hasHeader && (\n <ModalHeader>\n {title && <ModalTitle>{title}</ModalTitle>}\n {withCloseButton && <ModalCloseButton />}\n </ModalHeader>\n )}\n <ModalBody>{children}</ModalBody>\n </ModalContent>\n </ModalRoot>\n );\n};\n\nconst ModalInnerComponent = NiceModal.create<ModalProps>(\n ({ onClose, children, ...props }: ModalProps) => {\n const modal = useModal();\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (modal.visible) {\n const raf = requestAnimationFrame(() => {\n setIsOpen(true);\n });\n return () => cancelAnimationFrame(raf);\n }\n\n setIsOpen(false);\n }, [modal.visible]);\n\n return (\n <ModalCore\n opened={isOpen}\n onClose={() => {\n onClose?.();\n modal.hide();\n }}\n {...props}\n >\n {children}\n </ModalCore>\n );\n },\n);\n\nexport const ModalInner = ({ id, ...props }: ModalProps) => {\n unregister(id);\n NiceModal.register(id, () => <ModalInnerComponent id={id} {...props} />);\n return <ModalInnerComponent id={id} {...props} />;\n};\n"],"mappings":"uUAeA,MAAM,EAAqB,CACzB,eACA,aACA,gBACA,gBACA,cACA,oBACA,eACD,CAEY,GAAa,CACxB,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACA,QACA,kBAAkB,GAClB,cACoB,CACpB,IAAM,EAAW,EAAM,SAAS,QAAQ,EAAS,CAAC,KAAM,GAAU,CAChE,GAAI,CAAC,EAAM,eAAe,EAAM,CAAE,MAAO,GACzC,IAAM,EAAY,EAAM,KACxB,OACE,EAAU,aACV,EAAmB,SACjB,EAAU,YACX,EAEH,CAEI,EAAQ,CACZ,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACD,CAED,GAAI,EACF,OAAO,EAAC,EAAA,CAAU,GAAI,EAAQ,YAAqB,CAGrD,IAAM,EAAY,CAAC,CAAC,GAAS,EAE7B,OACE,EAAC,EAAA,CAAU,GAAI,YACb,EAAC,EAAA,EAAA,CAAe,CAChB,EAAC,EAAA,CAAA,SAAA,CACE,GACC,EAAC,EAAA,CAAA,SAAA,CACE,GAAS,EAAC,EAAA,CAAA,SAAY,EAAA,CAAmB,CACzC,GAAmB,EAAC,EAAA,EAAA,CAAmB,CAAA,CAAA,CAC5B,CAEhB,EAAC,EAAA,CAAW,WAAA,CAAqB,CAAA,CAAA,CACpB,CAAA,EACL,EAIV,EAAsB,EAAU,QACnC,CAAE,UAAS,WAAU,GAAG,KAAwB,CAC/C,IAAM,EAAQ,GAAU,CAClB,CAAC,EAAQ,GAAa,EAAS,GAAM,CAa3C,OAXA,MAAgB,CACd,GAAI,EAAM,QAAS,CACjB,IAAM,EAAM,0BAA4B,CACtC,EAAU,GAAK,EACf,CACF,UAAa,qBAAqB,EAAI,CAGxC,EAAU,GAAM,EACf,CAAC,EAAM,QAAQ,CAAC,CAGjB,EAAC,EAAA,CACC,OAAQ,EACR,YAAe,CACb,KAAW,CACX,EAAM,MAAM,EAEd,GAAI,EAEH,YACS,EAGjB,CAEY,GAAc,CAAE,KAAI,GAAG,MAClC,EAAW,EAAG,CACd,EAAU,SAAS,MAAU,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS,CAAC,CACjE,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS"}
1
+ {"version":3,"file":"modal-core.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-core.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalHeader,\n ModalOverlay,\n ModalRoot,\n ModalTitle,\n} from './modal-primitives';\nimport { isManagedId } from './modal-managed-ids';\nimport type { ModalCoreProps, ModalProps } from './modal-types';\n\nconst SLOT_DISPLAY_NAMES = [\n 'Modal.Header',\n 'Modal.Body',\n 'Modal.Content',\n 'Modal.Overlay',\n 'Modal.Title',\n 'Modal.CloseButton',\n 'Modal.Footer',\n] as const;\n\nexport const ModalCore = ({\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n title,\n withCloseButton = true,\n children,\n}: ModalCoreProps) => {\n const hasSlots = React.Children.toArray(children).some((child) => {\n if (!React.isValidElement(child)) return false;\n const childType = child.type as { displayName?: string };\n return (\n childType.displayName &&\n SLOT_DISPLAY_NAMES.includes(\n childType.displayName as (typeof SLOT_DISPLAY_NAMES)[number],\n )\n );\n });\n\n const props = {\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n };\n\n if (hasSlots) {\n return <ModalRoot {...props}>{children}</ModalRoot>;\n }\n\n const hasHeader = !!title || withCloseButton;\n\n return (\n <ModalRoot {...props}>\n <ModalOverlay />\n <ModalContent>\n {hasHeader && (\n <ModalHeader>\n {title && <ModalTitle>{title}</ModalTitle>}\n {withCloseButton && <ModalCloseButton />}\n </ModalHeader>\n )}\n <ModalBody>{children}</ModalBody>\n </ModalContent>\n </ModalRoot>\n );\n};\n\nconst ModalInnerComponent = NiceModal.create<ModalProps>(\n ({ onClose, children, ...props }: ModalProps) => {\n const modal = useModal();\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (modal.visible) {\n const raf = requestAnimationFrame(() => {\n setIsOpen(true);\n });\n return () => cancelAnimationFrame(raf);\n }\n\n setIsOpen(false);\n }, [modal.visible]);\n\n return (\n <ModalCore\n opened={isOpen}\n onClose={() => {\n onClose?.();\n modal.hide();\n }}\n {...props}\n >\n {children}\n </ModalCore>\n );\n },\n);\n\nexport const ModalInner = ({ id, ...props }: ModalProps) => {\n if (id != null && !isManagedId(id)) {\n unregister(id);\n NiceModal.register(id, () => <ModalInnerComponent id={id} {...props} />);\n }\n return <ModalInnerComponent id={id} {...props} />;\n};\n"],"mappings":"6XAgBA,MAAM,EAAqB,CACzB,eACA,aACA,gBACA,gBACA,cACA,oBACA,eACD,CAEY,GAAa,CACxB,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACA,QACA,kBAAkB,GAClB,cACoB,CACpB,IAAM,EAAW,EAAM,SAAS,QAAQ,EAAS,CAAC,KAAM,GAAU,CAChE,GAAI,CAAC,EAAM,eAAe,EAAM,CAAE,MAAO,GACzC,IAAM,EAAY,EAAM,KACxB,OACE,EAAU,aACV,EAAmB,SACjB,EAAU,YACX,EAEH,CAEI,EAAQ,CACZ,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACD,CAED,GAAI,EACF,OAAO,EAAC,EAAA,CAAU,GAAI,EAAQ,YAAqB,CAGrD,IAAM,EAAY,CAAC,CAAC,GAAS,EAE7B,OACE,EAAC,EAAA,CAAU,GAAI,YACb,EAAC,EAAA,EAAA,CAAe,CAChB,EAAC,EAAA,CAAA,SAAA,CACE,GACC,EAAC,EAAA,CAAA,SAAA,CACE,GAAS,EAAC,EAAA,CAAA,SAAY,EAAA,CAAmB,CACzC,GAAmB,EAAC,EAAA,EAAA,CAAmB,CAAA,CAAA,CAC5B,CAEhB,EAAC,EAAA,CAAW,WAAA,CAAqB,CAAA,CAAA,CACpB,CAAA,EACL,EAIV,EAAsB,EAAU,QACnC,CAAE,UAAS,WAAU,GAAG,KAAwB,CAC/C,IAAM,EAAQ,GAAU,CAClB,CAAC,EAAQ,GAAa,EAAS,GAAM,CAa3C,OAXA,MAAgB,CACd,GAAI,EAAM,QAAS,CACjB,IAAM,EAAM,0BAA4B,CACtC,EAAU,GAAK,EACf,CACF,UAAa,qBAAqB,EAAI,CAGxC,EAAU,GAAM,EACf,CAAC,EAAM,QAAQ,CAAC,CAGjB,EAAC,EAAA,CACC,OAAQ,EACR,YAAe,CACb,KAAW,CACX,EAAM,MAAM,EAEd,GAAI,EAEH,YACS,EAGjB,CAEY,GAAc,CAAE,KAAI,GAAG,MAC9B,GAAM,MAAQ,CAAC,EAAY,EAAG,GAChC,EAAW,EAAG,CACd,EAAU,SAAS,MAAU,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS,CAAC,EAEnE,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=new Set,t=t=>{e.add(t)},n=t=>{e.delete(t)},r=t=>e.has(t);export{r as isManagedId,t as trackManagedId,n as untrackManagedId};
2
+ //# sourceMappingURL=modal-managed-ids.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-managed-ids.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-managed-ids.ts"],"sourcesContent":["const _managedIds = new Set<string>();\n\nexport const trackManagedId = (id: string): void => {\n _managedIds.add(id);\n};\n\nexport const untrackManagedId = (id: string): void => {\n _managedIds.delete(id);\n};\n\nexport const isManagedId = (id: string): boolean => {\n return _managedIds.has(id);\n};\n"],"mappings":"AAAA,MAAM,EAAc,IAAI,IAEX,EAAkB,GAAqB,CAClD,EAAY,IAAI,EAAG,EAGR,EAAoB,GAAqB,CACpD,EAAY,OAAO,EAAG,EAGX,EAAe,GACnB,EAAY,IAAI,EAAG"}
@@ -6,7 +6,6 @@ type ModalRegistryEntry = ModalProps | ComponentType<{
6
6
  id: string;
7
7
  } & Record<string, unknown>> | ReactElement;
8
8
  type ModalRegistry = Record<string, ModalRegistryEntry>;
9
- declare function registerModal<T extends ModalRegistryEntry>(id: string, entry: T): T;
10
9
  //#endregion
11
- export { ModalRegistry, ModalRegistryEntry, registerModal };
10
+ export { ModalRegistry, ModalRegistryEntry };
12
11
  //# sourceMappingURL=modal-registry.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-registry.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"mappings":";;;;KAYY,kBAAA,GACR,UAAA,GACA,aAAA;EAAgB,EAAA;AAAA,IAAe,MAAA,qBAC/B,YAAA;AAAA,KAEQ,aAAA,GAAgB,MAAA,SAAe,kBAAA;AAAA,iBAE3B,aAAA,WAAwB,kBAAA,CAAA,CACtC,EAAA,UACA,KAAA,EAAO,CAAA,GACN,CAAA"}
1
+ {"version":3,"file":"modal-registry.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"mappings":";;;;KAeY,kBAAA,GACR,UAAA,GACA,aAAA;EAAgB,EAAA;AAAA,IAAe,MAAA,qBAC/B,YAAA;AAAA,KAEQ,aAAA,GAAgB,MAAA,SAAe,kBAAA"}
@@ -1,2 +1,2 @@
1
- import{ModalInner as e}from"./modal-core.mjs";import{jsx as t}from"react/jsx-runtime";import{isValidElement as n}from"react";import r,{unregister as i,useModal as a}from"@ebay/nice-modal-react";function o(o,s){i(o);let c=typeof s==`function`?({id:e,...n})=>{let r=a(e).args??{};return t(s,{id:e,...n,...r})}:()=>n(s)?s:t(e,{...s});return r.register(o,c),s}const s=({children:e,modals:n})=>(n&&Object.entries(n).forEach(([e,t])=>{o(e,t)}),t(r.Provider,{children:e}));export{s as ModalProvider,o as registerModal};
1
+ import{trackManagedId as e,untrackManagedId as t}from"./modal-managed-ids.mjs";import{ModalInner as n}from"./modal-core.mjs";import{jsx as r}from"react/jsx-runtime";import{isValidElement as i,useEffect as a,useRef as o}from"react";import s,{unregister as c,useModal as l}from"@ebay/nice-modal-react";const u=(a,o)=>{t(a),c(a),e(a);let u=typeof o==`function`?({id:e,...t})=>{let n=l(e).args??{};return r(o,{id:e,...t,...n})}:()=>i(o)?o:r(n,{...o});return s.register(a,u),o},d=({children:e,modals:t})=>{let n=o(!1);return!n.current&&t&&(Object.entries(t).forEach(([e,t])=>{u(e,t)}),n.current=!0),a(()=>{t&&Object.entries(t).forEach(([e,t])=>{u(e,t)})},[t]),r(s.Provider,{children:e})};export{d as ModalProvider,u as registerModal};
2
2
  //# sourceMappingURL=modal-registry.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-registry.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"sourcesContent":["import {\n type ComponentType,\n isValidElement,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport type { ModalProps } from './modal-types';\n\nexport type ModalRegistryEntry =\n | ModalProps\n | ComponentType<{ id: string } & Record<string, unknown>>\n | ReactElement;\n\nexport type ModalRegistry = Record<string, ModalRegistryEntry>;\n\nexport function registerModal<T extends ModalRegistryEntry>(\n id: string,\n entry: T,\n): T {\n unregister(id);\n\n const modalComponent: ComponentType<\n { id: string } & Record<string, unknown>\n > =\n typeof entry === 'function'\n ? ({ id, ...props }: { id: string } & Record<string, unknown>) => {\n const modal = useModal(id);\n const args = (modal.args ?? {}) as Record<string, unknown>;\n const Component = entry as ComponentType<Record<string, unknown>>;\n return <Component id={id} {...props} {...args} />;\n }\n : () => (isValidElement(entry) ? entry : <ModalInner {...entry} />);\n\n NiceModal.register(id, modalComponent);\n return entry;\n}\n\nexport const ModalProvider: ComponentType<{\n children: ReactNode;\n modals?: ModalRegistry;\n}> = ({ children, modals }) => {\n if (modals) {\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n }\n\n return <NiceModal.Provider>{children}</NiceModal.Provider>;\n};\n"],"mappings":"kMAmBA,SAAgB,EACd,EACA,EACG,CACH,EAAW,EAAG,CAEd,IAAM,EAGJ,OAAO,GAAU,YACZ,CAAE,KAAI,GAAG,KAAsD,CAE9D,IAAM,EADQ,EAAS,EAAG,CACN,MAAQ,EAAE,CAE9B,OAAO,EADW,EAAA,CACI,KAAI,GAAI,EAAO,GAAI,GAAQ,MAE5C,EAAe,EAAM,CAAG,EAAQ,EAAC,EAAA,CAAW,GAAI,EAAA,CAAS,CAGtE,OADA,EAAU,SAAS,EAAI,EAAe,CAC/B,EAGT,MAAa,GAGP,CAAE,WAAU,aACZ,GACF,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,CAGG,EAAC,EAAU,SAAA,CAAU,WAAA,CAA8B"}
1
+ {"version":3,"file":"modal-registry.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"sourcesContent":["import {\n type ComponentType,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useEffect,\n useRef,\n} from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport { trackManagedId, untrackManagedId } from './modal-managed-ids';\nimport type { ModalProps } from './modal-types';\n\nexport type ModalRegistryEntry =\n | ModalProps\n | ComponentType<{ id: string } & Record<string, unknown>>\n | ReactElement;\n\nexport type ModalRegistry = Record<string, ModalRegistryEntry>;\n\nexport const registerModal = <T extends ModalRegistryEntry>(\n id: string,\n entry: T,\n): T => {\n untrackManagedId(id);\n unregister(id);\n trackManagedId(id);\n\n const modalComponent: ComponentType<\n { id: string } & Record<string, unknown>\n > =\n typeof entry === 'function'\n ? ({ id, ...props }: { id: string } & Record<string, unknown>) => {\n const modal = useModal(id);\n const args = (modal.args ?? {}) as Record<string, unknown>;\n const Component = entry as ComponentType<Record<string, unknown>>;\n return <Component id={id} {...props} {...args} />;\n }\n : () => (isValidElement(entry) ? entry : <ModalInner {...entry} />);\n\n NiceModal.register(id, modalComponent);\n return entry;\n};\n\nexport const ModalProvider: ComponentType<{\n children: ReactNode;\n modals?: ModalRegistry;\n}> = ({ children, modals }) => {\n const registeredRef = useRef(false);\n\n if (!registeredRef.current && modals) {\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n registeredRef.current = true;\n }\n\n useEffect(() => {\n if (!modals) return;\n\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n }, [modals]);\n\n return <NiceModal.Provider>{children}</NiceModal.Provider>;\n};\n"],"mappings":"4SAsBA,MAAa,GACX,EACA,IACM,CACN,EAAiB,EAAG,CACpB,EAAW,EAAG,CACd,EAAe,EAAG,CAElB,IAAM,EAGJ,OAAO,GAAU,YACZ,CAAE,KAAI,GAAG,KAAsD,CAE9D,IAAM,EADQ,EAAS,EAAG,CACN,MAAQ,EAAE,CAE9B,OAAO,EADW,EAAA,CACI,KAAI,GAAI,EAAO,GAAI,GAAQ,MAE5C,EAAe,EAAM,CAAG,EAAQ,EAAC,EAAA,CAAW,GAAI,EAAA,CAAS,CAGtE,OADA,EAAU,SAAS,EAAI,EAAe,CAC/B,GAGI,GAGP,CAAE,WAAU,YAAa,CAC7B,IAAM,EAAgB,EAAO,GAAM,CAiBnC,MAfI,CAAC,EAAc,SAAW,IAC5B,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,CACF,EAAc,QAAU,IAG1B,MAAgB,CACT,GAEL,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,EACD,CAAC,EAAO,CAAC,CAEL,EAAC,EAAU,SAAA,CAAU,WAAA,CAA8B"}
package/dist/index.d.mts CHANGED
@@ -12,7 +12,7 @@ import { DatePicker, DatePickerProps } from "./components/controls/date-picker/D
12
12
  import { AssignedUser, AssignedUserProps } from "./components/data-display/assigned-user/AssignedUser.mjs";
13
13
  import { Avatar, AvatarProps } from "./components/data-display/avatar/Avatar.mjs";
14
14
  import { Badge, BadgeProps } from "./components/data-display/badge/Badge.mjs";
15
- import { Calendar, CalendarEvent, CalendarProps, DateLocalizer, momentLocalizer } from "./components/data-display/calendar/Calendar.mjs";
15
+ import { Calendar, CalendarEvent, CalendarProps, CalendarVariant, DateLocalizer, momentLocalizer } from "./components/data-display/calendar/Calendar.mjs";
16
16
  import { Icon, IconProps } from "./components/data-display/icons/icon/Icon.mjs";
17
17
  import { IconRaw, IconRawProps } from "./components/data-display/icons/icon-raw/IconRaw.mjs";
18
18
  import { IconSvg, IconSvgProps } from "./components/data-display/icons/icon-svg/IconSvg.mjs";
@@ -66,4 +66,4 @@ import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs
66
66
  import "./components/index.mjs";
67
67
  import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
68
68
  import "./providers/index.mjs";
69
- export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, Card, CardProps, Checkbox, CheckboxProps, Chevron, ChevronProps, ClearButton, ClearButtonProps, Combobox, ComboboxProps, DateLocalizer, DatePicker, DatePickerProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, MultiSelect, MultiSelectProps, MultiSelectTags, MultiSelectTagsProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, OptionProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordInputStrength, PasswordInputStrengthProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, VisuallyHidden, VisuallyHiddenProps, momentLocalizer, usePasswordRules, z };
69
+ export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarVariant, Card, CardProps, Checkbox, CheckboxProps, Chevron, ChevronProps, ClearButton, ClearButtonProps, Combobox, ComboboxProps, DateLocalizer, DatePicker, DatePickerProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, MultiSelect, MultiSelectProps, MultiSelectTags, MultiSelectTagsProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, OptionProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordInputStrength, PasswordInputStrengthProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, VisuallyHidden, VisuallyHiddenProps, momentLocalizer, usePasswordRules, z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mage-ui/components",
3
- "version": "1.0.61",
3
+ "version": "1.0.63",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [],
@@ -25,7 +25,7 @@
25
25
  "rimraf": "^6.1.3",
26
26
  "tsdown": "^0.20.3",
27
27
  "typescript": "^5.9.3",
28
- "@mage-ui/preset": "1.0.61",
28
+ "@mage-ui/preset": "1.0.63",
29
29
  "@mage-ui/styled-system": "1.0.8"
30
30
  },
31
31
  "peerDependencies": {