@semcore/dropdown 17.0.0-prerelease.34 → 17.0.0-prerelease.37

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 CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.0.0] - 2026-04-08
5
+ ## [17.0.0] - 2026-04-13
6
6
 
7
7
  ### BREAK
8
8
 
9
9
  - New major version.
10
10
 
11
+ ### Fixed
12
+
13
+ - Set default size for `Dropdown.Group`.
14
+
11
15
  ## [16.1.4] - 2025-12-01
12
16
 
13
17
  ### Fixed
@@ -185,12 +185,17 @@ function DropdownPopper({
185
185
  function DropdownGroup(props) {
186
186
  var _ref3 = arguments[0],
187
187
  _ref6;
188
+ /*
189
+ `size` is not exposed as a public prop,
190
+ but it may be implicitly inherited from parent components such as Select or DropdownMenu.
191
+ Since `size` directly affects item dimensions, we default it to 'm' to preserve backward compatibility.
192
+ */
188
193
  const {
189
194
  styles,
190
195
  title,
191
196
  Children,
192
197
  subTitle,
193
- size,
198
+ size = 'm',
194
199
  sticky
195
200
  } = props;
196
201
  const SGroup = _baseComponents.Box;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["_core","require","_baseComponents","_capitalizeFirstLetter","_interopRequireDefault","_i18nEnhance","_uniqueID","_interopRequireWildcard","_useFocusLock","_react","_DropdownItem","_intergalacticDynamicLocales","style","sstyled","insert","INTERACTION_TAGS","DropdownRoot","Component","constructor","args","_defineProperty2","default","React","createRef","name","enabled","phase","fn","state","options","position","placement","split","isVertical","indexOf","len","referenceLen","elements","reference","capitalizeFirstLetter","stretch","rects","popper","width","Math","max","e","visible","interaction","asProps","element","popperRef","current","key","hasFocusableIn","preventDefault","stopPropagation","includes","target","tagName","handlers","uncontrolledProps","getTriggerProps","uid","disablePortal","getI18nText","undefined","handlerTriggerKeyDown","getPopperProps","ignorePortalsStacking","id","tabIndex","role","ref","focusMaster","autoFocus","render","Children","forwardRef","modifiers","other","createElement","Popper","_extends2","defaultModifiers","offset","defaultVisible","i18n","localizedMessages","locale","uniqueIDEnhancement","i18nEnhance","DropdownTrigger","styles","tag","Tag","_ref","arguments[0]","_ref4","hasInputTrigger","isInputTriggerTag","SDropdownTrigger","Trigger","cn","assignProps","DropdownPopper","_ref2","_ref5","SDropdownPopper","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","sticky","SGroup","Box","SDropdownItemContainer","Dropdown","Item","SGroupTitle","Flex","SGroupHint","uidTitle","useUID","uidSubTitle","groupAriaProps","Fragment","createComponent","DropdownItem","Group","parent","_default","exports"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import { Popper, Flex, Box, isInputTriggerTag } from '@semcore/base-components';\nimport { createComponent, Root, Component, sstyled } from '@semcore/core';\nimport capitalizeFirstLetter from '@semcore/core/lib/utils/capitalizeFirstLetter';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement, { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport { hasFocusableIn } from '@semcore/core/lib/utils/use/useFocusLock';\nimport React from 'react';\n\nimport { DropdownItem } from './DropdownItem';\nimport style from './style/dropdown.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n 'id': `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'focusHint': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'onKeyDown': this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size, sticky } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden='true' tabindex={-1} size={size} sticky={sticky}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup\n render={Box}\n role='group'\n {...groupAriaProps}\n __excludeProps={['title', 'sticky']}\n data-sticky={sticky}\n >\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Dropdown.js","names":["_core","require","_baseComponents","_capitalizeFirstLetter","_interopRequireDefault","_i18nEnhance","_uniqueID","_interopRequireWildcard","_useFocusLock","_react","_DropdownItem","_intergalacticDynamicLocales","style","sstyled","insert","INTERACTION_TAGS","DropdownRoot","Component","constructor","args","_defineProperty2","default","React","createRef","name","enabled","phase","fn","state","options","position","placement","split","isVertical","indexOf","len","referenceLen","elements","reference","capitalizeFirstLetter","stretch","rects","popper","width","Math","max","e","visible","interaction","asProps","element","popperRef","current","key","hasFocusableIn","preventDefault","stopPropagation","includes","target","tagName","handlers","uncontrolledProps","getTriggerProps","uid","disablePortal","getI18nText","undefined","handlerTriggerKeyDown","getPopperProps","ignorePortalsStacking","id","tabIndex","role","ref","focusMaster","autoFocus","render","Children","forwardRef","modifiers","other","createElement","Popper","_extends2","defaultModifiers","offset","defaultVisible","i18n","localizedMessages","locale","uniqueIDEnhancement","i18nEnhance","DropdownTrigger","styles","tag","Tag","_ref","arguments[0]","_ref4","hasInputTrigger","isInputTriggerTag","SDropdownTrigger","Trigger","cn","assignProps","DropdownPopper","_ref2","_ref5","SDropdownPopper","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","sticky","SGroup","Box","SDropdownItemContainer","Dropdown","Item","SGroupTitle","Flex","SGroupHint","uidTitle","useUID","uidSubTitle","groupAriaProps","Fragment","createComponent","DropdownItem","Group","parent","_default","exports"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import { Popper, Flex, Box, isInputTriggerTag } from '@semcore/base-components';\nimport { createComponent, Root, Component, sstyled } from '@semcore/core';\nimport capitalizeFirstLetter from '@semcore/core/lib/utils/capitalizeFirstLetter';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement, { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport { hasFocusableIn } from '@semcore/core/lib/utils/use/useFocusLock';\nimport React from 'react';\n\nimport { DropdownItem } from './DropdownItem';\nimport style from './style/dropdown.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n 'id': `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'focusHint': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'onKeyDown': this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n /*\n `size` is not exposed as a public prop,\n but it may be implicitly inherited from parent components such as Select or DropdownMenu.\n Since `size` directly affects item dimensions, we default it to 'm' to preserve backward compatibility.\n */\n const { styles, title, Children, subTitle, size = 'm', sticky } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden='true' tabindex={-1} size={size} sticky={sticky}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup\n render={Box}\n role='group'\n {...groupAriaProps}\n __excludeProps={['title', 'sticky']}\n data-sticky={sticky}\n >\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -181,12 +181,17 @@ function DropdownPopper({
181
181
  function DropdownGroup(props) {
182
182
  var _ref3 = arguments[0],
183
183
  _ref6;
184
+ /*
185
+ `size` is not exposed as a public prop,
186
+ but it may be implicitly inherited from parent components such as Select or DropdownMenu.
187
+ Since `size` directly affects item dimensions, we default it to 'm' to preserve backward compatibility.
188
+ */
184
189
  const {
185
190
  styles,
186
191
  title,
187
192
  Children,
188
193
  subTitle,
189
- size,
194
+ size = 'm',
190
195
  sticky
191
196
  } = props;
192
197
  const SGroup = Box;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["Popper","Flex","Box","isInputTriggerTag","createComponent","Root","Component","sstyled","capitalizeFirstLetter","i18nEnhance","uniqueIDEnhancement","useUID","hasFocusableIn","React","DropdownItem","style","_sstyled","insert","localizedMessages","INTERACTION_TAGS","DropdownRoot","constructor","args","_defineProperty","createRef","name","enabled","phase","fn","state","options","position","placement","split","isVertical","indexOf","len","referenceLen","elements","reference","stretch","rects","popper","width","Math","max","e","visible","interaction","asProps","element","popperRef","current","key","preventDefault","stopPropagation","includes","target","tagName","handlers","uncontrolledProps","getTriggerProps","uid","disablePortal","getI18nText","undefined","handlerTriggerKeyDown","getPopperProps","ignorePortalsStacking","id","tabIndex","role","ref","focusMaster","autoFocus","render","Children","forwardRef","modifiers","other","createElement","_extends","defaultModifiers","offset","defaultVisible","i18n","locale","DropdownTrigger","styles","tag","Tag","_ref","arguments[0]","_ref4","hasInputTrigger","SDropdownTrigger","Trigger","cn","_assignProps","DropdownPopper","_ref2","_ref5","SDropdownPopper","_assignProps2","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","sticky","SGroup","SDropdownItemContainer","Dropdown","Item","SGroupTitle","SGroupHint","uidTitle","uidSubTitle","groupAriaProps","Fragment","_assignProps3","Group","parent"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import { Popper, Flex, Box, isInputTriggerTag } from '@semcore/base-components';\nimport { createComponent, Root, Component, sstyled } from '@semcore/core';\nimport capitalizeFirstLetter from '@semcore/core/lib/utils/capitalizeFirstLetter';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement, { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport { hasFocusableIn } from '@semcore/core/lib/utils/use/useFocusLock';\nimport React from 'react';\n\nimport { DropdownItem } from './DropdownItem';\nimport style from './style/dropdown.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n 'id': `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'focusHint': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'onKeyDown': this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n const { styles, title, Children, subTitle, size, sticky } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden='true' tabindex={-1} size={size} sticky={sticky}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup\n render={Box}\n role='group'\n {...groupAriaProps}\n __excludeProps={['title', 'sticky']}\n data-sticky={sticky}\n >\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Dropdown.js","names":["Popper","Flex","Box","isInputTriggerTag","createComponent","Root","Component","sstyled","capitalizeFirstLetter","i18nEnhance","uniqueIDEnhancement","useUID","hasFocusableIn","React","DropdownItem","style","_sstyled","insert","localizedMessages","INTERACTION_TAGS","DropdownRoot","constructor","args","_defineProperty","createRef","name","enabled","phase","fn","state","options","position","placement","split","isVertical","indexOf","len","referenceLen","elements","reference","stretch","rects","popper","width","Math","max","e","visible","interaction","asProps","element","popperRef","current","key","preventDefault","stopPropagation","includes","target","tagName","handlers","uncontrolledProps","getTriggerProps","uid","disablePortal","getI18nText","undefined","handlerTriggerKeyDown","getPopperProps","ignorePortalsStacking","id","tabIndex","role","ref","focusMaster","autoFocus","render","Children","forwardRef","modifiers","other","createElement","_extends","defaultModifiers","offset","defaultVisible","i18n","locale","DropdownTrigger","styles","tag","Tag","_ref","arguments[0]","_ref4","hasInputTrigger","SDropdownTrigger","Trigger","cn","_assignProps","DropdownPopper","_ref2","_ref5","SDropdownPopper","_assignProps2","DropdownGroup","props","_ref3","_ref6","title","subTitle","size","sticky","SGroup","SDropdownItemContainer","Dropdown","Item","SGroupTitle","SGroupHint","uidTitle","uidSubTitle","groupAriaProps","Fragment","_assignProps3","Group","parent"],"sources":["../../src/Dropdown.jsx"],"sourcesContent":["import { Popper, Flex, Box, isInputTriggerTag } from '@semcore/base-components';\nimport { createComponent, Root, Component, sstyled } from '@semcore/core';\nimport capitalizeFirstLetter from '@semcore/core/lib/utils/capitalizeFirstLetter';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement, { useUID } from '@semcore/core/lib/utils/uniqueID';\nimport { hasFocusableIn } from '@semcore/core/lib/utils/use/useFocusLock';\nimport React from 'react';\n\nimport { DropdownItem } from './DropdownItem';\nimport style from './style/dropdown.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\nconst INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];\n\nclass DropdownRoot extends Component {\n static displayName = 'Dropdown';\n static style = style;\n static defaultProps = {\n // timeout: [100, 50],\n placement: 'bottom-start',\n offset: [0, 4],\n stretch: 'min',\n defaultVisible: false,\n i18n: localizedMessages,\n locale: 'en',\n interaction: 'click',\n };\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)];\n\n popperRef = React.createRef();\n\n uncontrolledProps() {\n return {\n visible: null,\n };\n }\n\n defaultModifiers = [\n {\n name: 'flip',\n enabled: false,\n },\n {\n name: 'stretch',\n phase: 'beforeRead',\n enabled: true,\n fn: function ({ state, options }) {\n const [position] = state.placement.split('-');\n\n const isVertical = ['left', 'right'].indexOf(position) !== -1;\n const len = isVertical ? 'height' : 'width';\n const referenceLen = state.elements.reference[`offset${capitalizeFirstLetter(len)}`];\n\n if (options.stretch === 'min') {\n state.rects.popper.width = Math.max(state.rects.popper.width, referenceLen);\n state.elements.popper.style[`min${capitalizeFirstLetter(len)}`] = `${referenceLen}px`;\n }\n\n if (options.stretch === 'fixed') {\n state.rects.popper.width = referenceLen;\n state.elements.popper.style[len] = `${referenceLen}px`;\n }\n },\n },\n ];\n\n handlerTriggerKeyDown = (e) => {\n const { visible, interaction } = this.asProps;\n const element = this.popperRef.current;\n\n if (\n interaction === 'click' &&\n visible &&\n e.key === 'Tab' &&\n element &&\n !hasFocusableIn(element)\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n return;\n }\n\n if (e.key === ' ' && INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (e.key === 'Enter' && e.target.tagName === 'TEXTAREA') return;\n\n if (['Enter', ' '].includes(e.key) && interaction !== 'none') {\n e.preventDefault();\n this.handlers.visible(true);\n }\n };\n\n getTriggerProps() {\n const { uid, visible, disablePortal, getI18nText } = this.asProps;\n\n return {\n 'id': `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-popper` : undefined,\n 'focusHint': visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-expanded': visible ? 'true' : 'false',\n 'onKeyDown': this.handlerTriggerKeyDown,\n 'aria-haspopup': 'dialog',\n };\n }\n\n getPopperProps() {\n const { uid, disablePortal, ignorePortalsStacking, interaction } = this.asProps;\n\n return {\n id: `igc-${uid}-popper`,\n tabIndex: 0,\n role: 'dialog',\n disablePortal,\n ignorePortalsStacking,\n ref: this.popperRef,\n focusMaster: interaction === 'click',\n autoFocus: 'enforced',\n };\n }\n\n render() {\n const { Children, forwardRef, modifiers = [], stretch, ...other } = this.asProps;\n\n return (\n <Popper\n ref={forwardRef}\n modifiers={[\n ...this.defaultModifiers,\n {\n name: 'stretch',\n options: typeof stretch === 'object' ? stretch : { stretch },\n },\n ...modifiers,\n ]}\n {...other}\n >\n <Children />\n </Popper>\n );\n }\n}\n\nfunction DropdownTrigger({ styles, tag: Tag }) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SDropdownTrigger = Root;\n\n return sstyled(styles)(\n <SDropdownTrigger render={Popper.Trigger} role={hasInputTrigger ? 'combobox' : 'button'} />,\n );\n}\n\nfunction DropdownPopper({ styles }) {\n const SDropdownPopper = Root;\n return sstyled(styles)(<SDropdownPopper render={Popper.Popper} />);\n}\n\nfunction DropdownGroup(props) {\n /*\n `size` is not exposed as a public prop,\n but it may be implicitly inherited from parent components such as Select or DropdownMenu.\n Since `size` directly affects item dimensions, we default it to 'm' to preserve backward compatibility.\n */\n const { styles, title, Children, subTitle, size = 'm', sticky } = props;\n const SGroup = Root;\n const SDropdownItemContainer = Dropdown.Item;\n const SGroupTitle = Flex;\n const SGroupHint = Flex;\n const uidTitle = useUID('title_mi_group');\n const uidSubTitle = useUID('sub_title_mi_group');\n const groupAriaProps = {\n 'aria-labelledby': uidTitle,\n 'aria-describedby': subTitle ? uidSubTitle : undefined,\n };\n return sstyled(styles)(\n <>\n <SDropdownItemContainer notInteractive aria-hidden='true' tabindex={-1} size={size} sticky={sticky}>\n <SGroupTitle id={uidTitle}>{title}</SGroupTitle>\n {subTitle && <SGroupHint id={uidSubTitle}>{subTitle}</SGroupHint>}\n </SDropdownItemContainer>\n <SGroup\n render={Box}\n role='group'\n {...groupAriaProps}\n __excludeProps={['title', 'sticky']}\n data-sticky={sticky}\n >\n <Children />\n </SGroup>\n </>,\n );\n}\n\nconst Dropdown = createComponent(\n DropdownRoot,\n {\n Trigger: DropdownTrigger,\n Popper: DropdownPopper,\n Item: DropdownItem,\n Group: DropdownGroup,\n },\n {\n parent: Popper,\n },\n);\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -37,9 +37,8 @@ class AbstractDropdown extends Component {
37
37
  this.setupObserver();
38
38
  }
39
39
  componentWillUnmount() {
40
- var _a;
41
40
  this.cleanupScroll();
42
- (_a = this.scrollObserver) == null ? void 0 : _a.disconnect();
41
+ this.scrollObserver?.disconnect();
43
42
  }
44
43
  get childRole() {
45
44
  if (this.role === "listbox") {
@@ -60,12 +59,12 @@ class AbstractDropdown extends Component {
60
59
  afterOpenPopper() {
61
60
  let highlightedIndex = this.asProps.highlightedIndex ?? 0;
62
61
  const elementProps = this.itemProps[highlightedIndex];
63
- if (elementProps == null ? void 0 : elementProps.disabled) {
62
+ if (elementProps?.disabled) {
64
63
  highlightedIndex = this.itemProps.findIndex((p) => !p.disabled);
65
64
  }
66
65
  if (highlightedIndex === -1) return;
67
66
  const element = this.itemRefs[highlightedIndex];
68
- element == null ? void 0 : element.focus();
67
+ element?.focus();
69
68
  if (this.role === "menu") {
70
69
  this.handlers.highlightedIndex(highlightedIndex);
71
70
  }
@@ -164,7 +163,7 @@ class AbstractDropdown extends Component {
164
163
  this.highlightedItem = node;
165
164
  }
166
165
  setTimeout(() => {
167
- if (node == null ? void 0 : node.scrollIntoView) {
166
+ if (node?.scrollIntoView) {
168
167
  if (this.asProps.highlightedIndex !== this.prevHighlightedIndex) {
169
168
  this.prevHighlightedIndex = this.asProps.highlightedIndex;
170
169
  node.scrollIntoView({
@@ -190,16 +189,14 @@ class AbstractDropdown extends Component {
190
189
  });
191
190
  }
192
191
  cleanupScroll() {
193
- var _a;
194
192
  clearTimeout(this.scrollTimeoutId);
195
193
  if (this.highlightedItem) {
196
- (_a = this.scrollObserver) == null ? void 0 : _a.unobserve(this.highlightedItem);
194
+ this.scrollObserver?.unobserve(this.highlightedItem);
197
195
  }
198
196
  this.scrollResolve = null;
199
197
  }
200
198
  scrollToNodeAsync(node, withAnimation = false) {
201
199
  return new Promise((resolve) => {
202
- var _a;
203
200
  this.cleanupScroll();
204
201
  if (!node) {
205
202
  resolve();
@@ -211,13 +208,12 @@ class AbstractDropdown extends Component {
211
208
  resolve();
212
209
  }, 3e3);
213
210
  this.scrollResolve = () => {
214
- var _a2;
215
211
  clearTimeout(this.scrollTimeoutId);
216
- (_a2 = this.scrollObserver) == null ? void 0 : _a2.unobserve(node);
212
+ this.scrollObserver?.unobserve(node);
217
213
  this.scrollResolve = null;
218
214
  resolve();
219
215
  };
220
- (_a = this.scrollObserver) == null ? void 0 : _a.observe(node);
216
+ this.scrollObserver?.observe(node);
221
217
  requestAnimationFrame(() => {
222
218
  node.scrollIntoView({
223
219
  block: "nearest",
@@ -228,13 +224,12 @@ class AbstractDropdown extends Component {
228
224
  });
229
225
  }
230
226
  getHighlightedIndex(amount) {
231
- var _a;
232
227
  const {
233
228
  highlightedIndex,
234
229
  itemsCount
235
230
  } = this.asProps;
236
231
  const itemsLastIndex = (itemsCount ?? this.itemProps.length) - 1;
237
- const selectedIndex = this.itemProps.findIndex((item) => item == null ? void 0 : item.selected);
232
+ const selectedIndex = this.itemProps.findIndex((item) => item?.selected);
238
233
  if (itemsLastIndex < 0) return -1;
239
234
  let innerHighlightedIndex;
240
235
  if (highlightedIndex == null) {
@@ -254,7 +249,7 @@ class AbstractDropdown extends Component {
254
249
  } else if (newIndex > itemsLastIndex) {
255
250
  newIndex = newIndex - itemsLastIndex - 1;
256
251
  }
257
- if ((_a = this.itemProps[newIndex]) == null ? void 0 : _a.disabled) {
252
+ if (this.itemProps[newIndex]?.disabled) {
258
253
  return this.getHighlightedIndex(amount < 0 ? amount - 1 : amount + 1);
259
254
  } else if (!this.itemProps[newIndex]) {
260
255
  return -1;
@@ -279,8 +274,7 @@ class AbstractDropdown extends Component {
279
274
  }
280
275
  }
281
276
  itemRef(props, index, node) {
282
- var _a;
283
- if ((_a = node == null ? void 0 : node.getAttribute("role")) == null ? void 0 : _a.startsWith(this.childRole)) {
277
+ if (node?.getAttribute("role")?.startsWith(this.childRole)) {
284
278
  this.itemRefs[index] = node;
285
279
  this.itemProps[index] = props;
286
280
  }
@@ -299,8 +293,7 @@ class AbstractDropdown extends Component {
299
293
  }
300
294
  }
301
295
  handleOpenKeyDown(e) {
302
- var _a;
303
- if (["Enter", " ", "ArrowDown", "ArrowUp"].includes(e.key) && !((_a = e.currentTarget.getAttribute("role")) == null ? void 0 : _a.startsWith(this.childRole))) {
296
+ if (["Enter", " ", "ArrowDown", "ArrowUp"].includes(e.key) && !e.currentTarget.getAttribute("role")?.startsWith(this.childRole)) {
304
297
  if (this.asProps.visible !== true) {
305
298
  if (["ArrowDown", "ArrowUp"].includes(e.key)) {
306
299
  e.preventDefault();
@@ -320,7 +313,6 @@ class AbstractDropdown extends Component {
320
313
  }
321
314
  }
322
315
  handleArrowKeyDown(e) {
323
- var _a;
324
316
  const amountCount = e.shiftKey ? 5 : 1;
325
317
  const {
326
318
  highlightedIndex,
@@ -370,7 +362,7 @@ class AbstractDropdown extends Component {
370
362
  if (newHighlightedIndex !== -1) {
371
363
  this.handlers.highlightedIndex(newHighlightedIndex, e);
372
364
  if (this.role === "menu") {
373
- (_a = this.itemRefs[newHighlightedIndex]) == null ? void 0 : _a.focus();
365
+ this.itemRefs[newHighlightedIndex]?.focus();
374
366
  }
375
367
  }
376
368
  }
@@ -386,12 +378,11 @@ class AbstractDropdown extends Component {
386
378
  setFocus(trigger);
387
379
  }
388
380
  getBasicListProps() {
389
- var _a;
390
381
  const {
391
382
  size,
392
383
  uid
393
384
  } = this.asProps;
394
- const triggerId = (_a = this.triggerRef.current) == null ? void 0 : _a.id;
385
+ const triggerId = this.triggerRef.current?.id;
395
386
  const triggerElement = triggerId ? document.getElementById(triggerId) : null;
396
387
  return {
397
388
  size,
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import { sstyled, createComponent, Component, assignProps } from "@semcore/core";
4
- import { Popper, Flex, Box, isInputTriggerTag } from "@semcore/base-components";
3
+ import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
4
+ import { Popper, isInputTriggerTag, Box, Flex } from "@semcore/base-components";
5
5
  import capitalizeFirstLetter from "@semcore/core/lib/utils/capitalizeFirstLetter";
6
6
  import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
7
7
  import uniqueIDEnhancement, { useUID } from "@semcore/core/lib/utils/uniqueID";
@@ -9,7 +9,6 @@ import { hasFocusableIn } from "@semcore/core/lib/utils/use/useFocusLock";
9
9
  import React from "react";
10
10
  import { DropdownItem } from "./DropdownItem.mjs";
11
11
  import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
12
- /*!__reshadow-styles__:"./style/dropdown.shadow.css"*/
13
12
  const style = (
14
13
  /*__reshadow_css_start__*/
15
14
  (sstyled.insert(
@@ -186,7 +185,7 @@ function DropdownGroup(props) {
186
185
  title,
187
186
  Children,
188
187
  subTitle,
189
- size,
188
+ size = "m",
190
189
  sticky
191
190
  } = props;
192
191
  const SGroup = Box;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/dropdown",
3
3
  "description": "Semrush Dropdown Component",
4
- "version": "17.0.0-prerelease.34",
4
+ "version": "17.0.0-prerelease.37",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -22,9 +22,9 @@
22
22
  "directory": "semcore/dropdown"
23
23
  },
24
24
  "devDependencies": {
25
- "@semcore/base-components": "17.0.0-prerelease.34",
26
- "@semcore/core": "17.0.0-prerelease.34",
27
- "@semcore/testing-utils": "1.0.0"
25
+ "@semcore/core": "17.0.0-prerelease.37",
26
+ "@semcore/testing-utils": "1.0.0",
27
+ "@semcore/base-components": "17.0.0-prerelease.37"
28
28
  },
29
29
  "scripts": {
30
30
  "build": "pnpm semcore-builder --source=js && pnpm vite build"