{"version":3,"file":"SpotlightActionsList.mjs","sources":["../src/SpotlightActionsList.tsx"],"sourcesContent":["import {\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  factory,\n  Factory,\n  ScrollArea,\n  useProps,\n} from '@empoleon/core';\nimport { useSpotlightContext } from './Spotlight.context';\nimport { spotlightActions } from './spotlight.store';\nimport classes from './Spotlight.module.css';\nimport { createEffect, splitProps } from 'solid-js';\nimport { useId } from '@empoleon/hooks';\n\nexport type SpotlightActionsListStylesNames = 'actionsList' | 'actionsListInner';\n\nexport interface SpotlightActionsListProps\n  extends BoxProps,\n    CompoundStylesApiProps<SpotlightActionsListFactory>,\n    ElementProps<'div'> {}\n\nexport type SpotlightActionsListFactory = Factory<{\n  props: SpotlightActionsListProps;\n  ref: HTMLDivElement;\n  stylesNames: SpotlightActionsListStylesNames;\n  compound: true;\n}>;\n\nconst defaultProps: Partial<SpotlightActionsListProps> = {};\n\nexport const SpotlightActionsList = factory<SpotlightActionsListFactory>(_props => {\n  const props = useProps('SpotlightActionsList', defaultProps, _props);\n  const [local, others] = splitProps(props, [\n    'className',\n    'style',\n    'id',\n    'children',\n    'vars',\n    'classNames',\n    'styles',\n    'ref'\n  ]);\n  const ctx = useSpotlightContext();\n  const generatedId = `empoleon-${useId().replace(/:/g, '')}`;\n  const listId = local.id || generatedId;\n\n  createEffect(() => {\n    spotlightActions.setListId(listId, ctx.store);\n    return () => spotlightActions.setListId('', ctx.store);\n  }, []);\n\n  return (\n    <ScrollArea.Autosize\n      {...ctx.getStyles('actionsList', { className: local.className, style: local.style, classNames: local.classNames, styles: local.styles })}\n      ref={local.ref}\n      type=\"scroll\"\n      scrollbarSize=\"var(--spotlight-actions-list-padding)\"\n      offsetScrollbars=\"y\"\n      id={listId}\n      {...others}\n    >\n      {local.children}\n    </ScrollArea.Autosize>\n  );\n});\n\nSpotlightActionsList.classes = classes;\nSpotlightActionsList.displayName = '@empoleon/spotlight/SpotlightActionsList';\n"],"names":["defaultProps","SpotlightActionsList","factory","_props","props","useProps","local","others","splitProps","ctx","useSpotlightContext","generatedId","useId","replace","listId","id","createEffect","spotlightActions","setListId","store","_$createComponent","ScrollArea","Autosize","_$mergeProps","getStyles","className","style","classNames","styles","ref","r$","_ref$","type","scrollbarSize","offsetScrollbars","children","classes","displayName"],"mappings":";;;;;;;;AA6BA,MAAMA,eAAmD,EAAC;MAE7CC,oBAAA,GAAuBC,QAAqCC,MAAA,IAAU;EACjF,MAAMC,KAAA,GAAQC,QAAA,CAAS,sBAAA,EAAwBL,YAAA,EAAcG,MAAM,CAAA;EACnE,MAAM,CAACG,KAAA,EAAOC,MAAM,CAAA,GAAIC,WAAWJ,KAAA,EAAO,CACxC,WAAA,EACA,OAAA,EACA,IAAA,EACA,UAAA,EACA,MAAA,EACA,YAAA,EACA,QAAA,EACA,KAAA,CACD,CAAA;AACD,EAAA,MAAMK,MAAMC,mBAAA,EAAoB;AAChC,EAAA,MAAMC,cAAc,CAAA,SAAA,EAAYC,KAAA,GAAQC,OAAA,CAAQ,IAAA,EAAM,EAAE,CAAC,CAAA,CAAA;AACzD,EAAA,MAAMC,MAAA,GAASR,MAAMS,EAAA,IAAMJ,WAAA;AAE3BK,EAAAA,YAAA,CAAa,MAAM;IACjBC,gBAAA,CAAiBC,SAAA,CAAUJ,MAAA,EAAQL,GAAA,CAAIU,KAAK,CAAA;IAC5C,OAAO,MAAMF,gBAAA,CAAiBC,SAAA,CAAU,EAAA,EAAIT,IAAIU,KAAK,CAAA;EACvD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAAC,eAAA,CACGC,UAAA,CAAWC,QAAA,EAAAC,UAAA,CAAA,MACNd,IAAIe,SAAA,CAAU,aAAA,EAAe;IAAEC,SAAA,EAAWnB,MAAMmB,SAAA;IAAWC,KAAA,EAAOpB,KAAA,CAAMoB,KAAA;IAAOC,YAAYrB,KAAA,CAAMqB,UAAA;IAAYC,MAAA,EAAQtB,KAAA,CAAMsB;AAAO,GAAC,CAAA,EAAA;AAAAC,IAAAA,GAAAA,CAAAC,EAAA,EAAA;AAAA,MAAA,IAAAC,KAAA,GAClIzB,KAAA,CAAMuB,GAAA;MAAA,OAAAE,KAAA,KAAA,UAAA,GAAAA,KAAA,CAAAD,EAAA,IAANxB,KAAA,CAAMuB,GAAA,GAAAC,EAAA;AAAA,IAAA,CAAA;IACXE,IAAA,EAAA,QAAA;IACAC,aAAA,EAAA,uCAAA;IACAC,gBAAA,EAAA,GAAA;AACAnB,IAAAA,EAAA,EAAID;AAAA,GAAA,EACAP,MAAA,EAAA;AAAA,IAAA,IAAA4B,QAAAA,GAAA;MAAA,OAEH7B,MAAM6B,QAAA;AAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAGb,CAAC;AAEDlC,oBAAA,CAAqBmC,OAAA,GAAUA,OAAA;AAC/BnC,oBAAA,CAAqBoC,WAAA,GAAc,0CAAA;;;;"}