@semcore/dropdown-menu 3.5.2 → 3.6.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/CHANGELOG.md +12 -0
- package/lib/cjs/DropdownMenu.js +32 -25
- package/lib/cjs/DropdownMenu.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +46 -0
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/cjs/translations/de.json +3 -0
- package/lib/cjs/translations/en.json +3 -0
- package/lib/cjs/translations/es.json +3 -0
- package/lib/cjs/translations/fr.json +3 -0
- package/lib/cjs/translations/it.json +3 -0
- package/lib/cjs/translations/ja.json +3 -0
- package/lib/cjs/translations/ko.json +3 -0
- package/lib/cjs/translations/pt.json +3 -0
- package/lib/cjs/translations/tr.json +3 -0
- package/lib/cjs/translations/vi.json +3 -0
- package/lib/cjs/translations/zh.json +3 -0
- package/lib/es6/DropdownMenu.js +30 -25
- package/lib/es6/DropdownMenu.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +25 -0
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/es6/translations/de.json +3 -0
- package/lib/es6/translations/en.json +3 -0
- package/lib/es6/translations/es.json +3 -0
- package/lib/es6/translations/fr.json +3 -0
- package/lib/es6/translations/it.json +3 -0
- package/lib/es6/translations/ja.json +3 -0
- package/lib/es6/translations/ko.json +3 -0
- package/lib/es6/translations/pt.json +3 -0
- package/lib/es6/translations/tr.json +3 -0
- package/lib/es6/translations/vi.json +3 -0
- package/lib/es6/translations/zh.json +3 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.6.1] - 2022-12-19
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/dropdown` [3.4.0 ~> 3.4.1], `@semcore/utils` [3.44.0 ~> 3.44.1]).
|
|
10
|
+
|
|
11
|
+
## [3.6.0] - 2022-12-14
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added internationalization of aria attributes.
|
|
16
|
+
|
|
5
17
|
## [3.5.2] - 2022-12-13
|
|
6
18
|
|
|
7
19
|
### Fixed
|
package/lib/cjs/DropdownMenu.js
CHANGED
|
@@ -43,6 +43,10 @@ var _scrollArea = _interopRequireDefault(require("@semcore/scroll-area"));
|
|
|
43
43
|
|
|
44
44
|
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
45
45
|
|
|
46
|
+
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
47
|
+
|
|
48
|
+
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
49
|
+
|
|
46
50
|
var _excluded = ["className"],
|
|
47
51
|
_excluded2 = ["className"];
|
|
48
52
|
|
|
@@ -63,23 +67,23 @@ var style = (
|
|
|
63
67
|
/*__reshadow_css_start__*/
|
|
64
68
|
_core.sstyled.insert(
|
|
65
69
|
/*__inner_css_start__*/
|
|
66
|
-
".
|
|
70
|
+
".___SDropdownMenuList_1qsbs_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x,4px) 0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1qsbs_gg_{display:flex;align-items:center;position:relative;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}.___SDropdownMenuItem_1qsbs_gg_:hover{background-color:var(--intergalactic-bg-primary-neutral-hover,#f4f5f9)}.___SDropdownMenuItem_1qsbs_gg_:focus{outline:none}.___SDropdownMenuItem_1qsbs_gg_.__highlighted_1qsbs_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3)) inset}.___SDropdownMenuItem_1qsbs_gg_.__selected_1qsbs_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SDropdownMenuItem_1qsbs_gg_.__selected_1qsbs_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}.___SDropdownMenuItem_1qsbs_gg_.__disabled_1qsbs_gg_{opacity:var(--intergalactic-disabled-opacity,.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_1qsbs_gg_._size_l_1qsbs_gg_{font-size:var(--intergalactic-fs-300,16px);line-height:var(--intergalactic-lh-300,150%);padding:var(--intergalactic-spacing-2x,8px) var(--intergalactic-spacing-3x,12px);min-height:40px}.___SDropdownMenuItem_1qsbs_gg_._size_m_1qsbs_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x,8px);min-height:32px}.___SDropdownMenuItem_1qsbs_gg_.__notInteractive_1qsbs_gg_{cursor:default}.___SDropdownMenuItem_1qsbs_gg_.__notInteractive_1qsbs_gg_:hover{background:none}.___SDropdownMenuItem_1qsbs_gg_._variant_hint_1qsbs_gg_{color:var(--intergalactic-text-secondary,#6c6e79);cursor:default}.___SDropdownMenuItem_1qsbs_gg_._variant_hint_1qsbs_gg_:hover{background:none}.___SDropdownMenuItem_1qsbs_gg_._variant_title_1qsbs_gg_{font-weight:var(--intergalactic-bold,700);cursor:default}.___SDropdownMenuItem_1qsbs_gg_._variant_title_1qsbs_gg_:hover{background:none}.___SDropdownMenuItemAddon_1qsbs_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x,8px);margin-right:var(--intergalactic-spacing-2x,8px)}.___SDropdownMenuItemAddon_1qsbs_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1qsbs_gg_:last-child{margin-right:0}.___SPopper_1qsbs_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}"
|
|
67
71
|
/*__inner_css_end__*/
|
|
68
|
-
, "
|
|
72
|
+
, "1qsbs_gg_")
|
|
69
73
|
/*__reshadow_css_end__*/
|
|
70
74
|
, {
|
|
71
|
-
"__SDropdownMenuList": "
|
|
72
|
-
"__SDropdownMenuItem": "
|
|
73
|
-
"_highlighted": "
|
|
74
|
-
"_selected": "
|
|
75
|
-
"_disabled": "
|
|
76
|
-
"_size_l": "
|
|
77
|
-
"_size_m": "
|
|
78
|
-
"_notInteractive": "
|
|
79
|
-
"_variant_hint": "
|
|
80
|
-
"_variant_title": "
|
|
81
|
-
"__SDropdownMenuItemAddon": "
|
|
82
|
-
"__SPopper": "
|
|
75
|
+
"__SDropdownMenuList": "___SDropdownMenuList_1qsbs_gg_",
|
|
76
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_1qsbs_gg_",
|
|
77
|
+
"_highlighted": "__highlighted_1qsbs_gg_",
|
|
78
|
+
"_selected": "__selected_1qsbs_gg_",
|
|
79
|
+
"_disabled": "__disabled_1qsbs_gg_",
|
|
80
|
+
"_size_l": "_size_l_1qsbs_gg_",
|
|
81
|
+
"_size_m": "_size_m_1qsbs_gg_",
|
|
82
|
+
"_notInteractive": "__notInteractive_1qsbs_gg_",
|
|
83
|
+
"_variant_hint": "_variant_hint_1qsbs_gg_",
|
|
84
|
+
"_variant_title": "_variant_title_1qsbs_gg_",
|
|
85
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1qsbs_gg_",
|
|
86
|
+
"__SPopper": "___SPopper_1qsbs_gg_"
|
|
83
87
|
});
|
|
84
88
|
|
|
85
89
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
@@ -87,16 +91,16 @@ var scrollStyles = (
|
|
|
87
91
|
/*__reshadow_css_start__*/
|
|
88
92
|
_core.sstyled.insert(
|
|
89
93
|
/*__inner_css_start__*/
|
|
90
|
-
".
|
|
94
|
+
".___SShadowHorizontal_xw0rl_gg_:after,.___SShadowHorizontal_xw0rl_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-rounded-medium,6px)}.___SShadowHorizontal_xw0rl_gg_._position_median_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,linear-gradient(90deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_median_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,linear-gradient(270deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_start_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,linear-gradient(90deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_end_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,linear-gradient(270deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_:after,.___SShadowVertical_xw0rl_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-rounded-medium,6px)}.___SShadowVertical_xw0rl_gg_._position_median_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,linear-gradient(180deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_median_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,linear-gradient(0deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_start_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,linear-gradient(180deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_end_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,linear-gradient(0deg,#fff 34.38%,hsla(0,0%,100%,0)))}"
|
|
91
95
|
/*__inner_css_end__*/
|
|
92
|
-
, "
|
|
96
|
+
, "xw0rl_gg_")
|
|
93
97
|
/*__reshadow_css_end__*/
|
|
94
98
|
, {
|
|
95
|
-
"__SShadowHorizontal": "
|
|
96
|
-
"_position_median": "
|
|
97
|
-
"_position_start": "
|
|
98
|
-
"_position_end": "
|
|
99
|
-
"__SShadowVertical": "
|
|
99
|
+
"__SShadowHorizontal": "___SShadowHorizontal_xw0rl_gg_",
|
|
100
|
+
"_position_median": "_position_median_xw0rl_gg_",
|
|
101
|
+
"_position_start": "_position_start_xw0rl_gg_",
|
|
102
|
+
"_position_end": "_position_end_xw0rl_gg_",
|
|
103
|
+
"__SShadowVertical": "___SShadowVertical_xw0rl_gg_"
|
|
100
104
|
});
|
|
101
105
|
var KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
102
106
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
|
@@ -175,13 +179,14 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
|
175
179
|
size = _this$asProps.size,
|
|
176
180
|
uid = _this$asProps.uid,
|
|
177
181
|
disablePortal = _this$asProps.disablePortal,
|
|
178
|
-
visible = _this$asProps.visible
|
|
182
|
+
visible = _this$asProps.visible,
|
|
183
|
+
getI18nText = _this$asProps.getI18nText;
|
|
179
184
|
return {
|
|
180
185
|
size: size,
|
|
181
186
|
id: "igc-".concat(uid, "-trigger"),
|
|
182
187
|
'aria-controls': visible ? "igc-".concat(uid, "-popper") : undefined,
|
|
183
188
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-popper") : undefined,
|
|
184
|
-
'aria-label': visible && !disablePortal ?
|
|
189
|
+
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
185
190
|
onKeyDown: this.handlerKeyDown
|
|
186
191
|
};
|
|
187
192
|
}
|
|
@@ -305,11 +310,13 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
|
305
310
|
|
|
306
311
|
(0, _defineProperty2["default"])(DropdownMenuRoot, "displayName", 'DropdownMenu');
|
|
307
312
|
(0, _defineProperty2["default"])(DropdownMenuRoot, "style", style);
|
|
308
|
-
(0, _defineProperty2["default"])(DropdownMenuRoot, "enhance", [(0, _uniqueID["default"])()]);
|
|
313
|
+
(0, _defineProperty2["default"])(DropdownMenuRoot, "enhance", [(0, _uniqueID["default"])(), (0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
|
|
309
314
|
(0, _defineProperty2["default"])(DropdownMenuRoot, "defaultProps", {
|
|
310
315
|
size: 'm',
|
|
311
316
|
defaultVisible: false,
|
|
312
|
-
defaultHighlightedIndex: null
|
|
317
|
+
defaultHighlightedIndex: null,
|
|
318
|
+
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
319
|
+
locale: 'en'
|
|
313
320
|
});
|
|
314
321
|
|
|
315
322
|
function List(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["KEYS","INTERACTION_TAGS","DropdownMenuRoot","React","createRef","e","amount","shiftKey","key","includes","target","tagName","preventDefault","handlers","visible","moveHighlightedIndex","highlightedItemRef","current","click","node","scrollIntoView","asProps","highlightedIndex","prevHighlightedIndex","block","inline","size","uid","disablePortal","id","undefined","onKeyDown","handlerKeyDown","index","tabIndex","props","highlighted","extraProps","itemProps","ref","scrollToNode","itemsLastIndex","length","selectedIndex","findIndex","item","selected","newIndex","disabled","setTimeout","focus","Children","Dropdown","Component","style","uniqueIDEnhancement","defaultVisible","defaultHighlightedIndex","List","SDropdownMenuList","ScrollAreaComponent","sstyled","styles","scrollStyles","Menu","DropdownMenu","Item","useFlex","forwardRef","SDropdownMenuItem","className","other","label","cn","Addon","useBox","SDropdownMenuItemAddon","Hint","Flex","Title","Trigger","createComponent","Popper","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n };\n\n itemProps = [];\n\n highlightedItemRef = React.createRef();\n\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: null,\n };\n }\n\n handlerKeyDown = (e) => {\n const amount = e.shiftKey ? 5 : 1;\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (!KEYS.includes(e.key)) return;\n\n e.preventDefault();\n\n this.handlers.visible(true);\n\n switch (e.key) {\n case 'ArrowDown':\n this.moveHighlightedIndex(amount, e);\n break;\n case 'ArrowUp':\n this.moveHighlightedIndex(-amount, e);\n break;\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) this.highlightedItemRef.current.click();\n break;\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-popper` : undefined,\n 'aria-label': visible && !disablePortal ? `Press Tab to go to popover` : undefined,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getListProps() {\n const { size } = this.asProps;\n return {\n size,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal } = this.asProps;\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n id: `igc-${uid}-popper`,\n 'aria-flowto': !disablePortal ? `igc-${uid}-trigger` : undefined,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex } = this.asProps;\n const highlighted = index === highlightedIndex;\n const extraProps = {};\n this.itemProps[index] = props;\n if (highlighted) {\n extraProps.ref = this.scrollToNode;\n }\n\n return {\n size,\n highlighted,\n ...extraProps,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n this.highlightedItemRef.current = node;\n if (node && node.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex] && this.itemProps[newIndex].disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n setTimeout(() => {\n this.highlightedItemRef.current?.focus();\n }, 0);\n }\n }\n\n componentDidUpdate() {\n const { visible } = this.asProps;\n\n if (!visible) {\n this.handlers.highlightedIndex(null);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n const props = {};\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown} {...props}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n role=\"menu\"\n aria-activedescendant={props.index}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu() {\n return (\n <DropdownMenu.Popper>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item(props) {\n const [SDropdownMenuItem, { className, ...other }] = useFlex(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItem\n role=\"menuitem\"\n tabIndex={-1}\n id={props.label}\n className={\n cn(\n styles.cn('SDropdownMenuItem', {\n ...props,\n highlighted: !props.disabled && props.highlighted,\n }).className,\n className,\n ) || undefined\n }\n {...other}\n />\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"hint\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"title\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup=\"true\" />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","names":["KEYS","INTERACTION_TAGS","DropdownMenuRoot","React","createRef","e","amount","shiftKey","key","includes","target","tagName","preventDefault","handlers","visible","moveHighlightedIndex","highlightedItemRef","current","click","node","scrollIntoView","asProps","highlightedIndex","prevHighlightedIndex","block","inline","size","uid","disablePortal","getI18nText","id","undefined","onKeyDown","handlerKeyDown","index","tabIndex","props","highlighted","extraProps","itemProps","ref","scrollToNode","itemsLastIndex","length","selectedIndex","findIndex","item","selected","newIndex","disabled","setTimeout","focus","Children","Dropdown","Component","style","uniqueIDEnhancement","i18nEnhance","localizedMessages","defaultVisible","defaultHighlightedIndex","i18n","locale","List","SDropdownMenuList","ScrollAreaComponent","sstyled","styles","scrollStyles","Menu","DropdownMenu","Item","useFlex","forwardRef","SDropdownMenuItem","className","other","label","cn","Addon","useBox","SDropdownMenuItemAddon","Hint","Flex","Title","Trigger","createComponent","Popper","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n };\n\n itemProps = [];\n\n highlightedItemRef = React.createRef();\n\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: null,\n };\n }\n\n handlerKeyDown = (e) => {\n const amount = e.shiftKey ? 5 : 1;\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (!KEYS.includes(e.key)) return;\n\n e.preventDefault();\n\n this.handlers.visible(true);\n\n switch (e.key) {\n case 'ArrowDown':\n this.moveHighlightedIndex(amount, e);\n break;\n case 'ArrowUp':\n this.moveHighlightedIndex(-amount, e);\n break;\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) this.highlightedItemRef.current.click();\n break;\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-popper` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getListProps() {\n const { size } = this.asProps;\n return {\n size,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal } = this.asProps;\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n id: `igc-${uid}-popper`,\n 'aria-flowto': !disablePortal ? `igc-${uid}-trigger` : undefined,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex } = this.asProps;\n const highlighted = index === highlightedIndex;\n const extraProps = {};\n this.itemProps[index] = props;\n if (highlighted) {\n extraProps.ref = this.scrollToNode;\n }\n\n return {\n size,\n highlighted,\n ...extraProps,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n this.highlightedItemRef.current = node;\n if (node && node.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex] && this.itemProps[newIndex].disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n setTimeout(() => {\n this.highlightedItemRef.current?.focus();\n }, 0);\n }\n }\n\n componentDidUpdate() {\n const { visible } = this.asProps;\n\n if (!visible) {\n this.handlers.highlightedIndex(null);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n const props = {};\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown} {...props}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n role=\"menu\"\n aria-activedescendant={props.index}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu() {\n return (\n <DropdownMenu.Popper>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item(props) {\n const [SDropdownMenuItem, { className, ...other }] = useFlex(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItem\n role=\"menuitem\"\n tabIndex={-1}\n id={props.label}\n className={\n cn(\n styles.cn('SDropdownMenuItem', {\n ...props,\n highlighted: !props.disabled && props.highlighted,\n }).className,\n className,\n ) || undefined\n }\n {...other}\n />\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"hint\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"title\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup=\"true\" />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n locale?: string;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.localizedMessages = void 0;
|
|
9
|
+
|
|
10
|
+
var _de = _interopRequireDefault(require("./de.json"));
|
|
11
|
+
|
|
12
|
+
var _en = _interopRequireDefault(require("./en.json"));
|
|
13
|
+
|
|
14
|
+
var _es = _interopRequireDefault(require("./es.json"));
|
|
15
|
+
|
|
16
|
+
var _fr = _interopRequireDefault(require("./fr.json"));
|
|
17
|
+
|
|
18
|
+
var _it = _interopRequireDefault(require("./it.json"));
|
|
19
|
+
|
|
20
|
+
var _ja = _interopRequireDefault(require("./ja.json"));
|
|
21
|
+
|
|
22
|
+
var _ko = _interopRequireDefault(require("./ko.json"));
|
|
23
|
+
|
|
24
|
+
var _pt = _interopRequireDefault(require("./pt.json"));
|
|
25
|
+
|
|
26
|
+
var _tr = _interopRequireDefault(require("./tr.json"));
|
|
27
|
+
|
|
28
|
+
var _vi = _interopRequireDefault(require("./vi.json"));
|
|
29
|
+
|
|
30
|
+
var _zh = _interopRequireDefault(require("./zh.json"));
|
|
31
|
+
|
|
32
|
+
var localizedMessages = {
|
|
33
|
+
de: _de["default"],
|
|
34
|
+
en: _en["default"],
|
|
35
|
+
es: _es["default"],
|
|
36
|
+
fr: _fr["default"],
|
|
37
|
+
it: _it["default"],
|
|
38
|
+
ja: _ja["default"],
|
|
39
|
+
ko: _ko["default"],
|
|
40
|
+
pt: _pt["default"],
|
|
41
|
+
tr: _tr["default"],
|
|
42
|
+
vi: _vi["default"],
|
|
43
|
+
zh: _zh["default"]
|
|
44
|
+
};
|
|
45
|
+
exports.localizedMessages = localizedMessages;
|
|
46
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["localizedMessages","de","en","es","fr","it","ja","ko","pt","tr","vi","zh"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAD+B;EAE/BC,EAAE,EAAFA,cAF+B;EAG/BC,EAAE,EAAFA,cAH+B;EAI/BC,EAAE,EAAFA,cAJ+B;EAK/BC,EAAE,EAAFA,cAL+B;EAM/BC,EAAE,EAAFA,cAN+B;EAO/BC,EAAE,EAAFA,cAP+B;EAQ/BC,EAAE,EAAFA,cAR+B;EAS/BC,EAAE,EAAFA,cAT+B;EAU/BC,EAAE,EAAFA,cAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
package/lib/es6/DropdownMenu.js
CHANGED
|
@@ -34,29 +34,31 @@ import Dropdown from '@semcore/dropdown';
|
|
|
34
34
|
import { Flex, useBox, useFlex } from '@semcore/flex-box';
|
|
35
35
|
import ScrollAreaComponent from '@semcore/scroll-area';
|
|
36
36
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
37
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
38
|
+
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
37
39
|
|
|
38
40
|
/*__reshadow-styles__:"./style/dropdown-menu.shadow.css"*/
|
|
39
41
|
var style = (
|
|
40
42
|
/*__reshadow_css_start__*/
|
|
41
43
|
_sstyled.insert(
|
|
42
44
|
/*__inner_css_start__*/
|
|
43
|
-
".
|
|
45
|
+
".___SDropdownMenuList_1qsbs_gg_{max-height:240px;padding:var(--intergalactic-spacing-1x,4px) 0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1qsbs_gg_{display:flex;align-items:center;position:relative;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}.___SDropdownMenuItem_1qsbs_gg_:hover{background-color:var(--intergalactic-bg-primary-neutral-hover,#f4f5f9)}.___SDropdownMenuItem_1qsbs_gg_:focus{outline:none}.___SDropdownMenuItem_1qsbs_gg_.__highlighted_1qsbs_gg_{z-index:1;box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3)) inset}.___SDropdownMenuItem_1qsbs_gg_.__selected_1qsbs_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected,rgba(196,229,254,.7))}.___SDropdownMenuItem_1qsbs_gg_.__selected_1qsbs_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover,#c4e5fe)}.___SDropdownMenuItem_1qsbs_gg_.__disabled_1qsbs_gg_{opacity:var(--intergalactic-disabled-opacity,.3);cursor:default;pointer-events:none}.___SDropdownMenuItem_1qsbs_gg_._size_l_1qsbs_gg_{font-size:var(--intergalactic-fs-300,16px);line-height:var(--intergalactic-lh-300,150%);padding:var(--intergalactic-spacing-2x,8px) var(--intergalactic-spacing-3x,12px);min-height:40px}.___SDropdownMenuItem_1qsbs_gg_._size_m_1qsbs_gg_{font-size:var(--intergalactic-fs-200,14px);line-height:var(--intergalactic-lh-200,142%);padding:calc(var(--intergalactic-spacing-1x, 4px) + var(--intergalactic-spacing-05x, 2px)) var(--intergalactic-spacing-2x,8px);min-height:32px}.___SDropdownMenuItem_1qsbs_gg_.__notInteractive_1qsbs_gg_{cursor:default}.___SDropdownMenuItem_1qsbs_gg_.__notInteractive_1qsbs_gg_:hover{background:none}.___SDropdownMenuItem_1qsbs_gg_._variant_hint_1qsbs_gg_{color:var(--intergalactic-text-secondary,#6c6e79);cursor:default}.___SDropdownMenuItem_1qsbs_gg_._variant_hint_1qsbs_gg_:hover{background:none}.___SDropdownMenuItem_1qsbs_gg_._variant_title_1qsbs_gg_{font-weight:var(--intergalactic-bold,700);cursor:default}.___SDropdownMenuItem_1qsbs_gg_._variant_title_1qsbs_gg_:hover{background:none}.___SDropdownMenuItemAddon_1qsbs_gg_{display:inline-flex;margin-left:var(--intergalactic-spacing-2x,8px);margin-right:var(--intergalactic-spacing-2x,8px)}.___SDropdownMenuItemAddon_1qsbs_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1qsbs_gg_:last-child{margin-right:0}.___SPopper_1qsbs_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}"
|
|
44
46
|
/*__inner_css_end__*/
|
|
45
|
-
, "
|
|
47
|
+
, "1qsbs_gg_")
|
|
46
48
|
/*__reshadow_css_end__*/
|
|
47
49
|
, {
|
|
48
|
-
"__SDropdownMenuList": "
|
|
49
|
-
"__SDropdownMenuItem": "
|
|
50
|
-
"_highlighted": "
|
|
51
|
-
"_selected": "
|
|
52
|
-
"_disabled": "
|
|
53
|
-
"_size_l": "
|
|
54
|
-
"_size_m": "
|
|
55
|
-
"_notInteractive": "
|
|
56
|
-
"_variant_hint": "
|
|
57
|
-
"_variant_title": "
|
|
58
|
-
"__SDropdownMenuItemAddon": "
|
|
59
|
-
"__SPopper": "
|
|
50
|
+
"__SDropdownMenuList": "___SDropdownMenuList_1qsbs_gg_",
|
|
51
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_1qsbs_gg_",
|
|
52
|
+
"_highlighted": "__highlighted_1qsbs_gg_",
|
|
53
|
+
"_selected": "__selected_1qsbs_gg_",
|
|
54
|
+
"_disabled": "__disabled_1qsbs_gg_",
|
|
55
|
+
"_size_l": "_size_l_1qsbs_gg_",
|
|
56
|
+
"_size_m": "_size_m_1qsbs_gg_",
|
|
57
|
+
"_notInteractive": "__notInteractive_1qsbs_gg_",
|
|
58
|
+
"_variant_hint": "_variant_hint_1qsbs_gg_",
|
|
59
|
+
"_variant_title": "_variant_title_1qsbs_gg_",
|
|
60
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1qsbs_gg_",
|
|
61
|
+
"__SPopper": "___SPopper_1qsbs_gg_"
|
|
60
62
|
});
|
|
61
63
|
|
|
62
64
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
|
@@ -64,16 +66,16 @@ var scrollStyles = (
|
|
|
64
66
|
/*__reshadow_css_start__*/
|
|
65
67
|
_sstyled2.insert(
|
|
66
68
|
/*__inner_css_start__*/
|
|
67
|
-
".
|
|
69
|
+
".___SShadowHorizontal_xw0rl_gg_:after,.___SShadowHorizontal_xw0rl_gg_:before{width:16px;height:100%;border-radius:var(--intergalactic-rounded-medium,6px)}.___SShadowHorizontal_xw0rl_gg_._position_median_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,linear-gradient(90deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_median_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,linear-gradient(270deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_start_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-left,linear-gradient(90deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowHorizontal_xw0rl_gg_._position_end_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-right,linear-gradient(270deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_:after,.___SShadowVertical_xw0rl_gg_:before{width:100%;height:16px;border-radius:var(--intergalactic-rounded-medium,6px)}.___SShadowVertical_xw0rl_gg_._position_median_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,linear-gradient(180deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_median_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,linear-gradient(0deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_start_xw0rl_gg_:before{background:var(--intergalactic-scroll-area-dropdown-menu-top,linear-gradient(180deg,#fff 34.38%,hsla(0,0%,100%,0)))}.___SShadowVertical_xw0rl_gg_._position_end_xw0rl_gg_:after{background:var(--intergalactic-scroll-area-dropdown-menu-bottom,linear-gradient(0deg,#fff 34.38%,hsla(0,0%,100%,0)))}"
|
|
68
70
|
/*__inner_css_end__*/
|
|
69
|
-
, "
|
|
71
|
+
, "xw0rl_gg_")
|
|
70
72
|
/*__reshadow_css_end__*/
|
|
71
73
|
, {
|
|
72
|
-
"__SShadowHorizontal": "
|
|
73
|
-
"_position_median": "
|
|
74
|
-
"_position_start": "
|
|
75
|
-
"_position_end": "
|
|
76
|
-
"__SShadowVertical": "
|
|
74
|
+
"__SShadowHorizontal": "___SShadowHorizontal_xw0rl_gg_",
|
|
75
|
+
"_position_median": "_position_median_xw0rl_gg_",
|
|
76
|
+
"_position_start": "_position_start_xw0rl_gg_",
|
|
77
|
+
"_position_end": "_position_end_xw0rl_gg_",
|
|
78
|
+
"__SShadowVertical": "___SShadowVertical_xw0rl_gg_"
|
|
77
79
|
});
|
|
78
80
|
var KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
79
81
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
|
@@ -158,13 +160,14 @@ var DropdownMenuRoot = /*#__PURE__*/function (_Component) {
|
|
|
158
160
|
size = _this$asProps.size,
|
|
159
161
|
uid = _this$asProps.uid,
|
|
160
162
|
disablePortal = _this$asProps.disablePortal,
|
|
161
|
-
visible = _this$asProps.visible
|
|
163
|
+
visible = _this$asProps.visible,
|
|
164
|
+
getI18nText = _this$asProps.getI18nText;
|
|
162
165
|
return {
|
|
163
166
|
size: size,
|
|
164
167
|
id: "igc-".concat(uid, "-trigger"),
|
|
165
168
|
'aria-controls': visible ? "igc-".concat(uid, "-popper") : undefined,
|
|
166
169
|
'aria-flowto': visible && !disablePortal ? "igc-".concat(uid, "-popper") : undefined,
|
|
167
|
-
'aria-label': visible && !disablePortal ?
|
|
170
|
+
'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,
|
|
168
171
|
onKeyDown: this.handlerKeyDown
|
|
169
172
|
};
|
|
170
173
|
}
|
|
@@ -291,12 +294,14 @@ _defineProperty(DropdownMenuRoot, "displayName", 'DropdownMenu');
|
|
|
291
294
|
|
|
292
295
|
_defineProperty(DropdownMenuRoot, "style", style);
|
|
293
296
|
|
|
294
|
-
_defineProperty(DropdownMenuRoot, "enhance", [uniqueIDEnhancement()]);
|
|
297
|
+
_defineProperty(DropdownMenuRoot, "enhance", [uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
|
|
295
298
|
|
|
296
299
|
_defineProperty(DropdownMenuRoot, "defaultProps", {
|
|
297
300
|
size: 'm',
|
|
298
301
|
defaultVisible: false,
|
|
299
|
-
defaultHighlightedIndex: null
|
|
302
|
+
defaultHighlightedIndex: null,
|
|
303
|
+
i18n: localizedMessages,
|
|
304
|
+
locale: 'en'
|
|
300
305
|
});
|
|
301
306
|
|
|
302
307
|
function List(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","useFlex","ScrollAreaComponent","uniqueIDEnhancement","KEYS","INTERACTION_TAGS","DropdownMenuRoot","createRef","e","amount","shiftKey","key","includes","target","tagName","preventDefault","handlers","visible","moveHighlightedIndex","highlightedItemRef","current","click","node","scrollIntoView","asProps","highlightedIndex","prevHighlightedIndex","block","inline","size","uid","disablePortal","id","undefined","onKeyDown","handlerKeyDown","index","tabIndex","props","highlighted","extraProps","itemProps","ref","scrollToNode","itemsLastIndex","length","selectedIndex","findIndex","item","selected","newIndex","disabled","setTimeout","focus","Children","style","defaultVisible","defaultHighlightedIndex","List","SDropdownMenuList","styles","scrollStyles","Menu","DropdownMenu","Item","forwardRef","SDropdownMenuItem","className","other","label","Addon","SDropdownMenuItemAddon","Hint","Title","Trigger","Popper","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n };\n\n itemProps = [];\n\n highlightedItemRef = React.createRef();\n\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: null,\n };\n }\n\n handlerKeyDown = (e) => {\n const amount = e.shiftKey ? 5 : 1;\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (!KEYS.includes(e.key)) return;\n\n e.preventDefault();\n\n this.handlers.visible(true);\n\n switch (e.key) {\n case 'ArrowDown':\n this.moveHighlightedIndex(amount, e);\n break;\n case 'ArrowUp':\n this.moveHighlightedIndex(-amount, e);\n break;\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) this.highlightedItemRef.current.click();\n break;\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-popper` : undefined,\n 'aria-label': visible && !disablePortal ? `Press Tab to go to popover` : undefined,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getListProps() {\n const { size } = this.asProps;\n return {\n size,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal } = this.asProps;\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n id: `igc-${uid}-popper`,\n 'aria-flowto': !disablePortal ? `igc-${uid}-trigger` : undefined,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex } = this.asProps;\n const highlighted = index === highlightedIndex;\n const extraProps = {};\n this.itemProps[index] = props;\n if (highlighted) {\n extraProps.ref = this.scrollToNode;\n }\n\n return {\n size,\n highlighted,\n ...extraProps,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n this.highlightedItemRef.current = node;\n if (node && node.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex] && this.itemProps[newIndex].disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n setTimeout(() => {\n this.highlightedItemRef.current?.focus();\n }, 0);\n }\n }\n\n componentDidUpdate() {\n const { visible } = this.asProps;\n\n if (!visible) {\n this.handlers.highlightedIndex(null);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n const props = {};\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown} {...props}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n role=\"menu\"\n aria-activedescendant={props.index}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu() {\n return (\n <DropdownMenu.Popper>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item(props) {\n const [SDropdownMenuItem, { className, ...other }] = useFlex(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItem\n role=\"menuitem\"\n tabIndex={-1}\n id={props.label}\n className={\n cn(\n styles.cn('SDropdownMenuItem', {\n ...props,\n highlighted: !props.disabled && props.highlighted,\n }).className,\n className,\n ) || undefined\n }\n {...other}\n />\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"hint\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"title\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup=\"true\" />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","names":["React","cn","createComponent","Component","sstyled","Root","Dropdown","Flex","useBox","useFlex","ScrollAreaComponent","uniqueIDEnhancement","i18nEnhance","localizedMessages","KEYS","INTERACTION_TAGS","DropdownMenuRoot","createRef","e","amount","shiftKey","key","includes","target","tagName","preventDefault","handlers","visible","moveHighlightedIndex","highlightedItemRef","current","click","node","scrollIntoView","asProps","highlightedIndex","prevHighlightedIndex","block","inline","size","uid","disablePortal","getI18nText","id","undefined","onKeyDown","handlerKeyDown","index","tabIndex","props","highlighted","extraProps","itemProps","ref","scrollToNode","itemsLastIndex","length","selectedIndex","findIndex","item","selected","newIndex","disabled","setTimeout","focus","Children","style","defaultVisible","defaultHighlightedIndex","i18n","locale","List","SDropdownMenuList","styles","scrollStyles","Menu","DropdownMenu","Item","forwardRef","SDropdownMenuItem","className","other","label","Addon","SDropdownMenuItemAddon","Hint","Title","Trigger","Popper","ItemTitle","ItemHint","parent"],"sources":["../../src/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex, useBox, useFlex } from '@semcore/flex-box';\nimport ScrollAreaComponent from '@semcore/scroll-area';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nimport style from './style/dropdown-menu.shadow.css';\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownMenuRoot extends Component {\n static displayName = 'DropdownMenu';\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n static defaultProps = {\n size: 'm',\n defaultVisible: false,\n defaultHighlightedIndex: null,\n i18n: localizedMessages,\n locale: 'en',\n };\n\n itemProps = [];\n\n highlightedItemRef = React.createRef();\n\n prevHighlightedIndex = null;\n\n uncontrolledProps() {\n return {\n highlightedIndex: null,\n visible: null,\n };\n }\n\n handlerKeyDown = (e) => {\n const amount = e.shiftKey ? 5 : 1;\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (!KEYS.includes(e.key)) return;\n\n e.preventDefault();\n\n this.handlers.visible(true);\n\n switch (e.key) {\n case 'ArrowDown':\n this.moveHighlightedIndex(amount, e);\n break;\n case 'ArrowUp':\n this.moveHighlightedIndex(-amount, e);\n break;\n case ' ':\n case 'Enter':\n if (this.highlightedItemRef.current) this.highlightedItemRef.current.click();\n break;\n }\n };\n\n getTriggerProps() {\n const { size, uid, disablePortal, visible, getI18nText } = this.asProps;\n\n return {\n size,\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'aria-flowto': visible && !disablePortal ? `igc-${uid}-popper` : undefined,\n 'aria-label': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getListProps() {\n const { size } = this.asProps;\n return {\n size,\n index: this.asProps.highlightedIndex,\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal } = this.asProps;\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n id: `igc-${uid}-popper`,\n 'aria-flowto': !disablePortal ? `igc-${uid}-trigger` : undefined,\n };\n }\n\n getItemProps(props, index) {\n const { size, highlightedIndex } = this.asProps;\n const highlighted = index === highlightedIndex;\n const extraProps = {};\n this.itemProps[index] = props;\n if (highlighted) {\n extraProps.ref = this.scrollToNode;\n }\n\n return {\n size,\n highlighted,\n ...extraProps,\n };\n }\n\n getItemHintProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getItemTitleProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n scrollToNode = (node) => {\n this.highlightedItemRef.current = node;\n if (node && node.scrollIntoView) {\n if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n };\n\n moveHighlightedIndex(amount, e) {\n let { highlightedIndex } = this.asProps;\n const itemsLastIndex = this.itemProps.length - 1;\n const selectedIndex = this.itemProps.findIndex((item) => item.selected);\n\n if (itemsLastIndex < 0) return;\n\n if (highlightedIndex == null) {\n if (selectedIndex !== -1) {\n highlightedIndex = selectedIndex;\n } else {\n highlightedIndex = amount < 0 ? 0 : itemsLastIndex;\n }\n }\n\n let newIndex = highlightedIndex + amount;\n if (newIndex < 0) {\n newIndex = amount + itemsLastIndex + 1;\n } else if (newIndex > itemsLastIndex) {\n newIndex = newIndex - itemsLastIndex - 1;\n }\n\n if (this.itemProps[newIndex] && this.itemProps[newIndex].disabled) {\n this.moveHighlightedIndex(amount < 0 ? amount - 1 : amount + 1, e);\n } else {\n this.handlers.highlightedIndex(newIndex, e);\n setTimeout(() => {\n this.highlightedItemRef.current?.focus();\n }, 0);\n }\n }\n\n componentDidUpdate() {\n const { visible } = this.asProps;\n\n if (!visible) {\n this.handlers.highlightedIndex(null);\n }\n }\n\n render() {\n const { Children } = this.asProps;\n const props = {};\n\n this.itemProps = [];\n\n return (\n <Root render={Dropdown} {...props}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction List(props) {\n const SDropdownMenuList = Root;\n\n return sstyled(props.styles)(\n <SDropdownMenuList\n render={ScrollAreaComponent}\n role=\"menu\"\n aria-activedescendant={props.index}\n shadow={true}\n styles={scrollStyles}\n />,\n );\n}\n\nfunction Menu() {\n return (\n <DropdownMenu.Popper>\n <Root render={DropdownMenu.List} />\n </DropdownMenu.Popper>\n );\n}\n\nfunction Item(props) {\n const [SDropdownMenuItem, { className, ...other }] = useFlex(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItem\n role=\"menuitem\"\n tabIndex={-1}\n id={props.label}\n className={\n cn(\n styles.cn('SDropdownMenuItem', {\n ...props,\n highlighted: !props.disabled && props.highlighted,\n }).className,\n className,\n ) || undefined\n }\n {...other}\n />\n );\n}\n\nfunction Addon(props) {\n const [SDropdownMenuItemAddon, { className, ...other }] = useBox(props, props.forwardRef);\n const styles = sstyled(props.styles);\n return (\n <SDropdownMenuItemAddon\n className={cn(styles.cn('SDropdownMenuItemAddon', props).className, className) || undefined}\n {...other}\n />\n );\n}\n\nfunction Hint(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"hint\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Title(props) {\n const SDropdownMenuItem = Root;\n return sstyled(props.styles)(\n <SDropdownMenuItem render={Flex} variant=\"title\" role=\"menuitem\" tabIndex={0} />,\n );\n}\n\nfunction Trigger() {\n return <Root render={Dropdown.Trigger} aria-haspopup=\"true\" />;\n}\n\nconst DropdownMenu = createComponent(\n DropdownMenuRoot,\n {\n Trigger,\n Popper: Dropdown.Popper,\n List,\n Menu,\n Item: [Item, { Addon }],\n ItemTitle: Title,\n ItemHint: Hint,\n },\n {\n parent: [Dropdown],\n },\n);\n\nexport default DropdownMenu;\n"],"mappings":"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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n locale?: string;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import de from './de.json';
|
|
2
|
+
import en from './en.json';
|
|
3
|
+
import es from './es.json';
|
|
4
|
+
import fr from './fr.json';
|
|
5
|
+
import it from './it.json';
|
|
6
|
+
import ja from './ja.json';
|
|
7
|
+
import ko from './ko.json';
|
|
8
|
+
import pt from './pt.json';
|
|
9
|
+
import tr from './tr.json';
|
|
10
|
+
import vi from './vi.json';
|
|
11
|
+
import zh from './zh.json';
|
|
12
|
+
export var localizedMessages = {
|
|
13
|
+
de: de,
|
|
14
|
+
en: en,
|
|
15
|
+
es: es,
|
|
16
|
+
fr: fr,
|
|
17
|
+
it: it,
|
|
18
|
+
ja: ja,
|
|
19
|
+
ko: ko,
|
|
20
|
+
pt: pt,
|
|
21
|
+
tr: tr,
|
|
22
|
+
vi: vi,
|
|
23
|
+
zh: zh
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"AAAA,OAAOA,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AAEA,OAAO,IAAMC,iBAAiB,GAAG;EAC/BX,EAAE,EAAFA,EAD+B;EAE/BC,EAAE,EAAFA,EAF+B;EAG/BC,EAAE,EAAFA,EAH+B;EAI/BC,EAAE,EAAFA,EAJ+B;EAK/BC,EAAE,EAAFA,EAL+B;EAM/BC,EAAE,EAAFA,EAN+B;EAO/BC,EAAE,EAAFA,EAP+B;EAQ/BC,EAAE,EAAFA,EAR+B;EAS/BC,EAAE,EAAFA,EAT+B;EAU/BC,EAAE,EAAFA,EAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface IDropdownMenuProps extends IDropdownProps {
|
|
|
24
24
|
* highlightedIndex - Index of the selected item
|
|
25
25
|
*/
|
|
26
26
|
onHighlightedIndexChange?: (highlightedIndex: number) => void;
|
|
27
|
+
locale?: string;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {
|