@teambit/compositions 1.0.957 → 1.0.958
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/compositions.module.scss +232 -13
- package/compositions.tsx +85 -11
- package/dist/compositions.js +107 -3
- package/dist/compositions.js.map +1 -1
- package/dist/compositions.module.scss +232 -13
- package/dist/{preview-1776705141733.js → preview-1776774270951.js} +2 -2
- package/dist/ui/compositions-panel/compositions-panel.d.ts +0 -15
- package/dist/ui/compositions-panel/compositions-panel.js +10 -59
- package/dist/ui/compositions-panel/compositions-panel.js.map +1 -1
- package/dist/ui/compositions-panel/compositions-panel.module.scss +71 -119
- package/dist/ui/compositions-panel/live-control-input.module.scss +79 -22
- package/dist/ui/compositions-panel/live-control-panel.module.scss +29 -7
- package/dist/ui/compositions-panel/live-controls-diff-panel.module.scss +34 -34
- package/dist/ui/compositions-panel/overlay.module.scss +4 -2
- package/package.json +15 -16
- package/ui/compositions-panel/compositions-panel.module.scss +71 -119
- package/ui/compositions-panel/compositions-panel.tsx +40 -86
- package/ui/compositions-panel/live-control-input.module.scss +79 -22
- package/ui/compositions-panel/live-control-panel.module.scss +29 -7
- package/ui/compositions-panel/live-controls-diff-panel.module.scss +34 -34
- package/ui/compositions-panel/overlay.module.scss +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_evangelistElements","data","require","_classnames","_interopRequireDefault","_reactRouterDom","_react","_interopRequireWildcard","_uiFoundationUiTree","_uiFoundationUi","_designUi","_baseReactNavigation","_compositionsUi","_compositionsPanelModule","_liveControlPanel","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","CompositionsPanel","_ref","url","compositions","isScaling","onSelectComposition","onSelect","active","includesEnvTemplate","useNameParam","className","rest","openDrawerList","onToggleDrawer","useState","hasLiveControls","ready","defs","values","onChange","setTimestamp","useLiveControls","handleDrawerToggle","id","isDrawerOpen","includes","list","filter","drawer","concat","shouldAddNameParam","location","useLocation","searchParams","useSearchParams","versionFromQueryParams","navigate","useNavigate","handleSelect","useCallback","selected","onCompositionCodeClicked","composition","preventDefault","queryParams","URLSearchParams","basePath","pathname","split","filepath","toString","identifier","createElement","classNames","styles","container","DrawerUI","isOpen","onToggle","name","tab","map","href","key","linkWrapper","panelLink","onClick","displayName","right","MenuWidgetIcon","codeLink","icon","tooltipContent","Tooltip","content","placement","iconLink","target","rel","Icon","of","LiveControls","noLiveControls"],"sources":["compositions-panel.tsx"],"sourcesContent":["import { Icon } from '@teambit/evangelist.elements.icon';\nimport classNames from 'classnames';\nimport { useSearchParams } from 'react-router-dom';\nimport React, { useCallback, useState } from 'react';\nimport { DrawerUI } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { MenuWidgetIcon } from '@teambit/ui-foundation.ui.menu-widget-icon';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { useNavigate, useLocation } from '@teambit/base-react.navigation.link';\nimport { useLiveControls } from '@teambit/compositions.ui.composition-live-controls';\nimport styles from './compositions-panel.module.scss';\nimport type { Composition } from '../../composition';\nimport { LiveControls } from './live-control-panel';\n\nexport type CompositionsPanelProps = {\n /**\n * list of compositions\n */\n compositions: Composition[];\n /**\n * select composition to display\n */\n onSelectComposition: (composition: Composition) => void;\n /**\n * the currently active composition\n */\n active?: Composition;\n /**\n * the url to the base composition. doesntc contain the current composition params\n */\n url: string;\n /**\n * checks if a component is using the new preview api. if false, doesnt scale to support new preview\n */\n isScaling?: boolean;\n\n includesEnvTemplate?: boolean;\n\n useNameParam?: boolean;\n} & React.HTMLAttributes<HTMLUListElement>;\n\nexport function CompositionsPanel({\n url,\n compositions,\n isScaling,\n onSelectComposition: onSelect,\n active,\n includesEnvTemplate,\n useNameParam,\n className,\n ...rest\n}: CompositionsPanelProps) {\n const [openDrawerList, onToggleDrawer] = useState(['COMPOSITIONS', 'LIVE_CONTROLS']);\n const { hasLiveControls, ready, defs, values, onChange, setTimestamp } = useLiveControls();\n const handleDrawerToggle = (id: string) => {\n const isDrawerOpen = openDrawerList.includes(id);\n if (isDrawerOpen) {\n onToggleDrawer((list) => list.filter((drawer) => drawer !== id));\n return;\n }\n onToggleDrawer((list) => list.concat(id));\n };\n\n // setup from props\n const shouldAddNameParam = useNameParam || (isScaling && includesEnvTemplate === false);\n\n // current composition state\n const location = useLocation();\n const [searchParams] = useSearchParams();\n const versionFromQueryParams = searchParams.get('version');\n const navigate = useNavigate();\n\n // composition navigation action\n const handleSelect = useCallback(\n (selected: Composition) => {\n onSelect && onSelect(selected);\n if (selected === active) return;\n setTimestamp(0);\n },\n [onSelect, active, setTimestamp]\n );\n const onCompositionCodeClicked = useCallback(\n (composition: Composition) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n setTimestamp(0);\n const queryParams = new URLSearchParams();\n if (versionFromQueryParams) {\n queryParams.set('version', versionFromQueryParams);\n }\n const basePath = location?.pathname.split('/~compositions')[0];\n navigate(`${basePath}/~code/${composition.filepath}?${queryParams.toString()}#search=${composition.identifier}`);\n },\n [location?.pathname, navigate, setTimestamp, versionFromQueryParams]\n );\n\n return (\n <div className={classNames(styles.container)}>\n <DrawerUI\n isOpen={openDrawerList.includes('COMPOSITIONS')}\n onToggle={() => handleDrawerToggle('COMPOSITIONS')}\n name=\"COMPOSITIONS\"\n className={classNames(styles.tab)}\n >\n <ul {...rest} className={classNames(className)}>\n {compositions.map((composition) => {\n const href = shouldAddNameParam\n ? `${url}&name=${composition.identifier}`\n : `${url}&${composition.identifier}`;\n return (\n <li\n key={composition.identifier}\n className={classNames(styles.linkWrapper, composition === active && styles.active)}\n >\n <a className={styles.panelLink} onClick={() => handleSelect(composition)}>\n <span className={styles.name}>{composition.displayName}</span>\n </a>\n <div className={styles.right}>\n <MenuWidgetIcon\n className={styles.codeLink}\n icon=\"Code\"\n tooltipContent=\"Code\"\n onClick={onCompositionCodeClicked(composition)}\n />\n <Tooltip content=\"Open in new tab\" placement=\"bottom\">\n <a className={styles.iconLink} target=\"_blank\" rel=\"noopener noreferrer\" href={href}>\n <Icon className={styles.icon} of=\"open-tab\" />\n </a>\n </Tooltip>\n </div>\n </li>\n );\n })}\n </ul>\n </DrawerUI>\n {hasLiveControls ? (\n <DrawerUI\n name=\"LIVE CONTROLS\"\n className={classNames(styles.tab, className)}\n isOpen={openDrawerList.includes('LIVE_CONTROLS')}\n onToggle={() => handleDrawerToggle('LIVE_CONTROLS')}\n >\n {ready ? (\n <LiveControls defs={defs} values={values} onChange={onChange} />\n ) : (\n <div className={styles.noLiveControls}>No live controls available for this composition</div>\n )}\n </DrawerUI>\n ) : null}\n </div>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,oBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,OAAA;EAAA,MAAAL,IAAA,GAAAM,uBAAA,CAAAL,OAAA;EAAAI,MAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,oBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,mBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,gBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,eAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,UAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,SAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,qBAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,oBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,gBAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,eAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,yBAAA;EAAA,MAAAZ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAW,wBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,kBAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,iBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,MAAAc,SAAA;AAAA,SAAAR,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAb,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAAzB,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAmB,6BAAA,CAAA1B,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA2B,OAAA,CAAAtB,CAAA,QAAAuB,oBAAA,CAAAd,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAmB,8BAAAvB,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA4B,OAAA,CAAAxB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AA6B7C,SAAS6B,iBAAiBA,CAAAC,IAAA,EAUN;EAAA,IAVO;MAChCC,GAAG;MACHC,YAAY;MACZC,SAAS;MACTC,mBAAmB,EAAEC,QAAQ;MAC7BC,MAAM;MACNC,mBAAmB;MACnBC,YAAY;MACZC;IAEsB,CAAC,GAAAT,IAAA;IADpBU,IAAI,GAAAhB,wBAAA,CAAAM,IAAA,EAAAhC,SAAA;EAEP,MAAM,CAAC2C,cAAc,EAAEC,cAAc,CAAC,GAAG,IAAAC,iBAAQ,EAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;EACpF,MAAM;IAAEC,eAAe;IAAEC,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAG,IAAAC,iCAAe,EAAC,CAAC;EAC1F,MAAMC,kBAAkB,GAAIC,EAAU,IAAK;IACzC,MAAMC,YAAY,GAAGZ,cAAc,CAACa,QAAQ,CAACF,EAAE,CAAC;IAChD,IAAIC,YAAY,EAAE;MAChBX,cAAc,CAAEa,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAEC,MAAM,IAAKA,MAAM,KAAKL,EAAE,CAAC,CAAC;MAChE;IACF;IACAV,cAAc,CAAEa,IAAI,IAAKA,IAAI,CAACG,MAAM,CAACN,EAAE,CAAC,CAAC;EAC3C,CAAC;;EAED;EACA,MAAMO,kBAAkB,GAAGrB,YAAY,IAAKL,SAAS,IAAII,mBAAmB,KAAK,KAAM;;EAEvF;EACA,MAAMuB,QAAQ,GAAG,IAAAC,kCAAW,EAAC,CAAC;EAC9B,MAAM,CAACC,YAAY,CAAC,GAAG,IAAAC,iCAAe,EAAC,CAAC;EACxC,MAAMC,sBAAsB,GAAGF,YAAY,CAACnD,GAAG,CAAC,SAAS,CAAC;EAC1D,MAAMsD,QAAQ,GAAG,IAAAC,kCAAW,EAAC,CAAC;;EAE9B;EACA,MAAMC,YAAY,GAAG,IAAAC,oBAAW,EAC7BC,QAAqB,IAAK;IACzBlC,QAAQ,IAAIA,QAAQ,CAACkC,QAAQ,CAAC;IAC9B,IAAIA,QAAQ,KAAKjC,MAAM,EAAE;IACzBa,YAAY,CAAC,CAAC,CAAC;EACjB,CAAC,EACD,CAACd,QAAQ,EAAEC,MAAM,EAAEa,YAAY,CACjC,CAAC;EACD,MAAMqB,wBAAwB,GAAG,IAAAF,oBAAW,EACzCG,WAAwB,IAAMxE,CAAmC,IAAK;IACrEA,CAAC,CAACyE,cAAc,CAAC,CAAC;IAClBvB,YAAY,CAAC,CAAC,CAAC;IACf,MAAMwB,WAAW,GAAG,IAAIC,eAAe,CAAC,CAAC;IACzC,IAAIV,sBAAsB,EAAE;MAC1BS,WAAW,CAAC7D,GAAG,CAAC,SAAS,EAAEoD,sBAAsB,CAAC;IACpD;IACA,MAAMW,QAAQ,GAAGf,QAAQ,EAAEgB,QAAQ,CAACC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9DZ,QAAQ,CAAC,GAAGU,QAAQ,UAAUJ,WAAW,CAACO,QAAQ,IAAIL,WAAW,CAACM,QAAQ,CAAC,CAAC,WAAWR,WAAW,CAACS,UAAU,EAAE,CAAC;EAClH,CAAC,EACD,CAACpB,QAAQ,EAAEgB,QAAQ,EAAEX,QAAQ,EAAEhB,YAAY,EAAEe,sBAAsB,CACrE,CAAC;EAED,oBACE3E,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;IAAK1C,SAAS,EAAE,IAAA2C,qBAAU,EAACC,kCAAM,CAACC,SAAS;EAAE,gBAC3C/F,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAAC1F,mBAAA,GAAA8F,QAAQ;IACPC,MAAM,EAAE7C,cAAc,CAACa,QAAQ,CAAC,cAAc,CAAE;IAChDiC,QAAQ,EAAEA,CAAA,KAAMpC,kBAAkB,CAAC,cAAc,CAAE;IACnDqC,IAAI,EAAC,cAAc;IACnBjD,SAAS,EAAE,IAAA2C,qBAAU,EAACC,kCAAM,CAACM,GAAG;EAAE,gBAElCpG,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,OAAA/D,QAAA,KAAQsB,IAAI;IAAED,SAAS,EAAE,IAAA2C,qBAAU,EAAC3C,SAAS;EAAE,IAC5CP,YAAY,CAAC0D,GAAG,CAAEnB,WAAW,IAAK;IACjC,MAAMoB,IAAI,GAAGhC,kBAAkB,GAC3B,GAAG5B,GAAG,SAASwC,WAAW,CAACS,UAAU,EAAE,GACvC,GAAGjD,GAAG,IAAIwC,WAAW,CAACS,UAAU,EAAE;IACtC,oBACE3F,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;MACEW,GAAG,EAAErB,WAAW,CAACS,UAAW;MAC5BzC,SAAS,EAAE,IAAA2C,qBAAU,EAACC,kCAAM,CAACU,WAAW,EAAEtB,WAAW,KAAKnC,MAAM,IAAI+C,kCAAM,CAAC/C,MAAM;IAAE,gBAEnF/C,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;MAAG1C,SAAS,EAAE4C,kCAAM,CAACW,SAAU;MAACC,OAAO,EAAEA,CAAA,KAAM5B,YAAY,CAACI,WAAW;IAAE,gBACvElF,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;MAAM1C,SAAS,EAAE4C,kCAAM,CAACK;IAAK,GAAEjB,WAAW,CAACyB,WAAkB,CAC5D,CAAC,eACJ3G,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;MAAK1C,SAAS,EAAE4C,kCAAM,CAACc;IAAM,gBAC3B5G,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAACzF,eAAA,GAAA0G,cAAc;MACb3D,SAAS,EAAE4C,kCAAM,CAACgB,QAAS;MAC3BC,IAAI,EAAC,MAAM;MACXC,cAAc,EAAC,MAAM;MACrBN,OAAO,EAAEzB,wBAAwB,CAACC,WAAW;IAAE,CAChD,CAAC,eACFlF,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAACxF,SAAA,GAAA6G,OAAO;MAACC,OAAO,EAAC,iBAAiB;MAACC,SAAS,EAAC;IAAQ,gBACnDnH,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;MAAG1C,SAAS,EAAE4C,kCAAM,CAACsB,QAAS;MAACC,MAAM,EAAC,QAAQ;MAACC,GAAG,EAAC,qBAAqB;MAAChB,IAAI,EAAEA;IAAK,gBAClFtG,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAAClG,mBAAA,GAAA6H,IAAI;MAACrE,SAAS,EAAE4C,kCAAM,CAACiB,IAAK;MAACS,EAAE,EAAC;IAAU,CAAE,CAC5C,CACI,CACN,CACH,CAAC;EAET,CAAC,CACC,CACI,CAAC,EACVjE,eAAe,gBACdvD,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAAC1F,mBAAA,GAAA8F,QAAQ;IACPG,IAAI,EAAC,eAAe;IACpBjD,SAAS,EAAE,IAAA2C,qBAAU,EAACC,kCAAM,CAACM,GAAG,EAAElD,SAAS,CAAE;IAC7C+C,MAAM,EAAE7C,cAAc,CAACa,QAAQ,CAAC,eAAe,CAAE;IACjDiC,QAAQ,EAAEA,CAAA,KAAMpC,kBAAkB,CAAC,eAAe;EAAE,GAEnDN,KAAK,gBACJxD,MAAA,GAAAoB,OAAA,CAAAwE,aAAA,CAACpF,iBAAA,GAAAiH,YAAY;IAAChE,IAAI,EAAEA,IAAK;IAACC,MAAM,EAAEA,MAAO;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC,gBAEhE3D,MAAA,GAAAoB,OAAA,CAAAwE,aAAA;IAAK1C,SAAS,EAAE4C,kCAAM,CAAC4B;EAAe,GAAC,iDAAoD,CAErF,CAAC,GACT,IACD,CAAC;AAEV","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_evangelistElements","data","require","_classnames","_interopRequireDefault","_reactRouterDom","_react","_interopRequireWildcard","_uiFoundationUi","_designUi","_baseReactNavigation","_compositionsUi","_compositionsPanelModule","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","CompositionsPanel","_ref","url","compositions","isScaling","onSelectComposition","onSelect","active","includesEnvTemplate","useNameParam","className","rest","setTimestamp","useLiveControls","shouldAddNameParam","location","useLocation","searchParams","useSearchParams","versionFromQueryParams","navigate","useNavigate","handleSelect","useCallback","selected","onCompositionCodeClicked","composition","preventDefault","queryParams","URLSearchParams","basePath","pathname","split","filepath","toString","identifier","createElement","styles","container","classNames","compositionsList","map","href","key","compositionItem","panelLink","onClick","compositionDot","name","displayName","itemActions","MenuWidgetIcon","actionIcon","icon","tooltipContent","Tooltip","content","placement","iconLink","target","rel","Icon","of"],"sources":["compositions-panel.tsx"],"sourcesContent":["import { Icon } from '@teambit/evangelist.elements.icon';\nimport classNames from 'classnames';\nimport { useSearchParams } from 'react-router-dom';\nimport React, { useCallback } from 'react';\nimport { MenuWidgetIcon } from '@teambit/ui-foundation.ui.menu-widget-icon';\nimport { Tooltip } from '@teambit/design.ui.tooltip';\nimport { useNavigate, useLocation } from '@teambit/base-react.navigation.link';\nimport { useLiveControls } from '@teambit/compositions.ui.composition-live-controls';\nimport styles from './compositions-panel.module.scss';\nimport type { Composition } from '../../composition';\n\nexport type CompositionsPanelProps = {\n compositions: Composition[];\n onSelectComposition: (composition: Composition) => void;\n active?: Composition;\n url: string;\n isScaling?: boolean;\n includesEnvTemplate?: boolean;\n useNameParam?: boolean;\n} & React.HTMLAttributes<HTMLUListElement>;\n\nexport function CompositionsPanel({\n url,\n compositions,\n isScaling,\n onSelectComposition: onSelect,\n active,\n includesEnvTemplate,\n useNameParam,\n className,\n ...rest\n}: CompositionsPanelProps) {\n const { setTimestamp } = useLiveControls();\n const shouldAddNameParam = useNameParam || (isScaling && includesEnvTemplate === false);\n\n const location = useLocation();\n const [searchParams] = useSearchParams();\n const versionFromQueryParams = searchParams.get('version');\n const navigate = useNavigate();\n\n const handleSelect = useCallback(\n (selected: Composition) => {\n onSelect && onSelect(selected);\n if (selected === active) return;\n setTimestamp(0);\n },\n [onSelect, active, setTimestamp]\n );\n\n const onCompositionCodeClicked = useCallback(\n (composition: Composition) => (e: React.MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n setTimestamp(0);\n const queryParams = new URLSearchParams();\n if (versionFromQueryParams) {\n queryParams.set('version', versionFromQueryParams);\n }\n const basePath = location?.pathname.split('/~compositions')[0];\n navigate(`${basePath}/~code/${composition.filepath}?${queryParams.toString()}#search=${composition.identifier}`);\n },\n [location?.pathname, navigate, setTimestamp, versionFromQueryParams]\n );\n\n return (\n <div className={styles.container}>\n <ul {...rest} className={classNames(styles.compositionsList, className)}>\n {compositions.map((composition) => {\n const href = shouldAddNameParam\n ? `${url}&name=${composition.identifier}`\n : `${url}&${composition.identifier}`;\n return (\n <li\n key={composition.identifier}\n className={classNames(styles.compositionItem, composition === active && styles.active)}\n >\n <a className={styles.panelLink} onClick={() => handleSelect(composition)}>\n <span className={styles.compositionDot} />\n <span className={styles.name}>{composition.displayName}</span>\n </a>\n <div className={styles.itemActions}>\n <MenuWidgetIcon\n className={styles.actionIcon}\n icon=\"Code\"\n tooltipContent=\"View source\"\n onClick={onCompositionCodeClicked(composition)}\n />\n <Tooltip content=\"Open in new tab\" placement=\"bottom\">\n <a\n className={classNames(styles.actionIcon, styles.iconLink)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href={href}\n >\n <Icon of=\"open-tab\" />\n </a>\n </Tooltip>\n </div>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,130 +6,74 @@
|
|
|
6
6
|
height: 100%;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
border-bottom: 1px solid var(--bit-border-color-lightest, #ededed);
|
|
15
|
-
|
|
16
|
-
&:hover {
|
|
17
|
-
background: var(--surface-hover-color, #f6f6f6);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
> div:last-child {
|
|
22
|
-
border-bottom: 1px solid var(--bit-border-color-lightest, #ededed);
|
|
23
|
-
}
|
|
9
|
+
// ─── Compositions list ──────────────────────────────────────────────────
|
|
10
|
+
.compositionsList {
|
|
11
|
+
flex: 1 1 auto;
|
|
12
|
+
overflow-y: auto;
|
|
13
|
+
padding: 4px 0;
|
|
24
14
|
}
|
|
25
15
|
|
|
26
|
-
.
|
|
27
|
-
padding: 0
|
|
16
|
+
.compositionItem {
|
|
17
|
+
padding: 0 6px;
|
|
18
|
+
margin: 1px 6px;
|
|
28
19
|
display: flex;
|
|
29
20
|
align-items: center;
|
|
30
21
|
justify-content: space-between;
|
|
31
|
-
height:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
height: 34px;
|
|
23
|
+
border-radius: 6px;
|
|
24
|
+
font-size: 13px;
|
|
25
|
+
transition: all 140ms ease;
|
|
26
|
+
color: var(--on-background-color, #1c2024);
|
|
35
27
|
position: relative;
|
|
36
28
|
|
|
37
29
|
&:hover {
|
|
38
|
-
background
|
|
39
|
-
// border-radius: 8px;
|
|
40
|
-
transition: background-color 300ms ease-in-out;
|
|
30
|
+
background: var(--surface-hover-color, rgba(0, 0, 0, 0.04));
|
|
41
31
|
|
|
42
32
|
.panelLink {
|
|
43
33
|
padding-right: 40px;
|
|
44
34
|
}
|
|
45
35
|
|
|
46
|
-
.
|
|
36
|
+
.itemActions {
|
|
47
37
|
visibility: visible;
|
|
48
38
|
opacity: 1;
|
|
49
|
-
color: var(--bit-text-color-light, #6c707c);
|
|
50
|
-
transition: opacity 100ms ease-in-out;
|
|
51
|
-
|
|
52
|
-
.icon {
|
|
53
|
-
&:hover {
|
|
54
|
-
color: var(--bit-text-color-heavy);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
39
|
}
|
|
58
40
|
}
|
|
59
41
|
|
|
60
42
|
&.active {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
color: var(--bit-bg-color, #ffffff);
|
|
43
|
+
background: var(--bit-accent-color, #6c5ce7);
|
|
44
|
+
color: #ffffff;
|
|
45
|
+
font-weight: 500;
|
|
65
46
|
|
|
66
|
-
// overrides
|
|
67
47
|
&:hover {
|
|
68
|
-
background-color
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.box {
|
|
72
|
-
background-color: var(--bit-bg-color, #ffffff);
|
|
48
|
+
background: color-mix(in srgb, var(--bit-accent-color, #6c5ce7) 88%, #000);
|
|
73
49
|
}
|
|
74
50
|
|
|
75
|
-
.
|
|
76
|
-
// visibility: unset;
|
|
51
|
+
.itemActions {
|
|
77
52
|
opacity: 1;
|
|
78
|
-
|
|
53
|
+
visibility: visible;
|
|
54
|
+
color: rgba(255, 255, 255, 0.7);
|
|
79
55
|
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
color: var(--bit-bg-color, #ffffff);
|
|
83
|
-
}
|
|
56
|
+
.actionIcon:hover {
|
|
57
|
+
color: #ffffff;
|
|
84
58
|
}
|
|
85
59
|
}
|
|
86
|
-
}
|
|
87
60
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
top: 50%;
|
|
92
|
-
transform: translateY(-50%);
|
|
93
|
-
display: flex;
|
|
94
|
-
gap: 12px;
|
|
95
|
-
align-items: center;
|
|
96
|
-
justify-content: center;
|
|
97
|
-
opacity: 0;
|
|
98
|
-
visibility: hidden;
|
|
99
|
-
font-size: 13px;
|
|
100
|
-
transition:
|
|
101
|
-
opacity 100ms ease-in-out,
|
|
102
|
-
visibility 0s linear 100ms;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.codeLink {
|
|
106
|
-
cursor: pointer;
|
|
61
|
+
.compositionDot {
|
|
62
|
+
background: rgba(255, 255, 255, 0.5);
|
|
63
|
+
}
|
|
107
64
|
}
|
|
108
65
|
}
|
|
109
66
|
|
|
110
|
-
.
|
|
111
|
-
width:
|
|
112
|
-
height:
|
|
67
|
+
.compositionDot {
|
|
68
|
+
width: 5px;
|
|
69
|
+
height: 5px;
|
|
70
|
+
border-radius: 50%;
|
|
71
|
+
background: var(--bit-accent-color, #6c5ce7);
|
|
72
|
+
opacity: 0.4;
|
|
113
73
|
flex-shrink: 0;
|
|
114
|
-
background-color: var(--bit-text-color-heavy);
|
|
115
|
-
margin-right: 11px;
|
|
116
|
-
border-radius: 1px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.name {
|
|
120
|
-
overflow: hidden;
|
|
121
|
-
text-overflow: ellipsis;
|
|
122
|
-
white-space: nowrap;
|
|
123
74
|
margin-right: 8px;
|
|
124
75
|
}
|
|
125
76
|
|
|
126
|
-
.iconLink {
|
|
127
|
-
display: flex;
|
|
128
|
-
align-items: center;
|
|
129
|
-
color: inherit;
|
|
130
|
-
text-decoration: none;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
77
|
.panelLink {
|
|
134
78
|
display: flex;
|
|
135
79
|
align-items: center;
|
|
@@ -140,51 +84,59 @@
|
|
|
140
84
|
text-decoration: none;
|
|
141
85
|
color: inherit;
|
|
142
86
|
min-width: 0;
|
|
143
|
-
transition: padding-right
|
|
87
|
+
transition: padding-right 140ms ease;
|
|
144
88
|
|
|
145
89
|
&:active {
|
|
146
90
|
color: inherit;
|
|
147
91
|
}
|
|
148
92
|
}
|
|
149
93
|
|
|
150
|
-
.
|
|
151
|
-
|
|
94
|
+
.name {
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
text-overflow: ellipsis;
|
|
97
|
+
white-space: nowrap;
|
|
152
98
|
}
|
|
153
99
|
|
|
154
|
-
.
|
|
100
|
+
.itemActions {
|
|
101
|
+
position: absolute;
|
|
102
|
+
right: 8px;
|
|
103
|
+
top: 50%;
|
|
104
|
+
transform: translateY(-50%);
|
|
155
105
|
display: flex;
|
|
106
|
+
gap: 6px;
|
|
156
107
|
align-items: center;
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
padding: 8px;
|
|
162
|
-
text-transform: uppercase;
|
|
163
|
-
font-size: 12px;
|
|
164
|
-
font-weight: bold;
|
|
108
|
+
opacity: 0;
|
|
109
|
+
visibility: hidden;
|
|
110
|
+
transition: opacity 100ms ease;
|
|
111
|
+
}
|
|
165
112
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
113
|
+
.actionIcon {
|
|
114
|
+
display: flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
justify-content: center;
|
|
117
|
+
width: 22px;
|
|
118
|
+
height: 22px;
|
|
119
|
+
border-radius: 4px;
|
|
120
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
transition: all 100ms ease;
|
|
123
|
+
text-decoration: none;
|
|
124
|
+
font-size: 12px;
|
|
169
125
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
position: absolute;
|
|
174
|
-
top: 0;
|
|
175
|
-
left: 0;
|
|
176
|
-
right: 0;
|
|
177
|
-
background-color: var(--bit-accent-color, #6c5ce7);
|
|
178
|
-
height: 3px;
|
|
179
|
-
border-radius: 10px;
|
|
180
|
-
transition:
|
|
181
|
-
background-color 300ms,
|
|
182
|
-
height 300ms;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
126
|
+
&:hover {
|
|
127
|
+
color: var(--bit-text-color-heavy, #1c2024);
|
|
128
|
+
background: rgba(0, 0, 0, 0.06);
|
|
185
129
|
}
|
|
186
130
|
}
|
|
187
131
|
|
|
132
|
+
.iconLink {
|
|
133
|
+
display: flex;
|
|
134
|
+
align-items: center;
|
|
135
|
+
color: inherit;
|
|
136
|
+
text-decoration: none;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// ─── Legacy compat ──────────────────────────────────────────────────────
|
|
188
140
|
.liveControlsSkeleton {
|
|
189
141
|
padding: 12px 16px;
|
|
190
142
|
display: flex;
|
|
@@ -30,13 +30,26 @@
|
|
|
30
30
|
.wrapper :global(textarea) {
|
|
31
31
|
min-height: 78px;
|
|
32
32
|
resize: vertical;
|
|
33
|
+
border-radius: 6px;
|
|
34
|
+
border: 1px solid var(--bit-border-color-lightest, #dcdde1);
|
|
35
|
+
font-size: 13px;
|
|
36
|
+
padding: 8px 10px;
|
|
37
|
+
transition:
|
|
38
|
+
border-color 140ms ease,
|
|
39
|
+
box-shadow 140ms ease;
|
|
40
|
+
|
|
41
|
+
&:focus {
|
|
42
|
+
outline: none;
|
|
43
|
+
border-color: var(--bit-accent-color, #6c5ce7);
|
|
44
|
+
box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.12);
|
|
45
|
+
}
|
|
33
46
|
}
|
|
34
47
|
|
|
35
48
|
.toggleWrapper {
|
|
36
49
|
display: flex;
|
|
37
50
|
align-items: center;
|
|
38
51
|
justify-content: flex-start;
|
|
39
|
-
min-height:
|
|
52
|
+
min-height: 34px;
|
|
40
53
|
}
|
|
41
54
|
|
|
42
55
|
.toggleControl {
|
|
@@ -51,53 +64,87 @@
|
|
|
51
64
|
|
|
52
65
|
.rangeWrapper {
|
|
53
66
|
display: flex;
|
|
54
|
-
|
|
55
|
-
gap:
|
|
56
|
-
padding
|
|
67
|
+
align-items: center;
|
|
68
|
+
gap: 10px;
|
|
69
|
+
padding: 2px 0;
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
.rangeInput {
|
|
60
|
-
|
|
73
|
+
flex: 1;
|
|
61
74
|
margin: 0;
|
|
62
|
-
|
|
75
|
+
height: 4px;
|
|
76
|
+
accent-color: var(--bit-accent-color, #6c5ce7);
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
|
|
79
|
+
&::-webkit-slider-runnable-track {
|
|
80
|
+
height: 4px;
|
|
81
|
+
border-radius: 2px;
|
|
82
|
+
background: var(--bit-border-color-lightest, #dcdde1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&::-webkit-slider-thumb {
|
|
86
|
+
width: 14px;
|
|
87
|
+
height: 14px;
|
|
88
|
+
border-radius: 50%;
|
|
89
|
+
background: var(--bit-accent-color, #6c5ce7);
|
|
90
|
+
border: 2px solid white;
|
|
91
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
|
|
92
|
+
margin-top: -5px;
|
|
93
|
+
-webkit-appearance: none;
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
transition: transform 100ms ease;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&::-webkit-slider-thumb:hover {
|
|
99
|
+
transform: scale(1.15);
|
|
100
|
+
}
|
|
63
101
|
}
|
|
64
102
|
|
|
65
103
|
.rangeValue {
|
|
66
|
-
font-size:
|
|
67
|
-
|
|
68
|
-
color: var(--on-background-color, #
|
|
69
|
-
|
|
104
|
+
font-size: 12px;
|
|
105
|
+
font-weight: 600;
|
|
106
|
+
color: var(--on-background-color, #1c2024);
|
|
107
|
+
min-width: 32px;
|
|
108
|
+
text-align: right;
|
|
109
|
+
font-variant-numeric: tabular-nums;
|
|
110
|
+
background: var(--bit-border-color-lightest, rgba(0, 0, 0, 0.04));
|
|
111
|
+
padding: 2px 6px;
|
|
112
|
+
border-radius: 4px;
|
|
70
113
|
}
|
|
71
114
|
|
|
72
115
|
.multiSelect {
|
|
73
116
|
width: 100%;
|
|
74
|
-
min-height:
|
|
117
|
+
min-height: 80px;
|
|
75
118
|
padding: 6px 8px;
|
|
76
|
-
border: 1px solid var(--border-
|
|
77
|
-
border-radius:
|
|
119
|
+
border: 1px solid var(--bit-border-color-lightest, #dcdde1);
|
|
120
|
+
border-radius: 6px;
|
|
78
121
|
background: var(--surface-neutral-color, #ffffff);
|
|
79
|
-
color: var(--on-background-color, #
|
|
122
|
+
color: var(--on-background-color, #1c2024);
|
|
80
123
|
font: inherit;
|
|
81
|
-
|
|
124
|
+
font-size: 13px;
|
|
125
|
+
line-height: 1.5;
|
|
82
126
|
box-sizing: border-box;
|
|
83
|
-
|
|
127
|
+
transition:
|
|
128
|
+
border-color 140ms ease,
|
|
129
|
+
box-shadow 140ms ease;
|
|
84
130
|
}
|
|
85
131
|
|
|
86
132
|
.multiSelect:focus {
|
|
87
133
|
outline: none;
|
|
88
|
-
border-color: var(--
|
|
89
|
-
box-shadow: 0 0 0 2px rgba(
|
|
134
|
+
border-color: var(--bit-accent-color, #6c5ce7);
|
|
135
|
+
box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.12);
|
|
90
136
|
}
|
|
91
137
|
|
|
92
138
|
.multiSelect option {
|
|
93
139
|
padding: 4px 6px;
|
|
94
|
-
|
|
140
|
+
border-radius: 4px;
|
|
141
|
+
color: var(--on-background-color, #1c2024);
|
|
95
142
|
}
|
|
96
143
|
|
|
97
144
|
.multiSelect option:checked,
|
|
98
145
|
.multiSelect option:hover {
|
|
99
|
-
background:
|
|
100
|
-
color: var(--on-surface-color, #
|
|
146
|
+
background: rgba(108, 92, 231, 0.08);
|
|
147
|
+
color: var(--on-surface-color, #1c2024);
|
|
101
148
|
}
|
|
102
149
|
|
|
103
150
|
.portalMenu {
|
|
@@ -113,9 +160,19 @@
|
|
|
113
160
|
|
|
114
161
|
.portalMenuItem {
|
|
115
162
|
cursor: pointer;
|
|
116
|
-
font-
|
|
163
|
+
font-size: 13px;
|
|
117
164
|
}
|
|
118
165
|
|
|
119
166
|
.inputText {
|
|
120
167
|
padding-top: 0px !important;
|
|
168
|
+
border-radius: 6px !important;
|
|
169
|
+
font-size: 13px !important;
|
|
170
|
+
transition:
|
|
171
|
+
border-color 140ms ease,
|
|
172
|
+
box-shadow 140ms ease !important;
|
|
173
|
+
|
|
174
|
+
&:focus {
|
|
175
|
+
border-color: var(--bit-accent-color, #6c5ce7) !important;
|
|
176
|
+
box-shadow: 0 0 0 2px rgba(108, 92, 231, 0.12) !important;
|
|
177
|
+
}
|
|
121
178
|
}
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
.container {
|
|
2
|
-
display:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
4
|
+
gap: 2px 0;
|
|
5
|
+
font-size: 13px;
|
|
6
|
+
padding: 0;
|
|
6
7
|
width: 100%;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
.item {
|
|
10
|
-
padding:
|
|
11
|
+
padding: 8px 14px;
|
|
12
|
+
border-right: 1px solid var(--bit-border-color-lightest, rgba(0, 0, 0, 0.05));
|
|
13
|
+
border-bottom: 1px solid var(--bit-border-color-lightest, rgba(0, 0, 0, 0.05));
|
|
14
|
+
transition: background 120ms ease;
|
|
15
|
+
min-width: 0;
|
|
16
|
+
|
|
17
|
+
&:hover {
|
|
18
|
+
background: rgba(0, 0, 0, 0.015);
|
|
19
|
+
}
|
|
11
20
|
}
|
|
12
21
|
|
|
13
22
|
.label {
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
gap: 6px;
|
|
26
|
+
margin-bottom: 6px;
|
|
27
|
+
|
|
28
|
+
label {
|
|
29
|
+
font-size: 11px;
|
|
30
|
+
font-weight: 600;
|
|
31
|
+
letter-spacing: 0.3px;
|
|
32
|
+
text-transform: uppercase;
|
|
33
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
text-overflow: ellipsis;
|
|
36
|
+
white-space: nowrap;
|
|
37
|
+
}
|
|
16
38
|
}
|
|
@@ -30,21 +30,20 @@
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.columnHeader {
|
|
33
|
-
font-size:
|
|
33
|
+
font-size: 11px;
|
|
34
34
|
font-weight: 600;
|
|
35
35
|
text-transform: uppercase;
|
|
36
36
|
letter-spacing: 0.5px;
|
|
37
37
|
line-height: 1.3;
|
|
38
|
-
color: var(--
|
|
39
|
-
opacity: 0.5;
|
|
38
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
40
39
|
margin-bottom: 12px;
|
|
41
40
|
padding-bottom: 8px;
|
|
42
|
-
border-bottom: 1px solid var(--border-color, rgba(0, 0, 0, 0.
|
|
41
|
+
border-bottom: 1px solid var(--bit-border-color-lightest, rgba(0, 0, 0, 0.06));
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
.columnDivider {
|
|
46
45
|
width: 1px;
|
|
47
|
-
background: var(--border-
|
|
46
|
+
background: var(--bit-border-color-lightest, rgba(0, 0, 0, 0.08));
|
|
48
47
|
flex-shrink: 0;
|
|
49
48
|
margin: 0 8px;
|
|
50
49
|
}
|
|
@@ -54,7 +53,7 @@
|
|
|
54
53
|
margin: 0;
|
|
55
54
|
padding: 0;
|
|
56
55
|
display: grid;
|
|
57
|
-
grid-template-columns: repeat(
|
|
56
|
+
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
58
57
|
gap: 14px 12px;
|
|
59
58
|
align-items: start;
|
|
60
59
|
}
|
|
@@ -72,9 +71,9 @@
|
|
|
72
71
|
|
|
73
72
|
.controlMain {
|
|
74
73
|
display: grid;
|
|
75
|
-
grid-template-rows: auto minmax(
|
|
74
|
+
grid-template-rows: auto minmax(34px, auto);
|
|
76
75
|
align-content: start;
|
|
77
|
-
row-gap:
|
|
76
|
+
row-gap: 6px;
|
|
78
77
|
flex: 1;
|
|
79
78
|
min-width: 0;
|
|
80
79
|
}
|
|
@@ -91,33 +90,35 @@
|
|
|
91
90
|
min-height: 20px;
|
|
92
91
|
|
|
93
92
|
label {
|
|
94
|
-
font-size:
|
|
95
|
-
font-weight:
|
|
96
|
-
|
|
93
|
+
font-size: 11px;
|
|
94
|
+
font-weight: 600;
|
|
95
|
+
letter-spacing: 0.3px;
|
|
96
|
+
text-transform: uppercase;
|
|
97
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
.sourceTag {
|
|
101
102
|
font-size: 10px;
|
|
102
103
|
line-height: 14px;
|
|
103
|
-
padding:
|
|
104
|
-
border-radius:
|
|
104
|
+
padding: 1px 5px;
|
|
105
|
+
border-radius: 3px;
|
|
105
106
|
text-transform: capitalize;
|
|
106
107
|
font-weight: 500;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
.tagCommon {
|
|
110
|
-
background: rgba(
|
|
111
|
-
color: var(--
|
|
111
|
+
background: rgba(108, 92, 231, 0.08);
|
|
112
|
+
color: var(--bit-accent-color, #6c5ce7);
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
.tagBase {
|
|
115
|
-
background: rgba(255, 152, 0, 0.
|
|
116
|
+
background: rgba(255, 152, 0, 0.08);
|
|
116
117
|
color: #e65100;
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
.tagCompare {
|
|
120
|
-
background: rgba(33, 150, 243, 0.
|
|
121
|
+
background: rgba(33, 150, 243, 0.08);
|
|
121
122
|
color: #1565c0;
|
|
122
123
|
}
|
|
123
124
|
|
|
@@ -129,9 +130,9 @@
|
|
|
129
130
|
color: var(--skeleton-color, #e0e0e0);
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
@media (max-width:
|
|
133
|
+
@media (max-width: 900px) {
|
|
133
134
|
.column {
|
|
134
|
-
min-width:
|
|
135
|
+
min-width: 240px;
|
|
135
136
|
}
|
|
136
137
|
|
|
137
138
|
.controlsList {
|
|
@@ -142,19 +143,18 @@
|
|
|
142
143
|
|
|
143
144
|
.emptyState {
|
|
144
145
|
display: flex;
|
|
146
|
+
flex-direction: column;
|
|
145
147
|
align-items: center;
|
|
146
|
-
gap:
|
|
147
|
-
padding:
|
|
148
|
-
|
|
149
|
-
border-radius: 8px;
|
|
150
|
-
background: var(--background-color, #ffffff);
|
|
148
|
+
gap: 8px;
|
|
149
|
+
padding: 32px 16px;
|
|
150
|
+
text-align: center;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
.emptyStateIconWrap {
|
|
154
|
-
width:
|
|
155
|
-
height:
|
|
156
|
-
border-radius:
|
|
157
|
-
background: rgba(0, 0, 0, 0.04);
|
|
154
|
+
width: 36px;
|
|
155
|
+
height: 36px;
|
|
156
|
+
border-radius: 10px;
|
|
157
|
+
background: var(--bit-border-color-lightest, rgba(0, 0, 0, 0.04));
|
|
158
158
|
display: flex;
|
|
159
159
|
align-items: center;
|
|
160
160
|
justify-content: center;
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
.emptyStateIcon {
|
|
164
164
|
width: 18px;
|
|
165
165
|
height: 18px;
|
|
166
|
-
|
|
166
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
.emptyStateText {
|
|
@@ -173,13 +173,13 @@
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
.emptyStateTitle {
|
|
176
|
-
font-size:
|
|
176
|
+
font-size: 12px;
|
|
177
177
|
font-weight: 600;
|
|
178
|
-
color: var(--on-background-color, #
|
|
178
|
+
color: var(--on-background-color, #1c2024);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
.emptyStateSubtitle {
|
|
182
|
-
font-size:
|
|
183
|
-
color: var(--
|
|
184
|
-
|
|
182
|
+
font-size: 12px;
|
|
183
|
+
color: var(--bit-text-color-light, #8b8d98);
|
|
184
|
+
line-height: 1.5;
|
|
185
185
|
}
|