@purpurds/modal 5.4.0 → 5.4.2
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/LICENSE.txt +6 -6
- package/dist/modal-content.d.ts +4 -0
- package/dist/modal-content.d.ts.map +1 -1
- package/dist/modal.cjs.js +11 -11
- package/dist/modal.cjs.js.map +1 -1
- package/dist/modal.es.js +431 -429
- package/dist/modal.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +9 -9
- package/src/modal-content.module.scss +9 -6
- package/src/modal-content.stories.tsx +1 -15
- package/src/modal-content.tsx +7 -1
- package/src/modal.stories.tsx +8 -1
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._purpur-notification_10qwf_1{display:flex;flex-direction:column;padding:var(--purpur-spacing-200) var(--purpur-spacing-200) var(--purpur-spacing-200) var(--purpur-spacing-250);box-sizing:border-box;width:100%;background:var(--purpur-color-background-primary);border-radius:var(--purpur-border-radius-md);border:var(--purpur-border-width-sm) solid;border-left:var(--purpur-border-width-lg) solid;gap:var(--purpur-spacing-150);position:relative}._purpur-notification__top_10qwf_14{display:flex;align-items:flex-start;align-self:stretch;justify-content:space-between}._purpur-notification__header_10qwf_20{display:flex;align-items:center;gap:var(--purpur-spacing-100)}._purpur-notification__close-button_10qwf_25{position:absolute;right:calc(var(--purpur-spacing-50) + var(--purpur-spacing-25));top:calc(var(--purpur-spacing-50) + var(--purpur-spacing-25))}._purpur-notification__icon_10qwf_30{flex-shrink:0}._purpur-notification__body_10qwf_33{padding:var(--purpur-spacing-0) var(--purpur-spacing-150) var(--purpur-spacing-50) var(--purpur-spacing-0)}._purpur-notification--success_10qwf_36{border-color:var(--purpur-color-border-status-success)}._purpur-notification--success_10qwf_36 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-success-strong)}._purpur-notification--success_10qwf_36 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-success-medium)}._purpur-notification--warning_10qwf_45{border-color:var(--purpur-color-border-status-warning)}._purpur-notification--warning_10qwf_45 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-warning-strong)}._purpur-notification--warning_10qwf_45 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-warning-medium)}._purpur-notification--error_10qwf_54{border-color:var(--purpur-color-border-status-error)}._purpur-notification--error_10qwf_54 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-error-strong)}._purpur-notification--error_10qwf_54 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-error-medium)}._purpur-notification--info_10qwf_63{border-color:var(--purpur-color-border-status-info)}._purpur-notification--info_10qwf_63 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-info-strong)}._purpur-notification--info_10qwf_63 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-info-medium)}._purpur-notification--hidden_10qwf_72{display:none;visibility:hidden}._purpur-notification--has-close-button_10qwf_76 ._purpur-notification__top_10qwf_14{padding-right:var(--purpur-spacing-400)}._purpur-modal-
|
|
1
|
+
._purpur-notification_10qwf_1{display:flex;flex-direction:column;padding:var(--purpur-spacing-200) var(--purpur-spacing-200) var(--purpur-spacing-200) var(--purpur-spacing-250);box-sizing:border-box;width:100%;background:var(--purpur-color-background-primary);border-radius:var(--purpur-border-radius-md);border:var(--purpur-border-width-sm) solid;border-left:var(--purpur-border-width-lg) solid;gap:var(--purpur-spacing-150);position:relative}._purpur-notification__top_10qwf_14{display:flex;align-items:flex-start;align-self:stretch;justify-content:space-between}._purpur-notification__header_10qwf_20{display:flex;align-items:center;gap:var(--purpur-spacing-100)}._purpur-notification__close-button_10qwf_25{position:absolute;right:calc(var(--purpur-spacing-50) + var(--purpur-spacing-25));top:calc(var(--purpur-spacing-50) + var(--purpur-spacing-25))}._purpur-notification__icon_10qwf_30{flex-shrink:0}._purpur-notification__body_10qwf_33{padding:var(--purpur-spacing-0) var(--purpur-spacing-150) var(--purpur-spacing-50) var(--purpur-spacing-0)}._purpur-notification--success_10qwf_36{border-color:var(--purpur-color-border-status-success)}._purpur-notification--success_10qwf_36 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-success-strong)}._purpur-notification--success_10qwf_36 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-success-medium)}._purpur-notification--warning_10qwf_45{border-color:var(--purpur-color-border-status-warning)}._purpur-notification--warning_10qwf_45 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-warning-strong)}._purpur-notification--warning_10qwf_45 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-warning-medium)}._purpur-notification--error_10qwf_54{border-color:var(--purpur-color-border-status-error)}._purpur-notification--error_10qwf_54 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-error-strong)}._purpur-notification--error_10qwf_54 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-error-medium)}._purpur-notification--info_10qwf_63{border-color:var(--purpur-color-border-status-info)}._purpur-notification--info_10qwf_63 ._purpur-notification__heading_10qwf_39{color:var(--purpur-color-text-status-info-strong)}._purpur-notification--info_10qwf_63 ._purpur-notification__icon_10qwf_30{color:var(--purpur-color-text-status-info-medium)}._purpur-notification--hidden_10qwf_72{display:none;visibility:hidden}._purpur-notification--has-close-button_10qwf_76 ._purpur-notification__top_10qwf_14{padding-right:var(--purpur-spacing-400)}._purpur-modal-content_rblrn_1{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:auto;background-color:var(--purpur-color-background-primary);animation:_fadeIn_rblrn_1 var(--purpur-motion-duration-200) var(--purpur-motion-easing-ease-in-out)}._purpur-modal-content_rblrn_1:focus{outline:0}@media (min-width: 600px){._purpur-modal-content_rblrn_1{inset:unset;top:50%;left:50%;width:720px;max-width:calc(100% - var(--purpur-spacing-300) * 2);min-height:320px;max-height:80%;overflow:hidden;border-radius:var(--purpur-border-radius-lg);box-sizing:border-box;transform:translate(-50%,-50%);box-shadow:var(--purpur-shadow-lg)}}@media (min-width: 600px){._purpur-modal-content__overlay_rblrn_30{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--purpur-color-overlay-default);animation:_fadeIn_rblrn_1 var(--purpur-motion-duration-200) var(--purpur-motion-easing-ease-in-out)}}._purpur-modal-content_rblrn_1 ._purpur-modal-content__close-button_rblrn_37{position:absolute;top:var(--purpur-spacing-100);right:var(--purpur-spacing-100);z-index:2}@media (min-width: 600px){._purpur-modal-content_rblrn_1 ._purpur-modal-content__close-button_rblrn_37{top:var(--purpur-spacing-150)}}._purpur-modal-content__wrapper_rblrn_48{height:100%;overflow:auto}@media (min-width: 600px){._purpur-modal-content__wrapper_rblrn_48{display:flex;flex-direction:column;overflow:hidden}}._purpur-modal-content__wrapper-inner_rblrn_59{display:flex;flex-direction:column}@media (min-width: 600px){._purpur-modal-content__wrapper-inner_rblrn_59{overflow:hidden}}._purpur-modal-content__image-wrapper_rblrn_68{position:relative;flex-shrink:0;order:-1;width:100%;aspect-ratio:2/1;overflow:hidden}@media (((min-width: 600px) and (max-width: 649px) and (max-height: 720px)) or ((min-width: 650px) and (max-height: 820px))){._purpur-modal-content__image-wrapper_rblrn_68{aspect-ratio:3/1}}._purpur-modal-content__image-wrapper_rblrn_68 img{position:absolute;top:50%;left:50%;display:block;width:100%;height:auto;transform:translate(-50%,-50%)}._purpur-modal-content__header_rblrn_91{position:sticky;top:0;flex-grow:0;padding:var(--purpur-spacing-200) calc(var(--purpur-spacing-600) + var(--purpur-spacing-150)) 0 var(--purpur-spacing-200);background:var(--purpur-color-background-primary);z-index:1}@media (min-width: 600px){._purpur-modal-content__header_rblrn_91{position:static;padding:var(--purpur-spacing-250) calc(var(--purpur-spacing-800) + var(--purpur-spacing-50)) 0 var(--purpur-spacing-300)}}._purpur-modal-content__title_rblrn_105,._purpur-modal-content__description_rblrn_108{margin:0}._purpur-modal-content__body_rblrn_111{padding:var(--purpur-spacing-200) var(--purpur-spacing-200) 0}@media (min-width: 600px){._purpur-modal-content__body_rblrn_111{height:100%;overflow:auto;padding:var(--purpur-spacing-250) var(--purpur-spacing-300) 0}}._purpur-modal-content__body-inner_rblrn_121{position:relative;display:flex;flex-direction:column;gap:var(--purpur-spacing-400);padding-bottom:var(--purpur-spacing-250)}@media (min-width: 600px){._purpur-modal-content__body-inner_rblrn_121{padding-bottom:var(--purpur-spacing-300)}}._purpur-modal-content__actions-buttons_rblrn_133{display:flex;flex-direction:column;gap:var(--purpur-spacing-200);margin-top:auto}@media (min-width: 600px){._purpur-modal-content__actions-buttons_rblrn_133{flex-direction:row-reverse;flex-grow:0}}._purpur-modal-content__actions-button_rblrn_133{width:100%}@media (min-width: 600px){._purpur-modal-content__actions-button_rblrn_133{width:auto}._purpur-modal-content__actions-button_rblrn_133:nth-child(3){margin-right:auto}}._purpur-modal-content__notification_rblrn_156{padding-top:var(--purpur-spacing-300)}._purpur-modal-content--with-image_rblrn_159:not(._purpur-modal-content--overflow_rblrn_159) ._purpur-modal-content__header_rblrn_91{padding-top:var(--purpur-spacing-250)}@media (min-width: 600px){._purpur-modal-content--overflow_rblrn_159:not(._purpur-modal-content--with-image_rblrn_159) ._purpur-modal-content__header_rblrn_91{position:relative}._purpur-modal-content--overflow_rblrn_159:not(._purpur-modal-content--with-image_rblrn_159) ._purpur-modal-content__close-button_rblrn_37{top:50%;transform:translateY(-50%)}}._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__header_rblrn_91{padding-bottom:var(--purpur-spacing-200);border-bottom:1px solid var(--purpur-color-border-weak)}._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__body_rblrn_111{padding-top:var(--purpur-spacing-300)}@media (min-width: 600px){._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__body_rblrn_111{padding-top:var(--purpur-spacing-400)}}._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__actions_rblrn_133{position:relative}._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__actions-buttons_rblrn_133{position:relative;z-index:2}._purpur-modal-content--overflow_rblrn_159 ._purpur-modal-content__actions-separator_rblrn_190{position:absolute;bottom:calc(100% - 1px);left:0;z-index:1;width:calc(100% - var(--purpur-spacing-300));height:calc(var(--purpur-spacing-400) + var(--purpur-spacing-100));background:linear-gradient(transparent,var(--purpur-color-background-primary));pointer-events:none}._purpur-modal-content--overflow_rblrn_159._purpur-modal-content--sticky-footer_rblrn_200 ._purpur-modal-content__actions-buttons_rblrn_133{border-top:1px solid var(--purpur-color-border-weak)}._purpur-modal-content--sticky-footer_rblrn_200{justify-content:space-between}._purpur-modal-content--sticky-footer_rblrn_200 ._purpur-modal-content__body-inner_rblrn_121{padding-bottom:var(--purpur-spacing-300)}._purpur-modal-content--sticky-footer_rblrn_200 ._purpur-modal-content__actions-buttons_rblrn_133{padding:var(--purpur-spacing-200)}@media (min-width: 600px){._purpur-modal-content--sticky-footer_rblrn_200 ._purpur-modal-content__actions-buttons_rblrn_133{padding-left:var(--purpur-spacing-300);padding-right:var(--purpur-spacing-300)}}._purpur-modal-content--sticky-footer_rblrn_200 ._purpur-modal-content__notification_rblrn_156{padding:var(--purpur-spacing-100) var(--purpur-spacing-300) var(--purpur-spacing-200)}@keyframes _fadeIn_rblrn_1{0%{opacity:0}to{opacity:1}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purpurds/modal",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.2",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "./dist/modal.cjs.js",
|
|
6
6
|
"types": "./dist/modal.d.ts",
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@radix-ui/react-dialog": "~1.0.5",
|
|
18
18
|
"classnames": "~2.5.0",
|
|
19
|
-
"@purpurds/
|
|
20
|
-
"@purpurds/
|
|
21
|
-
"@purpurds/
|
|
22
|
-
"@purpurds/
|
|
23
|
-
"@purpurds/
|
|
24
|
-
"@purpurds/
|
|
25
|
-
"@purpurds/
|
|
26
|
-
"@purpurds/
|
|
19
|
+
"@purpurds/heading": "5.4.2",
|
|
20
|
+
"@purpurds/button": "5.4.2",
|
|
21
|
+
"@purpurds/icon": "5.4.2",
|
|
22
|
+
"@purpurds/paragraph": "5.4.2",
|
|
23
|
+
"@purpurds/tokens": "5.4.2",
|
|
24
|
+
"@purpurds/visually-hidden": "5.4.2",
|
|
25
|
+
"@purpurds/text-spacing": "5.4.2",
|
|
26
|
+
"@purpurds/notification": "5.4.2"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@rushstack/eslint-patch": "~1.10.0",
|
|
@@ -100,12 +100,15 @@ $fadeIn: fadeIn var(--purpur-motion-duration-200) var(--purpur-motion-easing-eas
|
|
|
100
100
|
position: sticky;
|
|
101
101
|
top: 0;
|
|
102
102
|
flex-grow: 0;
|
|
103
|
-
padding: var(--purpur-spacing-200) calc(var(--purpur-spacing-600) + var(--purpur-spacing-150)) 0
|
|
103
|
+
padding: var(--purpur-spacing-200) calc(var(--purpur-spacing-600) + var(--purpur-spacing-150)) 0
|
|
104
|
+
var(--purpur-spacing-200);
|
|
104
105
|
background: var(--purpur-color-background-primary);
|
|
106
|
+
z-index: 1;
|
|
105
107
|
|
|
106
108
|
@media (min-width: $purpur-breakpoint-md) {
|
|
107
109
|
position: static;
|
|
108
|
-
padding: var(--purpur-spacing-250) calc(var(--purpur-spacing-800) + var(--purpur-spacing-50))
|
|
110
|
+
padding: var(--purpur-spacing-250) calc(var(--purpur-spacing-800) + var(--purpur-spacing-50))
|
|
111
|
+
0 var(--purpur-spacing-300);
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
|
|
@@ -214,9 +217,7 @@ $fadeIn: fadeIn var(--purpur-motion-duration-200) var(--purpur-motion-easing-eas
|
|
|
214
217
|
z-index: 1;
|
|
215
218
|
width: calc(100% - var(--purpur-spacing-300));
|
|
216
219
|
height: calc(var(--purpur-spacing-400) + var(--purpur-spacing-100));
|
|
217
|
-
background: linear-gradient(
|
|
218
|
-
rgba(255, 255, 255, 0) 0%,
|
|
219
|
-
var(--purpur-color-background-primary) 100%);
|
|
220
|
+
background: linear-gradient(transparent, var(--purpur-color-background-primary));
|
|
220
221
|
pointer-events: none;
|
|
221
222
|
}
|
|
222
223
|
|
|
@@ -226,6 +227,8 @@ $fadeIn: fadeIn var(--purpur-motion-duration-200) var(--purpur-motion-easing-eas
|
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
&--sticky-footer {
|
|
230
|
+
justify-content: space-between;
|
|
231
|
+
|
|
229
232
|
#{$root}__body-inner {
|
|
230
233
|
padding-bottom: var(--purpur-spacing-300);
|
|
231
234
|
}
|
|
@@ -253,4 +256,4 @@ $fadeIn: fadeIn var(--purpur-motion-duration-200) var(--purpur-motion-easing-eas
|
|
|
253
256
|
to {
|
|
254
257
|
opacity: 1;
|
|
255
258
|
}
|
|
256
|
-
}
|
|
259
|
+
}
|
|
@@ -55,21 +55,7 @@ export const ModalContent: Story = {
|
|
|
55
55
|
render: (args) => {
|
|
56
56
|
return (
|
|
57
57
|
<RadixDialog.Root open>
|
|
58
|
-
<ModalContentCmp {...args}
|
|
59
|
-
<TextSpacing>
|
|
60
|
-
<Paragraph variant="paragraph-100">
|
|
61
|
-
Lorem ipsum dolor sit amet consectetur. Diam vitae leo amet tortor ut faucibus diam
|
|
62
|
-
faucibus eu. Pellentesque quis pellentesque sit fermentum. Mi id aenean aliquam nibh
|
|
63
|
-
placerat.Lorem ipsum dolor sit amet consectetur. Diam vitae leo amet tortor ut
|
|
64
|
-
faucibus diam faucibus eu.
|
|
65
|
-
</Paragraph>
|
|
66
|
-
<Paragraph variant="paragraph-100">
|
|
67
|
-
Pellentesque quis pellentesque sit fermentum. Mi id aenean aliquam nibh placerat.Lorem
|
|
68
|
-
ipsum dolor sit amet consectetur. Diam vitae leo amet tortor ut faucibus diam faucibus
|
|
69
|
-
eu. Pellentesque quis pellentesque sit fermentum. Mi id aenean aliquam nibh placerat.
|
|
70
|
-
</Paragraph>
|
|
71
|
-
</TextSpacing>
|
|
72
|
-
</ModalContentCmp>
|
|
58
|
+
<ModalContentCmp {...args} />
|
|
73
59
|
</RadixDialog.Root>
|
|
74
60
|
);
|
|
75
61
|
},
|
package/src/modal-content.tsx
CHANGED
|
@@ -55,6 +55,10 @@ export type DefaultProps = {
|
|
|
55
55
|
* An accessible title to be announced when the dialog is opened.
|
|
56
56
|
* */
|
|
57
57
|
title: string;
|
|
58
|
+
/**
|
|
59
|
+
* z-index of the modal
|
|
60
|
+
* */
|
|
61
|
+
zIndex?: number;
|
|
58
62
|
};
|
|
59
63
|
|
|
60
64
|
type NoCloseButtonProps = {
|
|
@@ -103,6 +107,7 @@ export const ModalContent = forwardRef(
|
|
|
103
107
|
stickyButtons = true,
|
|
104
108
|
title,
|
|
105
109
|
notification = undefined,
|
|
110
|
+
zIndex,
|
|
106
111
|
...props
|
|
107
112
|
}: ModalContentProps,
|
|
108
113
|
ref: ForwardedRef<HTMLDivElement>
|
|
@@ -174,7 +179,7 @@ export const ModalContent = forwardRef(
|
|
|
174
179
|
|
|
175
180
|
return (
|
|
176
181
|
<RadixDialog.Portal>
|
|
177
|
-
<RadixDialog.Overlay className={cx(`${rootClassName}__overlay`)} />
|
|
182
|
+
<RadixDialog.Overlay className={cx(`${rootClassName}__overlay`)} style={{ zIndex }} />
|
|
178
183
|
<RadixDialog.Content
|
|
179
184
|
{...rest}
|
|
180
185
|
className={classes}
|
|
@@ -184,6 +189,7 @@ export const ModalContent = forwardRef(
|
|
|
184
189
|
onPointerDownOutside={handlePointerDownOutside}
|
|
185
190
|
onOpenAutoFocus={handleContentOverflow}
|
|
186
191
|
onEscapeKeyDown={handleEscapeKeyDown}
|
|
192
|
+
style={{ zIndex: `calc(${zIndex} + 1)` }}
|
|
187
193
|
>
|
|
188
194
|
<div ref={wrapperRef} className={cx(`${rootClassName}__wrapper`)}>
|
|
189
195
|
{hasCloseButtonProps(props) && closeButtonAllyLabel && image && (
|
package/src/modal.stories.tsx
CHANGED
|
@@ -50,7 +50,12 @@ export const Showcase: Story = {
|
|
|
50
50
|
<Modal.Trigger>
|
|
51
51
|
<Button variant="primary">Open cookie consent</Button>
|
|
52
52
|
</Modal.Trigger>
|
|
53
|
-
<Modal.Content
|
|
53
|
+
<Modal.Content
|
|
54
|
+
title="We use cookies"
|
|
55
|
+
actions={cookieActions}
|
|
56
|
+
description="Sticky buttons"
|
|
57
|
+
stickyButtons
|
|
58
|
+
>
|
|
54
59
|
<Paragraph variant="paragraph-100">
|
|
55
60
|
By clicking "I accept cookies" you consent to the storage of cookies on your
|
|
56
61
|
device to improve website navigation, analyze website usage and assist in our
|
|
@@ -111,6 +116,8 @@ export const Showcase: Story = {
|
|
|
111
116
|
title="Do you want to cancel the main subscription?"
|
|
112
117
|
actions={subscriptionActions}
|
|
113
118
|
primaryActionVariant="destructive"
|
|
119
|
+
description="Not sticky buttons"
|
|
120
|
+
stickyButtons={false}
|
|
114
121
|
>
|
|
115
122
|
<Paragraph variant="paragraph-100">
|
|
116
123
|
Upon termination of the main subscription, all related data sims and e-sims are
|