@prizmui/components 0.1.3 → 0.1.5
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/components/Popover/Popover.context.d.ts +8 -0
- package/dist/components/Popover/Popover.context.d.ts.map +1 -0
- package/dist/components/Popover/Popover.context.js +2 -0
- package/dist/components/Popover/Popover.d.ts +4 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/Popover.js +14 -0
- package/dist/components/Popover/Popover.types.d.ts +15 -0
- package/dist/components/Popover/Popover.types.d.ts.map +1 -0
- package/dist/components/Popover/Popover.types.js +1 -0
- package/dist/components/Popover/PopoverContent.d.ts +4 -0
- package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
- package/dist/components/Popover/PopoverContent.js +8 -0
- package/dist/components/Popover/PopoverSurface.d.ts +4 -0
- package/dist/components/Popover/PopoverSurface.d.ts.map +1 -0
- package/dist/components/Popover/PopoverSurface.js +34 -0
- package/dist/components/Popover/PopoverTrigger.d.ts +4 -0
- package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
- package/dist/components/Popover/PopoverTrigger.js +28 -0
- package/dist/components/Popover/index.d.ts +8 -0
- package/dist/components/Popover/index.d.ts.map +1 -0
- package/dist/components/Popover/index.js +4 -0
- package/dist/components/Popover/renderPopoverContent.d.ts +4 -0
- package/dist/components/Popover/renderPopoverContent.d.ts.map +1 -0
- package/dist/components/Popover/renderPopoverContent.js +7 -0
- package/dist/components/Popover/renderPopoverTrigger.d.ts +4 -0
- package/dist/components/Popover/renderPopoverTrigger.d.ts.map +1 -0
- package/dist/components/Popover/renderPopoverTrigger.js +6 -0
- package/dist/components/Popover/usePopoverContent.d.ts +3 -0
- package/dist/components/Popover/usePopoverContent.d.ts.map +1 -0
- package/dist/components/Popover/usePopoverContent.js +39 -0
- package/dist/components/Popover/usePopoverContentStyles.styles.d.ts +5 -0
- package/dist/components/Popover/usePopoverContentStyles.styles.d.ts.map +1 -0
- package/dist/components/Popover/usePopoverContentStyles.styles.js +19 -0
- package/dist/components/Popover/usePopoverSurfaceStyles.styles.d.ts +5 -0
- package/dist/components/Popover/usePopoverSurfaceStyles.styles.d.ts.map +1 -0
- package/dist/components/Popover/usePopoverSurfaceStyles.styles.js +14 -0
- package/dist/components/Popover/usePopoverTrigger.d.ts +3 -0
- package/dist/components/Popover/usePopoverTrigger.d.ts.map +1 -0
- package/dist/components/Popover/usePopoverTrigger.js +31 -0
- package/dist/components/PrizmProvider/ThemeContext.d.ts +3 -0
- package/dist/components/PrizmProvider/ThemeContext.d.ts.map +1 -0
- package/dist/components/PrizmProvider/ThemeContext.js +2 -0
- package/dist/components/PrizmProvider/index.d.ts +1 -0
- package/dist/components/PrizmProvider/index.d.ts.map +1 -1
- package/dist/components/PrizmProvider/index.js +1 -0
- package/dist/components/PrizmProvider/renderProvider.d.ts.map +1 -1
- package/dist/components/PrizmProvider/renderProvider.js +2 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/package.json +4 -4
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StateObject } from 'jsx-framework-test-pb';
|
|
2
|
+
export type PopoverContextValue = {
|
|
3
|
+
open: StateObject<boolean>;
|
|
4
|
+
triggerId: string;
|
|
5
|
+
contentId: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const PopoverContext: import("jsx-framework-test-pb").Context<PopoverContextValue | null>;
|
|
8
|
+
//# sourceMappingURL=Popover.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.context.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,cAAc,qEAAkD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAepC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
|
|
2
|
+
import { state } from 'jsx-framework-test-pb';
|
|
3
|
+
import { PopoverContext } from './Popover.context';
|
|
4
|
+
let _popoverId = 0;
|
|
5
|
+
export const Popover = (props) => {
|
|
6
|
+
const { children, defaultOpen = false } = props;
|
|
7
|
+
const open = state(defaultOpen);
|
|
8
|
+
const id = ++_popoverId;
|
|
9
|
+
return (_jsx(PopoverContext.Provider, { value: {
|
|
10
|
+
open,
|
|
11
|
+
triggerId: `c-popover-trigger-${id}`,
|
|
12
|
+
contentId: `c-popover-content-${id}`,
|
|
13
|
+
}, children: children }));
|
|
14
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ComponentProps, ComponentState, Slot } from '../../utilities';
|
|
2
|
+
export type PopoverProps = {
|
|
3
|
+
children?: any;
|
|
4
|
+
/** @default false */
|
|
5
|
+
defaultOpen?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type PopoverTriggerProps = {
|
|
8
|
+
children?: any;
|
|
9
|
+
};
|
|
10
|
+
export type PopoverSurfaceSlots = {
|
|
11
|
+
root: NonNullable<Slot<'div'>>;
|
|
12
|
+
};
|
|
13
|
+
export type PopoverSurfaceProps = ComponentProps<PopoverSurfaceSlots>;
|
|
14
|
+
export type PopoverSurfaceState = ComponentState<PopoverSurfaceSlots>;
|
|
15
|
+
//# sourceMappingURL=Popover.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.types.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAI5E,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,qBAAqB;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAClB,CAAC;AAIF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverContent.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAK3D,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAMlD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { usePopoverContent } from './usePopoverContent';
|
|
2
|
+
import { usePopoverContentStyles } from './usePopoverContentStyles.styles';
|
|
3
|
+
import { renderPopoverContent } from './renderPopoverContent';
|
|
4
|
+
export const PopoverContent = (props) => {
|
|
5
|
+
const state = usePopoverContent(props);
|
|
6
|
+
usePopoverContentStyles(state);
|
|
7
|
+
return renderPopoverContent(state);
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverSurface.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverSurface.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAMhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA0ClD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
|
|
2
|
+
import { useContext } from 'jsx-framework-test-pb';
|
|
3
|
+
import { PrizmProvider } from '../PrizmProvider/PrizmProvider';
|
|
4
|
+
import { ThemeContext } from '../PrizmProvider/ThemeContext';
|
|
5
|
+
import { PopoverContext } from './Popover.context';
|
|
6
|
+
import { usePopoverSurfaceBaseClass, popoverSurfaceClassNames } from './usePopoverSurfaceStyles.styles';
|
|
7
|
+
export const PopoverSurface = (props) => {
|
|
8
|
+
const context = useContext(PopoverContext);
|
|
9
|
+
const theme = useContext(ThemeContext);
|
|
10
|
+
const surfaceClass = usePopoverSurfaceBaseClass();
|
|
11
|
+
const { children } = props;
|
|
12
|
+
// Return a reactive function — the framework calls createReactiveChild on it,
|
|
13
|
+
// so the surface is added to / removed from the DOM as open.val changes.
|
|
14
|
+
return (() => {
|
|
15
|
+
if (!context?.open.val || !theme)
|
|
16
|
+
return null;
|
|
17
|
+
const trigger = document.getElementById(context.triggerId);
|
|
18
|
+
const rect = trigger?.getBoundingClientRect();
|
|
19
|
+
return (_jsx(PrizmProvider, { theme: theme, style: {
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
top: '0',
|
|
22
|
+
left: '0',
|
|
23
|
+
right: '0',
|
|
24
|
+
bottom: '0',
|
|
25
|
+
zIndex: '1000000',
|
|
26
|
+
backgroundColor: 'transparent',
|
|
27
|
+
pointerEvents: 'none',
|
|
28
|
+
}, children: _jsx("div", { className: `${popoverSurfaceClassNames.root} ${surfaceClass}`, style: {
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
top: rect ? `${rect.bottom + 8}px` : '0',
|
|
31
|
+
left: rect ? `${rect.left}px` : '0',
|
|
32
|
+
}, children: children }) }));
|
|
33
|
+
});
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopoverTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAIhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA2BlD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useContext, isElement } from 'jsx-framework-test-pb';
|
|
2
|
+
import { PopoverContext } from './Popover.context';
|
|
3
|
+
export const PopoverTrigger = (props) => {
|
|
4
|
+
const context = useContext(PopoverContext);
|
|
5
|
+
const children = Array.isArray(props.children) ? props.children : [props.children];
|
|
6
|
+
const child = children[0];
|
|
7
|
+
if (!isElement(child))
|
|
8
|
+
return child;
|
|
9
|
+
if (!context)
|
|
10
|
+
return child;
|
|
11
|
+
const { open, triggerId, contentId } = context;
|
|
12
|
+
const existingOnClick = child.props.onClick;
|
|
13
|
+
return {
|
|
14
|
+
...child,
|
|
15
|
+
props: {
|
|
16
|
+
...child.props,
|
|
17
|
+
id: triggerId,
|
|
18
|
+
'aria-expanded': () => open.val,
|
|
19
|
+
'aria-controls': contentId,
|
|
20
|
+
'aria-haspopup': 'true',
|
|
21
|
+
onClick: (e) => {
|
|
22
|
+
open.val = !open.val;
|
|
23
|
+
if (typeof existingOnClick === 'function')
|
|
24
|
+
existingOnClick(e);
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Popover } from './Popover';
|
|
2
|
+
export type { PopoverProps } from './Popover.types';
|
|
3
|
+
export { PopoverTrigger } from './PopoverTrigger';
|
|
4
|
+
export type { PopoverTriggerProps } from './Popover.types';
|
|
5
|
+
export { PopoverSurface } from './PopoverSurface';
|
|
6
|
+
export type { PopoverSurfaceProps, PopoverSurfaceSlots, PopoverSurfaceState } from './Popover.types';
|
|
7
|
+
export { popoverSurfaceClassNames } from './usePopoverSurfaceStyles.styles';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderPopoverContent.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/renderPopoverContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB,KAAG,UAOjE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
|
|
2
|
+
import { createPortal } from 'jsx-framework-test-pb';
|
|
3
|
+
import { assertSlots } from '../../utilities';
|
|
4
|
+
export const renderPopoverContent = (state) => {
|
|
5
|
+
assertSlots(state);
|
|
6
|
+
return createPortal(_jsx(state.root, { children: state.root.children }), document.body);
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderPopoverTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/renderPopoverTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB,KAAG,UAQjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePopoverContent.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/usePopoverContent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGhF,eAAO,MAAM,iBAAiB,GAAI,OAAO,mBAAmB,KAAG,mBAqC9D,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useContext } from 'jsx-framework-test-pb';
|
|
2
|
+
import { getIntrinsicElementProps, slot } from '../../utilities';
|
|
3
|
+
import { PopoverContext } from './Popover.context';
|
|
4
|
+
export const usePopoverContent = (props) => {
|
|
5
|
+
const context = useContext(PopoverContext);
|
|
6
|
+
const { style: userStyle, ...restProps } = props;
|
|
7
|
+
const positionStyle = context
|
|
8
|
+
? {
|
|
9
|
+
position: 'fixed',
|
|
10
|
+
display: () => (context.open.val ? '' : 'none'),
|
|
11
|
+
top: () => {
|
|
12
|
+
if (!context.open.val)
|
|
13
|
+
return '0';
|
|
14
|
+
const trigger = document.getElementById(context.triggerId);
|
|
15
|
+
if (!trigger)
|
|
16
|
+
return '0';
|
|
17
|
+
return `${trigger.getBoundingClientRect().bottom + 8}px`;
|
|
18
|
+
},
|
|
19
|
+
left: () => {
|
|
20
|
+
if (!context.open.val)
|
|
21
|
+
return '0';
|
|
22
|
+
const trigger = document.getElementById(context.triggerId);
|
|
23
|
+
if (!trigger)
|
|
24
|
+
return '0';
|
|
25
|
+
return `${trigger.getBoundingClientRect().left}px`;
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
: { position: 'fixed', display: 'none' };
|
|
29
|
+
return {
|
|
30
|
+
components: { root: 'div' },
|
|
31
|
+
root: slot.always({
|
|
32
|
+
...getIntrinsicElementProps('div', {
|
|
33
|
+
...restProps,
|
|
34
|
+
...(context ? { id: context.contentId } : {}),
|
|
35
|
+
}),
|
|
36
|
+
style: { ...userStyle, ...positionStyle },
|
|
37
|
+
}, { elementType: 'div' }),
|
|
38
|
+
};
|
|
39
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SlotClassNames } from '../../utilities';
|
|
2
|
+
import type { PopoverContentSlots, PopoverContentState } from './Popover.types';
|
|
3
|
+
export declare const popoverContentClassNames: SlotClassNames<PopoverContentSlots>;
|
|
4
|
+
export declare const usePopoverContentStyles: (state: PopoverContentState) => PopoverContentState;
|
|
5
|
+
//# sourceMappingURL=usePopoverContentStyles.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePopoverContentStyles.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/usePopoverContentStyles.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGhF,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,mBAAmB,CAExE,CAAC;AAYF,eAAO,MAAM,uBAAuB,GAAI,OAAO,mBAAmB,KAAG,mBAUpE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { makeResetStyles, mergeClasses } from 'calame';
|
|
2
|
+
import { tokens } from '@prizmui/tokens';
|
|
3
|
+
export const popoverContentClassNames = {
|
|
4
|
+
root: 'c-popover-content',
|
|
5
|
+
};
|
|
6
|
+
const useRootBaseClassName = makeResetStyles({
|
|
7
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
|
8
|
+
border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,
|
|
9
|
+
borderRadius: tokens.borderRadiusMedium,
|
|
10
|
+
boxShadow: '0 8px 16px rgba(0,0,0,.14), 0 0 2px rgba(0,0,0,.12)',
|
|
11
|
+
padding: `${tokens.spacingVerticalM} ${tokens.spacingHorizontalM}`,
|
|
12
|
+
minWidth: '160px',
|
|
13
|
+
zIndex: '1000',
|
|
14
|
+
});
|
|
15
|
+
export const usePopoverContentStyles = (state) => {
|
|
16
|
+
const rootBaseClassName = useRootBaseClassName();
|
|
17
|
+
state.root.className = mergeClasses(popoverContentClassNames.root, rootBaseClassName, state.root.className);
|
|
18
|
+
return state;
|
|
19
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SlotClassNames } from '../../utilities';
|
|
2
|
+
import type { PopoverSurfaceSlots } from './Popover.types';
|
|
3
|
+
export declare const popoverSurfaceClassNames: SlotClassNames<PopoverSurfaceSlots>;
|
|
4
|
+
export declare const usePopoverSurfaceBaseClass: (options?: import("calame").MakeResetStylesOptions) => string;
|
|
5
|
+
//# sourceMappingURL=usePopoverSurfaceStyles.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePopoverSurfaceStyles.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/usePopoverSurfaceStyles.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,mBAAmB,CAExE,CAAC;AAEF,eAAO,MAAM,0BAA0B,+DAQrC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { makeResetStyles } from 'calame';
|
|
2
|
+
import { tokens } from '@prizmui/tokens';
|
|
3
|
+
export const popoverSurfaceClassNames = {
|
|
4
|
+
root: 'c-popover-surface',
|
|
5
|
+
};
|
|
6
|
+
export const usePopoverSurfaceBaseClass = makeResetStyles({
|
|
7
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
|
8
|
+
border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`,
|
|
9
|
+
borderRadius: tokens.borderRadiusMedium,
|
|
10
|
+
boxShadow: '0 8px 16px rgba(0,0,0,.14), 0 0 2px rgba(0,0,0,.12)',
|
|
11
|
+
padding: `${tokens.spacingVerticalM} ${tokens.spacingHorizontalM}`,
|
|
12
|
+
minWidth: '160px',
|
|
13
|
+
pointerEvents: 'auto',
|
|
14
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePopoverTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/usePopoverTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGhF,eAAO,MAAM,iBAAiB,GAAI,OAAO,mBAAmB,KAAG,mBA+B9D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useContext } from 'jsx-framework-test-pb';
|
|
2
|
+
import { useARIAButtonProps, slot } from '../../utilities';
|
|
3
|
+
import { PopoverContext } from './Popover.context';
|
|
4
|
+
export const usePopoverTrigger = (props) => {
|
|
5
|
+
const context = useContext(PopoverContext);
|
|
6
|
+
const disabled = props.disabled ?? false;
|
|
7
|
+
const { onClick: userOnClick, ...restProps } = props;
|
|
8
|
+
const contextProps = context
|
|
9
|
+
? {
|
|
10
|
+
id: context.triggerId,
|
|
11
|
+
'aria-expanded': () => context.open.val,
|
|
12
|
+
'aria-controls': context.contentId,
|
|
13
|
+
'aria-haspopup': 'true',
|
|
14
|
+
onClick: (e) => {
|
|
15
|
+
if (!disabled)
|
|
16
|
+
context.open.val = !context.open.val;
|
|
17
|
+
if (typeof userOnClick === 'function')
|
|
18
|
+
userOnClick(e);
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
: {};
|
|
22
|
+
return {
|
|
23
|
+
disabled,
|
|
24
|
+
components: { root: 'button' },
|
|
25
|
+
root: slot.always(useARIAButtonProps('button', {
|
|
26
|
+
...restProps,
|
|
27
|
+
...contextProps,
|
|
28
|
+
disabled,
|
|
29
|
+
}), { elementType: 'button' }),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../src/components/PrizmProvider/ThemeContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,eAAO,MAAM,YAAY,uDAAoC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { PrizmProvider, } from './PrizmProvider';
|
|
2
2
|
export { prizmProviderClassNames } from './useProviderStyles.styles';
|
|
3
3
|
export type { PrizmProviderProps, PrizmProviderSlots, PrizmProviderState } from './PrizmProvider.types';
|
|
4
|
+
export { ThemeContext } from './ThemeContext';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PrizmProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,GAAG,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PrizmProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,GAAG,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderProvider.d.ts","sourceRoot":"","sources":["../../../src/components/PrizmProvider/renderProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderProvider.d.ts","sourceRoot":"","sources":["../../../src/components/PrizmProvider/renderProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,eAAO,MAAM,cAAc,GAAI,OAAO,kBAAkB,KAAG,UAU1D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
|
|
2
2
|
import { assertSlots } from '../../utilities';
|
|
3
|
+
import { ThemeContext } from './ThemeContext';
|
|
3
4
|
export const renderProvider = (state) => {
|
|
4
5
|
assertSlots(state);
|
|
5
|
-
return (_jsx(state.root, { children: state.root.children }));
|
|
6
|
+
return (_jsx(ThemeContext.Provider, { value: state.theme, children: _jsx(state.root, { children: state.root.children }) }));
|
|
6
7
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,7 @@ export { Button, buttonClassNames } from './components/Button';
|
|
|
4
4
|
export type { ButtonProps, ButtonSlots, ButtonState } from './components/Button';
|
|
5
5
|
export { Text, textClassNames } from './components/Text';
|
|
6
6
|
export type { TextProps, TextSlots, TextState } from './components/Text';
|
|
7
|
+
export { Popover, PopoverTrigger, PopoverSurface, popoverSurfaceClassNames } from './components/Popover';
|
|
8
|
+
export type { PopoverProps, PopoverTriggerProps, PopoverSurfaceProps, PopoverSurfaceSlots, PopoverSurfaceState } from './components/Popover';
|
|
9
|
+
export { ThemeContext } from './components/PrizmProvider';
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACpF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACpF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACzG,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7I,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { PrizmProvider, prizmProviderClassNames } from './components/PrizmProvider';
|
|
2
2
|
export { Button, buttonClassNames } from './components/Button';
|
|
3
3
|
export { Text, textClassNames } from './components/Text';
|
|
4
|
+
export { Popover, PopoverTrigger, PopoverSurface, popoverSurfaceClassNames } from './components/Popover';
|
|
5
|
+
export { ThemeContext } from './components/PrizmProvider';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prizmui/components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"
|
|
18
|
-
"
|
|
17
|
+
"@prizmui/tokens": "0.0.5",
|
|
18
|
+
"calame": "0.0.6"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"jsx-framework-test-pb": "*"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"jsx-framework-test-pb": "
|
|
24
|
+
"jsx-framework-test-pb": "0.4.1",
|
|
25
25
|
"typescript": "^5.9.3"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|