@telefonica/mistica 16.62.0 → 16.63.1
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/css/mistica.css +1 -1
- package/dist/accordion.css-mistica.js +6 -6
- package/dist/align.css-mistica.js +1 -1
- package/dist/autocomplete.css-mistica.js +1 -1
- package/dist/avatar.css-mistica.js +1 -1
- package/dist/badge.css-mistica.js +1 -1
- package/dist/box.css-mistica.js +13 -13
- package/dist/boxed.css-mistica.js +26 -26
- package/dist/button-group.css-mistica.js +1 -1
- package/dist/button-layout.css-mistica.js +14 -14
- package/dist/button.css-mistica.js +30 -30
- package/dist/callout.css-mistica.js +11 -11
- package/dist/card-internal.css-mistica.js +15 -15
- package/dist/carousel.css-mistica.js +8 -8
- package/dist/checkbox.css-mistica.js +11 -11
- package/dist/chip.css-mistica.js +15 -15
- package/dist/circle.css-mistica.js +1 -1
- package/dist/community/advanced-data-card.css-mistica.js +6 -6
- package/dist/community/ai-card.css-mistica.js +2 -2
- package/dist/community/blocks.css-mistica.js +2 -2
- package/dist/community/example-component.css-mistica.js +1 -1
- package/dist/counter.css-mistica.js +1 -1
- package/dist/cover-hero.css-mistica.js +2 -2
- package/dist/credit-card-number-field.css-mistica.js +3 -3
- package/dist/date-field.css-mistica.js +1 -1
- package/dist/date-time-picker.css-mistica.js +1 -1
- package/dist/dialog.css-mistica.js +4 -4
- package/dist/divider.css-mistica.js +7 -7
- package/dist/double-field.css-mistica.js +2 -2
- package/dist/drawer.css-mistica.js +1 -1
- package/dist/empty-state-card.css-mistica.js +1 -1
- package/dist/empty-state.css-mistica.js +7 -7
- package/dist/fade-in.css-mistica.js +1 -1
- package/dist/feedback.css-mistica.js +1 -1
- package/dist/file-upload.css-mistica.js +7 -7
- package/dist/fixed-footer-layout.css-mistica.js +2 -2
- package/dist/form.css-mistica.js +2 -2
- package/dist/grid-layout.css-mistica.js +5 -5
- package/dist/grid.css-mistica.js +122 -122
- package/dist/header.css-mistica.js +1 -1
- package/dist/hero.css-mistica.js +2 -2
- package/dist/horizontal-scroll.css-mistica.js +1 -1
- package/dist/icon-button.css-mistica.js +53 -53
- package/dist/icons/icon-chevron.css-mistica.js +2 -2
- package/dist/icons/icon-error.css-mistica.js +1 -1
- package/dist/image.css-mistica.js +4 -4
- package/dist/inline.css-mistica.js +19 -13
- package/dist/inline.css.d.ts +2 -0
- package/dist/inline.d.ts +10 -1
- package/dist/inline.js +29 -28
- package/dist/list.css-mistica.js +1 -1
- package/dist/loading-bar.css-mistica.js +1 -1
- package/dist/loading-screen.css-mistica.js +4 -4
- package/dist/logo.css-mistica.js +7 -7
- package/dist/menu.css-mistica.js +13 -13
- package/dist/menu.d.ts +25 -7
- package/dist/menu.js +162 -142
- package/dist/mosaic.css-mistica.js +2 -2
- package/dist/navigation-bar.css-mistica.js +18 -18
- package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
- package/dist/package-version.js +1 -1
- package/dist/pin-field.css-mistica.js +1 -1
- package/dist/popover.css-mistica.js +1 -1
- package/dist/progress-bar.css-mistica.js +6 -6
- package/dist/radio-button.css-mistica.js +19 -19
- package/dist/rating.css-mistica.js +2 -2
- package/dist/responsive-layout.css-mistica.js +6 -6
- package/dist/screen-reader-only.css-mistica.js +1 -1
- package/dist/select.css-mistica.js +15 -15
- package/dist/sheet-action-row.css-mistica.js +1 -1
- package/dist/sheet-common.css-mistica.js +1 -1
- package/dist/sheet-common.js +9 -9
- package/dist/sheet-info.css-mistica.js +1 -1
- package/dist/skeletons.css-mistica.js +6 -6
- package/dist/skins/skin-contract.css-mistica.js +686 -686
- package/dist/skip-link.css-mistica.js +1 -1
- package/dist/slider.css-mistica.js +18 -18
- package/dist/snackbar.css-mistica.js +4 -4
- package/dist/spinner.css-mistica.js +1 -1
- package/dist/square.css-mistica.js +1 -1
- package/dist/stack.css-mistica.js +8 -8
- package/dist/stacking-group.css-mistica.js +1 -1
- package/dist/stepper.css-mistica.js +2 -2
- package/dist/switch-component.css-mistica.js +35 -35
- package/dist/table.css-mistica.js +9 -9
- package/dist/tabs.css-mistica.js +17 -17
- package/dist/tag.css-mistica.js +1 -1
- package/dist/text-field-base.css-mistica.js +15 -15
- package/dist/text-field-components.css-mistica.js +3 -3
- package/dist/text-link.css-mistica.js +6 -6
- package/dist/text.css-mistica.js +9 -9
- package/dist/theme-context.css-mistica.js +1 -1
- package/dist/timeline.css-mistica.js +9 -9
- package/dist/timer.css-mistica.js +6 -6
- package/dist/tooltip.css-mistica.js +1 -1
- package/dist/touchable.css-mistica.js +1 -1
- package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
- package/dist/video.css-mistica.js +1 -1
- package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +3 -3
- package/dist-es/accordion.css-mistica.js +6 -6
- package/dist-es/align.css-mistica.js +1 -1
- package/dist-es/autocomplete.css-mistica.js +1 -1
- package/dist-es/avatar.css-mistica.js +1 -1
- package/dist-es/badge.css-mistica.js +1 -1
- package/dist-es/box.css-mistica.js +13 -13
- package/dist-es/boxed.css-mistica.js +25 -25
- package/dist-es/button-group.css-mistica.js +1 -1
- package/dist-es/button-layout.css-mistica.js +14 -14
- package/dist-es/button.css-mistica.js +30 -30
- package/dist-es/callout.css-mistica.js +11 -11
- package/dist-es/card-internal.css-mistica.js +15 -15
- package/dist-es/carousel.css-mistica.js +8 -8
- package/dist-es/checkbox.css-mistica.js +11 -11
- package/dist-es/chip.css-mistica.js +15 -15
- package/dist-es/circle.css-mistica.js +1 -1
- package/dist-es/community/advanced-data-card.css-mistica.js +6 -6
- package/dist-es/community/ai-card.css-mistica.js +2 -2
- package/dist-es/community/blocks.css-mistica.js +2 -2
- package/dist-es/community/example-component.css-mistica.js +1 -1
- package/dist-es/counter.css-mistica.js +1 -1
- package/dist-es/cover-hero.css-mistica.js +2 -2
- package/dist-es/credit-card-number-field.css-mistica.js +3 -3
- package/dist-es/date-field.css-mistica.js +1 -1
- package/dist-es/date-time-picker.css-mistica.js +1 -1
- package/dist-es/dialog.css-mistica.js +4 -4
- package/dist-es/divider.css-mistica.js +7 -7
- package/dist-es/double-field.css-mistica.js +2 -2
- package/dist-es/drawer.css-mistica.js +1 -1
- package/dist-es/empty-state-card.css-mistica.js +1 -1
- package/dist-es/empty-state.css-mistica.js +7 -7
- package/dist-es/fade-in.css-mistica.js +1 -1
- package/dist-es/feedback.css-mistica.js +1 -1
- package/dist-es/file-upload.css-mistica.js +7 -7
- package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
- package/dist-es/form.css-mistica.js +2 -2
- package/dist-es/grid-layout.css-mistica.js +4 -4
- package/dist-es/grid.css-mistica.js +122 -122
- package/dist-es/header.css-mistica.js +1 -1
- package/dist-es/hero.css-mistica.js +2 -2
- package/dist-es/horizontal-scroll.css-mistica.js +1 -1
- package/dist-es/icon-button.css-mistica.js +53 -53
- package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
- package/dist-es/icons/icon-error.css-mistica.js +1 -1
- package/dist-es/image.css-mistica.js +4 -4
- package/dist-es/inline.css-mistica.js +11 -11
- package/dist-es/inline.js +39 -38
- package/dist-es/list.css-mistica.js +1 -1
- package/dist-es/loading-bar.css-mistica.js +1 -1
- package/dist-es/loading-screen.css-mistica.js +4 -4
- package/dist-es/logo.css-mistica.js +7 -7
- package/dist-es/menu.css-mistica.js +13 -13
- package/dist-es/menu.js +215 -195
- package/dist-es/mosaic.css-mistica.js +2 -2
- package/dist-es/navigation-bar.css-mistica.js +18 -18
- package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
- package/dist-es/package-version.js +1 -1
- package/dist-es/pin-field.css-mistica.js +1 -1
- package/dist-es/popover.css-mistica.js +1 -1
- package/dist-es/progress-bar.css-mistica.js +6 -6
- package/dist-es/radio-button.css-mistica.js +19 -19
- package/dist-es/rating.css-mistica.js +2 -2
- package/dist-es/responsive-layout.css-mistica.js +6 -6
- package/dist-es/screen-reader-only.css-mistica.js +1 -1
- package/dist-es/select.css-mistica.js +15 -15
- package/dist-es/sheet-action-row.css-mistica.js +1 -1
- package/dist-es/sheet-common.css-mistica.js +1 -1
- package/dist-es/sheet-common.js +9 -9
- package/dist-es/sheet-info.css-mistica.js +1 -1
- package/dist-es/skeletons.css-mistica.js +6 -6
- package/dist-es/skins/skin-contract.css-mistica.js +686 -686
- package/dist-es/skip-link.css-mistica.js +1 -1
- package/dist-es/slider.css-mistica.js +18 -18
- package/dist-es/snackbar.css-mistica.js +4 -4
- package/dist-es/spinner.css-mistica.js +1 -1
- package/dist-es/square.css-mistica.js +1 -1
- package/dist-es/stack.css-mistica.js +7 -7
- package/dist-es/stacking-group.css-mistica.js +1 -1
- package/dist-es/stepper.css-mistica.js +2 -2
- package/dist-es/style.css +1 -1
- package/dist-es/switch-component.css-mistica.js +35 -35
- package/dist-es/table.css-mistica.js +9 -9
- package/dist-es/tabs.css-mistica.js +17 -17
- package/dist-es/tag.css-mistica.js +1 -1
- package/dist-es/text-field-base.css-mistica.js +15 -15
- package/dist-es/text-field-components.css-mistica.js +3 -3
- package/dist-es/text-link.css-mistica.js +6 -6
- package/dist-es/text.css-mistica.js +8 -8
- package/dist-es/theme-context.css-mistica.js +1 -1
- package/dist-es/timeline.css-mistica.js +9 -9
- package/dist-es/timer.css-mistica.js +6 -6
- package/dist-es/tooltip.css-mistica.js +1 -1
- package/dist-es/touchable.css-mistica.js +1 -1
- package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
- package/dist-es/video.css-mistica.js +1 -1
- package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +2 -2
- package/doc/components.md +19 -0
- package/doc/figma-mcp.md +136 -0
- package/doc/layout.md +21 -1
- package/doc/llms.md +7 -0
- package/doc/patterns.md +6 -17
- package/package.json +1 -1
- package/src/inline.css.ts +9 -0
- package/src/inline.tsx +33 -6
- package/src/menu.tsx +82 -24
- package/src/package-version.tsx +1 -1
- package/src/sheet-common.tsx +8 -9
package/doc/patterns.md
CHANGED
|
@@ -2,19 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Critical rules
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
2. **NEVER use raw `<div>` for layout.** Use `Box`, `Stack`, `Inline`, `ResponsiveLayout`, `GridLayout`,
|
|
8
|
-
`Grid`.
|
|
9
|
-
3. **NEVER set font sizes manually.** Use text components (`Text1`-`Text10`, `Title1`-`Title4`). If those
|
|
10
|
-
don't cover your necessities you can set custom sizes with `Text` component.
|
|
11
|
-
4. **NEVER set border radius manually.** Use `skinVars.borderRadii.*` or components that handle it (`Boxed`,
|
|
12
|
-
cards, etc.). For theme-level visual customization without a dedicated component prop, use a custom skin.
|
|
13
|
-
5. **Always wrap your app** with `ThemeContextProvider` and import `@telefonica/mistica/css/mistica.css`.
|
|
14
|
-
6. **Always namespace React hooks**: `React.useState`, `React.useEffect`, `React.useRef`, etc.
|
|
15
|
-
7. **Add `'use client';`** directive to client components when using Next.js app router.
|
|
16
|
-
8. **Set `font-family` and `body` background color.** See [llms.md](./llms.md) rules 9–10 and
|
|
17
|
-
[fonts.md](./fonts.md) for the per-skin font table, `@font-face` setup, and the `GlobalStyles` pattern.
|
|
5
|
+
See [Critical Rules in `llms.md`](./llms.md#critical-rules) — the single source of truth. These rules apply
|
|
6
|
+
throughout this document.
|
|
18
7
|
|
|
19
8
|
## Page layout composition
|
|
20
9
|
|
|
@@ -501,10 +490,10 @@ return (
|
|
|
501
490
|
<ResponsiveLayout>
|
|
502
491
|
<Stack space={24}>
|
|
503
492
|
<Stepper currentIndex={currentStep} steps={['Personal', 'Address', 'Payment', 'Confirm']} />
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
493
|
+
{currentStep === 0 && <PersonalInfoForm />}
|
|
494
|
+
{currentStep === 1 && <AddressForm />}
|
|
495
|
+
{currentStep === 2 && <PaymentForm />}
|
|
496
|
+
{currentStep === 3 && <ConfirmationScreen />}
|
|
508
497
|
</Stack>
|
|
509
498
|
</ResponsiveLayout>
|
|
510
499
|
</Stack>
|
package/package.json
CHANGED
package/src/inline.css.ts
CHANGED
|
@@ -98,6 +98,15 @@ export const stringSpaceWithWrap = style({
|
|
|
98
98
|
justifyContent: space,
|
|
99
99
|
});
|
|
100
100
|
|
|
101
|
+
export const expand = style({
|
|
102
|
+
width: '100%',
|
|
103
|
+
display: 'flex',
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
export const expandItem = style({
|
|
107
|
+
flex: 1,
|
|
108
|
+
});
|
|
109
|
+
|
|
101
110
|
globalStyle(`${marginInline} > div`, {
|
|
102
111
|
marginLeft: space,
|
|
103
112
|
marginTop: fallbackVar(verticalSpace, space),
|
package/src/inline.tsx
CHANGED
|
@@ -79,6 +79,23 @@ type Props = {
|
|
|
79
79
|
fullWidth?: boolean;
|
|
80
80
|
dataAttributes?: DataAttributes;
|
|
81
81
|
wrap?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Index or indexes of the children that should grow to fill the available space.
|
|
84
|
+
* Indexes refer to entries in `React.Children.toArray(children)`, so empty nodes
|
|
85
|
+
* (`null`, `undefined` and booleans) are ignored, but React elements still count
|
|
86
|
+
* even if they ultimately render no content.
|
|
87
|
+
*
|
|
88
|
+
* This prop has no effect when `wrap` is enabled.
|
|
89
|
+
*/
|
|
90
|
+
expand?: number | ReadonlyArray<number>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const shouldExpandItem = (expand: Props['expand'], index: number): boolean => {
|
|
94
|
+
if (expand === undefined) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return Array.isArray(expand) ? expand.includes(index) : expand === index;
|
|
82
99
|
};
|
|
83
100
|
|
|
84
101
|
const Inline = ({
|
|
@@ -93,17 +110,26 @@ const Inline = ({
|
|
|
93
110
|
fullWidth,
|
|
94
111
|
wrap,
|
|
95
112
|
dataAttributes,
|
|
113
|
+
expand,
|
|
96
114
|
}: Props): JSX.Element => {
|
|
97
115
|
const {platformOverrides} = useTheme();
|
|
98
116
|
const isStringSpace = typeof space === 'string';
|
|
117
|
+
const childrenArray = React.Children.toArray(children).filter(Boolean);
|
|
99
118
|
|
|
119
|
+
const hasExpandItem = childrenArray.some((_, index) => shouldExpandItem(expand, index));
|
|
120
|
+
const shouldExpand = hasExpandItem && !wrap;
|
|
100
121
|
return (
|
|
101
122
|
<div
|
|
102
123
|
className={classnames(
|
|
103
124
|
className,
|
|
104
125
|
styles.inline,
|
|
105
|
-
wrap ? styles.wrap : fullWidth ? styles.fullWidth : styles.noFullWidth,
|
|
106
|
-
isStringSpace
|
|
126
|
+
wrap ? styles.wrap : fullWidth || shouldExpand ? styles.fullWidth : styles.noFullWidth,
|
|
127
|
+
isStringSpace
|
|
128
|
+
? wrap
|
|
129
|
+
? styles.stringSpaceWithWrap
|
|
130
|
+
: styles.stringSpace
|
|
131
|
+
: styles.marginInline,
|
|
132
|
+
shouldExpand && styles.expand
|
|
107
133
|
)}
|
|
108
134
|
style={{...applyCssVars(calcInlineVars(space, verticalSpace)), alignItems}}
|
|
109
135
|
role={role}
|
|
@@ -111,10 +137,11 @@ const Inline = ({
|
|
|
111
137
|
aria-labelledby={ariaLabel ? undefined : ariaLabelledBy}
|
|
112
138
|
{...getPrefixedDataAttributes(dataAttributes, 'Inline')}
|
|
113
139
|
>
|
|
114
|
-
{React.Children.map(
|
|
115
|
-
|
|
140
|
+
{React.Children.map(childrenArray, (child, index) => {
|
|
141
|
+
return (
|
|
116
142
|
<div
|
|
117
143
|
role={role === 'list' ? 'listitem' : undefined}
|
|
144
|
+
className={classnames(shouldExpandItem(expand, index) && styles.expandItem)}
|
|
118
145
|
style={{
|
|
119
146
|
// Hack to fix https://jira.tid.es/browse/WEB-1683
|
|
120
147
|
// In iOS the inline component sometimes cuts the last line of the content
|
|
@@ -126,8 +153,8 @@ const Inline = ({
|
|
|
126
153
|
>
|
|
127
154
|
{child}
|
|
128
155
|
</div>
|
|
129
|
-
)
|
|
130
|
-
)}
|
|
156
|
+
);
|
|
157
|
+
})}
|
|
131
158
|
</div>
|
|
132
159
|
);
|
|
133
160
|
};
|
package/src/menu.tsx
CHANGED
|
@@ -57,21 +57,40 @@ interface MenuItemBaseProps {
|
|
|
57
57
|
Icon?: (props: IconProps) => JSX.Element;
|
|
58
58
|
destructive?: boolean;
|
|
59
59
|
disabled?: boolean;
|
|
60
|
-
onPress: (item: number) => void;
|
|
61
60
|
dataAttributes?: DataAttributes;
|
|
62
61
|
}
|
|
63
62
|
|
|
64
|
-
interface
|
|
63
|
+
interface MenuItemOnPressProps extends MenuItemBaseProps {
|
|
64
|
+
onPress: (item: number) => void;
|
|
65
|
+
controlType?: 'checkbox';
|
|
66
|
+
checked?: boolean;
|
|
67
|
+
href?: undefined;
|
|
68
|
+
to?: undefined;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
interface MenuItemHrefProps extends MenuItemBaseProps {
|
|
72
|
+
href: string;
|
|
73
|
+
newTab?: boolean;
|
|
74
|
+
loadOnTop?: boolean;
|
|
75
|
+
onNavigate?: () => void | Promise<void>;
|
|
76
|
+
onPress?: undefined;
|
|
77
|
+
to?: undefined;
|
|
65
78
|
controlType?: undefined;
|
|
66
79
|
checked?: undefined;
|
|
67
80
|
}
|
|
68
81
|
|
|
69
|
-
interface
|
|
70
|
-
|
|
71
|
-
|
|
82
|
+
interface MenuItemToProps extends MenuItemBaseProps {
|
|
83
|
+
to: string;
|
|
84
|
+
newTab?: boolean;
|
|
85
|
+
fullPageOnWebView?: boolean;
|
|
86
|
+
onNavigate?: () => void | Promise<void>;
|
|
87
|
+
onPress?: undefined;
|
|
88
|
+
href?: undefined;
|
|
89
|
+
controlType?: undefined;
|
|
90
|
+
checked?: undefined;
|
|
72
91
|
}
|
|
73
92
|
|
|
74
|
-
type MenuItemProps = ExclusifyUnion<
|
|
93
|
+
type MenuItemProps = ExclusifyUnion<MenuItemOnPressProps | MenuItemHrefProps | MenuItemToProps>;
|
|
75
94
|
|
|
76
95
|
export const MenuItem = ({
|
|
77
96
|
label,
|
|
@@ -79,6 +98,12 @@ export const MenuItem = ({
|
|
|
79
98
|
destructive,
|
|
80
99
|
disabled,
|
|
81
100
|
onPress,
|
|
101
|
+
href,
|
|
102
|
+
to,
|
|
103
|
+
newTab,
|
|
104
|
+
loadOnTop,
|
|
105
|
+
fullPageOnWebView,
|
|
106
|
+
onNavigate,
|
|
82
107
|
controlType,
|
|
83
108
|
checked,
|
|
84
109
|
description,
|
|
@@ -108,6 +133,17 @@ export const MenuItem = ({
|
|
|
108
133
|
</div>
|
|
109
134
|
);
|
|
110
135
|
|
|
136
|
+
const renderItemContent = (labelId?: string) => (
|
|
137
|
+
<div className={styles.itemContent}>
|
|
138
|
+
{Icon && (
|
|
139
|
+
<div className={styles.iconContainer}>
|
|
140
|
+
<Icon size={24} color={contentColor} />
|
|
141
|
+
</div>
|
|
142
|
+
)}
|
|
143
|
+
{renderTextContent(labelId)}
|
|
144
|
+
</div>
|
|
145
|
+
);
|
|
146
|
+
|
|
111
147
|
const renderContent = () =>
|
|
112
148
|
controlType === 'checkbox' ? (
|
|
113
149
|
<Checkbox
|
|
@@ -116,7 +152,7 @@ export const MenuItem = ({
|
|
|
116
152
|
checked={checked}
|
|
117
153
|
onChange={() => {
|
|
118
154
|
if (isMenuOpen && itemIndex !== null) {
|
|
119
|
-
onPress(itemIndex);
|
|
155
|
+
onPress?.(itemIndex);
|
|
120
156
|
closeMenu();
|
|
121
157
|
}
|
|
122
158
|
}}
|
|
@@ -126,25 +162,54 @@ export const MenuItem = ({
|
|
|
126
162
|
render={({controlElement, labelId}) => (
|
|
127
163
|
<Box paddingX={8} paddingY={12}>
|
|
128
164
|
<Inline space="between" alignItems="center">
|
|
129
|
-
|
|
130
|
-
{Icon && (
|
|
131
|
-
<div className={styles.iconContainer}>
|
|
132
|
-
<Icon size={24} color={contentColor} />
|
|
133
|
-
</div>
|
|
134
|
-
)}
|
|
135
|
-
{renderTextContent(labelId)}
|
|
136
|
-
</div>
|
|
165
|
+
{renderItemContent(labelId)}
|
|
137
166
|
<Box paddingLeft={16}>{controlElement}</Box>
|
|
138
167
|
</Inline>
|
|
139
168
|
</Box>
|
|
140
169
|
)}
|
|
141
170
|
/>
|
|
171
|
+
) : href ? (
|
|
172
|
+
<Touchable
|
|
173
|
+
ref={itemRef}
|
|
174
|
+
href={href}
|
|
175
|
+
newTab={newTab}
|
|
176
|
+
loadOnTop={loadOnTop}
|
|
177
|
+
onNavigate={() => {
|
|
178
|
+
closeMenu();
|
|
179
|
+
onNavigate?.();
|
|
180
|
+
}}
|
|
181
|
+
disabled={disabled}
|
|
182
|
+
role="menuitem"
|
|
183
|
+
dataAttributes={menuItemDataAttributes}
|
|
184
|
+
>
|
|
185
|
+
<Box paddingX={8} paddingY={12}>
|
|
186
|
+
{renderItemContent()}
|
|
187
|
+
</Box>
|
|
188
|
+
</Touchable>
|
|
189
|
+
) : to ? (
|
|
190
|
+
<Touchable
|
|
191
|
+
ref={itemRef}
|
|
192
|
+
to={to}
|
|
193
|
+
newTab={newTab}
|
|
194
|
+
fullPageOnWebView={fullPageOnWebView}
|
|
195
|
+
onNavigate={() => {
|
|
196
|
+
closeMenu();
|
|
197
|
+
onNavigate?.();
|
|
198
|
+
}}
|
|
199
|
+
disabled={disabled}
|
|
200
|
+
role="menuitem"
|
|
201
|
+
dataAttributes={menuItemDataAttributes}
|
|
202
|
+
>
|
|
203
|
+
<Box paddingX={8} paddingY={12}>
|
|
204
|
+
{renderItemContent()}
|
|
205
|
+
</Box>
|
|
206
|
+
</Touchable>
|
|
142
207
|
) : (
|
|
143
208
|
<Touchable
|
|
144
209
|
ref={itemRef}
|
|
145
210
|
onPress={() => {
|
|
146
211
|
if (isMenuOpen && itemIndex !== null) {
|
|
147
|
-
onPress(itemIndex);
|
|
212
|
+
onPress?.(itemIndex);
|
|
148
213
|
closeMenu();
|
|
149
214
|
}
|
|
150
215
|
}}
|
|
@@ -153,14 +218,7 @@ export const MenuItem = ({
|
|
|
153
218
|
dataAttributes={menuItemDataAttributes}
|
|
154
219
|
>
|
|
155
220
|
<Box paddingX={8} paddingY={12}>
|
|
156
|
-
|
|
157
|
-
{Icon && (
|
|
158
|
-
<div className={styles.iconContainer}>
|
|
159
|
-
<Icon size={24} color={contentColor} />
|
|
160
|
-
</div>
|
|
161
|
-
)}
|
|
162
|
-
{renderTextContent()}
|
|
163
|
-
</div>
|
|
221
|
+
{renderItemContent()}
|
|
164
222
|
</Box>
|
|
165
223
|
</Touchable>
|
|
166
224
|
);
|
package/src/package-version.tsx
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
|
|
2
|
-
export const PACKAGE_VERSION = '16.
|
|
2
|
+
export const PACKAGE_VERSION = '16.63.1' as string;
|
package/src/sheet-common.tsx
CHANGED
|
@@ -247,7 +247,6 @@ const Sheet = React.forwardRef<HTMLDivElement, SheetProps>(({onClose, children,
|
|
|
247
247
|
* the content in order to be able to drag the sheet
|
|
248
248
|
*/}
|
|
249
249
|
<div className={styles.sheetTopDraggingArea} />
|
|
250
|
-
|
|
251
250
|
<section
|
|
252
251
|
role="dialog"
|
|
253
252
|
aria-modal="true"
|
|
@@ -264,15 +263,15 @@ const Sheet = React.forwardRef<HTMLDivElement, SheetProps>(({onClose, children,
|
|
|
264
263
|
<div className={styles.handleContainer}>
|
|
265
264
|
<div className={styles.handleBar} />
|
|
266
265
|
</div>
|
|
267
|
-
<div className={styles.dismissButton}>
|
|
268
|
-
<IconButton
|
|
269
|
-
small={isTabletOrSmaller}
|
|
270
|
-
onPress={closeModal}
|
|
271
|
-
aria-label={texts.modalClose || t(tokens.modalClose)}
|
|
272
|
-
Icon={IconCloseRegular}
|
|
273
|
-
/>
|
|
274
|
-
</div>
|
|
275
266
|
</section>
|
|
267
|
+
<div className={styles.dismissButton}>
|
|
268
|
+
<IconButton
|
|
269
|
+
small={isTabletOrSmaller}
|
|
270
|
+
onPress={closeModal}
|
|
271
|
+
aria-label={texts.modalClose || t(tokens.modalClose)}
|
|
272
|
+
Icon={IconCloseRegular}
|
|
273
|
+
/>
|
|
274
|
+
</div>
|
|
276
275
|
</div>
|
|
277
276
|
</div>
|
|
278
277
|
</div>
|